From: Stefan Metzmacher Date: Fri, 18 Mar 2022 12:34:38 +0000 (+0100) Subject: lsa.idl: Add new functions and types X-Git-Tag: talloc-2.4.2~608 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5c72df15a87b38c0734297d90949a4e57e7b4703;p=thirdparty%2Fsamba.git lsa.idl: Add new functions and types [MS-LSAD] got new functions in order to use AES encryption and other security related features. For our servers we still pretent we don't know about the new functions and return DCERPC_FAULT_OP_RNG_ERROR. Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider --- diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl index 5f16fc06765..b80eb726062 100644 --- a/librpc/idl/lsa.idl +++ b/librpc/idl/lsa.idl @@ -686,7 +686,9 @@ import "misc.idl", "security.idl"; LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL = 10, LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL = 11, LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL = 12, - LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES = 13 + LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES = 13, + LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES= 14, + LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES= 15 } lsa_TrustDomInfoEnum; typedef [public,bitmap32bit] bitmap { @@ -786,6 +788,18 @@ import "misc.idl", "security.idl"; lsa_TrustDomainInfoAuthInfoInternal auth_info; } lsa_TrustDomainInfoFullInfoInternal; + typedef struct { + uint8 auth_data[64]; + uint8 salt[16]; + lsa_DATA_BUF2 cipher; + } lsa_TrustDomainInfoAuthInfoInternalAES; + + typedef struct { + lsa_TrustDomainInfoInfoEx info_ex; + lsa_TrustDomainInfoPosixOffset posix_offset; + lsa_TrustDomainInfoAuthInfoInternalAES auth_info; + } lsa_TrustDomainInfoFullInfoInternalAES; + typedef struct { lsa_TrustDomainInfoInfoEx info_ex; uint32 forest_trust_length; @@ -829,6 +843,10 @@ import "misc.idl", "security.idl"; lsa_TrustDomainInfoFullInfo2Internal full_info2_internal; [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] lsa_TrustDomainInfoSupportedEncTypes enc_types; + [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES)] + lsa_TrustDomainInfoAuthInfoInternalAES auth_info_internal_aes; + [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES)] + lsa_TrustDomainInfoFullInfoInternalAES full_info_internal_aes; } lsa_TrustedDomainInfo; /* Function: 0x1a */ @@ -1289,8 +1307,13 @@ import "misc.idl", "security.idl"; LSA_FOREST_TRUST_TOP_LEVEL_NAME = 0, LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX = 1, LSA_FOREST_TRUST_DOMAIN_INFO = 2, - LSA_FOREST_TRUST_RECORD_TYPE_LAST = 3 + LSA_FOREST_TRUST_BINARY_DATA = 3, + LSA_FOREST_TRUST_SCANNER_INFO = 4 } lsa_ForestTrustRecordType; + const uint32 LSA_FOREST_TRUST_RECORD_TYPE_LAST = + LSA_FOREST_TRUST_BINARY_DATA; + const uint32 LSA_FOREST_TRUST_RECORD2_TYPE_LAST = + LSA_FOREST_TRUST_SCANNER_INFO; typedef struct { [range(0,131072)] uint3264 length; @@ -1404,4 +1427,229 @@ import "misc.idl", "security.idl"; /* Function 0x51 */ [todo] NTSTATUS lsa_LSARADTREPORTSECURITYEVENT(); + /* Function 0x52 (82) */ + [todo] void lsa_Opnum82NotUsedOnWire(void); + + /* Function 0x53 (83) */ + [todo] void lsa_Opnum83NotUsedOnWire(void); + + /* Function 0x54 (84) */ + [todo] void lsa_Opnum84NotUsedOnWire(void); + + /* Function 0x55 (85) */ + [todo] void lsa_Opnum85NotUsedOnWire(void); + + /* Function 0x56 (86) */ + [todo] void lsa_Opnum86NotUsedOnWire(void); + + /* Function 0x57 (87) */ + [todo] void lsa_Opnum87NotUsedOnWire(void); + + /* Function 0x58 (88) */ + [todo] void lsa_Opnum88NotUsedOnWire(void); + + /* Function 0x59 (89) */ + [todo] void lsa_Opnum89NotUsedOnWire(void); + + /* Function 0x5A (90) */ + [todo] void lsa_Opnum90NotUsedOnWire(void); + + /* Function 0x5B (91) */ + [todo] void lsa_Opnum91NotUsedOnWire(void); + + /* Function 0x5C (92) */ + [todo] void lsa_Opnum92NotUsedOnWire(void); + + /* Function 0x5D (93) */ + [todo] void lsa_Opnum93NotUsedOnWire(void); + + /* Function 0x5E (94) */ + [todo] void lsa_Opnum94NotUsedOnWire(void); + + /* Function 0x5F (95) */ + [todo] void lsa_Opnum95NotUsedOnWire(void); + + /* Function 0x60 (96) */ + [todo] void lsa_Opnum96NotUsedOnWire(void); + + /* Function 0x61 (97) */ + [todo] void lsa_Opnum97NotUsedOnWire(void); + + /* Function 0x62 (98) */ + [todo] void lsa_Opnum98NotUsedOnWire(void); + + /* Function 0x63 (99) */ + [todo] void lsa_Opnum99NotUsedOnWire(void); + + /* Function 0x64 (100) */ + [todo] void lsa_Opnum100NotUsedOnWire(void); + + /* Function 0x65 (101) */ + [todo] void lsa_Opnum101NotUsedOnWire(void); + + /* Function 0x66 (102) */ + [todo] void lsa_Opnum102NotUsedOnWire(void); + + /* Function 0x67 (103) */ + [todo] void lsa_Opnum103NotUsedOnWire(void); + + /* Function 0x68 (104) */ + [todo] void lsa_Opnum104NotUsedOnWire(void); + + /* Function 0x69 (105) */ + [todo] void lsa_Opnum105NotUsedOnWire(void); + + /* Function 0x6A (106) */ + [todo] void lsa_Opnum106NotUsedOnWire(void); + + /* Function 0x6B (107) */ + [todo] void lsa_Opnum107NotUsedOnWire(void); + + /* Function 0x6C (108) */ + [todo] void lsa_Opnum108NotUsedOnWire(void); + + /* Function 0x6D (109) */ + [todo] void lsa_Opnum109NotUsedOnWire(void); + + /* Function 0x6E (110) */ + [todo] void lsa_Opnum110NotUsedOnWire(void); + + /* Function 0x6F (111) */ + [todo] void lsa_Opnum111NotUsedOnWire(void); + + /* Function 0x70 (112) */ + [todo] void lsa_Opnum112NotUsedOnWire(void); + + /* Function 0x71 (113) */ + [todo] void lsa_Opnum113NotUsedOnWire(void); + + /* Function 0x72 (114) */ + [todo] void lsa_Opnum114NotUsedOnWire(void); + + /* Function 0x73 (115) */ + [todo] void lsa_Opnum115NotUsedOnWire(void); + + /* Function 0x74 (116) */ + [todo] void lsa_Opnum116NotUsedOnWire(void); + + /* Function 0x75 (117) */ + [todo] void lsa_Opnum117NotUsedOnWire(void); + + /* Function 0x76 (118) */ + [todo] void lsa_Opnum118NotUsedOnWire(void); + + /* Function 0x77 (119) */ + [todo] void lsa_Opnum119NotUsedOnWire(void); + + /* Function 0x78 (120) */ + [todo] void lsa_Opnum120NotUsedOnWire(void); + + /* Function 0x79 (121) */ + [todo] void lsa_Opnum121NotUsedOnWire(void); + + /* Function 0x7A (122) */ + [todo] void lsa_Opnum122NotUsedOnWire(void); + + /* Function 0x7B (123) */ + [todo] void lsa_Opnum123NotUsedOnWire(void); + + /* Function 0x7C (124) */ + [todo] void lsa_Opnum124NotUsedOnWire(void); + + /* Function 0x7D (125) */ + [todo] void lsa_Opnum125NotUsedOnWire(void); + + /* Function 0x7E (126) */ + [todo] void lsa_Opnum126NotUsedOnWire(void); + + /* Function 0x7F (127) */ + [todo] void lsa_Opnum127NotUsedOnWire(void); + + /* Function 0x80 (128) */ + [todo] void lsa_Opnum128NotUsedOnWire(void); + + /***********************/ + /* Function 0x81 (129) */ + + NTSTATUS lsa_CreateTrustedDomainEx3( + [in] policy_handle *policy_handle, + [in] lsa_TrustDomainInfoInfoEx *info, + [in] lsa_TrustDomainInfoAuthInfoInternalAES *auth_info_internal, + [in] lsa_TrustedAccessMask access_mask, + [out] policy_handle *trustdom_handle + ); + + /***********************/ + /* Function 0x82 (130) */ + + typedef [bitmap32bit] bitmap { + LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER = 0x00000001 + } lsa_RevisionSupportedFeature; + + typedef struct { + uint32 revision; + lsa_RevisionSupportedFeature supported_features; + } lsa_revision_info1; + + typedef [switch_type(uint32)] union { + [case(1)] lsa_revision_info1 info1; + } lsa_revision_info; + + [public] NTSTATUS lsa_OpenPolicy3 ( + [in,unique] [string,charset(UTF16)] uint16 *system_name, + [in] lsa_ObjectAttribute *attr, + [in] lsa_PolicyAccessMask access_mask, + [in] uint32 in_version, + [in,ref][switch_is(in_version)] lsa_revision_info *in_revision_info, + [out,ref] uint32 *out_version, + [out,ref][switch_is(*out_version)] lsa_revision_info *out_revision_info, + [out,ref] policy_handle *handle + ); + + /* Function 0x83 (131) */ + [todo] void lsa_Opnum131NotUsedOnWire(void); + + /***********************/ + /* Function 0x84 (132) */ + typedef [switch_type(lsa_ForestTrustRecordType)] union { + [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] lsa_StringLarge top_level_name; + [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] lsa_StringLarge top_level_name_ex; + [case(LSA_FOREST_TRUST_DOMAIN_INFO)] lsa_ForestTrustDomainInfo domain_info; + [case(LSA_FOREST_TRUST_BINARY_DATA)] lsa_ForestTrustBinaryData data; + /* + * lsa_ForestTrustScannerInfo would have the same + * definition as lsa_ForestTrustDomainInfo + */ + [case(LSA_FOREST_TRUST_SCANNER_INFO)] lsa_ForestTrustDomainInfo scanner_info; + } lsa_ForestTrustData2; + + typedef struct { + lsa_ForestTrustRecordFlags flags; + lsa_ForestTrustRecordType type; + NTTIME_hyper time; + [switch_is(type)] lsa_ForestTrustData2 forest_trust_data; + } lsa_ForestTrustRecord2; + + typedef [public] struct { + [range(0,4000)] uint32 count; + [size_is(count)] lsa_ForestTrustRecord2 **entries; + } lsa_ForestTrustInformation2; + + [public] NTSTATUS lsa_lsaRQueryForestTrustInformation2( + [in] policy_handle *handle, + [in,ref] lsa_String *trusted_domain_name, + [in] lsa_ForestTrustRecordType highest_record_type, + [out,ref] lsa_ForestTrustInformation2 **forest_trust_info + ); + + /***********************/ + /* Function 0x85 (133) */ + [public] NTSTATUS lsa_lsaRSetForestTrustInformation2( + [in] policy_handle *handle, + [in,ref] lsa_StringLarge *trusted_domain_name, + [in] lsa_ForestTrustRecordType highest_record_type, + [in,ref] lsa_ForestTrustInformation2 *forest_trust_info, + [in] boolean8 check_only, + [out,ref] lsa_ForestTrustCollisionInfo **collision_info + ); } diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c index 36cac833c7c..ddb813f8086 100644 --- a/source3/rpc_server/lsa/srv_lsa_nt.c +++ b/source3/rpc_server/lsa/srv_lsa_nt.c @@ -4810,6 +4810,330 @@ NTSTATUS _lsa_LSARADTREPORTSECURITYEVENT(struct pipes_struct *p, return NT_STATUS_NOT_IMPLEMENTED; } +void _lsa_Opnum82NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum82NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum83NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum83NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum84NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum84NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum85NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum85NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum86NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum86NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum87NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum87NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum88NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum88NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum89NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum89NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum90NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum90NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum91NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum91NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum92NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum92NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum93NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum93NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum94NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum94NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum95NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum95NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum96NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum96NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum97NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum97NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum98NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum98NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum99NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum99NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum100NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum100NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum101NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum101NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum102NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum102NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum103NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum103NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum104NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum104NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum105NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum105NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum106NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum106NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum107NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum107NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum108NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum108NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum109NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum109NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum110NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum110NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum111NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum111NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum112NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum112NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum113NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum113NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum114NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum114NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum115NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum115NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum116NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum116NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum117NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum117NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum118NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum118NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum119NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum119NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum120NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum120NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum121NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum121NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum122NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum122NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum123NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum123NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum124NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum124NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum125NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum125NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum126NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum126NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum127NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum127NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +void _lsa_Opnum128NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum128NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +/*************************************************************************** + _lsa_CreateTrustedDomainEx3 + ***************************************************************************/ + +NTSTATUS _lsa_CreateTrustedDomainEx3(struct pipes_struct *p, + struct lsa_CreateTrustedDomainEx3 *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; + return NT_STATUS_NOT_IMPLEMENTED; +} + +/*************************************************************************** + _lsa_OpenPolicy3 + ***************************************************************************/ + +NTSTATUS _lsa_OpenPolicy3(struct pipes_struct *p, + struct lsa_OpenPolicy3 *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; + return NT_STATUS_NOT_IMPLEMENTED; +} + +void _lsa_Opnum131NotUsedOnWire(struct pipes_struct *p, + struct lsa_Opnum131NotUsedOnWire *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; +} + +NTSTATUS _lsa_lsaRQueryForestTrustInformation2(struct pipes_struct *p, + struct lsa_lsaRQueryForestTrustInformation2 *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; + return NT_STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS _lsa_lsaRSetForestTrustInformation2(struct pipes_struct *p, + struct lsa_lsaRSetForestTrustInformation2 *r) +{ + p->fault_state = DCERPC_FAULT_OP_RNG_ERROR; + return NT_STATUS_NOT_IMPLEMENTED; +} + #include "librpc/rpc/dcesrv_core.h" #define DCESRV_INTERFACE_LSARPC_BIND(context, iface) \ diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c index 206c002f907..3d7e26ad2fb 100644 --- a/source4/rpc_server/lsa/dcesrv_lsa.c +++ b/source4/rpc_server/lsa/dcesrv_lsa.c @@ -4715,6 +4715,519 @@ static NTSTATUS dcesrv_lsa_LSARADTREPORTSECURITYEVENT(struct dcesrv_call_state * DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); } +/* + lsa_Opnum82NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum82NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum82NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum83NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum83NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum83NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum84NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum84NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum84NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum85NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum85NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum85NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum86NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum86NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum86NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum87NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum87NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum87NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum88NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum88NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum88NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum89NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum89NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum89NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum90NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum90NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum90NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum91NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum91NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum91NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum92NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum92NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum92NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum93NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum93NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum93NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum94NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum94NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum94NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum95NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum95NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum95NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum96NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum96NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum96NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum97NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum97NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum97NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum98NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum98NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum98NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum99NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum99NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum99NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum100NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum100NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum100NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum101NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum101NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum101NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum102NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum102NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum102NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum103NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum103NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum103NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum104NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum104NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum104NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum105NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum105NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum105NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum106NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum106NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum106NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum107NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum107NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum107NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum108NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum108NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum108NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum109NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum109NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum109NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum110NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum110NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum110NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum111NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum111NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum111NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum112NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum112NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum112NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum113NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum113NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum113NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum114NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum114NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum114NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum115NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum115NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum115NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum116NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum116NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum116NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum117NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum117NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum117NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum118NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum118NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum118NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum119NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum119NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum119NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum120NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum120NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum120NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum121NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum121NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum121NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum122NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum122NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum122NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum123NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum123NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum123NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum124NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum124NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum124NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum125NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum125NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum125NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum126NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum126NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum126NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum127NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum127NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum127NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum128NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum128NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum128NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_CreateTrustedDomainEx3 +*/ +static NTSTATUS dcesrv_lsa_CreateTrustedDomainEx3(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_CreateTrustedDomainEx3 *r) +{ + /* TODO */ + DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_Opnum131NotUsedOnWire +*/ +static void dcesrv_lsa_Opnum131NotUsedOnWire(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_Opnum131NotUsedOnWire *r) +{ + DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_lsaRQueryForestTrustInformation2 +*/ +static NTSTATUS dcesrv_lsa_lsaRQueryForestTrustInformation2( + struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_lsaRQueryForestTrustInformation2 *r) +{ + /* TODO */ + DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); +} + +/* + lsa_lsaRSetForestTrustInformation2 +*/ +static NTSTATUS dcesrv_lsa_lsaRSetForestTrustInformation2(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_lsaRSetForestTrustInformation2 *r) +{ + /* TODO */ + DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); +} /* include the generated boilerplate */ #include "librpc/gen_ndr/ndr_lsa_s.c" diff --git a/source4/rpc_server/lsa/lsa_init.c b/source4/rpc_server/lsa/lsa_init.c index ce41d4e42bb..f29ae259c6f 100644 --- a/source4/rpc_server/lsa/lsa_init.c +++ b/source4/rpc_server/lsa/lsa_init.c @@ -219,6 +219,17 @@ NTSTATUS dcesrv_lsa_get_policy_state(struct dcesrv_call_state *dce_call, return NT_STATUS_OK; } +/* + lsa_OpenPolicy3 +*/ +NTSTATUS dcesrv_lsa_OpenPolicy3(struct dcesrv_call_state *dce_call, + TALLOC_CTX *mem_ctx, + struct lsa_OpenPolicy3 *r) +{ + /* TODO */ + DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); +} + /* lsa_OpenPolicy2 */