--- ChangeLog (revision 1890) +++ ChangeLog (revision 1904) @@ -1,3 +1,12 @@ +2005-10-01 Paul J Stevens + + * ChangeLog, debian/patches/04_mailfilter.dpatch: + added postgres table to mailfilter patch + * debian/changelog, serverchild.c, sql/mysql/create_tables.mysql, + sql/mysql/create_tables_innoDB.mysql: + change dbmail_messageblks.messageblk from longtext to longblob in mysql + create scripts + 2005-09-27 Paul J Stevens * ChangeLog, buildtools/config.guess, buildtools/config.sub, --- dsn.c (revision 1890) +++ dsn.c (revision 1904) @@ -309,8 +309,10 @@ */ else { /* from: 'if (delivery->useridnr != 0)' */ - alias_count = - auth_check_user_ext(delivery->address, + if (! strlen(delivery->address)) + return 0; + + alias_count = auth_check_user_ext(delivery->address, delivery->userids, delivery->forwards, 0); trace(TRACE_DEBUG, --- auth/authsql.c (revision 1890) +++ auth/authsql.c (revision 1904) @@ -385,6 +385,9 @@ return 0; } + if (strlen(username) < 1) + return 0; + saveres = db_get_result_set(); db_set_result_set(NULL); --- main.c (revision 1890) +++ main.c (revision 1904) @@ -405,27 +405,25 @@ /* If the NORMAL delivery mode has been selected... */ if (deliver_to_header != NULL) { /* parse for destination addresses */ - trace(TRACE_DEBUG, "main(): scanning for [%s]", - deliver_to_header); - if (mail_adr_list(deliver_to_header, &users, &mimelist) != - 0) { - trace(TRACE_STOP, - "main(): scanner found no email addresses (scanned for %s)", + trace(TRACE_DEBUG, "main(): scanning for [%s]", deliver_to_header); + if (mail_adr_list(deliver_to_header, &users, &mimelist) != 0) { + trace(TRACE_STOP, "main(): scanner found no email addresses (scanned for %s)", deliver_to_header); exitcode = EX_NOUSER; goto freeall; } /* Loop through the users list, moving the entries into the dsnusers list. */ - for (tmp = list_getstart(&users); tmp != NULL; - tmp = tmp->nextnode) { - deliver_to_user_t dsnuser; + for (tmp = list_getstart(&users); tmp != NULL; tmp = tmp->nextnode) { + if (! (strlen((char *)tmp->data) > 0)) + continue; + + deliver_to_user_t dsnuser; dsnuser_init(&dsnuser); dsnuser.address = dm_strdup((char *) tmp->data); - list_nodeadd(&dsnusers, &dsnuser, - sizeof(deliver_to_user_t)); + list_nodeadd(&dsnusers, &dsnuser, sizeof(deliver_to_user_t)); } } @@ -433,11 +431,10 @@ if (deliver_to_mailbox != NULL) { trace(TRACE_DEBUG, "main(): setting mailbox for all deliveries to [%s]", deliver_to_mailbox); + /* Loop through the dsnusers list, setting the destination mailbox. */ - for (tmp = list_getstart(&dsnusers); tmp != NULL; - tmp = tmp->nextnode) { + for (tmp = list_getstart(&dsnusers); tmp != NULL; tmp = tmp->nextnode) ((deliver_to_user_t *)tmp->data)->mailbox = dm_strdup(deliver_to_mailbox); - } } if (dsnuser_resolve_list(&dsnusers) == -1) {