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(&current_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(&current_settings->rejection_buf, 
&tmp_target_rejection, sizeof(struct rejection_data));
+               //memcpy(&current_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 = &current_settings->rejection_buf;
@@ -511,7 +515,11 @@
 
             if (target_rejection != NULL)
               {
-              memcpy(&current_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(&current_settings->rejection_buf, &tmp_target_rejection, 
sizeof(struct rejection_data));
+              //memcpy(&current_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 = &current_settings->rejection_buf;
_______________________________________________
spamdyke-users mailing list
[email protected]
http://www.spamdyke.org/mailman/listinfo/spamdyke-users

Reply via email to