Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/gnu/dist/postfix/src Import Postfix-2.2.5.



details:   https://anonhg.NetBSD.org/src/rev/731dfd4a49ce
branches:  trunk
changeset: 583660:731dfd4a49ce
user:      rpaulo <rpaulo%NetBSD.org@localhost>
date:      Thu Aug 18 21:07:25 2005 +0000

description:
Import Postfix-2.2.5.

diffstat:

 gnu/dist/postfix/src/anvil/Makefile.in                 |    74 +
 gnu/dist/postfix/src/anvil/anvil.c                     |   872 +++++++++++++
 gnu/dist/postfix/src/discard/Makefile.in               |    69 +
 gnu/dist/postfix/src/discard/discard.c                 |   229 +++
 gnu/dist/postfix/src/local/forward.c                   |    30 +-
 gnu/dist/postfix/src/local/local.c                     |   166 +-
 gnu/dist/postfix/src/local/local.h                     |     5 +-
 gnu/dist/postfix/src/local/local_expand.c              |    32 +-
 gnu/dist/postfix/src/local/maildir.c                   |    21 +-
 gnu/dist/postfix/src/master/Makefile.in                |    15 +-
 gnu/dist/postfix/src/master/mail_server.h              |     4 +-
 gnu/dist/postfix/src/master/master.c                   |    84 +-
 gnu/dist/postfix/src/master/master_proto.c             |     8 +-
 gnu/dist/postfix/src/master/master_proto.h             |     8 +-
 gnu/dist/postfix/src/master/master_spawn.c             |    15 +-
 gnu/dist/postfix/src/master/master_status.c            |    13 +-
 gnu/dist/postfix/src/master/master_vars.c              |    17 +-
 gnu/dist/postfix/src/master/master_wakeup.c            |     8 +-
 gnu/dist/postfix/src/master/multi_server.c             |   106 +-
 gnu/dist/postfix/src/master/single_server.c            |    74 +-
 gnu/dist/postfix/src/master/trigger_server.c           |    84 +-
 gnu/dist/postfix/src/oqmgr/Makefile.in                 |    10 +-
 gnu/dist/postfix/src/oqmgr/qmgr.c                      |    43 +-
 gnu/dist/postfix/src/oqmgr/qmgr.h                      |     8 +-
 gnu/dist/postfix/src/oqmgr/qmgr_deliver.c              |     7 +-
 gnu/dist/postfix/src/oqmgr/qmgr_entry.c                |    62 +-
 gnu/dist/postfix/src/oqmgr/qmgr_message.c              |    61 +-
 gnu/dist/postfix/src/oqmgr/qmgr_queue.c                |     5 +-
 gnu/dist/postfix/src/pickup/Makefile.in                |     6 +-
 gnu/dist/postfix/src/pickup/pickup.c                   |    34 +-
 gnu/dist/postfix/src/pipe/Makefile.in                  |     6 +-
 gnu/dist/postfix/src/pipe/pipe.c                       |   124 +-
 gnu/dist/postfix/src/postalias/Makefile.in             |    14 +-
 gnu/dist/postfix/src/postalias/map-uABC1.ref           |     1 +
 gnu/dist/postfix/src/postalias/map-uABC2.ref           |     1 +
 gnu/dist/postfix/src/postalias/postalias.c             |   121 +-
 gnu/dist/postfix/src/postcat/Makefile.in               |     6 +-
 gnu/dist/postfix/src/postcat/postcat.c                 |    42 +-
 gnu/dist/postfix/src/postconf/Makefile.in              |     7 +-
 gnu/dist/postfix/src/postconf/postconf.c               |    43 +-
 gnu/dist/postfix/src/postdrop/Makefile.in              |     7 +-
 gnu/dist/postfix/src/postdrop/postdrop.c               |   102 +-
 gnu/dist/postfix/src/postfix/Makefile.in               |     6 +-
 gnu/dist/postfix/src/postfix/postfix.c                 |    53 +-
 gnu/dist/postfix/src/postkick/Makefile.in              |     6 +-
 gnu/dist/postfix/src/postkick/postkick.c               |     8 +-
 gnu/dist/postfix/src/postlock/Makefile.in              |     6 +-
 gnu/dist/postfix/src/postlock/postlock.c               |    14 +-
 gnu/dist/postfix/src/postlog/Makefile.in               |     6 +-
 gnu/dist/postfix/src/postlog/postlog.c                 |    10 +-
 gnu/dist/postfix/src/postmap/Makefile.in               |    14 +-
 gnu/dist/postfix/src/postmap/map-uABC1.ref             |     1 +
 gnu/dist/postfix/src/postmap/map-uABC2.ref             |     1 +
 gnu/dist/postfix/src/postmap/postmap.c                 |   119 +-
 gnu/dist/postfix/src/postqueue/Makefile.in             |     8 +-
 gnu/dist/postfix/src/postqueue/postqueue.c             |    71 +-
 gnu/dist/postfix/src/postsuper/Makefile.in             |     6 +-
 gnu/dist/postfix/src/postsuper/postsuper.c             |    71 +-
 gnu/dist/postfix/src/proxymap/Makefile.in              |     6 +-
 gnu/dist/postfix/src/proxymap/proxymap.c               |    42 +-
 gnu/dist/postfix/src/qmgr/Makefile.in                  |    10 +-
 gnu/dist/postfix/src/qmgr/qmgr.c                       |    41 +-
 gnu/dist/postfix/src/qmgr/qmgr.h                       |     8 +-
 gnu/dist/postfix/src/qmgr/qmgr_deliver.c               |     7 +-
 gnu/dist/postfix/src/qmgr/qmgr_entry.c                 |    62 +-
 gnu/dist/postfix/src/qmgr/qmgr_queue.c                 |     5 +-
 gnu/dist/postfix/src/qmqpd/Makefile.in                 |    17 +-
 gnu/dist/postfix/src/qmqpd/qmqpd.c                     |    22 +-
 gnu/dist/postfix/src/qmqpd/qmqpd.h                     |     3 +-
 gnu/dist/postfix/src/qmqpd/qmqpd_peer.c                |   182 +-
 gnu/dist/postfix/src/scache/Makefile.in                |    72 +
 gnu/dist/postfix/src/scache/scache.c                   |   544 ++++++++
 gnu/dist/postfix/src/sendmail/Makefile.in              |     7 +-
 gnu/dist/postfix/src/sendmail/sendmail.c               |   136 +-
 gnu/dist/postfix/src/showq/Makefile.in                 |     6 +-
 gnu/dist/postfix/src/showq/showq.c                     |    21 +-
 gnu/dist/postfix/src/smtp/Makefile.in                  |   231 +++-
 gnu/dist/postfix/src/smtp/map11_map                    |     3 +
 gnu/dist/postfix/src/smtp/smtp.c                       |   306 ++++-
 gnu/dist/postfix/src/smtp/smtp.h                       |   181 ++-
 gnu/dist/postfix/src/smtp/smtp_addr.h                  |     4 +-
 gnu/dist/postfix/src/smtp/smtp_chat.c                  |   106 +-
 gnu/dist/postfix/src/smtp/smtp_map11.c                 |   171 ++
 gnu/dist/postfix/src/smtp/smtp_map11.ref               |    66 +
 gnu/dist/postfix/src/smtp/smtp_proto.c                 |  1033 ++++++++++++---
 gnu/dist/postfix/src/smtp/smtp_reuse.c                 |   266 ++++
 gnu/dist/postfix/src/smtp/smtp_reuse.h                 |    34 +
 gnu/dist/postfix/src/smtp/smtp_sasl.h                  |    18 +-
 gnu/dist/postfix/src/smtp/smtp_sasl_glue.c             |   247 ++-
 gnu/dist/postfix/src/smtp/smtp_sasl_proto.c            |   101 +-
 gnu/dist/postfix/src/smtp/smtp_session.c               |   420 ++++++-
 gnu/dist/postfix/src/smtp/smtp_state.c                 |    50 +-
 gnu/dist/postfix/src/smtp/smtp_trouble.c               |    44 +-
 gnu/dist/postfix/src/smtpd/Makefile.in                 |    48 +-
 gnu/dist/postfix/src/smtpd/smtpd.h                     |    56 +-
 gnu/dist/postfix/src/smtpd/smtpd_backup.in             |    20 +
 gnu/dist/postfix/src/smtpd/smtpd_backup.ref            |    34 +
 gnu/dist/postfix/src/smtpd/smtpd_check.h               |     4 +-
 gnu/dist/postfix/src/smtpd/smtpd_check.in              |     4 +
 gnu/dist/postfix/src/smtpd/smtpd_check.ref             |    10 +
 gnu/dist/postfix/src/smtpd/smtpd_exp.ref               |     1 -
 gnu/dist/postfix/src/smtpd/smtpd_proxy.c               |    33 +-
 gnu/dist/postfix/src/smtpd/smtpd_sasl_glue.c           |     5 +-
 gnu/dist/postfix/src/smtpd/smtpd_sasl_proto.c          |    16 +-
 gnu/dist/postfix/src/smtpd/smtpd_state.c               |    27 +-
 gnu/dist/postfix/src/smtpd/smtpd_xforward.c            |     7 +-
 gnu/dist/postfix/src/smtpstone/Makefile.in             |    19 +-
 gnu/dist/postfix/src/smtpstone/qmqp-sink.c             |    29 +-
 gnu/dist/postfix/src/smtpstone/qmqp-source.c           |    60 +-
 gnu/dist/postfix/src/smtpstone/smtp-sink.c             |    43 +-
 gnu/dist/postfix/src/smtpstone/smtp-source.c           |    72 +-
 gnu/dist/postfix/src/spawn/Makefile.in                 |     6 +-
 gnu/dist/postfix/src/spawn/spawn.c                     |    20 +-
 gnu/dist/postfix/src/tls/Makefile.in                   |   235 +++
 gnu/dist/postfix/src/tls/tls.h                         |   229 +++
 gnu/dist/postfix/src/tls/tls_bio_ops.c                 |   338 +++++
 gnu/dist/postfix/src/tls/tls_certkey.c                 |   162 ++
 gnu/dist/postfix/src/tls/tls_client.c                  |   678 ++++++++++
 gnu/dist/postfix/src/tls/tls_dh.c                      |   235 +++
 gnu/dist/postfix/src/tls/tls_mgr.c                     |   410 ++++++
 gnu/dist/postfix/src/tls/tls_mgr.h                     |    74 +
 gnu/dist/postfix/src/tls/tls_misc.c                    |   232 +++
 gnu/dist/postfix/src/tls/tls_prng.h                    |    52 +
 gnu/dist/postfix/src/tls/tls_prng_dev.c                |   157 ++
 gnu/dist/postfix/src/tls/tls_prng_egd.c                |   168 ++
 gnu/dist/postfix/src/tls/tls_prng_exch.c               |   144 ++
 gnu/dist/postfix/src/tls/tls_prng_file.c               |   157 ++
 gnu/dist/postfix/src/tls/tls_rsa.c                     |    78 +
 gnu/dist/postfix/src/tls/tls_scache.c                  |   630 +++++++++
 gnu/dist/postfix/src/tls/tls_scache.h                  |    69 +
 gnu/dist/postfix/src/tls/tls_seed.c                    |    90 +
 gnu/dist/postfix/src/tls/tls_server.c                  |   690 ++++++++++
 gnu/dist/postfix/src/tls/tls_session.c                 |   180 ++
 gnu/dist/postfix/src/tls/tls_stream.c                  |   136 ++
 gnu/dist/postfix/src/tls/tls_temp.c                    |    51 +
 gnu/dist/postfix/src/tls/tls_verify.c                  |   284 ++++
 gnu/dist/postfix/src/tlsmgr/Makefile.in                |    80 +
 gnu/dist/postfix/src/tlsmgr/tlsmgr.c                   |   921 ++++++++++++++
 gnu/dist/postfix/src/trivial-rewrite/Makefile.in       |     9 +-
 gnu/dist/postfix/src/trivial-rewrite/resolve.c         |    19 +-
 gnu/dist/postfix/src/trivial-rewrite/rewrite.c         |    53 +-
 gnu/dist/postfix/src/trivial-rewrite/trivial-rewrite.c |   165 ++-
 gnu/dist/postfix/src/trivial-rewrite/trivial-rewrite.h |    23 +-
 gnu/dist/postfix/src/util/argv.c                       |    30 +-
 gnu/dist/postfix/src/util/argv.h                       |     7 +-
 gnu/dist/postfix/src/util/attr.h                       |     4 +-
 gnu/dist/postfix/src/util/attr_clnt.c                  |    12 +-
 gnu/dist/postfix/src/util/attr_print0.c                |    25 +-
 gnu/dist/postfix/src/util/attr_print64.c               |    16 +-
 gnu/dist/postfix/src/util/attr_print_plain.c           |    22 +-
 gnu/dist/postfix/src/util/attr_scan0.c                 |    41 +-
 gnu/dist/postfix/src/util/attr_scan0.ref               |    10 +
 gnu/dist/postfix/src/util/attr_scan64.c                |    31 +-
 gnu/dist/postfix/src/util/attr_scan64.ref              |    10 +
 gnu/dist/postfix/src/util/attr_scan_plain.c            |    50 +-
 gnu/dist/postfix/src/util/attr_scan_plain.ref          |    10 +
 gnu/dist/postfix/src/util/base64_code.c                |    10 +-
 gnu/dist/postfix/src/util/binhash.c                    |    10 +-
 gnu/dist/postfix/src/util/cidr_match.c                 |   232 +++
 gnu/dist/postfix/src/util/cidr_match.h                 |    66 +
 gnu/dist/postfix/src/util/clean_env.c                  |     4 +-
 gnu/dist/postfix/src/util/dict.c                       |    92 +-
 gnu/dist/postfix/src/util/dict_alloc.c                 |     4 +-
 gnu/dist/postfix/src/util/dict_cdb.c                   |   385 +++++
 gnu/dist/postfix/src/util/dict_cdb.h                   |    39 +
 gnu/dist/postfix/src/util/dict_cidr.c                  |   116 +-
 gnu/dist/postfix/src/util/dict_cidr.in                 |     4 +
 gnu/dist/postfix/src/util/dict_cidr.map                |     9 +
 gnu/dist/postfix/src/util/dict_cidr.ref                |    14 +-
 gnu/dist/postfix/src/util/dict_db.c                    |   148 +-
 gnu/dist/postfix/src/util/dict_dbm.c                   |    86 +-
 gnu/dist/postfix/src/util/dict_nis.c                   |     8 +-
 gnu/dist/postfix/src/util/dict_nisplus.c               |   246 +++-
 gnu/dist/postfix/src/util/dict_open.c                  |    77 +-
 gnu/dist/postfix/src/util/dict_regexp.c                |     4 +-
 gnu/dist/postfix/src/util/dict_sdbm.c                  |   439 ++++++
 gnu/dist/postfix/src/util/dict_sdbm.h                  |    39 +
 gnu/dist/postfix/src/util/dummy_read.c                 |    63 +
 gnu/dist/postfix/src/util/dummy_write.c                |    63 +
 gnu/dist/postfix/src/util/events.c                     |    48 +-
 gnu/dist/postfix/src/util/exec_command.c               |     4 +-
 gnu/dist/postfix/src/util/find_inet.c                  |     3 +-
 gnu/dist/postfix/src/util/hex_code.c                   |   170 ++
 gnu/dist/postfix/src/util/hex_code.h                   |    38 +
 gnu/dist/postfix/src/util/hex_quote.c                  |     4 +-
 gnu/dist/postfix/src/util/host_port.c                  |    99 +-
 gnu/dist/postfix/src/util/host_port.h                  |     4 +-
 gnu/dist/postfix/src/util/host_port.in                 |     4 +-
 gnu/dist/postfix/src/util/host_port.ref                |    12 +-
 gnu/dist/postfix/src/util/inet_addr_local.h            |     4 +-
 gnu/dist/postfix/src/util/inet_proto.c                 |   276 ++++
 gnu/dist/postfix/src/util/inet_proto.h                 |    53 +
 gnu/dist/postfix/src/util/inet_util.c                  |     2 +-
 gnu/dist/postfix/src/util/inet_util.h                  |     2 +-
 gnu/dist/postfix/src/util/iostuff.h                    |     8 +-
 gnu/dist/postfix/src/util/listen.h                     |     5 +-
 gnu/dist/postfix/src/util/mac_expand.c                 |    24 +-
 gnu/dist/postfix/src/util/mac_parse.c                  |    25 +-
 gnu/dist/postfix/src/util/mac_parse.h                  |     5 +-
 gnu/dist/postfix/src/util/make_dirs.c                  |     4 +-
 gnu/dist/postfix/src/util/mask_addr.c                  |    70 +
 gnu/dist/postfix/src/util/mask_addr.h                  |    32 +
 gnu/dist/postfix/src/util/msg_syslog.c                 |     4 +-
 gnu/dist/postfix/src/util/myaddrinfo.c                 |   819 ++++++++++++
 gnu/dist/postfix/src/util/myaddrinfo.h                 |   213 +++
 gnu/dist/postfix/src/util/myaddrinfo.ref               |     8 +
 gnu/dist/postfix/src/util/myaddrinfo.ref2              |     5 +
 gnu/dist/postfix/src/util/myaddrinfo4.ref              |     6 +
 gnu/dist/postfix/src/util/myaddrinfo4.ref2             |     5 +
 gnu/dist/postfix/src/util/name_mask.c                  |    77 +-
 gnu/dist/postfix/src/util/name_mask.h                  |    17 +-
 gnu/dist/postfix/src/util/netstring.c                  |     4 +-
 gnu/dist/postfix/src/util/printable.c                  |     6 +-
 gnu/dist/postfix/src/util/readlline.c                  |     4 +-
 gnu/dist/postfix/src/util/ring.h                       |     5 +-
 gnu/dist/postfix/src/util/sock_addr.c                  |   171 ++
 gnu/dist/postfix/src/util/sock_addr.h                  |    97 +
 gnu/dist/postfix/src/util/stream_recv_fd.c             |   120 +
 gnu/dist/postfix/src/util/stream_send_fd.c             |   114 +
 gnu/dist/postfix/src/util/sys_compat.c                 |   126 +-
 gnu/dist/postfix/src/util/unescape.c                   |     4 +-
 gnu/dist/postfix/src/util/unix_recv_fd.c               |   172 ++
 gnu/dist/postfix/src/util/unix_send_fd.c               |   155 ++
 gnu/dist/postfix/src/util/upass_listen.c               |   194 +++
 gnu/dist/postfix/src/util/valid_hostname.h             |     5 +-
 gnu/dist/postfix/src/util/valid_hostname.in            |    24 +-
 gnu/dist/postfix/src/util/valid_hostname.ref           |   176 +-
 gnu/dist/postfix/src/util/vbuf_print.c                 |     9 +-
 gnu/dist/postfix/src/util/vstream.c                    |    48 +-
 gnu/dist/postfix/src/util/vstream.h                    |     3 +-
 gnu/dist/postfix/src/util/vstring.c                    |     6 +-
 gnu/dist/postfix/src/util/vstring.h                    |     4 +-
 gnu/dist/postfix/src/util/vstring_vstream.c            |     4 +-
 gnu/dist/postfix/src/util/watchdog.c                   |    18 +-
 gnu/dist/postfix/src/verify/Makefile.in                |     9 +-
 gnu/dist/postfix/src/verify/verify.c                   |    32 +-
 gnu/dist/postfix/src/virtual/Makefile.in               |     6 +-
 gnu/dist/postfix/src/virtual/maildir.c                 |    22 +-
 gnu/dist/postfix/src/virtual/virtual.c                 |    49 +-
 239 files changed, 19003 insertions(+), 1839 deletions(-)

