imap_output_copyuid_response() now accepts an IMAP session context passed up the...
[citadel.git] / citadel / modules / imap / imap_misc.c
index 3665264554ddc574840d88acef5e64017c857a31..e7940d1cb95d25e71bd957653a5893e097ca8e23 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1987-2015 by the citadel.org team
+ * Copyright (c) 1987-2017 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -159,9 +159,10 @@ int imap_do_copy(const char *destination_folder) {
  * messages in our source room.  Since the Citadel system uses UID's that
  * are both globally unique and persistent across a room-to-room copy, we
  * can get this done quite easily.
+ *
+ * FIXME this is outputing WRONG !!!   See https://tools.ietf.org/html/rfc2359#section-4.3
  */
-void imap_output_copyuid_response(void) {
-       citimap *Imap = IMAP;
+void imap_output_copyuid_response(citimap *Imap) {
        int i;
        int num_output = 0;
   
@@ -205,7 +206,7 @@ void imap_copy(int num_parms, ConstStr *Params) {
        ret = imap_do_copy(Params[3].Key);
        if (!ret) {
                IAPrintf("%s OK ", Params[0].Key);
-               imap_output_copyuid_response();
+               imap_output_copyuid_response(IMAP);
                IAPuts("COPY completed\r\n");
        }
        else {
@@ -233,7 +234,7 @@ void imap_uidcopy(int num_parms, ConstStr *Params) {
 
        if (imap_do_copy(Params[4].Key) == 0) {
                IAPrintf("%s OK ", Params[0].Key);
-               imap_output_copyuid_response();
+               imap_output_copyuid_response(IMAP);
                IAPuts("UID COPY completed\r\n");
        }
        else {
@@ -351,10 +352,10 @@ void imap_append(int num_parms, ConstStr *Params) {
        client_getln(dummy, sizeof dummy);
 
        /* Convert RFC822 newlines (CRLF) to Unix newlines (LF) */
-       IMAPM_syslog(LOG_DEBUG, "Converting CRLF to LF");
+       syslog(LOG_DEBUG, "Converting CRLF to LF");
        StrBufToUnixLF(Imap->TransmittedMessage);
 
-       IMAPM_syslog(LOG_DEBUG, "Converting message format");
+       syslog(LOG_DEBUG, "Converting message format");
        msg = convert_internet_message_buf(&Imap->TransmittedMessage);
 
        ret = imap_grabroom(roomname, Params[2].Key, 1);