27 static int g_mime_email_from_buffer_id = 0;
28 static int g_mime_email_subject_buffer_id = 0;
29 static int g_mime_email_to_buffer_id = 0;
30 static int g_mime_email_cc_buffer_id = 0;
31 static int g_mime_email_date_buffer_id = 0;
32 static int g_mime_email_message_id_buffer_id = 0;
33 static int g_mime_email_x_mailer_buffer_id = 0;
34 static int g_mime_email_url_buffer_id = 0;
35 static int g_mime_email_received_buffer_id = 0;
56 const uint8_t *b_email_from = NULL;
57 uint32_t b_email_from_len = 0;
62 if (SCDetectMimeEmailGetData(tx->
mime_state, &b_email_from, &b_email_from_len,
"from") != 1)
90 const uint8_t *b_email_sub = NULL;
91 uint32_t b_email_sub_len = 0;
96 if (SCDetectMimeEmailGetData(tx->
mime_state, &b_email_sub, &b_email_sub_len,
"subject") !=
125 const uint8_t *b_email_to = NULL;
126 uint32_t b_email_to_len = 0;
129 if (SCDetectMimeEmailGetData(tx->
mime_state, &b_email_to, &b_email_to_len,
"to") != 1)
133 if (b_email_to == NULL || b_email_to_len == 0)
161 const uint8_t *b_email_cc = NULL;
162 uint32_t b_email_cc_len = 0;
167 if (SCDetectMimeEmailGetData(tx->
mime_state, &b_email_cc, &b_email_cc_len,
"cc") != 1)
195 const uint8_t *b_email_date = NULL;
196 uint32_t b_email_date_len = 0;
201 if (SCDetectMimeEmailGetData(tx->
mime_state, &b_email_date, &b_email_date_len,
"date") != 1)
229 const uint8_t *b_email_msg_id = NULL;
230 uint32_t b_email_msg_id_len = 0;
235 if (SCDetectMimeEmailGetData(
236 tx->
mime_state, &b_email_msg_id, &b_email_msg_id_len,
"message-id") != 1)
264 const uint8_t *b_email_x_mailer = NULL;
265 uint32_t b_email_x_mailer_len = 0;
270 if (SCDetectMimeEmailGetData(
271 tx->
mime_state, &b_email_x_mailer, &b_email_x_mailer_len,
"x-mailer") != 1)
292 const uint8_t
flags, uint32_t idx,
const uint8_t **buf, uint32_t *buf_len)
299 if (SCDetectMimeEmailGetUrl(tx->
mime_state, buf, buf_len, idx) != 1) {
317 const uint8_t
flags, uint32_t idx,
const uint8_t **buf, uint32_t *buf_len)
325 if (SCDetectMimeEmailGetDataArray(tx->
mime_state, buf, buf_len,
"received", idx) != 1) {
333 SCSigTableAppLiteElmt kw = { 0 };
335 kw.name =
"email.from";
336 kw.desc =
"'From' field from an email";
337 kw.url =
"/rules/email-keywords.html#email.from";
338 kw.Setup = DetectMimeEmailFromSetup;
342 "email.from",
"MIME EMAIL FROM",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailFromData);
344 kw.name =
"email.subject";
345 kw.desc =
"'Subject' field from an email";
346 kw.url =
"/rules/email-keywords.html#email.subject";
347 kw.Setup = DetectMimeEmailSubjectSetup;
351 "MIME EMAIL SUBJECT",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailSubjectData);
353 kw.name =
"email.to";
354 kw.desc =
"'To' field from an email";
355 kw.url =
"/rules/email-keywords.html#email.to";
356 kw.Setup = DetectMimeEmailToSetup;
360 "email.to",
"MIME EMAIL TO",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailToData);
362 kw.name =
"email.cc";
363 kw.desc =
"'Cc' field from an email";
364 kw.url =
"/rules/email-keywords.html#email.cc";
365 kw.Setup = DetectMimeEmailCcSetup;
369 "email.cc",
"MIME EMAIL CC",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailCcData);
371 kw.name =
"email.date";
372 kw.desc =
"'Date' field from an email";
373 kw.url =
"/rules/email-keywords.html#email.date";
374 kw.Setup = DetectMimeEmailDateSetup;
378 "email.date",
"MIME EMAIL DATE",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailDateData);
380 kw.name =
"email.message_id";
381 kw.desc =
"'Message-Id' field from an email";
382 kw.url =
"/rules/email-keywords.html#email.message_id";
383 kw.Setup = DetectMimeEmailMessageIdSetup;
387 "MIME EMAIL Message-Id",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailMessageIdData);
389 kw.name =
"email.x_mailer";
390 kw.desc =
"'X-Mailer' field from an email";
391 kw.url =
"/rules/email-keywords.html#email.x_mailer";
392 kw.Setup = DetectMimeEmailXMailerSetup;
396 "MIME EMAIL X-Mailer",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailXMailerData);
398 kw.name =
"email.url";
399 kw.desc =
"'Url' extracted from an email";
400 kw.url =
"/rules/email-keywords.html#email.url";
401 kw.Setup = DetectMimeEmailUrlSetup;
405 "email.url",
"MIME EMAIL URL",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailUrlData);
407 kw.name =
"email.received";
408 kw.desc =
"'Received' field from an email";
409 kw.url =
"/rules/email-keywords.html#email.received";
410 kw.Setup = DetectMimeEmailReceivedSetup;
414 "MIME EMAIL RECEIVED",
ALPROTO_SMTP, STREAM_TOSERVER, GetMimeEmailReceivedData);