From d3b05466ef0e04f720ba994b725e251b64a8643d Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 21 Sep 2011 03:10:53 +0000 Subject: [PATCH] Eliminated sbbs_t::errorlog(), as it didn't actually write to the error.log any longer (use lprintf(LOG_ERR,...) instead, which does). Added sbbs_t::hacklog() for convenience. --- src/sbbs3/download.cpp | 5 ++--- src/sbbs3/file.cpp | 7 +++---- src/sbbs3/getnode.cpp | 2 +- src/sbbs3/logfile.cpp | 23 ++++++++--------------- src/sbbs3/logon.cpp | 6 ++---- src/sbbs3/main.cpp | 1 - src/sbbs3/pack_qwk.cpp | 2 +- src/sbbs3/pack_rep.cpp | 4 ++-- src/sbbs3/qwk.cpp | 2 +- src/sbbs3/qwktomsg.cpp | 3 +-- src/sbbs3/sbbs.h | 3 +-- src/sbbs3/tmp_xfer.cpp | 14 +++++--------- src/sbbs3/un_qwk.cpp | 3 +-- src/sbbs3/upload.cpp | 6 ++---- src/sbbs3/xtrn.cpp | 19 +++++++++---------- 15 files changed, 39 insertions(+), 61 deletions(-) diff --git a/src/sbbs3/download.cpp b/src/sbbs3/download.cpp index 5d3e3c3e3d..ec60690297 100644 --- a/src/sbbs3/download.cpp +++ b/src/sbbs3/download.cpp @@ -165,9 +165,8 @@ void sbbs_t::notdownloaded(ulong size, time_t start, time_t end) if(cfg.leech_pct && cur_cps /* leech detection */ && end-start>=cfg.leech_sec && end-start>=(double)(size/cur_cps)*(double)cfg.leech_pct/100.0) { - sprintf(str,"Possible use of leech protocol (leech=%u downloads=%u)" - ,useron.leech+1,useron.dls); - errorlog(str); + lprintf(LOG_ERR, "Node %d Possible use of leech protocol (leech=%u downloads=%u)" + ,cfg.node_num, useron.leech+1,useron.dls); useron.leech=(uchar)adjustuserrec(&cfg,useron.number,U_LEECH,2,1); } } diff --git a/src/sbbs3/file.cpp b/src/sbbs3/file.cpp index 56a4b29987..9d463abe60 100644 --- a/src/sbbs3/file.cpp +++ b/src/sbbs3/file.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2010 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -276,13 +276,12 @@ extern "C" BOOL filematch(const char *filename, const char *filespec) /*****************************************************************************/ bool sbbs_t::checkfname(char *fname) { - char str[256]; int c=0,d; if(fname[0]=='-' || strcspn(fname,ILLEGAL_FILENAME_CHARS)!=strlen(fname)) { - SAFEPRINTF(str,"Suspicious filename attempt: '%s'",fname); - errorlog(str); + lprintf(LOG_WARNING,"Suspicious filename attempt: '%s'",fname); + hacklog("Filename", fname); return(false); } if(strstr(fname,"..")) diff --git a/src/sbbs3/getnode.cpp b/src/sbbs3/getnode.cpp index 7b5f389d5b..2629094326 100644 --- a/src/sbbs3/getnode.cpp +++ b/src/sbbs3/getnode.cpp @@ -132,7 +132,7 @@ void sbbs_t::nodesync() if(sys_status&SS_USERON) { if(thisnode.status==NODE_WFC) { - errorlog("NODE STATUS FIXUP"); + lprintf(LOG_ERR, "Node %d NODE STATUS FIXUP", cfg.node_num); if(getnodedat(cfg.node_num,&thisnode,true)==0) { thisnode.status=NODE_INUSE; putnodedat(cfg.node_num,&thisnode); diff --git a/src/sbbs3/logfile.cpp b/src/sbbs3/logfile.cpp index a11427a4fe..a4634cc0ba 100644 --- a/src/sbbs3/logfile.cpp +++ b/src/sbbs3/logfile.cpp @@ -67,6 +67,11 @@ extern "C" BOOL DLLCALL hacklog(scfg_t* cfg, char* prot, char* user, char* text, return(TRUE); } +BOOL sbbs_t::hacklog(char* prot, char* text) +{ + return ::hacklog(&cfg, prot, useron.alias, text, client_name, &client_addr); +} + extern "C" BOOL DLLCALL spamlog(scfg_t* cfg, char* prot, char* action ,char* reason, char* host, char* ip_addr ,char* to, char* from) @@ -282,18 +287,6 @@ void sbbs_t::errormsg(int line, const char *source, const char* action, const ch CRLF; } safe_snprintf(str,sizeof(str),"ERROR %s %s", action, object); - errorlog(str); - errormsg_inside=false; -} - -/*****************************************************************************/ -/* Error logging to NODE.LOG and DATA\ERROR.LOG function */ -/*****************************************************************************/ -void sbbs_t::errorlog(const char *text) -{ - if(errorlog_inside) /* let's not go recursive on this puppy */ - return; - errorlog_inside=1; if(cfg.node_num>0) { getnodedat(cfg.node_num,&thisnode,1); if(thisnode.errors<UCHAR_MAX) @@ -306,10 +299,10 @@ void sbbs_t::errorlog(const char *text) if(logfile_fp!=NULL) { if(logcol!=1) fprintf(logfile_fp,"\r\n"); - fprintf(logfile_fp,"%!! %s\r\n",text); + fprintf(logfile_fp,"!! %s\r\n",str); logcol=1; fflush(logfile_fp); } - errorlog_inside=0; -} + errormsg_inside=false; +} diff --git a/src/sbbs3/logon.cpp b/src/sbbs3/logon.cpp index 1030901a1b..0ab90a849b 100644 --- a/src/sbbs3/logon.cpp +++ b/src/sbbs3/logon.cpp @@ -483,11 +483,9 @@ bool sbbs_t::logon() } if(node.status==NODE_INUSE && i!=cfg.node_num && node.useron==useron.number && !SYSOP && !(useron.exempt&FLAG('G'))) { - strcpy(tmp,"On two nodes at the same time"); - sprintf(str,"(%04u) %-25s %s" - ,useron.number,useron.alias,tmp); + SAFEPRINTF2(str,"(%04u) %-25s On two nodes at the same time" + ,useron.number,useron.alias); logline(LOG_NOTICE,"+!",str); - errorlog(tmp); bputs(text[UserOnTwoNodes]); hangup(); return(false); diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index 355d49f850..55273a7736 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -2894,7 +2894,6 @@ sbbs_t::sbbs_t(ushort node_num, SOCKADDR_IN addr, const char* name, SOCKET sd, event_time = 0; event_code = nulstr; nodesync_inside = false; - errorlog_inside = false; errormsg_inside = false; gettimeleft_inside = false; timeleft = 60*10; /* just incase this is being used for calling gettimeleft() */ diff --git a/src/sbbs3/pack_qwk.cpp b/src/sbbs3/pack_qwk.cpp index 826844b40f..f45b931c58 100644 --- a/src/sbbs3/pack_qwk.cpp +++ b/src/sbbs3/pack_qwk.cpp @@ -728,7 +728,7 @@ bool sbbs_t::pack_qwk(char *packet, ulong *msgcnt, bool prepack) if(i) errormsg(WHERE,ERR_EXEC,cmdstr(temp_cmd(),packet,tmp2,NULL),i); else - errorlog("Couldn't compress QWK packet"); + lprintf(LOG_ERR, "Couldn't compress QWK packet"); return(false); } diff --git a/src/sbbs3/pack_rep.cpp b/src/sbbs3/pack_rep.cpp index 58b59e085b..8d16182885 100644 --- a/src/sbbs3/pack_rep.cpp +++ b/src/sbbs3/pack_rep.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2009 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -269,7 +269,7 @@ bool sbbs_t::pack_rep(uint hubnum) if(i) errormsg(WHERE,ERR_EXEC,cmdstr(cfg.qhub[hubnum]->pack,str,tmp2,NULL),i); else - errorlog("Couldn't compress REP packet"); + lprintf(LOG_ERR, "Couldn't compress REP packet"); return(false); } SAFEPRINTF2(str,"%sqnet/%s.out/",cfg.data_dir,hubid_lower); diff --git a/src/sbbs3/qwk.cpp b/src/sbbs3/qwk.cpp index 3295ede14b..ed9a19403b 100644 --- a/src/sbbs3/qwk.cpp +++ b/src/sbbs3/qwk.cpp @@ -769,7 +769,7 @@ void sbbs_t::qwk_sec() break; if(k>=cfg.total_fextrs) { bputs(text[QWKExtractionFailed]); - errorlog("Couldn't extract REP packet - configuration error"); + lprintf(LOG_ERR, "Couldn't extract REP packet - configuration error"); continue; } diff --git a/src/sbbs3/qwktomsg.cpp b/src/sbbs3/qwktomsg.cpp index e18a1118bb..451a1a8dbc 100644 --- a/src/sbbs3/qwktomsg.cpp +++ b/src/sbbs3/qwktomsg.cpp @@ -388,9 +388,8 @@ bool sbbs_t::qwk_import_msg(FILE *qwk_fp, char *hdrblk, ulong blocks set_qwk_flag(QWK_VIA); if(route_circ(p,cfg.sys_id)) { bprintf("\r\nCircular message path: %s\r\n",p); - SAFEPRINTF2(str,"Circular message path: %s from %s" + lprintf(LOG_ERR,"Circular message path: %s from %s" ,p,fromhub ? cfg.qhub[fromhub-1]->id:useron.alias); - errorlog(str); strListFree(&kludges); free(body); free(tail); diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index f493391945..f015b6a5d8 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -724,11 +724,10 @@ public: void logline(int level, const char *code,const char *str); void logofflist(void); /* List of users logon activity */ bool syslog(const char* code, const char *entry); - void errorlog(const char *text); /* Logs errors to ERROR.LOG and NODE.LOG */ - bool errorlog_inside; bool errormsg_inside; void errormsg(int line, const char *file, const char* action, const char *object ,ulong access, const char *extinfo=NULL); + BOOL hacklog(char* prot, char* text); /* qwk.cpp */ bool qwklogon; diff --git a/src/sbbs3/tmp_xfer.cpp b/src/sbbs3/tmp_xfer.cpp index 9d366633ae..6da3d30f69 100644 --- a/src/sbbs3/tmp_xfer.cpp +++ b/src/sbbs3/tmp_xfer.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2010 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2011 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -111,17 +111,15 @@ void sbbs_t::temp_xfer() case 'A': /* add to temp file */ if(!isdir(cfg.temp_dir)) { bprintf(text[DirectoryDoesNotExist], cfg.temp_dir); - SAFEPRINTF(str,"Temp directory does not exist: %s", cfg.temp_dir); - errorlog(str); + lprintf(LOG_ERR,"Temp directory does not exist: %s", cfg.temp_dir); break; } /* free disk space */ space=getfreediskspace(cfg.temp_dir,1024); if(space<(ulong)cfg.min_dspace) { bputs(text[LowDiskSpace]); - SAFEPRINTF2(str,"Diskspace is low: %s (%lu kilobytes)" + lprintf(LOG_ERR,"Diskspace is low: %s (%lu kilobytes)" ,cfg.temp_dir,space); - errorlog(str); if(!dir_op(dirnum)) break; } @@ -303,8 +301,7 @@ void sbbs_t::extract(uint dirnum) if(!isdir(cfg.temp_dir)) { bprintf(text[DirectoryDoesNotExist], cfg.temp_dir); - SAFEPRINTF(str,"Temp directory does not exist: %s", cfg.temp_dir); - errorlog(str); + lprintf(LOG_ERR,"Temp directory does not exist: %s", cfg.temp_dir); return; } @@ -312,8 +309,7 @@ void sbbs_t::extract(uint dirnum) space=getfreediskspace(cfg.temp_dir,1024); if(space<(ulong)cfg.min_dspace) { bputs(text[LowDiskSpace]); - SAFEPRINTF2(str,"Diskspace is low: %s (%lu kilobytes)",cfg.temp_dir,space); - errorlog(str); + lprintf(LOG_ERR,"Diskspace is low: %s (%lu kilobytes)",cfg.temp_dir,space); if(!dir_op(dirnum)) return; } diff --git a/src/sbbs3/un_qwk.cpp b/src/sbbs3/un_qwk.cpp index 6829bf935f..2e9b754195 100644 --- a/src/sbbs3/un_qwk.cpp +++ b/src/sbbs3/un_qwk.cpp @@ -84,8 +84,7 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum) } SAFEPRINTF(str,"%sMESSAGES.DAT",cfg.temp_dir); if(!fexistcase(str)) { - SAFEPRINTF2(tmp,"%s doesn't contain MESSAGES.DAT (%s)",packet,str); - errorlog(tmp); + lprintf(LOG_WARNING,"%s doesn't contain MESSAGES.DAT (%s)",packet,str); return(false); } if((qwk=fnopen(&file,str,O_RDONLY))==NULL) { diff --git a/src/sbbs3/upload.cpp b/src/sbbs3/upload.cpp index 970e51ec39..51339dd05e 100644 --- a/src/sbbs3/upload.cpp +++ b/src/sbbs3/upload.cpp @@ -287,8 +287,7 @@ bool sbbs_t::upload(uint dirnum) if(!isdir(path)) { bprintf(text[DirectoryDoesNotExist], path); - SAFEPRINTF(str,"File directory does not exist: %s", path); - errorlog(str); + lprintf(LOG_ERR,"File directory does not exist: %s", path); return(false); } @@ -296,8 +295,7 @@ bool sbbs_t::upload(uint dirnum) space=getfreediskspace(path,1024); if(space<(ulong)cfg.min_dspace) { bputs(text[LowDiskSpace]); - sprintf(str,"Diskspace is low: %s (%lu kilobytes)",path,space); - errorlog(str); + lprintf(LOG_ERR,"Diskspace is low: %s (%lu kilobytes)",path,space); if(!dir_op(dirnum)) return(false); } diff --git a/src/sbbs3/xtrn.cpp b/src/sbbs3/xtrn.cpp index a75b0535d8..b6c6fe82de 100644 --- a/src/sbbs3/xtrn.cpp +++ b/src/sbbs3/xtrn.cpp @@ -907,16 +907,16 @@ int sbbs_t::external(const char* cmdline, long mode, const char* startup_dir) if(mode&EX_WWIV) { bp=wwiv_expand(buf, rd, wwiv_buf, rd, useron.misc, wwiv_flag); if(rd>sizeof(wwiv_buf)) - errorlog("WWIV_BUF OVERRUN"); + lprintf(LOG_ERR,"WWIV_BUF OVERRUN"); } else if(telnet_mode&TELNET_MODE_OFF) { bp=buf; } else { bp=telnet_expand(buf, rd, telnet_buf, rd); if(rd>sizeof(telnet_buf)) - errorlog("TELNET_BUF OVERRUN"); + lprintf(LOG_ERR,"TELNET_BUF OVERRUN"); } if(rd>RingBufFree(&outbuf)) { - errorlog("output buffer overflow"); + lprintf(LOG_ERR,"output buffer overflow"); rd=RingBufFree(&outbuf); } RingBufWrite(&outbuf, bp, rd); @@ -974,16 +974,16 @@ int sbbs_t::external(const char* cmdline, long mode, const char* startup_dir) if(mode&EX_WWIV) { bp=wwiv_expand(buf, rd, wwiv_buf, rd, useron.misc, wwiv_flag); if(rd>sizeof(wwiv_buf)) - errorlog("WWIV_BUF OVERRUN"); + lprintf(LOG_ERR,"WWIV_BUF OVERRUN"); } else if(telnet_mode&TELNET_MODE_OFF) { bp=buf; } else { bp=telnet_expand(buf, rd, telnet_buf, rd); if(rd>sizeof(telnet_buf)) - errorlog("TELNET_BUF OVERRUN"); + lprintf(LOG_ERR,"TELNET_BUF OVERRUN"); } if(rd>RingBufFree(&outbuf)) { - errorlog("output buffer overflow"); + lprintf(LOG_ERR,"output buffer overflow"); rd=RingBufFree(&outbuf); } RingBufWrite(&outbuf, bp, rd); @@ -1781,8 +1781,7 @@ int sbbs_t::external(const char* cmdline, long mode, const char* startup_dir) #endif execvp(argv[0],argv); - sprintf(str,"!ERROR %d executing %s",errno,argv[0]); - errorlog(str); + lprintf(LOG_ERR,"Node %d !ERROR %d executing %s",cfg.node_num,errno,argv[0]); _exit(-1); /* should never get here */ } @@ -1907,13 +1906,13 @@ int sbbs_t::external(const char* cmdline, long mode, const char* startup_dir) /* Did expansion overrun the output buffer? */ if(output_len>sizeof(output_buf)) { - errorlog("OUTPUT_BUF OVERRUN"); + lprintf(LOG_ERR,"OUTPUT_BUF OVERRUN"); output_len=sizeof(output_buf); } /* Does expanded size fit in the ring buffer? */ if(output_len>RingBufFree(&outbuf)) { - errorlog("output buffer overflow"); + lprintf(LOG_ERR,"output buffer overflow"); output_len=RingBufFree(&outbuf); } -- GitLab