]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-auth: auth-master - Support sending extra_fields.
authorStephan Bosch <stephan.bosch@open-xchange.com>
Thu, 28 May 2020 21:10:41 +0000 (23:10 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 27 Aug 2020 06:20:18 +0000 (06:20 +0000)
src/lib-auth/auth-master.c
src/lib-auth/auth-master.h

index e88bd83e61eb37d83b06c6379549e0df0a7d7858..8073558263e5700ef582d763fe13affe79528f45 100644 (file)
@@ -523,6 +523,8 @@ auth_master_next_request_id(struct auth_master_connection *conn)
 
 void auth_user_info_export(string_t *str, const struct auth_user_info *info)
 {
+       const char *const *fieldp;
+
        if (info->service != NULL) {
                str_append(str, "\tservice=");
                str_append(str, info->service);
@@ -555,6 +557,12 @@ void auth_user_info_export(string_t *str, const struct auth_user_info *info)
                str_append(str, "\tforward_fields=");
                str_append_tabescaped(str, info->forward_fields);
        }
+       if (array_is_created(&info->extra_fields)) {
+               array_foreach(&info->extra_fields, fieldp) {
+                       str_append_c(str, '\t');
+                       str_append_tabescaped(str, *fieldp);
+               }
+       }
 }
 
 static void
index 6926acbed737edab1307e898bea63c7b547b7e3a..5a1a136f2de38f3a03875e178cc8bc00e3138641 100644 (file)
@@ -15,6 +15,7 @@ struct auth_user_info {
        struct ip_addr local_ip, remote_ip, real_local_ip, real_remote_ip;
        in_port_t local_port, remote_port, real_local_port, real_remote_port;
        const char *forward_fields;
+       ARRAY_TYPE(const_string) extra_fields;
        bool debug;
 };