]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:libsmb: use HDR_* defines in cli_state_dispatch_smb1()
authorStefan Metzmacher <metze@samba.org>
Mon, 24 Oct 2011 16:13:09 +0000 (18:13 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 24 Oct 2011 23:47:22 +0000 (01:47 +0200)
metze

source3/libsmb/async_smb.c

index 7213e9848f89f9c762917eaadc7a12e35ca0d71d..587e0e36d849e9b938cd8d3f5915736c07116f4e 100644 (file)
@@ -680,9 +680,10 @@ static NTSTATUS cli_state_dispatch_smb1(struct cli_state *cli,
        int i;
        uint16_t mid;
        bool oplock_break;
+       const uint8_t *inhdr = inbuf + NBT_HDR_SIZE;
 
-       if ((IVAL(inbuf, 4) != 0x424d53ff) /* 0xFF"SMB" */
-           && (SVAL(inbuf, 4) != 0x45ff)) /* 0xFF"E" */ {
+       if ((IVAL(inhdr, 0) != SMB_MAGIC) /* 0xFF"SMB" */
+           && (SVAL(inhdr, 0) != 0x45ff)) /* 0xFF"E" */ {
                DEBUG(10, ("Got non-SMB PDU\n"));
                return NT_STATUS_INVALID_NETWORK_RESPONSE;
        }
@@ -713,7 +714,7 @@ static NTSTATUS cli_state_dispatch_smb1(struct cli_state *cli,
                }
        }
 
-       mid = SVAL(inbuf, smb_mid);
+       mid = SVAL(inhdr, HDR_MID);
        num_pending = talloc_array_length(cli->conn.pending);
 
        for (i=0; i<num_pending; i++) {
@@ -733,10 +734,10 @@ static NTSTATUS cli_state_dispatch_smb1(struct cli_state *cli,
                 * Paranoia checks that this is really an oplock break request.
                 */
                oplock_break = (smb_len_nbt(inbuf) == 51); /* hdr + 8 words */
-               oplock_break &= ((CVAL(inbuf, smb_flg) & FLAG_REPLY) == 0);
-               oplock_break &= (CVAL(inbuf, smb_com) == SMBlockingX);
-               oplock_break &= (SVAL(inbuf, smb_vwv6) == 0);
-               oplock_break &= (SVAL(inbuf, smb_vwv7) == 0);
+               oplock_break &= ((CVAL(inhdr, HDR_FLG) & FLAG_REPLY) == 0);
+               oplock_break &= (CVAL(inhdr, HDR_COM) == SMBlockingX);
+               oplock_break &= (SVAL(inhdr, HDR_VWV+VWV(6)) == 0);
+               oplock_break &= (SVAL(inhdr, HDR_VWV+VWV(7)) == 0);
 
                if (!oplock_break) {
                        /* Dump unexpected reply */