PROXY_SSL_FLAG_STARTTLS;
if (strcmp(value, "any-cert") == 0)
reply_r->ssl_flags |= PROXY_SSL_FLAG_ANY_CERT;
- } else if (strcmp(key, "user") == 0) {
- /* already handled in login-common */
+ } else if (strcmp(key, "user") == 0 ||
+ strcmp(key, "postlogin_socket") == 0) {
+ /* already handled in sasl-server.c */
} else if (client->set->auth_debug)
i_debug("Ignoring unknown passdb extra field: %s", key);
}
struct ssl_proxy *ssl_proxy;
const struct login_settings *set;
const struct master_service_ssl_settings *ssl_set;
- const char *session_id, *listener_name;
+ const char *session_id, *listener_name, *postlogin_socket_path;
int fd;
struct istream *input;
memset(¶ms, 0, sizeof(params));
params.client_fd = client->fd;
+ params.socket_path = client->postlogin_socket_path;
params.request = req;
params.data = buf->data;
master_auth_request_full(master_auth, ¶ms, master_auth_callback,
client->auth_request = NULL;
client->auth_successes++;
client->auth_passdb_args = p_strarray_dup(client->pool, args);
+ client->postlogin_socket_path = NULL;
nologin = FALSE;
for (i = 0; args[i] != NULL; i++) {
i_free(client->virtual_auth_user);
client->virtual_auth_user =
i_strdup(args[i] + 10);
+ } else if (strncmp(args[i], "postlogin_socket=", 17) == 0) {
+ client->postlogin_socket_path =
+ p_strdup(client->pool, args[i] + 17);
} else if (strcmp(args[i], "nologin") == 0 ||
strcmp(args[i], "proxy") == 0) {
/* user can't login */