]> git.ipfire.org Git - people/ms/dma.git/log
people/ms/dma.git
13 years agoAdd the "opportunistic TLS" option.
Peter Pentchev [Tue, 22 Jun 2010 23:51:23 +0000 (01:51 +0200)] 
Add the "opportunistic TLS" option.

Add a new configuration option to allow remote connections to proceed in
unencrypted mode if the STARTTLS negotiation fails.

13 years agodma.8: correct logic of comment/uncomment wording
Peter Pentchev [Tue, 22 Jun 2010 23:44:59 +0000 (01:44 +0200)] 
dma.8: correct logic of comment/uncomment wording

13 years agocatch SIGHUP so that sleeps can be interrupted by the user
Simon Schubert [Mon, 28 Jun 2010 22:49:53 +0000 (00:49 +0200)] 
catch SIGHUP so that sleeps can be interrupted by the user

A SIGHUP sent to the dma process will run the no-op signal handler and
break the sleep(3) call in deliver.
Do not increase the backoff if sleep was interrupted.

Submitted-by: Peter Pentchev <roam@ringlet.net> (earlier version)
13 years agoHonor LDFLAGS if specified in the environment.
Peter Pentchev [Tue, 22 Jun 2010 23:40:41 +0000 (01:40 +0200)] 
Honor LDFLAGS if specified in the environment.

13 years agofix wrong argument to free()
Peter Pentchev [Tue, 22 Jun 2010 23:39:56 +0000 (01:39 +0200)] 
fix wrong argument to free()

13 years agoCheck the parsed recipient address for validity.
Peter Pentchev [Tue, 22 Jun 2010 23:39:56 +0000 (01:39 +0200)] 
Check the parsed recipient address for validity.

13 years agoFix a crash when the SMTP server does not support STARTTLS.
Peter Pentchev [Tue, 22 Jun 2010 23:36:06 +0000 (01:36 +0200)] 
Fix a crash when the SMTP server does not support STARTTLS.

13 years agoproperly randomize the message id
Simon Schubert [Mon, 28 Jun 2010 22:49:42 +0000 (00:49 +0200)] 
properly randomize the message id

We would only use the queue id of the message as its message id, which
is generated from the inode number of the message's queue file.  Inode
numbers are readily reused on many file systems, which leads to
repeating message ids.

Create real randomized message ids instead.

Submitted-by: Peter Pentchev <roam@ringlet.net> (earlier version)
13 years agoload_queue: use stat(2) instead of de->d_type
Simon Schubert [Mon, 28 Jun 2010 22:48:52 +0000 (00:48 +0200)] 
load_queue: use stat(2) instead of de->d_type

Some filesystems (notably XFS) do not set the d_type field in the dirent
structure.  This prevents dma from delivering any of the queued messages.
Rework the code to use stat() instead.

Submitted-by: Peter Pentchev <roam@ringlet.net> (earlier version)
13 years agomailnamefile: fix parsing
Peter Pentchev [Tue, 22 Jun 2010 23:09:01 +0000 (01:09 +0200)] 
mailnamefile: fix parsing

Fix a file descriptor leak in the MAILNAMEFILE code.
Fix a mistake in my patch submitted to DFBSD - "initialized" should be static!

13 years agocheck result of vasprintf and asprintf
Peter Pentchev [Tue, 22 Jun 2010 23:09:01 +0000 (01:09 +0200)] 
check result of vasprintf and asprintf

13 years agoFix a typo in an error message.
Peter Pentchev [Tue, 22 Jun 2010 23:09:01 +0000 (01:09 +0200)] 
Fix a typo in an error message.

14 years agotodo: create mbox files with correct user/permissions
Simon Schubert [Thu, 22 Apr 2010 14:27:46 +0000 (16:27 +0200)] 
todo: create mbox files with correct user/permissions

14 years agodocument the EMAIL environment variable
Simon Schubert [Thu, 22 Apr 2010 14:22:03 +0000 (16:22 +0200)] 
document the EMAIL environment variable

14 years agodrop the virtusertable support
Simon Schubert [Thu, 22 Apr 2010 14:04:24 +0000 (16:04 +0200)] 
drop the virtusertable support

A better way to set the envelope sender is to use either the -f argument
or to set the EMAIL environment variable.

14 years agoinstall with correct permissions
Simon Schubert [Thu, 22 Apr 2010 13:54:17 +0000 (15:54 +0200)] 
install with correct permissions

