summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2019-06-11 15:21:03 +0200
committerAndreas Schneider <asn@cryptomilk.org>2019-06-24 06:11:17 +0000
commitaaf41bf96fdba39239c4aa6c8c9ed7386b27f507 (patch)
treeb35a1ac14bd80c547153c4d70085a5c0bd67dcaa /auth
parentd9a6cbd9e14e7564877ad262b81c1e4f1eb21b4c (diff)
downloadsamba-aaf41bf96fdba39239c4aa6c8c9ed7386b27f507.tar.gz
auth:ntlmssp: Use gnutls_error_to_ntstatus() in ntlmssp_sign
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'auth')
-rw-r--r--auth/ntlmssp/ntlmssp_sign.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/auth/ntlmssp/ntlmssp_sign.c b/auth/ntlmssp/ntlmssp_sign.c
index 40f9027d7cf..1c4b11174cb 100644
--- a/auth/ntlmssp/ntlmssp_sign.c
+++ b/auth/ntlmssp/ntlmssp_sign.c
@@ -24,6 +24,7 @@
#include "zlib.h"
#include "../auth/ntlmssp/ntlmssp_private.h"
+#include "libcli/util/gnutls_error.h"
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
@@ -60,20 +61,17 @@ static NTSTATUS calc_ntlmv2_key(uint8_t subkey[16],
rc = gnutls_hash_init(&hash_hnd, GNUTLS_DIG_MD5);
if (rc < 0) {
- if (rc == GNUTLS_E_UNWANTED_ALGORITHM) {
- return NT_STATUS_NTLM_BLOCKED;
- }
- return NT_STATUS_NO_MEMORY;
+ return gnutls_error_to_ntstatus(rc, NT_STATUS_NTLM_BLOCKED);
}
rc = gnutls_hash(hash_hnd, session_key.data, session_key.length);
if (rc < 0) {
gnutls_hash_deinit(hash_hnd, NULL);
- return NT_STATUS_NO_MEMORY;
+ return gnutls_error_to_ntstatus(rc, NT_STATUS_NTLM_BLOCKED);
}
rc = gnutls_hash(hash_hnd, constant, strlen(constant) + 1);
if (rc < 0) {
gnutls_hash_deinit(hash_hnd, NULL);
- return NT_STATUS_INTERNAL_ERROR;
+ return gnutls_error_to_ntstatus(rc, NT_STATUS_NTLM_BLOCKED);
}
gnutls_hash_deinit(hash_hnd, subkey);
@@ -120,10 +118,7 @@ static NTSTATUS ntlmssp_make_packet_signature(struct ntlmssp_state *ntlmssp_stat
ntlmssp_state->crypt->ntlm2.sending.sign_key,
16);
if (rc < 0) {
- if (rc == GNUTLS_E_UNWANTED_ALGORITHM) {
- return NT_STATUS_NTLM_BLOCKED;
- }
- return NT_STATUS_NO_MEMORY;
+ return gnutls_error_to_ntstatus(rc, NT_STATUS_NTLM_BLOCKED);
}
break;
case NTLMSSP_RECEIVE:
@@ -141,10 +136,7 @@ static NTSTATUS ntlmssp_make_packet_signature(struct ntlmssp_state *ntlmssp_stat
ntlmssp_state->crypt->ntlm2.receiving.sign_key,
16);
if (rc < 0) {
- if (rc == GNUTLS_E_UNWANTED_ALGORITHM) {
- return NT_STATUS_NTLM_BLOCKED;
- }
- return NT_STATUS_NO_MEMORY;
+ return gnutls_error_to_ntstatus(rc, NT_STATUS_NTLM_BLOCKED);
}
break;
}
@@ -154,12 +146,12 @@ static NTSTATUS ntlmssp_make_packet_signature(struct ntlmssp_state *ntlmssp_stat
rc = gnutls_hmac(hmac_hnd, seq_num, sizeof(seq_num));
if (rc < 0) {
gnutls_hmac_deinit(hmac_hnd, NULL);
- return NT_STATUS_INTERNAL_ERROR;
+ return gnutls_error_to_ntstatus(rc, NT_STATUS_NTLM_BLOCKED);
}
rc = gnutls_hmac(hmac_hnd, whole_pdu, pdu_length);
if (rc < 0) {
gnutls_hmac_deinit(hmac_hnd, NULL);
- return NT_STATUS_INTERNAL_ERROR;
+ return gnutls_error_to_ntstatus(rc, NT_STATUS_NTLM_BLOCKED);
}
gnutls_hmac_deinit(hmac_hnd, digest);