Implemented nodelist fields8 search for FQDN

This commit is contained in:
Michiel Broek 2002-12-31 15:27:18 +00:00
parent 2e8841d0d5
commit 92e96084b5
18 changed files with 327 additions and 227 deletions

View File

@ -15,6 +15,8 @@ v0.37.00 26-Dec-2002.
The settings to suppres some IP protocols (global and nodes) The settings to suppres some IP protocols (global and nodes)
are removed, this behaviour can be set using nodelist flags are removed, this behaviour can be set using nodelist flags
configuration. configuration.
Debug logging for mail and news now have one setting, the M.
Nodelist debug logging now uses the N character.
libs: libs:
The nodelist lookup functions are now in a separate library. The nodelist lookup functions are now in a separate library.
@ -22,6 +24,8 @@ v0.37.00 26-Dec-2002.
and flags. and flags.
Introduced a new file, ~/etc/nodelist.conf, this file will Introduced a new file, ~/etc/nodelist.conf, this file will
be used for nodelist lookup behaviour. be used for nodelist lookup behaviour.
The current looked-up nodelist strcuture has an extra field,
the URL how that node must be contacted.
mbcico: mbcico:
With binkp and EMSI sessions double received remote aka's are With binkp and EMSI sessions double received remote aka's are
@ -34,6 +38,9 @@ v0.37.00 26-Dec-2002.
Prepared for more example translations. Prepared for more example translations.
Added German template files made by Joachim Kuwan. Added German template files made by Joachim Kuwan.
mbfile:
Move old files to another area failed, only the symbolic link
was moved.
mbsetup: mbsetup:
Removed global flags No-IBN, IFC and ITN from the setup. Removed global flags No-IBN, IFC and ITN from the setup.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -12,7 +12,7 @@
</HEAD> </HEAD>
<BODY> <BODY>
<BLOCKQUOTE> <BLOCKQUOTE>
<div align="right"><h5>Last update 28-Oct-2002</h5></div> <div align="right"><h5>Last update 31-Dec-2002</h5></div>
<div align="center"><H1>MBSE BBS Setup - Global Setup</H1></div> <div align="center"><H1>MBSE BBS Setup - Global Setup</H1></div>
<P> <P>
@ -390,7 +390,10 @@ These are the settings that affect the generation of newfiles and allfiles repor
Note that you can't disable FTS-0001 sessions as that is a mandatory session Note that you can't disable FTS-0001 sessions as that is a mandatory session
protocol in Fidonet. There are 40 phonenumber translations present, this is for protocol in Fidonet. There are 40 phonenumber translations present, this is for
countries with lots of telephone operators with all kind of prefixes for countries with lots of telephone operators with all kind of prefixes for
carrier select functions. carrier select functions. The setting of TCP/IP flags is important too, this
gives the information what this system will do. If you only enter IBN as TCP/IP
flags then the system will only call IBN nodes (binkp). The default is
XX,IBN,IFC,ITN::60177
<pre> <pre>
<strong>Mailer logl. </strong>The logging level for mailer sessions <strong>Mailer logl. </strong>The logging level for mailer sessions
<strong>Default phone </strong>The default phonenumber for EMSI sessions <strong>Default phone </strong>The default phonenumber for EMSI sessions
@ -406,9 +409,6 @@ carrier select functions.
<strong>No Zmodem </strong>Disable zmodem protocol <strong>No Zmodem </strong>Disable zmodem protocol
<strong>No Zedzap </strong>Disable zedzap protocol <strong>No Zedzap </strong>Disable zedzap protocol
<strong>No Hydra </strong>Disable Hydra protocol <strong>No Hydra </strong>Disable Hydra protocol
<strong>No TCP/IP IBN </strong>Disable TCP/IP IBN (binkp) protocol.
<strong>No TCP/IP IFC </strong>Disable TCP/IP IFC (ifcico) protocol.
<strong>No TCP/IP ITN </strong>Disable TCP/IP ITN (telnet) protocol.
<strong>Phonetrans 1..40 </strong>Maximum 40 phone number translations <strong>Phonetrans 1..40 </strong>Maximum 40 phone number translations
<strong>Max. files </strong>Maximum files to request, 0 is unlimited <strong>Max. files </strong>Maximum files to request, 0 is unlimited
<strong>Max. MBytes </strong>Maximum MBytes to request, 0 is unlimited <strong>Max. MBytes </strong>Maximum MBytes to request, 0 is unlimited

View File

@ -12,7 +12,7 @@
</HEAD> </HEAD>
<BODY> <BODY>
<BLOCKQUOTE> <BLOCKQUOTE>
<div align=right><h5>Last update 01-Dec-2002</h5></div> <div align=right><h5>Last update 31-Dec-2002</h5></div>
<div align=center><H1>MBSE BBS Setup - Fidonet nodes.</H1></div> <div align=center><H1>MBSE BBS Setup - Fidonet nodes.</H1></div>
<P> <P>
@ -83,7 +83,7 @@ In this screen you can setup 20 aka's for the node.
<H3>3. Edit node session</H3> <H3>3. Edit node session</H3>
<p> <p>
In this screen you can setup the session defaults. Items 7 and 8 will be added later. In this screen you can setup the session defaults.
<p><table> <p><table>
<tr><th nowrap align=left valign=top>Session passwd</th><td>This is the mailer <tr><th nowrap align=left valign=top>Session passwd</th><td>This is the mailer
session password.</td></tr> session password.</td></tr>
@ -99,7 +99,7 @@ phone number as mentioned in the nodelist.</td></tr>
nodelist flags, the nodelist flags are completly ignored if you enter something nodelist flags, the nodelist flags are completly ignored if you enter something
here so make sure all flags you need are here. All aka's of this node will use here so make sure all flags you need are here. All aka's of this node will use
the same flags. This can be usefull to force calling this node via the the same flags. This can be usefull to force calling this node via the
internet.</td></tr> internet and to force a certain protocol.</td></tr>
<tr><th nowrap align=left valign=top>Inet hostname</th><td>The FQDN hostname or <tr><th nowrap align=left valign=top>Inet hostname</th><td>The FQDN hostname or
IP address of this node. This replaces the original system name from the IP address of this node. This replaces the original system name from the
nodelist and this is then used to make the internet TCP/IP connection. This can nodelist and this is then used to make the internet TCP/IP connection. This can
@ -130,12 +130,6 @@ protocol.</td></tr>
protocol.</td></tr> protocol.</td></tr>
<tr><th nowrap align=left valign=top>No Hydra</th><td>Disable Hydra <tr><th nowrap align=left valign=top>No Hydra</th><td>Disable Hydra
protocol.</td></tr> protocol.</td></tr>
<tr><th nowrap align=left valign=top>No TCP/IP IBN</th><td>Disbale TCP/IP IBN
(binkp) protocol.</td></tr>
<tr><th nowrap align=left valign=top>No TCP/IP IFC</th><td>Disable TCP/IP IFC
(ifcico) protocol.</td></tr>
<tr><th nowrap align=left valign=top>No TCP/IP ITN</th><td>Disable TCP/IP ITN
(telnet) protocol.</td></tr>
</table> </table>
<p> <p>
<IMG SRC="../images/nodes3.png"> <IMG SRC="../images/nodes3.png">

View File

