Implemented nodelist fields8 search for FQDN
This commit is contained in:
parent
2e8841d0d5
commit
92e96084b5
@ -15,6 +15,8 @@ v0.37.00 26-Dec-2002.
|
||||
The settings to suppres some IP protocols (global and nodes)
|
||||
are removed, this behaviour can be set using nodelist flags
|
||||
configuration.
|
||||
Debug logging for mail and news now have one setting, the M.
|
||||
Nodelist debug logging now uses the N character.
|
||||
|
||||
libs:
|
||||
The nodelist lookup functions are now in a separate library.
|
||||
@ -22,6 +24,8 @@ v0.37.00 26-Dec-2002.
|
||||
and flags.
|
||||
Introduced a new file, ~/etc/nodelist.conf, this file will
|
||||
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:
|
||||
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.
|
||||
Added German template files made by Joachim Kuwan.
|
||||
|
||||
mbfile:
|
||||
Move old files to another area failed, only the symbolic link
|
||||
was moved.
|
||||
|
||||
mbsetup:
|
||||
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 |
@ -12,7 +12,7 @@
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<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>
|
||||
<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
|
||||
protocol in Fidonet. There are 40 phonenumber translations present, this is 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>
|
||||
<strong>Mailer logl. </strong>The logging level for mailer 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 Zedzap </strong>Disable zedzap 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>Max. files </strong>Maximum files to request, 0 is unlimited
|
||||
<strong>Max. MBytes </strong>Maximum MBytes to request, 0 is unlimited
|
||||
|
@ -12,7 +12,7 @@
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<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>
|
||||
<P>
|
||||
@ -83,7 +83,7 @@ In this screen you can setup 20 aka's for the node.
|
||||
|
||||
<H3>3. Edit node session</H3>
|
||||
<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>
|
||||
<tr><th nowrap align=left valign=top>Session passwd</th><td>This is the mailer
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
@ -130,12 +130,6 @@ protocol.</td></tr>
|
||||
protocol.</td></tr>
|
||||
<tr><th nowrap align=left valign=top>No Hydra</th><td>Disable Hydra
|
||||
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>
|
||||
<p>
|
||||
<IMG SRC="../images/nodes3.png">
|
||||
|
122
lib/clcomm.c
122
lib/clcomm.c
@ -261,71 +261,71 @@ void Syslog(int level, const char *format, ...)
|
||||
*/
|
||||
void Syslogp(int level, char *outstr)
|
||||
{
|
||||
long mask = 0;
|
||||
int i, upper;
|
||||
long mask = 0;
|
||||
int i, upper;
|
||||
|
||||
upper = isupper(level);
|
||||
switch(tolower(level)) {
|
||||
case ' ' : mask = DLOG_ALLWAYS; break;
|
||||
case '?' : mask = DLOG_ERROR; break;
|
||||
case '!' : mask = DLOG_ATTENT; break;
|
||||
case '+' : mask = DLOG_NORMAL; break;
|
||||
case '-' : mask = DLOG_VERBOSE; break;
|
||||
case 'a' : mask = DLOG_TCP; break;
|
||||
case 'b' : mask = DLOG_BBS; break;
|
||||
case 'c' : mask = DLOG_CHAT; break;
|
||||
case 'd' : mask = DLOG_DEVIO; break;
|
||||
case 'e' : mask = DLOG_EXEC; break;
|
||||
case 'f' : mask = DLOG_FILEFWD; break;
|
||||
case 'h' : mask = DLOG_HYDRA; break;
|
||||
case 'i' : mask = DLOG_IEMSI; break;
|
||||
case 'l' : mask = DLOG_LOCK; break;
|
||||
case 'm' : mask = DLOG_MAIL; break;
|
||||
case 'n' : mask = DLOG_NEWS; break;
|
||||
case 'o' : mask = DLOG_OUTSCAN; break;
|
||||
case 'p' : mask = DLOG_PACK; break;
|
||||
case 'r' : mask = DLOG_ROUTE; break;
|
||||
case 's' : mask = DLOG_SESSION; break;
|
||||
case 't' : mask = DLOG_TTY; break;
|
||||
case 'x' : mask = DLOG_XMODEM; break;
|
||||
case 'z' : mask = DLOG_ZMODEM; break;
|
||||
upper = isupper(level);
|
||||
switch(tolower(level)) {
|
||||
case ' ' : mask = DLOG_ALLWAYS; break;
|
||||
case '?' : mask = DLOG_ERROR; break;
|
||||
case '!' : mask = DLOG_ATTENT; break;
|
||||
case '+' : mask = DLOG_NORMAL; break;
|
||||
case '-' : mask = DLOG_VERBOSE; break;
|
||||
case 'a' : mask = DLOG_TCP; break;
|
||||
case 'b' : mask = DLOG_BBS; break;
|
||||
case 'c' : mask = DLOG_CHAT; break;
|
||||
case 'd' : mask = DLOG_DEVIO; break;
|
||||
case 'e' : mask = DLOG_EXEC; break;
|
||||
case 'f' : mask = DLOG_FILEFWD; break;
|
||||
case 'h' : mask = DLOG_HYDRA; break;
|
||||
case 'i' : mask = DLOG_IEMSI; break;
|
||||
case 'l' : mask = DLOG_LOCK; break;
|
||||
case 'm' : mask = DLOG_MAIL; break;
|
||||
case 'n' : mask = DLOG_NODELIST; break;
|
||||
case 'o' : mask = DLOG_OUTSCAN; break;
|
||||
case 'p' : mask = DLOG_PACK; break;
|
||||
case 'r' : mask = DLOG_ROUTE; break;
|
||||
case 's' : mask = DLOG_SESSION; break;
|
||||
case 't' : mask = DLOG_TTY; break;
|
||||
case 'x' : mask = DLOG_XMODEM; 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)
|
||||
return;
|
||||
if (show_log)
|
||||
printf("%c %s\n", level, outstr);
|
||||
|
||||
/*
|
||||
* 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 (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);
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
#ifndef _CLCOMM_H
|
||||
#define _CLCOMM_H
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
@ -31,7 +33,7 @@
|
||||
#define DLOG_IEMSI 0x00002000
|
||||
#define DLOG_LOCK 0x00010000
|
||||
#define DLOG_MAIL 0x00020000
|
||||
#define DLOG_NEWS 0x00040000
|
||||
#define DLOG_NODELIST 0x00040000
|
||||
#define DLOG_OUTSCAN 0x00080000
|
||||
#define DLOG_PACK 0x00100000
|
||||
#define DLOG_ROUTE 0x00400000
|
||||
|
20
lib/common.h
20
lib/common.h
@ -101,26 +101,6 @@
|
||||
#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 {
|
||||
char *target;
|
||||
char *remainder;
|
||||
|
159
lib/nodelist.c
159
lib/nodelist.c
@ -118,7 +118,7 @@ static int getkwd(char **dest)
|
||||
(*tmpm)->name = xstrcpy(v);
|
||||
tmp = strtoul(p, NULL, 0);
|
||||
(*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;
|
||||
}
|
||||
@ -162,7 +162,7 @@ static int getmdm(char **dest)
|
||||
tmp2 = strtoul(q, NULL, 0);
|
||||
(*tmpm)->mask = tmp1;
|
||||
(*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);
|
||||
|
||||
return 0;
|
||||
@ -186,7 +186,7 @@ static int getarr(char **dest)
|
||||
(*tmpm) = (nodelist_array *) xmalloc(sizeof(nodelist_array));
|
||||
(*tmpm)->next = NULL;
|
||||
(*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;
|
||||
}
|
||||
|
||||
@ -217,7 +217,7 @@ static int getdom(char **dest)
|
||||
tmp = strtod(v, NULL);
|
||||
(*tmpm)->zone = tmp;
|
||||
(*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;
|
||||
}
|
||||
@ -260,7 +260,7 @@ static int getsrv(char **dest)
|
||||
(*tmpm)->service = xstrcpy(p);
|
||||
tmp = strtoul(q, NULL, 0);
|
||||
(*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);
|
||||
return 0;
|
||||
}
|
||||
@ -357,7 +357,7 @@ void deinitnl(void)
|
||||
if (!nlinitdone)
|
||||
return;
|
||||
|
||||
Syslog('s', "De-init nodelists");
|
||||
Syslog('n', "De-init nodelists");
|
||||
|
||||
tidy_nl_flag(&nl_online);
|
||||
tidy_nl_flag(&nl_request);
|
||||
@ -370,7 +370,7 @@ void deinitnl(void)
|
||||
tidy_nl_domsuf(&nl_domsuffix);
|
||||
tidy_nl_service(&nl_service);
|
||||
|
||||
Syslog('s', "De-init done");
|
||||
Syslog('n', "De-init done");
|
||||
nlinitdone = FALSE;
|
||||
}
|
||||
|
||||
@ -537,8 +537,8 @@ int initnl(void)
|
||||
}
|
||||
|
||||
free(nlpath);
|
||||
Syslog('s', "mypots %08x myisdn %08x mytcpip %08x", mypots, myisdn, mytcpip);
|
||||
Syslog('s', "Nodelists initialize complete, rc=%d", rc);
|
||||
Syslog('n', "mypots %08x myisdn %08x mytcpip %08x", mypots, myisdn, mytcpip);
|
||||
Syslog('n', "Nodelists initialize complete, rc=%d", rc);
|
||||
nlinitdone = TRUE;
|
||||
return rc;
|
||||
}
|
||||
@ -567,7 +567,7 @@ node *getnlent(faddr *addr)
|
||||
static char buf[2048], ebuf[2048], *p, *q, tbuf[256];
|
||||
struct _ixentry xaddr;
|
||||
int i, Found = FALSE, ixflag, stdflag, ndrecord = FALSE;
|
||||
char *mydomain, *path;
|
||||
char *mydomain, *path, *r;
|
||||
struct _nlfil fdx;
|
||||
struct _nlidx ndx;
|
||||
long lowest, highest, current;
|
||||
@ -577,9 +577,10 @@ node *getnlent(faddr *addr)
|
||||
nodelist_flag **tmpf;
|
||||
nodelist_service **tmps;
|
||||
nodelist_array **tmpa;
|
||||
nodelist_domsuf **tmpd;
|
||||
unsigned long tport = 0;
|
||||
|
||||
Syslog('s', "getnlent: %s", ascfnode(addr,0xff));
|
||||
Syslog('n', "getnlent: %s", ascfnode(addr,0xff));
|
||||
|
||||
mydomain = xstrcpy(CFG.aka[0].domain);
|
||||
if (mydomain == NULL)
|
||||
@ -705,7 +706,7 @@ node *getnlent(faddr *addr)
|
||||
fclose(fp);
|
||||
goto retdummy;
|
||||
}
|
||||
Syslog('s', "getnlent: %s", buf);
|
||||
Syslog('n', "getnlent: %s", buf);
|
||||
|
||||
/*
|
||||
* 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) &&
|
||||
(addr->node == nd.Aka[i].node) && (addr->point == nd.Aka[i].point)) {
|
||||
ndrecord = TRUE;
|
||||
Syslog('s', "getnlent: node record is present");
|
||||
Syslog('n', "getnlent: node record is present");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -770,7 +771,7 @@ node *getnlent(faddr *addr)
|
||||
if ((q=strchr(p,',')))
|
||||
*q++ = '\0';
|
||||
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;
|
||||
} else
|
||||
nodebuf.name = p;
|
||||
@ -830,7 +831,7 @@ node *getnlent(faddr *addr)
|
||||
* Process the nodelist 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;
|
||||
}
|
||||
ixflag = 0;
|
||||
@ -893,9 +894,8 @@ node *getnlent(faddr *addr)
|
||||
break;
|
||||
if (strncmp(ebuf, (char *)";E", 2))
|
||||
break;
|
||||
Syslog('s', "ESLF: \"%s\"", printable(ebuf, 0));
|
||||
Syslog('n', "ESLF: \"%s\"", printable(ebuf, 0));
|
||||
}
|
||||
fclose(fp);
|
||||
|
||||
/*
|
||||
* 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 (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)) {
|
||||
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)) {
|
||||
if (strcmp((*tmps)->flag, (*tmpm)->name) == 0) {
|
||||
sprintf(tbuf, "%s", (*tmps)->service);
|
||||
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));
|
||||
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);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
} else {
|
||||
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) {
|
||||
sprintf(tbuf, nodebuf.name);
|
||||
if (strchr(tbuf, '.')) {
|
||||
/*
|
||||
* 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);
|
||||
break;
|
||||
} else {
|
||||
memset(&tbuf, 0, sizeof(tbuf));
|
||||
Syslog('n', "Field3 is not usable");
|
||||
}
|
||||
} else if (strcasecmp((*tmpa)->name, "field6") == 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);
|
||||
for (i = 0; i < strlen(tbuf); i++)
|
||||
if (tbuf[i] == '-')
|
||||
tbuf[i] = '.';
|
||||
Syslog('s', "Using field6 \"%s\"", tbuf);
|
||||
Syslog('n', "Using field6 \"%s\"", tbuf);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
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
|
||||
* for this protocol.
|
||||
*/
|
||||
sprintf(tbuf, ":%lu", tport);
|
||||
Syslog('s', "Adding default port %s", tbuf);
|
||||
Syslog('n', "Adding default port %s", tbuf);
|
||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||
}
|
||||
|
||||
@ -986,9 +1075,9 @@ node *getnlent(faddr *addr)
|
||||
if (addr->domain == NULL)
|
||||
addr->domain = xstrcpy(nodebuf.addr.domain);
|
||||
|
||||
Syslog('s', "getnlent: system %s, %s", nodebuf.name, nodebuf.location);
|
||||
Syslog('s', "getnlent: sysop %s, %s", nodebuf.sysop, nodebuf.phone);
|
||||
Syslog('s', "getnlent: URL %s", printable(nodebuf.url, 0));
|
||||
Syslog('n', "getnlent: system %s, %s", nodebuf.name, nodebuf.location);
|
||||
Syslog('n', "getnlent: sysop %s, %s", nodebuf.sysop, nodebuf.phone);
|
||||
Syslog('n', "getnlent: URL %s", printable(nodebuf.url, 0));
|
||||
moflags(nodebuf.mflags);
|
||||
diflags(nodebuf.dflags);
|
||||
ipflags(nodebuf.iflags);
|
||||
@ -1030,7 +1119,7 @@ void olflags(unsigned long flags)
|
||||
t = xstrcat(t, (*tmpm)->name);
|
||||
}
|
||||
}
|
||||
Syslog('s', "%s", t);
|
||||
Syslog('n', "%s", t);
|
||||
free(t);
|
||||
}
|
||||
|
||||
@ -1055,7 +1144,7 @@ void rqflags(unsigned long flags)
|
||||
t = xstrcat(t, (char *)")");
|
||||
}
|
||||
}
|
||||
Syslog('s', "%s", t);
|
||||
Syslog('n', "%s", t);
|
||||
free(t);
|
||||
}
|
||||
|
||||
@ -1075,7 +1164,7 @@ void moflags(unsigned long flags)
|
||||
t = xstrcat(t, (*tmpm)->name);
|
||||
}
|
||||
}
|
||||
Syslog('s', "%s", t);
|
||||
Syslog('n', "%s", t);
|
||||
free(t);
|
||||
}
|
||||
|
||||
@ -1095,7 +1184,7 @@ void diflags(unsigned long flags)
|
||||
t = xstrcat(t, (*tmpm)->name);
|
||||
}
|
||||
}
|
||||
Syslog('s', "%s", t);
|
||||
Syslog('n', "%s", t);
|
||||
free(t);
|
||||
}
|
||||
|
||||
@ -1115,7 +1204,7 @@ void ipflags(unsigned long flags)
|
||||
t = xstrcat(t, (*tmpm)->name);
|
||||
}
|
||||
}
|
||||
Syslog('s', "%s", t);
|
||||
Syslog('n', "%s", t);
|
||||
free(t);
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,8 @@
|
||||
# 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
|
||||
# during 2003
|
||||
#
|
||||
@ -144,8 +145,13 @@ tcpip IBN 0x00000004 0x00000004
|
||||
# field6 - Search the phone field for 000- prefix, may be a IP
|
||||
# or a FQDN with or without a :port suffix.
|
||||
# 000-192-168-1-40:1234 or 000-ntbox.mbse.ym:5678 are valid.
|
||||
# ina - Search INA:fqdn (NOT YET AVAILABLE)
|
||||
# firstflag - First IP flag (NOT YET AVAILABLE)
|
||||
# field8 - Search in the flags for a FQDN. Valid flags are like:
|
||||
# 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)
|
||||
# defdomain - Asume default domain (NOT YET AVAILABLE)
|
||||
#
|
||||
@ -154,11 +160,14 @@ tcpip IBN 0x00000004 0x00000004
|
||||
#
|
||||
search field3
|
||||
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
|
||||
domsuffix 1 .z1.fidonet.net
|
||||
domsuffix 2 .z2.fidonet.net
|
||||
domsuffix 3 .z3.fidonet.net
|
||||
domsuffix 1 fidonet.net
|
||||
domsuffix 2 fidonet.net
|
||||
domsuffix 3 fidonet.net
|
||||
domsuffix 92 bibnet.ym
|
||||
|
||||
|
@ -168,8 +168,8 @@ void Kill(void)
|
||||
if (area.MoveArea) {
|
||||
fseek(pAreas, ((area.MoveArea -1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET);
|
||||
fread(&darea, areahdr.recsize, 1, pAreas);
|
||||
sprintf(from, "%s/%s", area.Path, file.LName);
|
||||
sprintf(to, "%s/%s", darea.Path, file.LName);
|
||||
sprintf(from, "%s/%s", area.Path, file.Name);
|
||||
sprintf(to, "%s/%s", darea.Path, file.Name);
|
||||
if ((rc = file_mv(from, to)) == 0) {
|
||||
Syslog('+', "Move %s, area %d => %d", file.Name, i, 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);
|
||||
fclose(pDest);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now again if there is a dotted version (thumbnail) of this file.
|
||||
*/
|
||||
sprintf(from, "%s/.%s", area.Path, file.LName);
|
||||
sprintf(to, "%s/.%s", darea.Path, file.LName);
|
||||
sprintf(from, "%s/.%s", area.Path, file.Name);
|
||||
sprintf(to, "%s/.%s", darea.Path, file.Name);
|
||||
if (file_exist(from, R_OK) == 0)
|
||||
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;
|
||||
fseek(pFile, - sizeof(file), SEEK_CUR);
|
||||
fwrite(&file, sizeof(file), 1, pFile);
|
||||
|
@ -119,7 +119,7 @@ int newspost(void)
|
||||
* Create newsbatch file.
|
||||
*/
|
||||
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"));
|
||||
if ((ofp = fopen(buf, "w+")) == NULL) {
|
||||
WriteError("$Can't create %s", buf);
|
||||
|
@ -255,7 +255,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
if ((hdr((char *)"X-PGP-Signed",msg)))
|
||||
pgpsigned = TRUE;
|
||||
if (pgpsigned)
|
||||
Syslog('n', "pgpsigned = %s", pgpsigned ? "True":"False");
|
||||
Syslog('m', "pgpsigned = %s", pgpsigned ? "True":"False");
|
||||
|
||||
q = hdr((char *)"Content-Transfer-Encoding",msg);
|
||||
if (q)
|
||||
@ -298,14 +298,14 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
removemime = TRUE;
|
||||
}
|
||||
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");
|
||||
|
||||
if ((p = hdr((char *)"Message-ID",msg))) {
|
||||
if (!removemsgid)
|
||||
removemsgid = chkftnmsgid(p);
|
||||
}
|
||||
Syslog('n', "removemsgid = %s", removemsgid ? "True":"False");
|
||||
Syslog('m', "removemsgid = %s", removemsgid ? "True":"False");
|
||||
|
||||
if ((!removeref) && (p = hdr((char *)"References",msg))) {
|
||||
p = xstrcpy(p);
|
||||
@ -315,12 +315,12 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
free(p);
|
||||
}
|
||||
if (removeref)
|
||||
Syslog('n', "removeref = %s", removeref ? "True":"False");
|
||||
Syslog('m', "removeref = %s", removeref ? "True":"False");
|
||||
|
||||
if ((p = hdr((char *)"Supersedes",msg)))
|
||||
removesupersedes = chkftnmsgid(p);
|
||||
if (removesupersedes)
|
||||
Syslog('n', "removesupersedes = %s", removesupersedes ? "True":"False");
|
||||
Syslog('m', "removesupersedes = %s", removesupersedes ? "True":"False");
|
||||
|
||||
if ((p = hdr((char *)"Approved",msg))) {
|
||||
while (*p && isspace(*p))
|
||||
@ -333,7 +333,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
*q='\n';
|
||||
}
|
||||
if (removeapproved)
|
||||
Syslog('n', "removeapproved = %s", removeapproved ? "True":"False");
|
||||
Syslog('m', "removeapproved = %s", removeapproved ? "True":"False");
|
||||
|
||||
if ((p = hdr((char *)"Reply-To",msg))) {
|
||||
removereplyto = FALSE;
|
||||
@ -349,7 +349,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
removereplyto = TRUE;
|
||||
}
|
||||
}
|
||||
Syslog('n', "removereplyto = %s", removereplyto ? "True":"False");
|
||||
Syslog('m', "removereplyto = %s", removereplyto ? "True":"False");
|
||||
|
||||
if ((p = hdr((char *)"Return-Receipt-To",msg))) {
|
||||
removereturnto = FALSE;
|
||||
@ -367,7 +367,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
}
|
||||
}
|
||||
if (!removereturnto)
|
||||
Syslog('n', "removereturnto = %s", removereturnto ? "True":"False");
|
||||
Syslog('m', "removereturnto = %s", removereturnto ? "True":"False");
|
||||
|
||||
p = ascfnode(fmsg->from,0x1f);
|
||||
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 */
|
||||
|
||||
p = ascfnode(fmsg->from,0x0f);
|
||||
Syslog('n', "checkorigin 3");
|
||||
Syslog('m', "checkorigin 3");
|
||||
i = 79-11-3-strlen(p);
|
||||
tinyorigin = TRUE;
|
||||
}
|
||||
if (tinyorigin)
|
||||
Syslog('n', "tinyorigin = %s", tinyorigin ? "True":"False");
|
||||
Syslog('m', "tinyorigin = %s", tinyorigin ? "True":"False");
|
||||
|
||||
if ((fmsg->origin) && (strlen(fmsg->origin) > i))
|
||||
fmsg->origin[i]='\0';
|
||||
@ -403,7 +403,7 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
if (fmsg->to)
|
||||
hdrsize += (fmsg->to->name)?strlen(fmsg->to->name):0;
|
||||
do {
|
||||
Syslog('n', "split loop, splitpart = %d", splitpart);
|
||||
Syslog('m', "split loop, splitpart = %d", splitpart);
|
||||
datasize = 0;
|
||||
|
||||
if (splitpart) {
|
||||
@ -804,17 +804,17 @@ int rfc2ftn(FILE *fp, faddr *recipient)
|
||||
fflush(ofp);
|
||||
rewind(ofp);
|
||||
|
||||
Syslog('n', "========== Fido start");
|
||||
Syslog('m', "========== Fido start");
|
||||
while (fgets(temp, 4096, ofp) != NULL) {
|
||||
/*
|
||||
* Only log kludges, skip the body
|
||||
*/
|
||||
if ((temp[0] == '\001') || !strncmp(temp, "AREA:", 5) || !strncmp(temp, "SEEN-BY", 7)) {
|
||||
Striplf(temp);
|
||||
Syslogp('n', printable(temp, 0));
|
||||
Syslogp('m', printable(temp, 0));
|
||||
}
|
||||
}
|
||||
Syslog('n', "========== Fido end");
|
||||
Syslog('m', "========== Fido end");
|
||||
|
||||
if (newsmode)
|
||||
rc = postecho(NULL, fmsg->from, fmsg->to, origin, fmsg->subj, fmsg->date, fmsg->flags, 0, ofp, FALSE);
|
||||
|
@ -179,7 +179,7 @@ static int StartChild(int fd, char *path, char *argv[])
|
||||
WriteError("$Cant fork %s -- spooling", path);
|
||||
return -1;
|
||||
}
|
||||
Syslog('n', "Cant fork %s -- waiting", path);
|
||||
Syslog('m', "Cant fork %s -- waiting", path);
|
||||
(void)sleep(60);
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ static int StartChild(int fd, char *path, char *argv[])
|
||||
(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);
|
||||
WriteError("$Cant execv %s", path);
|
||||
_exit(MBERR_EXEC_FAILED);
|
||||
@ -519,7 +519,7 @@ static int UnpackOne(int *fdp, int *countp)
|
||||
return FALSE;
|
||||
|
||||
if (strcmp(buff, "#! cunbatch") == 0) {
|
||||
Syslog('n', "Compressed newsbatch");
|
||||
Syslog('m', "Compressed newsbatch");
|
||||
if (SawCunbatch) {
|
||||
WriteError("Nested_cunbatch");
|
||||
return FALSE;
|
||||
@ -592,7 +592,7 @@ void ProcessOne(FILE *fp)
|
||||
strtok(buf, " ");
|
||||
while ((group = strtok(NULL, ",\n"))) {
|
||||
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);
|
||||
nrofgroups++;
|
||||
} else {
|
||||
@ -606,7 +606,7 @@ void ProcessOne(FILE *fp)
|
||||
*/
|
||||
mbuf = xstrcpy(buf+13);
|
||||
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 {
|
||||
IsDoing("Article %d", (news_in + 1));
|
||||
for (i = 0; i < nrofgroups; i++) {
|
||||
Syslog('n', "Process %s", groups[i]);
|
||||
Syslog('m', "Process %s", groups[i]);
|
||||
p = xstrcpy(mbuf);
|
||||
p = xstrcat(p, groups[i]);
|
||||
crc = str_crc32(p);
|
||||
|
@ -111,7 +111,7 @@ void fill_artlist(List **fdp, char *id, long nr, int dupe)
|
||||
{
|
||||
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));
|
||||
*tmp = (List *)malloc(sizeof(List));
|
||||
@ -217,7 +217,7 @@ void ScanNews(void)
|
||||
Syslog('+', "Detected upsalarm semafore, aborting newsscan");
|
||||
break;
|
||||
}
|
||||
Syslog('n', "Scan newsgroup: %s", Msgs.Newsgroup);
|
||||
Syslog('m', "Scan newsgroup: %s", Msgs.Newsgroup);
|
||||
if (!do_quiet) {
|
||||
colour(3, 0);
|
||||
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;
|
||||
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);
|
||||
sprintf(temp, "GROUP %s\r\n", grpname);
|
||||
nntp_send(temp);
|
||||
@ -275,14 +275,14 @@ int do_one_group(List **art, char *grpname, char *ftntag, int maxarticles)
|
||||
total = atol(strtok(NULL, " "));
|
||||
start = atol(strtok(NULL, " "));
|
||||
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)) {
|
||||
start = end - 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) {
|
||||
Syslog('N', "No articles");
|
||||
Syslog('M', "No articles");
|
||||
return RETVAL_NOARTICLES;
|
||||
}
|
||||
|
||||
@ -321,7 +321,7 @@ int get_article(char *msgid, char *ftntag)
|
||||
FILE *fp = NULL, *dp;
|
||||
char dpath[PATH_MAX];
|
||||
|
||||
Syslog('n', "Get article %s, %s", msgid, ftntag);
|
||||
Syslog('m', "Get article %s, %s", msgid, ftntag);
|
||||
if (!SearchMsgs(ftntag)) {
|
||||
WriteError("Search message area %s failed", ftntag);
|
||||
return RETVAL_ERROR;
|
||||
@ -392,7 +392,7 @@ int get_xover(char *grpname, long startnr, long endnr, List **art)
|
||||
WriteError("Permission denied");
|
||||
return RETVAL_NOXOVER;
|
||||
case 420:
|
||||
Syslog('n', "No articles in group %s", grpname);
|
||||
Syslog('m', "No articles in group %s", grpname);
|
||||
return RETVAL_OK;
|
||||
}
|
||||
}
|
||||
@ -470,7 +470,7 @@ int get_xoverview(void)
|
||||
char *resp;
|
||||
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) {
|
||||
while (done == FALSE) {
|
||||
resp = nntp_receive();
|
||||
@ -512,10 +512,10 @@ int get_xoverview(void)
|
||||
}
|
||||
|
||||
if ((tmp = xoverview) != NULL) {
|
||||
Syslog('N', "--Xoverview.fmt list");
|
||||
Syslog('M', "--Xoverview.fmt list");
|
||||
while (tmp != 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;
|
||||
}
|
||||
|
@ -922,33 +922,33 @@ int edit_bool(int y, int x, int val, char *help)
|
||||
|
||||
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_NORMAL) p = xstrcat(p, (char *)"+");
|
||||
if (val & DLOG_VERBOSE) p = xstrcat(p, (char *)"-");
|
||||
if (val & DLOG_TCP) p = xstrcat(p, (char *)"A");
|
||||
if (val & DLOG_BBS) p = xstrcat(p, (char *)"B");
|
||||
if (val & DLOG_CHAT) p = xstrcat(p, (char *)"C");
|
||||
if (val & DLOG_DEVIO) p = xstrcat(p, (char *)"D");
|
||||
if (val & DLOG_EXEC) p = xstrcat(p, (char *)"E");
|
||||
if (val & DLOG_FILEFWD) p = xstrcat(p, (char *)"F");
|
||||
if (val & DLOG_HYDRA) p = xstrcat(p, (char *)"H");
|
||||
if (val & DLOG_IEMSI) p = xstrcat(p, (char *)"I");
|
||||
if (val & DLOG_LOCK) p = xstrcat(p, (char *)"L");
|
||||
if (val & DLOG_MAIL) p = xstrcat(p, (char *)"M");
|
||||
if (val & DLOG_NEWS) p = xstrcat(p, (char *)"N");
|
||||
if (val & DLOG_OUTSCAN) p = xstrcat(p, (char *)"O");
|
||||
if (val & DLOG_PACK) p = xstrcat(p, (char *)"P");
|
||||
if (val & DLOG_ROUTE) p = xstrcat(p, (char *)"R");
|
||||
if (val & DLOG_SESSION) p = xstrcat(p, (char *)"S");
|
||||
if (val & DLOG_TTY) p = xstrcat(p, (char *)"T");
|
||||
if (val & DLOG_XMODEM) p = xstrcat(p, (char *)"X");
|
||||
if (val & DLOG_ZMODEM) p = xstrcat(p, (char *)"Z");
|
||||
if (val & DLOG_ATTENT) p = xstrcat(p, (char *)"!");
|
||||
if (val & DLOG_NORMAL) p = xstrcat(p, (char *)"+");
|
||||
if (val & DLOG_VERBOSE) p = xstrcat(p, (char *)"-");
|
||||
if (val & DLOG_TCP) p = xstrcat(p, (char *)"A");
|
||||
if (val & DLOG_BBS) p = xstrcat(p, (char *)"B");
|
||||
if (val & DLOG_CHAT) p = xstrcat(p, (char *)"C");
|
||||
if (val & DLOG_DEVIO) p = xstrcat(p, (char *)"D");
|
||||
if (val & DLOG_EXEC) p = xstrcat(p, (char *)"E");
|
||||
if (val & DLOG_FILEFWD) p = xstrcat(p, (char *)"F");
|
||||
if (val & DLOG_HYDRA) p = xstrcat(p, (char *)"H");
|
||||
if (val & DLOG_IEMSI) p = xstrcat(p, (char *)"I");
|
||||
if (val & DLOG_LOCK) p = xstrcat(p, (char *)"L");
|
||||
if (val & DLOG_MAIL) p = xstrcat(p, (char *)"M");
|
||||
if (val & DLOG_NODELIST) p = xstrcat(p, (char *)"N");
|
||||
if (val & DLOG_OUTSCAN) p = xstrcat(p, (char *)"O");
|
||||
if (val & DLOG_PACK) p = xstrcat(p, (char *)"P");
|
||||
if (val & DLOG_ROUTE) p = xstrcat(p, (char *)"R");
|
||||
if (val & DLOG_SESSION) p = xstrcat(p, (char *)"S");
|
||||
if (val & DLOG_TTY) p = xstrcat(p, (char *)"T");
|
||||
if (val & DLOG_XMODEM) p = xstrcat(p, (char *)"X");
|
||||
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(17, 5, "11. I EMSI debug");
|
||||
mvprintw( 7,45, "12. L Locking");
|
||||
mvprintw( 8,45, "13. M Mail debug");
|
||||
mvprintw( 9,45, "14. N News debug");
|
||||
mvprintw( 8,45, "13. M Mail/News");
|
||||
mvprintw( 9,45, "14. N Nodelist");
|
||||
mvprintw(10,45, "15. O Outboundscan");
|
||||
mvprintw(11,45, "16. P Packing");
|
||||
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( 7,64, val, DLOG_LOCK);
|
||||
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(11,64, val, DLOG_PACK);
|
||||
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 12:val ^= DLOG_LOCK; 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 16:val ^= DLOG_PACK; break;
|
||||
case 17:val ^= DLOG_ROUTE; break;
|
||||
|
@ -1348,9 +1348,9 @@ void s_mailer(void)
|
||||
mvprintw(16, 2, "10. No EMSI session");
|
||||
mvprintw(17, 2, "11. No Yooho/2U2");
|
||||
|
||||
mvprintw(12,31, "12. No Zmodem");
|
||||
mvprintw(13,31, "13. No Zedzap");
|
||||
mvprintw(14,31, "14. No Hydra");
|
||||
mvprintw(15,31, "12. No Zmodem");
|
||||
mvprintw(16,31, "13. No Zedzap");
|
||||
mvprintw(17,31, "14. No Hydra");
|
||||
|
||||
mvprintw(12,59, "18. Phonetrans 1-10");
|
||||
mvprintw(13,59, "19. Phonetrans 11-20");
|
||||
@ -1412,9 +1412,9 @@ void e_mailer(void)
|
||||
show_bool(16,23, CFG.NoEMSI);
|
||||
show_bool(17,23, CFG.NoWazoo);
|
||||
|
||||
show_bool(12,52, CFG.NoZmodem);
|
||||
show_bool(13,52, CFG.NoZedzap);
|
||||
show_bool(14,52, CFG.NoHydra);
|
||||
show_bool(15,52, CFG.NoZmodem);
|
||||
show_bool(16,52, CFG.NoZedzap);
|
||||
show_bool(17,52, CFG.NoHydra);
|
||||
|
||||
show_int( 16,75, CFG.Req_Files);
|
||||
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 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 13:E_BOOL(13,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 12:E_BOOL(15,52, CFG.NoZmodem, "If set then the ^Zmodem^ protocol is disabled")
|
||||
case 13:E_BOOL(16,52, CFG.NoZedzap, "If set then the ^Zedzap^ protocol is disabled")
|
||||
case 14:E_BOOL(17,52, CFG.NoHydra, "If set then the ^Hydra^ protocol is disabled")
|
||||
|
||||
case 18:e_trans(0);
|
||||
break;
|
||||
|
@ -796,12 +796,12 @@ void SessionScreen(void)
|
||||
mvprintw(15, 6, "9. No EMSI");
|
||||
mvprintw(16, 6, "10. No YooHoo/2U2");
|
||||
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(15,41, "15. No Zedzap");
|
||||
mvprintw(16,41, "16. No Hydra");
|
||||
mvprintw(13,41, "12. Don't call");
|
||||
mvprintw(14,41, "13. 8.3 names");
|
||||
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(16,26, nodes.NoWaZOO);
|
||||
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(15,61, nodes.NoZedzap);
|
||||
show_bool(16,61, nodes.NoHydra);
|
||||
show_bool(13,61, nodes.NoCall);
|
||||
show_bool(14,61, nodes.FNC);
|
||||
show_bool(15,61, nodes.NoZmodem);
|
||||
show_bool(16,61, nodes.NoZedzap);
|
||||
show_bool(17,61, nodes.NoHydra);
|
||||
|
||||
switch(select_menu(16)) {
|
||||
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 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 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 15:E_BOOL(15,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
|
||||
case 16:E_BOOL(16,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
|
||||
case 12:E_BOOL(13,61, nodes.NoCall, "Don't ^call^ this node")
|
||||
case 13:E_BOOL(14,61, nodes.FNC, "Node needs ^DOS 8.3^ filenames")
|
||||
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")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ void load_maincfg(void)
|
||||
sprintf(CFG.phonetrans[2].repl, "00");
|
||||
CFG.Speed = 9600;
|
||||
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;
|
||||
|
||||
/*
|
||||
@ -1031,11 +1031,15 @@ void scheduler(void)
|
||||
if (file_time(tcfgfn) != tcfg_time) {
|
||||
Syslog('+', "Task configuration changed, reloading");
|
||||
load_taskcfg();
|
||||
deinitnl();
|
||||
initnl();
|
||||
sem_set((char *)"scanout", TRUE);
|
||||
}
|
||||
if (file_time(cfgfn) != cfg_time) {
|
||||
Syslog('+', "Main configuration changed, reloading");
|
||||
load_maincfg();
|
||||
deinitnl();
|
||||
initnl();
|
||||
sem_set((char *)"scanout", TRUE);
|
||||
}
|
||||
if (file_time(ttyfn) != tty_time) {
|
||||
|
Reference in New Issue
Block a user