1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
|
EXIM ACKNOWLEDGEMENTS
This file is divided into two parts. The first is the original list maintained
by Exim's author, Philip Hazel, before he retired. That has two sub-lists of
contributors. The second main part is an attempt to bring this up-to-date,
using information from ChangeLog and git.
Names may well occur more than once.
There was a five year gap. It is unlikely that this file is complete.
If you contributed and are not listed, then *please* let us know. Even if you
don't much care, we want to acknowledge your help. A contribution isn't just
code, it includes reporting real bugs, helping with tracking problems down,
documentation fixes and more.
(Note that we have patches from folks in various countries and Latin1 is not
sufficient to handle all of their names acceptably.
This file should be in UTF-8).
-Phil Pennock, pp The Exim Maintainers.
============================8< cut here >8==============================
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 (by PH): 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<n> 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
****
============================8< cut here >8==============================
The Exim Maintainers Lists
==========================
We'll start with the Exim Maintainers, who are the people with commit
access to the master git repository and a couple more folk; then we'll list
known contributors since the lists above. Then we list the folks who work
to make Exim available on various operating systems as porters/packagers.
For the Maintainers, we may list primary focus area. All maintainers
will have contributed to work outside those areas. The maintainers'
contributions are initialled in ChangeLog. Changes from before maintainership
should be listed as a contributor.
For other contributors, we will attempt to track all contributions. Note that
the entries per-person were added initially by scanning back through the
ChangeLog and git, so are not in chronological order.
[ With names from all over the world, we need one sort order. I've arbitrarily
decreed it to be "normal British address-book sort order, but based on family
name rather than whichever comes last and using whatever seems sanest for
sort order of characters which do not collate onto an English character",
which should handle the majority of cases. If it is not adequate for some
situation, we'll resolve it then.
We leave out titles and honourifics, just names and handles. ]
Maintainers
-----------
Steve Campbell eximstats maintainer.
Mike Cardwell Exim webmaster.
Tony Finch Unbreaks lots of things. Ratelimit code.
Graeme Fowler
Michael Haardt Maintains Sieve support, works on DKIM.
Jeremy Harris
Philip Hazel Retired.
Originating architect and author of the Exim project.
John Jetmore
Tom Kistner DKIM. Content scanning. SPA.
Todd Lyons
Nigel Metheringham Transitioning out of Default Victim status.
Phil Pennock Release Coordinator. Breaks lots of things.
David Woodhouse Dynamic modules. Security.
Contributors
------------
Andrew Aitchison Spotted cmdline AV scanner regression with -bmalware
Simon Arlott Code for outbound SSL-on-connect
Patch implementing %M datestamping in log filenames
Patch restoring SIGPIPE handler for child_open_uid
Patch fixing NUL term/init of DKIM strings
Patch fixing dnsdb TXT record handling for DKIM
Patch speeding up DomainKeys signing
Dmitry Banschikov Path to check for LDAP TLS initialisation errors
René Berber Pointed out mistake in build instructions for QNX
Johannes Berg Maintained dynamically loadable module code out-of-tree
Patch expanding spamd_address if contains $
Jasen Betts Spotted lack of docs re bool{} on empty string
Wolfgang Breyha DCC integration; expandable spamd_address
Patch handling IPv6 addresses for SPF
Patch fixing DKIM verification when signature header
not prepended
Unbroke Cyrus SASL auth after incorrect SSF addition
David Brownlee Patch improving local interface IP address detection
Eugene Bujak Security patch fixing buffer overflow in string_format
Adam Ciarcinski Patch for TLS-enabled LDAP (alternative to ldaps)
Dennis Davis Patches fixing compilation in older compilers
Reported dynlookup framework build issues on Solaris
Serge Demonchaux Maintained dynamically loadable module code out-of-tree
Patch fixing sign/unsigned and UTF mismatches
Uwe Doering Patch fixing DKIM multiple signature generation
Maxim Dounin Patch portability of accept() len
Frank Elsner Fixed build reliability by exporting LC_ALL=C
Paul Fisher Diagnosed smtp_cmd_buffer_size affecting GSSAPI SASL
initial response, raised buffer size
Oliver Fleischmann Patches fixing compilation in older compilers
Julian Gilbey Helped improve userforward local_part_suffix docs
Richard Godbee Patch fixing usage fprintf
Steve Haslam Maintained dynamically loadable module code out-of-tree
Oliver Heesakkers Debugged dynamic lookup build issues for LOOKUP_foo.
Dmitry Isaikin Spotted short writes to local files
Patch for format string regression
Alun Jones Patch for NULL dereference in localhost_number
Brad Jorsch Patches fixing Resent-*: header handling
John Hall Updated PCRE to 7.4 (when in-tree)
Jeremy Harris Patch to log authentication information in reject log
Reported a ${extract error message typo
Jakob Hirsch Patch implementing freeze_signal on pipe transports
Suggested X-Envelope-Sender: for content-scanning
Patch fixing Base64 decode bugs
John Horne Patch adding $av_failed
Patch escaping log text after lookup expansion defer
Documentation fixes
Pointed out ClamAV ExtendedDetectionInfo compat issue
Andreas M. Kirchwitz Let /dev/null have normal permissions (4.73 fallout)
Roberto Lima Patch letting exicyclog rotate paniclog
Todd Lyons Patch handling TAB in MAIL arguments
Christof Meerwald Provided insight & suggested patch for GnuTLS update
Andreas Metzler Patch upgrading PolarSSL (DKIM)
Reported delivery logging problems (4.73 fallout)
Patch to build without WITH_CONTENT_SCAN
Patch fixing docs for max_rcpts
Kirill Miazine Multiple patches improving Dovecot authenticator
Robert Millan Wrote SPF Best Guess support
Marcin Mirosław Running static analysis tools for us, catching issues
Dirk Mueller Patch extending use of our printf() compiler checking
Andrey Oktyabrski Patch fixing wide character breakage in rfc2047 coding
Patch keeping SQL errors from being returned over SMTP
Phil Pennock Patch adding gnutls_compat_mode
Patches adding bool{} and later bool_lax{}
Patch for TLS library version reporting build/runtime
Patch letting EXPN work under TLS
More patches built up & applied when became maintainer
Mark Daniel Reidel Patch adding f-protd malware scanner support
Steven A Reisman Pointed out ${eval:x % 0} SIGFPE
Todd Rinaldo Patch fixing transport filter timeout
Dan Rosenberg Security notification & patch for hardlink attack on
sticky mail directory
Security notification of race condition in MBX locking
Jay Rouman Kept our copyright claim in the 21st century, not 11th
Heiko Schlittermann Patch making maildir_use_size_file expand
Patch fixing maildir quota file races
Patch fixing make parallelisation
Updates to eximstats, exiwhat
Janne Snabb TLS extensive debugging & failure root cause analysis
Added SPF record type support to dnsdb lookup
Jan Srzednicki Patch improving Dovecot authenticator
Reported crash in Dovecot authenticator
Martin Tscholak Reported issue with TLS anonymous ciphersuites
Stephen Usher Patch fixing use of Oracle's LDAP libraries on Solaris
Holger Weiß Patch leting ${run} return more data than OS pipe
buffer size
Moritz Wilhelmy Pointed out PCRE_PRERELEASE glitch
Alain Williams Patch supporting MySQL stored procedures
Mark Zealey Patch updating $message_linecount for maildir_tag
Patch improving spamd server selection
Packagers
---------
Mark Baker Debian, through Exim 3
Hilko Bengen Debian, Exim 4, current(*) maintenance
Tim Cutts Debian, initial packaging
Marc Haber Debian, Exim 4, current(*) maintenance
Steve Haslam Debian, Exim 4
Andreas Metzler Debian, current(*) maintenance
Christian Perrier Debian, current(*) maintenance
(*) Current as of our last information as of release: Exim 4.81
# vim: set fileencoding=utf-8 expandtab :
|