Eigentlich kann ich kein C, habe nur den Block 'Precedence:' kopiert und angepasst.
Code: Select all
....
case 'P': /* "Precedence:" */
cont = 0;
if (strncasecmp(buf, "Precedence", 10) ||
(buf[10] != ':' && buf[10] != ' ' &&
buf[10] != 't'))
break;
if (!(p = strchr(buf, ':')))
break;
while (*++p && isspace(*p));
if (!*p)
break;
if (!strncasecmp(p, "junk", 4) ||
!strncasecmp(p, "bulk", 4) ||
!strncasecmp(p, "list", 4))
discard_exit();
break;
case 'X': /* "X-Spam-Flag" */
cont = 0;
if (strncasecmp(buf, "X-Spam-Flag", 11) ||
(buf[11] != ':' && buf[11] != ' ' &&
buf[11] != 't'))
break;
if (!(p = strchr(buf, ':')))
break;
while (*++p && isspace(*p));
if (!*p)
break;
if (!strncasecmp(p, "YES", 3) ||
!strncasecmp(p, "Yes", 3) ||
!strncasecmp(p, "yes", 3))
discard_exit();
break;
case 'S': /* "Subject" */
....