From 45f9eabf6d47b4e6cc9e8b85f2183bdeb8a2149c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Thu, 7 Sep 2006 20:59:04 +0000 Subject: [PATCH] * initiall sieve listing support. authentication works now, we at least answer with "OK" to every documented command. --- citadel/Makefile.in | 3 +- citadel/citadel.h | 2 +- citadel/config.guess | 21 ++++++----- citadel/config.h | 2 ++ citadel/config.sub | 46 ++++++++++++------------- citadel/control.c | 4 +++ citadel/debian/changelog | 7 ++++ citadel/debian/citadel-server.substvars | 1 + citadel/debian/control | 4 +-- citadel/routines2.c | 3 +- citadel/serv_extensions.c | 1 + citadel/serv_extensions.h | 1 + citadel/server.h | 1 + citadel/setup.c | 1 + citadel/sysconfig.h | 1 + citadel/techdoc/roadmap.txt | 12 +++++++ 16 files changed, 73 insertions(+), 37 deletions(-) diff --git a/citadel/Makefile.in b/citadel/Makefile.in index d53d46074..d2aced0b2 100644 --- a/citadel/Makefile.in +++ b/citadel/Makefile.in @@ -49,6 +49,7 @@ SERV_MODULES=serv_chat.o \ serv_expire.o \ serv_vandelay.o \ serv_calendar.o \ + serv_managesieve.o \ ical_dezonify.o \ serv_ldap.o \ serv_autocompletion.o @@ -99,7 +100,7 @@ SOURCES=aidepost.c auth.c base64.c chkpwd.c citadel.c citadel_ipc.c \ serv_listsub.c serv_mrtg.c serv_netfilter.c serv_network.c \ serv_newuser.c serv_pas2.c serv_pop3.c serv_rwho.c serv_smtp.c \ serv_spam.c serv_test.c serv_mrtg.c serv_spam.c serv_upgrade.c \ - serv_vandelay.c serv_vcard.c server_main.c setup.c snprintf.c \ + serv_vandelay.c serv_vcard.c serv_managesieve.c server_main.c setup.c snprintf.c \ stress.c support.c sysdep.c tools.c user_ops.c userlist.c \ whobbs.c vcard.c serv_notes.c serv_fulltext.c ft_wordbreaker.c \ crc16.c journaling.c citadel_dirs.c diff --git a/citadel/citadel.h b/citadel/citadel.h index de4ded2ff..c6e988a5d 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -254,7 +254,7 @@ enum { #define VIEW_NOTES 5 /* Notes view */ #define VIEW_WIKI 6 /* Wiki view */ #define VIEW_CALBRIEF 7 /* Brief Calendar view */ - +#define VIEW_SIEVE 8 /* Sieve manage rules store */ #ifdef __cplusplus } diff --git a/citadel/config.guess b/citadel/config.guess index c38553dc7..396482d6c 100755 --- a/citadel/config.guess +++ b/citadel/config.guess @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2006-02-23' +timestamp='2006-07-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -210,7 +211,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} @@ -770,6 +771,8 @@ EOF case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac @@ -780,9 +783,6 @@ EOF i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - i*:MSYS_NT-*:*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -790,10 +790,10 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - x86:Interix*:[345]*) + x86:Interix*:[3456]*) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T:Interix*:[345]*) + EM64T:Interix*:[3456]*) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) @@ -831,6 +831,9 @@ EOF arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; @@ -989,7 +992,7 @@ EOF LIBC=gnulibc1 # endif #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun) + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout diff --git a/citadel/config.h b/citadel/config.h index 79185a401..d29076eec 100644 --- a/citadel/config.h +++ b/citadel/config.h @@ -74,6 +74,8 @@ struct config { char c_journal_dest[128]; /* Where to send journalized msgs */ char c_default_cal_zone[128]; /* Default calendar time zone */ int c_pftcpdict_port; /* postfix tcptable support, see http://www.postfix.org/tcp_table.5.html */ + int c_managesieve_port; /* managesieve port. */ + }; diff --git a/citadel/config.sub b/citadel/config.sub index ad9f39571..387c18d1a 100755 --- a/citadel/config.sub +++ b/citadel/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2006-02-23' +timestamp='2006-07-02' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -240,7 +241,7 @@ case $basic_machine in | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ @@ -248,7 +249,8 @@ case $basic_machine in | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -274,11 +276,11 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ @@ -286,9 +288,6 @@ case $basic_machine in | z8k) basic_machine=$basic_machine-unknown ;; - m32c) - basic_machine=$basic_machine-unknown - ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown @@ -318,7 +317,7 @@ case $basic_machine in | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ + | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ @@ -329,7 +328,7 @@ case $basic_machine in | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | m32r-* | m32rle-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ @@ -358,11 +357,11 @@ case $basic_machine in | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ @@ -373,8 +372,6 @@ case $basic_machine in | ymp-* \ | z8k-*) ;; - m32c-*) - ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) @@ -1128,7 +1125,7 @@ case $basic_machine in sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sparc | sparcv8 | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1217,7 +1214,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos*) + | -skyos* | -haiku* | -rdos* | -toppers*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1369,6 +1366,9 @@ else # system, and we'll never get to this point. case $basic_machine in + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1378,9 +1378,9 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff - ;; + c4x-* | tic4x-*) + os=-coff + ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 diff --git a/citadel/control.c b/citadel/control.c index eb0317b8a..7e01f13b1 100644 --- a/citadel/control.c +++ b/citadel/control.c @@ -223,6 +223,7 @@ void cmd_conf(char *argbuf) 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("000\n"); } @@ -425,6 +426,9 @@ void cmd_conf(char *argbuf) case 50: config.c_pftcpdict_port = atoi(buf); break; + case 51: + config.c_managesieve_port = atoi(buf); + break; } ++a; } diff --git a/citadel/debian/changelog b/citadel/debian/changelog index 95fecaa1d..3600ed025 100644 --- a/citadel/debian/changelog +++ b/citadel/debian/changelog @@ -1,3 +1,10 @@ +citadel (6.84-1) unstable; urgency=low + + * update to actual Citadel CVS. many new features. see Packages changelog. + + -- Wilfried Goesgens Do, 31 Aug 2006 23:11:00 +0200 + + citadel (6.82-1) unstable; urgency=low * update to actual Citadel CVS. many new features. see Packages changelog. diff --git a/citadel/debian/citadel-server.substvars b/citadel/debian/citadel-server.substvars index a8fe3cff5..7dbe5f8ef 100644 --- a/citadel/debian/citadel-server.substvars +++ b/citadel/debian/citadel-server.substvars @@ -1 +1,2 @@ misc:Depends=debconf (>= 0.5) | debconf-2.0 +shlibs:Depends=libc6 (>= 2.3.6-6), libdb4.3 (>= 4.3.28-1), libldap2 (>= 2.1.17-1), libncurses5 (>= 5.4-5), libssl0.9.8 (>= 0.9.8b-1), zlib1g (>= 1:1.2.1) diff --git a/citadel/debian/control b/citadel/debian/control index 74f3f2cbc..0b03fd901 100644 --- a/citadel/debian/control +++ b/citadel/debian/control @@ -2,7 +2,7 @@ Source: citadel Section: mail Priority: optional Maintainer: Wilfried Goesgens -Build-Depends: debhelper (>= 4.0.0), libical-dev, autotools-dev, zlib1g-dev , libssl-dev, libncurses5-dev, libdb4.3-dev, libldap2-dev, libsasl2-dev, libgnutls11-dev, libgcrypt11-dev, bison, libpam0g-dev, gettext, libdb3-util +Build-Depends: debhelper (>= 4.0.0), libical-dev, autotools-dev, zlib1g-dev , libssl-dev, libncurses5-dev, libdb4.3-dev, libldap2-dev, libsasl2-dev, libgnutls-dev | libgnutls11-dev, libgcrypt11-dev, bison, libpam0g-dev, gettext, libdb3-util Standards-Version: 3.6.1 Package: citadel-server @@ -10,7 +10,7 @@ Architecture: any Pre-Depends: debconf Provides: pop3-server, imap-server Conflicts: pop3-server, imap-server -Depends: ${shlibs:Depends}, ${misc:Depends}, debconf, libical, libssl0.9.7, libncurses5, libdb4.3, libldap2, libsasl2, libgnutls11, libgcrypt11, libc6, libgpg-error0, ucf, libdb3-util +Depends: ${shlibs:Depends}, ${misc:Depends}, debconf, libical, libssl0.9.7, libncurses5, libdb4.3, libldap2, libsasl2, libgnutls | libgnutls11, libgcrypt11, libc6, libgpg-error0, ucf, libdb3-util Suggests: citadel-mta Description: Citadel is the good old BBS system grown up to a Groupware. Citadel is a different kind of messaging and collaboration platform. While diff --git a/citadel/routines2.c b/citadel/routines2.c index d0e82ed81..068cf9bba 100644 --- a/citadel/routines2.c +++ b/citadel/routines2.c @@ -644,7 +644,7 @@ void read_bio(CtdlIPC *ipc) void do_system_configuration(CtdlIPC *ipc) { -#define NUM_CONFIGS 51 +#define NUM_CONFIGS 52 char buf[SIZ]; char sc[NUM_CONFIGS][256]; @@ -744,6 +744,7 @@ void do_system_configuration(CtdlIPC *ipc) strprompt("SMTP MSA server port (-1 to disable)", &sc[38][0], 5); strprompt("SMTPS server port (-1 to disable)", &sc[41][0], 5); strprompt("Postfix TCP Dictionary Port server port (-1 to disable)", &sc[50][0], 5); + strprompt("ManageSieve server port (-1 to disable)", &sc[51][0], 5); /* This logic flips the question around, because it's one of those * situations where 0=yes and 1=no diff --git a/citadel/serv_extensions.c b/citadel/serv_extensions.c index b81c2caf6..cb0618a61 100644 --- a/citadel/serv_extensions.c +++ b/citadel/serv_extensions.c @@ -127,6 +127,7 @@ void initialize_server_extensions(void) lprintf(CTDL_INFO, "%s\n", serv_fulltext_init()); lprintf(CTDL_INFO, "%s\n", serv_autocompletion_init()); lprintf(CTDL_INFO, "%s\n", serv_postfix_tcpdict()); + lprintf(CTDL_INFO, "%s\n", serv_managesieve_init()); } diff --git a/citadel/serv_extensions.h b/citadel/serv_extensions.h index 288f7b992..f23769149 100644 --- a/citadel/serv_extensions.h +++ b/citadel/serv_extensions.h @@ -35,6 +35,7 @@ char *serv_vcard_init(void); char *serv_fulltext_init(void); char *serv_autocompletion_init(void); char *serv_postfix_tcpdict(void); +char *serv_managesieve_init(void); /* */ diff --git a/citadel/server.h b/citadel/server.h index 2b60be193..c45b081c3 100644 --- a/citadel/server.h +++ b/citadel/server.h @@ -125,6 +125,7 @@ struct CitContext { struct citimap *IMAP; struct citpop3 *POP3; struct citsmtp *SMTP; + struct citmgsve *MGSVE; /**< Managesieve Session struct */ char *SMTP_RECPS; char *SMTP_ROOMS; struct cit_ical *CIT_ICAL; /* calendaring data */ diff --git a/citadel/setup.c b/citadel/setup.c index 75ade1484..e2c6e644c 100644 --- a/citadel/setup.c +++ b/citadel/setup.c @@ -1300,6 +1300,7 @@ int main(int argc, char *argv[]) if (config.c_pop3s_port == 0) config.c_pop3s_port = 995; if (config.c_imaps_port == 0) config.c_imaps_port = 993; if (config.c_pftcpdict_port == 0) config.c_pftcpdict_port = -1; + if (config.c_managesieve_port == 0) config.c_managesieve_port = -1; /* Go through a series of dialogs prompting for config info */ if (setup_type != UI_SILENT) { diff --git a/citadel/sysconfig.h b/citadel/sysconfig.h index 92dbee7a5..7a138576c 100644 --- a/citadel/sysconfig.h +++ b/citadel/sysconfig.h @@ -110,6 +110,7 @@ #define USERNOTESROOM "Notes" #define USERTRASHROOM "Trash" #define PAGELOGROOM "Sent/Received Pages" +#define SIEVERULES "SieveRules" #define SYSCONFIGROOM "Local System Configuration" #define SMTP_SPOOLOUT_ROOM "__CitadelSMTPspoolout__" #define DELETED_MSGS_ROOM "__CitadelDeletedMessages__" diff --git a/citadel/techdoc/roadmap.txt b/citadel/techdoc/roadmap.txt index fe1b31aa3..f1827c676 100644 --- a/citadel/techdoc/roadmap.txt +++ b/citadel/techdoc/roadmap.txt @@ -78,4 +78,16 @@ some code and deciding what to work on. the actual berkeley db version in its state file, and in case of an up/downgrade moan this to the user / logfile. bdb upgrades should trigger a mail to aide. +* easy management of external room access. there should be a gui way for room aliases. +* backcheck of aliases. citadel must check, if on save of the aliases there will be a + race between other users / users aliases. + -> citadel must check while saving the aliases, if the mail delivers yet to another + person than the one just saving the aliases. if yes, it should do something like + mail to foo@bar.org is already delivered to joeblow@bar.org + +* uid to name in webcit / imap; citadel shouldn't display something like uid.room + to other users, if they share it to others. it should do something like username/room + where username should be a floor. + +* webcit should be made more resistant to html injections, especialy the chat window. \ No newline at end of file -- 2.30.2