From f59e2e6772d87d323d065f09919ec0876bf2e0be Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Wed, 8 Apr 2020 17:35:15 -0400 Subject: [PATCH] Fixed a bug in username key usage that was causing email aliases to disappear --- citadel/buildpackages | 120 ------ citadel/citadel.h | 4 +- citadel/context.c | 4 +- citadel/debian/.gitignore | 26 -- citadel/debian/README.Debian | 116 ----- citadel/debian/changelog | 545 ------------------------ citadel/debian/citadel-common.dirs | 2 - citadel/debian/citadel-common.postinst | 35 -- citadel/debian/citadel-doc.install | 5 - citadel/debian/citadel-mta.install | 1 - citadel/debian/citadel-mta.postinst | 21 - citadel/debian/citadel-server.1.manpage | 68 --- citadel/debian/citadel-server.config | 88 ---- citadel/debian/citadel-server.dirs | 9 - citadel/debian/citadel-server.install | 19 - citadel/debian/citadel-server.postinst | 93 ---- citadel/debian/citadel-server.postrm | 26 -- citadel/debian/citadel-server.prerm | 21 - citadel/debian/citadel-server.templates | 77 ---- citadel/debian/citadel.init | 178 -------- citadel/debian/compat | 1 - citadel/debian/control | 101 ----- citadel/debian/copyright | 131 ------ citadel/debian/po/POTFILES.in | 1 - citadel/debian/po/templates.pot | 81 ---- citadel/debian/rules | 176 -------- citadel/modules/ctdlproto/serv_user.c | 26 +- citadel/modules/openid/serv_openid_rp.c | 3 +- citadel/modules/upgrade/serv_upgrade.c | 4 +- citadel/user_ops.c | 69 +-- citadel/user_ops.h | 6 +- 31 files changed, 60 insertions(+), 1997 deletions(-) delete mode 100755 citadel/buildpackages delete mode 100644 citadel/debian/.gitignore delete mode 100644 citadel/debian/README.Debian delete mode 100644 citadel/debian/changelog delete mode 100644 citadel/debian/citadel-common.dirs delete mode 100644 citadel/debian/citadel-common.postinst delete mode 100644 citadel/debian/citadel-doc.install delete mode 100644 citadel/debian/citadel-mta.install delete mode 100644 citadel/debian/citadel-mta.postinst delete mode 100644 citadel/debian/citadel-server.1.manpage delete mode 100755 citadel/debian/citadel-server.config delete mode 100644 citadel/debian/citadel-server.dirs delete mode 100644 citadel/debian/citadel-server.install delete mode 100644 citadel/debian/citadel-server.postinst delete mode 100644 citadel/debian/citadel-server.postrm delete mode 100644 citadel/debian/citadel-server.prerm delete mode 100644 citadel/debian/citadel-server.templates delete mode 100644 citadel/debian/citadel.init delete mode 100644 citadel/debian/compat delete mode 100644 citadel/debian/control delete mode 100644 citadel/debian/copyright delete mode 100644 citadel/debian/po/POTFILES.in delete mode 100644 citadel/debian/po/templates.pot delete mode 100755 citadel/debian/rules diff --git a/citadel/buildpackages b/citadel/buildpackages deleted file mode 100755 index 412c303ca..000000000 --- a/citadel/buildpackages +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash -# find out the package version from conf -if test -f Makefile; then - make distclean -fi - -./bootstrap - -export `grep PACKAGE_VERSION= configure |sed -e "s;';;g" -e "s;PACKAGE;CITADEL;"` - -PACKAGE_VERSION=`cat packageversion` -DATE=`date '+%a, %d %b %Y %H:%I:00 %z'` -ACTUAL_DIR=`pwd` - - -rm -rf debian/citadel-client debian/citadel-common debian/citadel-doc debian/citadel-mta debian/citadel-server debian/citadel-suite debian/tmp -if echo "$ACTUAL_DIR" |grep -q "$CITADEL_VERSION"; then - echo "directory ($ACTUAL_DIR) naming scheme seems right. nothing done." -else - done=false - if test -L "$ACTUAL_DIR"; then - SYMLINK_=`pwd` - SYMLINK=`ls -l $SYMLINK_|sed "s;.*-> ;;"` - if ls -l $SYMLINK_|grep -q "$CITADEL_VERSION"; then - done=true - fi - else - SYMLINK=`pwd|sed "s;.*/;;"` - fi - if test "$done" = "false"; then - cd .. - ln -sf citadel "citadel-$CITADEL_VERSION" - cd "citadel-$CITADEL_VERSION" - else - cd "../citadel-$CITADEL_VERSION" - fi - -fi - - -case $1 in - debian) - if grep -q "($CITADEL_VERSION" debian/changelog; then - echo rebuilding package. - else - echo "Upstream Version higher than local." - - fi - if test "$2" == "src"; then - cd .. - rm -rf tmp - mkdir tmp - cp -rL citadel-$CITADEL_VERSION tmp - cd tmp/citadel-$CITADEL_VERSION - rm -rf `find -name .svn ` svn*tmp config.log config.status - find -type f -exec chmod a-x {} \; - chmod a+x configure *.sh *.sh.in debian/rules debian/*inst* debian/rules mkinstalldirs - cd .. - tar -chzf citadel_${CITADEL_VERSION}.orig.tar.gz citadel-${CITADEL_VERSION}/ --exclude "debian/*" - pwd - cd citadel-${CITADEL_VERSION}; debuild -S -sa -kw.goesgens@outgesourced.org - else - fakeroot dpkg-buildpackage - fi - ;; - csw) - if !test -d ~/pkgs/; then - mkdir ~/pkgs - fi - echo " -PKG=CSWcitadel -NAME=citadel - The groupware server for Web 2.0 -VERSION=${PACKAGE_VERSION} -CATEGORY=application -VENDOR=http://www.citadel.org/ packaged for CSW by Wilfried Goesgens -HOTLINE=https://uncensored.citadel.org/ Room citadel support -EMAIL=citadel@outgesourced.org -" >~/pkgs/citadel - export LDFLAGS='-L/opt/csw/lib -L /usr/local/lib' - export CFLAGS='-I/opt/csw/include -I/usr/local/include -DDISABLE_CURSES' - ./configure \ - --with-db=/opt/csw/bdb5 \ - --with-ical=/usr/local/ \ - --with-prefix=/opt/csw/ \ - --with-datadir=/opt/csw/var/lib/citadel \ - --with-sysconfdir=/opt/csw/etc/citadel \ - --with-ssldir=/opt/csw/etc/ssl/citadel/ \ - --with-spooldir=/opt/csw/var/spool/citadel \ - --with-rundir=/opt/csw/var/run/citadel \ - --with-docdir=/opt/csw/share/doc/citadel-doc/ \ - --with-pam \ - --with-zlib \ - --with-ldap \ - --with-libsieve - - gmake citserver aidepost msgform citmail userlist sendcommand base64 whobbs citadel - gmake DESTDIR=$ACTUAL_DIR/cswstage install-new - - - - ;; - sourcedist) - cd ..; tar \ - --exclude ".gitignore" \ - --exclude "*.lo" \ - --exclude "*.o" \ - --exclude "*.d" \ - --exclude "autom4te.cache/*" \ - --exclude "debian/*" \ - --exclude "sysdep.h" \ - \ - -chvzf citadel-$CITADEL_VERSION.tar.gz citadel-$CITADEL_VERSION/ - ;; - version) - echo This would build citadel-$CITADEL_VERSION - ;; - *) - echo "Not yet implemented. we have: debian " - ;; -esac diff --git a/citadel/citadel.h b/citadel/citadel.h index 86777bf65..6289547c8 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -1,7 +1,7 @@ /* * Main Citadel header file * - * Copyright (c) 1987-2019 by the citadel.org team + * Copyright (c) 1987-2020 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 version 3. @@ -35,7 +35,7 @@ extern "C" { */ #define CITADEL PACKAGE_STRING -#define REV_LEVEL 928 // This version +#define REV_LEVEL 929 // This version #define REV_MIN 591 // Oldest compatible database #define EXPORT_REV_MIN 760 // Oldest compatible export files #define LIBCITADEL_MIN 922 // Minimum required version of libcitadel diff --git a/citadel/context.c b/citadel/context.c index 8b06ab5c8..860c39a7f 100644 --- a/citadel/context.c +++ b/citadel/context.c @@ -2,7 +2,7 @@ * Citadel context management stuff. * Here's where we (hopefully) have all the code that manipulates contexts. * - * Copyright (c) 1987-2019 by the citadel.org team + * Copyright (c) 1987-2020 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, version 3. @@ -568,7 +568,7 @@ void CtdlFillSystemContext(CitContext *context, char *name) context->cs_pid = 0; strcpy (sysname, "SYS_"); strcat (sysname, name); - len = cutusername(sysname); + len = strlen(sysname); memcpy(context->curr_user, sysname, len + 1); context->client_socket = (-1); context->state = CON_SYS; diff --git a/citadel/debian/.gitignore b/citadel/debian/.gitignore deleted file mode 100644 index 2ce9c6bed..000000000 --- a/citadel/debian/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -citadel-client.debhelper.log -citadel-client.substvars -citadel-client/ -citadel-common.debhelper.log -citadel-common.substvars -citadel-common/ -citadel-dbg.debhelper.log -citadel-dbg.substvars -citadel-dbg/ -citadel-doc.debhelper.log -citadel-doc.substvars -citadel-doc/ -citadel-mta.debhelper.log -citadel-mta.substvars -citadel-mta/ -citadel-server.debhelper.log -citadel-server.postinst.debhelper -citadel-server.postrm.debhelper -citadel-server.prerm.debhelper -citadel-server.substvars -citadel-server/ -citadel-suite.debhelper.log -citadel-suite.substvars -citadel-suite/ -files -tmp/ diff --git a/citadel/debian/README.Debian b/citadel/debian/README.Debian deleted file mode 100644 index 0598c21f9..000000000 --- a/citadel/debian/README.Debian +++ /dev/null @@ -1,116 +0,0 @@ - - * Citadel and your Systems Mail Transport Agent - -The easy way to get citadel doing inbound Mail is -to install the "citadel-mta" package. - -You however can use your default MTA to deliver mails -to citadel using a feature called LMTP (Local Mail -Transport) which is supported by Postfix, Exim and -qpsmp. - -Citadel will open its lmtp Unix Domain Socket in -/var/run/citadel/lmtp.socket -This is where you need to point your other MTA at. - - - - * Citadel and Exim - -Exim is able to do this; however, the Author of this -writing doesn't use it, and thus provides you just with -this Link to the exim documentation: - -http://exim.inode.at/exim-html-3.20/doc/html/spec_17.html - -(If you know more, input is welcome) - - - - * Citadel and Postfix - -Postfix offers more than just LMTP. Postfix also enables -you to use DICT-TCP in order to verify whether an email -will be deliverable rigt after the other mailserver told -yours whom it wants to send mail to. -Have a look at this sample main.cf for postfix: - -# See /usr/share/postfix/main.cf.dist for a commented, more complete version -smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) -biff = no - -# appending .domain is the MUA's job. -append_dot_mydomain = no - -# Uncomment the next line to generate "delayed mail" warnings -#delay_warning_time = 4h -myhostname = sample.citadel.org -#alias_maps = hash:/etc/aliases -#alias_database = hash:/etc/aliases -myorigin = /etc/mailname -mydestination = mail.sample.citadel.org, sample.citadel.org -#relayhost = mynetworks = 127.0.0.0/8 -mailbox_size_limit = 0 -recipient_delimiter = + -inet_interfaces = all -# ------------------------------------------------ -# checking rules. -# get rid of anything useless as early as possible. -# * stage one: check if the user is there. -# * stage two: check the source. is its helo valid? else buye. -# * stage three: check the sender etc. -# * stage four: check the open relay Database. hosts registered here won't be accepted. -# * stage five: check the content by regex. won't accept Windows executables of any kind. -# * stage six: Do virus checking. reject some more extensions. -# * stage seven: deliver it to citadel via local transport -# make it bite harder if wanted. unknown_local_recipient_reject_code = 550 -#unknown_address_reject_code = 550 -#unknown_client_reject_code = 550 -#unknown_relay_recipient_reject_code = 550 -#unknown_virtual_alias_reject_code = 550 -#unknown_virtual_mailbox_reject_code = 550 -#unknown_address_reject_code = 550 -#unknown_client_reject_code = 550 -#unknown_hostname_reject_code = 550 -#unverified_recipient_reject_code = 550 -#unverified_sender_reject_code = 550 -#unverified_recipient_reject_code = 550 -# -# nope. don't wanna know. -bounce_notice_recipient = -# replace 127.0.0.1 with the ip of your citadel server, and 777 with the port you made it open its dict-tcp server -# in doubt check with netstat -lnp -# telnet ip port -# -smtpd_recipient_restrictions = - tcp:127.0.0.1:777, - reject_unauth_destination, - reject_unauth_pipelining, - reject_non_fqdn_sender, - reject_non_fqdn_hostname, - reject_invalid_hostname, - reject_unknown_recipient_domain, - reject_unknown_sender_domain, - reject_unknown_hostname, - reject_rbl_client list.dsbl.org, - reject_rbl_client sbl-xbl.spamhaus.org, - reject_rbl_client bl.spamcop.net, - reject_rbl_client dnsbl.njabl.org, - reject_rbl_client dnsbl.sorbs.net, - reject_rbl_client l2.spews.dnsbl.sorbs.net, - reject_rhsbl_client rhsbl.sorbs.net, - reject_rhsbl_client bogusmx.rfc-ignorant.org, - reject_rhsbl_sender rhsbl.sorbs.net, - reject_rhsbl_sender bogusmx.rfc-ignorant.org, - reject_rhsbl_sender dsn.rfc-ignorant.org - reject -#if we deliver to citadel via lmtp, do it for example like that: -local_transport = lmtp:unix:/var/run/citadel/lmtp.socket -# check the output of netstat -lnp for your lmtp.sock location. - - -More informations on this issue can be found at: -http://www.citadel.org/doku.php/faq:installation:configuring_postfix_to_validate_email_addresses_against_a_citadel_server - - - -- Wilfried Goesgens , Thu, 17 May 2007 19:10:39 +0200 diff --git a/citadel/debian/changelog b/citadel/debian/changelog deleted file mode 100644 index 760d93d20..000000000 --- a/citadel/debian/changelog +++ /dev/null @@ -1,545 +0,0 @@ -citadel (927-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 19 Dec 2018 16:57:49 -0500 - -citadel (925-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 19 Dec 2018 16:57:49 -0500 - -citadel (924-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 19 Dec 2018 16:57:49 -0500 - -citadel (917-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 03 Jan 2018 16:57:49 -0500 - -citadel (9.16-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 02 Jan 2018 12:56:30 -0400 - -citadel (9.15-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 29 Dec 2017 12:56:30 -0400 - -citadel (9.14-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 26 Dec 2017 12:56:30 -0400 - -citadel (9.01-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Wed, 01 Apr 2015 12:56:30 -0400 - -citadel (8.29-1) stable; urgency=low - - * development prerelease - - -- Wilfried Goesgens Sat, 07 Dec 2013 11:41:23 +0100 - -citadel (8.21-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Tue, 16 Oct 2013 22:00:00 +0001 - -citadel (8.20-1) stable; urgency=low - - * new release - - -- Wilfried Goesgens Tue, 16 Jul 2013 22:00:00 +0001 - -citadel (8.13-1) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Mon, 16 Jun 2012 22:00:00 +0001 - -citadel (8.12-1) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Tue, 26 Jun 2012 22:00:00 +0001 - -citadel (8.11-1) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Wed, 16 May 2012 22:00:00 +0001 - -citadel (8.10-1) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Mon, 5 Dec 2011 22:00:00 +0001 - -citadel (8.03-1) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Mon, 5 Dec 2011 22:00:00 +0001 - -citadel (8.02-1) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Fri, 11 Nov 2011 22:00:00 +0001 - -citadel (7.83-91) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Wed, 28 Jul 2010 22:00:00 +0001 - -citadel (7.80-91) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Tue, 19 Jul 2010 22:00:00 +0001 - -citadel (7.72-90) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Wed, 17 Feb 2010 22:00:00 +0001 - -citadel (7.71-89) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Tue, 5 Jan 2010 22:00:00 +0001 - -citadel (7.70-87) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Mon, 22 Dec 2009 22:00:00 +0001 - -citadel (7.66-86) stable; urgency=low - - * new upstream release - - -- Wilfried Goesgens Mon, 28 Sep 2009 18:00:00 +0001 - -citadel (7.63-84) stable; urgency=low - - * some more fixes - - -- Wilfried Goesgens Fri, 4 Sep 2009 0:00:00 +0002 - -citadel (7.63-83) stable; urgency=low - - * new upstream release - - -- Wilfried Goesgens Tue, 1 Sep 2009 8:00:00 +0002 - -citadel (7.61-81) stable; urgency=low - - * new upstream release - - -- Wilfried Goesgens Tue, 6 Aug 2009 10:00:00 +0002 - -citadel (7.60-80) stable; urgency=low - - * new upstream release - * add debconf code for ldap/ad auth - - -- Wilfried Goesgens Tue, 28 Aug 2009 8:00:00 +0002 - -citadel (7.50-73) stable; urgency=low - - * release - - -- Wilfried Goesgens Tue, 17 Mar 2009 8:00:00 +0002 - -citadel (7.43-72) unstable; urgency=low - - * Beta release - - -- Wilfried Goesgens Tue, 17 Mar 2009 8:00:00 +0002 - -citadel (7.42-71) unstable; urgency=low - - * Beta release - - -- Wilfried Goesgens Fri, 27 Feb 2009 8:00:00 +0002 - -citadel (7.41-70) unstable; urgency=low - - * Beta release - - -- Wilfried Goesgens Fri, 20 Feb 2009 18:00:00 +0002 - -citadel (7.38-41) stable; urgency=low - - * fix setup program - * several other tiny bugfixes. - - -- Wilfried Goesgens Sun, 21 Sep 2008 18:00:00 +0002 - -citadel (7.37-39) stable; urgency=low - - * new upstream version - - -- Wilfried Goesgens Thu, 19 Jun 2008 22:00:00 +0002 - -citadel (7.36-38) stable; urgency=low - * fix tyny upgrade bug - -- Wilfried Goesgens Sat, 31 May 2008 10:00:00 +0002 - -citadel (7.36-38) stable; urgency=low - * fix tiny mime header typo - -- Wilfried Goesgens Fri, 30 May 2008 22:00:00 +0002 -citadel (7.36-37) stable; urgency=low - * new upstream version - -- Wilfried Goesgens Fri, 30 May 2008 19:00:00 +0002 - -citadel (7.35-36) stable; urgency=low - * new upstream version - -- Wilfried Goesgens Tue, 22 Apr 2008 19:00:00 +0002 -citadel (7.33-35) stable; urgency=low - * several minor upstream fixes - -- Wilfried Goesgens Mon, 17 Mar 2008 22:37:28 +0001 -citadel (7.33-34) stable; urgency=low - - * adjusted license - - -- Wilfried Goesgens Mon, 3 Mar 2008 22:37:28 +0001 -citadel (7.32-33) stable; urgency=high - - * fix post-install bug with alias migration - * fix bug with local calendar invitations - -- Wilfried Goesgens Wed, 20 Feb 2008 23:37:28 +0001 -citadel (7.32-32) stable; urgency=high - - * fix exec permissions from scripts - - -- Wilfried Goesgens Mon, 18 Feb 2008 09:37:28 +0001 -citadel (7.32-31) stable; urgency=high - - * Emergency update fixing thread mixmax - - -- Wilfried Goesgens Sun, 17 Feb 2008 09:37:28 +0001 -citadel (7.31-30) stable; urgency=high - * fix init script - -- Wilfried Goesgens Tue, 12 Feb 2008 9:00:00 +0001 -citadel (7.31-29) stable; urgency=high - - * implement mimetype logic. - * fix several issues where the new non-public room posting was too strict - - -- Wilfried Goesgens Tue, 12 Feb 2008 0:00:00 +0001 -citadel (7.30-28) stable; urgency=high - - * New citadel version. - - -- Wilfried Goesgens Fri, 1 Feb 2008 10:00:00 +0001 -citadel (7.24-27) stable; urgency=high - - * managesieve permission and auth problems fixed. - - -- Wilfried Goesgens Fri, 4 Jan 2008 16:37:29 +0001 -citadel (7.24-26) stable; urgency=high - - * RSS Aggregator Timestamp fix - - -- Wilfried Goesgens Thu, 13 Dec 2007 17:37:29 +0001 -citadel (7.24-25) stable; urgency=high - - * fixes bug in citadel networking code - -- Wilfried Goesgens Thu, 15 Nov 2007 17:37:29 +0001 - -citadel (7.23-24) stable; urgency=high - - * fix bug in init script. - -- Wilfried Goesgens Tue, 13 Nov 2007 18:57:00 +0001 - -citadel (7.23-23) stable; urgency=high - - * new RSS aggregator; several bugfixes - - -- Wilfried Goesgens Thu, 8 Nov 2007 23:01:21 +0002 -citadel (7.22-22) stable; urgency=high - - * Performance improvements. - - -- Wilfried Goesgens Do, 25 Oct 2007 8:48:00 +0000 - -citadel (7.22-21) stable; urgency=high - - * fixed calculation of network spool filenames - - -- Wilfried Goesgens Sa, 13 Oct 2007 8:48:00 +0000 - -citadel (7.22-20) stable; urgency=high - - * some flaws fixed - * LDAP Code reworked. change in the scheme! - - -- Wilfried Goesgens Fr, 12 Oct 2007 8:48:00 +0000 - -citadel (7.20-19) stable; urgency=high - - * several performance upgrades, source code reorganisations - - -- Wilfried Goesgens Fr, 20 Sep 2007 8:48:00 +0000 - -citadel (7.11-18) stable; urgency=high - - * we don't need to chown chkpwd anymore. - - -- Wilfried Goesgens Sa, 7 Jul 2007 22:10:00 +0000 - -citadel (7.11-17) stable; urgency=high - - * update to actual Citadel SVN. many new features. see Packages changelog. - - -- Wilfried Goesgens Fr, 6 Jul 2007 22:10:00 +0000 - -citadel (7.10-16) stable; urgency=high - - * update to actual Citadel SVN. many new features. see Packages changelog. - - -- Wilfried Goesgens Thu, 19 Apr 2007 22:10:00 +0000 - -citadel (7.09-1) unstable; urgency=low - - * update to actual Citadel SVN. many new features. see Packages changelog. - - -- Wilfried Goesgens Thu, 19 Apr 2007 22:10:00 +0000 - -citadel (7.08-15) unstable; urgency=high - - * fix permission bug - - -- Wilfried Goesgens Fri, 06 Apr 2007 19:07:00 +0000 -citadel (7.07-14) unstable; urgency=low - - * update to actual Citadel SVN. many new features. see Packages changelog. - - -- Wilfried Goesgens Fri, 06 Apr 2007 19:07:00 +0000 -citadel (7.06-13) stable; urgency=high - - * fixed location of key files - - -- Wilfried Goesgens Sun, 1 Apr 2007 11:09:00 +0100 - -citadel (7.06-12) stable; urgency=high - - * updated mime-parser - - -- Wilfried Goesgens Mon, 21 Mar 2007 11:09:00 +0100 -citadel (7.06-11) unstable; urgency=low - - * fixes to the configure script. - - -- Wilfried Goesgens Mon, 19 Mar 2007 12:12:00 +0000 - -citadel (7.06-10) unstable; urgency=low - - * update to actual Citadel SVN. many new features. see Packages changelog. - - -- Wilfried Goesgens Wed, 07 Mar 2007 12:12:00 +0000 - -citadel (7.05-9) stable; urgency=high - - * maintainance release, ical upgrade - - -- Wilfried Goesgens Thu, 1 Mar 2007 21:09:00 +0100 - -citadel (7.05-8) stable; urgency=low - - * Citadel 7.05 release - - -- Art Cancro Thu, 22 Feb 2007 06:12:00 -0500 - -citadel (7.03-7) unstable; urgency=high - - * fixup @'s in usernames when doing smtpauth client - * ignore returns from db_input - - -- Wilfried Goesgens Wed, 07 Feb 2007 00:12:00 +0100 - -citadel (7.03-7) unstable; urgency=high - - * fixup in quoted printable decoder - - -- Wilfried Goesgens Wed, 07 Feb 2007 00:12:00 +0100 - -citadel (7.03-6) unstable; urgency=high - - * fixup in quoted printable decoder - - -- Wilfried Goesgens Wed, 07 Feb 2007 00:12:00 +0100 - -citadel (7.03-5) unstable; urgency=low - - * fixed user create bug - - -- Wilfried Goesgens Wed, 07 Feb 2007 00:12:00 +0100 - -citadel (7.03-4) unstable; urgency=low - - * varyous fixes from our valgrind session - - -- Wilfried Goesgens Fri, 05 Jan 2007 00:12:00 +0100 - -citadel (7.03-3) unstable; urgency=low - - * create user without error messages in citadel-common - * ask our questions on login. - - -- Wilfried Goesgens Fri, 05 Jan 2007 00:12:00 +0100 - -citadel (7.03-2) unstable; urgency=low - - * corrected locating chkpwd - * added missing files to citadel-common - - -- Wilfried Goesgens Fri, 05 Jan 2007 00:12:00 +0100 - -citadel (7.03-1) unstable; urgency=low - - * update to actual Citadel SVN. many new features. see Packages changelog. - * Add welcome mail on fresh citadel install - * Fix configure-stamp token - - -- Wilfried Goesgens Fri, 05 Jan 2007 00:12:00 +0100 - -citadel (7.02-2) unstable; urgency=low - - * Initial Debian release - * Removed useless files: - * citadel-client.examples - * citadel-doc.docs - * citadel-mta.postrm - * citadel-server.1.manpage - * citadel-server.examples - * citadel-server.postrm.debhelper - * files_preview - * README.Debian - * citadel-client.install: merged with citadel-client.examples - * citadel-client.postinst: - * clean up - * remove ucf mechanisms - * add debhelper token - * citadel-doc.install : merged with citadel-doc.docs - * citadel-mta.postinst: - * clean up - * add debhelper token - * citadel-server.dirs: - * clean up - * add var/lib/citadel/data and var/run/citadel dir - * move help and messages to /etc/citadel - * citadel-server.install: merged with citadel-server.examples - * citadel-server.postinst: - * clean up - * remove mkdir call as we create them with citadel-server.dirs - * remove loops as we don't use ucf here anymore - * add debhelper token - * citadel-server.postrm: - * clean up - * remove ucf - * add debhelper token - * citadel-server.prerm: - * clean up - * use invoke-rc.d - * add debhelper token - * citadel-server.templates: add po support - * control: - * priority set to extra instead optional - * add myself in uploaders - * add po-debconf to Build-Depends - * bump Standards-Version to 3.7.2 - * remove useless pre-depends on debconf - * rewrite descriptions - * add Replaces: mail-transport-agent to citadel-mta package - * copyright: complete rewrite - * docs: clean up - * rules: - * add explicit zlib extra configure option - * exclude citadel.rc, intro, nice, summary from compression - - -- Fathi Boudra Fri, 29 Dec 2006 16:24:48 +0100 - -citadel (7.02-1) unstable; urgency=low - - * update to actual Citadel SVN. many new features. see Packages changelog. - - -- Wilfried Goesgens Thu, 28 Dec 2006 22:10:00 +0100 - -citadel (7.01-1) stable; urgency=low - - * we can now configure logintype on installation time. - - -- Wilfried Goesgens Thu, 21 Dec 2006 22:10:00 +0100 - -citadel (7.00-1) unstable; urgency=low - - * update to actual Citadel CVS. many new features. see Packages changelog. - - -- Wilfried Goesgens Sat, 16 Dec 2006 01:01:00 +0100 - -citadel (6.84-1) unstable; urgency=low - - * update to actual Citadel CVS. many new features. see Packages changelog. - - -- Wilfried Goesgens Thu, 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. - - -- Wilfried Goesgens Thu, 22 Jun 2006 20:08:00 +0200 - -citadel (6.71-1) unstable; urgency=low - - * update to actual Citadel CVS. many new features. see Packages changelog. - - -- Wilfried Goesgens Sat, 21 Jan 2006 19:07:00 +0100 - -citadel (6.70-1) unstable; urgency=low - - * update to actual Citadel CVS. many new features. see Packages changelog. - - -- Wilfried Goesgens Sun, 15 Jan 2006 15:03:00 +0100 - -citadel (6.63-1) unstable; urgency=low - - * update to actual Citadel CVS. many new features. see Packages changelog. - - -- Wilfried Goesgens Mon, 12 Dec 2005 11:11:00 +0100 - -citadel (6.62-1) unstable; urgency=low - - * update to actual Citadel CVS. many new features. see Packages changelog. - - -- Wilfried Goesgens Fri, 18 Nov 2005 16:04:00 +0100 - -citadel (6.61-2) unstable; urgency=low - - * update to actual Citadel CVS. many new features. see Packages changelog. - - -- Wilfried Goesgens Tue, 01 Nov 2005 12:23:15 +0200 - -citadel (6.53-1) unstable; urgency=low - - * Initial release - - -- Wilfried Goesgens Sat, 23 Jul 2005 12:23:15 +0200 - diff --git a/citadel/debian/citadel-common.dirs b/citadel/debian/citadel-common.dirs deleted file mode 100644 index 71076491e..000000000 --- a/citadel/debian/citadel-common.dirs +++ /dev/null @@ -1,2 +0,0 @@ -etc/citadel -var/lib/citadel diff --git a/citadel/debian/citadel-common.postinst b/citadel/debian/citadel-common.postinst deleted file mode 100644 index 06531833f..000000000 --- a/citadel/debian/citadel-common.postinst +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# postinst script for citadel-server -set -e - -# source debconf stuff -. /usr/share/debconf/confmodule -db_version 2.0 - -case "$1" in - configure) - if ! getent group citadel >/dev/null; then - addgroup --system citadel - fi - - if ! getent passwd citadel >/dev/null; then - adduser --system --ingroup citadel --home /var/lib/citadel \ - --gecos "Citadel system user" --shell /bin/sh \ - --disabled-password --no-create-home --shell /bin/false citadel - fi - - chown -R citadel:citadel /etc/citadel - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/citadel/debian/citadel-doc.install b/citadel/debian/citadel-doc.install deleted file mode 100644 index 458513d52..000000000 --- a/citadel/debian/citadel-doc.install +++ /dev/null @@ -1,5 +0,0 @@ -usr/share/doc/citadel-doc/docs -usr/share/doc/citadel-doc/techdoc -usr/share/doc/citadel-doc/citadel.schema -usr/share/doc/citadel-doc/rfc2739.schema -usr/share/doc/citadel-doc/README.txt diff --git a/citadel/debian/citadel-mta.install b/citadel/debian/citadel-mta.install deleted file mode 100644 index 430a0e8fc..000000000 --- a/citadel/debian/citadel-mta.install +++ /dev/null @@ -1 +0,0 @@ -usr/sbin/sendmail diff --git a/citadel/debian/citadel-mta.postinst b/citadel/debian/citadel-mta.postinst deleted file mode 100644 index e8978e44d..000000000 --- a/citadel/debian/citadel-mta.postinst +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# postinst script for citadel-mta - -set -e - -case "$1" in - configure) - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/citadel/debian/citadel-server.1.manpage b/citadel/debian/citadel-server.1.manpage deleted file mode 100644 index d81daf515..000000000 --- a/citadel/debian/citadel-server.1.manpage +++ /dev/null @@ -1,68 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.\" First parameter, NAME, should be all caps -.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection -.\" other parameters are allowed: see man(7), man(1) -.TH CITADEL SECTION "July 23, 2005" -.\" Please adjust this date whenever revising the manpage. -.\" -.\" Some roff macros, for reference: -.\" .nh disable hyphenation -.\" .hy enable hyphenation -.\" .ad l left justify -.\" .ad b justify to both left and right margins -.\" .nf disable filling -.\" .fi enable filling -.\" .br insert line break -.\" .sp insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -citadel \- The favorite BBS System grown up to a fullfeatured Groupware -.SH SYNOPSIS -.B citadel -.RI [ options ] " files" ... -.br -.B bar -.RI [ options ] " files" ... -.SH DESCRIPTION -For more information see the citadel-doc package, www.citadel.org, or -for post configuring your citadel server, use citadel-webcit with your -browser, log in as the user you specified at the debconf prompt, and -review the Points under the Administration menu. -.B citadel -and -.B bar -commands. -.PP -.\" TeX users may be more comfortable with the \fB\fP and -.\" \fI\fP escape sequences to invode bold face and italics, -.\" respectively. -\fBcitadel\fP is a program that... -.SH OPTIONS -These programs follow the usual GNU command line syntax, with long -options starting with two dashes (`-'). -A summary of options is included below. -For a complete description, see the documentation under /usr/share/doc. -If you have further issues, please consult the documentation at http://citadel.org -or log in to -https://uncensored.citadel.org. In 'The Home of Citadel' floor; -For issues concerning the Debian Packages, see the Citadel packages room, -For issues concerning citadel itself see the Citadel/UX room. -Feel welcome to join the discussion. -.TP -.B \-h, \-\-help -Show summary of options. -.TP -.B \-v, \-\-version -Show version of program. -.SH SEE ALSO -.BR bar (1), -.BR baz (1). -.br -The programs are documented fully by -.IR "The Rise and Fall of a Fooish Bar" , -available via the Info system. -.SH AUTHOR -citadel was written by . -.PP -This manual page was written by Wilfried Goesgens -for the Debian project (but may be used by others). diff --git a/citadel/debian/citadel-server.config b/citadel/debian/citadel-server.config deleted file mode 100755 index c095a4881..000000000 --- a/citadel/debian/citadel-server.config +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/sh -set -e - -# source debconf stuff -. /usr/share/debconf/confmodule -db_version 2.0 - -db_capb backup - -DO_CONFIGURE=no - -if test -n "$2"; then -# do we want to reconfigure? - if test "`echo $2 | sed -e 's/[.-]//g' -e 's;ubuntu;;'`" -lt 127 \ - -o "$1" = reconfigure - then - DO_CONFIGURE=yes - fi -else -# are we in first install? - if test "$1" = "configure"; then - DO_CONFIGURE=yes - fi -fi - - -if test "$DO_CONFIGURE" = "yes"; then - STATE=1 - LASTSTATE=8 - while [ "$STATE" != 0 -a "$STATE" -le "$LASTSTATE" ]; do - - case "$STATE" in - 1) - db_input high citadel/ServerIPAddress || true - ;; - 2) - db_input high citadel/Administrator || true - ;; - 3) - db_input high citadel/LoginType || true - db_get citadel/LoginType - case "$RET" in - Internal) - STATE=8 - ;; - Host) - STATE=8 - ;; - esac - ;; - - 4) - db_input citadel/LDAPServer || true - ;; - - 5) - db_input citadel/LDAPServerPort || true - ;; - - 6) - db_input citadel/LDAPBaseDN || true - ;; - - 7) - db_input citadel/LDAPBindDN || true - ;; - - 8) - db_input citadel/LDAPBindDNPassword || true - ;; - - - esac - if db_go; then - STATE=$(($STATE + 1)) - else - STATE=$(($STATE - 1)) - fi - - done - - - if test "$1" = "configure"; then - db_input high citadel/Installnote || true - fi -fi - -exit 0 diff --git a/citadel/debian/citadel-server.dirs b/citadel/debian/citadel-server.dirs deleted file mode 100644 index 26eaed6dc..000000000 --- a/citadel/debian/citadel-server.dirs +++ /dev/null @@ -1,9 +0,0 @@ -usr/share/citadel-server/help -var/lib/citadel/bio -var/lib/citadel/data -var/lib/citadel/files -var/lib/citadel/images -var/lib/citadel/info -var/lib/citadel/userpics -var/run/citadel -var/spool/citadel/network/spoolin diff --git a/citadel/debian/citadel-server.install b/citadel/debian/citadel-server.install deleted file mode 100644 index 076198af9..000000000 --- a/citadel/debian/citadel-server.install +++ /dev/null @@ -1,19 +0,0 @@ -etc/citadel/mail.aliases -usr/share/citadel-server/help -etc/citadel/messages -usr/lib/citadel-server/ctdlmigrate -usr/lib/citadel-server/setup -usr/lib/citadel-server/base64 -usr/lib/citadel-server/chkpwd -usr/lib/citadel-server/chkpw -usr/lib/citadel-server/citserver.unstripped -usr/lib/citadel-server/aidepost -usr/sbin/citmail -usr/lib/citadel-server/msgform -usr/sbin/citserver -usr/sbin/sendcommand - -usr/share/doc/citadel-server/examples/database_cleanup.sh -usr/share/doc/citadel-server/welcomemail.html -usr/share/doc/citadel-server/welcomemail.txt -usr/share/locale diff --git a/citadel/debian/citadel-server.postinst b/citadel/debian/citadel-server.postinst deleted file mode 100644 index b07a655f5..000000000 --- a/citadel/debian/citadel-server.postinst +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/sh -# postinst script for citadel-server - -set -e - -# source debconf stuff -. /usr/share/debconf/confmodule -db_version 2.0 - -move_file() -{ - [ ! -f $1 ] && return - [ -f $2 ] && return - mv -f $1 $2 -} - -case "$1" in - configure) - chown -R citadel:citadel /etc/citadel - chown -R citadel:citadel /var/lib/citadel /var/spool/citadel - move_file /var/run/refcount_adjustments.dat /etc/citadel/data/refcount_adjustments.dat - move_file /etc/citadel/citadel.control /var/lib/citadel/data/citadel.control - move_file /etc/citadel/citadel.config /var/lib/citadel/data/citadel.config - invoke-rc.d citadel start - - db_get citadel/Administrator && admin="$RET" - db_get citadel/ServerIPAddress && ip_addr="$RET" - db_get citadel/LoginType && ENABLE_UNIX_AUTH="$RET"; export ENABLE_UNIX_AUTH - db_get citadel/LDAPServer && LDAP_HOST="$RET"; export LDAP_HOST - db_get citadel/LDAPServerPort && LDAP_PORT="$RET"; export LDAP_PORT - db_get citadel/LDAPBaseDN && LDAP_BASE_DN="$RET"; export LDAP_BASE_DN - db_get citadel/LDAPBindDN && LDAP_BIND_DN="$RET"; export LDAP_BIND_DN - db_get citadel/LDAPBindDNPassword && LDAP_BIND_PW="$RET"; export LDAP_BIND_PW - - - export IP_ADDR=$ip_addr - export CITADEL='/var/run/citadel' - export CITADEL_PORT=504 - export CITADEL_INSTALLER=yes - export CITADEL_UID=`grep ^citadel: /etc/passwd | cut -d : -f 3` - export ACT_AS_MTA=no - export SYSADMIN_NAME=$admin - export CREATE_XINETD_ENTRY=no - export CREATE_INITTAB_ENTRY=no - export NO_INIT_SCRIPTS=yes - - while test ! -S /var/run/citadel/citadel-admin.socket; do - sleep 1 - echo -n : - done - - echo -n "applying your settings.... " - /usr/lib/citadel-server/setup -q - echo "done" - # this is a new installation - if test -z "$2"; then - i=0; - while test ! -S /var/run/citadel/lmtp.socket -a "$i" -lt "10"; do - sleep 1 - i=$(($i + 1)) - done - if test -S /var/run/citadel/lmtp.socket ; then - echo "sending welcome mail" - export SEPERATOR=2600908b3f21ae7f692b973ed26e212d - export WELCOMEHTML=/usr/share/doc/citadel-server/welcomemail.html - export WELCOMETXT=/usr/share/doc/citadel-server/welcomemail.txt - export FROM=nobody@example.com - export TO=room_lobby - ( - printf "MIME-Version: 1.0\r\nContent-Type: multipart/alternative; \r\n boundary=$SEPERATOR\r\n\r\nThis is a multi-part message in MIME format.\r\n\r\n--$SEPERATOR\r\nContent-Type: text/plain; charset=utf-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n"; - cat $WELCOMETXT - printf "\r\n\r\n--$SEPERATOR\r\nContent-Type: text/html; charset=US-ASCII\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n" - cat $WELCOMEHTML; - printf "\r\n\r\n--$SEPERATOR--\r\n\r\n") | \ - /usr/sbin/citmail -bm -r "$FROM" "$TO" - fi - fi - - db_stop - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/citadel/debian/citadel-server.postrm b/citadel/debian/citadel-server.postrm deleted file mode 100644 index 5ea63e5cb..000000000 --- a/citadel/debian/citadel-server.postrm +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# postrm script for citadel-server - -set -e - -# source debconf stuff -. /usr/share/debconf/confmodule -db_version 2.0 - -case "$1" in - purge) - echo "/var/lib/citadel/data not removed, as it may contain your personal data." - ;; - - remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) - ;; - - *) - echo "postrm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/citadel/debian/citadel-server.prerm b/citadel/debian/citadel-server.prerm deleted file mode 100644 index ef7056e6c..000000000 --- a/citadel/debian/citadel-server.prerm +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# prerm script for citadel-server - -set -e - -case "$1" in - remove|upgrade|deconfigure) - ;; - - failed-upgrade) - ;; - - *) - echo "prerm called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/citadel/debian/citadel-server.templates b/citadel/debian/citadel-server.templates deleted file mode 100644 index cb5fe15f3..000000000 --- a/citadel/debian/citadel-server.templates +++ /dev/null @@ -1,77 +0,0 @@ -Template: citadel/ServerIPAddress -Type: string -Default: 0.0.0.0 -_Description: Listening address for the Citadel server: - Please specify the IP address which the server should be listening to. If you - specify 0.0.0.0, the server will listen on all addresses. - . - This can usually be left to the default unless multiple instances - of Citadel are running on the same computer. - -Template: citadel/LoginType -Type: select -_Choices: Internal, Host, LDAP, Active Directory -Default: Internal -_Description: Enable external authentication mode? - Please choose the user authentication mode. By default Citadel will - use its own internal user accounts database. If you choose Host, - Citadel users will have accounts on the host system, - authenticated via /etc/passwd or a PAM source. - LDAP chooses an RFC 2307 compliant directory server, - the last option chooses the nonstandard MS Active Directory LDAP scheme. - . - Do not change this option unless you are sure it is required, since - changing back requires a full reinstall of Citadel. - - -Template: citadel/LDAPServer -Type: string -Default: 0.0.0.0 -_Description: LDAP host - Please enter the host name or IP address of your LDAP server. - -Template: citadel/LDAPServerPort -Type: integer -Default: 389 -_Description: LDAP port number - Please enter the port number of the LDAP service (usually 389). - -Template: citadel/LDAPBaseDN -Type: string -Default: dc=example,dc=com -_Description: LDAP base DN - Please enter the Base DN to search for authentication - (for example: dc=example,dc=com), - -Template: citadel/LDAPBindDN -Type: string -Default: -_Description: LDAP bind DN - Please enter the DN of an account to use for binding to the LDAP server - for performing queries. The account does not require any other - privileges. If your LDAP server allows anonymous queries, you can. - leave this blank. - -Template: citadel/LDAPBindDNPassword -Type: string -Default: OpenSesame -_Description: LDAP bind password - If you entered a Bind DN in the previous question, you must now enter - the password associated with that account. Otherwise, you can leave this - blank. - -Template: citadel/Administrator -Type: string -Default: Administrator -_Description: Citadel administrator username: - Please enter the name of the Citadel user account that should be granted - administrative privileges once created. - -Template: citadel/Installnote -Type: note -_Description: Citadel/UX - For post configuring your Citadel Server, use citadel-webcit with your - browser, log in as the user you specified as the Administrator, and - review the Points under the Administration menu. If you have further - questions review www.citadel.org, specialy the FAQ and Documentation - section. diff --git a/citadel/debian/citadel.init b/citadel/debian/citadel.init deleted file mode 100644 index 7fb213df9..000000000 --- a/citadel/debian/citadel.init +++ /dev/null @@ -1,178 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: citadel -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: control citadel server start at boot time -# Description: control citadel server start at boot time -### END INIT INFO - -# uncomment this to create coredumps as described in -# http://www.citadel.org/doku.php/faq:mastering_your_os:gdb#how.do.i.make.my.system.produce.core-files -# ulimit -c unlimited - -# Author: Wilfried Goesgens - -RUNDIR=/var/run/citadel -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="Citadel Groupware " -NAME=citserver -DAEMON=/usr/sbin/$NAME -PIDFILE=$RUNDIR/citadel.pid -DAEMON_ARGS=" -d -lmail -t/dev/null" -SCRIPTNAME=/etc/init.d/citadel -SENDCOMMAND=/usr/sbin/sendcommand - -# Exit if the package is not installed -[ -x "$DAEMON" ] || { echo "$DAEMON not installed"; exit 1; } - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -MODERN= - -# Load the VERBOSE setting and other rcS variables -if test -f /lib/init/vars.sh ; then - . /lib/init/vars.sh - MODERN=1 -fi -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. -if test -f /lib/lsb/init-functions; then - . /lib/lsb/init-functions - MODERN=1 -fi - -# -# Function that starts the daemon/service -# -do_start() -{ - # check our volatile dirs. - if test ! -d $RUNDIR; then - mkdir -p $RUNDIR - chmod go+rx $RUNDIR - fi - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - if $DAEMON \ - $DAEMON_ARGS ; then - return 0 - else - return 2 - fi -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - if test -S $RUNDIR/citadel.socket; then - sendcommand "DOWN" || : - fi - - PID=`cat $PIDFILE 2>/dev/null || :` - if [ ! -z $PID ]; then - rm -f $PIDFILE - count=0; - while test -S /var/run/citadel/citadel.socket -o -d /proc/$PID; do - count=$(($count+1)) - sleep 1 - echo -n "." - if test "$count" = "10"; then - kill $PID - fi - if test "$count" = "20"; then - kill -9 $PID - rm -rf /var/run/citadel/* - fi - done - return 0 - fi - - return 0 -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - # Return - # 0 if daemon could not be restarted - # 1 if daemon has been restarted - # other if a failure occurred - if $SENDCOMMAND "DOWN 1" 2>&1|grep '200 Restarting'>/dev/null ; then - return 1 - fi - return 0 -} - -case "$1" in - start) - if test -n "$MODERN"; then - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" - else - echo "Starting $DESC" "$NAME" - fi - - do_start - if test -n "$MODERN"; then - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - fi - ;; - stop) - if test -n "$MODERN"; then - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - else - echo "Stopping $DESC" "$NAME" - fi - do_stop - if test -n "$MODERN"; then - [ "$VERBOSE" != no ] && log_end_msg 0 - fi - ;; - restart) - $0 stop - $0 start - ;; - force-reload) - if test -n "$MODERN"; then - log_daemon_msg "Restarting $DESC" "$NAME" - else - echo "Restarting $DESC" "$NAME" - fi - - do_reload - - if test -n "$MODERN"; then - case "$?" in - 0) - log_end_msg 0 - ;; - 1) - # Failed to stop - log_end_msg 1 - ;; - esac - fi - ;; - - status) - status_of_proc "$DAEMON" $NAME - ;; - - *) - echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 - exit 3 - ;; -esac - -exit 0 diff --git a/citadel/debian/compat b/citadel/debian/compat deleted file mode 100644 index b8626c4cf..000000000 --- a/citadel/debian/compat +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/citadel/debian/control b/citadel/debian/control deleted file mode 100644 index 26babfc13..000000000 --- a/citadel/debian/control +++ /dev/null @@ -1,101 +0,0 @@ -Source: citadel -Section: mail -Priority: extra -Maintainer: Wilfried Goesgens -Build-Depends: debhelper (>= 4), po-debconf, bison, autotools-dev, - libdb-dev, libical2-dev, libldap2-dev, gettext, locales, - libpam0g-dev, libsieve2-dev, libssl-dev, libexpat1-dev, libcitadel-dev (> 8.13), - libcurl4-openssl-dev | libcurl3-openssl-dev, zlib1g-dev, -Standards-Version: 3.8.0 - -Package: citadel-server -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, citadel-common, openssl, locales, patch -Recommends: db5-util, shared-mime-info -Suggests: postfix | exim4 | citadel-mta | mail-transport-agent, localepurge -Conflicts: pop3-server, imap-server -Provides: pop3-server, imap-server -Description: complete and feature-rich groupware server - Citadel is a complete and feature-rich open source groupware platform. - * Email, calendaring/scheduling, address books - * Bulletin boards, mailing list server, instant messaging - * Multiple domain support - * An intuitive, attractive dynamic web interface - . - The Citadel system is extremely versatile. It provides numerous front ends to - present to users, such as a text-based interface, a dynamic web interface, - and many popular PIM clients using SMTP/POP/IMAP. All of these can be used - simultaneously. - . - It's also extremely scalable. Not only can a well-equipped Citadel server - support a large number of concurrent users, but you can also build - a distributed network of Citadel nodes that share rooms and their content. - -Package: citadel-suite -Architecture: all -Depends: citadel-common, citadel-server, citadel-mta, citadel-webcit, citadel-client, ${misc:Depends} -Description: complete and feature-rich groupware server; metapackage for full installation - Citadel is a complete and feature-rich open source groupware platform. - * Email, calendaring/scheduling, address books - * Bulletin boards, mailing list server, instant messaging - * Multiple domain support - * An intuitive, attractive dynamic web interface - . - The Citadel system is extremely versatile. It provides numerous front ends to - present to users, such as a text-based interface, a dynamic web interface, - and many popular PIM clients using SMTP/POP/IMAP. All of these can be used - simultaneously. - . - It's also extremely scalable. Not only can a well-equipped Citadel server - support a large number of concurrent users, but you can also build - a distributed network of Citadel nodes that share rooms and their content. - -Package: citadel-common -Architecture: all -Depends: adduser, ${misc:Depends} -Description: complete and feature-rich groupware server - Citadel is a complete and feature-rich open source groupware platform. - * Email, calendaring/scheduling, address books - * Bulletin boards, mailing list server, instant messaging - * Multiple domain support - * An intuitive, attractive dynamic web interface - . - This package contains the common files. - -Package: citadel-mta -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, citadel-server, citadel-common -Conflicts: mail-transport-agent -Provides: mail-transport-agent -Replaces: mail-transport-agent -Description: complete and feature-rich groupware server (mail transport agent) - This package contains the mail transport agent component for Citadel, - a complete and feature-rich open source groupware platform. - . - See the 'citadel-server' package for more informations. - -Package: citadel-doc -Section: doc -Architecture: all -Depends: ${misc:Depends} -Description: complete and feature-rich groupware server (documentation) - This package contains documentation for Citadel, a complete and feature-rich - open source groupware platform. - . - See the 'citadel-server' package for more informations. - -Package: citadel-dbg -Section: devel -Priority: extra -Architecture: any -Depends: ${misc:Depends}, - citadel-server (= ${binary:Version}), - citadel-mta (= ${binary:Version}), -Description: complete and feature-rich groupware server - debugging symbols - Citadel is a complete and feature-rich open source groupware platform. - * Email, calendaring/scheduling, address books - * Bulletin boards, mailing list server, instant messaging - * Multiple domain support - * An intuitive, attractive dynamic web interface - . - This package provides the debugging symbols for the Citadel server. diff --git a/citadel/debian/copyright b/citadel/debian/copyright deleted file mode 100644 index 6eaba852c..000000000 --- a/citadel/debian/copyright +++ /dev/null @@ -1,131 +0,0 @@ -This package was debianized by Fathi Boudra on -Wed, 27 Dec 2006 17:30:35 +0100. - -It was downloaded from http://www.citadel.org - -Upstream Authors (the citadel development team): - Clint Adams - Steven M. Bellovin - Nathan Bryant - Art Cancro - Brian Costello - Nick Georbit - David Given - Wilfried Goesgens - Michael Hampton - Andru Luvisi - Daniel Malament - Stu Mark - Edward S. Marshall - Ben Mehlman - Matt Pfleger - Ari Samson - Trey Van Riper - John Walker - Steve Williams - Ethan Young - -Copyright: (C) 1987-2006 Citadel development team - -Copyright for CRC16: (C) 2002-2003 Indigo Systems Corporation - -Copyright for MD5 implementation: (C) 1993 Colin Plumb - -Copyright for RFC 2739 openldap schema: - (C) 2000 The Internet Society - (C) 2004 Martin Konold - (C) 2006 Art Cancro - -CRC16 license: - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the Indigo Systems Corporation nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - THE POSSIBILITY OF SUCH DAMAGE. - -MD5 license: - - This code was written by Colin Plumb in 1993, no copyright is claimed. - This code is in the public domain; do with it what you wish. - -RFC 2739 openldap schema license: - - This document and translations of it may be copied and furnished to - others, and derivative works that comment on or otherwise explain it - or assist in its implementation may be prepared, copied, published - and distributed, in whole or in part, without restriction of any - kind, provided that the above copyright notice and this paragraph are - included on all such copies and derivative works. However, this - document itself may not be modified in any way, such as by removing - the copyright notice or references to the Internet Society or other - Internet organizations, except as needed for the purpose of - developing Internet standards in which case the procedures for - copyrights defined in the Internet Standards process must be - followed, or as required to translate it into languages other than - English. - - The limited permissions granted above are perpetual and will not be - revoked by the Internet Society or its successors or assigns. - - This document and the information contained herein is provided on an - "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING - TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION - HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -citadel license: - - This package is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This package is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -* In addition, as a special exception, the copyright holders give -* permission to link the code of portions of this program with the -* OpenSSL library under certain conditions as described in each -* individual source file, and distribute linked combinations -* including the two. -* You must obey the GNU General Public License in all respects -* for all of the code used other than OpenSSL. If you modify -* file(s) with this exception, you may extend this exception to your -* version of the file(s), but you are not obligated to do so. If you -* do not wish to do so, delete this exception statement from your -* version. If you delete this exception statement from all source -* files in the program, then also delete it here. - -On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL'. - -The Debian packaging is (C) 2006-2008, Debian Citadel Team and -is licensed under the GPL, see above. diff --git a/citadel/debian/po/POTFILES.in b/citadel/debian/po/POTFILES.in deleted file mode 100644 index 925992cc0..000000000 --- a/citadel/debian/po/POTFILES.in +++ /dev/null @@ -1 +0,0 @@ -[type: gettext/rfc822deb] citadel-server.templates diff --git a/citadel/debian/po/templates.pot b/citadel/debian/po/templates.pot deleted file mode 100644 index ab7eaab62..000000000 --- a/citadel/debian/po/templates.pot +++ /dev/null @@ -1,81 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: citadel@outgesourced.org\n" -"POT-Creation-Date: 2006-12-30 12:33+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: string -#. Description -#: ../citadel-server.templates:1001 -msgid "Listen IP for Citadel" -msgstr "" - -#. Type: string -#. Description -#: ../citadel-server.templates:1001 -msgid "" -" Specify the IP address on which your server will run. If you\n" -" specify 0.0.0.0, Citadel will listen on all addresses.\n" -" You can usually skip this unless you are running multiple\n" -" instances of Citadel on the same computer." -msgstr "" - -#. Type: boolean -#. Description -#: ../citadel-server.templates:2001 -msgid "Enable external Accounting Mode" -msgstr "" - -#. Type: boolean -#. Description -#: ../citadel-server.templates:2001 -msgid "" -" Do you want to use Host based authentication or Citadel internal?\n" -" Host based accounting could be /etc/passwd or an LDAP directory.\n" -" WARNING: do not change this setting once your system is installed.\n" -" Answer \"no\" unless you completely understand this option." -msgstr "" - -#. Type: string -#. Description -#: ../citadel-server.templates:3001 -msgid "Citadel Administrator" -msgstr "" - -#. Type: string -#. Description -#: ../citadel-server.templates:3001 -msgid "" -" Enter the name of the Citadeladministrator (which is probably\n" -" you). When an account is created with this name, it will\n" -" automatically be given administrator-level access." -msgstr "" - -#. Type: note -#. Description -#: ../citadel-server.templates:4001 -msgid "Citadel/UX" -msgstr "" - -#. Type: note -#. Description -#: ../citadel-server.templates:4001 -msgid "" -" For post configuring your Citadel Server, use citadel-webcit with your\n" -" browser, log in as the user you specified as the Administrator, and\n" -" review the Points under the Administration menu. If you have further\n" -" questions review www.citadel.org, specialy the FAQ and Documentation\n" -" section." -msgstr "" diff --git a/citadel/debian/rules b/citadel/debian/rules deleted file mode 100755 index 431f8985a..000000000 --- a/citadel/debian/rules +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This has to be exported to make some magic below work. -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -export DH_OPTIONS - -DEB_DESTDIR = $(CURDIR)/debian/tmp - -CFLAGS = -Wall -g -Werror=format-security - -COMPILER= -EXTRA_ARGS= -PROFILE_ARGS= -#to enable debugging: export DEB_BUILD_OPTIONS="debug profiling threadoff rss gcov clang cares" -ifneq (,$(findstring clang,$(DEB_BUILD_OPTIONS))) - COMPILER="clang" -endif -ifneq (,$(findstring profiling,$(DEB_BUILD_OPTIONS))) - PROFILE_ARGS= --with-gprof -endif - -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -ggdb -rdynamic -D_GNU_SOURCE -MD -MP -D TECH_PREVIEW -Wcast-align - LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed - EXTRA_ARGS = --with-backtrace - ifneq (,$(findstring event,$(DEB_BUILD_OPTIONS))) - EXTRA_ARGS = --with-backtrace --with-experimental_eventsmtp - endif -else - LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed - CFLAGS += -O2 -endif - -ifneq (,$(findstring backtrace,$(DEB_BUILD_OPTIONS))) - CFLAGS+= -rdynamic -D_GNU_SOURCE -MD -MP - LDFLAGS+=-Wl,--no-undefined -Wl,--as-needed - EXTRA_ARGS += --with-backtrace -endif - -ifneq (,$(findstring threadoff,$(DEB_BUILD_OPTIONS))) - THREAD_ARGS=--without-threaded-client - CFLAGS += -D WITH_THREADLOG -else - THREAD_ARGS= -endif - - -ifneq (,$(findstring rss,$(DEB_BUILD_OPTIONS))) - CFLAGS += -D DEBUG_RSS -endif - -ifneq (,$(findstring cares,$(DEB_BUILD_OPTIONS))) - CFLAGS += -D DEBUG_CARES -endif - -ifneq (,$(findstring iodbg,$(DEB_BUILD_OPTIONS))) - CFLAGS += -D BIGBAD_IODBG -D LDAP_INITIALIZE -endif - -ifneq (,$(findstring gcov,$(DEB_BUILD_OPTIONS))) - CFLAGS += -fprofile-arcs -ftest-coverage - LDFLAGS += -fprofile-arcs -ftest-coverage -endif - -configure: configure-stamp -configure-stamp: - dh_testdir - - export CC=$(COMPILER); export LDFLAGS="$(LDFLAGS)"; export CFLAGS="$(CFLAGS)"; ./configure \ - --prefix=/var/lib/citadel/ \ - --with-datadir=/var/lib/citadel/ \ - --with-helpdir=/usr/share/citadel-server/ \ - --with-staticdatadir=/etc/citadel/ \ - --with-spooldir=/var/spool/citadel/ \ - --with-sysconfdir=/etc/citadel/ \ - --with-rundir=/var/run/citadel/ \ - --with-docdir=/usr/share/doc/citadel-doc/ \ - --with-ssldir=/etc/ssl/citadel/ \ - --with-utility-bindir=/usr/lib/citadel-server/ \ - --with-autosysconfdir=/var/lib/citadel/data/ \ - --with-localedir=/usr/share/ \ - --with-pam \ - --with-db \ - --enable-debug $(EXTRA_ARGS) $(PROFILE_ARGS) $(THREAD_ARGS) - - touch configure-stamp - -#Architecture -build: build-arch build-indep - -build-arch: build-arch-stamp -build-arch-stamp: configure-stamp - - $(MAKE) - touch $@ - -build-indep: build-indep-stamp -build-indep-stamp: configure-stamp - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-arch-stamp build-indep-stamp configure-stamp - - - dh_clean - rm -f config.status config.log -#[ ! -f Makefile ] || $(MAKE) distclean - -install: install-indep install-arch -install-indep: build-indep - dh_testdir - dh_testroot - dh_clean -k -i - dh_installdirs -i - - $(MAKE) DESTDIR=$(DEB_DESTDIR) install-doc-new - - dh_install -i --sourcedir=debian/tmp - -install-arch: build-arch - dh_testdir - dh_testroot - dh_clean -k -s - dh_installdirs -s - - $(MAKE) install-locale DESTDIR=$(DEB_DESTDIR) - $(MAKE) DESTDIR=$(DEB_DESTDIR) install-exec-new install-data-new - - install -D -p -m0755 database_cleanup.sh \ - $(DEB_DESTDIR)/usr/share/doc/citadel-server/examples/database_cleanup.sh - - install -D -p -m0644 docs/welcomemail.html \ - $(DEB_DESTDIR)/usr/share/doc/citadel-server/welcomemail.html - - install -D -p -m0644 docs/welcomemail.txt \ - $(DEB_DESTDIR)/usr/share/doc/citadel-server/welcomemail.txt - - dh_install -s --sourcedir=debian/tmp - -binary-common: - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installdebconf - dh_installinit --name=citadel - dh_installman - dh_strip --dbg-package=citadel-dbg - dh_link - dh_compress - dh_fixperms - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -# Build architecture independant packages using the common target. -binary-indep: build-indep install-indep - $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common - -# Build architecture dependant packages using the common target. -binary-arch: build-arch install-arch - $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common - -binary: binary-arch binary-indep -.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure diff --git a/citadel/modules/ctdlproto/serv_user.c b/citadel/modules/ctdlproto/serv_user.c index 73465ab26..437f59633 100644 --- a/citadel/modules/ctdlproto/serv_user.c +++ b/citadel/modules/ctdlproto/serv_user.c @@ -1,7 +1,7 @@ /* * Server functions which perform operations on user objects. * - * Copyright (c) 1987-2019 by the citadel.org team + * Copyright (c) 1987-2020 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, version 3. @@ -741,15 +741,20 @@ void cmd_asea(char *cmdbuf) cprintf("%d Ok\n", SEND_LISTING); while (client_getln(buf, sizeof buf) >= 0 && strcmp(buf, "000")) { - if ( // addresses must be: - (!IsEmptyStr(buf)) // non-empty - && ((strlen(new_emailaddrs) + strlen(buf) + 2) < sizeof(new_emailaddrs)) // fit in the remaining buffer - && (IsDirectory(buf, 0)) // in one of our own domains - && ( // not belong to someone else - (CtdlDirectoryLookup(whodat, buf, sizeof whodat) != 0) - || (!strcasecmp(whodat, requested_user)) - ) - ) { + if (IsEmptyStr(buf)) { + syslog(LOG_ERR, "user_ops: address <%s> is empty - not using", buf); + } + else if ((strlen(new_emailaddrs) + strlen(buf) + 2) > sizeof(new_emailaddrs)) { + syslog(LOG_ERR, "user_ops: address <%s> does not fit in buffer - not using", buf); + } + else if (!IsDirectory(buf, 0)) { + syslog(LOG_ERR, "user_ops: address <%s> is not in one of our domains - not using", buf); + } + else if ( (CtdlDirectoryLookup(whodat, buf, sizeof whodat) == 0) && (CtdlUserCmp(whodat, requested_user)) ) { + syslog(LOG_ERR, "user_ops: address <%s> already belongs to <%s> - not using", buf, whodat); + } + else { + syslog(LOG_DEBUG, "user_ops: address <%s> validated", buf); if (!IsEmptyStr(new_emailaddrs)) { strcat(new_emailaddrs, "|"); } @@ -757,7 +762,6 @@ void cmd_asea(char *cmdbuf) } } - CtdlSetEmailAddressesForUser(requested_user, new_emailaddrs); } diff --git a/citadel/modules/openid/serv_openid_rp.c b/citadel/modules/openid/serv_openid_rp.c index 09fd48e9b..ff7051499 100644 --- a/citadel/modules/openid/serv_openid_rp.c +++ b/citadel/modules/openid/serv_openid_rp.c @@ -1,7 +1,7 @@ /* * This is an implementation of OpenID 2.0 relying party support in stateless mode. * - * Copyright (c) 2007-2019 by the citadel.org team + * Copyright (c) 2007-2020 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 @@ -394,7 +394,6 @@ int openid_create_user_via_ax(StrBuf *claimed_id, HashList *sreg_keys) } syslog(LOG_DEBUG, "openid: the desired account name is <%s>", nickname); - len = cutusername(nickname); if (!CtdlGetUser(&CC->user, nickname)) { syslog(LOG_DEBUG, "openid: <%s> is already taken by another user.", nickname); memset(&CC->user, 0, sizeof(struct ctdluser)); diff --git a/citadel/modules/upgrade/serv_upgrade.c b/citadel/modules/upgrade/serv_upgrade.c index 1d29cfcd1..86e2947f4 100644 --- a/citadel/modules/upgrade/serv_upgrade.c +++ b/citadel/modules/upgrade/serv_upgrade.c @@ -4,7 +4,7 @@ * guesses about what kind of data format changes need to be applied, and * we apply them transparently. * - * Copyright (c) 1987-2019 by the citadel.org team + * Copyright (c) 1987-2020 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 version 3. @@ -84,7 +84,7 @@ void fix_sys_user_name(void) /* Delete any "user 0" accounts */ while (CtdlGetUserByNumber(&usbuf, -1) == 0) { - makeuserkey(usernamekey, usbuf.fullname, cutusername(usbuf.fullname)); + makeuserkey(usernamekey, usbuf.fullname); cdb_delete(CDB_USERS, usernamekey, strlen(usernamekey)); } } diff --git a/citadel/user_ops.c b/citadel/user_ops.c index 0507fc6ba..168f224fb 100644 --- a/citadel/user_ops.c +++ b/citadel/user_ops.c @@ -1,7 +1,7 @@ /* * Server functions which perform operations on user objects. * - * Copyright (c) 1987-2019 by the citadel.org team + * Copyright (c) 1987-2020 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, version 3. @@ -32,35 +32,22 @@ int chkpwd_write_pipe[2]; int chkpwd_read_pipe[2]; -/* - * Trim a string down to the maximum username size and return the new length - */ -long cutusername(char *username) { - long len; - len = strlen(username); - if (len >= USERNAME_SIZE) - { - syslog(LOG_INFO, "Username too long: %s", username); - len = USERNAME_SIZE - 1; - username[len]='\0'; - } - return len; -} - - /* * makeuserkey() - convert a username into the format used as a database key - * (Key format is the username with all non-alphanumeric characters removed, and converted to lower case.) + * "key" must be a buffer of at least USERNAME_SIZE + * (Key format is the username with all non-alphanumeric characters removed, and converted to lower case.) */ -void makeuserkey(char *key, const char *username, long len) { +void makeuserkey(char *key, const char *username) { int i; int keylen = 0; - if (len >= USERNAME_SIZE) { - syslog(LOG_INFO, "Username too long: %s", username); - len = USERNAME_SIZE - 1; + if (IsEmptyStr(username)) { + key[0] = 0; + return; } - for (i=0; i<=len; ++i) { + + int len = strlen(username); + for (i=0; ((i<=len) && (ifullname, cutusername(usbuf->fullname)); + makeuserkey(usernamekey, usbuf->fullname); usbuf->version = REV_LEVEL; cdb_store(CDB_USERS, usernamekey, strlen(usernamekey), usbuf, sizeof(struct ctdluser)); } @@ -162,8 +162,8 @@ int rename_user(char *oldname, char *newname) { char newnamekey[USERNAME_SIZE]; /* Create the database keys... */ - makeuserkey(oldnamekey, oldname, cutusername(oldname)); - makeuserkey(newnamekey, newname, cutusername(newname)); + makeuserkey(oldnamekey, oldname); + makeuserkey(newnamekey, newname); /* Lock up and get going */ begin_critical_section(S_USERS); @@ -207,9 +207,11 @@ int rename_user(char *oldname, char *newname) { * Convert a username into the format used as a database key prior to version 928 * This only gets called by reindex_user_928() */ -void makeuserkey_pre928(char *key, const char *username, long len) { +void makeuserkey_pre928(char *key, const char *username) { int i; + int len = strlen(username); + if (len >= USERNAME_SIZE) { syslog(LOG_INFO, "Username too long: %s", username); len = USERNAME_SIZE - 1; @@ -229,11 +231,10 @@ void reindex_user_928(char *username, void *out_data) { char oldkey[USERNAME_SIZE]; char newkey[USERNAME_SIZE]; struct cdbdata *cdbus; - long len = cutusername(username); struct ctdluser usbuf; - makeuserkey_pre928(oldkey, username, len); - makeuserkey(newkey, username, len); + makeuserkey_pre928(oldkey, username); + makeuserkey(newkey, username); syslog(LOG_DEBUG, "user_ops: reindex_user_928: %s <%s> --> <%s>", username, oldkey, newkey); @@ -699,7 +700,7 @@ void do_login(void) /* Populate the user principal identity, which is consistent and never aliased */ strcpy(CC->cs_principal_id, "wowowowow"); - makeuserkey(CC->cs_principal_id, CC->user.fullname, sizeof CC->user.fullname); + makeuserkey(CC->cs_principal_id, CC->user.fullname); strcat(CC->cs_principal_id, "@"); strcat(CC->cs_principal_id, CtdlGetConfigStr("c_fqdn")); @@ -970,7 +971,7 @@ int purge_user(char pname[]) struct ctdluser usbuf; char usernamekey[USERNAME_SIZE]; - makeuserkey(usernamekey, pname, cutusername(pname)); + makeuserkey(usernamekey, pname); /* If the name is empty we can't find them in the DB any way so just return */ if (IsEmptyStr(pname)) { diff --git a/citadel/user_ops.h b/citadel/user_ops.h index d9dbc2959..2a9c41f30 100644 --- a/citadel/user_ops.h +++ b/citadel/user_ops.h @@ -1,7 +1,7 @@ /* * Header file for server functions which perform operations on user objects. * - * Copyright (c) 1987-2019 by the citadel.org team + * Copyright (c) 1987-2020 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, version 3. @@ -69,8 +69,8 @@ void start_chkpwd_daemon(void); int rename_user(char *oldname, char *newname); void reindex_user_928(char *username, void *out_data); -long cutusername(char *username); -void makeuserkey(char *key, const char *username, long len); +void makeuserkey(char *key, const char *username); +int CtdlUserCmp(char *s1, char *s2); int internal_create_user(char *username, struct ctdluser *usbuf, uid_t uid); #endif -- 2.30.2