From 929e10b5fb7533973cbe2d79b14c86098510ac86 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 11 Jun 2019 14:35:25 +0200 Subject: [PATCH] s3:smbd: Use gnutls_error_to_ntstatus() in smb2_server Signed-off-by: Andreas Schneider Reviewed-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett --- source3/smbd/smb2_server.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 7b6e82ba2f0..5b4ec271ae6 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -32,6 +32,7 @@ #include "auth.h" #include "libcli/smb/smbXcli_base.h" +#include "libcli/util/gnutls_error.h" #include #include @@ -3022,14 +3023,14 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req) rc = gnutls_hash_init(&hash_hnd, GNUTLS_DIG_SHA512); if (rc < 0) { - return NT_STATUS_NO_MEMORY; + return gnutls_error_to_ntstatus(rc, NT_STATUS_HASH_NOT_SUPPORTED); } rc = gnutls_hash(hash_hnd, req->preauth->sha512_value, sizeof(req->preauth->sha512_value)); if (rc < 0) { gnutls_hash_deinit(hash_hnd, NULL); - return NT_STATUS_INTERNAL_ERROR; + return gnutls_error_to_ntstatus(rc, NT_STATUS_HASH_NOT_SUPPORTED); } for (i = 1; i < req->in.vector_count; i++) { rc = gnutls_hash(hash_hnd, @@ -3037,12 +3038,12 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req) req->in.vector[i].iov_len); if (rc < 0) { gnutls_hash_deinit(hash_hnd, NULL); - return NT_STATUS_INTERNAL_ERROR; + return gnutls_error_to_ntstatus(rc, NT_STATUS_HASH_NOT_SUPPORTED); } } if (rc < 0) { gnutls_hash_deinit(hash_hnd, NULL); - return NT_STATUS_INTERNAL_ERROR; + return gnutls_error_to_ntstatus(rc, NT_STATUS_HASH_NOT_SUPPORTED); } gnutls_hash_output(hash_hnd, req->preauth->sha512_value); @@ -3051,7 +3052,7 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req) sizeof(req->preauth->sha512_value)); if (rc < 0) { gnutls_hash_deinit(hash_hnd, NULL); - return NT_STATUS_INTERNAL_ERROR; + return gnutls_error_to_ntstatus(rc, NT_STATUS_HASH_NOT_SUPPORTED); } for (i = 1; i < req->out.vector_count; i++) { rc = gnutls_hash(hash_hnd, @@ -3059,7 +3060,7 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req) req->out.vector[i].iov_len); if (rc < 0) { gnutls_hash_deinit(hash_hnd, NULL); - return NT_STATUS_INTERNAL_ERROR; + return gnutls_error_to_ntstatus(rc, NT_STATUS_HASH_NOT_SUPPORTED); } } -- 2.47.3