for (tmp = args; *tmp != NULL; tmp++) {
if (str_begins(*tmp, "resp=")) {
base64_data = *tmp + 5;
+ } else if (str_begins(*tmp, "event_")) {
+ const char *key = *tmp + 6;
+ const char *value = strchr(key, '=');
+ if (value != NULL) {
+ event_add_str(request->event,
+ t_strdup_until(key, value), value+1);
+ }
}
args_parse_user(request, *tmp);
}
}
} else if (str_begins(key, "forward_")) {
/* these are passed to upstream */
+ } else if (str_begins(key, "event_")) {
+ /* add name to event */
+ event_add_str(client->event, key + 6, value);
} else
e_debug(event_auth, "Ignoring unknown passdb extra field: %s", key);
}
nologin = TRUE;
} else if (strcmp(args[i], "anonymous") == 0 ) {
client->auth_anonymous = TRUE;
+ } else if (str_begins(args[i], "event_")) {
+ const char *key = args[i] + 6;
+ const char *value = strchr(key, '=');
+ if (value != NULL) {
+ event_add_str(client->event,
+ t_strdup_until(key, value),
+ value+1);
+ }
} else if (str_begins(args[i], "resp=") &&
login_binary->sasl_support_final_reply) {
client->sasl_final_resp =