From 8d495ba0e44e85b24f4c6ec2f2b9bde8614fe8de Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Fri, 30 Jan 2009 22:59:10 +0000 Subject: [PATCH] Reduced the severity of some common log messages from Warning to Notice. Defined 'recipient_address' convenience variable for JS mail procs and added %T (recipient address) command-line specifier for mail proc command-lines. --- src/sbbs3/mailsrvr.c | 48 +++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index f0b954f091..85183e29b1 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -821,10 +821,10 @@ static void pop3_thread(void* arg) user.number=matchuser(&scfg,username,FALSE /*sysop_alias*/); if(!user.number) { if(scfg.sys_misc&SM_ECHO_PW) - lprintf(LOG_WARNING,"%04d !POP3 UNKNOWN USER: %s (password: %s)" + lprintf(LOG_NOTICE,"%04d !POP3 UNKNOWN USER: %s (password: %s)" ,socket, username, password); else - lprintf(LOG_WARNING,"%04d !POP3 UNKNOWN USER: %s" + lprintf(LOG_NOTICE,"%04d !POP3 UNKNOWN USER: %s" ,socket, username); sockprintf(socket,pop_err); break; @@ -836,7 +836,7 @@ static void pop3_thread(void* arg) break; } if(user.misc&(DELETED|INACTIVE)) { - lprintf(LOG_WARNING,"%04d !POP3 DELETED or INACTIVE user #%u (%s)" + lprintf(LOG_NOTICE,"%04d !POP3 DELETED or INACTIVE user #%u (%s)" ,socket, user.number, username); sockprintf(socket, pop_err); break; @@ -847,7 +847,7 @@ static void pop3_thread(void* arg) MD5_calc(digest,challenge,strlen(challenge)); MD5_hex(str,digest); if(strcmp(str,response)) { - lprintf(LOG_WARNING,"%04d !POP3 %s FAILED APOP authentication" + lprintf(LOG_NOTICE,"%04d !POP3 %s FAILED APOP authentication" ,socket,username); #if 0 lprintf(LOG_DEBUG,"%04d !POP3 digest data: %s",socket,challenge); @@ -859,10 +859,10 @@ static void pop3_thread(void* arg) } } else if(stricmp(password,user.pass)) { if(scfg.sys_misc&SM_ECHO_PW) - lprintf(LOG_WARNING,"%04d !POP3 FAILED Password attempt for user %s: '%s' expected '%s'" + lprintf(LOG_NOTICE,"%04d !POP3 FAILED Password attempt for user %s: '%s' expected '%s'" ,socket, username, password, user.pass); else - lprintf(LOG_WARNING,"%04d !POP3 FAILED Password attempt for user %s" + lprintf(LOG_NOTICE,"%04d !POP3 FAILED Password attempt for user %s" ,socket, username); sockprintf(socket, pop_err); break; @@ -991,7 +991,7 @@ static void pop3_thread(void* arg) if(isdigit(*p)) { msgnum=atol(p); if(msgnum<1 || msgnum>msgs) { - lprintf(LOG_WARNING,"%04d !POP3 INVALID message #%ld" + lprintf(LOG_NOTICE,"%04d !POP3 INVALID message #%ld" ,socket, msgnum); sockprintf(socket,"-ERR no such message"); continue; @@ -1004,7 +1004,7 @@ static void pop3_thread(void* arg) break; } if(msg.idx.attr&MSG_DELETE) { - lprintf(LOG_WARNING,"%04d !POP3 ATTEMPT to list DELETED message" + lprintf(LOG_NOTICE,"%04d !POP3 ATTEMPT to list DELETED message" ,socket); sockprintf(socket,"-ERR message deleted"); continue; @@ -1082,7 +1082,7 @@ static void pop3_thread(void* arg) lines=atol(p); } if(msgnum<1 || msgnum>msgs) { - lprintf(LOG_WARNING,"%04d !POP3 %s ATTEMPTED to retrieve an INVALID message #%ld" + lprintf(LOG_NOTICE,"%04d !POP3 %s ATTEMPTED to retrieve an INVALID message #%ld" ,socket, user.alias, msgnum); sockprintf(socket,"-ERR no such message"); continue; @@ -1099,7 +1099,7 @@ static void pop3_thread(void* arg) continue; } if(msg.idx.attr&MSG_DELETE) { - lprintf(LOG_WARNING,"%04d !POP3 ATTEMPT to retrieve DELETED message" + lprintf(LOG_NOTICE,"%04d !POP3 ATTEMPT to retrieve DELETED message" ,socket); sockprintf(socket,"-ERR message deleted"); continue; @@ -1175,7 +1175,7 @@ static void pop3_thread(void* arg) msgnum=atol(p); if(msgnum<1 || msgnum>msgs) { - lprintf(LOG_WARNING,"%04d !POP3 %s ATTEMPTED to delete an INVALID message #%ld" + lprintf(LOG_NOTICE,"%04d !POP3 %s ATTEMPTED to delete an INVALID message #%ld" ,socket, user.alias, msgnum); sockprintf(socket,"-ERR no such message"); continue; @@ -1231,7 +1231,7 @@ static void pop3_thread(void* arg) lprintf(LOG_INFO,"%04d POP3 message deleted", socket); continue; } - lprintf(LOG_WARNING,"%04d !POP3 UNSUPPORTED COMMAND from %s: '%s'" + lprintf(LOG_NOTICE,"%04d !POP3 UNSUPPORTED COMMAND from %s: '%s'" ,socket, user.alias, buf); sockprintf(socket,"-ERR UNSUPPORTED COMMAND: %s",buf); } @@ -1423,6 +1423,7 @@ static void signal_smtp_sem(void) static char* mailcmdstr(char* instr, char* msgpath, char* newpath, char* logpath ,char* lstpath, char* errpath ,char* host, char* ip, uint usernum + ,char* rcpt_addr ,char* sender, char* sender_addr, char* reverse_path, char* cmd) { char str[1024]; @@ -1477,6 +1478,9 @@ static char* mailcmdstr(char* instr, char* msgpath, char* newpath, char* logpath case 'S': /* sender name */ strcat(cmd,sender); break; + case 'T': /* recipient */ + strcat(cmd,rcpt_addr); + break; case 'A': /* sender address */ strcat(cmd,sender_addr); break; @@ -1622,6 +1626,7 @@ static BOOL js_mailproc(SOCKET sock, client_t* client, user_t* user, struct mailproc* mailproc ,char* cmdline ,char* msgtxt_fname, char* newtxt_fname, char* logtxt_fname + ,char* rcpt_addr ,char* rcptlst_fname, char* proc_err_fname ,char* sender, char* sender_addr, char* reverse_path, char* hello_name ,int32* result @@ -1715,6 +1720,10 @@ js_mailproc(SOCKET sock, client_t* client, user_t* user, struct mailproc* mailpr ,STRING_TO_JSVAL(JS_NewStringCopyZ(*js_cx,logtxt_fname)) ,NULL,NULL,JSPROP_ENUMERATE|JSPROP_READONLY); + JS_DefineProperty(*js_cx, *js_glob, "recipient_address" + ,STRING_TO_JSVAL(JS_NewStringCopyZ(*js_cx,rcpt_addr)) + ,NULL,NULL,JSPROP_ENUMERATE|JSPROP_READONLY); + JS_DefineProperty(*js_cx, *js_glob, "recipient_list_filename" ,STRING_TO_JSVAL(JS_NewStringCopyZ(*js_cx,rcptlst_fname)) ,NULL,NULL,JSPROP_ENUMERATE|JSPROP_READONLY); @@ -2441,6 +2450,7 @@ static void smtp_thread(void* arg) ,msgtxt_fname, newtxt_fname, logtxt_fname ,rcptlst_fname, proc_err_fname ,host_name, host_ip, relay_user.number + ,rctp_addr ,sender, sender_addr, reverse_path, str); lprintf(LOG_INFO,"%04d SMTP Executing external mail processor: %s" ,socket, mailproc_list[i].name); @@ -2462,6 +2472,7 @@ static void smtp_thread(void* arg) ,&mailproc_list[i] ,str /* cmdline */ ,msgtxt_fname, newtxt_fname, logtxt_fname + ,rcpt_addr ,rcptlst_fname, proc_err_fname ,sender, sender_addr, reverse_path, hello_name, &js_result ,&js_runtime, &js_cx, &js_glob @@ -3236,7 +3247,7 @@ static void smtp_thread(void* arg) } if(*p==0) { - lprintf(LOG_WARNING,"%04d !SMTP NO RECIPIENT SPECIFIED" + lprintf(LOG_NOTICE,"%04d !SMTP NO RECIPIENT SPECIFIED" ,socket); sockprintf(socket, "500 No recipient specified"); continue; @@ -3247,7 +3258,7 @@ static void smtp_thread(void* arg) /* Check recipient counter */ if(rcpt_count>=startup->max_recipients) { - lprintf(LOG_WARNING,"%04d !SMTP MAXIMUM RECIPIENTS (%d) REACHED" + lprintf(LOG_NOTICE,"%04d !SMTP MAXIMUM RECIPIENTS (%d) REACHED" ,socket, startup->max_recipients); sprintf(tmp,"Maximum recipient count (%d)",startup->max_recipients); spamlog(&scfg, "SMTP", "REFUSED", tmp @@ -3292,7 +3303,8 @@ static void smtp_thread(void* arg) /* Check for full address aliases */ p=alias(&scfg,p,alias_buf); if(p==alias_buf) - lprintf(LOG_INFO,"%04d SMTP ADDRESS ALIAS: %s",socket,p); + lprintf(LOG_INFO,"%04d SMTP ADDRESS ALIAS: %s (for %s)" + ,socket,p,rcpt_addr); tp=strrchr(p,'@'); if(cmd==SMTP_CMD_MAIL && tp!=NULL) { @@ -3375,7 +3387,8 @@ static void smtp_thread(void* arg) p=alias(&scfg,p,name_alias_buf); if(p==name_alias_buf) - lprintf(LOG_INFO,"%04d SMTP NAME ALIAS: %s",socket,p); + lprintf(LOG_INFO,"%04d SMTP NAME ALIAS: %s (for %s)" + ,socket,p,rcpt_addr); if(!strnicmp(p,"sub:",4)) { /* Post on a sub-board */ p+=4; @@ -3383,7 +3396,7 @@ static void smtp_thread(void* arg) if(!stricmp(p,scfg.sub[i]->code)) break; if(i>=scfg.total_subs) { - lprintf(LOG_WARNING,"%04d !SMTP UNKNOWN SUB-BOARD: %s", socket, p); + lprintf(LOG_NOTICE,"%04d !SMTP UNKNOWN SUB-BOARD: %s", socket, p); sockprintf(socket, "550 Unknown sub-board: %s", p); continue; } @@ -3532,7 +3545,6 @@ static void smtp_thread(void* arg) fprintf(rcptlst,"%s=%s\n",smb_hfieldtype(RECIPIENT),rcpt_addr); fprintf(rcptlst,"%s=%u\n",smb_hfieldtype(RECIPIENTEXT),user.number); - /* Forward to Internet */ tp=strrchr(user.netmail,'@'); if(!telegram -- GitLab