--- /home/kaos/headers.c Tue Jan 26 09:54:50 1999 +++ ./headers.c Wed Feb 17 10:45:37 1999 @@ -677,6 +677,7 @@ char hbuf[MAXNAME + 1]; char sbuf[MAXLINE + 1]; char mbuf[MAXNAME + 1]; + char *subject = ""; /* don't allow newlines in the message-id */ if (msgid != NULL) @@ -711,12 +712,27 @@ } } + /* Log the subject as well */ + { + HDR *start = e->e_header; + + while (start != NULL) { + if (strcasecmp(start->h_field, "subject") == 0) { + subject = start->h_value; + break; + } + start = start->h_link; + } + } + /* some versions of syslog only take 5 printf args */ # if (SYSLOG_BUFSIZE) >= 256 sbp = sbuf; + snprintf(sbp, SPACELEFT(sbuf, sbp), - "from=%.200s, size=%ld, class=%d, pri=%ld, nrcpts=%d", + "from=%.200s, subject=%s, size=%ld, class=%d, pri=%ld, nrcpts=%d", e->e_from.q_paddr == NULL ? "" : e->e_from.q_paddr, + subject, e->e_msgsize, e->e_class, e->e_msgpriority, e->e_nrcpts); sbp += strlen(sbp); if (msgid != NULL) @@ -740,9 +756,10 @@ # else /* short syslog buffer */ sm_syslog(LOG_INFO, e->e_id, - "from=%s", + "from=%s, subject=%s", e->e_from.q_paddr == NULL ? "" - : shortenstring(e->e_from.q_paddr, 83)); + : shortenstring(e->e_from.q_paddr, 83), + subject); sm_syslog(LOG_INFO, e->e_id, "size=%ld, class=%ld, pri=%ld, nrcpts=%d", e->e_msgsize, e->e_class, e->e_msgpriority, e->e_nrcpts);