From 2dbfaa260b81b4993010fdc545d563739435692c Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Tue, 12 Oct 2004 16:26:19 +0000 Subject: Don't send lines that are too long to syslog --- common/smtppass.c | 8 ++++---- common/smtppass.h | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/common/smtppass.c b/common/smtppass.c index e00f7a1..3205026 100644 --- a/common/smtppass.c +++ b/common/smtppass.c @@ -1094,16 +1094,16 @@ void sp_add_log(spctx_t* ctx, char* prefix, char* line) int l = strlen(t); int x; - ASSERT(l <= SP_LINE_LENGTH); + ASSERT(l <= SP_LOG_LINE_LEN); /* Add up necessary lengths */ x = 2 + strlen(prefix) + strlen(line) + 1; - if(l + x >= SP_LINE_LENGTH) - l = SP_LINE_LENGTH - x; + if(l + x >= SP_LOG_LINE_LEN) + l = SP_LOG_LINE_LEN - x; t += l; - l = SP_LINE_LENGTH - l; + l = SP_LOG_LINE_LEN - l; *t = 0; diff --git a/common/smtppass.h b/common/smtppass.h index e7fc780..34758ba 100644 --- a/common/smtppass.h +++ b/common/smtppass.h @@ -108,6 +108,10 @@ unsigned int spio_select(struct spctx* ctx, ...); * SMTP PASS THROUGH FUNCTIONALITY */ +/* Log lines have to be under roughly 900 chars otherwise + * they get truncated by syslog. */ +#define SP_LOG_LINE_LEN 768 + typedef struct spctx { unsigned int id; /* Identifier for the connection */ @@ -117,15 +121,12 @@ typedef struct spctx FILE* cachefile; /* The file handle for the cached file */ char cachename[MAXPATHLEN]; /* The name of the file that we cache into */ - char logline[SP_LINE_LENGTH]; /* Log line */ + char logline[SP_LOG_LINE_LEN]; /* Log line */ char* sender; /* The email of the sender */ char* recipients; /* The email of the recipients */ int _crlf; /* Private data */ - char _l1[SP_LINE_LENGTH]; - char _l2[SP_LINE_LENGTH]; - time_t _tm; } spctx_t; -- cgit v1.2.3