EXIM ACKNOWLEDGEMENTS I have not been very good at keeping a proper record of all the people who have sent in patches and other contributions to Exim. I am going to try to do better in the future by keeping a record in this file. First, I'll put a list of all those I can recover from the past; then I'll create a new list to which I'll add new contributors in future. Some regular contributors may appear in both. I'm going to record people who send in actual patches or who help in detailed ways. I'm not going to list people who just make a suggestion or report a bug. I hope that is a reasonable approach. If you should be on one of these lists and are not, please accept my apologies, and let me know! Any omissions are solely due to my incompetence. In particular, the "past" list has certainly lost the names of people who sent in relatively small patches. Philip Hazel Lists created: 20 November 2002 Last updated: 22 August 2007 THE OLD LIST Alan Barratt First code for relay checking Malcolm Beattie Interface to embedded Perl Philip Blundell First support for IPv6 Piete Brooks Running the first live version Implementing multiple-system compilation Matthew Byng-Maddick First code for dsearch lookup Steve Campbell Extensions to eximstats Steve is now the maintainer of eximstats Brian Candler LDAP support enhancement Petr Cech PostgreSQL interface Steve Clarke Best way to find the load average in Linux Energis Ltd Resources for the exim.org site Yann Golanski Numerical hash function Jason Gunthorpe IPv6 support (Linux) Michael Haardt LDAP support enhancement Steve Haslam First code for TLS Kjetil Torgrim Homme Suggested patch for macro extensions John Horne Proof-reading documentation (repeatedly) Pierre Humblet Cygwin support Paul Kelly MySQL interface First code for Oracle interface Ian Kirk Radius support Stuart Levy Replacement for broken inet_ntoa() on IRIX Stuart Lynne First code for LDAP Nigel Metheringham Setting up the web site and mailing list Managing the web site and mailing list Interface to Berkeley DB Support for cdb Support for maildir Barry Pederson LDAP support enhancement Marc Prud'hommeaux SPA client authentication Alexander Sabourenkov pwcheck daemon support Peter Savitch LDAP support enhancement Robert Wal whoson lookup Joachim Wieland Researching strace and stolen subprocesses in Linux THE NEW LIST Alexander Alekseev Use of function attribute checks in gcc Justo Alonso Suggested patch for maildir++ maildirsize file support Anton Altaparmakov Patches to get cyrus_sasl fully working Simon Arlott Patch for $dnslist_matched. Claus Assmann Example code for OpenSSL CRL support Robert Bannocks Patch for LDAP reference problem on Solaris Ian Bell Analysis of a bug and an infelicity in clock tick code Patch for ${quote_local_part Peter Benie A number mistakes found by analysing the code Johannes Berg Suggested patch for authentication client $auth support Suggested patch for acl_not_smtp_start Matt Bernstein LMTP over socket Suggested patch for dnslists '&' feature Mike Bethune Help with debugging an elusive ALRM signal bug Ard Biesheuvel Lookup code for accessing an Interbase database Richard Birkett Fix for empty -f address crash Dean Brooks Fix for ratelimit per_rcpt in acl_not_smtp. Nick Burrett Patch for CONFIGURE_FILE_USE_EUID in exicyclog Matthew Byng-Maddick Patch for qualify_domain in redirect router Patch for ignore_target_hosts in ipliteral router The cyrus_sasl authenticator Steve Campbell eximstats extensions and continued maintenance Brian Candler Use h_errno for gethostbyname() Suggested patch for .ifdef etc Several minor fixes and suggestions Pete Carah Patch for change to radiusclient API Oliver Cook Suggested patch for exigrep & rejected messages Patch to add sender/host info to local_scan() rejects Suggested patch to add queue time to "Completed" Ted Cooper Suggested patch for NOTQUIT ACL Jennifer Corley Designing the new Exim logo John Dalbec Patch for quota_warn_threshold bug Vivek Dasmohapatra Suggested patch for CRL support Dennis Davis Suggested server_condition for all authenticators Andrew Doran Patch for NetBSD configuration files Patch for ifreq alignment and size problems Michael Deutschmann Suggested patch for treating bind() failure like connect() Patch for $sender_data and $recipient_data Suggested patch for null address match lookup bug Suggested patch for verify = not_blind Patch for alternate TXT lookup in DNS lists Oliver Eikemeier Patch to skip Received: if expansion is empty Patch for "eqi" Nico Erfurth Fix for bug in ${readfile} Patch for router_home_directory Patch for ACL crash (try to test sender after ETRN) Suggested patch for lookup search bug Suggested patch for advertise_condition Patch for missing HELO in checkaccess Patch for raw headers Patch for lsearch lookups tidying Patch for .include_if_exists Patch for partial- not recognized in host list Lots more patches for bug fixes, enhancements, and code refactorings - too many to record details! Jochen Erwied Fix for BDB 4.1 API Stefan Esser Fix for DNS RR parsing bug Peter Evans Suggested using modification time of "new" for time of "mailbox last read" for maildir Andrew Findlay Patch to close writing end of ${readsocket Michael Fischer v. Mollard Suggested patch for exigrep -t option Kevin Fleming Callout cache code Patch for authenticated_sender Tony Finch Expansion extensions Timezone addition to log timestamps A number of useful code criticisms Timezone patch for exiwhat Patch for more daemon exiwhat information Patch for -dd Patch for mxh lookup type in dnsdb Patch for defer_foo in dndsb Patch for ${dlfunc Patch for $message_linecount ... and many more Graeme Fowler Suggested patch for /noupdate with ratelimit Ian Freislich Patch for spamd timeout problem Giuliano Gavazzi Patches for OSX compilation Dominic Germain Patch for exiqgrep MacOS X bug Oliver Gorwits $load_average patch Patch for additional syslog facilities James Grinter Suggested patches for header manipulation functions and recipient remove for local_scan() use Lukasz Grochal Patch for saslauthd buglet Pavel Gulchouck Diagnosis of return_path_on_delivery crash Michael Haardt Tidies to make the code stricter Refactoring to allow for other filter types Suggested patch for appendfile "folder" extension Module to support Sieve (RFC 3028) filters and continued maintenance of same Patch for faster sort algorithm in queue.c Patch for LDAP timeout handling ... and several more Thomas Hager Patch for saslauthd crash bug Richard Hall Fix for file descriptor leak in redirection Jori Hamalainen Patch to add features to exiqsumm Patch to speed up exigrep Steve Haslam Lots of stuff, including HMAC computations Better error messages for BDB Sheldon Hearn Suggested patch for smtp_accept_max_nonmail_hosts Fix for compile error with OpenSSL 0.9.8e Bryan Henderson Patch to use RM_COMMAND everywhere during building Jakob Hirsch Patch for % operator Patch for arbitrarily named ACL variables Magnus Holmgren Patch for filter_prepend_home Patch for "h" flag in Domain Keys Patch for $sending_ip_address/$sending_port Patch for ${rfc2047d: ... and several more Lots of other maintenance support Kjetil Torgrim Homme Patch for require_files problem on NFS file systems Tom Hughes Suggested patch for $n bug in pipe command from filter Pierre Humblet Continued Cygwin support Peter Ilieve Suggested patch for lookup search bug John Jetmore Writing and maintaining the 'exipick' utility Much helpful testing of the test suite & elsewhere Patch for -Mset Patch for TLS testing with -bh/-bhc/-bs Patch for exigrep -v functionality Bob Johannessen Patch for Sieve envelope tests bug Patch for negative uid/gid bug Brad Jorsch Patch for bitwise logical operators Patch for using "message" on acceptance Patch to add == and =& to dnslists Christian Kellner Patch for LDAP dereferencing Alex Kiernan Patches for libradius Diagnosis of milliwait clock-backwards bug Patch for BDB 4.3 API change Tom Kistner SPA server code Writing and maintaining the content scanning extension (exiscan) Jürgen Kreileder Fix for cyrus_sasl advertisement problem Friso Kuipers Patch for GDBM problem Matthias Lederhofer Diagnosing and patching obscure and subtle socket bug Chris Liddiard Fix for bug in exiqsumm Chris Lightfoot Patch for -restore-times in exim_lock Edgar Lovecraft Patch for ${str2b64: Torsten Luettgert Suggested patch for proper integer overflow detection David Madole Patch for SPA forced expansion failure bug Lars Mainka Patch for OpenSSL crl collections Andrey Malyshev Patch for $address_data after redirection bug Lionel Elie Mamane Patch for IPv4/IPv6 listen() problem on USAGI Linux Patch for recognizing IPv6 "scoped addresses" Patch for callout caching bug Everton da Silva Marques Suggested patch for SRV handling Suggested patch for SRV/MX lookup retry option Nikos Mavrogiannopoulos GnuTLS proof of concept code Update to RSA and D-H parameter caching code Komar Maxim Patch for check_rfc2047_length Andy Mell Fix for rejectlog regeneration bug Marc Merlin Many suggestions and patches for callouts and SMTP error message features Andreas Metzler Patch for message_id_header_domain Suggested patch for multi-config files in scripts bug GnuTLS non-existent parameter file bug fix Alex Miller Suggested readline() patch Patch for LDAP_RES_SEARCH_REFERENCE handling Support for the DrWeb content scanner Arkadiusz Miskiewicz Patch to add timeout to reads in malware.c Martin Mrazik Patches for problems in the test suite Andreas Mueller Patch for logging uncompleted SMTP transactions Pete Naylor Patch for LDAP TCP connect timeout setting Alexander Newmann Diagnosing and patching obscure and subtle socket bug Matthew Newton Patch for exicyclog log location problem Marcin Owsiany Diagnosis of a tricky timeout failure bug Andrey Panin Dovecot authenticator Eric Parusel Patch for tls_remember_esmtp Gaige Paulsen Amended Darwin config files Richard Premdas Patch for PAM buglet Jason Pyeron Suggested patch for ignoring Sendmail's -O option Mark Rigby-Jones Patch for race condition during MBX locking Robert Roselius Patch for OpenSSL workaround for bad clients Larry Rosenman OpenUNIX config files Alexander Sabourenkov Patch to add saslauthd daemon support Patch for MySQL non-data queries David Saez Suggested patch for $sender_hostname lookup if needed Support for the clamd virus scanner Suggested patch for increased number of ACL variables Jonathan Sambrook Suggested patch for expanding uid and gid lists Peter Savitch Diagnosis of FPE bug when statvfs() fails on spool Harald Schueler Patch for dn_expand() failure on truncated data Heiko Schlichting Diagnosis of intermittent daemon crash bug Heiko Schlitterman Proposed patch for +pid Stephan Schulz Patch for $host_data caching error Lai Zit Seng Patch for radiusclient 0.4.9 interface bugs Tony Sheen Log files with datestamped names and auto rollover Martin Sluka Patch for exigrep to include non-message lines Adam Stephens Suggested patch for IGNOREQUOTA in LMTP Russell Stuart Diagnosis of obscure batch multiple delivery bug Tamas Tevesz Patch for crypt16() support Johan Thelmen Support for the F-Secure virus scanner William Thompson Suggested patch for acl_smtp_helo Suggested patch for nested ACL "drop" bug Suggested patch for continuation lines in file ACLs Patch for != support in DNS lists Adam Thornton Patch for SMTP port expansion Daniel Tiefnig Much helpful testing of the test suite Rein Tollevik Patch to fix search cache missing tidyup Stefan Traby Threaded Perl support Samuli Tuomola OS files for QNX 6.2.0 Dave Turner Suggested patch for sender rewriting brokenness Steve Usher Unbuffered I/O patch for Dovecot authentication Carlos Villegas Suggested patch for "headers" in filter files Matthias Waffenschmidt Patch for build-time Perl bug in configure script Queue run abandon log message tidy up Norihisa Washitake Suggested patch for RFC 2047 header decoding Chris Webb Patch for support of an SPF lookup method. Florian Weimer Patch for minor format string issue Noticing the unwanted (and time-wasting) GnuTLS RSA_EXPORT code, and supplying a patch to remove it Joachim Wieland Patches for PostgreSQL socket support and other PostgreSQL functionality Patch for hosts_avoid_esmtp Stephen Wilcox Patch for ignore_enotdir problem Alain Williams Suggested patch for exicyclog options PATCH for LDAP referrals option David Woodhouse SQLite support proof of concept code control=freeze/no_tell basic code Erik ? patch to use select() instead of poll() on OS X ****