Joe Maimon wrote:
I can probably send a patch if you would like.
Here is a rough version that I am testing that seems to work for me.
Joe
_______________________________________________
http://lists.clamav.net/cgi-bin/mailman/listinfo/clamav-users
--- clamav-devel/clamav-milter/clamav-milter.c 2004-11-20 18:02:23.000000000
-0500
+++ clamav-devel.smrecv/clamav-milter/clamav-milter.c 2004-11-29
22:41:58.000000000 -0500
@@ -2272,8 +2272,44 @@
privdata->from = strdup(argv[0]);
- if(hflag)
+ if(hflag) {
+ /* craft a sendmail like header for notifications */
+ char *macro_b, *macro_s, *macro_j, *macro__;
+ char *p;
+ int plen = 0;
+ char *fmt = "from %s (%s) by %s\n";
+
+
privdata->headers = header_list_new();
+ macro_s = smfi_getsymval(ctx, "s");
+ macro_j = smfi_getsymval(ctx, "j");
+ macro__ = smfi_getsymval(ctx, "_");
+
+ plen += (macro_s) ? strlen(macro_s) : sizeof("unknown");
+ plen += (macro_j) ? strlen(macro_j) : sizeof("localhost");
+ plen += (macro__) ? strlen(macro__) : 0;
+ plen += strlen(fmt);
+
+ p = cli_malloc(plen);
+ if(p) {
+ sprintf(p, fmt,
+ (macro_s) ? macro_s : "unknown",
+ (macro__) ? macro__ : "",
+ (macro_j) ? macro_j : "localhost"
+ );
+#ifdef CL_DEBUG
+ if(debug_level > 5) {
+ char *msg_p = "clamfi_header: created Recieved
header alloclen=%d, len=%d,\"%s\"\n";
+ if(use_syslog)
+ syslog(LOG_NOTICE, _(msg_p), plen,
strlen(p), p);
+ cli_dbgmsg(_(msg_p),plen, strlen(p), p);
+ }
+#endif
+
+ header_list_add(privdata->headers, "Received", p);
+ free(p);
+ }
+ }
if(smfi_setpriv(ctx, privdata) == MI_SUCCESS)
return SMFIS_CONTINUE;
_______________________________________________
http://lists.clamav.net/cgi-bin/mailman/listinfo/clamav-users