diffs (truncated from 29963 to 300 lines):

diff -r 273f7020ee2e -r 731dfd4a49ce gnu/dist/postfix/src/anvil/Makefile.in
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/gnu/dist/postfix/src/anvil/Makefile.in    Thu Aug 18 21:07:25 2005 +0000
@@ -0,0 +1,74 @@
+SHELL  = /bin/sh
+SRCS   = anvil.c
+OBJS   = anvil.o
+HDRS   = 
+TESTSRC        =
+DEFS   = -I. -I$(INC_DIR) -D$(SYSTYPE)
+CFLAGS = $(DEBUG) $(OPT) $(DEFS)
+TESTPROG= 
+PROG   = anvil
+INC_DIR = ../../include
+LIBS   = ../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a
+
+.c.o:; $(CC) $(CFLAGS) -c $*.c
+
+$(PROG): $(OBJS) $(LIBS)
+       $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(SYSLIBS)
+
+$(OBJS): ../../conf/makedefs.out
+
+Makefile: Makefile.in
+       (cat ../../conf/makedefs.out $?) >$@
+
+test:  $(TESTPROG)
+
+tests: test
+
+update: ../../libexec/$(PROG)
+
+../../libexec/$(PROG): $(PROG)
+       cp $(PROG) ../../libexec
+
+printfck: $(OBJS) $(PROG)
+       rm -rf printfck
+       mkdir printfck
+       sed '1,/^# do not edit/!d' Makefile >printfck/Makefile
+       set -e; for i in *.c; do printfck -f .printfck $$i >printfck/$$i; done
+       cd printfck; make "INC_DIR=../../../include" `cd ..; ls *.o`
+
+lint:
+       lint $(DEFS) $(SRCS) $(LINTFIX)
+
+clean:
+       rm -f *.o *core $(PROG) $(TESTPROG) junk 
+       rm -rf printfck
+
+tidy:  clean
+
+depend: $(MAKES)
+       (sed '1,/^# do not edit/!d' Makefile.in; \
+       set -e; for i in [a-z][a-z0-9]*.c; do \
+           $(CC) -E $(DEFS) $(INCL) $$i | grep -v '[<>]' | sed -n -e '/^# *1 *"\([^"]*\)".*/{' \
+           -e 's//'`echo $$i|sed 's/c$$/o/'`': \1/' -e 'p' -e '}'; \
+       done) | grep -v '[.][o][:][ ][/]' >$$$$ && mv $$$$ Makefile.in
+       @$(EXPORT) make -f Makefile.in Makefile 1>&2
+
+# do not edit below this line - it is generated by 'make depend'
+anvil.o: anvil.c
+anvil.o: ../../include/sys_defs.h
+anvil.o: ../../include/msg.h
+anvil.o: ../../include/mymalloc.h
+anvil.o: ../../include/htable.h
+anvil.o: ../../include/stringops.h
+anvil.o: ../../include/vstring.h
+anvil.o: ../../include/vbuf.h
+anvil.o: ../../include/events.h
+anvil.o: ../../include/mail_conf.h
+anvil.o: ../../include/mail_params.h
+anvil.o: ../../include/mail_proto.h
+anvil.o: ../../include/vstream.h
+anvil.o: ../../include/iostuff.h
+anvil.o: ../../include/attr.h
+anvil.o: ../../include/anvil_clnt.h
+anvil.o: ../../include/attr_clnt.h
+anvil.o: ../../include/mail_server.h
diff -r 273f7020ee2e -r 731dfd4a49ce gnu/dist/postfix/src/anvil/anvil.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/gnu/dist/postfix/src/anvil/anvil.c        Thu Aug 18 21:07:25 2005 +0000
@@ -0,0 +1,872 @@
+/*     $NetBSD: anvil.c,v 1.1.1.1 2005/08/18 21:07:49 rpaulo Exp $     */
+
+/*++
+/* NAME
+/*     anvil 8
+/* SUMMARY
+/*     Postfix session count and request rate control
+/* SYNOPSIS
+/*     \fBanvil\fR [generic Postfix daemon options]
+/* DESCRIPTION
+/*     The Postfix \fBanvil\fR(8) server maintains short-term statistics
+/*     to defend against clients that hammer a server with either too
+/*     many simultaneous sessions, or with too many successive requests
+/*     within a configurable time interval.
+/*     This server is designed to run under control by the Postfix
+/*     \fBmaster\fR(8) server.
+/*
+/*     The \fBanvil\fR(8) server maintains no persistent database. Standard
+/*     library utilities do not meet Postfix performance and robustness
+/*     requirements.
+/* CONNECTION COUNT/RATE LIMITING
+/* .ad
+/* .fi
+/*     When a remote client connects, a connection count (or rate) limited
+/*     server should send the following request to the \fBanvil\fR(8) server:
+/* .PP
+/* .in +4
+/*     \fBrequest=connect\fR
+/* .br
+/*     \fBident=\fIstring\fR
+/* .in
+/* .PP
+/*     This registers a new connection for the (service, client)
+/*     combination specified with \fBident\fR. The \fBanvil\fR(8) server
+/*     answers with the number of simultaneous connections and the
+/*     number of connections per unit time for that (service, client)
+/*     combination:
+/* .PP
+/* .in +4
+/*     \fBstatus=0\fR
+/* .br
+/*     \fBcount=\fInumber\fR
+/* .br
+/*     \fBrate=\fInumber\fR
+/* .in
+/* .PP
+/*     The \fBrate\fR is computed as the number of connections
+/*     that were registered in the current "time unit" interval.
+/*     It is left up to the server to decide if the remote client
+/*     exceeds the connection count (or rate) limit.
+/* .PP
+/*     When a remote client disconnects, a connection count (or rate) limited
+/*     server should send the following request to the \fBanvil\fR(8) server:
+/* .PP
+/* .in +4
+/*     \fBrequest=disconnect\fR
+/* .br
+/*     \fBident=\fIstring\fR
+/* .in
+/* .PP
+/*     This registers a disconnect event for the (service, client)
+/*     combination specified with \fBident\fR. The \fBanvil\fR(8)
+/*     server replies with:
+/* .PP
+/* .ti +4
+/*     \fBstatus=0\fR
+/* MESSAGE RATE LIMITING
+/* .ad
+/* .fi
+/*     When a remote client sends a message delivery request, a
+/*     message rate limited server should send the following
+/*     request to the \fBanvil\fR(8) server:
+/* .PP
+/* .in +4
+/*     \fBrequest=message\fR
+/* .br
+/*     \fBident=\fIstring\fR
+/* .in
+/* .PP
+/*     This registers a message delivery request for the (service, client)
+/*     combination specified with \fBident\fR. The \fBanvil\fR(8) server
+/*     answers with the number of message delivery requests per unit time
+/*     for that (service, client) combination:
+/* .PP
+/* .in +4
+/*     \fBstatus=0\fR
+/* .br
+/*     \fBrate=\fInumber\fR
+/* .in
+/* .PP
+/*     In order to prevent the \fBanvil\fR(8) server from discarding client
+/*     request rates too early or too late, a message rate limited
+/*     service should also register connect/disconnect events.
+/* RECIPIENT RATE LIMITING
+/* .ad
+/* .fi
+/*     When a remote client sends a recipient address, a recipient
+/*     rate limited server should send the following request to
+/*     the \fBanvil\fR(8) server:
+/* .PP
+/* .in +4
+/*     \fBrequest=recipient\fR
+/* .br
+/*     \fBident=\fIstring\fR
+/* .in
+/* .PP
+/*     This registers a recipient request for the (service, client)
+/*     combination specified with \fBident\fR. The \fBanvil\fR(8) server
+/*     answers with the number of recipient addresses per unit time
+/*     for that (service, client) combination:
+/* .PP
+/* .in +4
+/*     \fBstatus=0\fR
+/* .br
+/*     \fBrate=\fInumber\fR
+/* .in
+/* .PP
+/*     In order to prevent the \fBanvil\fR(8) server from discarding client
+/*     request rates too early or too late, a recipient rate limited
+/*     service should also register connect/disconnect events.
+/* SECURITY
+/* .ad
+/* .fi
+/*     The \fBanvil\fR(8) server does not talk to the network or to local
+/*     users, and can run chrooted at fixed low privilege.
+/*
+/*     The \fBanvil\fR(8) server maintains an in-memory table with information
+/*     about recent clients of a connection count (or rate) limited service.
+/*     Although state is kept only temporarily, this may require a lot of
+/*     memory on systems that handle connections from many remote clients.
+/*     To reduce memory usage, reduce the time unit over which state
+/*     is kept.
+/* DIAGNOSTICS
+/*     Problems and transactions are logged to \fBsyslogd\fR(8).
+/*
+/*     Upon exit, and every \fBanvil_status_update_time\fR
+/*     seconds, the server logs the maximal count and rate values measured,
+/*     together with (service, client) information and the time of day
+/*     associated with those events.
+/*     In order to avoid unnecessary overhead, no measurements
+/*     are done for activity that isn't concurrency limited or
+/*     rate limited.
+/* BUGS
+/*     Systems behind network address translating routers or proxies
+/*     appear to have the same client address and can run into connection
+/*     count and/or rate limits falsely.
+/*
+/*     In this preliminary implementation, a count (or rate) limited server
+/*     can have only one remote client at a time. If a server reports
+/*     multiple simultaneous clients, all but the last reported client
+/*     are ignored.
+/* CONFIGURATION PARAMETERS
+/* .ad
+/* .fi
+/*     Changes to \fBmain.cf\fR are picked up automatically as \fBanvil\fR(8)
+/*     processes run for only a limited amount of time. Use the command
+/*     "\fBpostfix reload\fR" to speed up a change.
+/*
+/*     The text below provides only a parameter summary. See
+/*     \fBpostconf\fR(5) for more details including examples.
+/* .IP "\fBanvil_rate_time_unit (60s)\fR"
+/*     The time unit over which client connection rates and other rates
+/*     are calculated.
+/* .IP "\fBanvil_status_update_time (600s)\fR"
+/*     How frequently the \fBanvil\fR(8) connection and rate limiting server
+/*     logs peak usage information.
+/* .IP "\fBconfig_directory (see 'postconf -d' output)\fR"
+/*     The default location of the Postfix main.cf and master.cf
+/*     configuration files.
+/* .IP "\fBdaemon_timeout (18000s)\fR"
+/*     How much time a Postfix daemon process may take to handle a
+/*     request before it is terminated by a built-in watchdog timer.
+/* .IP "\fBipc_timeout (3600s)\fR"
+/*     The time limit for sending or receiving information over an internal
+/*     communication channel.
+/* .IP "\fBmax_idle (100s)\fR"
+/*     The maximum amount of time that an idle Postfix daemon process
+/*     waits for the next service request before exiting.
+/* .IP "\fBmax_use (100)\fR"
+/*     The maximal number of connection requests before a Postfix daemon
+/*     process terminates.
+/* .IP "\fBprocess_id (read-only)\fR"
+/*     The process ID of a Postfix command or daemon process.
+/* .IP "\fBprocess_name (read-only)\fR"
+/*     The process name of a Postfix command or daemon process.
+/* .IP "\fBsyslog_facility (mail)\fR"
+/*     The syslog facility of Postfix logging.
+/* .IP "\fBsyslog_name (postfix)\fR"
+/*     The mail system name that is prepended to the process name in syslog
+/*     records, so that "smtpd" becomes, for example, "postfix/smtpd".
+/* SEE ALSO
+/*     smtpd(8), Postfix SMTP server
+/*     postconf(5), configuration parameters
+/*     master(5), generic daemon options
+/* README FILES
+/* .ad
+/* .fi
+/*     Use "\fBpostconf readme_directory\fR" or
+/*     "\fBpostconf html_directory\fR" to locate this information.
+/* .na
+/* .nf
+/*     TUNING_README, performance tuning
+/* LICENSE
+/* .ad
+/* .fi
+/*     The Secure Mailer license must be distributed with this software.
+/* HISTORY
+/* .ad
+/* .fi
+/*     The anvil service is available in Postfix 2.2 and later.
+/* AUTHOR(S)
+/*     Wietse Venema
+/*     IBM T.J. Watson Research
+/*     P.O. Box 704
+/*     Yorktown Heights, NY 10598, USA
+/*--*/
+
+/* System library. */



Home | Main Index | Thread Index | Old Index