s3/smbd: Ensure quota code is only called when quota support detected
authorNoel Power <noel.power@suse.com>
Tue, 7 Aug 2018 10:06:34 +0000 (11:06 +0100)
committerJeremy Allison <jra@samba.org>
Fri, 10 Aug 2018 00:43:33 +0000 (02:43 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13563

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Aug 10 02:43:33 CEST 2018 on sn-devel-144

source3/smbd/smb2_getinfo.c
source3/smbd/smb2_setinfo.c

index 05c57db902d1b63669cd35badcaa8b999f87b116..7bded422520ddcbc98096874fc21922005a050c8 100644 (file)
@@ -523,6 +523,7 @@ static struct tevent_req *smbd_smb2_getinfo_send(TALLOC_CTX *mem_ctx,
        }
 
        case SMB2_GETINFO_QUOTA: {
+#ifdef HAVE_SYS_QUOTAS
                struct smb2_query_quota_info info;
                enum ndr_err_code err;
                uint8_t *data = NULL;
@@ -602,6 +603,10 @@ static struct tevent_req *smbd_smb2_getinfo_send(TALLOC_CTX *mem_ctx,
                status  = NT_STATUS_OK;
                TALLOC_FREE(tmp_ctx);
                break;
+#else
+               tevent_req_nterror(req, NT_STATUS_NOT_SUPPORTED);
+               return tevent_req_post(req, ev);
+#endif
        }
 
        default:
index 7ed24231a83d93fbd5968e84fc51c07cab50f8f7..9b4620a52761cea04c064e91bc9362387fd71127 100644 (file)
@@ -556,6 +556,7 @@ static struct tevent_req *smbd_smb2_setinfo_send(TALLOC_CTX *mem_ctx,
 
        case 0x04:/* SMB2_SETINFO_QUOTA */
        {
+#ifdef HAVE_SYS_QUOTAS
                struct file_quota_information info = {0};
                SMB_NTQUOTA_STRUCT qt = {0};
                enum ndr_err_code err;
@@ -588,6 +589,10 @@ static struct tevent_req *smbd_smb2_setinfo_send(TALLOC_CTX *mem_ctx,
                }
                status = NT_STATUS_OK;
                break;
+#else
+               tevent_req_nterror(req, NT_STATUS_NOT_SUPPORTED);
+               return tevent_req_post(req, ev);
+#endif
        }
        default:
                tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);