summaryrefslogtreecommitdiff
path: root/pipe.c
diff options
context:
space:
mode:
authoraaron <aaron@7b491191-dbf0-0310-aff6-d879d4d69008>2006-02-17 13:46:06 +0000
committeraaron <aaron@7b491191-dbf0-0310-aff6-d879d4d69008>2006-02-17 13:46:06 +0000
commitc3417a719f93d5733d2414e1b0c793e3c8d5a399 (patch)
tree8987bbdce08f34e711cfdfc422f580e693054188 /pipe.c
parentaf861cbfd73dbcc70dd0a5b1a78f5a289afb6aa8 (diff)
* dbmail-message.h, dbmail-message.c:
Changed get/set envelope to get/set envelope_recipient, i.e. the current delivery address, totally different from the Return-Path. Duh. * pipe.h, pipe.c, main.c, lmtp.c: Removed the returnpath lists, put in single valued return path variables, and directly set the Return-Path header. * sort.h, sort.c, modules/sortsieve.c: Updated return path to get the Return-Path header, and updated the getenvelope function to actually get the envelope recipient. git-svn-id: https://svn.ic-s.nl/svn/dbmail/trunk/dbmail@1987 7b491191-dbf0-0310-aff6-d879d4d69008
Diffstat (limited to 'pipe.c')
-rw-r--r--pipe.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/pipe.c b/pipe.c
index 455f0f44..8e5ca8e6 100644
--- a/pipe.c
+++ b/pipe.c
@@ -418,20 +418,14 @@ int store_message_in_blocks(const char *message, u64_t message_size,
*/
int insert_messages(struct DbmailMessage *message,
struct dm_list *headerfields,
- struct dm_list *dsnusers,
- struct dm_list *returnpath)
+ struct dm_list *dsnusers)
{
char *header;
u64_t headersize, bodysize, rfcsize;
u64_t tmpid;
- struct element *element, *ret_path;
+ struct element *element;
u64_t msgsize;
- /* Only the last step of the returnpath is used. */
- if ((ret_path = dm_list_getstart(returnpath))) {
- dbmail_message_set_header(message, "Return-Path", (char *)ret_path->data);
- }
-
delivery_status_t final_dsn;
/* first start a new database transaction */
@@ -480,8 +474,7 @@ int insert_messages(struct DbmailMessage *message,
switch (sort_and_deliver(message,
delivery->address, useridnr,
- delivery->mailbox, delivery->source,
- ret_path->data)) {
+ delivery->mailbox, delivery->source)) {
case DSN_CLASS_OK:
/* Indicate success. */
trace(TRACE_DEBUG, "%s, %s: successful sort_and_deliver for useridnr [%llu]",
@@ -560,7 +553,9 @@ int insert_messages(struct DbmailMessage *message,
__FILE__, __func__);
/* Forward using the temporary stored message. */
- if (forward(tmpid, delivery->forwards, (ret_path ? ret_path->data : "DBMAIL-MAILER"), header, headersize) < 0)
+ if (forward(tmpid, delivery->forwards,
+ dbmail_message_get_header(message, "Return-Path"),
+ header, headersize) < 0)
/* FIXME: if forward fails, we should do something
* sensible. Currently, the message is just black-
* holed! */