]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_vandelay.c
* Applied matt's funambol patch
[citadel.git] / citadel / serv_vandelay.c
index 49f5ed9de98e8e6853d38b38694b06449f827729..0ab094f054bd2e82dc7f3f1fa9b0cb8972160328 100644 (file)
@@ -103,7 +103,7 @@ void artv_export_rooms_backend(struct ctdlroom *qrbuf, void *data) {
        /* format of message list export is all message numbers output
         * one per line terminated by a 0.
         */
-       CtdlForEachMessage(MSGS_ALL, 0L, NULL, NULL,
+       CtdlForEachMessage(MSGS_ALL, 0L, NULL, NULL, NULL,
                artv_export_room_msg, NULL);
        cprintf("0\n");
 
@@ -193,7 +193,7 @@ void artv_export_message(long msgnum) {
        struct ser_ret smr;
        FILE *fp;
        char buf[SIZ];
-       char tempfile[SIZ];
+       char tempfile[PATH_MAX];
 
        msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) return;        /* fail silently */
@@ -208,7 +208,7 @@ void artv_export_message(long msgnum) {
        CtdlFreeMessage(msg);
 
        /* write it in base64 */
-       strcpy(tempfile, tmpnam(NULL));
+       CtdlMakeTempFileName(tempfile, sizeof tempfile);
        snprintf(buf, sizeof buf, "./base64 -e >%s", tempfile);
        fp = popen(buf, "w");
        fwrite(smr.ser, smr.len, 1, fp);
@@ -313,6 +313,17 @@ void artv_do_export(void) {
        cprintf("%d\n", config.c_auto_cull);
        cprintf("%d\n", config.c_instant_expunge);
        cprintf("%d\n", config.c_allow_spoofing);
+       cprintf("%d\n", config.c_journal_email);
+       cprintf("%d\n", config.c_journal_pubmsgs);
+       cprintf("%s\n", config.c_journal_dest);
+       cprintf("%s\n", config.c_default_cal_zone);
+       cprintf("%d\n", config.c_pftcpdict_port);
+       cprintf("%d\n", config.c_managesieve_port);
+       cprintf("%d\n", config.c_auth_mode);
+       cprintf("%s\n", config.c_funambol_host);
+       cprintf("%d\n", config.c_funambol_port);
+       cprintf("%s\n", config.c_funambol_source);
+       cprintf("%s\n", config.c_funambol_auth);
 
        /* Export the control file */
        get_control();
@@ -390,13 +401,24 @@ void artv_import_config(void) {
        client_getln(buf, sizeof buf);  config.c_auto_cull = atoi(buf);
        client_getln(buf, sizeof buf);  config.c_instant_expunge = atoi(buf);
        client_getln(buf, sizeof buf);  config.c_allow_spoofing = atoi(buf);
+       client_getln(buf, sizeof buf);  config.c_journal_email = atoi(buf);
+       client_getln(buf, sizeof buf);  config.c_journal_pubmsgs = atoi(buf);
+       client_getln(config.c_journal_dest, sizeof config.c_journal_dest);
+       client_getln(config.c_default_cal_zone, sizeof config.c_default_cal_zone);
+       client_getln(buf, sizeof buf);  config.c_pftcpdict_port = atoi(buf);
+       client_getln(buf, sizeof buf);  config.c_managesieve_port = atoi(buf);
+       client_getln(buf, sizeof buf);  config.c_auth_mode = atoi(buf);
+       client_getln(config.c_funambol_host, sizeof config.c_funambol_host);
+       client_getln(buf, sizeof buf); config.c_funambol_port = atoi(buf);
+       client_getln(config.c_funambol_source, sizeof config.c_funambol_source);
+       client_getln(config.c_funambol_auth, sizeof config.c_funambol_auth);
+       
        config.c_enable_fulltext = 0;   /* always disable */
        put_config();
        lprintf(CTDL_INFO, "Imported config file\n");
 }
 
 
-
 void artv_import_control(void) {
        char buf[SIZ];
 
@@ -517,7 +539,7 @@ void artv_import_message(void) {
        long msglen;
        FILE *fp;
        char buf[SIZ];
-       char tempfile[SIZ];
+       char tempfile[PATH_MAX];
        char *mbuf;
 
        memset(&smi, 0, sizeof(struct MetaData));
@@ -529,7 +551,7 @@ void artv_import_message(void) {
        lprintf(CTDL_INFO, "message #%ld\n", msgnum);
 
        /* decode base64 message text */
-       strcpy(tempfile, tmpnam(NULL));
+       CtdlMakeTempFileName(tempfile, sizeof tempfile);
        snprintf(buf, sizeof buf, "./base64 -d >%s", tempfile);
        fp = popen(buf, "w");
        while (client_getln(buf, sizeof buf), strcasecmp(buf, END_OF_MESSAGE)) {
@@ -608,8 +630,8 @@ void cmd_artv(char *cmdbuf) {
        }
        is_running = 1;
 
-       strcpy(artv_tempfilename1, tmpnam(NULL));
-       strcpy(artv_tempfilename2, tmpnam(NULL));
+       CtdlMakeTempFileName(artv_tempfilename1, sizeof artv_tempfilename1);
+       CtdlMakeTempFileName(artv_tempfilename2, sizeof artv_tempfilename2);
 
        extract_token(cmd, cmdbuf, 0, '|', sizeof cmd);
        if (!strcasecmp(cmd, "export")) artv_do_export();