Added binkp escape switch
This commit is contained in:
parent
008604d8d6
commit
1442a4babc
12
ChangeLog
12
ChangeLog
@ -26,6 +26,11 @@ v0.37.6 10-Aug-2003
|
|||||||
Changed the address of the FSF in all sources.
|
Changed the address of the FSF in all sources.
|
||||||
Removed memwatch debugger.
|
Removed memwatch debugger.
|
||||||
Changed all gif and jpg images to png images.
|
Changed all gif and jpg images to png images.
|
||||||
|
Added a setup switch for the nodes for selecting the wrong
|
||||||
|
binkp long filenames escape method for Argus and Irex nodes.
|
||||||
|
|
||||||
|
nodelist.a:
|
||||||
|
Removed some of the debug logging.
|
||||||
|
|
||||||
mbcico:
|
mbcico:
|
||||||
Completly changed the files inbound receive, all files are now
|
Completly changed the files inbound receive, all files are now
|
||||||
@ -35,7 +40,8 @@ v0.37.6 10-Aug-2003
|
|||||||
resync problems.
|
resync problems.
|
||||||
The other goodie is that this is more safe on busy multiline
|
The other goodie is that this is more safe on busy multiline
|
||||||
systems.
|
systems.
|
||||||
Fixed the binkp escape sequence which is wrong in the FSP.
|
Fixed the binkp escape sequence which is wrong in the FSP, this
|
||||||
|
is selectable in the nodes setup.
|
||||||
A light improvement in session handshake setup timers.
|
A light improvement in session handshake setup timers.
|
||||||
Added EMSI handshake timers, this gives a more relaxed EMSI
|
Added EMSI handshake timers, this gives a more relaxed EMSI
|
||||||
handshake.
|
handshake.
|
||||||
@ -43,6 +49,10 @@ v0.37.6 10-Aug-2003
|
|||||||
now even accept buggy maindoor sessions and still display a
|
now even accept buggy maindoor sessions and still display a
|
||||||
banner.
|
banner.
|
||||||
|
|
||||||
|
mbsetup:
|
||||||
|
In the nodes setup a switch is added to fallback to the wrong
|
||||||
|
binkp escape method.
|
||||||
|
|
||||||
|
|
||||||
v0.37.5 12-Jul-2003 - 10-Aug-2003
|
v0.37.5 12-Jul-2003 - 10-Aug-2003
|
||||||
|
|
||||||
|
@ -349,8 +349,6 @@ void deinitnl(void)
|
|||||||
if (!nlinitdone)
|
if (!nlinitdone)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
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);
|
||||||
tidy_nl_flag(&nl_reqbits);
|
tidy_nl_flag(&nl_reqbits);
|
||||||
@ -362,7 +360,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('n', "De-init done");
|
Syslog('n', "De-init nodelists done");
|
||||||
nlinitdone = FALSE;
|
nlinitdone = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -526,8 +524,6 @@ int initnl(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
free(nlpath);
|
free(nlpath);
|
||||||
Syslog('n', "mypots %08x myisdn %08x mytcpip %08x", mypots, myisdn, mytcpip);
|
|
||||||
Syslog('n', "Nodelists initialize complete, rc=%d", rc);
|
|
||||||
nlinitdone = TRUE;
|
nlinitdone = TRUE;
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -912,15 +908,15 @@ node *getnlent(faddr *addr)
|
|||||||
*/
|
*/
|
||||||
if (nodebuf.iflags & mytcpip) {
|
if (nodebuf.iflags & mytcpip) {
|
||||||
memset(&tbuf, 0, sizeof(tbuf));
|
memset(&tbuf, 0, sizeof(tbuf));
|
||||||
Syslog('n', "node iflags %08x, mytcpip %08x", nodebuf.iflags, mytcpip);
|
Syslog('n', "getnlent: 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('n', "Setting %s", (*tmpm)->name);
|
Syslog('n', "getnlent: best flag is %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('n', "Setting %s %d", (*tmps)->service, (*tmps)->port);
|
Syslog('n', "getnlent: protocol %s at port %d", (*tmps)->service, (*tmps)->port);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -938,38 +934,36 @@ 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('n', "Using override %s for FQDN", nd.Nl_hostname);
|
Syslog('n', "getnlent: 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('n', "Search FQDN method %s", (*tmpa)->name);
|
Syslog('n', "getnlent: 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('n', "Using field3 \"%s\"", tbuf);
|
Syslog('n', "getnlent: using field3 \"%s\"", tbuf);
|
||||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
memset(&tbuf, 0, sizeof(tbuf));
|
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('n', "Found 000- prefix");
|
Syslog('n', "getnlent: 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('n', "Using field6 \"%s\"", tbuf);
|
Syslog('n', "getnlent: using field6 \"%s\"", tbuf);
|
||||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
memset(&tbuf, 0, sizeof(tbuf));
|
memset(&tbuf, 0, sizeof(tbuf));
|
||||||
Syslog('n', "Field6 is not usable");
|
|
||||||
}
|
}
|
||||||
} else if (strcasecmp((*tmpa)->name, "field8") == 0) {
|
} else if (strcasecmp((*tmpa)->name, "field8") == 0) {
|
||||||
/*
|
/*
|
||||||
@ -1017,7 +1011,7 @@ node *getnlent(faddr *addr)
|
|||||||
r++;
|
r++;
|
||||||
}
|
}
|
||||||
if (*r == '*') {
|
if (*r == '*') {
|
||||||
Syslog('n', "Possible default domain marking \"%s\"", MBSE_SS(r));
|
Syslog('n', "getnlent: possible default domain marking \"%s\"", MBSE_SS(r));
|
||||||
for (tmpd = &nl_domsuffix; *tmpd; tmpd=&((*tmpd)->next)) {
|
for (tmpd = &nl_domsuffix; *tmpd; tmpd=&((*tmpd)->next)) {
|
||||||
if ((*tmpd)->zone == nodebuf.addr.zone) {
|
if ((*tmpd)->zone == nodebuf.addr.zone) {
|
||||||
if (*r++ == '\0')
|
if (*r++ == '\0')
|
||||||
@ -1026,17 +1020,17 @@ node *getnlent(faddr *addr)
|
|||||||
else
|
else
|
||||||
sprintf(tbuf, "f%d.n%d.z%d.%s.%s%s", nodebuf.addr.node, nodebuf.addr.net,
|
sprintf(tbuf, "f%d.n%d.z%d.%s.%s%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||||
nodebuf.addr.zone, nodebuf.addr.domain, (*tmpd)->name, r);
|
nodebuf.addr.zone, nodebuf.addr.domain, (*tmpd)->name, r);
|
||||||
Syslog('n', "Will try default domain \"%s\"", tbuf);
|
Syslog('n', "getnlent: will try default domain \"%s\"", tbuf);
|
||||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (strlen(tbuf))
|
if (strlen(tbuf))
|
||||||
break;
|
break;
|
||||||
Syslog('n', "No matching default domain found for zone %d", nodebuf.addr.zone);
|
Syslog('n', "getnlent: no matching default domain found for zone %d", nodebuf.addr.zone);
|
||||||
}
|
}
|
||||||
if (strchr(r, '.')) {
|
if (strchr(r, '.')) {
|
||||||
Syslog('n', "Found a FQDN \"%s\"", MBSE_SS(r));
|
Syslog('n', "getnlent: found a FQDN \"%s\"", MBSE_SS(r));
|
||||||
sprintf(tbuf, "%s", r);
|
sprintf(tbuf, "%s", r);
|
||||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||||
break;
|
break;
|
||||||
@ -1045,16 +1039,15 @@ node *getnlent(faddr *addr)
|
|||||||
}
|
}
|
||||||
if (strlen(tbuf))
|
if (strlen(tbuf))
|
||||||
break;
|
break;
|
||||||
Syslog('n', "Field8 is not usable");
|
|
||||||
memset(&tbuf, 0, sizeof(tbuf));
|
memset(&tbuf, 0, sizeof(tbuf));
|
||||||
} else if (strcasecmp((*tmpa)->name, "defdomain") == 0) {
|
} else if (strcasecmp((*tmpa)->name, "defdomain") == 0) {
|
||||||
Syslog('n', "Trying default domain");
|
Syslog('n', "getnlent: trying default domain");
|
||||||
if (nodebuf.addr.domain) {
|
if (nodebuf.addr.domain) {
|
||||||
for (tmpd = &nl_domsuffix; *tmpd; tmpd=&((*tmpd)->next)) {
|
for (tmpd = &nl_domsuffix; *tmpd; tmpd=&((*tmpd)->next)) {
|
||||||
if ((*tmpd)->zone == nodebuf.addr.zone) {
|
if ((*tmpd)->zone == nodebuf.addr.zone) {
|
||||||
sprintf(tbuf, "f%d.n%d.z%d.%s.%s", nodebuf.addr.node, nodebuf.addr.net,
|
sprintf(tbuf, "f%d.n%d.z%d.%s.%s", nodebuf.addr.node, nodebuf.addr.net,
|
||||||
nodebuf.addr.zone, nodebuf.addr.domain, (*tmpd)->name);
|
nodebuf.addr.zone, nodebuf.addr.domain, (*tmpd)->name);
|
||||||
Syslog('n', "Will try default domain \"%s\"", tbuf);
|
Syslog('n', "getnlent: will try default domain \"%s\"", tbuf);
|
||||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1064,14 +1057,14 @@ node *getnlent(faddr *addr)
|
|||||||
}
|
}
|
||||||
if (strlen(tbuf))
|
if (strlen(tbuf))
|
||||||
break;
|
break;
|
||||||
Syslog('n', "No matching default domain found for zone %d", nodebuf.addr.zone);
|
Syslog('n', "getnlent: no matching default domain found for zone %d", nodebuf.addr.zone);
|
||||||
memset(&tbuf, 0, sizeof(tbuf));
|
memset(&tbuf, 0, sizeof(tbuf));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(tbuf) == 0) {
|
if (strlen(tbuf) == 0) {
|
||||||
Syslog('n', "No FQDN found, cannot call");
|
Syslog('+', "getnlent: no FQDN found, cannot call");
|
||||||
if (nodebuf.url)
|
if (nodebuf.url)
|
||||||
free(nodebuf.url);
|
free(nodebuf.url);
|
||||||
nodebuf.url = NULL;
|
nodebuf.url = NULL;
|
||||||
@ -1081,7 +1074,7 @@ node *getnlent(faddr *addr)
|
|||||||
* for this protocol.
|
* for this protocol.
|
||||||
*/
|
*/
|
||||||
sprintf(tbuf, ":%lu", tport);
|
sprintf(tbuf, ":%lu", tport);
|
||||||
Syslog('n', "Adding default port %s", tbuf);
|
Syslog('n', "getnlent: adding default port %s", tbuf);
|
||||||
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
nodebuf.url = xstrcat(nodebuf.url, tbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1105,11 +1098,11 @@ node *getnlent(faddr *addr)
|
|||||||
Syslog('n', "getnlent: system %s, %s", nodebuf.name, nodebuf.location);
|
Syslog('n', "getnlent: system %s, %s", nodebuf.name, nodebuf.location);
|
||||||
Syslog('n', "getnlent: sysop %s, %s", nodebuf.sysop, nodebuf.phone);
|
Syslog('n', "getnlent: sysop %s, %s", nodebuf.sysop, nodebuf.phone);
|
||||||
Syslog('n', "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);
|
||||||
olflags(nodebuf.oflags);
|
// olflags(nodebuf.oflags);
|
||||||
rqflags(nodebuf.xflags);
|
// rqflags(nodebuf.xflags);
|
||||||
free(mydomain);
|
free(mydomain);
|
||||||
|
|
||||||
return &nodebuf;
|
return &nodebuf;
|
||||||
|
@ -1188,7 +1188,7 @@ struct _nodes {
|
|||||||
unsigned ARCmailCompat : 1; /* ARCmail Compatibility */
|
unsigned ARCmailCompat : 1; /* ARCmail Compatibility */
|
||||||
unsigned ARCmailAlpha : 1; /* Allow a..z ARCmail name */
|
unsigned ARCmailAlpha : 1; /* Allow a..z ARCmail name */
|
||||||
unsigned FNC : 1; /* Node needs 8.3 filenames */
|
unsigned FNC : 1; /* Node needs 8.3 filenames */
|
||||||
unsigned xNoITN : 1;
|
unsigned WrongEscape : 1; /* Binkp wrong escape */
|
||||||
unsigned xNoIFC : 1;
|
unsigned xNoIFC : 1;
|
||||||
|
|
||||||
char xExtra[94];
|
char xExtra[94];
|
||||||
|
@ -245,7 +245,11 @@ char *unix2binkp(char *fn)
|
|||||||
*q++ = *p;
|
*q++ = *p;
|
||||||
*q = '\0';
|
*q = '\0';
|
||||||
} else {
|
} else {
|
||||||
sprintf(q, "\\x%2x", p[0]);
|
if (nodes.WrongEscape) {
|
||||||
|
sprintf(q, "\\%2x", p[0]);
|
||||||
|
} else {
|
||||||
|
sprintf(q, "\\x%2x", p[0]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while (*q)
|
while (*q)
|
||||||
q++;
|
q++;
|
||||||
@ -283,7 +287,7 @@ char *binkp2unix(char *fn)
|
|||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* If remote sends \x0a method instead of \0a, eat the x character.
|
* If remote sends \x0a method instead of \0a, eat the x character.
|
||||||
* Remotes should send the x character, But some (Argus) don't.
|
* Remotes should send the x character, But some (Argus and Irex) don't.
|
||||||
*/
|
*/
|
||||||
if ((*p == 'x') || (*p == 'X'))
|
if ((*p == 'x') || (*p == 'X'))
|
||||||
p++;
|
p++;
|
||||||
|
@ -796,11 +796,12 @@ void SessionScreen(void)
|
|||||||
mvprintw(17, 6, "11. No Filerequest");
|
mvprintw(17, 6, "11. No Filerequest");
|
||||||
mvprintw(18, 6, "12. Don't call");
|
mvprintw(18, 6, "12. Don't call");
|
||||||
|
|
||||||
mvprintw(14,41, "13. 8.3 names");
|
mvprintw(13,41, "13. 8.3 names");
|
||||||
mvprintw(15,41, "14. No Zmodem");
|
mvprintw(14,41, "14. No Zmodem");
|
||||||
mvprintw(16,41, "15. No Zedzap");
|
mvprintw(15,41, "15. No Zedzap");
|
||||||
mvprintw(17,41, "16. No Hydra");
|
mvprintw(16,41, "16. No Hydra");
|
||||||
mvprintw(18,41, "17. binkp CRC32");
|
mvprintw(17,41, "17. binkp CRC32");
|
||||||
|
mvprintw(18,41, "18. binkp old esc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -825,13 +826,14 @@ void SessionEdit(void)
|
|||||||
show_bool(17,26, nodes.NoFreqs);
|
show_bool(17,26, nodes.NoFreqs);
|
||||||
show_bool(18,26, nodes.NoCall);
|
show_bool(18,26, nodes.NoCall);
|
||||||
|
|
||||||
show_bool(14,61, nodes.FNC);
|
show_bool(13,61, nodes.FNC);
|
||||||
show_bool(15,61, nodes.NoZmodem);
|
show_bool(14,61, nodes.NoZmodem);
|
||||||
show_bool(16,61, nodes.NoZedzap);
|
show_bool(15,61, nodes.NoZedzap);
|
||||||
show_bool(17,61, nodes.NoHydra);
|
show_bool(16,61, nodes.NoHydra);
|
||||||
show_bool(18,61, nodes.CRC32);
|
show_bool(17,61, nodes.CRC32);
|
||||||
|
show_bool(18,61, nodes.WrongEscape);
|
||||||
|
|
||||||
switch(select_menu(17)) {
|
switch(select_menu(18)) {
|
||||||
case 0: return;
|
case 0: return;
|
||||||
case 1: E_STR( 7,26,15, nodes.Spasswd, "The ^Session password^ for this node")
|
case 1: E_STR( 7,26,15, nodes.Spasswd, "The ^Session password^ for this node")
|
||||||
case 2: E_STR( 8,26,40, nodes.dial, "If needed, give a special modem ^dial command^ for this node")
|
case 2: E_STR( 8,26,40, nodes.dial, "If needed, give a special modem ^dial command^ for this node")
|
||||||
@ -848,11 +850,12 @@ void SessionEdit(void)
|
|||||||
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 12:E_BOOL(18,26, nodes.NoCall, "Don't ^call^ this node")
|
||||||
|
|
||||||
case 13:E_BOOL(14,61, nodes.FNC, "Node needs ^DOS 8.3^ filenames")
|
case 13:E_BOOL(13,61, nodes.FNC, "Node needs ^DOS 8.3^ filenames")
|
||||||
case 14:E_BOOL(15,61, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node")
|
case 14:E_BOOL(14,61, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node")
|
||||||
case 15:E_BOOL(16,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
|
case 15:E_BOOL(15,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
|
||||||
case 16:E_BOOL(17,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
|
case 16:E_BOOL(16,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
|
||||||
case 17:E_BOOL(18,61, nodes.CRC32, "Enable ^binkp CRC32^ file transfers with this node")
|
case 17:E_BOOL(17,61, nodes.CRC32, "Enable ^binkp CRC32^ file transfers with this node")
|
||||||
|
case 18:E_BOOL(18,61, nodes.WrongEscape, "Use the ^old escape^ for long filenames (Argus, Irex)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1483,18 +1486,19 @@ int node_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " No Zedzap %s", getboolean(nodes.NoZedzap));
|
fprintf(fp, " No Zedzap %s", getboolean(nodes.NoZedzap));
|
||||||
fprintf(fp, " No Hydra %s", getboolean(nodes.NoHydra));
|
fprintf(fp, " No Hydra %s", getboolean(nodes.NoHydra));
|
||||||
fprintf(fp, " binkp CRC32 %s\n", getboolean(nodes.CRC32));
|
fprintf(fp, " binkp CRC32 %s\n", getboolean(nodes.CRC32));
|
||||||
|
fprintf(fp, " binkp old esc %s", getboolean(nodes.WrongEscape));
|
||||||
fprintf(fp, " Mail forward %s", getboolean(nodes.MailFwd));
|
fprintf(fp, " Mail forward %s", getboolean(nodes.MailFwd));
|
||||||
fprintf(fp, " Check mailpwd %s", getboolean(nodes.MailPwdCheck));
|
fprintf(fp, " Check mailpwd %s\n", getboolean(nodes.MailPwdCheck));
|
||||||
fprintf(fp, " ARCmail comp. %s\n", getboolean(nodes.ARCmailCompat));
|
fprintf(fp, " ARCmail comp. %s", getboolean(nodes.ARCmailCompat));
|
||||||
fprintf(fp, " ACRmail a..z %s", getboolean(nodes.ARCmailAlpha));
|
fprintf(fp, " ACRmail a..z %s", getboolean(nodes.ARCmailAlpha));
|
||||||
fprintf(fp, " Send message %s", getboolean(nodes.Message));
|
fprintf(fp, " Send message %s\n", getboolean(nodes.Message));
|
||||||
fprintf(fp, " Send .TIC %s\n", getboolean(nodes.Tic));
|
fprintf(fp, " Send .TIC %s", getboolean(nodes.Tic));
|
||||||
fprintf(fp, " File forward %s", getboolean(nodes.FileFwd));
|
fprintf(fp, " File forward %s", getboolean(nodes.FileFwd));
|
||||||
fprintf(fp, " Advanced TIC %s", getboolean(nodes.AdvTic));
|
fprintf(fp, " Advanced TIC %s\n", getboolean(nodes.AdvTic));
|
||||||
fprintf(fp, " Advanded SB %s\n", getboolean(nodes.TIC_AdvSB));
|
fprintf(fp, " Advanded SB %s", getboolean(nodes.TIC_AdvSB));
|
||||||
fprintf(fp, " Sent To lines %s", getboolean(nodes.TIC_To));
|
fprintf(fp, " Sent To lines %s", getboolean(nodes.TIC_To));
|
||||||
fprintf(fp, " Billing %s", getboolean(nodes.Billing));
|
fprintf(fp, " Billing %s\n", getboolean(nodes.Billing));
|
||||||
fprintf(fp, " Bill direct %s\n", getboolean(nodes.BillDirect));
|
fprintf(fp, " Bill direct %s", getboolean(nodes.BillDirect));
|
||||||
fprintf(fp, " Uplink add + %s\n", getboolean(nodes.AddPlus));
|
fprintf(fp, " Uplink add + %s\n", getboolean(nodes.AddPlus));
|
||||||
fprintf(fp, " Security flags %s\n\n", getflag(nodes.Security.flags, nodes.Security.notflags));
|
fprintf(fp, " Security flags %s\n\n", getflag(nodes.Security.flags, nodes.Security.notflags));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user