diff --git a/src/sbbs3/js_file_area.c b/src/sbbs3/js_file_area.c index c322d87a20bc30704e9c852e0480fd5a72fa6f58..969f85b6cbc129d8b7cf76cbb93b19eb882338b7 100644 --- a/src/sbbs3/js_file_area.c +++ b/src/sbbs3/js_file_area.c @@ -128,10 +128,10 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_ return(NULL); for(l=0;l<cfg->total_libs;l++) { - +#if 0 if(user==NULL && (*cfg->lib[l]->ar)!=AR_NULL) continue; - +#endif if(user!=NULL && !chk_ar(cfg,cfg->lib[l]->ar,user)) continue; @@ -176,10 +176,10 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_ for(d=0;d<cfg->total_dirs;d++) { if(cfg->dir[d]->lib!=l) continue; - +#if 0 if(user==NULL && (*cfg->dir[d]->ar)!=AR_NULL) continue; - +#endif if(user!=NULL && !chk_ar(cfg,cfg->dir[d]->ar,user)) continue; @@ -288,14 +288,17 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_ if(!JS_SetProperty(cx, dirobj, "can_download", &val)) return(NULL); - if(user==NULL || chk_ar(cfg,cfg->dir[d]->ex_ar,user)) + if(is_download_free(cfg,d,user)) val=BOOLEAN_TO_JSVAL(JS_TRUE); else val=BOOLEAN_TO_JSVAL(JS_FALSE); if(!JS_SetProperty(cx, dirobj, "is_exempt", &val)) return(NULL); - if(user==NULL || chk_ar(cfg,cfg->dir[d]->op_ar,user)) + if(user!=NULL + && (user->level>=SYSOP_LEVEL + || (cfg->dir[d]->op_ar[0]!=0 + && chk_ar(cfg,cfg->dir[d]->op_ar,user)))) val=BOOLEAN_TO_JSVAL(JS_TRUE); else val=BOOLEAN_TO_JSVAL(JS_FALSE);