@ -261,71 +261,71 @@ void Syslog(int level, const char *format, ...)
*/ */
void Syslogp(int level, char *outstr) void Syslogp(int level, char *outstr)
{ {
long mask = 0; long mask = 0;
int i, upper; int i, upper;
upper = isupper(level); upper = isupper(level);
switch(tolower(level)) { switch(tolower(level)) {
case ' ' : mask = DLOG_ALLWAYS; break; case ' ' : mask = DLOG_ALLWAYS; break;
case '?' : mask = DLOG_ERROR; break; case '?' : mask = DLOG_ERROR; break;
case '!' : mask = DLOG_ATTENT; break; case '!' : mask = DLOG_ATTENT; break;
case '+' : mask = DLOG_NORMAL; break; case '+' : mask = DLOG_NORMAL; break;
case '-' : mask = DLOG_VERBOSE; break; case '-' : mask = DLOG_VERBOSE; break;
case 'a' : mask = DLOG_TCP; break; case 'a' : mask = DLOG_TCP; break;
case 'b' : mask = DLOG_BBS; break; case 'b' : mask = DLOG_BBS; break;
case 'c' : mask = DLOG_CHAT; break; case 'c' : mask = DLOG_CHAT; break;
case 'd' : mask = DLOG_DEVIO; break; case 'd' : mask = DLOG_DEVIO; break;
case 'e' : mask = DLOG_EXEC; break; case 'e' : mask = DLOG_EXEC; break;
case 'f' : mask = DLOG_FILEFWD; break; case 'f' : mask = DLOG_FILEFWD; break;
case 'h' : mask = DLOG_HYDRA; break; case 'h' : mask = DLOG_HYDRA; break;
case 'i' : mask = DLOG_IEMSI; break; case 'i' : mask = DLOG_IEMSI; break;
case 'l' : mask = DLOG_LOCK; break; case 'l' : mask = DLOG_LOCK; break;
case 'm' : mask = DLOG_MAIL; break; case 'm' : mask = DLOG_MAIL; break;
case 'n' : mask = DLOG_NEWS; break; case 'n' : mask = DLOG_NODELIST; break;
case 'o' : mask = DLOG_OUTSCAN; break; case 'o' : mask = DLOG_OUTSCAN; break;
case 'p' : mask = DLOG_PACK; break; case 'p' : mask = DLOG_PACK; break;
case 'r' : mask = DLOG_ROUTE; break; case 'r' : mask = DLOG_ROUTE; break;
case 's' : mask = DLOG_SESSION; break; case 's' : mask = DLOG_SESSION; break;
case 't' : mask = DLOG_TTY; break; case 't' : mask = DLOG_TTY; break;
case 'x' : mask = DLOG_XMODEM; break; case 'x' : mask = DLOG_XMODEM; break;
case 'z' : mask = DLOG_ZMODEM; break; case 'z' : mask = DLOG_ZMODEM; break;
}
if (((loggrade | DLOG_ALLWAYS | DLOG_ERROR) & mask) == 0)
return;
/*
* Don't log uppercase debug levels when most_debug is FALSE
*/
if (upper && !most_debug)
return;
for (i = 0; i < strlen(outstr); i++)
if (outstr[i] == '\r' || outstr[i] == '\n')
outstr[i] = ' ';
if (strlen(outstr) > (SS_BUFSIZE - 64))
outstr[SS_BUFSIZE - 64] = '\0';
tcrc = StringCRC32(outstr);
if (tcrc == lcrc) {
lcnt++;
return;
} else {
lcrc = tcrc;
if (lcnt) {
lcnt++;
SockS("ALOG:5,%s,%s,%d,%c,Last message repeated %d times;", logfile, progname, mypid, level, lcnt);
} }
lcnt = 0;
}
if (((loggrade | DLOG_ALLWAYS | DLOG_ERROR) & mask) == 0) if (show_log)
return; printf("%c %s\n", level, outstr);
/* if (*outstr == '$')
* Don't log uppercase debug levels when most_debug is FALSE SockS("ALOG:5,%s,%s,%d,%c,%s: %s;", logfile, progname, mypid, level, outstr+1, strerror(errno));
*/ else
if (upper && !most_debug) SockS("ALOG:5,%s,%s,%d,%c,%s;", logfile, progname, mypid, level, outstr);
return;
for (i = 0; i < strlen(outstr); i++)
if (outstr[i] == '\r' || outstr[i] == '\n')
outstr[i] = ' ';
if (strlen(outstr) > (SS_BUFSIZE - 64))
outstr[SS_BUFSIZE - 64] = '\0';
tcrc = StringCRC32(outstr);
if (tcrc == lcrc) {
lcnt++;
return;
} else {
lcrc = tcrc;
if (lcnt) {
lcnt++;
SockS("ALOG:5,%s,%s,%d,%c,Last message repeated %d times;", logfile, progname, mypid, level, lcnt);
}
lcnt = 0;
}
if (show_log)
printf("%c %s\n", level, outstr);
if (*outstr == '$')
SockS("ALOG:5,%s,%s,%d,%c,%s: %s;", logfile, progname, mypid, level, outstr+1, strerror(errno));
else
SockS("ALOG:5,%s,%s,%d,%c,%s;", logfile, progname, mypid, level, outstr);
} }

View File

@ -1,6 +1,8 @@
#ifndef _CLCOMM_H #ifndef _CLCOMM_H
#define _CLCOMM_H #define _CLCOMM_H
/* $Id$ */
#pragma pack(1) #pragma pack(1)
@ -31,7 +33,7 @@
#define DLOG_IEMSI 0x00002000 #define DLOG_IEMSI 0x00002000
#define DLOG_LOCK 0x00010000 #define DLOG_LOCK 0x00010000
#define DLOG_MAIL 0x00020000 #define DLOG_MAIL 0x00020000
#define DLOG_NEWS 0x00040000 #define DLOG_NODELIST 0x00040000
#define DLOG_OUTSCAN 0x00080000 #define DLOG_OUTSCAN 0x00080000
#define DLOG_PACK 0x00100000 #define DLOG_PACK 0x00100000
#define DLOG_ROUTE 0x00400000 #define DLOG_ROUTE 0x00400000

View File

