From 7de713903958175e87c1f7c4967ef449ed749e7e Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Mon, 28 Sep 2020 14:50:33 +0300 Subject: Fix last resort return for message_envelope_sender. * libmailutils/mailbox/msgenv.c (message_envelope_sender): Fix conditional. Use mu_get_user_email instead of tinkering with mu_auth_data. * sieve/tests/moderator.at: Fix expected output. --- libmailutils/mailbox/msgenv.c | 14 +++++++------- sieve/tests/moderator.at | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libmailutils/mailbox/msgenv.c b/libmailutils/mailbox/msgenv.c index 530f73f3a..5ed0bded5 100644 --- a/libmailutils/mailbox/msgenv.c +++ b/libmailutils/mailbox/msgenv.c @@ -214,7 +214,7 @@ message_envelope_sender (mu_envelope_t envelope, char *buf, size_t len, mu_header_t header; int status; const char *sender; - struct mu_auth_data *auth; + char *email; static char *hdrnames[] = { "Return-Path", "X-Envelope-Sender", @@ -277,7 +277,7 @@ message_envelope_sender (mu_envelope_t envelope, char *buf, size_t len, return 0; } - if (save_i) + if (save_i != -1) { status = mu_header_sget_value (header, hdrnames[save_i], &sender); if (status == 0) @@ -287,11 +287,11 @@ message_envelope_sender (mu_envelope_t envelope, char *buf, size_t len, } } - auth = mu_get_auth_by_uid (getuid ()); - if (!auth) - return MU_ERR_NOENT; - save_return (auth->name, buf, len, pnwrite); - mu_auth_data_free (auth); + email = mu_get_user_email (NULL); + if (!email) + return errno; + save_return (email, buf, len, pnwrite); + free (email); return 0; } diff --git a/sieve/tests/moderator.at b/sieve/tests/moderator.at index 1d2dfa334..67aba7b67 100644 --- a/sieve/tests/moderator.at +++ b/sieve/tests/moderator.at @@ -30,7 +30,7 @@ sieve MUT_SIEVE_CMDLINE MUT_SIEVE_OPTIONS -f ./mailbox prog || exit 1 cat $MAIL_DUMP ], [[MSGID: 0001 -SENDER: gray@nonexistent.net +SENDER: foobar@nonexistent.net NRCPT: 1 RCPT[0]: bug-foobar-request@example.org LENGTH: 94 -- cgit v1.2.1