summaryrefslogtreecommitdiffstats
path: root/source/rpc_parse
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2003-04-09 15:47:06 +0000
committerVolker Lendecke <vlendec@samba.org>2003-04-09 15:47:06 +0000
commitecd0ee4d248e750168597ccf79c389513bb0f740 (patch)
tree33377af16182aaf79b778f367c51f71b862f04bf /source/rpc_parse
parent8fd9450c8363021e23256903578fabbf77083978 (diff)
downloadsamba-ecd0ee4d248e750168597ccf79c389513bb0f740.tar.gz
samba-ecd0ee4d248e750168597ccf79c389513bb0f740.tar.xz
samba-ecd0ee4d248e750168597ccf79c389513bb0f740.zip
This is the netlogon schannel client code. Try a
rpcclient -S pdc -U% -c "samlogon user password" and it should work with the schannel. Needs testing platforms different from NT4SP6. Volker
Diffstat (limited to 'source/rpc_parse')
-rw-r--r--source/rpc_parse/parse_rpc.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/source/rpc_parse/parse_rpc.c b/source/rpc_parse/parse_rpc.c
index 700ce8cfd6e..656082e05ae 100644
--- a/source/rpc_parse/parse_rpc.c
+++ b/source/rpc_parse/parse_rpc.c
@@ -1129,6 +1129,18 @@ BOOL smb_io_rpc_auth_ntlmssp_chk(const char *desc, RPC_AUTH_NTLMSSP_CHK *chk, pr
}
/*******************************************************************
+creates an RPC_AUTH_NETSEC_NEG structure.
+********************************************************************/
+void init_rpc_auth_netsec_neg(RPC_AUTH_NETSEC_NEG *neg,
+ const char *domain, const char *myname)
+{
+ neg->unknown1 = 0;
+ neg->unknown2 = 0x13;
+ fstrcpy(neg->domain, domain);
+ fstrcpy(neg->myname, myname);
+}
+
+/*******************************************************************
Reads or writes an RPC_AUTH_NETSEC_NEG structure.
********************************************************************/
@@ -1148,11 +1160,11 @@ BOOL smb_io_rpc_auth_netsec_neg(const char *desc, RPC_AUTH_NETSEC_NEG *neg,
return False;
if(!prs_uint32("unknown2", ps, depth, &neg->unknown2))
return False;
- if(!prs_string("domain ", ps, depth, neg->domain,
- strlen(&ps->data_p[ps->data_offset]), sizeof(neg->domain)))
- return False;
if(!prs_string("myname ", ps, depth, neg->myname,
- strlen(&ps->data_p[ps->data_offset]), sizeof(neg->myname)))
+ strlen(neg->myname), sizeof(neg->myname)))
+ return False;
+ if(!prs_string("domain ", ps, depth, neg->domain,
+ strlen(neg->domain), sizeof(neg->domain)))
return False;
return True;