* Reverted the code I checked in last week that created a
authorArt Cancro <ajc@citadel.org>
Mon, 29 Oct 2007 15:23:19 +0000 (15:23 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 29 Oct 2007 15:23:19 +0000 (15:23 +0000)
  new directory full of files for POP3 UIDL maps.  It was
  getting ugly and I realized that we could instead extend
  the S_NETCONFIGS database to perform the same function.
* Performed a few minor cleanups to code that was generating
  compiler warnings

citadel/chkpw.c
citadel/citadel_dirs.c
citadel/citadel_dirs.h
citadel/citadel_ipc.c
citadel/modules/pop3client/serv_pop3client.c
citadel/setup.c
citadel/stress.c

index c2cc5cd65965b20dae01877b026032d86dc6ae32..5bdb571c16c9e37fa39fded038eb4630d1a737cb 100644 (file)
@@ -105,7 +105,8 @@ int main(int argc, char **argv) {
        }
        while(1) {
                printf("\n\nUsername: ");
-               gets(buf);
+               fgets(buf, sizeof buf, stdin);
+               buf[strlen(buf)-1] = 0;
                p = getpwnam(buf);
                if (p == NULL) {
                        printf("Not found\n");
@@ -114,7 +115,8 @@ int main(int argc, char **argv) {
                        uid = p->pw_uid;
                        printf("     uid: %d\n", uid);
                        printf("Password: ");
-                       gets(buf);
+                       fgets(buf, sizeof buf, stdin);
+                       buf[strlen(buf)-1] = 0;
                        validpw(uid, buf);
                }
        }
index 86f2ecc86940212336d98eae127f714af7535362..29552761e33e854535f0d5e63dd78d7da4af4ad0 100644 (file)
@@ -45,7 +45,6 @@ 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_uidlmap_dir[PATH_MAX]="uidlmaps";
 char ctdl_utilbin_dir[PATH_MAX]="";
 char ctdl_sbin_dir[PATH_MAX]="";
 char ctdl_bin_dir[PATH_MAX]="";
@@ -113,7 +112,6 @@ void calc_dirs_n_files(int relh, int home, const char *relhome,const char  *ctdl
        basedir=ETC_DIR;
 #endif
        COMPUTE_DIRECTORY(ctdl_netcfg_dir);
-       COMPUTE_DIRECTORY(ctdl_uidlmap_dir);
        COMPUTE_DIRECTORY(ctdl_etc_dir);
 
 #ifndef HAVE_UTILBIN_DIR
index c24e59729c518043c31de7dd686f366deb5c8fdf..16a4b6297d0083e8c0bac4c3a4c3368688f43851 100644 (file)
@@ -25,7 +25,6 @@ extern char ctdl_spool_dir[PATH_MAX];
 extern char ctdl_netout_dir[PATH_MAX];
 extern char ctdl_netin_dir[PATH_MAX];
 extern char ctdl_netcfg_dir[PATH_MAX];
-extern char ctdl_uidlmap_dir[PATH_MAX];
 extern char ctdl_bbsbase_dir[PATH_MAX];
 extern char ctdl_sbin_dir[PATH_MAX];
 extern char ctdl_bin_dir[PATH_MAX];
index b123a46ddd6e098f27e7948dd7344e1d67d88e84..26751df7b7786c730eb9c4a4bfe946ffd4dbbc59 100644 (file)
@@ -2858,7 +2858,8 @@ int
 ReadNetworkChunk(CtdlIPC* ipc)
 {
        fd_set read_fd;
-       int ret, err;
+       int ret = 0;
+       int err = 0;
        struct timeval tv;
 
        tv.tv_sec = 1;
index 037c1118b99fc18fec3c81c3bd927a6529789748..8421d175def5aca2c2591538518006a3ada9b2a9 100644 (file)
@@ -53,7 +53,7 @@ struct uidl {
 
 struct pop3aggr *palist = NULL;
 
-void pop3_do_fetching(char *roomname, char *pop3host, char *pop3user, char *pop3pass)
+void pop3_do_fetching(char *roomname, char *pop3host, char *pop3user, char *pop3pass, int delete_from_server)
 {
        int sock;
        char buf[SIZ];
@@ -167,13 +167,15 @@ void pop3_do_fetching(char *roomname, char *pop3host, char *pop3user, char *pop3
                /* Do Something With It (tm) */
                msgnum = CtdlSubmitMsg(msg, NULL, roomname);
                if (msgnum > 0L) {
-                       /* Message has been committed to the store, so delete it from the remote server */
-                       snprintf(buf, sizeof buf, "DELE %d\r", msglist[i]);
-                       lprintf(CTDL_DEBUG, "<%s\n", buf);
-                       if (sock_puts(sock, buf) <0) goto bail;
-                       if (sock_getln(sock, buf, sizeof buf) < 0) goto bail;
-                       lprintf(CTDL_DEBUG, ">%s\n", buf);
-                       if (strncasecmp(buf, "+OK", 3)) goto bail;
+                       /* Message has been committed to the store */
+
+                       if (delete_from_server) {
+                               snprintf(buf, sizeof buf, "DELE %d\r", msglist[i]);
+                               lprintf(CTDL_DEBUG, "<%s\n", buf);
+                               if (sock_puts(sock, buf) <0) goto bail;
+                               if (sock_getln(sock, buf, sizeof buf) < 0) goto bail;
+                               lprintf(CTDL_DEBUG, ">%s\n", buf);      /* errors here are non-fatal */
+                       }
                }
                CtdlFreeMessage(msg);
        }
@@ -258,16 +260,12 @@ void pop3client_scan(void) {
        if (doing_pop3client) return;
        doing_pop3client = 1;
 
-       /* We can silently fail on these if the directory already exists. */
-       mkdir(ctdl_uidlmap_dir, 0700);
-       chmod(ctdl_uidlmap_dir, 0700);
-       chown(ctdl_uidlmap_dir, config.c_ctdluid, -1);
-
        lprintf(CTDL_DEBUG, "pop3client started\n");
        ForEachRoom(pop3client_scan_room, NULL);
 
        while (palist != NULL) {
-               pop3_do_fetching(palist->roomname, palist->pop3host, palist->pop3user, palist->pop3pass);
+               /* FIXME set delete_from_server to 1 if the user wants to */
+               pop3_do_fetching(palist->roomname, palist->pop3host, palist->pop3user, palist->pop3pass, 0);
                pptr = palist;
                palist = palist->next;
                free(pptr);
index c2d4bf78c7ac17632092f27b28fe12f1cf04f0af..3dff70e1af0e4ec8d7853e2208b396c45ce88adf 100644 (file)
@@ -1229,10 +1229,6 @@ NEW_INST:
        chmod(ctdl_netcfg_dir, 0700);
        chown(ctdl_netcfg_dir, config.c_ctdluid, -1);
 
-       mkdir(ctdl_uidlmap_dir, 0700);
-       chmod(ctdl_uidlmap_dir, 0700);
-       chown(ctdl_uidlmap_dir, config.c_ctdluid, -1);
-
        /* Delete files and directories used by older Citadel versions */
        system("exec /bin/rm -fr ./rooms ./chatpipes ./expressmsgs ./sessions 2>/dev/null");
        unlink("citadel.log");
index 20c91fcff5c0024877b84eeaddd71d3fff217c5e..038c6feb58c9c275bb0c6cd21535f7377f030aaa 100644 (file)
@@ -78,6 +78,7 @@ char* const message =
 #  include <time.h>
 # endif
 #endif
+#include "tools.h"
 #include "citadel_ipc.h"
 
 #ifndef HAVE_PTHREAD_H