14 years agoLinux -Wall fixes
Simon Schubert [Sat, 17 Apr 2010 23:27:24 +0000 (01:27 +0200)] 
Linux -Wall fixes

14 years agofix parsing for "name <real@example.org>" addresses
Simon Schubert [Sat, 17 Apr 2010 23:09:30 +0000 (01:09 +0200)] 
fix parsing for "name <real@example.org>" addresses

Noticed-by: Ed Maste <emaste@freebsd.org>
14 years agouse the EMAIL env var as originating mail address
Simon Schubert [Sat, 17 Apr 2010 23:04:35 +0000 (01:04 +0200)] 
use the EMAIL env var as originating mail address

14 years agoremove debug output
Simon Schubert [Fri, 16 Apr 2010 18:45:27 +0000 (20:45 +0200)] 
remove debug output

14 years agoflip the polarity of the compatibility macros to HAVE_*
Simon Schubert [Fri, 16 Apr 2010 18:02:59 +0000 (20:02 +0200)] 
flip the polarity of the compatibility macros to HAVE_*

14 years agouse the plain makefile as default
Simon Schubert [Fri, 16 Apr 2010 17:53:00 +0000 (19:53 +0200)] 
use the plain makefile as default

14 years agotreat st_ino as uintmax_t to match the format string
Simon Schubert [Fri, 16 Apr 2010 08:19:41 +0000 (10:19 +0200)] 
treat st_ino as uintmax_t to match the format string

Submitted-By: Ed Maste <emaste@freebsd.org>
14 years agodma: move config files to source directory
Simon Schubert [Sun, 4 Oct 2009 00:55:32 +0000 (02:55 +0200)] 
dma: move config files to source directory

14 years agodma: add a plain Makefile for other systems
Simon Schubert [Sat, 3 Oct 2009 19:38:06 +0000 (21:38 +0200)] 
dma: add a plain Makefile for other systems

Submitted-by: Michel Salim <salimma@fedoraproject.org>
14 years agodma: add DragonFly compat files
Simon Schubert [Sat, 3 Oct 2009 19:37:22 +0000 (21:37 +0200)] 
dma: add DragonFly compat files

These are not used in DragonFly, but for compilation on other systems.

14 years agodma: don't use sockaddr_storage.ss_len
Simon Schubert [Sat, 3 Oct 2009 19:35:29 +0000 (21:35 +0200)] 
dma: don't use sockaddr_storage.ss_len

sockaddr_storage.ss_len is not mandated by POSIX, so we shouldn't use
it.  Instead, use addrinfo.ai_addrlen.

14 years agodma: don't use __unused
Simon Schubert [Sat, 3 Oct 2009 19:32:07 +0000 (21:32 +0200)] 
dma: don't use __unused

__unused avoids a gcc warning that the parameter is not being used, but
this does not exist in other systems or is overloaded with a different
meaning.

Instead simply use a cast to (void) to silence gcc.

14 years agodma: sort includes
Simon Schubert [Sat, 3 Oct 2009 19:31:26 +0000 (21:31 +0200)] 
dma: sort includes

14 years agodma: use st_mtim to make source more POSIXy
Simon Schubert [Sat, 3 Oct 2009 19:18:45 +0000 (21:18 +0200)] 
dma: use st_mtim to make source more POSIXy

14 years agodma: defer delivery if STARTTLS fails
Simon Schubert [Mon, 21 Sep 2009 13:37:30 +0000 (15:37 +0200)] 
dma: defer delivery if STARTTLS fails

14 years agodma: treat connect status messages properly
Simon Schubert [Mon, 21 Sep 2009 11:28:37 +0000 (13:28 +0200)] 
dma: treat connect status messages properly

14 years agodma: rework config parsing
Simon Schubert [Mon, 21 Sep 2009 11:16:07 +0000 (13:16 +0200)] 
dma: rework config parsing

14 years agodma: perform MX lookups
Simon Schubert [Sun, 20 Sep 2009 18:58:37 +0000 (20:58 +0200)] 
dma: perform MX lookups

14 years agodma: allow empty sender in queue files
Simon Schubert [Sun, 20 Sep 2009 18:57:34 +0000 (20:57 +0200)] 
dma: allow empty sender in queue files

Empty senders happen when a bounce gets queued, so we need to accept
such queue files.

