* add function to create the directory tree citadel needs to run (moved from setup.c)
[citadel.git] / citadel / utillib / citadel_dirs.c
index 1aecdcded837b4ed4046fed42ba496169aab899c..a888cf2348467565d08d3527d59a319d3f9c1421 100644 (file)
@@ -379,3 +379,30 @@ void assoc_file_name(char *buf, size_t n,
        snprintf(buf, n, "%s%ld", prefix, qrbuf->QRnumber);
 }
 
+
+int create_dir(char *which, long ACCESS, long UID, long GID)
+{
+       int rv;
+       rv = mkdir(which, ACCESS);
+       rv = chmod(which, ACCESS);
+       rv = chown(which, UID, GID);
+       return rv;
+}
+
+void create_run_directories(long UID, long GID)
+{
+       int rv;
+
+       rv = create_dir(ctdl_info_dir    , 0700, UID, -1);
+       rv = create_dir(ctdl_bio_dir     , 0700, UID, -1);
+       rv = create_dir(ctdl_usrpic_dir  , 0700, UID, -1);
+       rv = create_dir(ctdl_message_dir , 0700, UID, -1);
+       rv = create_dir(ctdl_hlp_dir     , 0700, UID, -1);
+       rv = create_dir(ctdl_image_dir   , 0700, UID, -1);
+       rv = create_dir(ctdl_bb_dir      , 0700, UID, -1);
+       rv = create_dir(ctdl_file_dir    , 0700, UID, -1);
+       rv = create_dir(ctdl_netcfg_dir  , 0700, UID, -1);
+       rv = create_dir(ctdl_key_dir     , 0700, UID, -1);
+       rv = create_dir(ctdl_run_dir     , 0700, UID, GID);
+
+}