Close notifier socket before re-exec of daemon. Bug 2539
[exim.git] / src / ACKNOWLEDGMENTS
3This file is divided into two parts. The first is the original list maintained
4by Exim's author, Philip Hazel, before he retired. That has two sub-lists of
5contributors. The second main part is an attempt to bring this up-to-date,
6using information from ChangeLog and git.
8Names may well occur more than once.
10There was a five year gap. It is unlikely that this file is complete.
11If you contributed and are not listed, then *please* let us know. Even if you
12don't much care, we want to acknowledge your help. A contribution isn't just
13code, it includes reporting real bugs, helping with tracking problems down,
14documentation fixes and more.
16(Note that we have patches from folks in various countries and Latin1 is not
17 sufficient to handle all of their names acceptably.
18 This file should be in UTF-8).
20-Phil Pennock, pp The Exim Maintainers.
22============================8< cut here >8==============================
24I have not been very good at keeping a proper record of all the people who have
25sent in patches and other contributions to Exim. I am going to try to do better
26in the future by keeping a record in this file. First, I'll put a list of all
27those I can recover from the past; then I'll create a new list to which I'll
28add new contributors in future. Some regular contributors may appear in both.
30I'm going to record people who send in actual patches or who help in detailed
31ways. I'm not going to list people who just make a suggestion or report a
32bug. I hope that is a reasonable approach.
34If you should be on one of these lists and are not, please accept my apologies,
35and let me know! Any omissions are solely due to my incompetence. In
36particular, the "past" list has certainly lost the names of people who sent in
37relatively small patches.
39Philip Hazel
41Lists created: 20 November 2002
f45100a3 42Last updated (by PH): 22 August 2007
53aff89f 43
46Alan Barratt First code for relay checking
47Malcolm Beattie Interface to embedded Perl
48Philip Blundell First support for IPv6
49Piete Brooks Running the first live version
50 Implementing multiple-system compilation
51Matthew Byng-Maddick First code for dsearch lookup
52Steve Campbell Extensions to eximstats
53 Steve is now the maintainer of eximstats
54Brian Candler LDAP support enhancement
55Petr Cech PostgreSQL interface
56Steve Clarke Best way to find the load average in Linux
57Energis Ltd Resources for the site
58Yann Golanski Numerical hash function
59Jason Gunthorpe IPv6 support (Linux)
60Michael Haardt LDAP support enhancement
61Steve Haslam First code for TLS
cf00dad6 62Kjetil Torgrim Homme Suggested patch for macro extensions
63John Horne Proof-reading documentation (repeatedly)
64Pierre Humblet Cygwin support
65Paul Kelly MySQL interface
66 First code for Oracle interface
67Ian Kirk Radius support
68Stuart Levy Replacement for broken inet_ntoa() on IRIX
69Stuart Lynne First code for LDAP
70Nigel Metheringham Setting up the website and mailing list
71 Managing the website and mailing list
72 Interface to Berkeley DB
73 Support for cdb
74 Support for maildir
75Barry Pederson LDAP support enhancement
76Marc Prud'hommeaux SPA client authentication
77Alexander Sabourenkov pwcheck daemon support
78Peter Savitch LDAP support enhancement
79Robert Wal whoson lookup
80Joachim Wieland Researching strace and stolen subprocesses in Linux
85Alexander Alekseev Use of function attribute checks in gcc
86Justo Alonso Suggested patch for maildir++ maildirsize file support
87Anton Altaparmakov Patches to get cyrus_sasl fully working
93655c46 88Simon Arlott Patch for $dnslist_matched.
53aff89f 89Claus Assmann Example code for OpenSSL CRL support
4dd78911 90Warren Baker Experimental Redis lookup.
21eb6e72 91Robert Bannocks Patch for LDAP reference problem on Solaris
92Ian Bell Analysis of a bug and an infelicity in clock tick code
93 Patch for ${quote_local_part
94Peter Benie A number mistakes found by analysing the code
4730f942 95Johannes Berg Suggested patch for authentication client $auth<n> support
45b91596 96 Suggested patch for acl_not_smtp_start
97Matt Bernstein LMTP over socket
98 Suggested patch for dnslists '&' feature
99Mike Bethune Help with debugging an elusive ALRM signal bug
100Ard Biesheuvel Lookup code for accessing an Interbase database
101Richard Birkett Fix for empty -f address crash
90fc3069 102Dean Brooks Fix for ratelimit per_rcpt in acl_not_smtp.
103Nick Burrett Patch for CONFIGURE_FILE_USE_EUID in exicyclog
104Matthew Byng-Maddick Patch for qualify_domain in redirect router
105 Patch for ignore_target_hosts in ipliteral router
1a46a8c5 106 The cyrus_sasl authenticator
107Steve Campbell eximstats extensions and continued maintenance
108Brian Candler Use h_errno for gethostbyname()
109 Suggested patch for .ifdef etc
110 Several minor fixes and suggestions
7766a4f0 111Pete Carah Patch for change to radiusclient API
112Oliver Cook Suggested patch for exigrep & rejected messages
113 Patch to add sender/host info to local_scan() rejects
2ac0e484 114 Suggested patch to add queue time to "Completed"
8f128379 115Ted Cooper Suggested patch for NOTQUIT ACL
116Jennifer Corley Designing the new Exim logo
117John Dalbec Patch for quota_warn_threshold bug
118Vivek Dasmohapatra Suggested patch for CRL support
48da4259 119Dennis Davis Suggested server_condition for all authenticators
120Andrew Doran Patch for NetBSD configuration files
121 Patch for ifreq alignment and size problems
90af77f4 122Michael Deutschmann Suggested patch for treating bind() failure like connect()
53aff89f 123 Patch for $sender_data and $recipient_data
1a46a8c5 124 Suggested patch for null address match lookup bug
1c41c9cc 125 Suggested patch for verify = not_blind
d6f6e0dc 126 Patch for alternate TXT lookup in DNS lists
127Oliver Eikemeier Patch to skip Received: if expansion is empty
128 Patch for "eqi"
129Nico Erfurth Fix for bug in ${readfile}
130 Patch for router_home_directory
131 Patch for ACL crash (try to test sender after ETRN)
132 Suggested patch for lookup search bug
133 Suggested patch for advertise_condition
134 Patch for missing HELO in checkaccess
135 Patch for raw headers
136 Patch for lsearch lookups tidying
137 Patch for .include_if_exists
138 Patch for partial- not recognized in host list
139 Lots more patches for bug fixes, enhancements, and
140 code refactorings - too many to record details!
141Jochen Erwied Fix for BDB 4.1 API
142Stefan Esser Fix for DNS RR parsing bug
143Peter Evans Suggested using modification time of "new" for time
144 of "mailbox last read" for maildir
c1114884 145Andrew Findlay Patch to close writing end of ${readsocket
146Michael Fischer
147 v. Mollard Suggested patch for exigrep -t option
148Kevin Fleming Callout cache code
149 Patch for authenticated_sender
150Tony Finch Expansion extensions
151 Timezone addition to log timestamps
152 A number of useful code criticisms
153 Timezone patch for exiwhat
154 Patch for more daemon exiwhat information
155 Patch for -dd
156 Patch for mxh lookup type in dnsdb
157 Patch for defer_foo in dndsb
158 Patch for ${dlfunc
2e0c1448 159 Patch for $message_linecount
4aac9b49 160 ... and many more
8f240103 161Graeme Fowler Suggested patch for /noupdate with ratelimit
cfe75fc3 162Ian Freislich Patch for spamd timeout problem
163Giuliano Gavazzi Patches for OSX compilation
164Dominic Germain Patch for exiqgrep MacOS X bug
165Oliver Gorwits $load_average patch
166 Patch for additional syslog facilities
167James Grinter Suggested patches for header manipulation functions
168 and recipient remove for local_scan() use
169Lukasz Grochal Patch for saslauthd buglet
170Pavel Gulchouck Diagnosis of return_path_on_delivery crash
171Michael Haardt Tidies to make the code stricter
172 Refactoring to allow for other filter types
173 Suggested patch for appendfile "folder" extension
174 Module to support Sieve (RFC 3028) filters and
175 continued maintenance of same
176 Patch for faster sort algorithm in queue.c
1a46a8c5 177 Patch for LDAP timeout handling
6af56900 178 ... and several more
179Thomas Hager Patch for saslauthd crash bug
180Richard Hall Fix for file descriptor leak in redirection
237b2cf2 181 Fix for exiqsumm output corner case
8a10f5a4 182Jori Hamalainen Patch to add features to exiqsumm
75b1493f 183 Patch to speed up exigrep
184Steve Haslam Lots of stuff, including
185 HMAC computations
186 Better error messages for BDB
187Sheldon Hearn Suggested patch for smtp_accept_max_nonmail_hosts
58c01c94 188 Fix for compile error with OpenSSL 0.9.8e
ebcb507f 189Bryan Henderson Patch to use RM_COMMAND everywhere during building
5591031b 190Jakob Hirsch Patch for % operator
38a0a95f 191 Patch for arbitrarily named ACL variables
4608d683 192Magnus Holmgren Patch for filter_prepend_home
75fa1910 193 Patch for "h" flag in Domain Keys
41c7c167 194 Patch for $sending_ip_address/$sending_port
9c57cbc0 195 Patch for ${rfc2047d:
0ce9abe6 196 ... and several more
9c57cbc0 197 Lots of other maintenance support
198Kjetil Torgrim Homme Patch for require_files problem on NFS file systems
199Tom Hughes Suggested patch for $n bug in pipe command from filter
200Pierre Humblet Continued Cygwin support
201Peter Ilieve Suggested patch for lookup search bug
202John Jetmore Writing and maintaining the 'exipick' utility
8dce1a6f 203 Much helpful testing of the test suite & elsewhere
0ef732d9 204 Patch for -Mset
56f5d9bd 205 Patch for TLS testing with -bh/-bhc/-bs
b2d5182b 206 Patch for exigrep -v functionality
7fe1560f 207Bob Johannessen Patch for Sieve envelope tests bug
ebb6e6d5 208 Patch for negative uid/gid bug
af561417 209Brad Jorsch Patch for bitwise logical operators
4e88a19f 210 Patch for using "message" on acceptance
431b7361 211 Patch to add == and =& to dnslists
53aff89f 212Christian Kellner Patch for LDAP dereferencing
b4a9bda2 213Alex Kiernan Patches for libradius
53aff89f 214 Diagnosis of milliwait clock-backwards bug
1f922db1 215 Patch for BDB 4.3 API change
53aff89f 216Tom Kistner SPA server code
1a46a8c5 217 Writing and maintaining the content scanning
4964e932 218 extension (exiscan)
91576cec 219Jürgen Kreileder Fix for cyrus_sasl advertisement problem
53aff89f 220Friso Kuipers Patch for GDBM problem
d515a917 221Matthias Lederhofer Diagnosing and patching obscure and subtle socket bug
222Chris Liddiard Fix for bug in exiqsumm
223Chris Lightfoot Patch for -restore-times in exim_lock
224Edgar Lovecraft Patch for ${str2b64:
225Torsten Luettgert Suggested patch for proper integer overflow detection
1a7b746d 226Todd Lyons Patch to add DMARC support using OpenDMARC libs/tools
b1206957 227David Madole Patch for SPA forced expansion failure bug
228Lars Mainka Patch for OpenSSL crl collections
229Andrey Malyshev Patch for $address_data after redirection bug
230Lionel Elie Mamane Patch for IPv4/IPv6 listen() problem on USAGI Linux
231 Patch for recognizing IPv6 "scoped addresses"
232 Patch for callout caching bug
233Everton da Silva Marques Suggested patch for SRV handling
234 Suggested patch for SRV/MX lookup retry option
235Nikos Mavrogiannopoulos GnuTLS proof of concept code
236 Update to RSA and D-H parameter caching code
a0d6ba8a 237Komar Maxim Patch for check_rfc2047_length
238Andy Mell Fix for rejectlog regeneration bug
239Marc Merlin Many suggestions and patches for callouts and
240 SMTP error message features
241Andreas Metzler Patch for message_id_header_domain
242 Suggested patch for multi-config files in scripts bug
182ad5cf 243 GnuTLS non-existent parameter file bug fix
1a46a8c5 244Alex Miller Suggested readline() patch
d38f8232 245 Patch for LDAP_RES_SEARCH_REFERENCE handling
1a46a8c5 246 Support for the DrWeb content scanner
a9ccd69a 247Arkadiusz Miskiewicz Patch to add timeout to reads in malware.c
1b781f48 248Martin Mrazik Patches for problems in the test suite
249Andreas Mueller Patch for logging uncompleted SMTP transactions
250Pete Naylor Patch for LDAP TCP connect timeout setting
d515a917 251Alexander Newmann Diagnosing and patching obscure and subtle socket bug
4aac9b49 252Matthew Newton Patch for exicyclog log location problem
53aff89f 253Marcin Owsiany Diagnosis of a tricky timeout failure bug
14aa5a05 254Andrey Panin Dovecot authenticator
255Eric Parusel Patch for tls_remember_esmtp
256Gaige Paulsen Amended Darwin config files
257Richard Premdas Patch for PAM buglet
258Jason Pyeron Suggested patch for ignoring Sendmail's -O option
1a7b746d 259Axel Rau Patch for Transport Post Delivery sql logging
260Mark Rigby-Jones Patch for race condition during MBX locking
261Robert Roselius Patch for OpenSSL workaround for bad clients
262Larry Rosenman OpenUNIX config files
263Alexander Sabourenkov Patch to add saslauthd daemon support
264 Patch for MySQL non-data queries
265David Saez Suggested patch for $sender_hostname lookup if needed
3d2a6e4d 266 Support for the clamd virus scanner
47ca6d6c 267 Suggested patch for increased number of ACL variables
0925ede6 268Jonathan Sambrook Suggested patch for expanding uid and gid lists
269Peter Savitch Diagnosis of FPE bug when statvfs() fails on spool
270Harald Schueler Patch for dn_expand() failure on truncated data
271Heiko Schlichting Diagnosis of intermittent daemon crash bug
f3f065bb 272Heiko Schlitterman Proposed patch for +pid
60dc5e56 273Stephan Schulz Patch for $host_data caching error
750af86e 274Lai Zit Seng Patch for radiusclient 0.4.9 interface bugs
275Tony Sheen Log files with datestamped names and auto rollover
276Martin Sluka Patch for exigrep to include non-message lines
f1513293 277Adam Stephens Suggested patch for IGNOREQUOTA in LMTP
7816e254 278Russell Stuart Diagnosis of obscure batch multiple delivery bug
53aff89f 279Tamas Tevesz Patch for crypt16() support
4964e932 280Johan Thelmen Support for the F-Secure virus scanner
281William Thompson Suggested patch for acl_smtp_helo
282 Suggested patch for nested ACL "drop" bug
283 Suggested patch for continuation lines in file ACLs
284 Patch for != support in DNS lists
285Adam Thornton Patch for SMTP port expansion
1ffd9c6d 286Daniel Tiefnig Much helpful testing of the test suite
eb2c0248 287Rein Tollevik Patch to fix search cache missing tidyup
288Stefan Traby Threaded Perl support
289Samuli Tuomola OS files for QNX 6.2.0
290Dave Turner Suggested patch for sender rewriting brokenness
57c2c631 291Steve Usher Unbuffered I/O patch for Dovecot authentication
292Carlos Villegas Suggested patch for "headers" in filter files
293Matthias Waffenschmidt Patch for build-time Perl bug in configure script
3eef829e 294 Queue run abandon log message tidy up
53aff89f 295Norihisa Washitake Suggested patch for RFC 2047 header decoding
c4135ddc 296Chris Webb Patch for support of an SPF lookup method.
53aff89f 297Florian Weimer Patch for minor format string issue
298 Noticing the unwanted (and time-wasting) GnuTLS
299 RSA_EXPORT code, and supplying a patch to remove it
300Joachim Wieland Patches for PostgreSQL socket support and other
301 PostgreSQL functionality
302 Patch for hosts_avoid_esmtp
303Stephen Wilcox Patch for ignore_enotdir problem
3d240ff7 304Alain Williams Suggested patch for exicyclog options
6ec97b1b 305 PATCH for LDAP referrals option
13b685f9 306David Woodhouse SQLite support proof of concept code
6a3f1455 307 control=freeze/no_tell basic code
25257489 308Erik ? patch to use select() instead of poll() on OS X
53aff89f 309****
311============================8< cut here >8==============================
313The Exim Maintainers Lists
316We'll start with the Exim Maintainers, who are the people with commit
317access to the master git repository and a couple more folk; then we'll list
318known contributors since the lists above. Then we list the folks who work
319to make Exim available on various operating systems as porters/packagers.
321For the Maintainers, we may list primary focus area. All maintainers
322will have contributed to work outside those areas. The maintainers'
323contributions are initialled in ChangeLog. Changes from before maintainership
324should be listed as a contributor.
326For other contributors, we will attempt to track all contributions. Note that
327the entries per-person were added initially by scanning back through the
328ChangeLog and git, so are not in chronological order.
330[ With names from all over the world, we need one sort order. I've arbitrarily
331 decreed it to be "normal British address-book sort order, but based on family
332 name rather than whichever comes last and using whatever seems sanest for
333 sort order of characters which do not collate onto an English character",
334 which should handle the majority of cases. If it is not adequate for some
335 situation, we'll resolve it then.
336 We leave out titles and honourifics, just names and handles. ]
341Steve Campbell eximstats maintainer.
342Mike Cardwell Exim webmaster.
343Tony Finch Unbreaks lots of things. Ratelimit code.
344Graeme Fowler
345Michael Haardt Maintains Sieve support, works on DKIM.
346Jeremy Harris
347Philip Hazel Retired.
a9856e87 348 Originating architect and author of the Exim project.
349John Jetmore
350Tom Kistner DKIM. Content scanning. SPA.
351Todd Lyons
352Nigel Metheringham Transitioning out of Default Victim status.
361270af 353Phil Pennock Mostly idle; some security bits still.
354David Woodhouse Dynamic modules. Security.
359Andrew Aitchison Spotted cmdline AV scanner regression with -bmalware
360Simon Arlott Code for outbound SSL-on-connect
361 Patch implementing %M datestamping in log filenames
362 Patch restoring SIGPIPE handler for child_open_uid
363 Patch fixing NUL term/init of DKIM strings
364 Patch fixing dnsdb TXT record handling for DKIM
365 Patch speeding up DomainKeys signing
f4c1088b 366Warren Baker Found crash with MIME ACLs in non-SMTP local injection
367Dmitry Banschikov Path to check for LDAP TLS initialisation errors
368René Berber Pointed out mistake in build instructions for QNX
369Johannes Berg Maintained dynamically loadable module code out-of-tree
370 Patch expanding spamd_address if contains $
371Jasen Betts Spotted lack of docs re bool{} on empty string
372 and typo fixes
373Wolfgang Breyha DCC integration; expandable spamd_address
374 Patch handling IPv6 addresses for SPF
375 Patch fixing DKIM verification when signature header
376 not prepended
377 Unbroke Cyrus SASL auth after incorrect SSF addition
a574b1da 378 Logging of 8bitmime reception
379David Brownlee Patch improving local interface IP address detection
380Eugene Bujak Security patch fixing buffer overflow in string_format
381Adam Ciarcinski Patch for TLS-enabled LDAP (alternative to ldaps)
382Dennis Davis Patches fixing compilation in older compilers
383 Reported dynlookup framework build issues on Solaris
384Serge Demonchaux Maintained dynamically loadable module code out-of-tree
385 Patch fixing sign/unsigned and UTF mismatches
386Uwe Doering Patch fixing DKIM multiple signature generation
387Maxim Dounin Patch portability of accept() len
388Frank Elsner Fixed build reliability by exporting LC_ALL=C
389Paul Fisher Diagnosed smtp_cmd_buffer_size affecting GSSAPI SASL
390 initial response, raised buffer size
8b260705 391 Patch adjusting connection_max_messages wait-DB usage
392Oliver Fleischmann Patches fixing compilation in older compilers
393Julian Gilbey Helped improve userforward local_part_suffix docs
394Richard Godbee Patch fixing usage fprintf
395Steve Haslam Maintained dynamically loadable module code out-of-tree
396Oliver Heesakkers Debugged dynamic lookup build issues for LOOKUP_foo.
397Dmitry Isaikin Spotted short writes to local files
398 Patch for format string regression
399Alun Jones Patch for NULL dereference in localhost_number
400Brad Jorsch Patches fixing Resent-*: header handling
401John Hall Updated PCRE to 7.4 (when in-tree)
402Jeremy Harris Patch to log authentication information in reject log
403 Reported a ${extract error message typo
404Jakob Hirsch Patch implementing freeze_signal on pipe transports
405 Suggested X-Envelope-Sender: for content-scanning
406 Patch fixing Base64 decode bugs
407John Horne Patch adding $av_failed
408 Patch escaping log text after lookup expansion defer
409 Documentation fixes
410 Pointed out ClamAV ExtendedDetectionInfo compat issue
a543079f 411Regid Ichira Documentation fixes
91576cec 412Andreas M. Kirchwitz Let /dev/null have normal permissions (4.73 fallout)
700d22f3 413J. Nick Koston Patch adding force_command pipe transport option
414Roberto Lima Patch letting exicyclog rotate paniclog
415Todd Lyons Patch handling TAB in MAIL arguments
1f6d19d2 416Christof Meerwald Provided insight & suggested patch for GnuTLS update
417Andreas Metzler Patch upgrading PolarSSL (DKIM)
418 Reported delivery logging problems (4.73 fallout)
419 Patch to build without WITH_CONTENT_SCAN
d7148a07 420 Patches fixing docs for max_rcpts, relay hosts/domains
a543079f 421 Documentation fixes
422Kirill Miazine Multiple patches improving Dovecot authenticator
423Robert Millan Wrote SPF Best Guess support
424Marcin Mirosław Running static analysis tools for us, catching issues
425Dirk Mueller Patch extending use of our printf() compiler checking
426Andrey Oktyabrski Patch fixing wide character breakage in rfc2047 coding
427 Patch keeping SQL errors from being returned over SMTP
428Phil Pennock Patch adding gnutls_compat_mode
429 Patches adding bool{} and later bool_lax{}
430 Patch for TLS library version reporting build/runtime
431 Patch letting EXPN work under TLS
432 More patches built up & applied when became maintainer
433Mark Daniel Reidel Patch adding f-protd malware scanner support
434Steven A Reisman Pointed out ${eval:x % 0} SIGFPE
435Todd Rinaldo Patch fixing transport filter timeout
436Dan Rosenberg Security notification & patch for hardlink attack on
437 sticky mail directory
438 Security notification of race condition in MBX locking
439Jay Rouman Kept our copyright claim in the 21st century, not 11th
1dec4240 440 Drew attention to SSL docs and epoch issue on 32bit
441Heiko Schlittermann Patch making maildir_use_size_file expand
442 Patch fixing maildir quota file races
443 Patch fixing make parallelisation
444 Updates to eximstats, exiwhat
445Janne Snabb TLS extensive debugging & failure root cause analysis
446 Added SPF record type support to dnsdb lookup
447Jan Srzednicki Patch improving Dovecot authenticator
448 Reported crash in Dovecot authenticator
6f5a440a 449Samuel Thibault Patch fixing IPv6 interface address detection on Hurd
450Martin Tscholak Reported issue with TLS anonymous ciphersuites
451Stephen Usher Patch fixing use of Oracle's LDAP libraries on Solaris
34e3241d 452Jasper Wallace Patch for LibreSSL compatibility
453Holger Weiß Patch leting ${run} return more data than OS pipe
454 buffer size
455Moritz Wilhelmy Pointed out PCRE_PRERELEASE glitch
456Alain Williams Patch supporting MySQL stored procedures
457Mark Zealey Patch updating $message_linecount for maildir_tag
458 Patch improving spamd server selection
b10e4ec2 459 Patch to allow multiple TCP clamd servers
464Mark Baker Debian, through Exim 3
465Hilko Bengen Debian, Exim 4, current(*) maintenance
466Tim Cutts Debian, initial packaging
467Marc Haber Debian, Exim 4, current(*) maintenance
468Steve Haslam Debian, Exim 4
469Andreas Metzler Debian, current(*) maintenance
470Christian Perrier Debian, current(*) maintenance
2c422e6f 472(*) Current as of our last information as of release: Exim 4.82
91576cec 475# vim: set fileencoding=utf-8 expandtab :