--- sbbs/sbbs2/echo/sbbsecho.c 2018/04/24 16:37:52 1.1 +++ sbbs/sbbs2/echo/sbbsecho.c 2018/04/24 16:39:09 1.1.1.2 @@ -1,6 +1,6 @@ /* SBBSECHO.C */ -/* Developed 1990-1997 by Rob Swindell; PO Box 501, Yorba Linda, CA 92885 */ +/* Developed 1990-2000 by Rob Swindell; PO Box 501, Yorba Linda, CA 92885 */ /* Portions written by Allen Christiansen 1994-1996 */ @@ -151,7 +151,7 @@ now=time(NULL); gm=localtime(&now); fseek(fidologfile,0L,SEEK_END); fprintf(fidologfile,"%02u/%02u/%02u %02u:%02u:%02u %s\r\n" - ,gm->tm_mon+1,gm->tm_mday,gm->tm_year,gm->tm_hour,gm->tm_min,gm->tm_sec + ,gm->tm_mon+1,gm->tm_mday,TM_YEAR(gm->tm_year),gm->tm_hour,gm->tm_min,gm->tm_sec ,buf); fflush(fidologfile); } @@ -375,6 +375,7 @@ int create_netmail(char *to,char *subjec uint i; static uint startmsg; time_t t; + faddr_t faddr; fmsghdr_t hdr; struct tm *tm; @@ -403,11 +404,12 @@ do { logprintf("ERROR line %d opening %s %s",__LINE__,fname,sys_errlist[errno]); return(-1); } + faddr=getsysfaddr(dest.zone); memset(&hdr,0,sizeof(fmsghdr_t)); - hdr.origzone=faddr[0].zone; - hdr.orignet=faddr[0].net; - hdr.orignode=faddr[0].node; - hdr.origpoint=faddr[0].point; + hdr.origzone=faddr.zone; + hdr.orignet=faddr.net; + hdr.orignode=faddr.node; + hdr.origpoint=faddr.point; hdr.destzone=dest.zone; hdr.destnet=dest.net; hdr.destnode=dest.node; @@ -427,7 +429,7 @@ do { t=time(NULL); tm=gmtime(&t); sprintf(hdr.time,"%02u %3.3s %02u %02u:%02u:%02u" - ,tm->tm_mday,mon[tm->tm_mon],tm->tm_year + ,tm->tm_mday,mon[tm->tm_mon],TM_YEAR(tm->tm_year) ,tm->tm_hour,tm->tm_min,tm->tm_sec); if(to) @@ -2235,6 +2237,8 @@ if(isdigit(str[1])) { /* Regular format: else tm.tm_mon=11; tm.tm_year=atoi(str+7); + if(tm.tm_year=MAX_TOTAL_PKTS) { + printf("MAX_TOTAL_PKTS (%d) REACHED!\n",MAX_TOTAL_PKTS); + logprintf("MAX_TOTAL_PKTS (%d) REACHED!\n",MAX_TOTAL_PKTS); + break; + } if(outpkt[i].curopen) { fputc(0,outpkt[i].stream); fputc(0,outpkt[i].stream); @@ -3232,6 +3243,11 @@ for(j=0;j=MAX_TOTAL_PKTS) { + printf("MAX_TOTAL_PKTS (%d) REACHED!\n",MAX_TOTAL_PKTS); + logprintf("MAX_TOTAL_PKTS (%d) REACHED!\n",MAX_TOTAL_PKTS); + break; + } if(!memcmp(&area.uplink[j],&outpkt[i].uplink,sizeof(faddr_t))) { if(!outpkt[i].curopen) { if(openpkts==DFLT_OPEN_PKTS) @@ -3295,7 +3311,7 @@ for(j=0;jtm_year; + pkthdr.year=tm->tm_year+1900; pkthdr.month=tm->tm_mon; pkthdr.day=tm->tm_mday; pkthdr.hour=tm->tm_hour; @@ -3773,7 +3789,7 @@ for(i=0;itm_mday,mon[tm->tm_mon],tm->tm_year + ,tm->tm_mday,mon[tm->tm_mon],TM_YEAR(tm->tm_year) ,tm->tm_hour,tm->tm_min,tm->tm_sec); sprintf(hdr.to,"%.35s",msg.to); @@ -3902,7 +3918,8 @@ int main(int argc, char **argv) FILE *fidomsg; char ch,str[1025],fname[256],path[512],sub_code[9] ,*p,*tp,*sp,*buf,cr,tear,lzh - ,areatagstr[129],packet[128],outbound[128]; + ,areatagstr[129],packet[128],outbound[128] + ,password[16]; uchar HUGE16 *fmsgbuf=NULL; ushort xlat,attr; int i,j,k,n,x,y,z,last,file,fmsg,g,grunged; @@ -3971,7 +3988,7 @@ printf("\nSBBSecho Version %s (%s) SMBLI #else ,"DOS16" #endif - ,SMBLIB_VERSION + ,smb_lib_ver() ); putenv("TZ=UCT0"); @@ -4139,7 +4156,6 @@ if(misc&LOGFILE) printf("\7ERROR opening %s\n",cfg.logfile); exit(1); } - if(exec_dir[0]!='\\' && exec_dir[1]!=':') { strcpy(path,node_dir); strcat(path,exec_dir); @@ -4391,12 +4407,13 @@ for(l=_dos_findfirst(path,0,&ff);!l && ! if(misc&SECURE) { k=matchnode(pkt_faddr,1); + sprintf(password,"%.8s",pkthdr.password); if(ktm_year; + pkthdr.year=tm->tm_year+1900; pkthdr.month=tm->tm_mon; pkthdr.day=tm->tm_mday; pkthdr.hour=tm->tm_hour; @@ -4997,7 +5018,8 @@ for(i=0;ishd_fp) smb_close(email); + FREE(smb); FREE(email); return(0);