On Sat, Jan 31, 2004 at 09:32:29PM -0000, Aaron Stone wrote:
> The new delivery chain requires a temporary account with the fixed user id
> number 0. The next release candidate should probably include an appropriate
> insert/update to add this user (note that it needs to be an insert and then an
> update, because the insert alone with '0' triggers the auto_increment.
dbmail-smtp doesn't check the return value from insert_messages and
return EX_TEMPFAIL to the calling process (the mta) so the message just
gets dropped.
here's a patch:
Index: main.c
===================================================================
RCS file: /cvsroot-dbmail/dbmail/main.c,v
retrieving revision 1.43
diff -u -r1.43 main.c
--- main.c 2004/01/30 16:24:35 1.43
+++ main.c 2004/02/01 18:11:12
@@ -190,8 +190,10 @@
}
/* inserting messages into the database */
- insert_messages(stdin, header, headersize, &users, &errusers, &returnpath,
- users_are_usernames, deliver_to_mailbox, &mimelist);
+ if (insert_messages(stdin, header, headersize, &users, &errusers, &returnpath,
+ users_are_usernames, deliver_to_mailbox, &mimelist) == -1) {
+ trace(TRACE_FATAL, "main(): insert_messages failed");
+ }
trace(TRACE_DEBUG,"main(): freeing memory blocks");
my_free(header);
list_freelist(&sysItems.start);
xn
> The new delivery chain requires a temporary account with the fixed user id
> number 0. The next release candidate should probably include an appropriate
> insert/update to add this user (note that it needs to be an insert and then an
> update, because the insert alone with '0' triggers the auto_increment.
dbmail-smtp doesn't check the return value from insert_messages and
return EX_TEMPFAIL to the calling process (the mta) so the message just
gets dropped.
here's a patch:
Index: main.c
===================================================================
RCS file: /cvsroot-dbmail/dbmail/main.c,v
retrieving revision 1.43
diff -u -r1.43 main.c
--- main.c 2004/01/30 16:24:35 1.43
+++ main.c 2004/02/01 18:11:12
@@ -190,8 +190,10 @@
}
/* inserting messages into the database */
- insert_messages(stdin, header, headersize, &users, &errusers, &returnpath,
- users_are_usernames, deliver_to_mailbox, &mimelist);
+ if (insert_messages(stdin, header, headersize, &users, &errusers, &returnpath,
+ users_are_usernames, deliver_to_mailbox, &mimelist) == -1) {
+ trace(TRACE_FATAL, "main(): insert_messages failed");
+ }
trace(TRACE_DEBUG,"main(): freeing memory blocks");
my_free(header);
list_freelist(&sysItems.start);
xn