summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--librpc/idl/ntlmssp.idl12
-rw-r--r--librpc/wscript_build5
-rw-r--r--source4/librpc/wscript_build6
3 files changed, 17 insertions, 6 deletions
diff --git a/librpc/idl/ntlmssp.idl b/librpc/idl/ntlmssp.idl
index 6b228869f90..4799066d7c4 100644
--- a/librpc/idl/ntlmssp.idl
+++ b/librpc/idl/ntlmssp.idl
@@ -207,10 +207,10 @@ interface ntlmssp
uint8 ChallengeFromClient[8];
} LMv2_RESPONSE;
- typedef [nopython,nodiscriminant] union {
+ typedef [nodiscriminant] union {
[case(24)] LM_RESPONSE v1;
[default];
- } ntlmssp_LM_RESPONSE;
+ } ntlmssp_LM_RESPONSE_with_len;
/* [MS-NLMP] 2.2.2.6 NTLM_RESPONSE */
@@ -238,11 +238,11 @@ interface ntlmssp
NTLMv2_CLIENT_CHALLENGE Challenge;
} NTLMv2_RESPONSE;
- typedef [public,nopython,nodiscriminant] union {
+ typedef [public,nodiscriminant] union {
[case(0)] ;
[case(0x18)] NTLM_RESPONSE v1;
[default] NTLMv2_RESPONSE v2;
- } ntlmssp_NTLM_RESPONSE;
+ } ntlmssp_NTLM_RESPONSE_with_len;
const int NTLMSSP_MIC_OFFSET = 72;
const int NTLMSSP_MIC_SIZE = 16;
@@ -258,10 +258,10 @@ interface ntlmssp
[value(NtLmAuthenticate)] ntlmssp_MessageType MessageType;
uint16 LmChallengeResponseLen;
[value(LmChallengeResponseLen)] uint16 LmChallengeResponseMaxLen;
- [relative] [subcontext(0),subcontext_size(LmChallengeResponseLen),switch_is(LmChallengeResponseLen)] ntlmssp_LM_RESPONSE *LmChallengeResponse;
+ [relative] [subcontext(0),subcontext_size(LmChallengeResponseLen),switch_is(LmChallengeResponseLen)] ntlmssp_LM_RESPONSE_with_len *LmChallengeResponse;
uint16 NtChallengeResponseLen;
[value(NtChallengeResponseLen)] uint16 NtChallengeResponseMaxLen;
- [relative] [subcontext(0),subcontext_size(NtChallengeResponseMaxLen),switch_is(NtChallengeResponseLen)] ntlmssp_NTLM_RESPONSE *NtChallengeResponse;
+ [relative] [subcontext(0),subcontext_size(NtChallengeResponseMaxLen),switch_is(NtChallengeResponseLen)] ntlmssp_NTLM_RESPONSE_with_len *NtChallengeResponse;
[value(ndr_ntlmssp_string_length(NegotiateFlags, DomainName))] uint16 DomainNameLen;
[value(DomainNameLen)] uint16 DomainNameMaxLen;
[relative] [subcontext(0),subcontext_size(DomainNameLen)] [flag(ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags))] string *DomainName;
diff --git a/librpc/wscript_build b/librpc/wscript_build
index 55a6f7ab684..c4b647c242d 100644
--- a/librpc/wscript_build
+++ b/librpc/wscript_build
@@ -515,6 +515,11 @@ bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSBLOBS',
public_deps='dcerpc-binding NDR_DRSBLOBS'
)
+bld.SAMBA_SUBSYSTEM('RPC_NDR_NTLMSSP',
+ source='gen_ndr/ndr_ntlmssp_c.c',
+ public_deps='dcerpc-binding NDR_NTLMSSP'
+ )
+
bld.SAMBA_SUBSYSTEM('RPC_NDR_POLICYAGENT',
source='gen_ndr/ndr_policyagent_c.c',
public_deps='dcerpc-binding NDR_POLICYAGENT'
diff --git a/source4/librpc/wscript_build b/source4/librpc/wscript_build
index bb098ab2a5a..a14215bc5ac 100644
--- a/source4/librpc/wscript_build
+++ b/source4/librpc/wscript_build
@@ -246,6 +246,12 @@ for env in bld.gen_python_environments():
realname='samba/dcerpc/drsblobs.so'
)
+ bld.SAMBA_PYTHON('python_dcerpc_ntlmssp',
+ source='../../librpc/gen_ndr/py_ntlmssp.c',
+ deps='%s %s RPC_NDR_NTLMSSP' % (pytalloc_util, pyrpc_util),
+ realname='samba/dcerpc/ntlmssp.so'
+ )
+
bld.SAMBA_PYTHON('python_srvsvc',
source='../../librpc/gen_ndr/py_srvsvc.c',
deps='RPC_NDR_SRVSVC pytalloc-util pyrpc_util',