diff --git a/src/sbbs3/js_file_area.c b/src/sbbs3/js_file_area.c
index 9eabe197d4529ab4364d42a105389a2986a3c757..3d98bd11efe6a6e3901da7bd79f493b905a750a6 100644
--- a/src/sbbs3/js_file_area.c
+++ b/src/sbbs3/js_file_area.c
@@ -137,10 +137,50 @@ JSObject* DLLCALL js_CreateFileAreaObject(JSContext* cx, JSObject* parent, scfg_
 			if(!JS_SetProperty(cx, dirobj, "description", &val))
 				return(NULL);
 
+			val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->dir[d]->path));
+			if(!JS_SetProperty(cx, dirobj, "path", &val))
+				return(NULL);
+
+			val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->dir[d]->exts));
+			if(!JS_SetProperty(cx, dirobj, "extensions", &val))
+				return(NULL);
+
+			val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->dir[d]->upload_sem));
+			if(!JS_SetProperty(cx, dirobj, "upload_sem", &val))
+				return(NULL);
+
+			val=STRING_TO_JSVAL(JS_NewStringCopyZ(cx, cfg->dir[d]->data_dir));
+			if(!JS_SetProperty(cx, dirobj, "data_dir", &val))
+				return(NULL);
+
 			val=INT_TO_JSVAL(cfg->dir[d]->misc);
 			if(!JS_SetProperty(cx, dirobj, "settings", &val))
 				return(NULL);
 
+			val=INT_TO_JSVAL(cfg->dir[d]->seqdev);
+			if(!JS_SetProperty(cx, dirobj, "seqdev", &val))
+				return(NULL);
+
+			val=INT_TO_JSVAL(cfg->dir[d]->sort);
+			if(!JS_SetProperty(cx, dirobj, "sort", &val))
+				return(NULL);
+
+			val=INT_TO_JSVAL(cfg->dir[d]->maxfiles);
+			if(!JS_SetProperty(cx, dirobj, "max_files", &val))
+				return(NULL);
+
+			val=INT_TO_JSVAL(cfg->dir[d]->maxage);
+			if(!JS_SetProperty(cx, dirobj, "max_age", &val))
+				return(NULL);
+
+			val=INT_TO_JSVAL(cfg->dir[d]->up_pct);
+			if(!JS_SetProperty(cx, dirobj, "upload_credit_pct", &val))
+				return(NULL);
+
+			val=INT_TO_JSVAL(cfg->dir[d]->dn_pct);
+			if(!JS_SetProperty(cx, dirobj, "download_credit_pct", &val))
+				return(NULL);
+
 			sprintf(vpath,"/%s/%s/%s"
 				,cfg->lib[l]->sname
 				,cfg->dir[d]->code