3 I have not been very good at keeping a proper record of all the people who have
4 sent in patches and other contributions to Exim. I am going to try to do better
5 in the future by keeping a record in this file. First, I'll put a list of all
6 those I can recover from the past; then I'll create a new list to which I'll
7 add new contributors in future. Some regular contributors may appear in both.
9 I'm going to record people who send in actual patches or who help in detailed
10 ways. I'm not going to list people who just make a suggestion or report a
11 bug. I hope that is a reasonable approach.
13 If you should be on one of these lists and are not, please accept my apologies,
14 and let me know! Any omissions are solely due to my incompetence. In
15 particular, the "past" list has certainly lost the names of people who sent in
16 relatively small patches.
20 Lists created: 20 November 2002
21 Last updated (by PH): 22 August 2007
23 Note: at current time, Exim is maintained in git; the commit messages
24 typically credit sources, at the very least. Also the ChangeLog file
25 will record who provided patches. This file is not very up-to-date.
30 Alan Barratt First code for relay checking
31 Malcolm Beattie Interface to embedded Perl
32 Philip Blundell First support for IPv6
33 Piete Brooks Running the first live version
34 Implementing multiple-system compilation
35 Matthew Byng-Maddick First code for dsearch lookup
36 Steve Campbell Extensions to eximstats
37 Steve is now the maintainer of eximstats
38 Brian Candler LDAP support enhancement
39 Petr Cech PostgreSQL interface
40 Steve Clarke Best way to find the load average in Linux
41 Energis Ltd Resources for the exim.org site
42 Yann Golanski Numerical hash function
43 Jason Gunthorpe IPv6 support (Linux)
44 Michael Haardt LDAP support enhancement
45 Steve Haslam First code for TLS
46 Kjetil Torgrim Homme Suggested patch for macro extensions
47 John Horne Proof-reading documentation (repeatedly)
48 Pierre Humblet Cygwin support
49 Paul Kelly MySQL interface
50 First code for Oracle interface
51 Ian Kirk Radius support
52 Stuart Levy Replacement for broken inet_ntoa() on IRIX
53 Stuart Lynne First code for LDAP
54 Nigel Metheringham Setting up the web site and mailing list
55 Managing the web site and mailing list
56 Interface to Berkeley DB
59 Barry Pederson LDAP support enhancement
60 Marc Prud'hommeaux SPA client authentication
61 Alexander Sabourenkov pwcheck daemon support
62 Peter Savitch LDAP support enhancement
63 Robert Wal whoson lookup
64 Joachim Wieland Researching strace and stolen subprocesses in Linux
69 Alexander Alekseev Use of function attribute checks in gcc
70 Justo Alonso Suggested patch for maildir++ maildirsize file support
71 Anton Altaparmakov Patches to get cyrus_sasl fully working
72 Simon Arlott Patch for $dnslist_matched.
73 Claus Assmann Example code for OpenSSL CRL support
74 Robert Bannocks Patch for LDAP reference problem on Solaris
75 Ian Bell Analysis of a bug and an infelicity in clock tick code
76 Patch for ${quote_local_part
77 Peter Benie A number mistakes found by analysing the code
78 Johannes Berg Suggested patch for authentication client $auth<n> support
79 Suggested patch for acl_not_smtp_start
80 Matt Bernstein LMTP over socket
81 Suggested patch for dnslists '&' feature
82 Mike Bethune Help with debugging an elusive ALRM signal bug
83 Ard Biesheuvel Lookup code for accessing an Interbase database
84 Richard Birkett Fix for empty -f address crash
85 Dean Brooks Fix for ratelimit per_rcpt in acl_not_smtp.
86 Nick Burrett Patch for CONFIGURE_FILE_USE_EUID in exicyclog
87 Matthew Byng-Maddick Patch for qualify_domain in redirect router
88 Patch for ignore_target_hosts in ipliteral router
89 The cyrus_sasl authenticator
90 Steve Campbell eximstats extensions and continued maintenance
91 Brian Candler Use h_errno for gethostbyname()
92 Suggested patch for .ifdef etc
93 Several minor fixes and suggestions
94 Pete Carah Patch for change to radiusclient API
95 Oliver Cook Suggested patch for exigrep & rejected messages
96 Patch to add sender/host info to local_scan() rejects
97 Suggested patch to add queue time to "Completed"
98 Ted Cooper Suggested patch for NOTQUIT ACL
99 Jennifer Corley Designing the new Exim logo
100 John Dalbec Patch for quota_warn_threshold bug
101 Vivek Dasmohapatra Suggested patch for CRL support
102 Dennis Davis Suggested server_condition for all authenticators
103 Andrew Doran Patch for NetBSD configuration files
104 Patch for ifreq alignment and size problems
105 Michael Deutschmann Suggested patch for treating bind() failure like connect()
106 Patch for $sender_data and $recipient_data
107 Suggested patch for null address match lookup bug
108 Suggested patch for verify = not_blind
109 Patch for alternate TXT lookup in DNS lists
110 Oliver Eikemeier Patch to skip Received: if expansion is empty
112 Nico Erfurth Fix for bug in ${readfile}
113 Patch for router_home_directory
114 Patch for ACL crash (try to test sender after ETRN)
115 Suggested patch for lookup search bug
116 Suggested patch for advertise_condition
117 Patch for missing HELO in checkaccess
118 Patch for raw headers
119 Patch for lsearch lookups tidying
120 Patch for .include_if_exists
121 Patch for partial- not recognized in host list
122 Lots more patches for bug fixes, enhancements, and
123 code refactorings - too many to record details!
124 Jochen Erwied Fix for BDB 4.1 API
125 Stefan Esser Fix for DNS RR parsing bug
126 Peter Evans Suggested using modification time of "new" for time
127 of "mailbox last read" for maildir
128 Andrew Findlay Patch to close writing end of ${readsocket
130 v. Mollard Suggested patch for exigrep -t option
131 Kevin Fleming Callout cache code
132 Patch for authenticated_sender
133 Tony Finch Expansion extensions
134 Timezone addition to log timestamps
135 A number of useful code criticisms
136 Timezone patch for exiwhat
137 Patch for more daemon exiwhat information
139 Patch for mxh lookup type in dnsdb
140 Patch for defer_foo in dndsb
142 Patch for $message_linecount
144 Graeme Fowler Suggested patch for /noupdate with ratelimit
145 Ian Freislich Patch for spamd timeout problem
146 Giuliano Gavazzi Patches for OSX compilation
147 Dominic Germain Patch for exiqgrep MacOS X bug
148 Oliver Gorwits $load_average patch
149 Patch for additional syslog facilities
150 James Grinter Suggested patches for header manipulation functions
151 and recipient remove for local_scan() use
152 Lukasz Grochal Patch for saslauthd buglet
153 Pavel Gulchouck Diagnosis of return_path_on_delivery crash
154 Michael Haardt Tidies to make the code stricter
155 Refactoring to allow for other filter types
156 Suggested patch for appendfile "folder" extension
157 Module to support Sieve (RFC 3028) filters and
158 continued maintenance of same
159 Patch for faster sort algorithm in queue.c
160 Patch for LDAP timeout handling
162 Thomas Hager Patch for saslauthd crash bug
163 Richard Hall Fix for file descriptor leak in redirection
164 Jori Hamalainen Patch to add features to exiqsumm
165 Patch to speed up exigrep
166 Steve Haslam Lots of stuff, including
168 Better error messages for BDB
169 Sheldon Hearn Suggested patch for smtp_accept_max_nonmail_hosts
170 Fix for compile error with OpenSSL 0.9.8e
171 Bryan Henderson Patch to use RM_COMMAND everywhere during building
172 Jakob Hirsch Patch for % operator
173 Patch for arbitrarily named ACL variables
174 Magnus Holmgren Patch for filter_prepend_home
175 Patch for "h" flag in Domain Keys
176 Patch for $sending_ip_address/$sending_port
177 Patch for ${rfc2047d:
179 Lots of other maintenance support
180 Kjetil Torgrim Homme Patch for require_files problem on NFS file systems
181 Tom Hughes Suggested patch for $n bug in pipe command from filter
182 Pierre Humblet Continued Cygwin support
183 Peter Ilieve Suggested patch for lookup search bug
184 John Jetmore Writing and maintaining the 'exipick' utility
185 Much helpful testing of the test suite & elsewhere
187 Patch for TLS testing with -bh/-bhc/-bs
188 Patch for exigrep -v functionality
189 Bob Johannessen Patch for Sieve envelope tests bug
190 Patch for negative uid/gid bug
191 Brad Jorsch Patch for bitwise logical operators
192 Patch for using "message" on acceptance
193 Patch to add == and =& to dnslists
194 Christian Kellner Patch for LDAP dereferencing
195 Alex Kiernan Patches for libradius
196 Diagnosis of milliwait clock-backwards bug
197 Patch for BDB 4.3 API change
198 Tom Kistner SPA server code
199 Writing and maintaining the content scanning
201 Jürgen Kreileder Fix for cyrus_sasl advertisement problem
202 Friso Kuipers Patch for GDBM problem
203 Matthias Lederhofer Diagnosing and patching obscure and subtle socket bug
204 Chris Liddiard Fix for bug in exiqsumm
205 Chris Lightfoot Patch for -restore-times in exim_lock
206 Edgar Lovecraft Patch for ${str2b64:
207 Torsten Luettgert Suggested patch for proper integer overflow detection
208 David Madole Patch for SPA forced expansion failure bug
209 Lars Mainka Patch for OpenSSL crl collections
210 Andrey Malyshev Patch for $address_data after redirection bug
211 Lionel Elie Mamane Patch for IPv4/IPv6 listen() problem on USAGI Linux
212 Patch for recognizing IPv6 "scoped addresses"
213 Patch for callout caching bug
214 Everton da Silva Marques Suggested patch for SRV handling
215 Suggested patch for SRV/MX lookup retry option
216 Nikos Mavrogiannopoulos GnuTLS proof of concept code
217 Update to RSA and D-H parameter caching code
218 Komar Maxim Patch for check_rfc2047_length
219 Andy Mell Fix for rejectlog regeneration bug
220 Marc Merlin Many suggestions and patches for callouts and
221 SMTP error message features
222 Andreas Metzler Patch for message_id_header_domain
223 Suggested patch for multi-config files in scripts bug
224 GnuTLS non-existent parameter file bug fix
225 Alex Miller Suggested readline() patch
226 Patch for LDAP_RES_SEARCH_REFERENCE handling
227 Support for the DrWeb content scanner
228 Arkadiusz Miskiewicz Patch to add timeout to reads in malware.c
229 Martin Mrazik Patches for problems in the test suite
230 Andreas Mueller Patch for logging uncompleted SMTP transactions
231 Pete Naylor Patch for LDAP TCP connect timeout setting
232 Alexander Newmann Diagnosing and patching obscure and subtle socket bug
233 Matthew Newton Patch for exicyclog log location problem
234 Marcin Owsiany Diagnosis of a tricky timeout failure bug
235 Andrey Panin Dovecot authenticator
236 Eric Parusel Patch for tls_remember_esmtp
237 Gaige Paulsen Amended Darwin config files
238 Richard Premdas Patch for PAM buglet
239 Jason Pyeron Suggested patch for ignoring Sendmail's -O option
240 Mark Rigby-Jones Patch for race condition during MBX locking
241 Robert Roselius Patch for OpenSSL workaround for bad clients
242 Larry Rosenman OpenUNIX config files
243 Alexander Sabourenkov Patch to add saslauthd daemon support
244 Patch for MySQL non-data queries
245 David Saez Suggested patch for $sender_hostname lookup if needed
246 Support for the clamd virus scanner
247 Suggested patch for increased number of ACL variables
248 Jonathan Sambrook Suggested patch for expanding uid and gid lists
249 Peter Savitch Diagnosis of FPE bug when statvfs() fails on spool
250 Harald Schueler Patch for dn_expand() failure on truncated data
251 Heiko Schlichting Diagnosis of intermittent daemon crash bug
252 Heiko Schlitterman Proposed patch for +pid
253 Stephan Schulz Patch for $host_data caching error
254 Lai Zit Seng Patch for radiusclient 0.4.9 interface bugs
255 Tony Sheen Log files with datestamped names and auto rollover
256 Martin Sluka Patch for exigrep to include non-message lines
257 Adam Stephens Suggested patch for IGNOREQUOTA in LMTP
258 Russell Stuart Diagnosis of obscure batch multiple delivery bug
259 Tamas Tevesz Patch for crypt16() support
260 Johan Thelmen Support for the F-Secure virus scanner
261 William Thompson Suggested patch for acl_smtp_helo
262 Suggested patch for nested ACL "drop" bug
263 Suggested patch for continuation lines in file ACLs
264 Patch for != support in DNS lists
265 Adam Thornton Patch for SMTP port expansion
266 Daniel Tiefnig Much helpful testing of the test suite
267 Rein Tollevik Patch to fix search cache missing tidyup
268 Stefan Traby Threaded Perl support
269 Samuli Tuomola OS files for QNX 6.2.0
270 Dave Turner Suggested patch for sender rewriting brokenness
271 Steve Usher Unbuffered I/O patch for Dovecot authentication
272 Carlos Villegas Suggested patch for "headers" in filter files
273 Matthias Waffenschmidt Patch for build-time Perl bug in configure script
274 Queue run abandon log message tidy up
275 Norihisa Washitake Suggested patch for RFC 2047 header decoding
276 Chris Webb Patch for support of an SPF lookup method.
277 Florian Weimer Patch for minor format string issue
278 Noticing the unwanted (and time-wasting) GnuTLS
279 RSA_EXPORT code, and supplying a patch to remove it
280 Joachim Wieland Patches for PostgreSQL socket support and other
281 PostgreSQL functionality
282 Patch for hosts_avoid_esmtp
283 Stephen Wilcox Patch for ignore_enotdir problem
284 Alain Williams Suggested patch for exicyclog options
285 PATCH for LDAP referrals option
286 David Woodhouse SQLite support proof of concept code
287 control=freeze/no_tell basic code
288 Erik ? patch to use select() instead of poll() on OS X