]> code.citadel.org Git - citadel.git/blobdiff - citadel/citadel_dirs.c
* Reference count adjustments are now deferred by queuing
[citadel.git] / citadel / citadel_dirs.c
index 424ca8adbc5de374c734fada0997160a21076a50..79d0d232119b6fd6fbecccf887cbf9a95337c660 100644 (file)
@@ -37,12 +37,15 @@ char ctdl_info_dir[PATH_MAX]="info";
 char ctdl_key_dir[PATH_MAX]="keys";
 char ctdl_message_dir[PATH_MAX]="messages";
 char ctdl_usrpic_dir[PATH_MAX]="userpics";
+char ctdl_bbsbase_dir[PATH_MAX]="";
 char ctdl_etc_dir[PATH_MAX]="";
 char ctdl_run_dir[PATH_MAX]="";
 char ctdl_spool_dir[PATH_MAX]="network";
 char ctdl_netout_dir[PATH_MAX]="network/spoolout";
 char ctdl_netin_dir[PATH_MAX]="network/spoolin";
 char ctdl_netcfg_dir[PATH_MAX]="netconfigs";
+char ctdl_sbin_dir[PATH_MAX];
+char ctdl_bin_dir[PATH_MAX];
 
 /* some of our files, that are needed in several places */
 char file_citadel_control[PATH_MAX]="";
@@ -50,6 +53,9 @@ char file_citadel_rc[PATH_MAX]="";
 char file_citadel_config[PATH_MAX]="";
 char file_lmtp_socket[PATH_MAX]="";
 char file_lmtp_unfiltered_socket[PATH_MAX]="";
+char file_arcq[PATH_MAX]="";
+char file_citadel_socket[PATH_MAX]="";
+char file_mail_aliases[PATH_MAX]="";
 
 int home_specified = 0;
 
@@ -76,11 +82,20 @@ int home_specified = 0;
 
 void calc_dirs_n_files(int relh, int home, const char *relhome,const char  *ctdldir)
 {
-       const char* basedir;
-       char dirbuffer[PATH_MAX]="";
-
-
-
+       const char* basedir = "";
+       char dirbuffer[PATH_MAX] = "";
+
+       /*
+        * Ok, we keep our binaries either in the citadel base dir,
+        * or in /usr/sbin / /usr/bin
+        */
+#ifdef HAVE_ETC_DIR
+       snprintf(ctdl_sbin_dir, sizeof ctdl_sbin_dir, "/usr/sbin/");
+       snprintf(ctdl_bin_dir, sizeof ctdl_bin_dir, "/usr/bin/");
+#else
+       snprintf(ctdl_sbin_dir, sizeof ctdl_sbin_dir, basedir);
+       snprintf(ctdl_bin_dir, sizeof ctdl_bin_dir, basedir);
+#endif
 
 #ifndef HAVE_ETC_DIR
        basedir=ctdldir;
@@ -111,6 +126,7 @@ void calc_dirs_n_files(int relh, int home, const char *relhome,const char  *ctdl
        COMPUTE_DIRECTORY(ctdl_info_dir);
        COMPUTE_DIRECTORY(ctdl_message_dir);
        COMPUTE_DIRECTORY(ctdl_usrpic_dir);
+       COMPUTE_DIRECTORY(ctdl_bbsbase_dir);
 #ifndef HAVE_SPOOL_DIR
        basedir=ctdldir;
 #else
@@ -145,9 +161,33 @@ void calc_dirs_n_files(int relh, int home, const char *relhome,const char  *ctdl
 
        snprintf(file_lmtp_unfiltered_socket, 
                         sizeof file_lmtp_socket,
-                        "%slmtp-unfiltered.sock",
+                        "%slmtp-unfiltered.socket",
+                        ctdl_run_dir);
+
+       snprintf(file_citadel_socket, 
+                        sizeof file_citadel_socket,
+                               "%scitadel.socket",
+                        ctdl_run_dir);
+
+       snprintf(file_arcq, 
+                        sizeof file_arcq,
+                        "%srefcount_adjustments.dat",
                         ctdl_run_dir);
 
+       /* 
+        * DIRTY HACK FOLLOWS! due to configs in the network dir in the 
+        * legacy installations, we need to calculate ifdeffed here.
+        */
+               snprintf(file_mail_aliases, 
+                                sizeof file_mail_aliases,
+                                "%smail.aliases",
+#ifdef HAVE_ETC_DIR
+                                ctdl_etc_dir
+#else
+                                ctdl_spool_dir
+#endif
+                                );
+
 }