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