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