@ -101,26 +101,6 @@
#define MSGTYPE 2 #define MSGTYPE 2
/*
#define FLG_PVT 0x0001
#define FLG_CRS 0x0002
#define FLG_RCV 0x0004
#define FLG_SNT 0x0008
#define FLG_ATT 0x0010
#define FLG_TRN 0x0020
#define FLG_ORP 0x0040
#define FLG_K_S 0x0080
#define FLG_LOC 0x0100
#define FLG_HLD 0x0200
#define FLG_RSV 0x0400
#define FLG_FRQ 0x0800
#define FLG_RRQ 0x1000
#define FLG_RRC 0x2000
#define FLG_ARQ 0x4000
#define FLG_FUP 0x8000
*/
typedef struct _parsedaddr { typedef struct _parsedaddr {
char *target; char *target;
char *remainder; char *remainder;

View File

@ -118,7 +118,7 @@ static int getkwd(char **dest)
(*tmpm)->name = xstrcpy(v); (*tmpm)->name = xstrcpy(v);
tmp = strtoul(p, NULL, 0); tmp = strtoul(p, NULL, 0);
(*tmpm)->value = tmp; (*tmpm)->value = tmp;
// Syslog('s', "getkwd: %s(%d): \"%s\" \"%s\" \"%08x\"", nlpath, linecnt, MBSE_SS(k), (*tmpm)->name, (*tmpm)->value); // Syslog('n', "getkwd: %s(%d): \"%s\" \"%s\" \"%08x\"", nlpath, linecnt, MBSE_SS(k), (*tmpm)->name, (*tmpm)->value);
return 0; return 0;
} }
@ -162,7 +162,7 @@ static int getmdm(char **dest)
tmp2 = strtoul(q, NULL, 0); tmp2 = strtoul(q, NULL, 0);
(*tmpm)->mask = tmp1; (*tmpm)->mask = tmp1;
(*tmpm)->value = tmp2; (*tmpm)->value = tmp2;
// Syslog('s', "getmdm: %s(%d): \"%s\" \"%s\" \"%08x\" \"%08x\"", nlpath, linecnt, MBSE_SS(k), // Syslog('n', "getmdm: %s(%d): \"%s\" \"%s\" \"%08x\" \"%08x\"", nlpath, linecnt, MBSE_SS(k),
// (*tmpm)->name, (*tmpm)->mask, (*tmpm)->value); // (*tmpm)->name, (*tmpm)->mask, (*tmpm)->value);
return 0; return 0;
@ -186,7 +186,7 @@ static int getarr(char **dest)
(*tmpm) = (nodelist_array *) xmalloc(sizeof(nodelist_array)); (*tmpm) = (nodelist_array *) xmalloc(sizeof(nodelist_array));
(*tmpm)->next = NULL; (*tmpm)->next = NULL;
(*tmpm)->name = xstrcpy(v); (*tmpm)->name = xstrcpy(v);
// Syslog('s', "getarr: %s(%d): \"%s\" \"%s\"", nlpath, linecnt, MBSE_SS(k), (*tmpm)->name); // Syslog('n', "getarr: %s(%d): \"%s\" \"%s\"", nlpath, linecnt, MBSE_SS(k), (*tmpm)->name);
return 0; return 0;
} }
@ -217,7 +217,7 @@ static int getdom(char **dest)
tmp = strtod(v, NULL); tmp = strtod(v, NULL);
(*tmpm)->zone = tmp; (*tmpm)->zone = tmp;
(*tmpm)->name = xstrcpy(p); (*tmpm)->name = xstrcpy(p);
// Syslog('s', "getdom: %s(%d): \"%s\" \"%d\" \"%s\"", nlpath, linecnt, MBSE_SS(k), (*tmpm)->zone, (*tmpm)->name); // Syslog('n', "getdom: %s(%d): \"%s\" \"%d\" \"%s\"", nlpath, linecnt, MBSE_SS(k), (*tmpm)->zone, (*tmpm)->name);
return 0; return 0;
} }
@ -260,7 +260,7 @@ static int getsrv(char **dest)
(*tmpm)->service = xstrcpy(p); (*tmpm)->service = xstrcpy(p);
tmp = strtoul(q, NULL, 0); tmp = strtoul(q, NULL, 0);
(*tmpm)->port = tmp; (*tmpm)->port = tmp;
// Syslog('s', "getsrv: %s(%d): \"%s\" \"%s\" \"%s\" \"%d\"", nlpath, linecnt, MBSE_SS(k), // Syslog('n', "getsrv: %s(%d): \"%s\" \"%s\" \"%s\" \"%d\"", nlpath, linecnt, MBSE_SS(k),
// (*tmpm)->flag, (*tmpm)->service, (*tmpm)->port); // (*tmpm)->flag, (*tmpm)->service, (*tmpm)->port);
return 0; return 0;
} }
@ -357,7 +357,7 @@ void deinitnl(void)
if (!nlinitdone) if (!nlinitdone)
return; return;
Syslog('s', "De-init nodelists"); Syslog('n', "De-init nodelists");
tidy_nl_flag(&nl_online); tidy_nl_flag(&nl_online);
tidy_nl_flag(&nl_request); tidy_nl_flag(&nl_request);
@ -370,7 +370,7 @@ void deinitnl(void)
tidy_nl_domsuf(&nl_domsuffix); tidy_nl_domsuf(&nl_domsuffix);
tidy_nl_service(&nl_service); tidy_nl_service(&nl_service);
Syslog('s', "De-init done"); Syslog('n', "De-init done");
nlinitdone = FALSE; nlinitdone = FALSE;
} }
@ -537,8 +537,8 @@ int initnl(void)
} }
free(nlpath); free(nlpath);
Syslog('s', "mypots %08x myisdn %08x mytcpip %08x", mypots, myisdn, mytcpip); Syslog('n', "mypots %08x myisdn %08x mytcpip %08x", mypots, myisdn, mytcpip);
Syslog('s', "Nodelists initialize complete, rc=%d", rc); Syslog('n', "Nodelists initialize complete, rc=%d", rc);
nlinitdone = TRUE; nlinitdone = TRUE;
return rc; return rc;
} }
@ -567,7 +567,7 @@ node *getnlent(faddr *addr)
static char buf[2048], ebuf[2048], *p, *q, tbuf[256]; static char buf[2048], ebuf[2048], *p, *q, tbuf[256];
struct _ixentry xaddr; struct _ixentry xaddr;
int i, Found = FALSE, ixflag, stdflag, ndrecord = FALSE; int i, Found = FALSE, ixflag, stdflag, ndrecord = FALSE;
char *mydomain, *path; char *mydomain, *path, *r;
struct _nlfil fdx; struct _nlfil fdx;
struct _nlidx ndx; struct _nlidx ndx;
long lowest, highest, current; long lowest, highest, current;
@ -577,9 +577,10 @@ node *getnlent(faddr *addr)
nodelist_flag **tmpf; nodelist_flag **tmpf;
nodelist_service **tmps; nodelist_service **tmps;
nodelist_array **tmpa; nodelist_array **tmpa;
nodelist_domsuf **tmpd;
unsigned long tport = 0; unsigned long tport = 0;
Syslog('s', "getnlent: %s", ascfnode(addr,0xff)); Syslog('n', "getnlent: %s", ascfnode(addr,0xff));
mydomain = xstrcpy(CFG.aka[0].domain); mydomain = xstrcpy(CFG.aka[0].domain);
if (mydomain == NULL) if (mydomain == NULL)
@ -705,7 +706,7 @@ node *getnlent(faddr *addr)
fclose(fp); fclose(fp);
goto retdummy; goto retdummy;
} }
Syslog('s', "getnlent: %s", buf); Syslog('n', "getnlent: %s", buf);
/* /*
* Load noderecord if this node has one, if there is one then * Load noderecord if this node has one, if there is one then
@ -722,7 +723,7 @@ node *getnlent(faddr *addr)
if ((addr->zone == nd.Aka[i].zone) && (addr->net == nd.Aka[i].net) && if ((addr->zone == nd.Aka[i].zone) && (addr->net == nd.Aka[i].net) &&
(addr->node == nd.Aka[i].node) && (addr->point == nd.Aka[i].point)) { (addr->node == nd.Aka[i].node) && (addr->point == nd.Aka[i].point)) {
ndrecord = TRUE; ndrecord = TRUE;
Syslog('s', "getnlent: node record is present"); Syslog('n', "getnlent: node record is present");
break; break;
} }
} }
@ -770,7 +771,7 @@ node *getnlent(faddr *addr)
if ((q=strchr(p,','))) if ((q=strchr(p,',')))
*q++ = '\0'; *q++ = '\0';
if (ndrecord && strlen(nd.Nl_hostname)) { if (ndrecord && strlen(nd.Nl_hostname)) {
Syslog('s', "getnlent: system name override with %s", nd.Nl_hostname); Syslog('n', "getnlent: system name override with %s", nd.Nl_hostname);
nodebuf.name = nd.Nl_hostname; nodebuf.name = nd.Nl_hostname;
} else } else
nodebuf.name = p; nodebuf.name = p;
@ -830,7 +831,7 @@ node *getnlent(faddr *addr)
* Process the nodelist flags. * Process the nodelist flags.
*/ */
if (ndrecord && strlen(nd.Nl_flags)) { if (ndrecord && strlen(nd.Nl_flags)) {
Syslog('s', "getnlent: flags override %s", nd.Nl_flags); Syslog('n', "getnlent: flags override %s", nd.Nl_flags);
q = nd.Nl_flags; q = nd.Nl_flags;
} }
ixflag = 0; ixflag = 0;
@ -893,9 +894,8 @@ node *getnlent(faddr *addr)
break; break;
if (strncmp(ebuf, (char *)";E", 2)) if (strncmp(ebuf, (char *)";E", 2))
break; break;
Syslog('s', "ESLF: \"%s\"", printable(ebuf, 0)); Syslog('n', "ESLF: \"%s\"", printable(ebuf, 0));
} }
fclose(fp);
/* /*
* Build the connection URL * Build the connection URL
@ -903,15 +903,16 @@ node *getnlent(faddr *addr)
* If the node has some IP flags and we allow TCP, then search the best protocol. * If the node has some IP flags and we allow TCP, then search the best protocol.
*/ */
if (nodebuf.iflags & mytcpip) { if (nodebuf.iflags & mytcpip) {
Syslog('s', "node iflags %08x, mytcpip %08x", nodebuf.iflags, mytcpip); memset(&tbuf, 0, sizeof(tbuf));
Syslog('n', "node iflags %08x, mytcpip %08x", nodebuf.iflags, mytcpip);
for (tmpm = &nl_tcpip; *tmpm; tmpm=&((*tmpm)->next)) { for (tmpm = &nl_tcpip; *tmpm; tmpm=&((*tmpm)->next)) {
if ((*tmpm)->mask & nodebuf.iflags) { if ((*tmpm)->mask & nodebuf.iflags) {
Syslog('s', "Setting %s", (*tmpm)->name); Syslog('n', "Setting %s", (*tmpm)->name);
for (tmps = &nl_service; *tmps; tmps=&((*tmps)->next)) { for (tmps = &nl_service; *tmps; tmps=&((*tmps)->next)) {
if (strcmp((*tmps)->flag, (*tmpm)->name) == 0) { if (strcmp((*tmps)->flag, (*tmpm)->name) == 0) {
sprintf(tbuf, "%s", (*tmps)->service); sprintf(tbuf, "%s", (*tmps)->service);
tport = (*tmps)->port; tport = (*tmps)->port;
Syslog('s', "Setting %s %d", (*tmps)->service, (*tmps)->port); Syslog('n', "Setting %s %d", (*tmps)->service, (*tmps)->port);
} }
} }
} }
@ -929,44 +930,132 @@ node *getnlent(faddr *addr)
*/ */
memset(&tbuf, 0, sizeof(tbuf)); memset(&tbuf, 0, sizeof(tbuf));
if (ndrecord && strlen(nd.Nl_hostname)) { if (ndrecord && strlen(nd.Nl_hostname)) {
Syslog('s', "Using override %s for FQDN", nd.Nl_hostname); Syslog('n', "Using override %s for FQDN", nd.Nl_hostname);
sprintf(tbuf, nodebuf.name); sprintf(tbuf, nodebuf.name);
nodebuf.url = xstrcat(nodebuf.url, tbuf); nodebuf.url = xstrcat(nodebuf.url, tbuf);
} else { } else {
for (tmpa = &nl_search; *tmpa; tmpa=&((*tmpa)->next)) { for (tmpa = &nl_search; *tmpa; tmpa=&((*tmpa)->next)) {
Syslog('s', "Search FQDN method %s", (*tmpa)->name); Syslog('n', "Search FQDN method %s", (*tmpa)->name);
if (strcasecmp((*tmpa)->name, "field3") == 0) { if (strcasecmp((*tmpa)->name, "field3") == 0) {
sprintf(tbuf, nodebuf.name); sprintf(tbuf, nodebuf.name);
if (strchr(tbuf, '.')) { if (strchr(tbuf, '.')) {
/* /*
* Okay, there are dots, this can be a FQDN or IP address. * Okay, there are dots, this can be a FQDN or IP address.
*/ */
Syslog('s', "Using field3 \"%s\"", tbuf); Syslog('n', "Using field3 \"%s\"", tbuf);
nodebuf.url = xstrcat(nodebuf.url, tbuf); nodebuf.url = xstrcat(nodebuf.url, tbuf);
break; break;
} else {
memset(&tbuf, 0, sizeof(tbuf));
Syslog('n', "Field3 is not usable");
} }
} else if (strcasecmp((*tmpa)->name, "field6") == 0) { } else if (strcasecmp((*tmpa)->name, "field6") == 0) {
if (nodebuf.phone && strncmp(nodebuf.phone, "000-", 4) == 0) { if (nodebuf.phone && strncmp(nodebuf.phone, "000-", 4) == 0) {
Syslog('s', "Found 000- prefix"); Syslog('n', "Found 000- prefix");
sprintf(tbuf, "%s", nodebuf.phone+4); sprintf(tbuf, "%s", nodebuf.phone+4);
for (i = 0; i < strlen(tbuf); i++) for (i = 0; i < strlen(tbuf); i++)
if (tbuf[i] == '-') if (tbuf[i] == '-')
tbuf[i] = '.'; tbuf[i] = '.';
Syslog('s', "Using field6 \"%s\"", tbuf); Syslog('n', "Using field6 \"%s\"", tbuf);
nodebuf.url = xstrcat(nodebuf.url, tbuf); nodebuf.url = xstrcat(nodebuf.url, tbuf);
break; break;
} else {
memset(&tbuf, 0, sizeof(tbuf));
Syslog('n', "Field6 is not usable");
} }
} else if (strcasecmp((*tmpa)->name, "field8") == 0) {
/*
* Read nodelist line again in another buffer, the original
* buffer is divided into pieces by all previous actions.
*/
memset(&tbuf, 0, sizeof(tbuf));
if (fseek(fp, ndx.offset, SEEK_SET) != 0) {
WriteError("$Seek failed for nodelist entry");
fclose(fp);
goto retdummy;
}
if (fgets(ebuf, sizeof(ebuf)-1, fp) == NULL) {
WriteError("$fgets failed for nodelist entry");
fclose(fp);
goto retdummy;
}
if (*(p = ebuf + strlen(ebuf) -1) == '\n')
*p = '\0';
if (*(p = ebuf + strlen(ebuf) -1) == '\r')
*p = '\0';
p = ebuf;
/*
* Shift to field 8
*/
for (i = 0; i < 7; i++) {
if ((q = strchr(p,',')))
*q++ = '\0';
p = q;
if (p == NULL) {
fclose(fp);
goto badsyntax;
}
}
for (p = q; p; p = q) {
if ((q = strchr(p, ',')))
*q++ = '\0';
Syslog('n', "\"%s\"", MBSE_SS(p));
if ((r = strchr(p, ':'))) {
r++;
/*
* If there is a user@domain then strip the userpart.
*/
if (strchr(r, '@')) {
r = strchr(r, '@');
r++;
}
if (*r == '*') {
Syslog('n', "Possible default domain marking \"%s\"", MBSE_SS(r));
for (tmpd = &nl_domsuffix; *tmpd; tmpd=&((*tmpd)->next)) {
if ((*tmpd)->zone == nodebuf.addr.zone) {
if (*r++ == '\0')
sprintf(tbuf, "f%d.n%d.z%d.%s", nodebuf.addr.node, nodebuf.addr.net,
nodebuf.addr.zone, (*tmpd)->name);
else
sprintf(tbuf, "f%d.n%d.z%d.%s%s", nodebuf.addr.node, nodebuf.addr.net,
nodebuf.addr.zone, (*tmpd)->name, r);
Syslog('n', "Will try default domain \"%s\"", tbuf);
nodebuf.url = xstrcat(nodebuf.url, tbuf);
break;
}
}
if (strlen(tbuf))
break;
Syslog('n', "No matching default domain found for zone %d", nodebuf.addr.zone);
}
if (strchr(r, '.')) {
Syslog('n', "Found a FQDN \"%s\"", MBSE_SS(r));
sprintf(tbuf, "%s", r);
nodebuf.url = xstrcat(nodebuf.url, tbuf);
break;
}
}
}
if (strlen(tbuf))
break;
Syslog('n', "Field8 is not usable");
} }
} }
} }
fclose(fp);
if (strchr(tbuf, ':') == NULL) { if (strlen(tbuf) == 0) {
Syslog('n', "No FQDN found, cannot call");
if (nodebuf.url)
free(nodebuf.url);
nodebuf.url = NULL;
} else if (strchr(tbuf, ':') == NULL) {
/* /*
* No optional port number, add one from the default * No optional port number, add one from the default
* for this protocol. * for this protocol.
*/ */
sprintf(tbuf, ":%lu", tport); sprintf(tbuf, ":%lu", tport);
Syslog('s', "Adding default port %s", tbuf); Syslog('n', "Adding default port %s", tbuf);
nodebuf.url = xstrcat(nodebuf.url, tbuf); nodebuf.url = xstrcat(nodebuf.url, tbuf);
} }
@ -986,9 +1075,9 @@ node *getnlent(faddr *addr)
if (addr->domain == NULL) if (addr->domain == NULL)
addr->domain = xstrcpy(nodebuf.addr.domain); addr->domain = xstrcpy(nodebuf.addr.domain);
Syslog('s', "getnlent: system %s, %s", nodebuf.name, nodebuf.location); Syslog('n', "getnlent: system %s, %s", nodebuf.name, nodebuf.location);
Syslog('s', "getnlent: sysop %s, %s", nodebuf.sysop, nodebuf.phone); Syslog('n', "getnlent: sysop %s, %s", nodebuf.sysop, nodebuf.phone);
Syslog('s', "getnlent: URL %s", printable(nodebuf.url, 0)); Syslog('n', "getnlent: URL %s", printable(nodebuf.url, 0));
moflags(nodebuf.mflags); moflags(nodebuf.mflags);
diflags(nodebuf.dflags); diflags(nodebuf.dflags);
ipflags(nodebuf.iflags); ipflags(nodebuf.iflags);
@ -1030,7 +1119,7 @@ void olflags(unsigned long flags)
t = xstrcat(t, (*tmpm)->name); t = xstrcat(t, (*tmpm)->name);
} }
} }
Syslog('s', "%s", t); Syslog('n', "%s", t);
free(t); free(t);
} }
@ -1055,7 +1144,7 @@ void rqflags(unsigned long flags)
t = xstrcat(t, (char *)")"); t = xstrcat(t, (char *)")");
} }
} }
Syslog('s', "%s", t); Syslog('n', "%s", t);
free(t); free(t);
} }
@ -1075,7 +1164,7 @@ void moflags(unsigned long flags)
t = xstrcat(t, (*tmpm)->name); t = xstrcat(t, (*tmpm)->name);
} }
} }
Syslog('s', "%s", t); Syslog('n', "%s", t);
free(t); free(t);
} }
@ -1095,7 +1184,7 @@ void diflags(unsigned long flags)
t = xstrcat(t, (*tmpm)->name); t = xstrcat(t, (*tmpm)->name);
} }
} }
Syslog('s', "%s", t); Syslog('n', "%s", t);
free(t); free(t);
} }
@ -1115,7 +1204,7 @@ void ipflags(unsigned long flags)
t = xstrcat(t, (*tmpm)->name); t = xstrcat(t, (*tmpm)->name);
} }
} }
Syslog('s', "%s", t); Syslog('n', "%s", t);
free(t); free(t);
} }

View File

@ -28,7 +28,8 @@
# Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
############################################################################# #############################################################################
# WARNING: This file will be taken in use during development of v0.37.xx # WARNING: This file is needed from v0.37.00 and later. The format of this
# file is under development.
# It will implement some new features that will become FTSC standards # It will implement some new features that will become FTSC standards
# during 2003 # during 2003
# #
@ -144,8 +145,13 @@ tcpip IBN 0x00000004 0x00000004
# field6 - Search the phone field for 000- prefix, may be a IP # field6 - Search the phone field for 000- prefix, may be a IP
# or a FQDN with or without a :port suffix. # or a FQDN with or without a :port suffix.
# 000-192-168-1-40:1234 or 000-ntbox.mbse.ym:5678 are valid. # 000-192-168-1-40:1234 or 000-ntbox.mbse.ym:5678 are valid.
# ina - Search INA:fqdn (NOT YET AVAILABLE) # field8 - Search in the flags for a FQDN. Valid flags are like:
# firstflag - First IP flag (NOT YET AVAILABLE) # IBN:domain.com Standard
# IFC:domain.com:port Standard
# IBN:1.2.3.5 Standard
# ITN:1.2.3.4:port Standard
# IBN:* Proposed, use default domain
# IBN:*:port Not yet proposed
# eslf - Extended St. Louis Format fields (NOT YET AVAILABLE) # eslf - Extended St. Louis Format fields (NOT YET AVAILABLE)
# defdomain - Asume default domain (NOT YET AVAILABLE) # defdomain - Asume default domain (NOT YET AVAILABLE)
# #
@ -154,11 +160,14 @@ tcpip IBN 0x00000004 0x00000004
# #
search field3 search field3
search field6 search field6
search field8
# The default searchdomain, will be prefixed with f1.n2 (NOT YET AVAILABLE)
# The default searchdomain, will be prefixed with f1.n2.z3.
# #
# Zone Suffix # Zone Suffix
domsuffix 1 .z1.fidonet.net domsuffix 1 fidonet.net
domsuffix 2 .z2.fidonet.net domsuffix 2 fidonet.net
domsuffix 3 .z3.fidonet.net domsuffix 3 fidonet.net
domsuffix 92 bibnet.ym

View File

@ -168,8 +168,8 @@ void Kill(void)
if (area.MoveArea) { if (area.MoveArea) {
fseek(pAreas, ((area.MoveArea -1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET); fseek(pAreas, ((area.MoveArea -1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET);
fread(&darea, areahdr.recsize, 1, pAreas); fread(&darea, areahdr.recsize, 1, pAreas);
sprintf(from, "%s/%s", area.Path, file.LName); sprintf(from, "%s/%s", area.Path, file.Name);
sprintf(to, "%s/%s", darea.Path, file.LName); sprintf(to, "%s/%s", darea.Path, file.Name);
if ((rc = file_mv(from, to)) == 0) { if ((rc = file_mv(from, to)) == 0) {
Syslog('+', "Move %s, area %d => %d", file.Name, i, area.MoveArea); Syslog('+', "Move %s, area %d => %d", file.Name, i, area.MoveArea);
sprintf(to, "%s/fdb/fdb%d.data", getenv("MBSE_ROOT"), area.MoveArea); sprintf(to, "%s/fdb/fdb%d.data", getenv("MBSE_ROOT"), area.MoveArea);
@ -179,13 +179,28 @@ void Kill(void)
fwrite(&file, sizeof(file), 1, pDest); fwrite(&file, sizeof(file), 1, pDest);
fclose(pDest); fclose(pDest);
} }
/* /*
* Now again if there is a dotted version (thumbnail) of this file. * Now again if there is a dotted version (thumbnail) of this file.
*/ */
sprintf(from, "%s/.%s", area.Path, file.LName); sprintf(from, "%s/.%s", area.Path, file.Name);
sprintf(to, "%s/.%s", darea.Path, file.LName); sprintf(to, "%s/.%s", darea.Path, file.Name);
if (file_exist(from, R_OK) == 0) if (file_exist(from, R_OK) == 0)
file_mv(from, to); file_mv(from, to);
/*
* Unlink the old symbolic link
*/
sprintf(from, "%s/%s", area.Path, file.LName);
unlink(from);
/*
* Create the new symbolic link
*/
sprintf(from, "%s/%s", darea.Path, file.Name);
sprintf(to, "%s/%s", darea.Path, file.LName);
symlink(from, to);
file.Deleted = TRUE; file.Deleted = TRUE;
fseek(pFile, - sizeof(file), SEEK_CUR); fseek(pFile, - sizeof(file), SEEK_CUR);
fwrite(&file, sizeof(file), 1, pFile); fwrite(&file, sizeof(file), 1, pFile);

View File

@ -119,7 +119,7 @@ int newspost(void)
* Create newsbatch file. * Create newsbatch file.
*/ */
if ((CFG.newsfeed == FEEDUUCP) || (CFG.newsfeed == FEEDRNEWS)) { if ((CFG.newsfeed == FEEDUUCP) || (CFG.newsfeed == FEEDRNEWS)) {
Syslog('n', "Building uncompressed batchfile"); Syslog('m', "Building uncompressed batchfile");
sprintf(buf, "%s/tmp/newsbatch", getenv("MBSE_ROOT")); sprintf(buf, "%s/tmp/newsbatch", getenv("MBSE_ROOT"));
if ((ofp = fopen(buf, "w+")) == NULL) { if ((ofp = fopen(buf, "w+")) == NULL) {
WriteError("$Can't create %s", buf); WriteError("$Can't create %s", buf);

View File

@ -255,7 +255,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
if ((hdr((char *)"X-PGP-Signed",msg))) if ((hdr((char *)"X-PGP-Signed",msg)))
pgpsigned = TRUE; pgpsigned = TRUE;
if (pgpsigned) if (pgpsigned)
Syslog('n', "pgpsigned = %s", pgpsigned ? "True":"False"); Syslog('m', "pgpsigned = %s", pgpsigned ? "True":"False");
q = hdr((char *)"Content-Transfer-Encoding",msg); q = hdr((char *)"Content-Transfer-Encoding",msg);
if (q) if (q)
@ -298,14 +298,14 @@ int rfc2ftn(FILE *fp, faddr *recipient)
removemime = TRUE; removemime = TRUE;
} }
if (removemime || qp_or_base64 || html_message) if (removemime || qp_or_base64 || html_message)
Syslog('n', "removemime=%s, qp_or_base64 = %d, html_message=%s", removemime ? "True":"False", qp_or_base64, Syslog('m', "removemime=%s, qp_or_base64 = %d, html_message=%s", removemime ? "True":"False", qp_or_base64,
html_message ? "True":"False"); html_message ? "True":"False");
if ((p = hdr((char *)"Message-ID",msg))) { if ((p = hdr((char *)"Message-ID",msg))) {
if (!removemsgid) if (!removemsgid)
removemsgid = chkftnmsgid(p); removemsgid = chkftnmsgid(p);
} }
Syslog('n', "removemsgid = %s", removemsgid ? "True":"False"); Syslog('m', "removemsgid = %s", removemsgid ? "True":"False");
if ((!removeref) && (p = hdr((char *)"References",msg))) { if ((!removeref) && (p = hdr((char *)"References",msg))) {
p = xstrcpy(p); p = xstrcpy(p);
@ -315,12 +315,12 @@ int rfc2ftn(FILE *fp, faddr *recipient)
free(p); free(p);
} }
if (removeref) if (removeref)
Syslog('n', "removeref = %s", removeref ? "True":"False"); Syslog('m', "removeref = %s", removeref ? "True":"False");
if ((p = hdr((char *)"Supersedes",msg))) if ((p = hdr((char *)"Supersedes",msg)))
removesupersedes = chkftnmsgid(p); removesupersedes = chkftnmsgid(p);
if (removesupersedes) if (removesupersedes)
Syslog('n', "removesupersedes = %s", removesupersedes ? "True":"False"); Syslog('m', "removesupersedes = %s", removesupersedes ? "True":"False");
if ((p = hdr((char *)"Approved",msg))) { if ((p = hdr((char *)"Approved",msg))) {
while (*p && isspace(*p)) while (*p && isspace(*p))
@ -333,7 +333,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
*q='\n'; *q='\n';
} }
if (removeapproved) if (removeapproved)
Syslog('n', "removeapproved = %s", removeapproved ? "True":"False"); Syslog('m', "removeapproved = %s", removeapproved ? "True":"False");
if ((p = hdr((char *)"Reply-To",msg))) { if ((p = hdr((char *)"Reply-To",msg))) {
removereplyto = FALSE; removereplyto = FALSE;
@ -349,7 +349,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
removereplyto = TRUE; removereplyto = TRUE;
} }
} }
Syslog('n', "removereplyto = %s", removereplyto ? "True":"False"); Syslog('m', "removereplyto = %s", removereplyto ? "True":"False");
if ((p = hdr((char *)"Return-Receipt-To",msg))) { if ((p = hdr((char *)"Return-Receipt-To",msg))) {
removereturnto = FALSE; removereturnto = FALSE;
@ -367,7 +367,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
} }
} }
if (!removereturnto) if (!removereturnto)
Syslog('n', "removereturnto = %s", removereturnto ? "True":"False"); Syslog('m', "removereturnto = %s", removereturnto ? "True":"False");
p = ascfnode(fmsg->from,0x1f); p = ascfnode(fmsg->from,0x1f);
i = 79-11-3-strlen(p); i = 79-11-3-strlen(p);
@ -384,12 +384,12 @@ int rfc2ftn(FILE *fp, faddr *recipient)
al long as X-FTN-Origin is used now */ al long as X-FTN-Origin is used now */
p = ascfnode(fmsg->from,0x0f); p = ascfnode(fmsg->from,0x0f);
Syslog('n', "checkorigin 3"); Syslog('m', "checkorigin 3");
i = 79-11-3-strlen(p); i = 79-11-3-strlen(p);
tinyorigin = TRUE; tinyorigin = TRUE;
} }
if (tinyorigin) if (tinyorigin)
Syslog('n', "tinyorigin = %s", tinyorigin ? "True":"False"); Syslog('m', "tinyorigin = %s", tinyorigin ? "True":"False");
if ((fmsg->origin) && (strlen(fmsg->origin) > i)) if ((fmsg->origin) && (strlen(fmsg->origin) > i))
fmsg->origin[i]='\0'; fmsg->origin[i]='\0';
@ -403,7 +403,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
if (fmsg->to) if (fmsg->to)
hdrsize += (fmsg->to->name)?strlen(fmsg->to->name):0; hdrsize += (fmsg->to->name)?strlen(fmsg->to->name):0;
do { do {
Syslog('n', "split loop, splitpart = %d", splitpart); Syslog('m', "split loop, splitpart = %d", splitpart);
datasize = 0; datasize = 0;
if (splitpart) { if (splitpart) {
@ -804,17 +804,17 @@ int rfc2ftn(FILE *fp, faddr *recipient)
fflush(ofp); fflush(ofp);
rewind(ofp); rewind(ofp);
Syslog('n', "========== Fido start"); Syslog('m', "========== Fido start");
while (fgets(temp, 4096, ofp) != NULL) { while (fgets(temp, 4096, ofp) != NULL) {
/* /*
* Only log kludges, skip the body * Only log kludges, skip the body
*/ */
if ((temp[0] == '\001') || !strncmp(temp, "AREA:", 5) || !strncmp(temp, "SEEN-BY", 7)) { if ((temp[0] == '\001') || !strncmp(temp, "AREA:", 5) || !strncmp(temp, "SEEN-BY", 7)) {
Striplf(temp); Striplf(temp);
Syslogp('n', printable(temp, 0)); Syslogp('m', printable(temp, 0));
} }
} }
Syslog('n', "========== Fido end"); Syslog('m', "========== Fido end");
if (newsmode) if (newsmode)
rc = postecho(NULL, fmsg->from, fmsg->to, origin, fmsg->subj, fmsg->date, fmsg->flags, 0, ofp, FALSE); rc = postecho(NULL, fmsg->from, fmsg->to, origin, fmsg->subj, fmsg->date, fmsg->flags, 0, ofp, FALSE);

View File

@ -179,7 +179,7 @@ static int StartChild(int fd, char *path, char *argv[])
WriteError("$Cant fork %s -- spooling", path); WriteError("$Cant fork %s -- spooling", path);
return -1; return -1;
} }
Syslog('n', "Cant fork %s -- waiting", path); Syslog('m', "Cant fork %s -- waiting", path);
(void)sleep(60); (void)sleep(60);
} }
@ -205,7 +205,7 @@ static int StartChild(int fd, char *path, char *argv[])
(void)close(pan[PIPE_WRITE]); (void)close(pan[PIPE_WRITE]);
} }
Syslog('n', "execv %s %s", MBSE_SS(path), MBSE_SS(argv[1])); Syslog('m', "execv %s %s", MBSE_SS(path), MBSE_SS(argv[1]));
(void)execv(path, argv); (void)execv(path, argv);
WriteError("$Cant execv %s", path); WriteError("$Cant execv %s", path);
_exit(MBERR_EXEC_FAILED); _exit(MBERR_EXEC_FAILED);
@ -519,7 +519,7 @@ static int UnpackOne(int *fdp, int *countp)
return FALSE; return FALSE;
if (strcmp(buff, "#! cunbatch") == 0) { if (strcmp(buff, "#! cunbatch") == 0) {
Syslog('n', "Compressed newsbatch"); Syslog('m', "Compressed newsbatch");
if (SawCunbatch) { if (SawCunbatch) {
WriteError("Nested_cunbatch"); WriteError("Nested_cunbatch");
return FALSE; return FALSE;
@ -592,7 +592,7 @@ void ProcessOne(FILE *fp)
strtok(buf, " "); strtok(buf, " ");
while ((group = strtok(NULL, ",\n"))) { while ((group = strtok(NULL, ",\n"))) {
if (SearchMsgsNews(group)) { if (SearchMsgsNews(group)) {
Syslog('n', "Add group %s (%s)", msgs.Newsgroup, msgs.Tag); Syslog('m', "Add group %s (%s)", msgs.Newsgroup, msgs.Tag);
groups[nrofgroups] = xstrcpy(group); groups[nrofgroups] = xstrcpy(group);
nrofgroups++; nrofgroups++;
} else { } else {
@ -606,7 +606,7 @@ void ProcessOne(FILE *fp)
*/ */
mbuf = xstrcpy(buf+13); mbuf = xstrcpy(buf+13);
mbuf[strlen(mbuf)-2] = '\0'; mbuf[strlen(mbuf)-2] = '\0';
Syslog('n', "Message ID \"%s\"", printable(mbuf, 0)); Syslog('m', "Message ID \"%s\"", printable(mbuf, 0));
} }
} }
@ -617,7 +617,7 @@ void ProcessOne(FILE *fp)
} else { } else {
IsDoing("Article %d", (news_in + 1)); IsDoing("Article %d", (news_in + 1));
for (i = 0; i < nrofgroups; i++) { for (i = 0; i < nrofgroups; i++) {
Syslog('n', "Process %s", groups[i]); Syslog('m', "Process %s", groups[i]);
p = xstrcpy(mbuf); p = xstrcpy(mbuf);
p = xstrcat(p, groups[i]); p = xstrcat(p, groups[i]);
crc = str_crc32(p); crc = str_crc32(p);

View File

@ -111,7 +111,7 @@ void fill_artlist(List **fdp, char *id, long nr, int dupe)
{ {
List **tmp; List **tmp;
Syslog('N', "Fill %s %ld %s", id, nr, dupe ? "Dupe":"New msg"); Syslog('M', "Fill %s %ld %s", id, nr, dupe ? "Dupe":"New msg");
for (tmp = fdp; *tmp; tmp = &((*tmp)->next)); for (tmp = fdp; *tmp; tmp = &((*tmp)->next));
*tmp = (List *)malloc(sizeof(List)); *tmp = (List *)malloc(sizeof(List));
@ -217,7 +217,7 @@ void ScanNews(void)
Syslog('+', "Detected upsalarm semafore, aborting newsscan"); Syslog('+', "Detected upsalarm semafore, aborting newsscan");
break; break;
} }
Syslog('n', "Scan newsgroup: %s", Msgs.Newsgroup); Syslog('m', "Scan newsgroup: %s", Msgs.Newsgroup);
if (!do_quiet) { if (!do_quiet) {
colour(3, 0); colour(3, 0);
printf("\r%-40s", Msgs.Newsgroup); printf("\r%-40s", Msgs.Newsgroup);
@ -257,7 +257,7 @@ int do_one_group(List **art, char *grpname, char *ftntag, int maxarticles)
int retval, fetched = 0; int retval, fetched = 0;
long total, start, end; long total, start, end;
Syslog('N', "do_one_group(%s, %s)", grpname, ftntag); Syslog('M', "do_one_group(%s, %s)", grpname, ftntag);
IsDoing((char *)"Scan %s", grpname); IsDoing((char *)"Scan %s", grpname);
sprintf(temp, "GROUP %s\r\n", grpname); sprintf(temp, "GROUP %s\r\n", grpname);
nntp_send(temp); nntp_send(temp);
@ -275,14 +275,14 @@ int do_one_group(List **art, char *grpname, char *ftntag, int maxarticles)
total = atol(strtok(NULL, " ")); total = atol(strtok(NULL, " "));
start = atol(strtok(NULL, " ")); start = atol(strtok(NULL, " "));
end = atol(strtok(NULL, " '\0'")); end = atol(strtok(NULL, " '\0'"));
Syslog('n', "GROUP total %d, start %d, end %d, max %d", total, start, end, maxarticles); Syslog('m', "GROUP total %d, start %d, end %d, max %d", total, start, end, maxarticles);
if ((maxarticles) && (total > maxarticles)) { if ((maxarticles) && (total > maxarticles)) {
start = end - maxarticles; start = end - maxarticles;
total = maxarticles; total = maxarticles;
Syslog('n', "NEW: total %d, start %d, end %d", total, start, end); Syslog('m', "NEW: total %d, start %d, end %d", total, start, end);
} }
if (!total) { if (!total) {
Syslog('N', "No articles"); Syslog('M', "No articles");
return RETVAL_NOARTICLES; return RETVAL_NOARTICLES;
} }
@ -321,7 +321,7 @@ int get_article(char *msgid, char *ftntag)
FILE *fp = NULL, *dp; FILE *fp = NULL, *dp;
char dpath[PATH_MAX]; char dpath[PATH_MAX];
Syslog('n', "Get article %s, %s", msgid, ftntag); Syslog('m', "Get article %s, %s", msgid, ftntag);
if (!SearchMsgs(ftntag)) { if (!SearchMsgs(ftntag)) {
WriteError("Search message area %s failed", ftntag); WriteError("Search message area %s failed", ftntag);
return RETVAL_ERROR; return RETVAL_ERROR;
@ -392,7 +392,7 @@ int get_xover(char *grpname, long startnr, long endnr, List **art)
WriteError("Permission denied"); WriteError("Permission denied");
return RETVAL_NOXOVER; return RETVAL_NOXOVER;
case 420: case 420:
Syslog('n', "No articles in group %s", grpname); Syslog('m', "No articles in group %s", grpname);
return RETVAL_OK; return RETVAL_OK;
} }
} }
@ -470,7 +470,7 @@ int get_xoverview(void)
char *resp; char *resp;
POverview tmp, curptr = NULL; POverview tmp, curptr = NULL;
Syslog('n', "Getting overview format list"); Syslog('m', "Getting overview format list");
if ((retval = nntp_cmd((char *)"LIST overview.fmt\r\n", 215)) == 0) { if ((retval = nntp_cmd((char *)"LIST overview.fmt\r\n", 215)) == 0) {
while (done == FALSE) { while (done == FALSE) {
resp = nntp_receive(); resp = nntp_receive();
@ -512,10 +512,10 @@ int get_xoverview(void)
} }
if ((tmp = xoverview) != NULL) { if ((tmp = xoverview) != NULL) {
Syslog('N', "--Xoverview.fmt list"); Syslog('M', "--Xoverview.fmt list");
while (tmp != NULL) { while (tmp != NULL) {
if (tmp->header != NULL) { if (tmp->header != NULL) {
Syslog('N', "item = %s -- full = %s", tmp->header, tmp->full ? "True":"False"); Syslog('M', "item = %s -- full = %s", tmp->header, tmp->full ? "True":"False");
} }
tmp = tmp->next; tmp = tmp->next;
} }

View File

@ -922,33 +922,33 @@ int edit_bool(int y, int x, int val, char *help)
char *getloglevel(long val) char *getloglevel(long val)
{ {
char *p; char *p;
p = xstrcpy((char *)"?"); p = xstrcpy((char *)"?");
if (val & DLOG_ATTENT) p = xstrcat(p, (char *)"!"); if (val & DLOG_ATTENT) p = xstrcat(p, (char *)"!");
if (val & DLOG_NORMAL) p = xstrcat(p, (char *)"+"); if (val & DLOG_NORMAL) p = xstrcat(p, (char *)"+");
if (val & DLOG_VERBOSE) p = xstrcat(p, (char *)"-"); if (val & DLOG_VERBOSE) p = xstrcat(p, (char *)"-");
if (val & DLOG_TCP) p = xstrcat(p, (char *)"A"); if (val & DLOG_TCP) p = xstrcat(p, (char *)"A");
if (val & DLOG_BBS) p = xstrcat(p, (char *)"B"); if (val & DLOG_BBS) p = xstrcat(p, (char *)"B");
if (val & DLOG_CHAT) p = xstrcat(p, (char *)"C"); if (val & DLOG_CHAT) p = xstrcat(p, (char *)"C");
if (val & DLOG_DEVIO) p = xstrcat(p, (char *)"D"); if (val & DLOG_DEVIO) p = xstrcat(p, (char *)"D");
if (val & DLOG_EXEC) p = xstrcat(p, (char *)"E"); if (val & DLOG_EXEC) p = xstrcat(p, (char *)"E");
if (val & DLOG_FILEFWD) p = xstrcat(p, (char *)"F"); if (val & DLOG_FILEFWD) p = xstrcat(p, (char *)"F");
if (val & DLOG_HYDRA) p = xstrcat(p, (char *)"H"); if (val & DLOG_HYDRA) p = xstrcat(p, (char *)"H");
if (val & DLOG_IEMSI) p = xstrcat(p, (char *)"I"); if (val & DLOG_IEMSI) p = xstrcat(p, (char *)"I");
if (val & DLOG_LOCK) p = xstrcat(p, (char *)"L"); if (val & DLOG_LOCK) p = xstrcat(p, (char *)"L");
if (val & DLOG_MAIL) p = xstrcat(p, (char *)"M"); if (val & DLOG_MAIL) p = xstrcat(p, (char *)"M");
if (val & DLOG_NEWS) p = xstrcat(p, (char *)"N"); if (val & DLOG_NODELIST) p = xstrcat(p, (char *)"N");
if (val & DLOG_OUTSCAN) p = xstrcat(p, (char *)"O"); if (val & DLOG_OUTSCAN) p = xstrcat(p, (char *)"O");
if (val & DLOG_PACK) p = xstrcat(p, (char *)"P"); if (val & DLOG_PACK) p = xstrcat(p, (char *)"P");
if (val & DLOG_ROUTE) p = xstrcat(p, (char *)"R"); if (val & DLOG_ROUTE) p = xstrcat(p, (char *)"R");
if (val & DLOG_SESSION) p = xstrcat(p, (char *)"S"); if (val & DLOG_SESSION) p = xstrcat(p, (char *)"S");
if (val & DLOG_TTY) p = xstrcat(p, (char *)"T"); if (val & DLOG_TTY) p = xstrcat(p, (char *)"T");
if (val & DLOG_XMODEM) p = xstrcat(p, (char *)"X"); if (val & DLOG_XMODEM) p = xstrcat(p, (char *)"X");
if (val & DLOG_ZMODEM) p = xstrcat(p, (char *)"Z"); if (val & DLOG_ZMODEM) p = xstrcat(p, (char *)"Z");
return p; return p;
} }
@ -984,8 +984,8 @@ long edit_logl(long val, char *txt)
mvprintw(16, 5, "10. H Hydra debug"); mvprintw(16, 5, "10. H Hydra debug");
mvprintw(17, 5, "11. I EMSI debug"); mvprintw(17, 5, "11. I EMSI debug");
mvprintw( 7,45, "12. L Locking"); mvprintw( 7,45, "12. L Locking");
mvprintw( 8,45, "13. M Mail debug"); mvprintw( 8,45, "13. M Mail/News");
mvprintw( 9,45, "14. N News debug"); mvprintw( 9,45, "14. N Nodelist");
mvprintw(10,45, "15. O Outboundscan"); mvprintw(10,45, "15. O Outboundscan");
mvprintw(11,45, "16. P Packing"); mvprintw(11,45, "16. P Packing");
mvprintw(12,45, "17. R Routing"); mvprintw(12,45, "17. R Routing");
@ -1010,7 +1010,7 @@ long edit_logl(long val, char *txt)
show_lbit(17,24, val, DLOG_IEMSI); show_lbit(17,24, val, DLOG_IEMSI);
show_lbit( 7,64, val, DLOG_LOCK); show_lbit( 7,64, val, DLOG_LOCK);
show_lbit( 8,64, val, DLOG_MAIL); show_lbit( 8,64, val, DLOG_MAIL);
show_lbit( 9,64, val, DLOG_NEWS); show_lbit( 9,64, val, DLOG_NODELIST);
show_lbit(10,64, val, DLOG_OUTSCAN); show_lbit(10,64, val, DLOG_OUTSCAN);
show_lbit(11,64, val, DLOG_PACK); show_lbit(11,64, val, DLOG_PACK);
show_lbit(12,64, val, DLOG_ROUTE); show_lbit(12,64, val, DLOG_ROUTE);
@ -1034,7 +1034,7 @@ long edit_logl(long val, char *txt)
case 11:val ^= DLOG_IEMSI; break; case 11:val ^= DLOG_IEMSI; break;
case 12:val ^= DLOG_LOCK; break; case 12:val ^= DLOG_LOCK; break;
case 13:val ^= DLOG_MAIL; break; case 13:val ^= DLOG_MAIL; break;
case 14:val ^= DLOG_NEWS; break; case 14:val ^= DLOG_NODELIST; break;
case 15:val ^= DLOG_OUTSCAN; break; case 15:val ^= DLOG_OUTSCAN; break;
case 16:val ^= DLOG_PACK; break; case 16:val ^= DLOG_PACK; break;
case 17:val ^= DLOG_ROUTE; break; case 17:val ^= DLOG_ROUTE; break;

View File

@ -1348,9 +1348,9 @@ void s_mailer(void)
mvprintw(16, 2, "10. No EMSI session"); mvprintw(16, 2, "10. No EMSI session");
mvprintw(17, 2, "11. No Yooho/2U2"); mvprintw(17, 2, "11. No Yooho/2U2");
mvprintw(12,31, "12. No Zmodem"); mvprintw(15,31, "12. No Zmodem");
mvprintw(13,31, "13. No Zedzap"); mvprintw(16,31, "13. No Zedzap");
mvprintw(14,31, "14. No Hydra"); mvprintw(17,31, "14. No Hydra");
mvprintw(12,59, "18. Phonetrans 1-10"); mvprintw(12,59, "18. Phonetrans 1-10");
mvprintw(13,59, "19. Phonetrans 11-20"); mvprintw(13,59, "19. Phonetrans 11-20");
@ -1412,9 +1412,9 @@ void e_mailer(void)
show_bool(16,23, CFG.NoEMSI); show_bool(16,23, CFG.NoEMSI);
show_bool(17,23, CFG.NoWazoo); show_bool(17,23, CFG.NoWazoo);
show_bool(12,52, CFG.NoZmodem); show_bool(15,52, CFG.NoZmodem);
show_bool(13,52, CFG.NoZedzap); show_bool(16,52, CFG.NoZedzap);
show_bool(14,52, CFG.NoHydra); show_bool(17,52, CFG.NoHydra);
show_int( 16,75, CFG.Req_Files); show_int( 16,75, CFG.Req_Files);
show_int( 17,75, CFG.Req_MBytes); show_int( 17,75, CFG.Req_MBytes);
@ -1433,9 +1433,9 @@ void e_mailer(void)
case 10:E_BOOL(16,23, CFG.NoEMSI, "If set then ^EMSI handshake^ is diabled") case 10:E_BOOL(16,23, CFG.NoEMSI, "If set then ^EMSI handshake^ is diabled")
case 11:E_BOOL(17,23, CFG.NoWazoo, "If set then ^YooHoo/2U2^ (FTSC-0006) is disabled") case 11:E_BOOL(17,23, CFG.NoWazoo, "If set then ^YooHoo/2U2^ (FTSC-0006) is disabled")
case 12:E_BOOL(12,52, CFG.NoZmodem, "If set then the ^Zmodem^ protocol is disabled") case 12:E_BOOL(15,52, CFG.NoZmodem, "If set then the ^Zmodem^ protocol is disabled")
case 13:E_BOOL(13,52, CFG.NoZedzap, "If set then the ^Zedzap^ protocol is disabled") case 13:E_BOOL(16,52, CFG.NoZedzap, "If set then the ^Zedzap^ protocol is disabled")
case 14:E_BOOL(14,52, CFG.NoHydra, "If set then the ^Hydra^ protocol is disabled") case 14:E_BOOL(17,52, CFG.NoHydra, "If set then the ^Hydra^ protocol is disabled")
case 18:e_trans(0); case 18:e_trans(0);
break; break;

View File

@ -796,12 +796,12 @@ void SessionScreen(void)
mvprintw(15, 6, "9. No EMSI"); mvprintw(15, 6, "9. No EMSI");
mvprintw(16, 6, "10. No YooHoo/2U2"); mvprintw(16, 6, "10. No YooHoo/2U2");
mvprintw(17, 6, "11. No Filerequest"); mvprintw(17, 6, "11. No Filerequest");
mvprintw(18, 6, "12. Don't call");
mvprintw(19, 6, "13. 8.3 names");
mvprintw(14,41, "14. No Zmodem"); mvprintw(13,41, "12. Don't call");
mvprintw(15,41, "15. No Zedzap"); mvprintw(14,41, "13. 8.3 names");
mvprintw(16,41, "16. No Hydra"); mvprintw(15,41, "14. No Zmodem");
mvprintw(16,41, "15. No Zedzap");
mvprintw(17,41, "16. No Hydra");
} }
@ -824,12 +824,12 @@ void SessionEdit(void)
show_bool(15,26, nodes.NoEMSI); show_bool(15,26, nodes.NoEMSI);
show_bool(16,26, nodes.NoWaZOO); show_bool(16,26, nodes.NoWaZOO);
show_bool(17,26, nodes.NoFreqs); show_bool(17,26, nodes.NoFreqs);
show_bool(18,26, nodes.NoCall);
show_bool(19,26, nodes.FNC);
show_bool(14,61, nodes.NoZmodem); show_bool(13,61, nodes.NoCall);
show_bool(15,61, nodes.NoZedzap); show_bool(14,61, nodes.FNC);
show_bool(16,61, nodes.NoHydra); show_bool(15,61, nodes.NoZmodem);
show_bool(16,61, nodes.NoZedzap);
show_bool(17,61, nodes.NoHydra);
switch(select_menu(16)) { switch(select_menu(16)) {
case 0: return; case 0: return;
@ -846,12 +846,12 @@ void SessionEdit(void)
case 9: E_BOOL(15,26, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node") case 9: E_BOOL(15,26, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node")
case 10:E_BOOL(16,26, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node") case 10:E_BOOL(16,26, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node")
case 11:E_BOOL(17,26, nodes.NoFreqs, "Disallow ^file requests^ from this node") case 11:E_BOOL(17,26, nodes.NoFreqs, "Disallow ^file requests^ from this node")
case 12:E_BOOL(18,26, nodes.NoCall, "Don't ^call^ this node")
case 13:E_BOOL(19,26, nodes.FNC, "Node needs ^DOS 8.3^ filenames")
case 14:E_BOOL(14,61, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node") case 12:E_BOOL(13,61, nodes.NoCall, "Don't ^call^ this node")
case 15:E_BOOL(15,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node") case 13:E_BOOL(14,61, nodes.FNC, "Node needs ^DOS 8.3^ filenames")
case 16:E_BOOL(16,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node") case 14:E_BOOL(15,61, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node")
case 15:E_BOOL(16,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
case 16:E_BOOL(17,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
} }
} }
} }

View File

@ -357,7 +357,7 @@ void load_maincfg(void)
sprintf(CFG.phonetrans[2].repl, "00"); sprintf(CFG.phonetrans[2].repl, "00");
CFG.Speed = 9600; CFG.Speed = 9600;
CFG.dialdelay = 60; CFG.dialdelay = 60;
sprintf(CFG.Flags, "CM,XX,IBN,IFC,ITN"); sprintf(CFG.Flags, "CM,XX,IBN,IFC,ITN::60177");
CFG.cico_loglevel = DLOG_ALLWAYS | DLOG_ERROR | DLOG_ATTENT | DLOG_NORMAL | DLOG_VERBOSE; CFG.cico_loglevel = DLOG_ALLWAYS | DLOG_ERROR | DLOG_ATTENT | DLOG_NORMAL | DLOG_VERBOSE;
/* /*
@ -1031,11 +1031,15 @@ void scheduler(void)
if (file_time(tcfgfn) != tcfg_time) { if (file_time(tcfgfn) != tcfg_time) {
Syslog('+', "Task configuration changed, reloading"); Syslog('+', "Task configuration changed, reloading");
load_taskcfg(); load_taskcfg();
deinitnl();
initnl();
sem_set((char *)"scanout", TRUE); sem_set((char *)"scanout", TRUE);
} }
if (file_time(cfgfn) != cfg_time) { if (file_time(cfgfn) != cfg_time) {
Syslog('+', "Main configuration changed, reloading"); Syslog('+', "Main configuration changed, reloading");
load_maincfg(); load_maincfg();
deinitnl();
initnl();
sem_set((char *)"scanout", TRUE); sem_set((char *)"scanout", TRUE);
} }
if (file_time(ttyfn) != tty_time) { if (file_time(ttyfn) != tty_time) {