* Set version number to 6.00 in documentation and header files.
authorArt Cancro <ajc@citadel.org>
Sat, 31 Aug 2002 04:12:39 +0000 (04:12 +0000)
committerArt Cancro <ajc@citadel.org>
Sat, 31 Aug 2002 04:12:39 +0000 (04:12 +0000)
* Convert RFC822 newlines (CRLF) to Unix/Citadel newlines (LF) when
  performing an IMAP APPEND command.

citadel/ChangeLog
citadel/citadel.c
citadel/citadel.h
citadel/citadel.rc
citadel/docs/copyright.txt
citadel/imap_misc.c
citadel/internet_addressing.c
citadel/msgbase.c
citadel/techdoc/roadmap.txt

index 89308c8910bfbda9eef4c09e2e922fa56288e62e..7b21d6c7da1b2f3344351ba6b07537ff6505b529 100644 (file)
@@ -1,4 +1,9 @@
  $Log$
+ Revision 591.105  2002/08/31 04:12:39  ajc
+ * Set version number to 6.00 in documentation and header files.
+ * Convert RFC822 newlines (CRLF) to Unix/Citadel newlines (LF) when
+   performing an IMAP APPEND command.
+
  Revision 591.104  2002/08/28 03:18:06  ajc
  * Make reply_to and reply_subject global (otherwise they don't work!)
 
@@ -3946,3 +3951,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import
+
index db1cb6261a6d7be328dec1885844382bf8208311..3c767c2bc5827e56ad3829fc200a1efb65dc5996 100644 (file)
@@ -1500,7 +1500,12 @@ PWOK:
 
                        case 87:
                                network_config_management("listrecp",
-                                       "Mailing list recipients");
+                                "Message-by-message mailing list recipients");
+                               break;
+
+                       case 94:
+                               network_config_management("digestrecp",
+                                "Digest mailing list recipients");
                                break;
 
                        case 89:
index 335a29346024a8953e09bc796c16711ced87a5f7..217ec01c5eaa1bc3820464b077e63d886fe88a5e 100644 (file)
@@ -18,7 +18,7 @@
 /*
  * Text description of this software
  */
-#define CITADEL        "Citadel/UX 5.91"
+#define CITADEL        "Citadel/UX 6.00"
 
 /*
  * REV_LEVEL is the current version number (multiplied by 100 to avoid having
@@ -27,7 +27,7 @@
  * are older than REV_MIN, none of the programs will work until the setup
  * program is run again to bring things up to date.
  */
-#define REV_LEVEL      591             /* This version */
+#define REV_LEVEL      600             /* This version */
 #define REV_MIN                591             /* Oldest compatible version */
 
 #define SERVER_TYPE 0  /* zero for stock Citadel/UX; other developers please
index d8765e801888a8e95a7de9059b3ebfec0ec149b0..1809a895b4f72f1a341e2c37291a2202e8589e96 100644 (file)
@@ -236,7 +236,8 @@ cmd=88,2,&.,&Aide,&System configuration,&Network
 cmd=92,2,&.,&Aide,&System configuration,network &Filter list
 cmd=85,2,&.,&Aide,&Terminate server,&Now
 cmd=86,2,&.,&Aide,&Terminate server,&Scheduled
-cmd=87,1,&.,&Aide,mailing &List management
+cmd=87,1,&.,&Aide,mailing &List recipients
+cmd=94,1,&.,&Aide,mailing list &Digest recipients
 cmd=89,1,&.,&Aide,&Network room sharing
 
 cmd=29,0,&.,&Terminate,and &Quit
index 63cf152ac5075c37bcdec3e1097ebb61d33e5bd8..798f2c117fce78a41cf0fe403847b57b7184de64 100644 (file)
@@ -1,5 +1,5 @@
                          -----------------------
-                         Citadel/UX version 5.91
+                         Citadel/UX version 6.00
                          -----------------------
  
  Copyright (c) 1987-2002 by the Citadel development team.
