summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stef@memberwebs.com>2005-03-20 21:15:40 +0000
committerStef Walter <stef@memberwebs.com>2005-03-20 21:15:40 +0000
commitc3a9f58fc493bb2d5ec4876e81d5cf95cc587529 (patch)
tree50124a34b3782c99ac66d6cfb3d5d4b85fe299ff
parent64b0625d3187ef665cd5441bf4635caa0bc338c7 (diff)
Sync with clamsmtp changes.
-rw-r--r--ChangeLog7
-rw-r--r--configure.in4
-rw-r--r--doc/proxsmtpd.conf3
-rw-r--r--doc/proxsmtpd.conf.531
-rw-r--r--src/proxsmtpd.c6
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 <nielsen@memberwebs.com>
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");