if (data_blob_len == 0) {
/* an invalid request */
reply_nterror(req, nt_status_squash(NT_STATUS_LOGON_FAILURE));
+ DO_PROFILE_INC_AUTH_FAILED();
return;
}
vuid, now,
&session);
if (NT_STATUS_EQUAL(status, NT_STATUS_USER_SESSION_DELETED)) {
+ DO_PROFILE_INC_AUTH_FAILED();
reply_force_doserror(req, ERRSRV, ERRbaduid);
return;
}
TALLOC_FREE(session->pending_auth);
}
if (!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
status = smbXsrv_session_create(xconn,
now, &session);
if (!NT_STATUS_IS_OK(status)) {
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
0, /* security */
&auth);
if (!NT_STATUS_IS_OK(status)) {
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
&auth->gensec);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("Failed to start SPNEGO handler!\n"));
TALLOC_FREE(session);;
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
if (!NT_STATUS_IS_OK(status) &&
!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
nt_errstr(status)));
data_blob_free(&out_blob);
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
if (!NT_STATUS_IS_OK(status)) {
data_blob_free(&out_blob);
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, status);
return;
}
(unsigned long long)session->global->session_wire_id));
data_blob_free(&out_blob);
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, NT_STATUS_LOGON_FAILURE);
return;
}
nt_errstr(status)));
data_blob_free(&out_blob);
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, NT_STATUS_LOGON_FAILURE);
return;
}
nt_errstr(status)));
data_blob_free(&out_blob);
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, nt_status_squash(status));
return;
}
nt_errstr(status)));
data_blob_free(&out_blob);
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, NT_STATUS_LOGON_FAILURE);
return;
}
if (message_push_blob(&req->outbuf, out_blob) == -1) {
data_blob_free(&out_blob);
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, NT_STATUS_NO_MEMORY);
return;
}
if (push_signature(&req->outbuf) == -1) {
TALLOC_FREE(session);
+ DO_PROFILE_INC_AUTH_FAILED();
reply_nterror(req, NT_STATUS_NO_MEMORY);
return;
}
+
+ if (NT_STATUS_IS_OK(status)) {
+ DO_PROFILE_INC_AUTH_SUCCESS();
+ }
}
/****************************************************************************
state = talloc_zero(req, struct reply_sesssetup_and_X_state);
if (state == NULL) {
reply_nterror(req, NT_STATUS_NO_MEMORY);
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
"negotiated.\n"));
reply_nterror(req, nt_status_squash(
NT_STATUS_LOGON_FAILURE));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
if ((passlen1 > MAX_PASS_LEN) || (passlen1 > req->buflen)) {
reply_nterror(req, nt_status_squash(
NT_STATUS_INVALID_PARAMETER));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
|| passlen1 > smbreq_bufrem(req, p)) {
reply_nterror(req, nt_status_squash(
NT_STATUS_INVALID_PARAMETER));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
|| passlen2 > smbreq_bufrem(req, p+passlen1)) {
reply_nterror(req, nt_status_squash(
NT_STATUS_INVALID_PARAMETER));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
if (!pass) {
reply_nterror(req, nt_status_squash(
NT_STATUS_INVALID_PARAMETER));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
"negotiating spnego.\n"));
reply_nterror(req, nt_status_squash(
NT_STATUS_LOGON_FAILURE));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
"session setup without negprot denied!\n"));
reply_nterror(req, nt_status_squash(
NT_STATUS_LOGON_FAILURE));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
if (!NT_STATUS_IS_OK(nt_status)) {
reply_nterror(req, nt_status_squash(nt_status));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
TALLOC_FREE(state->user_info);
if (!NT_STATUS_IS_OK(nt_status)) {
reply_nterror(req, nt_status_squash(nt_status));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
now, &session);
if (!NT_STATUS_IS_OK(nt_status)) {
reply_nterror(req, nt_status_squash(nt_status));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(session);
reply_nterror(req, status);
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
if (session->global->application_key_blob.data == NULL) {
TALLOC_FREE(session);
reply_nterror(req, NT_STATUS_NO_MEMORY);
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
if (session_info->session_key.data == NULL) {
TALLOC_FREE(session);
reply_nterror(req, NT_STATUS_NO_MEMORY);
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
nt_errstr(nt_status)));
TALLOC_FREE(session);
reply_nterror(req, nt_status_squash(nt_status));
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
(unsigned long long)session->global->session_wire_id));
TALLOC_FREE(session);
reply_nterror(req, NT_STATUS_LOGON_FAILURE);
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
if (!xconn->smb1.sessions.done_sesssetup) {
if (smb_bufsize < SMB_BUFFER_SIZE_MIN) {
reply_force_doserror(req, ERRSRV, ERRerror);
+ DO_PROFILE_INC_AUTH_FAILED();
END_PROFILE(SMBsesssetupX);
return;
}
}
TALLOC_FREE(state);
+ DO_PROFILE_INC_AUTH_SUCCESS();
END_PROFILE(SMBsesssetupX);
}