]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: Add allow_root flag to smtp_submit_input and smtp_submit_session
authorMartti Rannanjärvi <martti.rannanjarvi@open-xchange.com>
Mon, 20 Apr 2020 10:46:38 +0000 (13:46 +0300)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Fri, 24 Apr 2020 08:00:08 +0000 (08:00 +0000)
This is to make it possible to run make check on Debian fakeroot later.

src/lib-smtp/smtp-submit.c
src/lib-smtp/smtp-submit.h

index 1e853ec896148ecb3ccf8bbc87ec7d3084b1572b..e8a1577fd39c0a2c550b128bbc51470fe4abf0ad 100644 (file)
@@ -31,6 +31,7 @@ struct smtp_submit_session {
        struct smtp_submit_settings set;
        struct ssl_iostream_settings ssl_set;
        struct event *event;
+       bool allow_root:1;
 };
 
 struct smtp_submit {
@@ -84,6 +85,7 @@ smtp_submit_session_init(const struct smtp_submit_input *input,
                ssl_iostream_settings_init_from(pool, &session->ssl_set,
                                                input->ssl);
        }
+       session->allow_root = input->allow_root;
 
        session->event = event_create(input->event_parent);
        event_add_category(session->event, &event_category_smtp_submit);
@@ -416,6 +418,7 @@ smtp_submit_send_sendmail(struct smtp_submit *subm)
        pc_set.input_idle_timeout_msecs = set->submission_timeout * 1000;
        pc_set.debug = set->mail_debug;
        pc_set.event = subm->event;
+       pc_set.allow_root = subm->session->allow_root;
        restrict_access_init(&pc_set.restrict_set);
 
        pc = program_client_local_create
index f52dc4f92d1c6d774d5705566d6e1f055ad88b5e..6a00f56f10ecd9fc1ed25b85586660e7b633019e 100644 (file)
@@ -15,6 +15,9 @@ struct smtp_submit_input {
 
        /* Event to use as parent for the submit event */
        struct event *event_parent;
+
+       /* Allow running sendmail as root */
+       bool allow_root:1;
 };
 
 struct smtp_submit_result {