diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index bd8b4c7e5960f6ccaecaffb4ea0f9cdd3f0849d3..c3be2b4860ed036087605d633db6e7b4206b31bf 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -191,7 +191,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) if((bg->cx = JS_NewContext(bg->runtime, JAVASCRIPT_CONTEXT_STACK))==NULL) return(JS_FALSE); - if((bg->obj=js_CreateGlobalObjects(bg->cx + if((bg->obj=js_CreateCommonObjects(bg->cx ,cfg /* common config */ ,NULL /* node-specific config */ ,NULL /* additional global methods */ @@ -201,6 +201,7 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) ,&bg->branch /* js */ ,NULL /* client */ ,INVALID_SOCKET /* client_socket */ + ,NULL /* server props */ ))==NULL) return(JS_FALSE); @@ -2753,7 +2754,7 @@ JSObject* DLLCALL js_CreateGlobalObject(JSContext* cx, scfg_t* cfg, jsSyncMethod return(glob); } -JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx +JSObject* DLLCALL js_CreateCommonObjects(JSContext* js_cx ,scfg_t* cfg /* common */ ,scfg_t* node_cfg /* node-specific */ ,jsSyncMethodSpec* methods /* global */ @@ -2763,6 +2764,7 @@ JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx ,js_branch_t* branch /* js */ ,client_t* client /* client */ ,SOCKET client_socket /* client */ + ,js_server_props_t* props /* server */ ) { JSObject* js_glob; @@ -2788,6 +2790,10 @@ JSObject* DLLCALL js_CreateGlobalObjects(JSContext* js_cx && js_CreateClientObject(js_cx, js_glob, "client", client, client_socket)==NULL) return(NULL); + if(props!=NULL + && js_CreateServerObject(js_cx, js_glob, props)==NULL) + return(NULL); + /* Socket Class */ if(js_CreateSocketClass(js_cx, js_glob)==NULL) return(NULL); diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index 485aa3135e98a820ac66a8e52e376e743dd4b9dc..59e79990d6d4f7ea7ed8f19deafdc97cac9977b9 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -514,10 +514,11 @@ static BOOL js_init(char** environ) JS_SetErrorReporter(js_cx, js_ErrorReporter); /* Global Object */ - if((js_glob=js_CreateGlobalObjects(js_cx, &scfg, NULL, js_global_functions + if((js_glob=js_CreateCommonObjects(js_cx, &scfg, NULL, js_global_functions ,time(NULL), host_name, SOCKLIB_DESC /* system */ ,&branch /* js */ ,NULL,INVALID_SOCKET /* client */ + ,NULL /* server */ ))==NULL) return(FALSE); diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index c70aab0eae299c635530e072b2b555c6231954be..e237142aa6fd9823d0e08adc97f830bab65f5228 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -884,10 +884,11 @@ bool sbbs_t::js_init() JS_SetContextPrivate(js_cx, this); /* Store a pointer to sbbs_t instance */ /* Global Objects (including system, js, client, Socket, MsgBase, File, User, etc. */ - if((js_glob=js_CreateGlobalObjects(js_cx, &scfg, &cfg, js_global_functions + if((js_glob=js_CreateCommonObjects(js_cx, &scfg, &cfg, js_global_functions ,uptime, startup->host_name, SOCKLIB_DESC /* system */ ,&js_branch /* js */ ,&client, client_socket /* client */ + ,&js_server_props /* server */ ))==NULL) break; @@ -905,9 +906,6 @@ bool sbbs_t::js_init() if(js_CreateConsoleObject(js_cx, js_glob)==NULL) break; - if(js_CreateServerObject(js_cx,js_glob,&js_server_props)==NULL) - break; - success=true; } while(0); diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 097afa3fed59f5d38ff5622436628653f950417f..b8983813fb04d76fbb96ecdd8a7de88dc8ba501a 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -947,7 +947,7 @@ extern "C" { /* js_global.c */ DLLEXPORT JSObject* DLLCALL js_CreateGlobalObject(JSContext* cx, scfg_t* cfg, jsSyncMethodSpec* methods); - DLLEXPORT JSObject* DLLCALL js_CreateGlobalObjects(JSContext* cx + DLLEXPORT JSObject* DLLCALL js_CreateCommonObjects(JSContext* cx ,scfg_t* cfg /* common */ ,scfg_t* node_cfg /* node-specific */ ,jsSyncMethodSpec* methods /* global */ @@ -957,6 +957,7 @@ extern "C" { ,js_branch_t* js_branch /* js */ ,client_t* client /* client */ ,SOCKET client_socket /* client */ + ,js_server_props_t* props /* server */ ); /* js_internal.c */ diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 6162078b19254c99a14c9da87306dd662216aaa9..b568e8256450a0dd3b6bf6d6557c3f7867a0b2b6 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -2468,7 +2468,7 @@ js_initcx(http_session_t *session) JS_SetBranchCallback(js_cx, js_BranchCallback); lprintf(LOG_INFO,"%04d JavaScript: Creating Global Objects and Classes",session->socket); - if((session->js_glob=js_CreateGlobalObjects(js_cx, &scfg, NULL + if((session->js_glob=js_CreateCommonObjects(js_cx, &scfg, NULL ,NULL /* global */ ,uptime /* system */ ,startup->host_name /* system */ @@ -2476,6 +2476,7 @@ js_initcx(http_session_t *session) ,&session->js_branch /* js */ ,&session->client /* client */ ,session->socket /* client */ + ,&js_server_props /* server */ ))==NULL || !JS_DefineFunctions(js_cx, session->js_glob, js_global_functions)) { JS_DestroyContext(js_cx);