s3:smb2_server: remove max_charge check in smbd_smb2_request_verify_creditcharge()
authorStefan Metzmacher <metze@samba.org>
Fri, 29 Jun 2012 11:16:11 +0000 (13:16 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 29 Jun 2012 13:21:08 +0000 (15:21 +0200)
The client can send any credit charge value, it's ok to send more than needed.

metze

Signed-off-by: Michael Adam <obnox@samba.org>
source3/smbd/smb2_server.c

index c9c6431b81aef06e5b0cc69290dc90f3981b2070..0abd4fcd64060adbd452b5aaced73873e58e8f2c 100644 (file)
@@ -1437,7 +1437,6 @@ NTSTATUS smbd_smb2_request_verify_creditcharge(struct smbd_smb2_request *req,
 {
        uint16_t needed_charge;
        uint16_t credit_charge = 1;
-       uint16_t max_charge = 1;
        const uint8_t *inhdr;
        int i = req->current_idx;
 
@@ -1446,14 +1445,6 @@ NTSTATUS smbd_smb2_request_verify_creditcharge(struct smbd_smb2_request *req,
        if (req->sconn->smb2.supports_multicredit) {
                credit_charge = SVAL(inhdr, SMB2_HDR_CREDIT_CHARGE);
                credit_charge = MAX(credit_charge, 1);
-
-               /*
-                * TODO: should we limit this here
-                * to a transport specific value?
-                *
-                * TODO: we need tests for this?
-                */
-               max_charge = UINT16_MAX;
        }
 
        needed_charge = (data_length - 1)/ 65536 + 1;
@@ -1468,13 +1459,6 @@ NTSTATUS smbd_smb2_request_verify_creditcharge(struct smbd_smb2_request *req,
                return NT_STATUS_INVALID_PARAMETER;
        }
 
-       if (credit_charge > max_charge) {
-               DEBUG(2, ("CreditCharge too high, given %d, "
-                         "needed %d, allowed %d\n",
-                         credit_charge, needed_charge, max_charge));
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
        return NT_STATUS_OK;
 }