diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index 8301cf32bd80ec642c448842fc012b8868b12455..e32bc87bc7d167239ce418699114ec22a9824dbb 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -1177,7 +1177,7 @@ uint find_area(const char* echotag) unsigned u; for(u=0; u < cfg.areas; u++) - if(stricmp(cfg.area[u].name, echotag) == 0) + if(stricmp(cfg.area[u].tag, echotag) == 0) break; return u; @@ -1235,7 +1235,7 @@ void gen_notify_list(void) fprintf(tmpf,"Connected Areas\r\n---------------\r\n"); for(i=0;i<cfg.areas;i++) { - sprintf(str,"%s\r\n",cfg.area[i].name); + sprintf(str,"%s\r\n",cfg.area[i].tag); if(str[0]=='*') continue; if(area_is_linked(i,&cfg.nodecfg[k].addr)) @@ -1282,7 +1282,7 @@ void netmail_arealist(enum arealist_type type, fidoaddr_t addr, const char* to) continue; if(type == AREALIST_UNLINKED && area_is_linked(u,&addr)) continue; - strListPush(&area_list, cfg.area[u].name); + strListPush(&area_list, cfg.area[u].tag); } if(type != AREALIST_CONNECTED) { @@ -1399,7 +1399,7 @@ int check_elists(const char *areatag, fidoaddr_t addr) void alter_areas(str_list_t add_area, str_list_t del_area, fidoaddr_t addr, const char* to) { FILE *nmfile,*afilein,*afileout,*fwdfile; - char str[1024],fields[1024],field1[256],field2[256],field3[256] + char str[1024],fields[1024],code[LEN_EXTCODE+1],echotag[FIDO_AREATAG_LEN+1],comment[256] ,outpath[MAX_PATH+1] ,*outname,*p,*tp,nomatch=0,match=0; unsigned j,k,x,y; @@ -1449,34 +1449,34 @@ void alter_areas(str_list_t add_area, str_list_t del_area, fidoaddr_t addr, cons fprintf(afileout,"%s\n",fields); continue; } - SAFECOPY(field1,p); /* Internal Code Field */ - truncstr(field1," \t\r\n"); + SAFECOPY(code,p); /* Internal Code Field */ + truncstr(code," \t\r\n"); FIND_WHITESPACE(p); SKIP_WHITESPACE(p); - SAFECOPY(field2,p); /* Areatag Field */ - truncstr(field2," \t\r\n"); + SAFECOPY(echotag,p); /* Areatag Field */ + truncstr(echotag," \t\r\n"); FIND_WHITESPACE(p); SKIP_WHITESPACE(p); if((tp=strchr(p,';'))!=NULL) { - SAFECOPY(field3,tp); /* Comment Field (if any), follows links */ + SAFECOPY(comment,tp); /* Comment Field (if any), follows links */ } else - field3[0]=0; + comment[0]=0; if(del_count) { /* Check for areas to remove */ for(u=0;del_area[u]!=NULL;u++) { - if(!stricmp(del_area[u],field2) || + if(!stricmp(del_area[u],echotag) || !stricmp(del_area[0],"-ALL")) /* Match Found */ break; } if(del_area[u]!=NULL) { for(u=0;u<cfg.areas;u++) { - if(!stricmp(field2,cfg.area[u].name)) { - lprintf(LOG_DEBUG,"Unlinking area (%s) for %s in %s", field2, smb_faddrtoa(&addr,NULL), cfg.areafile); + if(!stricmp(echotag,cfg.area[u].tag)) { + lprintf(LOG_DEBUG,"Unlinking area (%s) for %s in %s", echotag, smb_faddrtoa(&addr,NULL), cfg.areafile); if(!area_is_linked(u,&addr)) { fprintf(afileout,"%s\n",fields); /* bugfix here Mar-25-2004 (wasn't breaking for "-ALL") */ if(stricmp(del_area[0],"-ALL")) - fprintf(nmfile,"%s not connected.\r\n",field2); + fprintf(nmfile,"%s not connected.\r\n",echotag); break; } @@ -1500,8 +1500,8 @@ void alter_areas(str_list_t add_area, str_list_t del_area, fidoaddr_t addr, cons } fprintf(afileout,"%-*s %-*s " - ,LEN_EXTCODE, field1 - ,FIDO_AREATAG_LEN, field2); + ,LEN_EXTCODE, code + ,FIDO_AREATAG_LEN, echotag); for(j=0;j<cfg.area[u].links;j++) { if(!memcmp(&cfg.area[u].link[j],&addr ,sizeof(fidoaddr_t))) @@ -1509,10 +1509,10 @@ void alter_areas(str_list_t add_area, str_list_t del_area, fidoaddr_t addr, cons fprintf(afileout,"%s " ,smb_faddrtoa(&cfg.area[u].link[j],NULL)); } - if(field3[0]) - fprintf(afileout,"%s",field3); + if(comment[0]) + fprintf(afileout,"%s",comment); fprintf(afileout,"\n"); - fprintf(nmfile,"%s removed.\r\n",field2); + fprintf(nmfile,"%s removed.\r\n",echotag); break; } } @@ -1523,21 +1523,21 @@ void alter_areas(str_list_t add_area, str_list_t del_area, fidoaddr_t addr, cons } if(add_count) { /* Check for areas to add */ for(u=0;add_area[u]!=NULL;u++) - if(!stricmp(add_area[u],field2) || + if(!stricmp(add_area[u],echotag) || !stricmp(add_area[0],"+ALL")) /* Match Found */ break; if(add_area[u]!=NULL) { if(stricmp(add_area[u],"+ALL")) add_area[u][0]=0; /* So we can check other lists */ for(u=0;u<cfg.areas;u++) { - if(!stricmp(field2,cfg.area[u].name)) { - lprintf(LOG_DEBUG,"Linking area (%s) for %s in %s", field2, smb_faddrtoa(&addr,NULL), cfg.areafile); + if(!stricmp(echotag,cfg.area[u].tag)) { + lprintf(LOG_DEBUG,"Linking area (%s) for %s in %s", echotag, smb_faddrtoa(&addr,NULL), cfg.areafile); if(area_is_linked(u,&addr)) { fprintf(afileout,"%s\n",fields); - fprintf(nmfile,"%s already connected.\r\n",field2); + fprintf(nmfile,"%s already connected.\r\n",echotag); break; } - if(cfg.add_from_echolists_only && !check_elists(field2,addr)) { + if(cfg.add_from_echolists_only && !check_elists(echotag,addr)) { fprintf(afileout,"%s\n",fields); break; } @@ -1556,15 +1556,15 @@ void alter_areas(str_list_t add_area, str_list_t del_area, fidoaddr_t addr, cons memcpy(&cfg.area[u].link[cfg.area[u].links-1],&addr,sizeof(fidoaddr_t)); fprintf(afileout,"%-*s %-*s " - ,LEN_EXTCODE, field1 - ,FIDO_AREATAG_LEN, field2); + ,LEN_EXTCODE, code + ,FIDO_AREATAG_LEN, echotag); for(j=0;j<cfg.area[u].links;j++) fprintf(afileout,"%s " ,smb_faddrtoa(&cfg.area[u].link[j],NULL)); - if(field3[0]) - fprintf(afileout,"%s",field3); + if(comment[0]) + fprintf(afileout,"%s",comment); fprintf(afileout,"\n"); - fprintf(nmfile,"%s added.\r\n",field2); + fprintf(nmfile,"%s added.\r\n",echotag); break; } } @@ -1653,10 +1653,12 @@ void alter_areas(str_list_t add_area, str_list_t del_area, fidoaddr_t addr, cons if(add_area[u][0]) fprintf(nmfile,"%s not found.\r\n",add_area[u]); } - if(!ftell(nmfile)) - create_netmail(to,/* msg: */NULL,"Area Change Request","No changes made.",addr,/* attachment: */false); - else - file_to_netmail(nmfile,"Area Change Request",addr,to); + if (to != NULL) { + if (!ftell(nmfile)) + create_netmail(to,/* msg: */NULL, "Area Change Request", "No changes made.", addr,/* attachment: */false); + else + file_to_netmail(nmfile, "Area Change Request", addr, to); + } fclose(nmfile); fclose(afileout); if(cfg.areafile_backups == 0 || !backup(cfg.areafile, cfg.areafile_backups, /* ren: */TRUE)) @@ -3434,15 +3436,15 @@ void putfmsg(FILE* stream, const char* fbuf, fmsghdr_t fmsghdr, area_t area len = strlen((char *)fbuf); /* Write message body */ - if(area.name) + if(area.tag) if(strncmp((char *)fbuf,"AREA:",5)) /* No AREA: Line */ - fprintf(stream,"AREA:%s\r",area.name); /* So add one */ + fprintf(stream,"AREA:%s\r",area.tag); /* So add one */ fwrite(fbuf,len,1,stream); lastlen=9; if(len && fbuf[len-1]!='\r') fputc('\r',stream); - if(area.name==NULL) { /* NetMail, so add FSP-1010 Via kludge line */ + if(area.tag==NULL) { /* NetMail, so add FSP-1010 Via kludge line */ t = time(NULL); tm = gmtime(&t); fprintf(stream,"\1Via %s @%04u%02u%02u.%02u%02u%02u.UTC " @@ -3929,7 +3931,7 @@ void pkt_to_pkt(const char *fbuf, area_t area, const fidoaddr_t* faddr fmsghdr.destnet = area.link[u].net; fmsghdr.destzone = area.link[u].zone; lprintf(LOG_DEBUG, "Adding %s message from %s (%s) to packet for %s: %s" - ,area.name, fmsghdr.from, fmsghdr_srcaddr_str(&fmsghdr), smb_faddrtoa(&area.link[u], NULL), pkt->filename); + ,area.tag, fmsghdr.from, fmsghdr_srcaddr_str(&fmsghdr), smb_faddrtoa(&area.link[u], NULL), pkt->filename); putfmsg(pkt->fp, fbuf, fmsghdr, area, seenbys, paths); } } @@ -4298,7 +4300,7 @@ void export_echomail(const char* sub_code, const nodecfg_t* nodecfg, bool rescan printf("\nScanning for Outbound EchoMail..."); for(area=0; area<cfg.areas && !terminated; area++) { - const char* tag=cfg.area[area].name; + const char* tag=cfg.area[area].tag; if(area==cfg.badecho) /* Don't scan the bad-echo area */ continue; if(!cfg.area[area].links) @@ -4585,7 +4587,7 @@ void export_echomail(const char* sub_code, const nodecfg_t* nodecfg, bool rescan if(cfg.area[u].exported) lprintf(LOG_INFO,"Exported: %5u msgs %*s -> %s" ,cfg.area[u].exported,LEN_EXTCODE,scfg.sub[cfg.area[u].sub]->code - ,cfg.area[u].name); + ,cfg.area[u].tag); if(exported) lprintf(LOG_INFO,"Exported: %5lu msgs total", exported); @@ -5240,7 +5242,7 @@ void import_packets(const char* inbound, nodecfg_t* inbox, bool secure) /* From here on out, i = area number and area[i].sub = sub number */ memcpy(&curarea,&cfg.area[i],sizeof(area_t)); - curarea.name=areatag; + curarea.tag=areatag; if(cfg.area[i].sub==INVALID_SUB) { /* Passthru */ strip_psb(fmsgbuf); @@ -5713,9 +5715,9 @@ int main(int argc, char **argv) lprintf(LOG_WARNING, "DUPLICATE AREA (%s) in area file (%s), IGNORED!", area_tag, cfg.areafile); continue; } - if((cfg.area[cfg.areas].name=strdup(area_tag))==NULL) { + if((cfg.area[cfg.areas].tag=strdup(area_tag))==NULL) { printf("\n"); - lprintf(LOG_ERR,"ERROR allocating memory for area #%u tag name." + lprintf(LOG_ERR,"ERROR allocating memory for area #%u tag." ,cfg.areas+1); bail(1); return -1; @@ -5744,7 +5746,7 @@ int main(int argc, char **argv) if(findnodecfg(&cfg, link, /* exact: */false) == NULL) { printf("\n"); lprintf(LOG_WARNING, "Configuration for %s-linked-node (%s) not found in %s" - ,cfg.area[cfg.areas].name, faddrtoa(&link), cfg.cfgfile); + ,cfg.area[cfg.areas].tag, faddrtoa(&link), cfg.cfgfile); } else cfg.area[cfg.areas].links++; FIND_WHITESPACE(p); /* Skip address */ @@ -5764,7 +5766,7 @@ int main(int argc, char **argv) for(unsigned u=0; u < cfg.areas && !terminated; u++) { printf("%-*s %-*s " ,LEN_EXTCODE, cfg.area[u].sub == INVALID_SUB ? "P" : scfg.sub[cfg.area[u].sub]->code - ,FIDO_AREATAG_LEN, cfg.area[u].name); + ,FIDO_AREATAG_LEN, cfg.area[u].tag); for(unsigned l=0; l < cfg.area[u].links && !terminated; l++) printf("%s ", faddrtoa(&cfg.area[u].link[l])); printf("\n"); @@ -5844,17 +5846,17 @@ int main(int argc, char **argv) if(cfg.area[u].imported) lprintf(LOG_INFO,"Imported: %5u msgs %*s <- %s" ,cfg.area[u].imported,LEN_EXTCODE,scfg.sub[cfg.area[u].sub]->code - ,cfg.area[u].name); + ,cfg.area[u].tag); } for(uint u=0; u<cfg.areas; u++) { if(cfg.area[u].circular) lprintf(LOG_INFO,"Circular: %5u detected in %s" - ,cfg.area[u].circular, cfg.area[u].name); + ,cfg.area[u].circular, cfg.area[u].tag); } for(uint u=0; u<cfg.areas; u++) { if(cfg.area[u].dupes) lprintf(LOG_INFO,"Duplicate: %4u detected in %s" - ,cfg.area[u].dupes, cfg.area[u].name); + ,cfg.area[u].dupes, cfg.area[u].tag); } if(echomail) @@ -5935,9 +5937,9 @@ int main(int argc, char **argv) if(i<0 || i>=scfg.total_subs) /* Don't scan pass-through areas */ continue; lprintf(LOG_DEBUG,"\n%-*.*s -> %s" - ,LEN_EXTCODE, LEN_EXTCODE, scfg.sub[i]->code, cfg.area[u].name); + ,LEN_EXTCODE, LEN_EXTCODE, scfg.sub[i]->code, cfg.area[u].tag); if(getlastmsg(i,&lastmsg,0) >= 0) - write_export_ptr(i, lastmsg, cfg.area[u].name); + write_export_ptr(i, lastmsg, cfg.area[u].tag); } } diff --git a/src/sbbs3/sbbsecho.h b/src/sbbs3/sbbsecho.h index c4f958832772f236af494bb39cd3a80e1b951fa5..8e2d538b76709f6002676f01ea318db4aec4fb69 100644 --- a/src/sbbs3/sbbsecho.h +++ b/src/sbbs3/sbbsecho.h @@ -1,4 +1,4 @@ -/* Synchronet FidoNet Echomail tosser/scanner/areafix program */ +/* Synchronet FidoNet EchoMail tosser/scanner/areafix program */ /* $Id$ */ @@ -67,7 +67,7 @@ enum pkt_type { typedef struct { uint sub; /* Set to INVALID_SUB if pass-thru */ - char* name; /* Area tag name */ + char* tag; /* AreaTag, a.k.a. 'EchoTag' */ uint imported; /* Total messages imported this run */ uint exported; /* Total messages exported this run */ uint circular; /* Total circular paths detected */