This file contains a list of people who are responsible for certain parts of
the HAProxy project and who have authority on them. This means that these
people have to be consulted before doing any change in the parts they maintain,
including when fixing bugs. These persons are allowed to reject any change on
the parts they maintain, and in parallel they try their best to ensure these
parts work well. Similarly, any change to these parts not being validated by
them will be rejected.

The best way to deal with such subsystems when sending patches is to send the
patches to the mailing list and to CC these people. When no maintainer is
listed for a subsystem, you can simply send your changes the usual way, and it
is also a sign that if you want to strengthen your skills on certain parts you
can become yourself a maintainer of the parts you care a lot about.

Please do not ask them to troubleshoot your bugs, it's not their job eventhough
they may occasionally help as time permits.

List of maintainers
-------------------

Lua
Maintainer: Thierry Fournier <tfournier@arpalert.org>
Files: src/hlua.c, include/*/hlua.h

Maps and pattern matching
Maintainer: Thierry Fournier <tfournier@arpalert.org>
Files: src/map.c, src/pattern.c, include/*/map.h, include/*/pattern.h

DNS
Maintainer: Baptiste Assmann <bedis9@gmail.com>
Files: src/dns.c, include/*/dns.h

SSL
Maintainer: Emeric Brun <ebrun@haproxy.com>
Files: src/ssl_sock.c, include/*/ssl_sock.h

Peers
Maintainer: Emeric Brun <ebrun@haproxy.com>
Files: src/peers.c, include/*/peers.h

Doc to HTML converter (dconv)
Maintainer: Cyril Bonté <cyril.bonte@free.fr>
Files: doc/*.txt
Note: ask Cyril before changing any doc's format or structure.

Health checks
Files: src/checks.c, include/*/checks.h
Maintainers: Simon Horman for external-check, Baptiste Assmann for tcp-check
Note: health checks are fragile and have been broken many times, so please
      consult the relevant maintainers if you want to change these specific
      parts.

Mailers
Maintainer: Simon Horman <horms@verge.net.au>
Files: src/mailers.c, include/*/mailers.h

DeviceAtlas device identification
Maintainer: David Carlier <dcarlier@afilias.info>
Files: src/da.c, include/*/da.h

51Degrees device identification
Maintainer: Ben Shillito <ben@51degrees.com>
Files: src/51d.c

Cache
Maintainer: William Lallemand <wlallemand@haproxy.com>
Files: src/cache.c, include/*/cache.h

Master-worker
Maintainer: William Lallemand <wlallemand@haproxy.com>
Note: Please CC William when touching src/haproxy.c and contrib/systemd

SPOE
Maintainer: Christopher Faulet <cfaulet@haproxy.com>
Files: src/flt_spoe.c, include/*/spoe.h, contrib/spoa_example, doc/SPOE.txt

Multi-threading
Maintainer: Christopher Faulet <cfaulet@haproxy.com>
Maintainer: Emeric Brun <ebrun@haproxy.com>
Files: src/hathreads.c, include/*/hathreads.h
Note: every change around the locking or synchronization point will require
      approval from one of these maintainers. Problems which only appear when
      nbthread is greater than 1 and which disappear otherwise are also
      relevant.
