Fix accessing non-public pages with *00

This commit is contained in:
Deon George 2020-05-28 23:30:44 +10:00
parent 0febc9ff38
commit 0c6718ba50
3 changed files with 42 additions and 1 deletions

15
install.txt Normal file
View File

@ -0,0 +1,15 @@
26 May 2020
Installation nodes.
1. For a new installation - make sure you have logged in first and created your sysop user.
- No to creating guest account
2. Setup files
- Replace answer.msg in text/ (or make a zero byte file)
- in mods/ ln -sf ansitex/main.js login.js
- in mods/ ln -sf ansitex/logon.js
- in mods/ ln -sf ansitex/main.js ansitex.js
- in mods/ baja ansitex/ansitex.src && mv ansitex/ansitex.bin .
3 - Create Shell: SCFG->Command Shells->Ansitex (optionally limit to FLAGS, but requires (requirement string) ANSI)
- logon.js will force users to ansitex shell - to make a ini config setting for this
- Optionally System -> New User Values -> Shells ->Ansitex
- Optionally Edit users and change their shell.

18
logon.js Normal file
View File

@ -0,0 +1,18 @@
require("sbbsdefs.js", 'SS_RLOGIN');
//require("nodedefs.js", 'NODE_QUIET');
// To force all users to the ansitex shell
// @todo Make a ini config setting for this
user.command_shell = 'ansitex';
// Disable System Info and ?
system.settings |= (SYS_NOSYSINFO | SYS_NONODELIST);
// @note: Unable to suppress "Logging on to <BBS> as <USER>..."
// Need to suppress Search for new messages & files
user.settings &= ~(USER_ASK_SSCAN & USER_ASK_NSCAN & USER_ANFSCAN);
user.settings &= ~USER_PAUSE;
// Enable ANSI and some other settings
user.settings |= (USER_ANSI & USER_COLOR & USER_COLDKEYS);

10
main.js
View File

@ -13,6 +13,12 @@ load('ansitex/load/funcs.js');
// Ansitex specific includes
require('ansitex/load/defs.js','ACTION_EXIT');
// @TODO LIST
// login screen - backspace not working
// login screen ** to clear the current field not working
// Returning from chat should refresh the frame
// Supress displays of telegrams
while(bbs.online) {
var mode = false; // Initial mode
@ -520,7 +526,6 @@ while(bbs.online) {
mode = action = false;
break;
}
current = null;
}
// If the user has access to the frame
@ -535,9 +540,12 @@ while(bbs.online) {
} else {
sendBaseline(ACCESS_DENIED,false);
mode = action = false;
// Reset the current frame to what it was.
fo = current;
break;
}
current = null;
log(LOG_DEBUG,'- ACTION_GOTO: next_page ['+JSON.stringify(next_page)+'] last history ['+JSON.stringify(history[history.length-1])+']');
// Record our history