diff -r 5d6a10b5469c -r 886f06655730 exim4/4.69/memcache-support.patch --- 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 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 -+## -+## 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 -+@@ -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