diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2020-09-28 14:50:33 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2020-09-28 14:50:33 +0300 |
commit | 7de713903958175e87c1f7c4967ef449ed749e7e (patch) | |
tree | 5fb3df92d9bc47d78e932072f4780c5a5fdbf5a7 | |
parent | 5ca6382fe8adb5bc436a6d873c8b86c69d5abfd1 (diff) | |
download | mailutils-7de713903958175e87c1f7c4967ef449ed749e7e.tar.gz mailutils-7de713903958175e87c1f7c4967ef449ed749e7e.tar.bz2 |
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.
-rw-r--r-- | libmailutils/mailbox/msgenv.c | 14 | ||||
-rw-r--r-- | 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 @@ -211,13 +211,13 @@ message_envelope_sender (mu_envelope_t envelope, char *buf, size_t len, size_t *pnwrite) { mu_message_t msg = mu_envelope_get_owner (envelope); mu_header_t header; int status; const char *sender; - struct mu_auth_data *auth; + char *email; static char *hdrnames[] = { "Return-Path", "X-Envelope-Sender", "X-Envelope-From", "X-Original-Sender", "From", @@ -274,27 +274,27 @@ message_envelope_sender (mu_envelope_t envelope, char *buf, size_t len, } save_return (sender, buf, len, pnwrite); mu_address_destroy (&address); return 0; } - if (save_i) + if (save_i != -1) { status = mu_header_sget_value (header, hdrnames[save_i], &sender); if (status == 0) { save_return (sender, buf, len, pnwrite); return 0; } } - 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; } int mu_message_reconstruct_envelope (mu_message_t msg, mu_envelope_t *penv) 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 @@ -27,13 +27,13 @@ chmod +w mailbox MAIL_DUMP=`pwd`/mail.dump export MAIL_DUMP 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 To: bug-foobar-request@example.org Subject: confirm 7e02c99a82a21a2349291a4f142ee2347bb5fd0b |