Skip to content
Snippets Groups Projects
Commit 4f83bf90 authored by rswindell's avatar rswindell
Browse files

RLogin improvements:

* handles long (>25 char) user names better
* log message when logging in as an unknown user
* log message when no user name specified during login
* no longer send telnet negotiation (assuming Telnet session) if RLogin fails
parent 13b798a1
No related branches found
No related tags found
No related merge requests found
...@@ -76,14 +76,14 @@ bool sbbs_t::answer() ...@@ -76,14 +76,14 @@ bool sbbs_t::answer()
rlogin_name[0]=0; rlogin_name[0]=0;
if(sys_status&SS_RLOGIN) { if(sys_status&SS_RLOGIN) {
if(incom(1000)==0) { if(incom(1000)==0) {
for(i=0;i<LEN_ALIAS;i++) { for(i=0;i<(int)sizeof(str)-1;i++) {
in=incom(1000); in=incom(1000);
if(in==0 || in==NOINP) if(in==0 || in==NOINP)
break; break;
str[i]=in; str[i]=in;
} }
str[i]=0; str[i]=0;
for(i=0;i<LEN_ALIAS;i++) { for(i=0;i<(int)sizeof(str2)-1;i++) {
in=incom(1000); in=incom(1000);
if(in==0 || in==NOINP) if(in==0 || in==NOINP)
break; break;
...@@ -98,18 +98,26 @@ bool sbbs_t::answer() ...@@ -98,18 +98,26 @@ bool sbbs_t::answer()
} }
terminal[i]=0; terminal[i]=0;
truncstr(terminal,"/"); truncstr(terminal,"/");
lprintf(LOG_DEBUG,"Node %d RLogin: '%s' / '%s / %s'",cfg.node_num,str,str2,terminal); lprintf(LOG_DEBUG,"Node %d RLogin: '%.*s' / '%.*s' / '%s'"
,cfg.node_num
,LEN_ALIAS*2,str
,LEN_ALIAS*2,str2
,terminal);
SAFECOPY(rlogin_name SAFECOPY(rlogin_name
,startup->options&BBS_OPT_USE_2ND_RLOGIN ? str2 : str); ,startup->options&BBS_OPT_USE_2ND_RLOGIN ? str2 : str);
useron.number=userdatdupe(0, U_ALIAS, LEN_ALIAS, rlogin_name, 0); useron.number=userdatdupe(0, U_ALIAS, LEN_ALIAS, rlogin_name, 0);
if(useron.number) if(useron.number)
getuserdat(&cfg,&useron); getuserdat(&cfg,&useron);
else
lprintf(LOG_DEBUG,"Node %d RLogin: Unknown user: %s",cfg.node_num,rlogin_name);
} }
} if(rlogin_name[0]==0) {
if(rlogin_name[0]==0) lprintf(LOG_DEBUG,"!Node %d RLogin: No user name received",cfg.node_num);
sys_status&=~SS_RLOGIN; sys_status&=~SS_RLOGIN;
}
}
if(!(sys_status&SS_RLOGIN)) { if(!(telnet_mode&TELNET_MODE_OFF)) {
/* Disable Telnet Terminal Echo */ /* Disable Telnet Terminal Echo */
send_telnet_cmd(TELNET_WILL,TELNET_ECHO); send_telnet_cmd(TELNET_WILL,TELNET_ECHO);
/* Will suppress Go Ahead */ /* Will suppress Go Ahead */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment