smtp: fix config parsing and config defaults

pull/1943/head
Victor Julien 10 years ago
parent 32bf68aef8
commit 4526aed2b1

@ -58,11 +58,11 @@
#include "util-misc.h" #include "util-misc.h"
/* content-limit default value */ /* content-limit default value */
#define FILEDATA_CONTENT_LIMIT 1000 #define FILEDATA_CONTENT_LIMIT 100000
/* content-inspect-min-size default value */ /* content-inspect-min-size default value */
#define FILEDATA_CONTENT_INSPECT_MIN_SIZE 1000 #define FILEDATA_CONTENT_INSPECT_MIN_SIZE 32768
/* content-inspect-window default value */ /* content-inspect-window default value */
#define FILEDATA_CONTENT_INSPECT_WINDOW 1000 #define FILEDATA_CONTENT_INSPECT_WINDOW 4096
#define SMTP_MAX_REQUEST_AND_REPLY_LINE_LENGTH 510 #define SMTP_MAX_REQUEST_AND_REPLY_LINE_LENGTH 510
@ -282,35 +282,41 @@ static void SMTPConfigure(void) {
/* Pass mime config data to MimeDec API */ /* Pass mime config data to MimeDec API */
MimeDecSetConfig(&smtp_config.mime_config); MimeDecSetConfig(&smtp_config.mime_config);
smtp_config.content_limit = FILEDATA_CONTENT_LIMIT;
smtp_config.content_inspect_window = FILEDATA_CONTENT_INSPECT_WINDOW;
smtp_config.content_inspect_min_size = FILEDATA_CONTENT_INSPECT_MIN_SIZE;
ConfNode *t = ConfGetNode("app-layer.protocols.smtp.inspected-tracker"); ConfNode *t = ConfGetNode("app-layer.protocols.smtp.inspected-tracker");
ConfNode *p = NULL; ConfNode *p = NULL;
if (t == NULL) if (t != NULL) {
return;
TAILQ_FOREACH(p, &t->head, next) { TAILQ_FOREACH(p, &t->head, next) {
if (strcasecmp("content-limit", p->name) == 0) { if (strcasecmp("content-limit", p->name) == 0) {
if (ParseSizeStringU32(p->val, &content_limit) < 0) { if (ParseSizeStringU32(p->val, &content_limit) < 0) {
SCLogWarning(SC_ERR_SIZE_PARSE, "Error parsing content-limit " SCLogWarning(SC_ERR_SIZE_PARSE,
"from conf file - %s. Killing engine", p->val); "parsing content-limit %s failed", p->val);
content_limit = FILEDATA_CONTENT_LIMIT; content_limit = FILEDATA_CONTENT_LIMIT;
} }
smtp_config.content_limit = content_limit;
} }
if (strcasecmp("content-inspect-min-size", p->name) == 0) { if (strcasecmp("content-inspect-min-size", p->name) == 0) {
if (ParseSizeStringU32(p->val, &content_inspect_min_size) < 0) { if (ParseSizeStringU32(p->val, &content_inspect_min_size) < 0) {
SCLogWarning(SC_ERR_SIZE_PARSE, "Error parsing content-inspect-min-size-limit " SCLogWarning(SC_ERR_SIZE_PARSE,
"from conf file - %s. Killing engine", p->val); "parsing content-inspect-min-size %s failed", p->val);
content_inspect_min_size = FILEDATA_CONTENT_INSPECT_MIN_SIZE; content_inspect_min_size = FILEDATA_CONTENT_INSPECT_MIN_SIZE;
} }
smtp_config.content_inspect_min_size = content_inspect_min_size;
} }
if (strcasecmp("content-inspect-window", p->name) == 0) { if (strcasecmp("content-inspect-window", p->name) == 0) {
if (ParseSizeStringU32(p->val, &content_inspect_window) < 0) { if (ParseSizeStringU32(p->val, &content_inspect_window) < 0) {
SCLogWarning(SC_ERR_SIZE_PARSE, "Error parsing content-inspect-window " SCLogWarning(SC_ERR_SIZE_PARSE,
"from conf file - %s. Killing engine", p->val); "parsing content-inspect-window %s failed", p->val);
content_inspect_window = FILEDATA_CONTENT_INSPECT_WINDOW; content_inspect_window = FILEDATA_CONTENT_INSPECT_WINDOW;
} }
smtp_config.content_inspect_window = content_inspect_window;
}
} }
} }

@ -1332,9 +1332,9 @@ app-layer:
body-md5: no body-md5: no
# Configure inspected-tracker for file_data keyword # Configure inspected-tracker for file_data keyword
inspected-tracker: inspected-tracker:
content-limit: 1000 content-limit: 100000
content-inspect-min-size: 1000 content-inspect-min-size: 32768
content-inspect-window: 1000 content-inspect-window: 4096
imap: imap:
enabled: detection-only enabled: detection-only
msn: msn:

Loading…
Cancel
Save