Hi Sam
Thank you very much for spamdyke. It realy rocks.
Attached I send you a small patch for spamdyke to log the rbl name for
log message DENIED_RBL_MATCH. I use it to get some stats about the
different rbl services I use.
Example:
May 10 10:33:44 D08X0403 spamdyke[16993]: DENIED_RBL_MATCH
(zen.spamhaus.org) from: [E-MAIL] to: [E-MAIL] origin_ip: [IP]
origin_rdns: [RDNS] auth: (unknown)
I'm not an C programming specialist, so any feedback would be appreciated.
-- Lucas Bremgartner
--- spamdyke-3.1.7/spamdyke/dns.c 2008-01-21 22:45:17.000000000 +0100
+++ spamdyke-3.1.7-modified/spamdyke/dns.c 2008-05-10 10:22:36.000000000
+0200
@@ -490,7 +490,11 @@
if (target_rejection != NULL)
{
- memcpy(¤t_settings->rejection_buf, target_rejection,
sizeof(struct rejection_data));
+ char short_reject_message[MAX_BUF + 1];
+ snprintf(short_reject_message, MAX_BUF, "%s (%s)",
target_rejection->short_reject_message, target_rbl);
+ struct rejection_data tmp_target_rejection = {(char*)
&target_rejection->reject_severity, (char*) &target_rejection->reject_message,
target_rejection->strlen_reject_message, (char*) &short_reject_message};
+ memcpy(¤t_settings->rejection_buf,
&tmp_target_rejection, sizeof(struct rejection_data));
+ //memcpy(¤t_settings->rejection_buf, target_rejection,
sizeof(struct rejection_data));
current_settings->rejection_buf.strlen_reject_message =
snprintf(current_settings->reject_message_buf, MAX_BUF, "%.*s",
MINVAL(txt_length, MAX_BUF - 2), answer_ptr);
current_settings->rejection_buf.reject_message =
current_settings->reject_message_buf;
current_settings->rejection = ¤t_settings->rejection_buf;
@@ -511,7 +515,11 @@
if (target_rejection != NULL)
{
- memcpy(¤t_settings->rejection_buf, target_rejection,
sizeof(struct rejection_data));
+ char short_reject_message[MAX_BUF + 1];
+ snprintf(short_reject_message, MAX_BUF, "%s (%s)",
target_rejection->short_reject_message, target_rbl);
+ struct rejection_data tmp_target_rejection = {(char*)
&target_rejection->reject_severity, (char*) &target_rejection->reject_message,
target_rejection->strlen_reject_message, (char*) &short_reject_message};
+ memcpy(¤t_settings->rejection_buf, &tmp_target_rejection,
sizeof(struct rejection_data));
+ //memcpy(¤t_settings->rejection_buf, target_rejection,
sizeof(struct rejection_data));
current_settings->rejection_buf.strlen_reject_message =
snprintf(current_settings->reject_message_buf, MAX_BUF,
target_rejection->reject_message, target_rbl);
current_settings->rejection_buf.reject_message =
current_settings->reject_message_buf;
current_settings->rejection = ¤t_settings->rejection_buf;
_______________________________________________
spamdyke-users mailing list
[email protected]
http://www.spamdyke.org/mailman/listinfo/spamdyke-users