event_add_str(request->event, "transport", "secured");
}
}
+ else if (strcmp(key, "final-resp-ok") == 0)
+ fields->final_resp_ok = TRUE;
else if (strcmp(key, "no-penalty") == 0)
fields->no_penalty = TRUE;
else if (strcmp(key, "valid-client-cert") == 0)
return;
}
+ if (ctx->success_data->used > 0 && !request->fields.final_resp_ok) {
+ /* we'll need one more SASL round, since client doesn't support
+ the final SASL response */
+ auth_request_handler_reply_continue(request,
+ ctx->success_data->data, ctx->success_data->used);
+ return;
+ }
+
auth_request_set_state(request, AUTH_REQUEST_STATE_FINISHED);
auth_request_refresh_last_access(request);
auth_request_handler_reply(request, AUTH_CLIENT_RESULT_SUCCESS,
bool skip_password_check:1;
/* flags received from auth client: */
+ bool final_resp_ok:1;
bool no_penalty:1;
bool valid_client_cert:1;
bool cert_username:1;
event_add_str(request->event, "mechanism", info->mech);
event_add_str(request->event, "service", info->service);
+ str_append(str, "\tfinal-resp-ok");
if ((info->flags & AUTH_REQUEST_FLAG_CONN_SECURED) != 0) {
str_append(str, "\tsecured");
if ((info->flags & AUTH_REQUEST_FLAG_CONN_SECURED_TLS) != 0) {