14 years agodma: create spool files mode 660
Simon Schubert [Sun, 20 Sep 2009 18:56:32 +0000 (20:56 +0200)] 
dma: create spool files mode 660

dma runs setgid mail, so we need to create files which are group
readable, otherwise we won't be able to read them later.

14 years agogcc44 warns: Put input() under YY_NO_INPUT and set that if it isn't used.
Sascha Wildner [Sat, 19 Sep 2009 14:48:10 +0000 (16:48 +0200)] 
gcc44 warns: Put input() under YY_NO_INPUT and set that if it isn't used.

14 years agoFix typo: aquire -> acquire.
Sascha Wildner [Sat, 29 Aug 2009 21:04:45 +0000 (23:04 +0200)] 
Fix typo: aquire -> acquire.

14 years agodma: add TODO
Simon Schubert [Fri, 28 Aug 2009 11:00:33 +0000 (13:00 +0200)] 
dma: add TODO

14 years agodma: bump man page date
Simon Schubert [Thu, 27 Aug 2009 15:19:38 +0000 (17:19 +0200)] 
dma: bump man page date

14 years agodma: man page cleanup
Simon Schubert [Thu, 27 Aug 2009 15:19:13 +0000 (17:19 +0200)] 
dma: man page cleanup

14 years agodma: add recipient parsing from headers
Simon Schubert [Thu, 27 Aug 2009 20:20:38 +0000 (22:20 +0200)] 
dma: add recipient parsing from headers

14 years agodma: convert to more extensible queue file format
Simon Schubert [Thu, 27 Aug 2009 16:24:50 +0000 (18:24 +0200)] 
dma: convert to more extensible queue file format

14 years agodma: beautify queue listing output
Simon Schubert [Thu, 27 Aug 2009 15:23:09 +0000 (17:23 +0200)] 
dma: beautify queue listing output

14 years agodma: add queue-only mode (no instant delivery attempt)
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.

14 years agodma: move sender into queue
Simon Schubert [Thu, 27 Aug 2009 14:32:19 +0000 (16:32 +0200)] 
dma: move sender into queue

14 years agodma: initialize queue structures
Simon Schubert [Thu, 27 Aug 2009 14:38:51 +0000 (16:38 +0200)] 
dma: initialize queue structures

14 years agodma: factor out mail handling code
Simon Schubert [Thu, 27 Aug 2009 11:52:43 +0000 (13:52 +0200)] 
dma: factor out mail handling code

14 years agodma: don't set it->mailf too early
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>

14 years agodma: don't block when trying to aquire a queue file
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.

14 years agodma: don't block on lock/opening the mbox file, backoff instead
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

14 years agodma: accept -q without argument. report argument errors.
Simon Schubert [Tue, 21 Jul 2009 23:20:08 +0000 (01:20 +0200)] 
dma: accept -q without argument.  report argument errors.

14 years agodma: add comments for ESMTP support
Simon Schubert [Tue, 21 Jul 2009 00:29:02 +0000 (02:29 +0200)] 
dma: add comments for ESMTP support

14 years agodma: treat seek errors as permanent errors
Simon Schubert [Tue, 21 Jul 2009 00:28:46 +0000 (02:28 +0200)] 
dma: treat seek errors as permanent errors

14 years agodma: more loudly note that we should query for MX records
Simon Schubert [Mon, 20 Jul 2009 23:51:45 +0000 (01:51 +0200)] 
dma: more loudly note that we should query for MX records

14 years agodma: fix various bugs in local mbox delivery
Simon Schubert [Mon, 20 Jul 2009 21:27:50 +0000 (23:27 +0200)] 
dma: fix various bugs in local mbox delivery

14 years agodma: fix mail bouncing
Simon Schubert [Mon, 20 Jul 2009 21:27:37 +0000 (23:27 +0200)] 
dma: fix mail bouncing

14 years agodma: always log error exits
Simon Schubert [Mon, 20 Jul 2009 20:48:00 +0000 (22:48 +0200)] 
dma: always log error exits

14 years agodma: drop CVS ids
Simon Schubert [Mon, 20 Jul 2009 19:58:39 +0000 (21:58 +0200)] 
dma: drop CVS ids

14 years agodma: rewrite file management
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.

14 years agodma: correct logic for setting the locked flag
Simon Schubert [Mon, 20 Jul 2009 11:33:09 +0000 (13:33 +0200)] 
dma: correct logic for setting the locked flag

14 years agodma: restructure logging
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.

14 years agodma: note that the data file provides the id
Simon Schubert [Sun, 19 Jul 2009 14:01:58 +0000 (16:01 +0200)] 
dma: note that the data file provides the id

14 years agodma: rework queue handling
Simon 'corecode' Schubert [Sun, 2 Nov 2008 00:10:10 +0000 (01:10 +0100)] 
dma: rework queue handling

14 years agodma: Move comment.
Simon 'corecode' Schubert [Mon, 27 Oct 2008 05:45:12 +0000 (06:45 +0100)] 
dma: Move comment.

14 years agodma: Re-arrange argument consistency checks.
Simon 'corecode' Schubert [Fri, 17 Oct 2008 07:32:26 +0000 (09:32 +0200)] 
dma: Re-arrange argument consistency checks.

14 years agodma: better tag handling
Simon 'corecode' Schubert [Thu, 16 Oct 2008 15:45:10 +0000 (17:45 +0200)] 
dma: better tag handling

14 years agodma: add required headers if they are not present
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.

14 years agodma: use ANSI string continuations
Simon Schubert [Thu, 16 Jul 2009 13:23:44 +0000 (15:23 +0200)] 
dma: use ANSI string continuations

14 years agodma: pass over the code and improve error handling
Simon Schubert [Thu, 16 Jul 2009 13:18:29 +0000 (15:18 +0200)] 
dma: pass over the code and improve error handling

14 years agodma: clean up network code
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

14 years agodma: treat encrypted connections as secure
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).

14 years agodma: properly close and free SSL connection state
Simon Schubert [Thu, 16 Jul 2009 11:40:12 +0000 (13:40 +0200)] 
dma: properly close and free SSL connection state

14 years agodma: log mail queueing more thoroughly
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.

14 years agodma: note that we will have to clean up SSL state
Simon Schubert [Thu, 16 Jul 2009 10:52:00 +0000 (12:52 +0200)] 
dma: note that we will have to clean up SSL state

14 years agodma: unconditionally use openssl
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.

14 years agodma: implement alternate identity for mailq
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.

14 years agodma: correctly initialize error before delivering mail
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.

14 years agodma: adjust syslog logging levels
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.

14 years agodma: always send EHLO after tls setup
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.

14 years agodma: prevent races from sharing fd between children
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>
14 years agodma: restructure set_username
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.

14 years agodma: constify bounce reason and avoid strdup
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.

14 years agodma: ignore a whole slew of sendmail options
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>
14 years agodma: better logic for guessing username
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>
14 years agodma: add the MAILNAME and MAILNAMEFILE config options
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>
14 years agodma: add FULLBOUNCE config option
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>
14 years agodma: provide proper bounce error message
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>
14 years agodma: lock temp files on creation
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>
14 years agodma: various code hardening
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>
14 years agodma: note that the -q option requires an unused argument
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>
14 years agodma: fix two typos and a word order problem
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>
14 years agodma: also list locked queue files
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>
14 years agodma: bounce message instantly on permanent remote delivery errors
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>
14 years agodma: treat a QUIT error as merely a warning
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>
14 years agodma: properly log last remote status message
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>
14 years agodma: several fixes to make dma build on non-BSD OS's
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>
15 years agodma(8): Raise WARNS to 6.
Sascha Wildner [Tue, 24 Feb 2009 22:00:55 +0000 (23:00 +0100)] 
dma(8): Raise WARNS to 6.

15 years agoRevert 4dcaa51ba4d4238e035a802067366a28527cd570
Matthias Schmidt [Sun, 8 Feb 2009 10:42:34 +0000 (11:42 +0100)] 
Revert 4dcaa51ba4d4238e035a802067366a28527cd570

This reverts the .forward commit.  I committed the code to early, there are some
bugs inside (queue handling broken and some security issues).  I back this out
until we have more time to fix all the issues or rewrite some parts from scratch.

This brings dma back in a fully working state, only the .forward stuff is gone.

Tested-by: Daniel Roethlisberger <daniel@roe.ch> and me
Ok-to-back-out: corecode@

15 years agoSilence warnings.
Sascha Wildner [Tue, 30 Sep 2008 17:47:21 +0000 (17:47 +0000)] 
Silence warnings.