From: Simon Schubert <2@0x2c.org> Date: Fri, 21 Feb 2014 16:11:52 +0000 (+0100) Subject: drop debian directory, they maintain it themselves X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4b19fd55b066ac3cb2931aa7c555a41bf60532e5;p=people%2Fms%2Fdma.git drop debian directory, they maintain it themselves --- diff --git a/debian/NEWS b/debian/NEWS deleted file mode 100644 index 36ed11a..0000000 --- a/debian/NEWS +++ /dev/null @@ -1,29 +0,0 @@ -dma (0.0.2010.06.17-3) unstable; urgency=low - - The default delivery mode has been changed to immediate, as it is in - the upstream version of dma; the DEFER keyword is now disabled by default - in dma.conf. - - -- Peter Pentchev Tue, 27 Jul 2010 13:26:48 +0300 - -dma (0.0.2010.06.17-1) unstable; urgency=low - - The dma spool directory format has changed. The Debian package of dma now - recommends a separate package containing the dma-migrate utility; if it is - present, it will be invoked at each periodic dma queue flush and attempt to - convert the existing old-style queued messages to the new format. In most - cases, this should not incur any performance penalties in normal operation, - since dma-migrate will scan the spool directory and ignore any new messages - (they should already be in the new format); however, if it appears that - the periodic queue flush runs take longer than usual to start up, you may - remove the dma-migrate package once you have ascertained that your queue - directory (/var/spool/dma) only contains files with names beginning with - the letters M or Q. - - This version of dma knows how to perform MX lookups, so remote delivery is - now possible directly, not through a smarthost. However, a smarthost setup - might still be preferred on many systems for various reasons - e.g. dynamic - address assignment, a central outgoing mailserver, a roaming laptop, etc. - - -- Peter Pentchev Mon, 21 Jun 2010 11:03:57 +0300 - diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 564aaa7..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,12 +0,0 @@ -dma for Debian --------------- - -Smarthost operation by default - needs to be configured! - -After first installing dma, you need to configure it for proper operation - -whether it should deliver all outgoing e-mail messages through a single -smarthost or attempt to contact the remote mail servers directly. This should -be configured through the debconf questions, but you may change the setting -using the SMARTHOST directive in the /etc/dma/dma.conf file. - - -- Simon Schubert <2@0x2c.org> Fri, 29 Oct 2010 00:25:48 +0200 diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index 4d55300..0000000 --- a/debian/changelog +++ /dev/null @@ -1,297 +0,0 @@ -dma (0.9) unstable; urgency=low - - [ Ed Maste ] - * Be explicit about missing user. - * Allow DMA_ROOT_USER & DMA_GROUP to be overridden. - * Add compat #ifdef for older OpenSSL - * Add CONF_DIR, as in Makefile - * More detailed error message for tmp file failure. - - [ Simon Schubert ] - * spool.c: bzero contents of pointer - - -- Simon Schubert <2@0x2c.org> Mon, 03 Jun 2013 15:58:44 +0200 - -dma (0.8) unstable; urgency=low - - [ Gert van den Berg ] - * Added some more documentation on compiling - * Make Makefile and README consistent with INSTALL - - [ Sascha Wildner ] - * dma.8: Fix a few small issues. - - [ Simon Schubert ] - * dma.8: we only have 2 config files at the moment - * Merge pull request #2 from mohag/master - * don't treat -options following -q as argument to it - * deliver_remote: propagate back DNS errors - * don't complain when we can't lock a queue file during flush - * implement queue flushing prod - - -- Simon Schubert <2@0x2c.org> Fri, 30 Mar 2012 12:03:54 +0200 - -dma (0.7) unstable; urgency=low - - [ Simon Schubert ] - * add semicolon before date in Received: header - * parse_conf: fix bug with masqueraded domains - * clear up warnings found by clang static analysis - * mark printf-alike functions - - -- Simon Schubert <2@0x2c.org> Tue, 03 Jan 2012 14:53:43 +0100 - -dma (0.6) unstable; urgency=low - - [ Simon Schubert ] - * deliver_local: quote "From " more liberally - - -- Simon Schubert <2@0x2c.org> Wed, 07 Dec 2011 12:42:22 +0100 - -dma (0.5) unstable; urgency=low - - [ Simon Schubert ] - * implement masquerading using the MASQUERADE config option - * access config files at CONF_PATH, add makefile target to install conf files - * implement the "*" catch-all alias - - -- Simon Schubert <2@0x2c.org> Wed, 16 Nov 2011 13:34:43 +0100 - -dma (0.4) unstable; urgency=low - - [ Simon Schubert ] - * Makefile: put libraries at the end when linking - * LICENSE: add - * Merge commit 'refs/merge-requests/3' of git://gitorious.org/dma/dma - * Merge commit 'refs/merge-requests/4' of git://gitorious.org/dma/dma - * Add symlink for sendmail which is expected by many packages - * Makefile: create spool directories in a separate target - * Makefile: add symlink for mailq - * README: elaborate, use markdown - - [ Peter Pentchev ] - * Fix straight SSL/TLS delivery to remote MX's. - * Fix a minor memory leak discovered by cppcheck. - - -- Simon Schubert <2@0x2c.org> Wed, 16 Nov 2011 00:08:28 +0100 - -dma (0.3) unstable; urgency=low - - [ Simon Schubert ] - * todo: we create mboxes properly now - * dma-mbox-create: group mail only needs to write to mboxes - * errlog: preserve errno - * dma-mbox-create: add error/status logging - * dns_get_mx_list: handle errors properly - - [ Peter Pentchev ] - * Make add_host() really return an error code. - - [ Simon Schubert ] - * readmail: accept mail without newline at the end - - [ Peter Pentchev ] - * In OpenSSL 1.0, TLSv1_client_method() returns a const pointer. - - [ Simon Schubert ] - * make dma compile again on DragonFly - * parse_addrs: fix parsing for multiple - - -- Simon Schubert <2@0x2c.org> Sat, 09 Jul 2011 02:38:05 +0200 - -dma (0.2) unstable; urgency=low - - * Update to dma 0.2 - - debian: better mark as UNRELEASED - - add ppa makefile recipe - - TODO: suggest way to run a queue flush on boot - - partially adopt 34-manpage-defaults.patch: AUTHPATH is not set by default - - Revert "debian: better mark as UNRELEASED" - - setlogident: openlog() wants a static variable - - writequeuef: create files with g+rw - - drop privileges when run by root - - implement mbox creation via setuid helper - - debian: build with consistent flags - - debian: remove unused files - - debian: fix lintian warnings and errors - - make ppa: force lower version number - - make ppa: proper name - - -- Simon Schubert <2@0x2c.org> Sun, 31 Oct 2010 23:57:50 +0100 - -dma (0.1) unstable; urgency=low - - * Update dma to 0.1 - - -- Simon Schubert <2@0x2c.org> Fri, 29 Oct 2010 00:57:26 +0200 - -dma (0.0.2010.06.17-6) unstable; urgency=low - - * Add the 37-gnu-hurd patch to really fix the FTBFS on GNU/Hurd. - * Convert several shell output assignments from = to := - * Switch to bzip2 compression for the Debian tarball. - - -- Peter Pentchev Sun, 17 Oct 2010 00:08:33 +0300 - -dma (0.0.2010.06.17-5) unstable; urgency=low - - * Only use SA_NOCLDWAIT if available to fix the Hurd FTBFS. - - -- Peter Pentchev Thu, 07 Oct 2010 11:42:23 +0300 - -dma (0.0.2010.06.17-4) unstable; urgency=low - - * Fix an infinite loop in dma-migrate if char is unsigned. - Closes: #599172 - * Switch to Git and point the Vcs-* fields to Gitorious. - - -- Peter Pentchev Wed, 06 Oct 2010 17:30:29 +0300 - -dma (0.0.2010.06.17-3) unstable; urgency=low - - * Update the debconf translations: - - French by Steve Petruzzello; Closes: #587883 - * Bump Standards-Version to 3.9.1 with no changes. - * Disable deferred delivery by default, as in the upstream version: - - in the 03-debian-locations patch, comment the DEFER keyword in dma.conf, - as it is upstream - - refresh the 11-double-bounce.patch - - reword the README.Debian section on deferred delivery a bit - - add a news blurb - - -- Peter Pentchev Tue, 27 Jul 2010 13:34:27 +0300 - -dma (0.0.2010.06.17-2) unstable; urgency=low - - * Quick on the heels of -1 to fix a momentary lapse of reason on my part: - in the 03-debian-locations patch, revert part of the 0.0.2010.06.17-1 - change: do not set a un-overrideable default for the deferred delivery! - Closes: #587593 - * Update the debconf translations: - - Japanese by Hideki Yamane; Closes: #587543 - - -- Peter Pentchev Wed, 30 Jun 2010 11:59:46 +0300 - -dma (0.0.2010.06.17-1) unstable; urgency=low - - * New upstream version: - - no longer reports the remote port number; Closes: #544820 - - fixes some queue locking problems; Closes: #582593 - - adapt the rules file to use the GNU Makefile instead of the BSD one - - drop pmake from Build-Depends - - remove the 01-debian-build patch, overtaken by upstream changes - - in the 03-debian-locations patch, make the Debian defaults actual - defaults for the dma binary, not just in the dma.conf file - - adapt the 04-debian-setgid patch for the GNU Makefile - - in the 10-liblockfile patch, change the GNU Makefile, too - - enhance the 11-double-bounce patch a bit: - - use dma's own delqueue() function instead of a naive unlink() so - all the queue files are cleaned up - - document the Debian default for DBOUNCEPROG in the manual page - - resurrect the 13-hardening patch, correcting a couple of - unchecked asprintf(3) and vasprintf(3) invocations - - the functionality of the 20-parse-recipient patch was implemented - upstream in a different way, so replace it with a small bugfix - - remove the 22-openfiles patch, overtaken by upstream changes - - in the 24-random-message-id patch, change the GNU Makefile, too - - add the 27-int-size patch to cast a variable to the correct type - - add the 28-valid-recipient patch to fix parsing recipients out of - the message body - - add the 29-double-free patch to fix a double-free error - - add the 30-ldflags patch to honor LDFLAGS if specified - - refresh the 09-typos, 17-mailname, 23-dirent-d_type, and - 25-unsupported-starttls patches - - teach the dbounce-simple-safecat handler about the M*/Q* spool - files scheme - * Bump Standards-Version to 3.9.0 with no changes. - * Update the copyright file: - - bring it up to the latest revision of the DEP 5 - - update the upstream copyright notices - - bump the year on my copyright notice - * Remove the diffsrc rules target which was intended for my own - internal use, but has outlived its time. - * Use dpkg-buildflags from dpkg-dev >= 1.15.7~ to get the default - values for CFLAGS, CPPFLAGS, and LDFLAGS; no longer rely on - dpkg-buildpackage to set them by default. - * Add the dma-migrate utility (in a separate binary package) to convert - spool files to the new queue format (M* and Q* files for each message) - * Add a dma-migrate invocation to dma.cron.d - * Shorten the Vcs-Browser URL. - * Add the 31-sigalrm-backoff patch to force a delivery attempt on SIGALRM. - * Properly substitute the debconf-supplied values for DBOUNCEPROG and - SMARTHOST into dma.conf even if they are empty without generating - an invalid dma.conf file. - * Remove the smarthost default; dma does MX lookups now, so it doesn't - really *need* one anymore. - * Reword the debconf relayhost question - dma does not really need - a smarthost anymore. - * Update the debconf translations: - - Bulgarian - - Portuguese by Américo Monteiro - - German by Helge Kreutzmann; Closes: #586531 - - Russian by Yuri Kozlov; Closes: #586579 - - Czech by Michal Simunek; Closes: #586791 - - Swedish by Martin Bagge; Closes: #586825 - - Spanish by Francisco Javier Cuadrado; Closes: #587088 - * Update the smarthost configuration information in README.Debian. - * Add the 32-comment-uncomment patch to correct the manual page wording. - * Add the 33-opportunistic-tls patch to allow remote connections to proceed - even if the STARTTLS negotiation fails. - * Fix the 25-unsupported-starttls patch to actually error out if the SSL - negotiation fails. - * Forward all the non-Debian-specific patches upstream to Simon Schubert. - * Add the 34-manpage-defaults patch to properly document what dma will use - as default values if not specified in the config file instead of what - the default config file specifies. Closes: #544748 - * Add the 35-delivery-retry patch to try local deliveries a bit more often - and to randomize the delivery timeout to avoid locking issues. - - -- Peter Pentchev Mon, 28 Jun 2010 23:26:36 +0300 - -dma (0.0.2009.07.17-3) unstable; urgency=low - - * Really install the files in /etc/dma/ as root/mail/640 and - change the ownership of the existing files in the postinst script - when upgrading from older versions. Closes: #544664 - * Install the /usr/bin/mailq and /usr/bin/newaliases symlinks. - Closes: #558421 - * Switch to the 3.0 (quilt) source format. - * Update the debconf translations: - - add German. Closes: #552754 - - add Japanese. Closes: #554515 - - remove a double space and unfuzzy the translations. Closes: #552586 - * Fix a crash when the SMTP server does not support STARTTLS. - Closes: #547594 - * Always use the user-supplied value from the debconf query for - the smarthost and the double-bounce program. This may result in - debconf overriding a manually-edited config file, so add a note to - dma.conf stating that these values are handled via debconf. - Closes: #544663 - * Fix a misspelling of dma/dbounceprog as dma/defer in the debconf - configuration script. Oops. - - -- Peter Pentchev Sat, 19 Dec 2009 14:35:10 +0200 - -dma (0.0.2009.07.17-2) unstable; urgency=low - - * Allow the spool directory to live on a filesystem that does not - set the d_type member of the dirent structure, like XFS. - Closes: #544357 - * Randomize the Message-Id a bit more. Closes: #544475 - * Bump Standards-Version to 3.8.3 with no changes. - * Only enable the build hardening wrapper if the "hardening" build - option is specified. - * Switch the copyright file header from the Wiki to DEP 5. - * Remove the manual page ".Dx" patch - the groff version in Squeeze - knows about the .Dx mdoc macro. Add a lintian override for - the "Unknown DragonFly version" error. - * Convert the patch file headers to the DEP 3 format. - - -- Peter Pentchev Tue, 01 Sep 2009 13:36:33 +0300 - -dma (0.0.2009.07.17-1) unstable; urgency=low - - * Initial release - (Closes: #511410, #533458, #533614, #533890, #534101, #534860) - - -- Peter Pentchev Tue, 11 Aug 2009 16:08:41 +0300 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7f8f011..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/debian/control b/debian/control deleted file mode 100644 index 6eeea08..0000000 --- a/debian/control +++ /dev/null @@ -1,37 +0,0 @@ -Source: dma -Section: mail -Priority: optional -Maintainer: Peter Pentchev -DM-Upload-Allowed: yes -Build-Depends: debhelper (>= 7.0.50), byacc, dpkg-dev (>= 1.15.7~), flex, hardening-wrapper, libssl-dev, po-debconf -Standards-Version: 3.9.1 -Homepage: http://devel.ringlet.net/mail/dma/ -Vcs-Git: git://gitorious.org/dma-roam/pkg-debian.git -Vcs-Browser: http://gitorious.org/dma-roam/pkg-debian - -Package: dma -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Provides: mail-transport-agent -Conflicts: mail-transport-agent -Replaces: mail-transport-agent -Recommends: dma-migrate -Description: lightweight mail transport agent - The DragonFly Mail Agent is a small Mail Transport Agent (MTA), - designed for home and office use. It accepts mails from local Mail - User Agents (MUA) and delivers them either to local mailboxes or - remote SMTP servers. Remote delivery includes support for features - such as TLS/SSL and SMTP authentication. - . - dma is not intended as a replacement for full-featured MTAs like - Sendmail, Postfix, or Exim. Consequently, dma does not listen on - port 25 for incoming connections. - -Package: dma-migrate -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Enhances: dma -Description: migration utility for the DragonFly Mail Agent's spool files - The dma-migrate utility examines the DragonFly Mail Agent's mail queue - and performs any conversions from old message file formats to the most - recent one as needed. diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index 4ad8fbb..0000000 --- a/debian/copyright +++ /dev/null @@ -1,91 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 -Name: dma - -Files: base64.c -Copyright: Copyright (c) 1995-2001 Kungliga Tekniska Högskolan - (Royal Institute of Technology, Stockholm, Sweden). - All rights reserved. -License: BSD-3 - -Files: conf.c crypto.c net.c -Copyright: Copyright (c) 2008 The DragonFly Project. All rights reserved. - This code is derived from software contributed to The DragonFly Project - by Matthias Schmidt , University of Marburg, - Germany. -License: BSD-3 - -Files: dfcompat.c -Copyright: Copyright (c) 1998 Todd C. Miller - Copyright (c) 1998, M. Warner Losh All rights reserved. -License: BSD-1 BSD-2 - -Files: dma.8 -Copyright: Copyright (c) 2008 The DragonFly Project. All rights reserved. -License: BSD-3 - -Files: dma.c dns.c mail.c spool.c util.c -Copyright: Copyright (c) 2008 The DragonFly Project. All rights reserved. - This code is derived from software contributed to The DragonFly Project - by Simon 'corecode' Schubert . -License: BSD-3 - -Files: dma.h -Copyright: Copyright (c) 2008 The DragonFly Project. All rights reserved. - This code is derived from software contributed to The DragonFly Project - by Simon 'corecode' Schubert and - Matthias Schmidt . -License: BSD-3 - -Files: debian/* -Copyright: Copyright (c) 2009, 2010 Peter Pentchev. -License: BSD-3 - -License: BSD-3 - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - . - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. 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. - 3. Neither the name of The DragonFly Project nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific, prior written permission. - -License: BSD-1 - Permission to use, copy, modify, and distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - . - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -License: BSD-2 - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. 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. - . - THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. diff --git a/debian/dma-migrate.dirs b/debian/dma-migrate.dirs deleted file mode 100644 index b174b44..0000000 --- a/debian/dma-migrate.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/sbin -usr/share/man/man8 diff --git a/debian/dma-migrate.install b/debian/dma-migrate.install deleted file mode 100644 index 1c35b0a..0000000 --- a/debian/dma-migrate.install +++ /dev/null @@ -1 +0,0 @@ -debian/migrate/dma-migrate usr/sbin diff --git a/debian/dma-migrate.manpages b/debian/dma-migrate.manpages deleted file mode 100644 index 3629dbe..0000000 --- a/debian/dma-migrate.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/migrate/dma-migrate.8 diff --git a/debian/dma.dirs b/debian/dma.dirs deleted file mode 100644 index f10c005..0000000 --- a/debian/dma.dirs +++ /dev/null @@ -1,4 +0,0 @@ -etc/dma -usr/sbin -usr/share/lintian/overrides -usr/share/man/man8 diff --git a/debian/dma.links b/debian/dma.links deleted file mode 100644 index d9ac22a..0000000 --- a/debian/dma.links +++ /dev/null @@ -1,6 +0,0 @@ -usr/sbin/dma usr/bin/mailq -usr/sbin/dma usr/bin/newaliases -usr/sbin/dma usr/sbin/sendmail -usr/share/man/man8/dma.8 usr/share/man/man8/mailq.8 -usr/share/man/man8/dma.8 usr/share/man/man8/newaliases.8 -usr/share/man/man8/dma.8 usr/share/man/man8/sendmail.8 diff --git a/debian/dma.lintian-overrides b/debian/dma.lintian-overrides deleted file mode 100644 index 03f5d6e..0000000 --- a/debian/dma.lintian-overrides +++ /dev/null @@ -1,8 +0,0 @@ -dma: manpage-has-errors-from-man *Unknown DragonFly version* -dma: non-standard-dir-in-var var/mail/ -dma: non-standard-dir-perm var/spool/dma/ 0770 != 0755 -dma: non-standard-dir-perm var/spool/dma/ 2775 != 0755 -dma: non-standard-file-perm etc/dma/auth.conf 0640 != 0644 -dma: no-upstream-changelog -dma: setgid-binary usr/sbin/dma 2755 root/mail -dma: setuid-binary usr/lib/dma-mbox-create 4754 root/mail diff --git a/debian/migrate/Makefile b/debian/migrate/Makefile deleted file mode 100644 index cc7d347..0000000 --- a/debian/migrate/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: dma-migrate - -clean: - rm -f dma-migrate dma-migrate.o diff --git a/debian/migrate/NEWS b/debian/migrate/NEWS deleted file mode 100644 index 29dca0d..0000000 --- a/debian/migrate/NEWS +++ /dev/null @@ -1,6 +0,0 @@ -Change log for dma-migrate, the DragonFly Mail Agent queue migration utility. - -0.01 not yet ;) - - first public release - -Comments: Peter Pentchev diff --git a/debian/migrate/dma-migrate.8 b/debian/migrate/dma-migrate.8 deleted file mode 100644 index e40acef..0000000 --- a/debian/migrate/dma-migrate.8 +++ /dev/null @@ -1,98 +0,0 @@ -.\" Copyright (c) 2010 Peter Pentchev -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. 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. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. -.\" -.Dd May 11, 2009 -.Dt dma-migrate 8 -.Os -.Sh NAME -.Nm dma-migrate -.Nd convert the DragonFly Mail Agent's queue files -.Sh SYNOPSIS -.Nm -.Op Fl v -.Op Fl d Ar spooldir -.Nm -.Op Fl h | Fl V -.Sh DESCRIPTION -The -.Nm -utility is used to convert the mail queue files in the -.Xr dma 8 -spool directory to the latest spool directory format supported by -the installed version of -.Xr dma 8 . -Currently it only handles the conversion from a single file containing -both message and delivery metadata to the M/Q format. -.Pp -The following command-line options are available: -.Bl -tag -width indent -.It Fl d -Specify the location of the -.Xr dma 8 -spool directory, default -.Pa /var/spool/dma . -.It Fl h -Display usage information and exit. -.It Fl V -Display program version information and exit. -.It Fl v -Verbose output - display diagnostic messages. -.El -.Sh ENVIRONMENT -The operation of the -.Nm -utility is currently not influenced by environment variables. -.Sh FILES -The -.Nm -utility looks for the -.Xr dma 8 -mail queue files in the -.Pa /var/spool/dma -directory, unless another location is specified by the -.Fl d -command-line option. -.Sh EXIT STATUS -The -.Nm -utility will scan the whole spool directory and attempt to convert all -suitable files there. -If there are no files to be converted, or if all the conversions are -successful, it will complete with an exit code of zero. -If any conversion errors are encountered, a message will be displayed -to the standard error stream and -.Nm -will exit with an exit code of 1 after attempting to convert the rest of -the suitable files in the spool directory. -.Sh SEE ALSO -.Xr dma 8 -.Sh STANDARDS -No standards documentation was harmed in the process of creating -.Nm . -.Sh BUGS -Please report any bugs in -.Nm -to the author. -.Sh AUTHOR -.An Peter Pentchev Aq roam@ringlet.net diff --git a/debian/migrate/dma-migrate.c b/debian/migrate/dma-migrate.c deleted file mode 100644 index 56bfa2a..0000000 --- a/debian/migrate/dma-migrate.c +++ /dev/null @@ -1,413 +0,0 @@ -/*- - * Copyright (c) 2010 Peter Pentchev - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. - */ - -#define _GNU_SOURCE - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef __printflike -#ifdef __GNUC__ -#define __printflike(fmtarg, firstvararg) \ - __attribute__((__format__ (__printf__, fmtarg, firstvararg))) -#else -#define __printflike(fmtarg, firstvararg) -#endif -#endif - -#define DEFAULT_SPOOLDIR "/var/spool/dma" - -static int verbose = 0; -static char copybuf[BUFSIZ]; - -static int dma_migrate(int, const char *); - -static int open_locked(const char *, int, ...); -static void cleanup_file(int, char *); - -static void usage(int); -static void version(void); -static void debug(const char *, ...) __printflike(1, 2); - -int -main(int argc, char **argv) -{ - const char *spooldir; - int hflag, Vflag, errs, fd, res; - int ch; - DIR *d; - struct dirent *e; - struct stat sb; - - srandom((unsigned long)((time(NULL) ^ getpid()) + ((uintptr_t)argv))); - - hflag = Vflag = 0; - spooldir = DEFAULT_SPOOLDIR; - while (ch = getopt(argc, argv, "d:hVv"), ch != -1) - switch (ch) { - case 'd': - spooldir = optarg; - break; - - case 'h': - hflag = 1; - break; - - case 'V': - Vflag = 1; - break; - - case 'v': - verbose = 1; - break; - - case '?': - default: - usage(1); - /* NOTREACHED */ - } - if (Vflag) - version(); - if (hflag) - usage(0); - if (hflag || Vflag) - exit(0); - - argc -= optind; - argv += optind; - - /* Let's roll! */ - if (chdir(spooldir) == -1) - err(1, "Could not change into spool directory %s", spooldir); - if (d = opendir("."), d == NULL) - err(1, "Could not read spool directory %s", spooldir); - errs = 0; - while (e = readdir(d), e != NULL) { - /* Do we care about this entry? */ - debug("Read a directory entry: %s\n", e->d_name); - if (strncmp(e->d_name, "tmp_", 4) == 0 || - e->d_name[0] == 'M' || e->d_name[0] == 'Q' || - (e->d_type != DT_REG && e->d_type != DT_UNKNOWN)) - continue; - if (e->d_type == DT_UNKNOWN) - if (stat(e->d_name, &sb) == -1 || !S_ISREG(sb.st_mode)) - continue; - debug("- want to process it\n"); - - /* Try to lock it - skip it if dma is delivering the message */ - if (fd = open_locked(e->d_name, O_RDONLY|O_NDELAY), fd == -1) { - debug("- seems to be locked, skipping\n"); - continue; - } - - /* Okay, convert it to the M/Q schema */ - res = dma_migrate(fd, e->d_name); - close(fd); - if (res == -1) - errs++; - } - if (errs) - debug("Finished, %d conversion errors\n", errs); - else - debug("Everything seems to be all right\n"); - return (errs && 1); -} - -static int -dma_migrate(int fd, const char *fname) -{ - const char *id; - char *mname, *qname, *tempname, *sender, *recp, *line, *recpline; - int mfd, qfd, tempfd; - struct stat sb; - FILE *fp, *qfp, *mfp; - size_t sz, len; - static regex_t *qidreg = NULL; - - mfd = tempfd = qfd = -1; - mname = qname = sender = recp = line = NULL; - fp = qfp = NULL; - - if (fstat(fd, &sb) == -1) { - warn("Could not fstat(%s)", fname); - return (-1); - } - /* - * Let's just blithely assume that the queue ID *is* the filename, - * since that's the way dma did things so far. - * Well, okay, let's check it. - */ - if (qidreg == NULL) { - regex_t *nreg; - - if ((nreg = malloc(sizeof(*qidreg))) == NULL) { - warn("Could not allocate memory for a regex"); - return (-1); - } - if (regcomp(nreg, "^[a-fA-F0-9]\\+\\.[a-fA-F0-9]\\+$", 0) - != 0) { - warnx("Could not compile a dma queue ID regex"); - free(nreg); - return (-1); - } - qidreg = nreg; - } - if (regexec(qidreg, fname, 0, NULL, 0) != 0) { - warnx("The name '%s' is not a valid dma queue ID", fname); - return (-1); - } - id = fname; - debug(" - queue ID %s\n", id); - if (asprintf(&mname, "M%s", id) == -1 || - asprintf(&tempname, "tmp_%s", id) == -1 || - asprintf(&qname, "Q%s", id) == -1 || - mname == NULL || tempname == NULL || qname == NULL) - goto fail; - - /* Create the message placeholder early to avoid races */ - mfd = open_locked(mname, O_CREAT | O_EXCL | O_RDWR, 0600); - if (mfd == -1) { - warn("Could not create temporary file %s", mname); - goto fail; - } - if (stat(qname, &sb) != -1 || errno != ENOENT || - stat(tempname, &sb) != -1 || errno != ENOENT) { - warnx("Some of the queue files for %s already exist", fname); - goto fail; - } - debug(" - mfd %d names %s, %s, %s\n", mfd, mname, tempname, qname); - - fp = fdopen(fd, "r"); - if (fp == NULL) { - warn("Could not reopen the descriptor for %s", fname); - goto fail; - } - - /* Parse the header of the old-format message file */ - /* ...sender... */ - if (getline(&sender, &sz, fp) == -1) { - warn("Could not read the initial line from %s", fname); - goto fail; - } - sz = strlen(sender); - while (sz > 0 && (sender[sz - 1] == '\n' || sender[sz - 1] == '\r')) - sender[--sz] = '\0'; - if (sz == 0) { - warnx("Empty sender line in %s", fname); - goto fail; - } - debug(" - sender %s\n", sender); - /* ...recipient(s)... */ - len = strlen(fname); - recpline = NULL; - while (1) { - if (getline(&line, &sz, fp) == -1) { - warn("Could not read a recipient line from %s", fname); - goto fail; - } - sz = strlen(line); - while (sz > 0 && - (line[sz - 1] == '\n' || line[sz - 1] == '\r')) - line[--sz] = '\0'; - if (sz == 0) { - free(line); - line = NULL; - break; - } - if (recp == NULL && - strncmp(line, fname, len) == 0 && line[len] == ' ') { - recp = line + len + 1; - recpline = line; - } else { - free(line); - } - line = NULL; - } - if (recp == NULL) { - warnx("Could not find its own recipient line in %s", fname); - goto fail; - } - /* ..phew, finished with the header. */ - - tempfd = open_locked(tempname, O_CREAT | O_EXCL | O_RDWR, 0600); - if (tempfd == -1) { - warn("Could not create a queue file for %s", fname); - goto fail; - } - qfp = fdopen(tempfd, "w"); - if (qfp == NULL) { - warn("Could not fdopen(%s) for %s", tempname, fname); - goto fail; - } - mfp = fdopen(mfd, "w"); - if (mfp == NULL) { - warn("Could not fdopen(%s) for %s", mname, fname); - goto fail; - } - fprintf(qfp, "ID: %s\nSender: %s\nRecipient: %s\n", id, sender, recp); - fflush(qfp); - fsync(tempfd); - - /* Copy the message file over to mname */ - while ((sz = fread(copybuf, 1, sizeof(copybuf), fp)) > 0) - if (fwrite(copybuf, 1, sz, mfp) != sz) { - warn("Could not copy the message from %s to %s", - fname, mname); - goto fail; - } - if (ferror(fp)) { - warn("Could not read the full message from %s", fname); - goto fail; - } - fflush(mfp); - fsync(mfd); - - if (rename(tempname, qname) == -1) { - warn("Could not rename the queue file for %s", fname); - goto fail; - } - qfd = tempfd; - tempfd = -1; - if (unlink(fname) == -1) { - warn("Could not remove the old converted file %s", fname); - goto fail; - } - - fclose(fp); - fclose(qfp); - free(sender); - free(line); - free(recpline); - free(mname); - free(qname); - free(tempname); - return (0); - -fail: - if (fp != NULL) - fclose(fp); - if (qfp != NULL) - fclose(qfp); - if (sender != NULL) - free(sender); - if (line != NULL) - free(line); - if (recpline != NULL) - free(recpline); - cleanup_file(mfd, mname); - cleanup_file(qfd, qname); - cleanup_file(tempfd, tempname); - return (-1); -} - -static void -cleanup_file(int fd, char *fname) -{ - if (fd != -1) { - close(fd); - unlink(fname); - } - if (fname != NULL) - free(fname); -} - -static void -usage(int ferr) -{ - const char *s = - "Usage:\tdma-migrate [-hVv] [-d spooldir]\n" - "\t-d\tspecify the spool directory (" DEFAULT_SPOOLDIR ")\n" - "\t-h\tdisplay program usage information and exit\n" - "\t-V\tdisplay program version information and exit\n" - "\t-v\tverbose operation - display diagnostic messages"; - - if (ferr) - errx(1, "%s", s); - puts(s); -} - -static void -version(void) -{ - printf("dma-migrate 0.01 (dma 0.0.2010.06.17)\n"); -} - -static void -debug(const char *fmt, ...) -{ - va_list v; - - if (verbose < 1) - return; - va_start(v, fmt); - vfprintf(stderr, fmt, v); - va_end(v); -} - -static int -open_locked(const char *fname, int flags, ...) -{ - int mode = 0; -#ifndef O_EXLOCK - int fd, save_errno; -#endif - - if (flags & O_CREAT) { - va_list ap; - va_start(ap, flags); - mode = va_arg(ap, int); - va_end(ap); - } - -#ifndef O_EXLOCK - fd = open(fname, flags, mode); - if (fd < 0) - return(fd); - if (flock(fd, LOCK_EX|((flags & O_NONBLOCK)? LOCK_NB: 0)) < 0) { - save_errno = errno; - close(fd); - errno = save_errno; - return(-1); - } - return(fd); -#else - return(open(fname, flags|O_EXLOCK, mode)); -#endif -} diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 461a0a8..0000000 --- a/debian/rules +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Debian build rules for dma, the DragonFly mail agent - -DDIR= $(CURDIR)/debian -D= $(DDIR)/dma - -BUILDDEFS= DESTDIR=$D PREFIX=/usr - -CFLAGS:= $(shell dpkg-buildflags --get CFLAGS) -CPPFLAGS:= $(shell dpkg-buildflags --get CPPFLAGS) -LDFLAGS:= $(shell dpkg-buildflags --get LDFLAGS) - -CONFFILES= dma.conf auth.conf - -ifneq (,$(filter werror,$(DEB_BUILD_OPTIONS))) - CFLAGS+= -Werror -endif -ifneq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) - export STRIPFLAG= -endif -ifneq (,$(filter hardening,$(DEB_BUILD_OPTIONS))) -export DEB_BUILD_HARDENING=1 -else -export DEB_BUILD_HARDENING=0 -endif - -export CFLAGS CPPFLAGS LDFLAGS - -override_dh_auto_build: - $(MAKE) -f Makefile ${BUILDDEFS} - $(MAKE) -C $(DDIR)/migrate - -override_dh_auto_clean: - $(MAKE) -f Makefile clean - $(MAKE) -C $(DDIR)/migrate clean - -override_dh_auto_install: - $(MAKE) -f Makefile ${BUILDDEFS} install sendmail-link mailq-link install-spool-dirs install-etc - -override_dh_fixperms: - dh_fixperms -Xusr/sbin/dma -Xusr/lib/dma-mbox-create -Xvar/spool/dma -Xetc/dma - -override_dh_installchangelogs: - dh_installchangelogs -p dma - dh_installchangelogs -p dma-migrate debian/migrate/NEWS - -%: - dh $@ diff --git a/debian/source/format b/debian/source/format deleted file mode 100644 index 89ae9db..0000000 --- a/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/debian/source/options b/debian/source/options deleted file mode 100644 index 779dbfd..0000000 --- a/debian/source/options +++ /dev/null @@ -1,2 +0,0 @@ -compression = "bzip2" -compression-level = 9