From 11607176d661bc0869352d6bfcb7e7b6a3c10137 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Sat, 31 Aug 2002 04:12:39 +0000 Subject: [PATCH] * 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. --- citadel/ChangeLog | 6 ++++++ citadel/citadel.c | 7 ++++++- citadel/citadel.h | 4 ++-- citadel/citadel.rc | 3 ++- citadel/docs/copyright.txt | 2 +- citadel/imap_misc.c | 13 ++++++++++++- citadel/internet_addressing.c | 11 ++++++++++- citadel/msgbase.c | 7 +++---- citadel/techdoc/roadmap.txt | 34 +++++++--------------------------- 9 files changed, 49 insertions(+), 38 deletions(-) diff --git a/citadel/ChangeLog b/citadel/ChangeLog index 89308c891..7b21d6c7d 100644 --- a/citadel/ChangeLog +++ b/citadel/ChangeLog @@ -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 Fri Jul 10 1998 Art Cancro * Initial CVS import + diff --git a/citadel/citadel.c b/citadel/citadel.c index db1cb6261..3c767c2bc 100644 --- a/citadel/citadel.c +++ b/citadel/citadel.c @@ -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: diff --git a/citadel/citadel.h b/citadel/citadel.h index 335a29346..217ec01c5 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -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 diff --git a/citadel/citadel.rc b/citadel/citadel.rc index d8765e801..1809a895b 100644 --- a/citadel/citadel.rc +++ b/citadel/citadel.rc @@ -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 diff --git a/citadel/docs/copyright.txt b/citadel/docs/copyright.txt index 63cf152ac..798f2c117 100644 --- a/citadel/docs/copyright.txt +++ b/citadel/docs/copyright.txt @@ -1,5 +1,5 @@ ----------------------- - Citadel/UX version 5.91 + Citadel/UX version 6.00 ----------------------- Copyright (c) 1987-2002 by the Citadel development team. diff --git a/citadel/imap_misc.c b/citadel/imap_misc.c index 6878fea5d..2423b5b4e 100644 --- a/citadel/imap_misc.c +++ b/citadel/imap_misc.c @@ -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; itransmitted_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; diff --git a/citadel/internet_addressing.c b/citadel/internet_addressing.c index bdc259f97..6533f2c2d 100644 --- a/citadel/internet_addressing.c +++ b/citadel/internet_addressing.c @@ -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; diff --git a/citadel/msgbase.c b/citadel/msgbase.c index d73875df5..f392382b9 100644 --- a/citadel/msgbase.c +++ b/citadel/msgbase.c @@ -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) { diff --git a/citadel/techdoc/roadmap.txt b/citadel/techdoc/roadmap.txt index dfb828ced..0817cc62d 100644 --- a/citadel/techdoc/roadmap.txt +++ b/citadel/techdoc/roadmap.txt @@ -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 -- 2.39.2