]> arthur.barton.de Git - netatalk.git/blobdiff - etc/cnid_dbd/main.c
Reloading volumes from config file was broken
[netatalk.git] / etc / cnid_dbd / main.c
index b8906f902bdcc3579a382b2502bc966c8c027ad7..df29d15198d470e73cab6a200121aedfb5236769 100644 (file)
@@ -239,7 +239,7 @@ static void switch_to_user(char *dir)
         exit(1);
     }
     if (!getuid()) {
-        LOG(log_info, logtype_cnid, "Setting uid/gid to %i/%i", st.st_uid, st.st_gid);
+        LOG(log_debug, logtype_cnid, "Setting uid/gid to %i/%i", st.st_uid, st.st_gid);
         if (setgid(st.st_gid) < 0 || setuid(st.st_uid) < 0) {
             LOG(log_error, logtype_cnid, "uid/gid: %s", strerror(errno));
             exit(1);
@@ -283,7 +283,7 @@ int main(int argc, char *argv[])
     char *volpath = NULL;
     bstring dbpath;
 
-    while (( ret = getopt( argc, argv, "dF:l:p:t:v")) != -1 ) {
+    while (( ret = getopt( argc, argv, "dF:l:p:t:vV")) != -1 ) {
         switch (ret) {
         case 'd':
             delete_bdb = 1;
@@ -301,6 +301,7 @@ int main(int argc, char *argv[])
             ctrlfd = atoi(optarg);
             break;
         case 'v':
+        case 'V':
             printf("cnid_dbd (Netatalk %s)\n", VERSION);
             return -1;
         }
@@ -311,14 +312,11 @@ int main(int argc, char *argv[])
         exit(EXIT_FAILURE);
     }
 
-    EC_ZERO( afp_config_parse(&obj) );
-
-    set_processname("cnid_dbd");
-    setuplog(obj.options.logconfig, obj.options.logfile);
-
-    EC_ZERO( load_volumes(&obj, NULL) );
-    EC_NULL( vol = getvolbypath(volpath) );
+    EC_ZERO( afp_config_parse(&obj, "cnid_dbd") );
 
+    EC_ZERO( load_volumes(&obj) );
+    EC_NULL( vol = getvolbypath(&obj, volpath) );
+    EC_ZERO( load_charset(vol) );
     pack_setvol(vol);
 
     EC_NULL( dbpath = bfromcstr(vol->v_dbpath) );