if (auth_token != NULL &&
str_equals_timing_almost_safe(auth_token, valid_token)) {
- request->request->passdb_success = TRUE;
auth_request_set_field(request->request, "userdb_client_service", service, "");
sasl_server_request_success(request, NULL, 0);
} else {
output->data_size);
break;
case SASL_SERVER_OUTPUT_SUCCESS:
+ if (sasl_server_mech_get_passdb_need(rctx->mech) ==
+ SASL_MECH_PASSDB_NEED_NOTHING)
+ request->passdb_success = TRUE;
+
auth_request_success(request, output->data, output->data_size);
break;
}
return;
}
- request->request->passdb_success = TRUE;
sasl_server_request_success(request, "", 0);
}
/* Continue in callback once auth_request is populated with passdb
information. */
- auth_request->request->passdb_success = TRUE; /* default to success */
sasl_server_request_lookup_credentials(auth_request, "",
gssapi_credentials_callback);
(void)gss_release_buffer(&minor_status, &outbuf);
user))
return HR_FAIL;
- request->auth_request.request->passdb_success = TRUE;
if (gss_spnego && strcmp(token[1], "*") != 0) {
buffer_t *buf;