--- a/exim4/4.69/memcache-support.patch Thu Aug 13 14:03:43 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,894 +0,0 @@
-diff -r b4cc307a2719 .hgignore
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/.hgignore Thu Aug 13 13:46:31 2009 +0200
-@@ -0,0 +1,325 @@
-+syntax: regexp
-+^build-tree
-+^debian/patched
-+^EDITME\.
-+^build-arch-stamp
-+^build-indep-stamp
-+^configure-stamp
-+^debian/README.Debian
-+^debian/README.Debian.html
-+^debian/debconf/exim4.conf.template
-+^debian/exim4-base.debhelper.log
-+^debian/exim4-base.postinst.debhelper
-+^debian/exim4-base.postrm.debhelper
-+^debian/exim4-base.prerm.debhelper
-+^debian/exim4-base.substvars
-+^debian/exim4-base/DEBIAN/conffiles
-+^debian/exim4-base/DEBIAN/config
-+^debian/exim4-base/DEBIAN/control
-+^debian/exim4-base/DEBIAN/md5sums
-+^debian/exim4-base/DEBIAN/postinst
-+^debian/exim4-base/DEBIAN/postrm
-+^debian/exim4-base/DEBIAN/prerm
-+^debian/exim4-base/DEBIAN/templates
-+^debian/exim4-base/etc/cron.daily/exim4-base
-+^debian/exim4-base/etc/init.d/exim4
-+^debian/exim4-base/etc/logrotate.d/exim4-base
-+^debian/exim4-base/etc/logrotate.d/exim4-paniclog
-+^debian/exim4-base/usr/sbin/exicyclog
-+^debian/exim4-base/usr/sbin/exigrep
-+^debian/exim4-base/usr/sbin/exim_checkaccess
-+^debian/exim4-base/usr/sbin/exim_convert4r4
-+^debian/exim4-base/usr/sbin/exim_dbmbuild
-+^debian/exim4-base/usr/sbin/exim_dumpdb
-+^debian/exim4-base/usr/sbin/exim_fixdb
-+^debian/exim4-base/usr/sbin/exim_lock
-+^debian/exim4-base/usr/sbin/exim_tidydb
-+^debian/exim4-base/usr/sbin/eximstats
-+^debian/exim4-base/usr/sbin/exinext
-+^debian/exim4-base/usr/sbin/exipick
-+^debian/exim4-base/usr/sbin/exiqgrep
-+^debian/exim4-base/usr/sbin/exiqsumm
-+^debian/exim4-base/usr/sbin/exiwhat
-+^debian/exim4-base/usr/sbin/syslog2eximlog
-+^debian/exim4-base/usr/share/bug/exim4-base/script
-+^debian/exim4-base/usr/share/doc-base/exim4-filter-txt
-+^debian/exim4-base/usr/share/doc-base/exim4-readme-debian
-+^debian/exim4-base/usr/share/doc-base/exim4-spec-txt
-+^debian/exim4-base/usr/share/doc/exim4-base/ACKNOWLEDGMENTS.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/Exim3.upgrade.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/Exim4.upgrade.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/NEWS.Debian.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/NOTICE.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/NewStuff.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/OptionLists.txt.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/README
-+^debian/exim4-base/usr/share/doc/exim4-base/README.Debian.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/README.Debian.html
-+^debian/exim4-base/usr/share/doc/exim4-base/README.SIEVE.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/README.UPDATING.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/TODO.Debian
-+^debian/exim4-base/usr/share/doc/exim4-base/changelog.Debian.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/changelog.Debian.old.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/changelog.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/copyright
-+^debian/exim4-base/usr/share/doc/exim4-base/dbm.discuss.txt.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/examples/aliases
-+^debian/exim4-base/usr/share/doc/exim4-base/examples/cramtest.pl
-+^debian/exim4-base/usr/share/doc/exim4-base/examples/example.conf.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/examples/exim-adduser
-+^debian/exim4-base/usr/share/doc/exim4-base/examples/exim-gencert
-+^debian/exim4-base/usr/share/doc/exim4-base/examples/logargs.sh
-+^debian/exim4-base/usr/share/doc/exim4-base/examples/unknownuser.sh
-+^debian/exim4-base/usr/share/doc/exim4-base/filter.txt.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/pcrepattern.txt.gz
-+^debian/exim4-base/usr/share/doc/exim4-base/spec.txt.gz
-+^debian/exim4-base/usr/share/exim4/exim4_refresh_gnutls-params
-+^debian/exim4-base/usr/share/exim4/timeout.pl
-+^debian/exim4-base/usr/share/lintian/overrides/exim4-base
-+^debian/exim4-base/usr/share/man/man8/exicyclog.8.gz
-+^debian/exim4-base/usr/share/man/man8/exigrep.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_checkaccess.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_convert4r4.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_db.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_dbmbuild.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_dumpdb.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_fixdb.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_lock.8.gz
-+^debian/exim4-base/usr/share/man/man8/exim_tidydb.8.gz
-+^debian/exim4-base/usr/share/man/man8/eximstats.8.gz
-+^debian/exim4-base/usr/share/man/man8/exinext.8.gz
-+^debian/exim4-base/usr/share/man/man8/exipick.8.gz
-+^debian/exim4-base/usr/share/man/man8/exiqgrep.8.gz
-+^debian/exim4-base/usr/share/man/man8/exiqsumm.8.gz
-+^debian/exim4-base/usr/share/man/man8/exiwhat.8.gz
-+^debian/exim4-base/usr/share/man/man8/syslog2eximlog.8.gz
-+^debian/exim4-base/var/spool/exim4/gnutls-params
-+^debian/exim4-config.debhelper.log
-+^debian/exim4-config.postrm.debhelper
-+^debian/exim4-config.substvars
-+^debian/exim4-config/DEBIAN/conffiles
-+^debian/exim4-config/DEBIAN/config
-+^debian/exim4-config/DEBIAN/control
-+^debian/exim4-config/DEBIAN/md5sums
-+^debian/exim4-config/DEBIAN/postinst
-+^debian/exim4-config/DEBIAN/postrm
-+^debian/exim4-config/DEBIAN/preinst
-+^debian/exim4-config/DEBIAN/templates
-+^debian/exim4-config/etc/email-addresses
-+^debian/exim4-config/etc/exim4/conf.d/acl/00_exim4-config_header
-+^debian/exim4-config/etc/exim4/conf.d/acl/20_exim4-config_local_deny_exceptions
-+^debian/exim4-config/etc/exim4/conf.d/acl/30_exim4-config_check_mail
-+^debian/exim4-config/etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
-+^debian/exim4-config/etc/exim4/conf.d/acl/40_exim4-config_check_data
-+^debian/exim4-config/etc/exim4/conf.d/auth/00_exim4-config_header
-+^debian/exim4-config/etc/exim4/conf.d/auth/30_exim4-config_examples
-+^debian/exim4-config/etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
-+^debian/exim4-config/etc/exim4/conf.d/main/02_exim4-config_options
-+^debian/exim4-config/etc/exim4/conf.d/main/03_exim4-config_tlsoptions
-+^debian/exim4-config/etc/exim4/conf.d/main/90_exim4-config_log_selector
-+^debian/exim4-config/etc/exim4/conf.d/retry/00_exim4-config_header
-+^debian/exim4-config/etc/exim4/conf.d/retry/30_exim4-config
-+^debian/exim4-config/etc/exim4/conf.d/rewrite/00_exim4-config_header
-+^debian/exim4-config/etc/exim4/conf.d/rewrite/31_exim4-config_rewriting
-+^debian/exim4-config/etc/exim4/conf.d/router/00_exim4-config_header
-+^debian/exim4-config/etc/exim4/conf.d/router/100_exim4-config_domain_literal
-+^debian/exim4-config/etc/exim4/conf.d/router/150_exim4-config_hubbed_hosts
-+^debian/exim4-config/etc/exim4/conf.d/router/200_exim4-config_primary
-+^debian/exim4-config/etc/exim4/conf.d/router/300_exim4-config_real_local
-+^debian/exim4-config/etc/exim4/conf.d/router/400_exim4-config_system_aliases
-+^debian/exim4-config/etc/exim4/conf.d/router/500_exim4-config_hubuser
-+^debian/exim4-config/etc/exim4/conf.d/router/600_exim4-config_userforward
-+^debian/exim4-config/etc/exim4/conf.d/router/700_exim4-config_procmail
-+^debian/exim4-config/etc/exim4/conf.d/router/800_exim4-config_maildrop
-+^debian/exim4-config/etc/exim4/conf.d/router/850_exim4-config_lowuid
-+^debian/exim4-config/etc/exim4/conf.d/router/900_exim4-config_local_user
-+^debian/exim4-config/etc/exim4/conf.d/router/mmm_mail4root
-+^debian/exim4-config/etc/exim4/conf.d/transport/00_exim4-config_header
-+^debian/exim4-config/etc/exim4/conf.d/transport/10_exim4-config_transport-macros
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_address_file
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_address_pipe
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_address_reply
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_mail_spool
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_maildir_home
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_maildrop_pipe
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_procmail_pipe
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp
-+^debian/exim4-config/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost
-+^debian/exim4-config/etc/exim4/conf.d/transport/35_exim4-config_address_directory
-+^debian/exim4-config/etc/exim4/exim4.conf.template
-+^debian/exim4-config/etc/exim4/passwd.client
-+^debian/exim4-config/etc/ppp/ip-up.d/exim4
-+^debian/exim4-config/usr/sbin/update-exim4.conf
-+^debian/exim4-config/usr/sbin/update-exim4.conf.template
-+^debian/exim4-config/usr/sbin/update-exim4defaults
-+^debian/exim4-config/usr/share/bug/exim4-config/script
-+^debian/exim4-config/usr/share/doc/exim4-config/NEWS.Debian.gz
-+^debian/exim4-config/usr/share/doc/exim4-config/README.Debian.gz
-+^debian/exim4-config/usr/share/doc/exim4-config/changelog.Debian.gz
-+^debian/exim4-config/usr/share/doc/exim4-config/copyright
-+^debian/exim4-config/usr/share/lintian/overrides/exim4-config
-+^debian/exim4-config/usr/share/man/man5/etc-aliases.5.gz
-+^debian/exim4-config/usr/share/man/man5/etc-email-addresses.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4-config_files.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_exim_crt.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_exim_key.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_hubbed_hosts.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_local_domain_dnsbl_whitelist.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_local_host_blacklist.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_local_host_whitelist.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_local_rcpt_callout.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_local_sender_blacklist.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_local_sender_callout.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_local_sender_whitelist.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_passwd.5.gz
-+^debian/exim4-config/usr/share/man/man5/exim4_passwd_client.5.gz
-+^debian/exim4-config/usr/share/man/man5/update-exim4.conf.conf.5.gz
-+^debian/exim4-config/usr/share/man/man8/update-exim4.conf.8.gz
-+^debian/exim4-config/usr/share/man/man8/update-exim4.conf.template.8.gz
-+^debian/exim4-config/usr/share/man/man8/update-exim4defaults.8.gz
-+^debian/exim4-daemon-custom-dbg.debhelper.log
-+^debian/exim4-daemon-custom.debhelper.log
-+^debian/exim4-daemon-heavy-dbg.debhelper.log
-+^debian/exim4-daemon-heavy-dbg/DEBIAN/control
-+^debian/exim4-daemon-heavy-dbg/DEBIAN/md5sums
-+^debian/exim4-daemon-heavy-dbg/usr/lib/debug/usr/sbin/exim4
-+^debian/exim4-daemon-heavy-dbg/usr/share/doc/exim4-daemon-heavy-dbg/changelog.Debian.gz
-+^debian/exim4-daemon-heavy-dbg/usr/share/doc/exim4-daemon-heavy-dbg/copyright
-+^debian/exim4-daemon-heavy-dbg/usr/share/lintian/overrides/exim4-daemon-heavy-dbg
-+^debian/exim4-daemon-heavy.debhelper.log
-+^debian/exim4-daemon-heavy.postinst
-+^debian/exim4-daemon-heavy.postrm.debhelper
-+^debian/exim4-daemon-heavy.prerm
-+^debian/exim4-daemon-heavy.substvars
-+^debian/exim4-daemon-heavy/DEBIAN/config
-+^debian/exim4-daemon-heavy/DEBIAN/control
-+^debian/exim4-daemon-heavy/DEBIAN/md5sums
-+^debian/exim4-daemon-heavy/DEBIAN/postinst
-+^debian/exim4-daemon-heavy/DEBIAN/postrm
-+^debian/exim4-daemon-heavy/DEBIAN/prerm
-+^debian/exim4-daemon-heavy/DEBIAN/templates
-+^debian/exim4-daemon-heavy/usr/bin/mailq
-+^debian/exim4-daemon-heavy/usr/bin/newaliases
-+^debian/exim4-daemon-heavy/usr/lib/exim4/exim4
-+^debian/exim4-daemon-heavy/usr/lib/sendmail
-+^debian/exim4-daemon-heavy/usr/sbin/exim
-+^debian/exim4-daemon-heavy/usr/sbin/exim4
-+^debian/exim4-daemon-heavy/usr/sbin/rmail
-+^debian/exim4-daemon-heavy/usr/sbin/rsmtp
-+^debian/exim4-daemon-heavy/usr/sbin/runq
-+^debian/exim4-daemon-heavy/usr/sbin/sendmail
-+^debian/exim4-daemon-heavy/usr/share/bug/exim4-daemon-heavy/script
-+^debian/exim4-daemon-heavy/usr/share/doc/exim4-daemon-heavy/EDITME.exim4-heavy.gz
-+^debian/exim4-daemon-heavy/usr/share/doc/exim4-daemon-heavy/NEWS.Debian.gz
-+^debian/exim4-daemon-heavy/usr/share/doc/exim4-daemon-heavy/README.Debian.gz
-+^debian/exim4-daemon-heavy/usr/share/doc/exim4-daemon-heavy/changelog.Debian.gz
-+^debian/exim4-daemon-heavy/usr/share/doc/exim4-daemon-heavy/changelog.gz
-+^debian/exim4-daemon-heavy/usr/share/doc/exim4-daemon-heavy/copyright
-+^debian/exim4-daemon-heavy/usr/share/lintian/overrides/exim4-daemon-heavy
-+^debian/exim4-daemon-heavy/usr/share/man/man8/exim4.8.gz
-+^debian/exim4-daemon-heavy/usr/share/man/man8/mailq.8.gz
-+^debian/exim4-daemon-heavy/usr/share/man/man8/newaliases.8.gz
-+^debian/exim4-daemon-heavy/usr/share/man/man8/rmail.8.gz
-+^debian/exim4-daemon-heavy/usr/share/man/man8/rsmtp.8.gz
-+^debian/exim4-daemon-heavy/usr/share/man/man8/runq.8.gz
-+^debian/exim4-daemon-heavy/usr/share/man/man8/sendmail.8.gz
-+^debian/exim4-daemon-light-dbg.debhelper.log
-+^debian/exim4-daemon-light-dbg/DEBIAN/control
-+^debian/exim4-daemon-light-dbg/DEBIAN/md5sums
-+^debian/exim4-daemon-light-dbg/usr/lib/debug/usr/sbin/exim4
-+^debian/exim4-daemon-light-dbg/usr/share/doc/exim4-daemon-light-dbg/changelog.Debian.gz
-+^debian/exim4-daemon-light-dbg/usr/share/doc/exim4-daemon-light-dbg/copyright
-+^debian/exim4-daemon-light-dbg/usr/share/lintian/overrides/exim4-daemon-light-dbg
-+^debian/exim4-daemon-light.debhelper.log
-+^debian/exim4-daemon-light.postrm.debhelper
-+^debian/exim4-daemon-light.substvars
-+^debian/exim4-daemon-light/DEBIAN/config
-+^debian/exim4-daemon-light/DEBIAN/control
-+^debian/exim4-daemon-light/DEBIAN/md5sums
-+^debian/exim4-daemon-light/DEBIAN/postinst
-+^debian/exim4-daemon-light/DEBIAN/postrm
-+^debian/exim4-daemon-light/DEBIAN/prerm
-+^debian/exim4-daemon-light/DEBIAN/templates
-+^debian/exim4-daemon-light/usr/bin/mailq
-+^debian/exim4-daemon-light/usr/bin/newaliases
-+^debian/exim4-daemon-light/usr/lib/exim4/exim4
-+^debian/exim4-daemon-light/usr/lib/sendmail
-+^debian/exim4-daemon-light/usr/sbin/exim
-+^debian/exim4-daemon-light/usr/sbin/exim4
-+^debian/exim4-daemon-light/usr/sbin/rmail
-+^debian/exim4-daemon-light/usr/sbin/rsmtp
-+^debian/exim4-daemon-light/usr/sbin/runq
-+^debian/exim4-daemon-light/usr/sbin/sendmail
-+^debian/exim4-daemon-light/usr/share/bug/exim4-daemon-light/script
-+^debian/exim4-daemon-light/usr/share/doc/exim4-daemon-light/EDITME.exim4-light.gz
-+^debian/exim4-daemon-light/usr/share/doc/exim4-daemon-light/NEWS.Debian.gz
-+^debian/exim4-daemon-light/usr/share/doc/exim4-daemon-light/README.Debian.gz
-+^debian/exim4-daemon-light/usr/share/doc/exim4-daemon-light/changelog.Debian.gz
-+^debian/exim4-daemon-light/usr/share/doc/exim4-daemon-light/changelog.gz
-+^debian/exim4-daemon-light/usr/share/doc/exim4-daemon-light/copyright
-+^debian/exim4-daemon-light/usr/share/lintian/overrides/exim4-daemon-light
-+^debian/exim4-daemon-light/usr/share/man/man8/exim4.8.gz
-+^debian/exim4-daemon-light/usr/share/man/man8/mailq.8.gz
-+^debian/exim4-daemon-light/usr/share/man/man8/newaliases.8.gz
-+^debian/exim4-daemon-light/usr/share/man/man8/rmail.8.gz
-+^debian/exim4-daemon-light/usr/share/man/man8/rsmtp.8.gz
-+^debian/exim4-daemon-light/usr/share/man/man8/runq.8.gz
-+^debian/exim4-daemon-light/usr/share/man/man8/sendmail.8.gz
-+^debian/exim4-dbg.debhelper.log
-+^debian/exim4-dbg/DEBIAN/control
-+^debian/exim4-dbg/DEBIAN/md5sums
-+^debian/exim4-dbg/usr/lib/debug/usr/lib/exim4/eximon.bin
-+^debian/exim4-dbg/usr/lib/debug/usr/sbin/exim_dbmbuild
-+^debian/exim4-dbg/usr/lib/debug/usr/sbin/exim_dumpdb
-+^debian/exim4-dbg/usr/lib/debug/usr/sbin/exim_fixdb
-+^debian/exim4-dbg/usr/lib/debug/usr/sbin/exim_lock
-+^debian/exim4-dbg/usr/lib/debug/usr/sbin/exim_tidydb
-+^debian/exim4-dbg/usr/share/doc/exim4-dbg/changelog.Debian.gz
-+^debian/exim4-dbg/usr/share/doc/exim4-dbg/copyright
-+^debian/exim4-dbg/usr/share/lintian/overrides/exim4-dbg
-+^debian/exim4-dev.debhelper.log
-+^debian/exim4-dev/DEBIAN/control
-+^debian/exim4-dev/DEBIAN/md5sums
-+^debian/exim4-dev/usr/bin/exim4-localscan-plugin-config
-+^debian/exim4-dev/usr/include/exim4/config.h
-+^debian/exim4-dev/usr/include/exim4/local_scan.h
-+^debian/exim4-dev/usr/include/exim4/mytypes.h
-+^debian/exim4-dev/usr/include/exim4/store.h
-+^debian/exim4-dev/usr/share/doc/exim4-dev/README.Debian.gz
-+^debian/exim4-dev/usr/share/doc/exim4-dev/changelog.Debian.gz
-+^debian/exim4-dev/usr/share/doc/exim4-dev/changelog.gz
-+^debian/exim4-dev/usr/share/doc/exim4-dev/copyright
-+^debian/exim4-dev/usr/share/lintian/overrides/exim4-dev
-+^debian/exim4-dev/usr/share/man/man1/exim4-localscan-plugin-config.1.gz
-+^debian/exim4.debhelper.log
-+^debian/exim4.postrm.debhelper
-+^debian/exim4.substvars
-+^debian/exim4/DEBIAN/config
-+^debian/exim4/DEBIAN/control
-+^debian/exim4/DEBIAN/md5sums
-+^debian/exim4/DEBIAN/postinst
-+^debian/exim4/DEBIAN/postrm
-+^debian/exim4/DEBIAN/templates
-+^debian/exim4/usr/share/bug/exim4/script
-+^debian/exim4/usr/share/doc/exim4
-+^debian/exim4/usr/share/lintian/overrides/exim4
-+^debian/eximon4.debhelper.log
-+^debian/eximon4.postinst.debhelper
-+^debian/eximon4.postrm.debhelper
-+^debian/eximon4.substvars
-+^debian/eximon4/DEBIAN/control
-+^debian/eximon4/DEBIAN/md5sums
-+^debian/eximon4/DEBIAN/postinst
-+^debian/eximon4/DEBIAN/postrm
-+^debian/eximon4/usr/lib/exim4/eximon.bin
-+^debian/eximon4/usr/sbin/eximon
-+^debian/eximon4/usr/share/doc/eximon4/changelog.Debian.gz
-+^debian/eximon4/usr/share/doc/eximon4/copyright
-+^debian/eximon4/usr/share/lintian/overrides/eximon4
-+^debian/eximon4/usr/share/man/man8/eximon.8.gz
-+^debian/eximon4/usr/share/menu/eximon4
-+^debian/files
-+^installbase-stamp
-+^patch-stamp
-+^unpack-configs-stamp
-diff -r b4cc307a2719 debian/EDITME.exim4-light.diff
---- a/debian/EDITME.exim4-light.diff Thu Aug 13 12:59:19 2009 +0200
-+++ b/debian/EDITME.exim4-light.diff Thu Aug 13 13:46:31 2009 +0200
-@@ -1,5 +1,5 @@
----- /tmp/dpep-work.wG8120/trunk/build-tree/src/EDITME 2007-07-17 11:04:08.000000000 +0200
--+++ EDITME.exim4-light 2007-07-17 11:04:27.000000000 +0200
-+--- /home/luser/src/debian-packages/exim4-4.69/build-tree/src/EDITME 2009-08-10 15:37:12.000000000 +0200
-++++ EDITME.exim4-light 2009-08-10 15:45:37.000000000 +0200
- @@ -100,7 +100,7 @@
- # /usr/local/sbin. The installation script will try to create this directory,
- # and any superior directories, if they do not exist.
-@@ -196,9 +196,15 @@
-
-
- #------------------------------------------------------------------------------
--@@ -1149,3 +1156,6 @@
-+@@ -1148,4 +1155,12 @@
-+
- # ENABLE_DISABLE_FSYNC=yes
-
-++#------------------------------------------------------------------------------
-++# support storage/retrieval of values to and from memcache servers via
-++# expansions
-++SUPPORT_MEMCACHE=yes
-++
- # End of EDITME for Exim 4.
- +
- +# enable IPv6 support
-diff -r b4cc307a2719 debian/changelog
---- a/debian/changelog Thu Aug 13 12:59:19 2009 +0200
-+++ b/debian/changelog Thu Aug 13 13:46:31 2009 +0200
-@@ -1,3 +1,10 @@
-+exim4 (4.69-9.1) unstable; urgency=low
-+
-+ * Non-maintainer upload.
-+ * memcache support
-+
-+ -- Matthias Förste <foerste@schlittermann.de> Thu, 13 Aug 2009 13:26:52 +0200
-+
- exim4 (4.69-9) unstable; urgency=medium
-
- * [update-exim4.conf]: Use POSIX character classes [:alnum:] or explicit
-diff -r b4cc307a2719 debian/patches/00list
---- a/debian/patches/00list Thu Aug 13 12:59:19 2009 +0200
-+++ b/debian/patches/00list Thu Aug 13 13:46:31 2009 +0200
-@@ -12,3 +12,4 @@
- 60_convert4r4
- 66_enlarge-dh-parameters-size
- 70_remove_exim-users_references
-+80_memcache
-diff -r b4cc307a2719 debian/patches/80_memcache.dpatch
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/debian/patches/80_memcache.dpatch Thu Aug 13 13:46:31 2009 +0200
-@@ -0,0 +1,511 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 80_memcache.dpatch by Matthias Förste <foerste@schlittermann.de>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: key/value storage/retrieval via memcache
-+
-+@DPATCH@
-+diff -urNad exim4-4.69~/build-tree/OS/Makefile-Base exim4-4.69/build-tree/OS/Makefile-Base
-+--- exim4-4.69~/build-tree/OS/Makefile-Base 2009-08-13 13:12:55.000000000 +0200
-++++ exim4-4.69/build-tree/OS/Makefile-Base 2009-08-13 13:12:56.000000000 +0200
-+@@ -543,7 +543,7 @@
-+ dns.o: $(HDRS) dns.c
-+ enq.o: $(HDRS) enq.c
-+ exim.o: $(HDRS) exim.c
-+-expand.o: $(HDRS) expand.c
-++expand.o: $(HDRS) memcache.h expand.c
-+ filter.o: $(HDRS) filter.c
-+ filtertest.o: $(HDRS) filtertest.c
-+ globals.o: $(HDRS) globals.c
-+diff -urNad exim4-4.69~/build-tree/doc/OptionLists.txt exim4-4.69/build-tree/doc/OptionLists.txt
-+--- exim4-4.69~/build-tree/doc/OptionLists.txt 2007-08-29 15:37:28.000000000 +0200
-++++ exim4-4.69/build-tree/doc/OptionLists.txt 2009-08-13 13:12:56.000000000 +0200
-+@@ -11,7 +11,7 @@
-+ 4. Those that can appear in the build time configuration for the Exim monitor
-+ (Local/eximon.conf).
-+
-+-This file was last updated for Exim release 4.67.
-++This file was last updated for Exim release 4.69.
-+
-+
-+ 1. RUN TIME OPTIONS
-+@@ -887,6 +887,7 @@
-+ SUPPORT_CRYPTEQ optional support crypteq (if no auths)
-+ SUPPORT_MAILDIR optional support for maildir delivery
-+ SUPPORT_MAILSTORE optional support for mailstore delivery
-++SUPPORT_MEMCACHE optional* support for memcache storage and retrieval
-+ SUPPORT_MBX optional support for MBX delivery
-+ SUPPORT_MOVE_FROZEN_MESSAGES optional* support for frozen message moving
-+ SUPPORT_PAM optional support for PAM authentication
-+diff -urNad exim4-4.69~/build-tree/doc/memcache.txt exim4-4.69/build-tree/doc/memcache.txt
-+--- exim4-4.69~/build-tree/doc/memcache.txt 1970-01-01 01:00:00.000000000 +0100
-++++ exim4-4.69/build-tree/doc/memcache.txt 2009-08-13 13:12:56.000000000 +0200
-+@@ -0,0 +1,72 @@
-++* store some value under key; expands to 'true' if successful; expiration &
-++ timeout are optional
-++
-++ ${memcache \
-++ {+memcache_servers} \
-++ {set} \
-++ {namespace} \
-++ {key} \
-++ {value} \
-++ {expiration} \
-++ {timeout}}
-++
-++
-++* lookup the value of some key; expands to 'true' if the key has been found;
-++ stores the value in $value; timeout is optional
-++
-++ ${memcache \
-++ {+memcache_servers} \
-++ {get} \
-++ {namespace} \
-++ {key} \
-++ {$value} \
-++ {timeout}}
-++
-++
-++Currently only tcp connections are supported. No sanity checks on arguments are
-++done yet. You can use a hostlist, but its probably not useful. Each host is
-++tried in the order listed until one succeeds. Expansion will fail if none
-++suceeds.
-++
-++example usage for greylisting:
-++
-++ [...]
-++
-++ hostlist memcache_servers = <; host1:port1; host2:port2; host3
-++
-++ [...]
-++
-++ acl_check_rcpt:
-++
-++ # greylisting with memcache
-++ # do we already have a timestamp for this sender/receiver combo? try to store
-++ # one if we dont and defer if this succeeds, deny otherwise; accept the
-++ # message if we find a timestamp which is older than 5 minutes, deny
-++ # otherwise (if the timestamp is younger that is)
-++ accept
-++ logwrite = memcache \
-++ get \
-++ exim-lenny:${sender_address}*${local_part}@${domain}
-++ condition = ${memcache \
-++ {+memcache_servers} \
-++ {get} \
-++ {exim-lenny:} \
-++ {${sender_address}*${local_part}@${domain}} \
-++ {$value}}
-++ endpass
-++ condition = ${if or { \
-++ {eq {$value}{}} \
-++ { > {$tod_epoch}{${eval: $value + 300}}} \
-++ }}
-++ defer
-++ logwrite = memcache \
-++ set \
-++ exim-lenny:${sender_address}*${local_part}@${domain} \
-++ $tod_epoch
-++ condition = ${memcache \
-++ {+memcache_servers} \
-++ {set} \
-++ {exim-lenny:} \
-++ {${sender_address}*${local_part}@${domain}} \
-++ {$tod_epoch}}
-++ deny
-+diff -urNad exim4-4.69~/build-tree/scripts/MakeLinks exim4-4.69/build-tree/scripts/MakeLinks
-+--- exim4-4.69~/build-tree/scripts/MakeLinks 2007-09-28 14:21:57.000000000 +0200
-++++ exim4-4.69/build-tree/scripts/MakeLinks 2009-08-13 13:12:56.000000000 +0200
-+@@ -200,6 +200,7 @@
-+ ln -s ../src/globals.h globals.h
-+ ln -s ../src/local_scan.h local_scan.h
-+ ln -s ../src/macros.h macros.h
-++ln -s ../src/memcache.h memcache.h
-+ ln -s ../src/mytypes.h mytypes.h
-+ ln -s ../src/osfunctions.h osfunctions.h
-+ ln -s ../src/store.h store.h
-+diff -urNad exim4-4.69~/build-tree/src/config.h.defaults exim4-4.69/build-tree/src/config.h.defaults
-+--- exim4-4.69~/build-tree/src/config.h.defaults 2009-08-13 13:12:55.000000000 +0200
-++++ exim4-4.69/build-tree/src/config.h.defaults 2009-08-13 13:12:56.000000000 +0200
-+@@ -122,6 +122,7 @@
-+ #define SUPPORT_MAILDIR
-+ #define SUPPORT_MAILSTORE
-+ #define SUPPORT_MBX
-++#define SUPPORT_MEMCACHE
-+ #define SUPPORT_MOVE_FROZEN_MESSAGES
-+ #define SUPPORT_PAM
-+ #define SUPPORT_TLS
-+diff -urNad exim4-4.69~/build-tree/src/expand.c exim4-4.69/build-tree/src/expand.c
-+--- exim4-4.69~/build-tree/src/expand.c 2007-10-04 15:23:05.000000000 +0200
-++++ exim4-4.69/build-tree/src/expand.c 2009-08-13 13:14:42.000000000 +0200
-+@@ -27,6 +27,10 @@
-+ #include "lookups/ldap.h"
-+ #endif
-+
-++#ifdef SUPPORT_MEMCACHE
-++#include "memcache.h"
-++#endif
-++
-+ #ifdef SUPPORT_CRYPTEQ
-+ #ifdef CRYPT_H
-+ #include <crypt.h>
-+@@ -113,6 +117,7 @@
-+ US"length",
-+ US"lookup",
-+ US"map",
-++ US"memcache",
-+ US"nhash",
-+ US"perl",
-+ US"prvs",
-+@@ -135,6 +140,7 @@
-+ EITEM_LENGTH,
-+ EITEM_LOOKUP,
-+ EITEM_MAP,
-++ EITEM_MEMCACHE,
-+ EITEM_NHASH,
-+ EITEM_PERL,
-+ EITEM_PRVS,
-+@@ -4980,6 +4986,231 @@
-+ }
-+ }
-+ #endif /* EXPAND_DLFUNC */
-++
-++ case EITEM_MEMCACHE:
-++ #ifndef SUPPORT_MEMCACHE
-++ expand_string_message = US"\"${memcache\" encountered, but this facility "
-++ "is not included in this binary";
-++ goto EXPAND_FAILED;
-++
-++ #else /* SUPPORT_MEMCACHE */
-++ /* we dont use flags right now - should we? */
-++
-++ {
-++ uschar *memcache_timeout = US"0s"; /* with time unit postfix, fex 7d */
-++ uschar *memcache_expiration = US"0"; /* in seconds */
-++ int i_memcache_expiration = -1, i_memcache_timeout = -1;
-++ int memcache_operation;
-++ uschar *sub_arg[7];
-++
-++ uschar *memcache_servers[MEMCACHE_SERVERS_MAX];
-++ tree_node *memcache_hosts_node;
-++ uschar *memcache_hosts_string, *memcache_op_string;
-++ uschar *memcache_host;
-++ int memcache_hostlist_separator = 0;
-++ int i_memcache_server = 0;
-++ int n_memcache_servers = 0;
-++
-++ uschar *memcache_request;
-++ int memcache_request_len;
-++ BOOL memcache_request_failed = FALSE;
-++
-++ uschar *memcache_readsocket_result;
-++
-++ if ((expand_forbid & RDO_MEMCACHE) != 0)
-++ {
-++ expand_string_message = US"memcache storage/retrieval are not permitted";
-++ goto EXPAND_FAILED;
-++ }
-++
-++ /* read up to 7 args */
-++ switch(read_subs(sub_arg, 7, 5, &s, skipping, TRUE, US"memcache"))
-++ {
-++ case 1: goto EXPAND_FAILED_CURLY;
-++ case 2:
-++ case 3: goto EXPAND_FAILED;
-++ }
-++
-++ /* validate operation and set argument indices */
-++ memcache_op_string = string_sprintf(US"%S", sub_arg[1]);
-++ if (Ustrcmp(memcache_op_string, US"set") == 0)
-++ {
-++ i_memcache_expiration = 5; i_memcache_timeout = 6; memcache_operation = MEMCACHE_OP_SET;
-++ }
-++ else if (Ustrcmp(memcache_op_string, US"get") == 0)
-++ {
-++ i_memcache_timeout = 5; memcache_operation = MEMCACHE_OP_GET;
-++ }
-++ else
-++ {
-++ expand_string_message = string_sprintf(US"invalid memcache operation '%s'",
-++ sub_arg[1]);
-++ goto EXPAND_FAILED;
-++ }
-++
-++ /* expiration */
-++ if (i_memcache_expiration >=0 && sub_arg[i_memcache_expiration] != NULL)
-++ {
-++ memcache_expiration = string_sprintf(US"%d", readconf_readtime(sub_arg[i_memcache_expiration], 0, FALSE));
-++ if (memcache_expiration < 0)
-++ {
-++ expand_string_message = string_sprintf(US"bad time value %s",
-++ sub_arg[i_memcache_expiration]);
-++ goto EXPAND_FAILED;
-++ }
-++ }
-++
-++ /* now that we have an expiration time we should be able to build the request string */
-++ if (memcache_operation == MEMCACHE_OP_SET)
-++ {
-++ uschar* data = sub_arg[4];
-++ int data_len = Ustrlen(data);
-++
-++ /* writeop [namespace]key flags expiration size-in-bytes [noreply] */
-++ uschar *cmd = string_sprintf(US"%s %s%s %d %s %d %s",
-++ US"set",
-++ sub_arg[2],
-++ sub_arg[3],
-++ 0,
-++ memcache_expiration,
-++ data_len,
-++ US"");
-++ int cmd_len = Ustrlen(cmd);
-++
-++ memcache_request = string_sprintf(US"%s\r\n%s\r\n", cmd, data);
-++ memcache_request_len = Ustrlen(memcache_request);
-++ }
-++ else if (memcache_operation == MEMCACHE_OP_GET)
-++ {
-++ memcache_request = string_sprintf(US"%s %s%s\r\n", US"get", sub_arg[2], sub_arg[3]);
-++ memcache_request_len = Ustrlen(memcache_request);
-++ }
-++ else
-++ {
-++ expand_string_message = string_sprintf(US"invalid memcache operation: '%s'", memcache_op_string);
-++ goto EXPAND_FAILED;
-++ }
-++
-++ /* memcache servers - we expect either a named list or just a list */
-++ if (sub_arg[0][0] == '+')
-++ {
-++ if (NULL == (memcache_hosts_node = tree_search(hostlist_anchor, sub_arg[0] + sizeof(uschar))))
-++ {
-++ expand_string_message = string_sprintf(US"named list '%s' not found",
-++ sub_arg[0]);
-++ goto EXPAND_FAILED;
-++ }
-++ memcache_hosts_string = ((namedlist_block *) memcache_hosts_node->data.ptr)->string;
-++ }
-++ else
-++ {
-++ memcache_hosts_string = sub_arg[0];
-++ }
-++
-++ while ((NULL != (memcache_host = string_nextinlist(&memcache_hosts_string, &memcache_hostlist_separator, NULL, 0))))
-++ {
-++ if (i_memcache_server >= MEMCACHE_SERVERS_MAX)
-++ {
-++ expand_string_message = string_sprintf(US"too many memcache servers, %d is max",
-++ MEMCACHE_SERVERS_MAX);
-++ goto EXPAND_FAILED;
-++ }
-++ memcache_servers[i_memcache_server] = memcache_host;
-++ i_memcache_server++;
-++ }
-++ n_memcache_servers = i_memcache_server;
-++
-++ /* talk to server(s) unless we are skipping */
-++ if (!skipping)
-++ {
-++ for (i_memcache_server = 0; i_memcache_server < n_memcache_servers;
-++ i_memcache_server++)
-++ {
-++
-++ uschar *memcache_server_name = memcache_servers[i_memcache_server];
-++ uschar *memcache_port_name = Ustrrchr(memcache_server_name, ':');
-++ uschar *memcache_default_port_name = US"11211";
-++
-++ /* Sort out the port */
-++ if (memcache_port_name == NULL)
-++ {
-++ memcache_port_name = memcache_default_port_name;
-++ }
-++ else
-++ {
-++ *memcache_port_name++ = 0; /* Terminate server name */
-++ }
-++
-++ uschar *memcache_server_readsocket =
-++ string_sprintf(US"${readsocket{inet:%s:%s}{%s}{%s}}",
-++ memcache_server_name,
-++ memcache_port_name,
-++ memcache_request,
-++ sub_arg[i_memcache_timeout] == NULL ? memcache_timeout : sub_arg[i_memcache_timeout]);
-++ DEBUG(D_memcache)
-++ {
-++ debug_printf("readsocket expansion item: '%s'\n", memcache_server_readsocket);
-++ }
-++ memcache_readsocket_result = expand_string(memcache_server_readsocket);
-++ if (memcache_readsocket_result != NULL)
-++ {
-++ if (memcache_operation == MEMCACHE_OP_GET
-++ && 0 == Ustrncmp(memcache_readsocket_result, US"VALUE ", Ustrlen(US"VALUE ")))
-++ {
-++ /* we tried to use expand_gettokened but it segfaults and we
-++ didnt find out why */
-++ uschar *memcache_value_size = memcache_readsocket_result;
-++ int i;
-++ for (i = 0; i < 3; i++) { memcache_value_size = Ustrchr(memcache_value_size, ' ') + 1; }
-++
-++ lookup_value = strstr(memcache_readsocket_result, "\r\n") + Ustrlen("\r\n");
-++ lookup_value[
-++ Ustrtol(memcache_value_size,
-++ NULL,
-++ 0)] = 0;
-++
-++ DEBUG(D_memcache) { debug_printf("lookup_value: '%s'\n", lookup_value); }
-++
-++ }
-++ else if (memcache_operation == MEMCACHE_OP_SET
-++ && 0 == Ustrcmp(memcache_readsocket_result, US"STORED\r\n"))
-++ {
-++ }
-++ else
-++ {
-++ /* something went wrong - try something else */
-++ memcache_request_failed = TRUE;
-++ DEBUG(D_memcache)
-++ {
-++ debug_printf("memcache operation '%s' failed: '%s'\n",
-++ memcache_op_string,
-++ memcache_readsocket_result);
-++ }
-++ continue;
-++ }
-++
-++ yield = string_cat(yield,
-++ &size,
-++ &ptr,
-++ US"yes",
-++ Ustrlen(US"yes"));
-++ break;
-++ }
-++
-++ }
-++
-++ if (memcache_request_failed)
-++ {
-++ /* every try failed if we come here */
-++ expand_string_message =
-++ string_sprintf(US"all memcache servers failed - last error was: '%s'",
-++ expand_string_message);
-++ goto EXPAND_FAILED;
-++ }
-++ }
-++ continue;
-++ }
-++ #endif /* SUPPORT_MEMCACHE */
-+ }
-+
-+ /* Control reaches here if the name is not recognized as one of the more
-+diff -urNad exim4-4.69~/build-tree/src/globals.c exim4-4.69/build-tree/src/globals.c
-+--- exim4-4.69~/build-tree/src/globals.c 2009-08-13 13:12:55.000000000 +0200
-++++ exim4-4.69/build-tree/src/globals.c 2009-08-13 13:12:56.000000000 +0200
-+@@ -451,6 +451,7 @@
-+ { US"load", D_load },
-+ { US"local_scan", D_local_scan },
-+ { US"lookup", D_lookup },
-++ { US"memcache", D_memcache },
-+ { US"memory", D_memory },
-+ { US"pid", D_pid },
-+ { US"process_info", D_process_info },
-+diff -urNad exim4-4.69~/build-tree/src/macros.h exim4-4.69/build-tree/src/macros.h
-+--- exim4-4.69~/build-tree/src/macros.h 2007-08-22 12:10:23.000000000 +0200
-++++ exim4-4.69/build-tree/src/macros.h 2009-08-13 13:12:56.000000000 +0200
-+@@ -313,19 +313,20 @@
-+ #define D_load 0x00008000
-+ #define D_lookup 0x00010000
-+ #define D_memory 0x00020000
-+-#define D_pid 0x00040000
-+-#define D_process_info 0x00080000
-+-#define D_queue_run 0x00100000
-+-#define D_receive 0x00200000
-+-#define D_resolver 0x00400000
-+-#define D_retry 0x00800000
-+-#define D_rewrite 0x01000000
-+-#define D_route 0x02000000
-+-#define D_timestamp 0x04000000
-+-#define D_tls 0x08000000
-+-#define D_transport 0x10000000
-+-#define D_uid 0x20000000
-+-#define D_verify 0x40000000
-++#define D_memcache 0x00040000
-++#define D_pid 0x00080000
-++#define D_process_info 0x00100000
-++#define D_queue_run 0x00200000
-++#define D_receive 0x00400000
-++#define D_resolver 0x00800000
-++#define D_retry 0x01000000
-++#define D_rewrite 0x02000000
-++#define D_route 0x04000000
-++#define D_timestamp 0x08000000
-++#define D_tls 0x10000000
-++#define D_transport 0x20000000
-++#define D_uid 0x40000000
-++#define D_verify 0x80000000
-+
-+ /* The D_all value must always have all bits set, as it is recognized specially
-+ by the function that decodes debug and log selectors. This is to enable it to
-+@@ -515,21 +516,21 @@
-+ #define RDO_INCLUDE 0x00000100 /* Forbid :include: */
-+ #define RDO_LOG 0x00000200 /* Forbid "log" */
-+ #define RDO_LOOKUP 0x00000400 /* Forbid "lookup" in expansion in filter */
-+-#define RDO_PERL 0x00000800 /* Forbid "perl" in expansion in filter */
-+-#define RDO_READFILE 0x00001000 /* Forbid "readfile" in exp in filter */
-+-#define RDO_READSOCK 0x00002000 /* Forbid "readsocket" in exp in filter */
-+-#define RDO_RUN 0x00004000 /* Forbid "run" in expansion in filter */
-+-#define RDO_DLFUNC 0x00008000 /* Forbid "dlfunc" in expansion in filter */
-+-#define RDO_REALLOG 0x00010000 /* Really do log (not testing/verifying) */
-+-#define RDO_REWRITE 0x00020000 /* Rewrite generated addresses */
-+-#define RDO_EXIM_FILTER 0x00040000 /* Forbid Exim filters */
-+-#define RDO_SIEVE_FILTER 0x00080000 /* Forbid Sieve filters */
-+-#define RDO_PREPEND_HOME 0x00100000 /* Prepend $home to relative paths in Exim filter save commands */
-+-
-++#define RDO_MEMCACHE 0x00000800 /* Forbid "memcache" in expansion in filter */
-++#define RDO_PERL 0x00001000 /* Forbid "perl" in expansion in filter */
-++#define RDO_READFILE 0x00002000 /* Forbid "readfile" in exp in filter */
-++#define RDO_READSOCK 0x00004000 /* Forbid "readsocket" in exp in filter */
-++#define RDO_RUN 0x00008000 /* Forbid "run" in expansion in filter */
-++#define RDO_DLFUNC 0x00010000 /* Forbid "dlfunc" in expansion in filter */
-++#define RDO_REALLOG 0x00020000 /* Really do log (not testing/verifying) */
-++#define RDO_REWRITE 0x00040000 /* Rewrite generated addresses */
-++#define RDO_EXIM_FILTER 0x00080000 /* Forbid Exim filters */
-++#define RDO_SIEVE_FILTER 0x00100000 /* Forbid Sieve filters */
-++#define RDO_PREPEND_HOME 0x00200000 /* Prepend $home to relative paths in Exim filter save commands */
-+ /* This is the set that apply to expansions in filters */
-+
-+ #define RDO_FILTER_EXPANSIONS \
-+- (RDO_EXISTS|RDO_LOOKUP|RDO_PERL|RDO_READFILE|RDO_READSOCK|RDO_RUN|RDO_DLFUNC)
-++ (RDO_EXISTS|RDO_LOOKUP|RDO_MEMCACHE|RDO_PERL|RDO_READFILE|RDO_READSOCK|RDO_RUN|RDO_DLFUNC)
-+
-+ /* As well as the RDO bits themselves, we need the bit numbers in order to
-+ access (most of) the individual bits as separate options. This could be
-+@@ -537,8 +538,9 @@
-+
-+ enum { RDON_BLACKHOLE, RDON_DEFER, RDON_EACCES, RDON_ENOTDIR, RDON_EXISTS,
-+ RDON_FAIL, RDON_FILTER, RDON_FREEZE, RDON_INCLUDE, RDON_LOG, RDON_LOOKUP,
-+- RDON_PERL, RDON_READFILE, RDON_READSOCK, RDON_RUN, RDON_DLFUNC, RDON_REALLOG,
-+- RDON_REWRITE, RDON_EXIM_FILTER, RDON_SIEVE_FILTER, RDON_PREPEND_HOME };
-++ RDON_MEMCACHE, RDON_PERL, RDON_READFILE, RDON_READSOCK, RDON_RUN,
-++ RDON_DLFUNC, RDON_REALLOG, RDON_REWRITE, RDON_EXIM_FILTER, RDON_SIEVE_FILTER,
-++ RDON_PREPEND_HOME };
-+
-+ /* Results of filter or forward file processing. Some are only from a filter;
-+ some are only from a forward file. */
-+diff -urNad exim4-4.69~/build-tree/src/memcache.h exim4-4.69/build-tree/src/memcache.h
-+--- exim4-4.69~/build-tree/src/memcache.h 1970-01-01 01:00:00.000000000 +0100
-++++ exim4-4.69/build-tree/src/memcache.h 2009-08-13 13:12:56.000000000 +0200
-+@@ -0,0 +1,14 @@
-++#ifndef MEMCACHE_H
-++
-++#define MEMCACHE_SERVERS_MAX 16
-++#define MEMCACHE_OP_SET 0
-++#define MEMCACHE_OP_GET 1
-++
-++/*
-++extern void memcache_addhost(uschar *, uschar *, void *);
-++*/
-++/* host list */
-++
-++/* put declarations before */
-++#define MEMCACHE_H
-++#endif