+++ /dev/null
-#!/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
/*
* 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.
*/
#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
* 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.
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;
+++ /dev/null
-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/
+++ /dev/null
-
- * 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 <w.goesgens@outgesourced.org>, Thu, 17 May 2007 19:10:39 +0200
+++ /dev/null
-citadel (927-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 19 Dec 2018 16:57:49 -0500
-
-citadel (925-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 19 Dec 2018 16:57:49 -0500
-
-citadel (924-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 19 Dec 2018 16:57:49 -0500
-
-citadel (917-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 03 Jan 2018 16:57:49 -0500
-
-citadel (9.16-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 02 Jan 2018 12:56:30 -0400
-
-citadel (9.15-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 29 Dec 2017 12:56:30 -0400
-
-citadel (9.14-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 26 Dec 2017 12:56:30 -0400
-
-citadel (9.01-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 01 Apr 2015 12:56:30 -0400
-
-citadel (8.29-1) stable; urgency=low
-
- * development prerelease
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Sat, 07 Dec 2013 11:41:23 +0100
-
-citadel (8.21-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 16 Oct 2013 22:00:00 +0001
-
-citadel (8.20-1) stable; urgency=low
-
- * new release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 16 Jul 2013 22:00:00 +0001
-
-citadel (8.13-1) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Mon, 16 Jun 2012 22:00:00 +0001
-
-citadel (8.12-1) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 26 Jun 2012 22:00:00 +0001
-
-citadel (8.11-1) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 16 May 2012 22:00:00 +0001
-
-citadel (8.10-1) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Mon, 5 Dec 2011 22:00:00 +0001
-
-citadel (8.03-1) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Mon, 5 Dec 2011 22:00:00 +0001
-
-citadel (8.02-1) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 11 Nov 2011 22:00:00 +0001
-
-citadel (7.83-91) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 28 Jul 2010 22:00:00 +0001
-
-citadel (7.80-91) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 19 Jul 2010 22:00:00 +0001
-
-citadel (7.72-90) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Wed, 17 Feb 2010 22:00:00 +0001
-
-citadel (7.71-89) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 5 Jan 2010 22:00:00 +0001
-
-citadel (7.70-87) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Mon, 22 Dec 2009 22:00:00 +0001
-
-citadel (7.66-86) stable; urgency=low
-
- * new upstream release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Mon, 28 Sep 2009 18:00:00 +0001
-
-citadel (7.63-84) stable; urgency=low
-
- * some more fixes
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 4 Sep 2009 0:00:00 +0002
-
-citadel (7.63-83) stable; urgency=low
-
- * new upstream release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 1 Sep 2009 8:00:00 +0002
-
-citadel (7.61-81) stable; urgency=low
-
- * new upstream release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> Tue, 28 Aug 2009 8:00:00 +0002
-
-citadel (7.50-73) stable; urgency=low
-
- * release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 17 Mar 2009 8:00:00 +0002
-
-citadel (7.43-72) unstable; urgency=low
-
- * Beta release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 17 Mar 2009 8:00:00 +0002
-
-citadel (7.42-71) unstable; urgency=low
-
- * Beta release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 27 Feb 2009 8:00:00 +0002
-
-citadel (7.41-70) unstable; urgency=low
-
- * Beta release
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 20 Feb 2009 18:00:00 +0002
-
-citadel (7.38-41) stable; urgency=low
-
- * fix setup program
- * several other tiny bugfixes.
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Sun, 21 Sep 2008 18:00:00 +0002
-
-citadel (7.37-39) stable; urgency=low
-
- * new upstream version
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Thu, 19 Jun 2008 22:00:00 +0002
-
-citadel (7.36-38) stable; urgency=low
- * fix tyny upgrade bug
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Sat, 31 May 2008 10:00:00 +0002
-
-citadel (7.36-38) stable; urgency=low
- * fix tiny mime header typo
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 30 May 2008 22:00:00 +0002
-citadel (7.36-37) stable; urgency=low
- * new upstream version
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 30 May 2008 19:00:00 +0002
-
-citadel (7.35-36) stable; urgency=low
- * new upstream version
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 22 Apr 2008 19:00:00 +0002
-citadel (7.33-35) stable; urgency=low
- * several minor upstream fixes
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Mon, 17 Mar 2008 22:37:28 +0001
-citadel (7.33-34) stable; urgency=low
-
- * adjusted license
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> Wed, 20 Feb 2008 23:37:28 +0001
-citadel (7.32-32) stable; urgency=high
-
- * fix exec permissions from scripts
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Mon, 18 Feb 2008 09:37:28 +0001
-citadel (7.32-31) stable; urgency=high
-
- * Emergency update fixing thread mixmax
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Sun, 17 Feb 2008 09:37:28 +0001
-citadel (7.31-30) stable; urgency=high
- * fix init script
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> Tue, 12 Feb 2008 0:00:00 +0001
-citadel (7.30-28) stable; urgency=high
-
- * New citadel version.
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 1 Feb 2008 10:00:00 +0001
-citadel (7.24-27) stable; urgency=high
-
- * managesieve permission and auth problems fixed.
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Fri, 4 Jan 2008 16:37:29 +0001
-citadel (7.24-26) stable; urgency=high
-
- * RSS Aggregator Timestamp fix
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Thu, 13 Dec 2007 17:37:29 +0001
-citadel (7.24-25) stable; urgency=high
-
- * fixes bug in citadel networking code
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Thu, 15 Nov 2007 17:37:29 +0001
-
-citadel (7.23-24) stable; urgency=high
-
- * fix bug in init script.
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Tue, 13 Nov 2007 18:57:00 +0001
-
-citadel (7.23-23) stable; urgency=high
-
- * new RSS aggregator; several bugfixes
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Thu, 8 Nov 2007 23:01:21 +0002
-citadel (7.22-22) stable; urgency=high
-
- * Performance improvements.
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> Do, 25 Oct 2007 8:48:00 +0000
-
-citadel (7.22-21) stable; urgency=high
-
- * fixed calculation of network spool filenames
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> Fr, 12 Oct 2007 8:48:00 +0000
-
-citadel (7.20-19) stable; urgency=high
-
- * several performance upgrades, source code reorganisations
-
- -- Wilfried Goesgens <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> 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 <w.goesgens@outgesourced.org> Thu, 19 Apr 2007 22:10:00 +0000
-
-citadel (7.08-15) unstable; urgency=high
-
- * fix permission bug
-
- -- Wilfried Goesgens <citadel@outgesourced.org> 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 <citadel@outgesourced.org> Fri, 06 Apr 2007 19:07:00 +0000
-citadel (7.06-13) stable; urgency=high
-
- * fixed location of key files
-
- -- Wilfried Goesgens <citadel@outgesourced.org> Sun, 1 Apr 2007 11:09:00 +0100
-
-citadel (7.06-12) stable; urgency=high
-
- * updated mime-parser
-
- -- Wilfried Goesgens <citadel@outgesourced.org> Mon, 21 Mar 2007 11:09:00 +0100
-citadel (7.06-11) unstable; urgency=low
-
- * fixes to the configure script.
-
- -- Wilfried Goesgens <citadel@outgesourced.org> 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 <citadel@outgesourced.org> Wed, 07 Mar 2007 12:12:00 +0000
-
-citadel (7.05-9) stable; urgency=high
-
- * maintainance release, ical upgrade
-
- -- Wilfried Goesgens <citadel@outgesourced.org> Thu, 1 Mar 2007 21:09:00 +0100
-
-citadel (7.05-8) stable; urgency=low
-
- * Citadel 7.05 release
-
- -- Art Cancro <ajc@uncensored.citadel.org> 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 <citadel@outgesourced.org> Wed, 07 Feb 2007 00:12:00 +0100
-
-citadel (7.03-7) unstable; urgency=high
-
- * fixup in quoted printable decoder
-
- -- Wilfried Goesgens <citadel@outgesourced.org> Wed, 07 Feb 2007 00:12:00 +0100
-
-citadel (7.03-6) unstable; urgency=high
-
- * fixup in quoted printable decoder
-
- -- Wilfried Goesgens <citadel@outgesourced.org> Wed, 07 Feb 2007 00:12:00 +0100
-
-citadel (7.03-5) unstable; urgency=low
-
- * fixed user create bug
-
- -- Wilfried Goesgens <citadel@outgesourced.org> Wed, 07 Feb 2007 00:12:00 +0100
-
-citadel (7.03-4) unstable; urgency=low
-
- * varyous fixes from our valgrind session
-
- -- Wilfried Goesgens <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <fboudra@free.fr> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> 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 <citadel@outgesourced.org> Tue, 01 Nov 2005 12:23:15 +0200
-
-citadel (6.53-1) unstable; urgency=low
-
- * Initial release
-
- -- Wilfried Goesgens <citadel@outgesourced.org> Sat, 23 Jul 2005 12:23:15 +0200
-
+++ /dev/null
-etc/citadel
-var/lib/citadel
+++ /dev/null
-#!/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
+++ /dev/null
-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
+++ /dev/null
-usr/sbin/sendmail
+++ /dev/null
-#!/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
+++ /dev/null
-.\" 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 <n> 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<whatever>\fP and
-.\" \fI<whatever>\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 <upstream author>.
-.PP
-This manual page was written by Wilfried Goesgens <dothebart@uncensored.citadel.org>
-for the Debian project (but may be used by others).
+++ /dev/null
-#!/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
+++ /dev/null
-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
+++ /dev/null
-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
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
+++ /dev/null
-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.
+++ /dev/null
-#!/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 <citadel@outgesourced.org>
-
-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
+++ /dev/null
-Source: citadel
-Section: mail
-Priority: extra
-Maintainer: Wilfried Goesgens <w.goesgens@outgesourced.org>
-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.
+++ /dev/null
-This package was debianized by Fathi Boudra <fboudra@free.fr> 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 <martin.konold@erfrakon.de>
- (C) 2006 Art Cancro <ajc@uncensored.citadel.org>
-
-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 <pkg-citadel-devel@lists.alioth.debian.org> and
-is licensed under the GPL, see above.
+++ /dev/null
-[type: gettext/rfc822deb] citadel-server.templates
+++ /dev/null
-# 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 <EMAIL@ADDRESS>, 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 <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\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 ""
+++ /dev/null
-#!/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
/*
* 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.
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, "|");
}
}
}
-
CtdlSetEmailAddressesForUser(requested_user, new_emailaddrs);
}
/*
* 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
}
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));
* 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.
/* 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));
}
}
/*
* 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.
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) && (i<USERNAME_SIZE-1)); ++i) {
if (isalnum((username[i]))) {
key[keylen++] = tolower(username[i]);
}
}
+/*
+ * Compare two usernames to see if they are the same user after being keyed for the database
+ * Usage is identical to strcmp()
+ */
+int CtdlUserCmp(char *s1, char *s2) {
+ char k1[USERNAME_SIZE];
+ char k2[USERNAME_SIZE];
+
+ makeuserkey(k1, s1);
+ makeuserkey(k2, s2);
+ return(strcmp(k1,k2));
+}
+
+
/*
* CtdlGetUser() retrieve named user into supplied buffer.
* returns 0 on success
{
char usernamekey[USERNAME_SIZE];
struct cdbdata *cdbus;
- long len = cutusername(name);
if (usbuf != NULL) {
memset(usbuf, 0, sizeof(struct ctdluser));
}
- makeuserkey(usernamekey, name, len);
+ makeuserkey(usernamekey, name);
cdbus = cdb_fetch(CDB_USERS, usernamekey, strlen(usernamekey));
if (cdbus == NULL) { /* user not found */
{
char usernamekey[USERNAME_SIZE];
- makeuserkey(usernamekey, usbuf->fullname, cutusername(usbuf->fullname));
+ makeuserkey(usernamekey, usbuf->fullname);
usbuf->version = REV_LEVEL;
cdb_store(CDB_USERS, usernamekey, strlen(usernamekey), usbuf, sizeof(struct ctdluser));
}
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);
* 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;
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);
/* 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"));
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)) {
/*
* 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.
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