]>
git.ipfire.org Git - people/ms/dma.git/log
Simon Schubert [Thu, 27 Aug 2009 20:20:38 +0000 (22:20 +0200)]
dma: add recipient parsing from headers
Simon Schubert [Thu, 27 Aug 2009 16:24:50 +0000 (18:24 +0200)]
dma: convert to more extensible queue file format
Simon Schubert [Thu, 27 Aug 2009 15:23:09 +0000 (17:23 +0200)]
dma: beautify queue listing output
Simon Schubert [Thu, 27 Aug 2009 15:08:49 +0000 (17:08 +0200)]
dma: add queue-only mode (no instant delivery attempt)
This acts like the DEFER config option, just from the command line.
Simon Schubert [Thu, 27 Aug 2009 14:32:19 +0000 (16:32 +0200)]
dma: move sender into queue
Simon Schubert [Thu, 27 Aug 2009 14:38:51 +0000 (16:38 +0200)]
dma: initialize queue structures
Simon Schubert [Thu, 27 Aug 2009 11:52:43 +0000 (13:52 +0200)]
dma: factor out mail handling code
Simon Schubert [Tue, 25 Aug 2009 00:22:04 +0000 (02:22 +0200)]
dma: don't set it->mailf too early
We may not set it->mailf in newspoolf(), or aquirespool() will not
(re-)open the mail file, leading to concurrent seeks.
Reported-by: Daniel Roethlisberger
DragonFly-Bug: <http://bugs.dragonflybsd.org/issue1462>
Peter Pentchev [Tue, 11 Aug 2009 13:08:57 +0000 (13:08 +0000)]
Update the changelog timestamp.
Peter Pentchev [Tue, 11 Aug 2009 13:08:03 +0000 (13:08 +0000)]
Make the "patch" and "unpatch" targets actually work.
Peter Pentchev [Tue, 4 Aug 2009 11:35:48 +0000 (11:35 +0000)]
Add a French translation.
Submitted by: Steve Petruzzello <dlist@bluewin.ch>
Peter Pentchev [Mon, 3 Aug 2009 13:54:25 +0000 (13:54 +0000)]
Update the changelog timestamp.
Peter Pentchev [Mon, 3 Aug 2009 13:44:19 +0000 (13:44 +0000)]
After removing the deconstifying patch, refresh the later patches by a line.
Peter Pentchev [Mon, 3 Aug 2009 13:43:28 +0000 (13:43 +0000)]
Remove the last vestiges of deconstifying, no longer needed.
Peter Pentchev [Fri, 31 Jul 2009 15:45:50 +0000 (15:45 +0000)]
Bring it up to current dma, part I: refresh all patches to
bring things up to dma-dfly-2009-07-17 plus my Debian branch patches.
Simon Schubert [Tue, 21 Jul 2009 23:21:44 +0000 (01:21 +0200)]
dma: don't block when trying to aquire a queue file
We might race with some other process, so it is imperative to treat a
locked file as a soft error instead of blocking on the file until the
other process unlocks it.
Simon Schubert [Tue, 21 Jul 2009 23:20:54 +0000 (01:20 +0200)]
dma: don't block on lock/opening the mbox file, backoff instead
Simon Schubert [Tue, 21 Jul 2009 23:20:08 +0000 (01:20 +0200)]
dma: accept -q without argument. report argument errors.
Simon Schubert [Tue, 21 Jul 2009 00:29:02 +0000 (02:29 +0200)]
dma: add comments for ESMTP support
Simon Schubert [Tue, 21 Jul 2009 00:28:46 +0000 (02:28 +0200)]
dma: treat seek errors as permanent errors
Simon Schubert [Mon, 20 Jul 2009 23:51:45 +0000 (01:51 +0200)]
dma: more loudly note that we should query for MX records
Simon Schubert [Mon, 20 Jul 2009 21:27:50 +0000 (23:27 +0200)]
dma: fix various bugs in local mbox delivery
Simon Schubert [Mon, 20 Jul 2009 21:27:37 +0000 (23:27 +0200)]
dma: fix mail bouncing
Simon Schubert [Mon, 20 Jul 2009 20:48:00 +0000 (22:48 +0200)]
dma: always log error exits
Simon Schubert [Mon, 20 Jul 2009 19:58:39 +0000 (21:58 +0200)]
dma: drop CVS ids
Simon Schubert [Mon, 20 Jul 2009 19:53:32 +0000 (21:53 +0200)]
dma: rewrite file management
Close files as early as possible, possibly re-open them later. This is
so that we avoid filedesc sharing problems completely and that we won't
run out of fdesc in case of a large queue.
Simon Schubert [Mon, 20 Jul 2009 11:33:09 +0000 (13:33 +0200)]
dma: correct logic for setting the locked flag
Simon Schubert [Sun, 19 Jul 2009 23:20:27 +0000 (01:20 +0200)]
dma: restructure logging
Don't carry the ident manually. Instead set a global tag once the
ident is fixed.
Simon Schubert [Sun, 19 Jul 2009 14:01:58 +0000 (16:01 +0200)]
dma: note that the data file provides the id
Simon 'corecode' Schubert [Sun, 2 Nov 2008 00:10:10 +0000 (01:10 +0100)]
dma: rework queue handling
Simon 'corecode' Schubert [Mon, 27 Oct 2008 05:45:12 +0000 (06:45 +0100)]
dma: Move comment.
Simon 'corecode' Schubert [Fri, 17 Oct 2008 07:32:26 +0000 (09:32 +0200)]
dma: Re-arrange argument consistency checks.
Simon 'corecode' Schubert [Thu, 16 Oct 2008 15:45:10 +0000 (17:45 +0200)]
dma: better tag handling
Simon Schubert [Thu, 16 Jul 2009 14:04:25 +0000 (16:04 +0200)]
dma: add required headers if they are not present
RFC2822 states that we must or should include the Date, Message-Id, and
From headers, so add them if they are not present in the message.
Simon Schubert [Thu, 16 Jul 2009 13:23:44 +0000 (15:23 +0200)]
dma: use ANSI string continuations
Simon Schubert [Thu, 16 Jul 2009 13:18:29 +0000 (15:18 +0200)]
dma: pass over the code and improve error handling
Simon Schubert [Thu, 16 Jul 2009 12:08:22 +0000 (14:08 +0200)]
dma: clean up network code
- free memory where necessary
- don't just abort without error message
- don't bounce if we want to defer the message
Simon Schubert [Thu, 16 Jul 2009 11:43:28 +0000 (13:43 +0200)]
dma: treat encrypted connections as secure
Users have to set the INSECURE config option to allow dma to send
plaintext passwords on login. This commit allows dma to send plaintext
passwords through TLS connections even if the INSECURE config option is
not set.
The downside is that this allows a man-in-the-middle attack on the
password exchange. The only solution to this is checking the server
certificate, but we don't do that (yet).
Simon Schubert [Thu, 16 Jul 2009 11:40:12 +0000 (13:40 +0200)]
dma: properly close and free SSL connection state
Simon Schubert [Thu, 16 Jul 2009 11:31:11 +0000 (13:31 +0200)]
dma: log mail queueing more thoroughly
Directly log when a mail is accepted and not only when a delivery attempt
is made.
Simon Schubert [Thu, 16 Jul 2009 10:52:00 +0000 (12:52 +0200)]
dma: note that we will have to clean up SSL state
Simon Schubert [Thu, 16 Jul 2009 10:24:44 +0000 (12:24 +0200)]
dma: unconditionally use openssl
Drop HAVE_CRYPTO and unconditionally use openssl. Dma is supposed to be
small and secure, so there is no way around openssl anyways.
Simon Schubert [Thu, 16 Jul 2009 10:10:51 +0000 (12:10 +0200)]
dma: implement alternate identity for mailq
mailq does not take the standard sendmail options, but behaves like -bp.
Simon Schubert [Thu, 16 Jul 2009 09:54:44 +0000 (11:54 +0200)]
dma: correctly initialize error before delivering mail
error is used to return failure or success from deliver_remote(). However
error is also used before, so we have to make sure that it is initialized
to 0, else a previous (non-fatal) error could pull through, even if the
delivery was successful.
Simon Schubert [Thu, 16 Jul 2009 09:40:39 +0000 (11:40 +0200)]
dma: adjust syslog logging levels
Most invocations of syslog used LOG_ERR. Clearly this is not good
practise. Adjust the levels to be reasonable.
Simon Schubert [Thu, 16 Jul 2009 09:30:10 +0000 (11:30 +0200)]
dma: always send EHLO after tls setup
We have to send EHLO even after a STARTTLS, so unconditionally send it
after connection/tls setup.
Simon Schubert [Thu, 9 Jul 2009 21:24:35 +0000 (23:24 +0200)]
dma: prevent races from sharing fd between children
On fork, fds are shared between children. If two processes work on
different recipients, but on the same queue file, they might get
confused when the fd (and thus the offset) is shared. Prevent this by
re-opening the queue file after fork.
Reported-by: Daniel Roethlisberger <daniel@roe.ch>
Simon Schubert [Thu, 9 Jul 2009 20:30:40 +0000 (22:30 +0200)]
dma: restructure set_username
Restructure to perform early exit and check for strdup() error.
Simon Schubert [Thu, 9 Jul 2009 20:21:26 +0000 (22:21 +0200)]
dma: constify bounce reason and avoid strdup
We don't need to care about freeing the bounce reason string, because
bounce is only called once. Convert all bounce reason strings to
const char * and avoid calling strdup() on them. Dynamic strings from
asprintf() need some de-const massaging.
Simon Schubert [Thu, 9 Jul 2009 12:37:17 +0000 (14:37 +0200)]
dma: ignore a whole slew of sendmail options
Probably some more left.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:16 +0000 (14:37 +0200)]
dma: better logic for guessing username
Apply better logic to guess the username when getlogin(3) is not
available for some reason, e.g. no login session at all, no access
to utmp/wtmp, etc.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:16 +0000 (14:37 +0200)]
dma: add the MAILNAME and MAILNAMEFILE config options
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 19:19:40 +0000 (21:19 +0200)]
dma: add FULLBOUNCE config option
FULLBOUNCE will include the full message in the bounce
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 19:15:54 +0000 (21:15 +0200)]
dma: provide proper bounce error message
This may not be the best solution - the error message buffer has now
turned dynamic, but the only alternative I see is to make it a static
array in net.c... and I'm not quite sure if I want to do that just now.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:16 +0000 (14:37 +0200)]
dma: lock temp files on creation
Lock the temporary files after creating them to protect from a "dma -q"
run at just the wrong time causing a double delivery attempt for
the same message.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:16 +0000 (14:37 +0200)]
dma: various code hardening
(as found by the Debian hardening wrapper)
- check the result of fgets()
- loop the network writes until the whole thing is sent
- check one more write() result
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:16 +0000 (14:37 +0200)]
dma: note that the -q option requires an unused argument
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:15 +0000 (14:37 +0200)]
dma: fix two typos and a word order problem
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:15 +0000 (14:37 +0200)]
dma: also list locked queue files
When listing the queue, show all messages, even those that are
currently locked for delivery. Indicate the lock with a '*' after
the queue ID.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:15 +0000 (14:37 +0200)]
dma: bounce message instantly on permanent remote delivery errors
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:15 +0000 (14:37 +0200)]
dma: treat a QUIT error as merely a warning
RFC 2821 only mandates that a QUIT error should abort an unfinished
transaction, and since we've reached this point, the DATA command has
succeeded and the message has been accepted for delivery by the remote
end. Thus, just warn about it.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:15 +0000 (14:37 +0200)]
dma: properly log last remote status message
Store the last error or status message received from the remote server in
the neterr[] buffer and display it instead of the meaningless %m in
remote delivery syslog messages.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Simon Schubert [Thu, 9 Jul 2009 12:37:14 +0000 (14:37 +0200)]
dma: several fixes to make dma build on non-BSD OS's
- replace open(..., O_EXLOCK) with a new open_locked() routine;
- define the __unused function attribute;
- do not redefine PATH_MAX.
Submitted-by: Peter Pentchev <roam@ringlet.net>
Peter Pentchev [Mon, 29 Jun 2009 11:45:18 +0000 (11:45 +0000)]
Add Basque, Finnish, Portuguese, Spanish, and Swedish debconf translations.
Closes: #533458, #533614, #533890, #534101, #534860
Peter Pentchev [Fri, 19 Jun 2009 10:37:39 +0000 (10:37 +0000)]
Add a Czech debconf translation.
Submitted by: Michal Simunek <michal.simunek@gmail.com>
Peter Pentchev [Thu, 18 Jun 2009 15:11:29 +0000 (15:11 +0000)]
Add the Russian debconf translation.
Submitted by: Yuri Kozlov <yuray@komyakino.ru>
Peter Pentchev [Wed, 17 Jun 2009 12:16:17 +0000 (12:16 +0000)]
Update the changelog timestamp.
Peter Pentchev [Wed, 17 Jun 2009 12:16:03 +0000 (12:16 +0000)]
Remove Upstream-Source from the copyright file, it's in the Homepage.
Peter Pentchev [Wed, 17 Jun 2009 12:10:45 +0000 (12:10 +0000)]
Reword README.Debian after some suggestions from debian-l10-en.
Peter Pentchev [Wed, 17 Jun 2009 12:03:55 +0000 (12:03 +0000)]
Reword the short and long descriptions after suggestions from debian-l10-en.
Peter Pentchev [Wed, 17 Jun 2009 11:58:19 +0000 (11:58 +0000)]
Update the debconf templates:
- change shared/mailname to dma/mailname, since it mentions dma
- reword the templates a lot according to suggestions from debian-l10-en
- translate the reworded templates into Bulgarian
Peter Pentchev [Wed, 17 Jun 2009 11:16:59 +0000 (11:16 +0000)]
Refresh the patches.
Peter Pentchev [Wed, 17 Jun 2009 11:15:19 +0000 (11:15 +0000)]
Use dh --with quilt.
Peter Pentchev [Wed, 17 Jun 2009 11:10:59 +0000 (11:10 +0000)]
Bump Standards-Version to 3.8.2 with no changes.
Peter Pentchev [Tue, 9 Jun 2009 14:32:28 +0000 (14:32 +0000)]
Shorten the copyright file by breaking out the License section.
Peter Pentchev [Tue, 9 Jun 2009 14:28:17 +0000 (14:28 +0000)]
Merge trunk rev. 3768 and 3772: fix the too-many-open-files problem.
Peter Pentchev [Tue, 9 Jun 2009 14:24:06 +0000 (14:24 +0000)]
Merge trunk rev. 3769: аctually *use* the mailname cache and
fix a file descriptor leak.
Peter Pentchev [Mon, 30 Mar 2009 14:54:55 +0000 (14:54 +0000)]
Coalesce the changelog entries and update the timestamp.
Peter Pentchev [Mon, 30 Mar 2009 14:22:30 +0000 (14:22 +0000)]
Translate debconf's messages using po-debconf.
Add an initial Bulgarian translation.
Peter Pentchev [Mon, 30 Mar 2009 13:23:41 +0000 (13:23 +0000)]
A first shot at using debconf, for the present without po-debconf.
Peter Pentchev [Mon, 30 Mar 2009 11:55:32 +0000 (11:55 +0000)]
Really minimize the rules file using debhelper's override targets.
Peter Pentchev [Mon, 30 Mar 2009 11:23:20 +0000 (11:23 +0000)]
Override the "no upstream changelog" lintian pedantic warning.
Peter Pentchev [Mon, 30 Mar 2009 11:11:29 +0000 (11:11 +0000)]
Lintian's pedantic mode caught another typo.
Peter Pentchev [Mon, 30 Mar 2009 10:59:46 +0000 (10:59 +0000)]
Unbreak SMTP authentication.
Peter Pentchev [Tue, 24 Mar 2009 14:17:45 +0000 (14:17 +0000)]
Refresh the rest of the patches for the queue fix change to dma.c.
Peter Pentchev [Tue, 24 Mar 2009 14:17:24 +0000 (14:17 +0000)]
Apply the fix from rev. 3165 - fix my own queue display patch to
only display once messages with multiple recipients.
Peter Pentchev [Fri, 13 Mar 2009 13:42:44 +0000 (13:42 +0000)]
Bump Standards-Version to 3.8.1 with no changes at all.
Peter Pentchev [Fri, 13 Mar 2009 13:35:58 +0000 (13:35 +0000)]
Implement sendmail's -t option to parse the message to obtain the recipients.
Peter Pentchev [Thu, 12 Mar 2009 13:40:49 +0000 (13:40 +0000)]
Ignore a whole slew of sendmail compatibility options.
Peter Pentchev [Thu, 12 Mar 2009 12:54:46 +0000 (12:54 +0000)]
Keep the TODO list at the top of the file.
Peter Pentchev [Thu, 12 Mar 2009 12:46:47 +0000 (12:46 +0000)]
Add a new patch to guess the username better when getlogin(3) fails.
Peter Pentchev [Wed, 11 Mar 2009 13:43:26 +0000 (13:43 +0000)]
Refresh the changelog timestamp in preparation for a release.
Peter Pentchev [Wed, 11 Mar 2009 13:42:55 +0000 (13:42 +0000)]
Add debian/README.source to document quilt usage as per the Debian Policy.
Peter Pentchev [Wed, 11 Mar 2009 13:15:44 +0000 (13:15 +0000)]
Add four new patches to bring the Debian package up to date with
my work on trunk and the debian/ branch.
Peter Pentchev [Tue, 10 Mar 2009 15:28:56 +0000 (15:28 +0000)]
Update the release timestamp, preparing for the actual tagging of
0.0.2009.02.11-1~1.
Peter Pentchev [Tue, 10 Mar 2009 15:22:32 +0000 (15:22 +0000)]
*Oof*. Actually add the hardening wrapper to the build dependencies :)
Peter Pentchev [Tue, 10 Mar 2009 14:51:54 +0000 (14:51 +0000)]
Turn on the Debian build hardening wrapper.
Peter Pentchev [Tue, 10 Mar 2009 14:08:09 +0000 (14:08 +0000)]
dma is not yet ready for big scary CFLAGS.
Peter Pentchev [Tue, 10 Mar 2009 14:07:20 +0000 (14:07 +0000)]
Minimize the rules file further by using dma.links instead of direct
invocations of dh_link.
Peter Pentchev [Tue, 10 Mar 2009 14:03:14 +0000 (14:03 +0000)]
Minimize the rules file by using debhelper's dh(1) helper.