nmbd/nmbd_processlogon.c: Fix from Luke.
authorJeremy Allison <jra@samba.org>
Thu, 13 Apr 2000 18:38:08 +0000 (18:38 +0000)
committerJeremy Allison <jra@samba.org>
Thu, 13 Apr 2000 18:38:08 +0000 (18:38 +0000)
rpc_parse/parse_rpc.c: Changes from TNG (thanks Luke) for NTLMSSP parsing.
smbd/reply.c: Fixed typo in debug.
Jeremy.

source/nmbd/nmbd_processlogon.c
source/rpc_parse/parse_rpc.c

index 47467f132dca58a261737a0a421d9d5e4e552d20..3c0df6995e9aca650f8f032c9b75459241f586a0 100644 (file)
@@ -203,7 +203,6 @@ reporting %s domain %s 0x%x ntversion=%x lm_nt token=%x lm_20 token=%x\n",
       q += 4; /* Account Control Bits - indicating username type */
       domainsidsize = IVAL(q, 0);
       q += 4;
-      q += domainsidsize + 3;
 
       if (domainsidsize != 0) {
              q += domainsidsize;
index a7c0b07a7f39043d266f5e7cbedcaf8659ed52a5..ab5361e80fb232ffaf5128f34e7e08ee7974571e 100644 (file)
@@ -693,6 +693,7 @@ void init_rpc_auth_ntlmssp_neg(RPC_AUTH_NTLMSSP_NEG *neg,
 
 BOOL smb_io_rpc_auth_ntlmssp_neg(char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_struct *ps, int depth)
 {
+       uint32 start_offset = prs_offset(ps);
        if (neg == NULL)
                return False;
 
@@ -719,8 +720,7 @@ BOOL smb_io_rpc_auth_ntlmssp_neg(char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_stru
 
                old_offset = prs_offset(ps);
 
-               /* lkclXXXX HACK! */
-               if(!prs_set_offset(ps, neg->hdr_myname.buffer + 0x50))
+               if(!prs_set_offset(ps, neg->hdr_myname.buffer + start_offset - 12))
                        return False;
 
                if(!prs_uint8s(True, "myname", ps, depth, (uint8*)neg->myname, 
@@ -729,8 +729,7 @@ BOOL smb_io_rpc_auth_ntlmssp_neg(char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_stru
 
                old_offset += neg->hdr_myname.str_str_len;
 
-               /* lkclXXXX HACK! */
-               if(!prs_set_offset(ps, neg->hdr_domain.buffer + 0x50))
+               if(!prs_set_offset(ps, neg->hdr_domain.buffer + start_offset - 12))
                        return False;
 
                if(!prs_uint8s(True, "domain", ps, depth, (uint8*)neg->domain, 
@@ -916,7 +915,7 @@ BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_st
 
                old_offset = prs_offset(ps);
 
-               if(!prs_set_offset(ps, rsp->hdr_domain.buffer + 0x1c))
+               if(!prs_set_offset(ps, rsp->hdr_domain.buffer + 0xc))
                        return False;
 
                if(!prs_uint8s(True , "domain  ", ps, depth, (uint8*)rsp->domain,
@@ -925,7 +924,7 @@ BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_st
 
                old_offset += rsp->hdr_domain.str_str_len;
 
-               if(!prs_set_offset(ps, rsp->hdr_usr.buffer + 0x1c))
+               if(!prs_set_offset(ps, rsp->hdr_usr.buffer + 0xc))
                        return False;
 
                if(!prs_uint8s(True , "user    ", ps, depth, (uint8*)rsp->user,
@@ -934,7 +933,7 @@ BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_st
 
                old_offset += rsp->hdr_usr.str_str_len;
 
-               if(!prs_set_offset(ps, rsp->hdr_wks.buffer + 0x1c))
+               if(!prs_set_offset(ps, rsp->hdr_wks.buffer + 0xc))
                        return False;
 
                if(!prs_uint8s(True, "wks     ", ps, depth, (uint8*)rsp->wks,
@@ -943,7 +942,7 @@ BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_st
 
                old_offset += rsp->hdr_wks.str_str_len;
 
-               if(!prs_set_offset(ps, rsp->hdr_lm_resp.buffer + 0x1c))
+               if(!prs_set_offset(ps, rsp->hdr_lm_resp.buffer + 0xc))
                        return False;
 
                if(!prs_uint8s(False, "lm_resp ", ps, depth, (uint8*)rsp->lm_resp,
@@ -952,7 +951,7 @@ BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_st
 
                old_offset += rsp->hdr_lm_resp.str_str_len;
 
-               if(!prs_set_offset(ps, rsp->hdr_nt_resp.buffer + 0x1c))
+               if(!prs_set_offset(ps, rsp->hdr_nt_resp.buffer + 0xc))
                        return False;
 
                if(!prs_uint8s(False, "nt_resp ", ps, depth, (uint8*)rsp->nt_resp,
@@ -963,7 +962,7 @@ BOOL smb_io_rpc_auth_ntlmssp_resp(char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_st
 
                if (rsp->hdr_sess_key.str_str_len != 0) {
 
-                       if(!prs_set_offset(ps, rsp->hdr_sess_key.buffer + 0x1c))
+                       if(!prs_set_offset(ps, rsp->hdr_sess_key.buffer + 0x10))
                                return False;
 
                        old_offset += rsp->hdr_sess_key.str_str_len;