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

[telnet|rlogin]_gate now returns bool (false if failed to connect)

Previously, there was no real way to tell if the call to telnet_gate() or rlogin_gate() was successful (e.g. to display or an error message to the user), though there were error/warning messages logged for the sysop. Equivalent JS bbs object methods now return Boolean too.

Include ":port" part of address argument to bbs.[telnet|rlogin]_gate methods in JSDOCS.

Removed a bunch of extraneous (copy-pasted?) JS_SET_RVAL() calls from js_bbs.cpp. This just makes the code a little easier to grok.
parent f09c5619
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #3912 passed
...@@ -1286,8 +1286,6 @@ js_exec(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1286,8 +1286,6 @@ js_exec(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -1336,8 +1334,6 @@ js_exec_xtrn(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1336,8 +1334,6 @@ js_exec_xtrn(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return JS_FALSE; return JS_FALSE;
...@@ -1376,8 +1372,6 @@ js_user_event(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1376,8 +1372,6 @@ js_user_event(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(argc && JSVAL_IS_NUMBER(argv[0])) { if(argc && JSVAL_IS_NUMBER(argv[0])) {
if(!JS_ValueToECMAUint32(cx,argv[0],&i)) if(!JS_ValueToECMAUint32(cx,argv[0],&i))
return JS_FALSE; return JS_FALSE;
...@@ -1427,8 +1421,6 @@ js_chksyspass(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1427,8 +1421,6 @@ js_chksyspass(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if (argc) { if (argc) {
JSString* str = JS_ValueToString(cx, argv[0]); JSString* str = JS_ValueToString(cx, argv[0]);
JSSTRING_TO_ASTRING(cx, str, sys_pw, sizeof(sbbs->cfg.sys_pass)+2, NULL); JSSTRING_TO_ASTRING(cx, str, sys_pw, sizeof(sbbs->cfg.sys_pass)+2, NULL);
...@@ -1451,8 +1443,6 @@ js_chkpass(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1451,8 +1443,6 @@ js_chkpass(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -1548,8 +1538,6 @@ js_revert_text(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1548,8 +1538,6 @@ js_revert_text(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(argc && JSVAL_IS_NUMBER(argv[0])) { if(argc && JSVAL_IS_NUMBER(argv[0])) {
if(!JS_ValueToECMAUint32(cx,argv[0],&i)) if(!JS_ValueToECMAUint32(cx,argv[0],&i))
return JS_FALSE; return JS_FALSE;
...@@ -1659,8 +1647,6 @@ js_atcode(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1659,8 +1647,6 @@ js_atcode(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -1795,8 +1781,6 @@ js_finduser(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1795,8 +1781,6 @@ js_finduser(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -1832,8 +1816,6 @@ js_trashcan(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1832,8 +1816,6 @@ js_trashcan(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 2)) if(!js_argc(cx, argc, 2))
return(JS_FALSE); return(JS_FALSE);
...@@ -1877,8 +1859,6 @@ js_newuser(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1877,8 +1859,6 @@ js_newuser(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
rc=JS_SUSPENDREQUEST(cx); rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->newuser())); JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->newuser()));
JS_RESUMEREQUEST(cx, rc); JS_RESUMEREQUEST(cx, rc);
...@@ -1894,8 +1874,6 @@ js_logon(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1894,8 +1874,6 @@ js_logon(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
rc=JS_SUSPENDREQUEST(cx); rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->logon())); JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->logon()));
JS_RESUMEREQUEST(cx, rc); JS_RESUMEREQUEST(cx, rc);
...@@ -1920,8 +1898,6 @@ js_login(JSContext *cx, uintN argc, jsval *arglist) ...@@ -1920,8 +1898,6 @@ js_login(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 2)) if(!js_argc(cx, argc, 2))
return(JS_FALSE); return(JS_FALSE);
...@@ -2157,8 +2133,6 @@ js_batchdownload(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2157,8 +2133,6 @@ js_batchdownload(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
rc=JS_SUSPENDREQUEST(cx); rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->start_batch_download())); JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->start_batch_download()));
JS_RESUMEREQUEST(cx, rc); JS_RESUMEREQUEST(cx, rc);
...@@ -2203,8 +2177,6 @@ js_batchclear(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2203,8 +2177,6 @@ js_batchclear(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_FALSE);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -2231,8 +2203,6 @@ js_viewfile(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2231,8 +2203,6 @@ js_viewfile(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs = js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist))) == NULL) if((sbbs = js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist))) == NULL)
return JS_FALSE; return JS_FALSE;
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return JS_FALSE; return JS_FALSE;
...@@ -2263,8 +2233,6 @@ js_sendfile(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2263,8 +2233,6 @@ js_sendfile(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -2312,8 +2280,6 @@ js_recvfile(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2312,8 +2280,6 @@ js_recvfile(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -2699,8 +2665,6 @@ js_readmail(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2699,8 +2665,6 @@ js_readmail(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
usernumber=sbbs->useron.number; usernumber=sbbs->useron.number;
if(argc>0 && JSVAL_IS_NUMBER(argv[0])) { if(argc>0 && JSVAL_IS_NUMBER(argv[0])) {
if(!JS_ValueToECMAUint32(cx,argv[0],&readwhich)) if(!JS_ValueToECMAUint32(cx,argv[0],&readwhich))
...@@ -2746,7 +2710,6 @@ js_email(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2746,7 +2710,6 @@ js_email(JSContext *cx, uintN argc, jsval *arglist)
return(JS_FALSE); return(JS_FALSE);
ZERO_VAR(msg); ZERO_VAR(msg);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -2932,8 +2895,6 @@ js_upload_file(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2932,8 +2895,6 @@ js_upload_file(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
dirnum=get_dirnum(cx,sbbs,argv[0], argc == 0); dirnum=get_dirnum(cx,sbbs,argv[0], argc == 0);
if(dirnum>=sbbs->cfg.total_dirs) { if(dirnum>=sbbs->cfg.total_dirs) {
...@@ -2959,8 +2920,6 @@ js_bulkupload(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2959,8 +2920,6 @@ js_bulkupload(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
dirnum=get_dirnum(cx,sbbs,argv[0], argc == 0); dirnum=get_dirnum(cx,sbbs,argv[0], argc == 0);
if(dirnum>=sbbs->cfg.total_dirs) { if(dirnum>=sbbs->cfg.total_dirs) {
...@@ -2988,8 +2947,6 @@ js_telnet_gate(JSContext *cx, uintN argc, jsval *arglist) ...@@ -2988,8 +2947,6 @@ js_telnet_gate(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -3014,7 +2971,7 @@ js_telnet_gate(JSContext *cx, uintN argc, jsval *arglist) ...@@ -3014,7 +2971,7 @@ js_telnet_gate(JSContext *cx, uintN argc, jsval *arglist)
} }
rc=JS_SUSPENDREQUEST(cx); rc=JS_SUSPENDREQUEST(cx);
sbbs->telnet_gate(addr,mode,timeout); JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->telnet_gate(addr,mode,timeout)));
free(addr); free(addr);
JS_RESUMEREQUEST(cx, rc); JS_RESUMEREQUEST(cx, rc);
...@@ -3041,8 +2998,6 @@ js_rlogin_gate(JSContext *cx, uintN argc, jsval *arglist) ...@@ -3041,8 +2998,6 @@ js_rlogin_gate(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
if(!js_argc(cx, argc, 1)) if(!js_argc(cx, argc, 1))
return(JS_FALSE); return(JS_FALSE);
...@@ -3085,7 +3040,8 @@ js_rlogin_gate(JSContext *cx, uintN argc, jsval *arglist) ...@@ -3085,7 +3040,8 @@ js_rlogin_gate(JSContext *cx, uintN argc, jsval *arglist)
if(mode == TG_MODE_UNSPECIFIED) if(mode == TG_MODE_UNSPECIFIED)
mode = 0; mode = 0;
rc=JS_SUSPENDREQUEST(cx); rc=JS_SUSPENDREQUEST(cx);
sbbs->telnet_gate(addr,mode|TG_RLOGIN,timeout,client_user_name,server_user_name,term_type); JS_SET_RVAL(cx, arglist
,BOOLEAN_TO_JSVAL(sbbs->telnet_gate(addr,mode|TG_RLOGIN,timeout,client_user_name,server_user_name,term_type)));
JS_RESUMEREQUEST(cx, rc); JS_RESUMEREQUEST(cx, rc);
} }
FREE_AND_NULL(addr); FREE_AND_NULL(addr);
...@@ -3105,8 +3061,6 @@ js_pagesysop(JSContext *cx, uintN argc, jsval *arglist) ...@@ -3105,8 +3061,6 @@ js_pagesysop(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
rc=JS_SUSPENDREQUEST(cx); rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->sysop_page())); JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->sysop_page()));
JS_RESUMEREQUEST(cx, rc); JS_RESUMEREQUEST(cx, rc);
...@@ -3122,8 +3076,6 @@ js_pageguru(JSContext *cx, uintN argc, jsval *arglist) ...@@ -3122,8 +3076,6 @@ js_pageguru(JSContext *cx, uintN argc, jsval *arglist)
if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL) if((sbbs=js_GetPrivate(cx, JS_THIS_OBJECT(cx, arglist)))==NULL)
return(JS_FALSE); return(JS_FALSE);
JS_SET_RVAL(cx, arglist, JSVAL_VOID);
rc=JS_SUSPENDREQUEST(cx); rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->guru_page())); JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(sbbs->guru_page()));
JS_RESUMEREQUEST(cx, rc); JS_RESUMEREQUEST(cx, rc);
...@@ -4749,11 +4701,11 @@ static jsSyncMethodSpec js_bbs_functions[] = { ...@@ -4749,11 +4701,11 @@ static jsSyncMethodSpec js_bbs_functions[] = {
"(see <tt>EVENT_*</tt> in <tt>sbbsdefs.js</tt> for valid values)") "(see <tt>EVENT_*</tt> in <tt>sbbsdefs.js</tt> for valid values)")
,310 ,310
}, },
{"telnet_gate", js_telnet_gate, 1, JSTYPE_VOID, JSDOCSTR("address [,mode=<tt>TG_NONE</tt>] [,timeout=<tt>10</tt>]") {"telnet_gate", js_telnet_gate, 1, JSTYPE_BOOLEAN, JSDOCSTR("address[:port] [,mode=<tt>TG_NONE</tt>] [,timeout=<tt>10</tt>]")
,JSDOCSTR("external Telnet gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).") ,JSDOCSTR("external Telnet gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).")
,310 ,310
}, },
{"rlogin_gate", js_rlogin_gate, 1, JSTYPE_VOID, JSDOCSTR("address [,client-user-name=<tt>user.alias</tt>, server-user-name=<tt>user.name</tt>, terminal=<tt>console.terminal</tt>] [,mode=<tt>TG_NONE</tt>] [,timeout=<tt>10</tt>]") {"rlogin_gate", js_rlogin_gate, 1, JSTYPE_BOOLEAN, JSDOCSTR("address[:port] [,client-user-name=<tt>user.alias</tt>, server-user-name=<tt>user.name</tt>, terminal=<tt>console.terminal</tt>] [,mode=<tt>TG_NONE</tt>] [,timeout=<tt>10</tt>]")
,JSDOCSTR("external RLogin gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).") ,JSDOCSTR("external RLogin gateway (see <tt>TG_*</tt> in <tt>sbbsdefs.js</tt> for valid <i>mode</i> flags).")
,316 ,316
}, },
......
...@@ -1215,7 +1215,7 @@ public: ...@@ -1215,7 +1215,7 @@ public:
void catsyslog(int crash); void catsyslog(int crash);
/* telgate.cpp */ /* telgate.cpp */
void telnet_gate(char* addr, uint mode, unsigned timeout=10, char* client_user_name=NULL, char* server_user_name=NULL, char* term_type=NULL); // See TG_* for mode bits bool telnet_gate(char* addr, uint mode, unsigned timeout=10, char* client_user_name=NULL, char* server_user_name=NULL, char* term_type=NULL); // See TG_* for mode bits
}; };
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include "sbbs.h" #include "sbbs.h"
#include "telnet.h" #include "telnet.h"
void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* client_user_name, char* server_user_name, char* term_type) bool sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* client_user_name, char* server_user_name, char* term_type)
{ {
char* p; char* p;
uchar buf[512]; uchar buf[512];
...@@ -52,12 +52,12 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie ...@@ -52,12 +52,12 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie
if(ip_addr==INADDR_NONE) { if(ip_addr==INADDR_NONE) {
lprintf(LOG_NOTICE,"!TELGATE Failed to resolve address: %s",destaddr); lprintf(LOG_NOTICE,"!TELGATE Failed to resolve address: %s",destaddr);
bprintf("!Failed to resolve address: %s\r\n",destaddr); bprintf("!Failed to resolve address: %s\r\n",destaddr);
return; return false;
} }
if((remote_socket = open_socket(PF_INET, SOCK_STREAM, client.protocol)) == INVALID_SOCKET) { if((remote_socket = open_socket(PF_INET, SOCK_STREAM, client.protocol)) == INVALID_SOCKET) {
errormsg(WHERE,ERR_OPEN,"socket",0); errormsg(WHERE,ERR_OPEN,"socket",0);
return; return false;
} }
memset(&addr,0,sizeof(addr)); memset(&addr,0,sizeof(addr));
...@@ -68,7 +68,7 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie ...@@ -68,7 +68,7 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie
lprintf(LOG_NOTICE,"!TELGATE ERROR %d (%d) binding to socket %d",i, ERROR_VALUE, remote_socket); lprintf(LOG_NOTICE,"!TELGATE ERROR %d (%d) binding to socket %d",i, ERROR_VALUE, remote_socket);
bprintf("!ERROR %d (%d) binding to socket\r\n",i, ERROR_VALUE); bprintf("!ERROR %d (%d) binding to socket\r\n",i, ERROR_VALUE);
close_socket(remote_socket); close_socket(remote_socket);
return; return false;
} }
memset(&addr,0,sizeof(addr)); memset(&addr,0,sizeof(addr));
...@@ -82,7 +82,7 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie ...@@ -82,7 +82,7 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie
lprintf(LOG_NOTICE,"!TELGATE ERROR %d (%d) disabling socket blocking" lprintf(LOG_NOTICE,"!TELGATE ERROR %d (%d) disabling socket blocking"
,i, ERROR_VALUE); ,i, ERROR_VALUE);
close_socket(remote_socket); close_socket(remote_socket);
return; return false;
} }
lprintf(LOG_INFO,"Node %d %s gate to %s port %u on socket %d" lprintf(LOG_INFO,"Node %d %s gate to %s port %u on socket %d"
...@@ -96,7 +96,7 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie ...@@ -96,7 +96,7 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie
bprintf("!ERROR %d (%d) connecting to server: %s\r\n" bprintf("!ERROR %d (%d) connecting to server: %s\r\n"
,i,ERROR_VALUE, destaddr); ,i,ERROR_VALUE, destaddr);
close_socket(remote_socket); close_socket(remote_socket);
return; return false;
} }
if(!(mode&TG_CTRLKEYS)) if(!(mode&TG_CTRLKEYS))
...@@ -260,4 +260,5 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie ...@@ -260,4 +260,5 @@ void sbbs_t::telnet_gate(char* destaddr, uint mode, unsigned timeout, char* clie
close_socket(remote_socket); close_socket(remote_socket);
lprintf(LOG_INFO,"Node %d Telnet gate to %s finished",cfg.node_num,destaddr); lprintf(LOG_INFO,"Node %d Telnet gate to %s finished",cfg.node_num,destaddr);
return true;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment