Added broadcasting support to magimail
This commit is contained in:
parent
7b2d13d15a
commit
bafbad99f6
@ -13,6 +13,12 @@
|
||||
|
||||
SYSOP "Johan Billing"
|
||||
|
||||
BBSNAME "Cauldron BBS"
|
||||
|
||||
; BROADCAST <address> <port>
|
||||
|
||||
;BROADCAST 192.168.1.255 2027
|
||||
|
||||
; LOGFILE <filename>
|
||||
; LOGLEVEL <level>
|
||||
;
|
||||
|
@ -75,7 +75,8 @@ CMOBJS = $(OBJDIR)/magimail.o \
|
||||
$(OBJDIR)/scan.o \
|
||||
$(OBJDIR)/outbound.o \
|
||||
$(OBJDIR)/filter.o \
|
||||
$(OBJDIR)/areafix.o
|
||||
$(OBJDIR)/areafix.o \
|
||||
$(OBJDIR)/broadcast.o
|
||||
|
||||
files : $(BINDIR)/magimail$(EXESUFFIX) \
|
||||
$(BINDIR)/magistats$(EXESUFFIX) \
|
||||
@ -120,6 +121,9 @@ $(BINDIR)/magilistout$(EXESUFFIX) : tools/magilistout.c $(SHOBJS) $(OSLIB)
|
||||
|
||||
# magimail
|
||||
|
||||
$(OBJDIR)/broadcast.o : magimail/broadcast.c
|
||||
$(CC) -c magimail/broadcast.c -o $(OBJDIR)/broadcast.o
|
||||
|
||||
$(OBJDIR)/magimail.o : magimail/magimail.c
|
||||
$(CC) -c magimail/magimail.c -o $(OBJDIR)/magimail.o
|
||||
|
||||
|
@ -96,6 +96,7 @@ bool ReadConfig(char *filename,struct Config *cfg,short *seconderr,uint32_t *cfg
|
||||
jbNewList(&LastAka->AddList);
|
||||
jbNewList(&LastAka->RemList);
|
||||
}
|
||||
|
||||
else if(stricmp(cfgword,"ADDNODE")==0)
|
||||
{
|
||||
if(!LastAka)
|
||||
@ -192,6 +193,24 @@ bool ReadConfig(char *filename,struct Config *cfg,short *seconderr,uint32_t *cfg
|
||||
}
|
||||
|
||||
}
|
||||
else if (stricmp(cfgword, "BROADCAST") == 0)
|
||||
{
|
||||
if(!(jbstrcpy(buf2,cfgbuf,20,&jbcpos)))
|
||||
{
|
||||
strcpy(cfgerr,"Missing argument");
|
||||
osClose(cfgfh);
|
||||
return(FALSE);
|
||||
}
|
||||
strncpy(cfg->broadcastAddr, buf2, 20);
|
||||
|
||||
if(!(jbstrcpy(buf2,cfgbuf,6,&jbcpos)))
|
||||
{
|
||||
strcpy(cfgerr,"Missing argument");
|
||||
osClose(cfgfh);
|
||||
return(FALSE);
|
||||
}
|
||||
cfg->broadcastPort = atoi(buf2);
|
||||
}
|
||||
else if(stricmp(cfgword,"NODE")==0)
|
||||
{
|
||||
if(!(tmpnode=(struct ConfigNode *)osAllocCleared(sizeof(struct ConfigNode))))
|
||||
@ -890,6 +909,15 @@ bool ReadConfig(char *filename,struct Config *cfg,short *seconderr,uint32_t *cfg
|
||||
return(FALSE);
|
||||
}
|
||||
}
|
||||
else if(stricmp(cfgword,"BBSNAME")==0)
|
||||
{
|
||||
if(!(jbstrcpy(cfg->cfg_bbsname,cfgbuf,35,&jbcpos)))
|
||||
{
|
||||
strcpy(cfgerr,"Missing argument");
|
||||
osClose(cfgfh);
|
||||
return(FALSE);
|
||||
}
|
||||
}
|
||||
else if(stricmp(cfgword,"BEFORETOSS")==0)
|
||||
{
|
||||
if(!(jbstrcpy(cfg->cfg_BeforeToss,cfgbuf,79,&jbcpos)))
|
||||
@ -1910,6 +1938,7 @@ void InitConfig(struct Config *cfg)
|
||||
memset(cfg,0,sizeof(struct Config));
|
||||
|
||||
strcpy(cfg->cfg_Sysop,"Sysop");
|
||||
strcpy(cfg->cfg_bbsname, "MagickaBBS");
|
||||
|
||||
cfg->cfg_LogLevel=3;
|
||||
cfg->cfg_DupeSize=10000;
|
||||
|
@ -176,6 +176,7 @@ struct ConfigNode
|
||||
|
||||
char LastArcName[12];
|
||||
|
||||
|
||||
/* Stats */
|
||||
|
||||
uint32_t GotNetmails;
|
||||
@ -301,7 +302,7 @@ struct Config
|
||||
{
|
||||
bool changed;
|
||||
char filename[100];
|
||||
|
||||
char cfg_bbsname[36];
|
||||
char cfg_Sysop[36];
|
||||
char cfg_Inbound[100];
|
||||
char cfg_Outbound[100];
|
||||
@ -326,6 +327,9 @@ struct Config
|
||||
uint16_t cfg_DupeMode;
|
||||
uint16_t cfg_LoopMode;
|
||||
uint32_t cfg_DefaultZone;
|
||||
char broadcastAddr[21];
|
||||
int broadcastPort;
|
||||
|
||||
struct jbList AkaList;
|
||||
struct jbList AreaList;
|
||||
struct jbList CNodeList;
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "magimail.h"
|
||||
#include "broadcast.h"
|
||||
|
||||
bool Compare(char *str,char *recog)
|
||||
{
|
||||
@ -62,11 +63,14 @@ void LogTossResults(void)
|
||||
if(ctrlc)
|
||||
return;
|
||||
|
||||
if(area->NewDupes)
|
||||
if(area->NewDupes) {
|
||||
LogWrite(3,TOSSINGINFO,"Area %s -- %u messages (%u dupes)",area->Tagname,area->NewTexts,area->NewDupes);
|
||||
|
||||
else if(area->NewTexts)
|
||||
broadcast("Tossed: Area %s: %u msgs (%u dupes)", area->Tagname,area->NewTexts,area->NewDupes);
|
||||
}
|
||||
else if(area->NewTexts) {
|
||||
LogWrite(3,TOSSINGINFO,"Area %s -- %u messages",area->Tagname,area->NewTexts);
|
||||
broadcast("Tossed: Area %s: %u msgs", area->Tagname,area->NewTexts);
|
||||
}
|
||||
}
|
||||
|
||||
printf("\n");
|
||||
|
Reference in New Issue
Block a user