Skip to content
Snippets Groups Projects
Commit 9081af2a authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Remove the "7-bit only" node option

The way this option worked was, if enabled (and it was off by default), bit 7
of all character input *before* successful logon would be stripped and bit 7
from all character input of terminals configured as US-ASCII (only) would be
stripped after logon.

Instead, always strip bit 7 (the 8th bit) of each input character from US-ASCII
(only) terminals. Other detected/configured terminals (CP437, UTF-8, PETSCII)
won't have bit 7 stripped (ever) since that's likely not a necessary or nice
thing to do. There's now no different handling of pre/post logon in this
regard.

If there's a need to strip parity bits from character input from client
terminals that support CP437, UTF-8, or PETSCII, then we'll re-add this feature
in but it shouldn't be a per-node setting in that case.
parent be523ad9
Branches
Tags
1 merge request!455Update branch with changes from master
......@@ -109,9 +109,8 @@ int sbbs_t::inkey(int mode, unsigned int timeout)
if(ch == NOINP)
return no_input;
if(cfg.node_misc&NM_7BITONLY
&& (!(sys_status&SS_USERON) || term_supports(NO_EXASCII)))
ch&=0x7f;
if(term_supports(NO_EXASCII))
ch&=0x7f; // e.g. strip parity bit
getkey_last_activity = time(NULL);
......
......@@ -238,8 +238,6 @@ void node_cfg()
done=0;
while(!done) {
i=0;
snprintf(opt[i++], MAX_OPLN, "%-27.27s%s","Allow 8-bit Remote Logins"
,cfg.node_misc&NM_7BITONLY ? "No":"Yes");
snprintf(opt[i++], MAX_OPLN, "%-27.27s%s","Spinning Pause Prompt"
,cfg.node_misc&NM_NOPAUSESPIN ? "No":"Yes");
snprintf(opt[i++], MAX_OPLN, "%-27.27s%s","Keep Node File Open"
......@@ -260,26 +258,6 @@ void node_cfg()
done=1;
break;
case 0:
i=cfg.node_misc&NM_7BITONLY ? 0:1;
uifc.helpbuf=
"`Allow 8-bit Remote Input During Login:`\n"
"\n"
"If you wish to allow E-7-1 terminals to use this node, you must set this\n"
"option to `No`. This will also eliminate the ability of 8-bit remote users\n"
"to send IBM extended ASCII characters during the login sequence.\n"
;
i=uifc.list(WIN_MID|WIN_SAV,0,10,0,&i,0
,"Allow 8-bit Remote Input During Login",uifcYesNoOpts);
if(i==1 && !(cfg.node_misc&NM_7BITONLY)) {
cfg.node_misc|=NM_7BITONLY;
uifc.changes=1;
}
else if(i==0 && (cfg.node_misc&NM_7BITONLY)) {
cfg.node_misc&=~NM_7BITONLY;
uifc.changes=1;
}
break;
case 1:
i=cfg.node_misc&NM_NOPAUSESPIN ? 1:0;
uifc.helpbuf=
"`Spinning Pause Prompt:`\n"
......@@ -298,7 +276,7 @@ void node_cfg()
uifc.changes=1;
}
break;
case 2:
case 1:
i=cfg.node_misc&NM_CLOSENODEDAB ? 1:0;
uifc.helpbuf=
"`Keep Node File Open:`\n"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment