From c3a9f58fc493bb2d5ec4876e81d5cf95cc587529 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Sun, 20 Mar 2005 21:15:40 +0000 Subject: Sync with clamsmtp changes. --- ChangeLog | 7 ++++++- configure.in | 4 ++-- doc/proxsmtpd.conf | 3 +++ doc/proxsmtpd.conf.5 | 31 +++++++++++++++++++++++++++++++ src/proxsmtpd.c | 6 +++--- 5 files changed, 45 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index ca316d8..df148bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ -1.1 [2004-01-27] +1.2 + - Don't leak file descriptors when clamsmtpd can't connect to outgoing + SMTP server [Chris Mason] + - 'Header' configuration option with special format arguments [Olivier Beyssac] + +1.1 [2005-01-27] - Fixed crasher when outgoing connection couldn't be established - Removed erroneous chown line from clamsmtpd.sh diff --git a/configure.in b/configure.in index 02ffbaa..630e36a 100644 --- a/configure.in +++ b/configure.in @@ -36,8 +36,8 @@ dnl Nate Nielsen dnl dnl Process this file with autoconf to produce a configure script. -AC_INIT(proxsmtp, 1.1, nielsen@memberwebs.com) -AM_INIT_AUTOMAKE(proxsmtp, 1.1) +AC_INIT(proxsmtp, 1.1.90, nielsen@memberwebs.com) +AM_INIT_AUTOMAKE(proxsmtp, 1.1.90) LDFLAGS="$LDFLAGS -L/usr/local/lib" CFLAGS="$CFLAGS -I/usr/local/include" diff --git a/doc/proxsmtpd.conf b/doc/proxsmtpd.conf index 8c9d60a..2b87e84 100644 --- a/doc/proxsmtpd.conf +++ b/doc/proxsmtpd.conf @@ -28,6 +28,9 @@ OutAddress: 10026 # Amount of time (in seconds) to wait on network IO #TimeOut: 180 +# A header to add to all scanned email +#Header: X-Filtered: By ProxSMTP + # Keep Alives (ie: NOOP's to server) #KeepAlives: 0 diff --git a/doc/proxsmtpd.conf.5 b/doc/proxsmtpd.conf.5 index 77480e3..916bc7b 100644 --- a/doc/proxsmtpd.conf.5 +++ b/doc/proxsmtpd.conf.5 @@ -72,11 +72,13 @@ The various settings are as follows: This is the command used to filter email through. If not specified then no filtering will be done. Specify all the arguments the command needs as you would on a command-line. +.Pp [ Default: no filtering ] .It Ar FilterTimeout The amount of time in seconds to wait for the .Ar FilterCommand to process email data. +.Pp [ Default: 30 seconds ] .It Ar FilterType When set to 'pipe' the email data is piped through the @@ -87,45 +89,74 @@ to a file and the file name is passed to the using the .Ar EMAIL environment variable. +.Pp +[ Default: pipe ] +.It Ar Header +A header to add to scanned messages. Put an empty value to suppress adding +a header. You can include the following special formatting characters in the +string to include special values: +.Bl -inset +.It Ar %i +Client IP Address +.It Ar %l +Local IP Address +.It Ar %d +Current Date +.El +.Pp +You can also include the standard \\r or \\n escapes. +.Pp +[ Optional ] .It Ar KeepAlives On slow connections the server will sometimes timeout before .Xr proxsmtpd 8 is finished filtering the file. This option sends NOOP's to the server to keep the connection alive. Specify the number of seconds, or 0 to disable. +.Pp [ Default: 0 ] .It Ar Listen The address and port to listen for SMTP connections on. See syntax of addresses below. +.Pp [ Default: port 10025 on all local IP addresses ] .It Ar MaxConnections Specifies the maximum number of connections to accept at once. +.Pp [ Default: 64 ] .It Ar OutAddress The address of the SMTP server to send email to once it's been scanned. See syntax of addreses below. +.Pp [ Required ] .It Ar TempDirectory The directory to write temp files to. +.Pp [ Default: .Pa /tmp ] .It Ar TimeOut The number of seconds to wait while reading data from network connections. +.Pp [ Default: 180 seconds ] .It Ar TransparentProxy This option enables transparent proxy support, which allows you to route all SMTP traffic that's going through a gateway through proxsmtp which will then send it on to its final destination. This setup usually involves firewall rules which redirect traffic to proxsmtp, and the setup varies from OS to OS. +.Pp +[ Default: off ] .It Ar User The user to run as. If this option is specified then .Xr proxsmtpd 8 must be started as root. It will then drop root privileges and run as the specified user. The user can either be a name or a numerical user id. +.Pp +[ Optional ] .It Ar XClient Send an XCLIENT command to the receiving server. This is useful for forwarding client addresses and connection info to servers that support this feature. +.Pp [ Default: off ] .El .Sh ADDRESSES diff --git a/src/proxsmtpd.c b/src/proxsmtpd.c index 85da77b..fbd5d25 100644 --- a/src/proxsmtpd.c +++ b/src/proxsmtpd.c @@ -215,7 +215,7 @@ int cb_check_data(spctx_t* ctx) sp_messagex(ctx, LOG_WARNING, "no filter command specified. passing message through"); if(sp_cache_data(ctx) == -1 || - sp_done_data(ctx, NULL) == -1) + sp_done_data(ctx) == -1) return -1; /* Message already printed */ return 0; @@ -503,7 +503,7 @@ static int process_file_command(spctx_t* sp) /* A successful response */ if(WEXITSTATUS(status) == 0) { - if(sp_done_data(sp, NULL) == -1) + if(sp_done_data(sp) == -1) RETURN(-1); /* message already printed */ sp_add_log(sp, "status=", "FILTERED"); @@ -747,7 +747,7 @@ static int process_pipe_command(spctx_t* sp) /* A successful response */ if(WEXITSTATUS(status) == 0) { - if(sp_done_data(sp, NULL) == -1) + if(sp_done_data(sp) == -1) RETURN(-1); /* message already printed */ sp_add_log(sp, "status=", "FILTERED"); -- cgit v1.2.3