index 6878fea5dcdd9bfd23208cfd3e3e3831410d9b5d..2423b5b4ed2515f574c2792786504ce2b66d3341 100644 (file)
@@ -217,6 +217,7 @@ void imap_append(int num_parms, char *parms[]) {
        char buf[SIZ];
        char savedroom[ROOMNAMELEN];
        int msgs, new;
+       int i;
 
 
        if (num_parms < 4) {
@@ -253,7 +254,17 @@ void imap_append(int num_parms, char *parms[]) {
                return;
        }
 
-       lprintf(9, "Converting message...\n");
+       /* Convert RFC822 newlines (CRLF) to Unix newlines (LF) */
+       lprintf(9, "Converting newline format\n");
+       for (i=0; i<literal_length; ++i) {
+               if (!strncmp(&IMAP->transmitted_message[i], "\r\n", 2)) {
+                       strcpy(&IMAP->transmitted_message[i],
+                               &IMAP->transmitted_message[i+1]);
+                       --literal_length;
+               }
+       }
+
+       lprintf(9, "Converting message format\n");
         msg = convert_internet_message(IMAP->transmitted_message);
        IMAP->transmitted_message = NULL;
        IMAP->transmitted_length = 0;
index bdc259f97eb26c9199c009e1b461640eb6271156..6533f2c2dc6f98c4b26c59742aa16b41ef4332ab 100644 (file)
@@ -410,7 +410,7 @@ struct CtdlMessage *convert_internet_message(char *rfc822) {
                                end = pos;
                        }
 
-                       /* done with headers? */
+                       /* done with headers? (commented out; see below)
                        if (   ((rfc822[pos]=='\n')
                              ||(rfc822[pos]=='\r') )
                           && ( (rfc822[pos+1]=='\n')
@@ -418,6 +418,15 @@ struct CtdlMessage *convert_internet_message(char *rfc822) {
                                end = pos;
                                done = 1;
                        }
+                       */
+
+                       /* done with headers? (try this way instead) */
+                       if (   (rfc822[pos]=='\n')
+                          && ( (rfc822[pos+1]=='\n')
+                             ||(rfc822[pos+1]=='\r')) ) {
+                               end = pos;
+                               done = 1;
+                       }
 
                        if (pos >= (msglen-1) ) {
                                end = pos;
index d73875df59ff5bed13f547ec74ac3d03f1149a14..f392382b904581f75e450b394a143e2c3207d574 100644 (file)
@@ -2198,11 +2198,10 @@ char *CtdlReadMessageBody(char *terminator,     /* token signalling EOT */
        /* read in the lines of message text one by one */
        while ( (client_gets(buf)>0) && strcmp(buf, terminator) ) {
 
-               /* strip trailing newline type stuff */
-               if (buf[strlen(buf)-1]==10) buf[strlen(buf)-1]=0;
-               if (buf[strlen(buf)-1]==13) buf[strlen(buf)-1]=0;
-
+               /* Measure the line and strip trailing newline characters */
                linelen = strlen(buf);
+               if (linelen > 0) if (buf[linelen-1]==13) buf[linelen--]=0;
+               if (linelen > 0) if (buf[linelen-1]==10) buf[linelen--]=0;
 
                /* augment the buffer if we have to */
                if ((message_len + linelen + 2) > buffer_len) {
index dfb828ced0d699c1f478f8ee630f2189c8901aa5..0817cc62ddd935eea3b08ec174914536caaf7393 100644 (file)
@@ -3,24 +3,13 @@ we want to be going.  It's something to consult when sitting down to write
 some code and deciding what to work on.
 
 
-Goals for 5.90
---------------
-* New networker (done)
-* Database enhancements (done)
+Goals to achieve during the 6.xx cycle
+--------------------------------------
 
-
-Goals for 6.00
---------------
-* Multiple recipients allowed in Citadel protocol.  Rework the code to feed
-  all deliveries through the same set of functions, regardless of whether a
-  message is submitted through Citadel protocol, SMTP, or from the networker.
-  (Completed in 5.91)
-
-* Get the Global Address Book working
-  (Completed in 5.91, needs more polish on the UI side, though)
+* Address books: allow personal address books as well as global, and give
+  the system the ability to use those addresses as e-mail shortcuts.
  
-* Delegations
-  (Access controls complete in 5.91.  Need better presentation before 6.00)
+* Better UI presentation for delegated access to mailboxes.
 
 * Optimize the IMAP server and add the search command.
   Mozilla/Netscape makes this query:
@@ -30,17 +19,8 @@ Goals for 6.00
 (References X-Ref X-Priority X-MSMail-Priority X-MSOESRec Newsgroups)] ENVELOPE
 RFC822.SIZE UID FLAGS INTERNALDATE)
 
-* Nested folders ... at least in IMAP
-  (done)
-
-* "Views" (presentation hints for WebCit etc.)
-  (mostly done)
+* LDAP directory support
 
+* Calendar service
 
-Goals for beyond 6.00
----------------------
-* LDAP directory support?
-* Calendar server
-* Address book server
-* Integration with Evolution, Mozilla Calendar, etc.
 * NNTP