diff options
Diffstat (limited to 'source3/librpc/gen_ndr/srv_lsa.c')
-rw-r--r-- | source3/librpc/gen_ndr/srv_lsa.c | 200 |
1 files changed, 199 insertions, 1 deletions
diff --git a/source3/librpc/gen_ndr/srv_lsa.c b/source3/librpc/gen_ndr/srv_lsa.c index 20d564b65f..c9780580d6 100644 --- a/source3/librpc/gen_ndr/srv_lsa.c +++ b/source3/librpc/gen_ndr/srv_lsa.c @@ -133,6 +133,12 @@ static BOOL api_lsa_EnumPrivs(pipes_struct *p) } r.out.resume_handle = r.in.resume_handle; + r.out.privs = talloc_size(mem_ctx, sizeof(*r.out.privs)); + if (r.out.privs == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_EnumPrivs(p, r.in.handle, r.in.resume_handle, r.in.max_count, r.out.privs); push = ndr_push_init_ctx(mem_ctx); @@ -183,6 +189,12 @@ static BOOL api_lsa_QuerySecurity(pipes_struct *p) return False; } + r.out.sdbuf = talloc_size(mem_ctx, sizeof(*r.out.sdbuf)); + if (r.out.sdbuf == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_QuerySecurity(p, r.in.handle, r.in.sec_info, r.out.sdbuf); push = ndr_push_init_ctx(mem_ctx); @@ -333,6 +345,12 @@ static BOOL api_lsa_OpenPolicy(pipes_struct *p) return False; } + r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle)); + if (r.out.handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_OpenPolicy(p, r.in.system_name, r.in.attr, r.in.access_mask, r.out.handle); push = ndr_push_init_ctx(mem_ctx); @@ -383,6 +401,12 @@ static BOOL api_lsa_QueryInfoPolicy(pipes_struct *p) return False; } + r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info)); + if (r.out.info == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_QueryInfoPolicy(p, r.in.handle, r.in.level, r.out.info); push = ndr_push_init_ctx(mem_ctx); @@ -533,6 +557,12 @@ static BOOL api_lsa_CreateAccount(pipes_struct *p) return False; } + r.out.acct_handle = talloc_size(mem_ctx, sizeof(*r.out.acct_handle)); + if (r.out.acct_handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_CreateAccount(p, r.in.handle, r.in.sid, r.in.access_mask, r.out.acct_handle); push = ndr_push_init_ctx(mem_ctx); @@ -584,6 +614,12 @@ static BOOL api_lsa_EnumAccounts(pipes_struct *p) } r.out.resume_handle = r.in.resume_handle; + r.out.sids = talloc_size(mem_ctx, sizeof(*r.out.sids)); + if (r.out.sids == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_EnumAccounts(p, r.in.handle, r.in.resume_handle, r.in.num_entries, r.out.sids); push = ndr_push_init_ctx(mem_ctx); @@ -634,6 +670,12 @@ static BOOL api_lsa_CreateTrustedDomain(pipes_struct *p) return False; } + r.out.trustdom_handle = talloc_size(mem_ctx, sizeof(*r.out.trustdom_handle)); + if (r.out.trustdom_handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_CreateTrustedDomain(p, r.in.handle, r.in.info, r.in.access_mask, r.out.trustdom_handle); push = ndr_push_init_ctx(mem_ctx); @@ -685,6 +727,12 @@ static BOOL api_lsa_EnumTrustDom(pipes_struct *p) } r.out.resume_handle = r.in.resume_handle; + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_EnumTrustDom(p, r.in.handle, r.in.resume_handle, r.in.max_size, r.out.domains); push = ndr_push_init_ctx(mem_ctx); @@ -735,6 +783,12 @@ static BOOL api_lsa_LookupNames(pipes_struct *p) return False; } + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.sids = r.in.sids; r.out.count = r.in.count; r.out.result = _lsa_LookupNames(p, r.in.handle, r.in.num_names, r.in.names, r.out.domains, r.in.sids, r.in.level, r.in.count); @@ -787,6 +841,12 @@ static BOOL api_lsa_LookupSids(pipes_struct *p) return False; } + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.names = r.in.names; r.out.count = r.in.count; r.out.result = _lsa_LookupSids(p, r.in.handle, r.in.sids, r.out.domains, r.in.names, r.in.level, r.in.count); @@ -839,6 +899,12 @@ static BOOL api_lsa_CreateSecret(pipes_struct *p) return False; } + r.out.sec_handle = talloc_size(mem_ctx, sizeof(*r.out.sec_handle)); + if (r.out.sec_handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_CreateSecret(p, r.in.handle, r.in.name, r.in.access_mask, r.out.sec_handle); push = ndr_push_init_ctx(mem_ctx); @@ -889,6 +955,12 @@ static BOOL api_lsa_OpenAccount(pipes_struct *p) return False; } + r.out.acct_handle = talloc_size(mem_ctx, sizeof(*r.out.acct_handle)); + if (r.out.acct_handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_OpenAccount(p, r.in.handle, r.in.sid, r.in.access_mask, r.out.acct_handle); push = ndr_push_init_ctx(mem_ctx); @@ -939,6 +1011,12 @@ static BOOL api_lsa_EnumPrivsAccount(pipes_struct *p) return False; } + r.out.privs = talloc_size(mem_ctx, sizeof(*r.out.privs)); + if (r.out.privs == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_EnumPrivsAccount(p, r.in.handle, r.out.privs); push = ndr_push_init_ctx(mem_ctx); @@ -1289,6 +1367,12 @@ static BOOL api_lsa_OpenTrustedDomain(pipes_struct *p) return False; } + r.out.trustdom_handle = talloc_size(mem_ctx, sizeof(*r.out.trustdom_handle)); + if (r.out.trustdom_handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_OpenTrustedDomain(p, r.in.handle, r.in.sid, r.in.access_mask, r.out.trustdom_handle); push = ndr_push_init_ctx(mem_ctx); @@ -1339,6 +1423,12 @@ static BOOL api_lsa_QueryTrustedDomainInfo(pipes_struct *p) return False; } + r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info)); + if (r.out.info == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_QueryTrustedDomainInfo(p, r.in.trustdom_handle, r.in.level, r.out.info); push = ndr_push_init_ctx(mem_ctx); @@ -1439,6 +1529,12 @@ static BOOL api_lsa_OpenSecret(pipes_struct *p) return False; } + r.out.sec_handle = talloc_size(mem_ctx, sizeof(*r.out.sec_handle)); + if (r.out.sec_handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_OpenSecret(p, r.in.handle, r.in.name, r.in.access_mask, r.out.sec_handle); push = ndr_push_init_ctx(mem_ctx); @@ -1593,6 +1689,12 @@ static BOOL api_lsa_LookupPrivValue(pipes_struct *p) return False; } + r.out.luid = talloc_size(mem_ctx, sizeof(*r.out.luid)); + if (r.out.luid == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_LookupPrivValue(p, r.in.handle, r.in.name, r.out.luid); push = ndr_push_init_ctx(mem_ctx); @@ -1643,6 +1745,12 @@ static BOOL api_lsa_LookupPrivName(pipes_struct *p) return False; } + r.out.name = talloc_size(mem_ctx, sizeof(*r.out.name)); + if (r.out.name == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_LookupPrivName(p, r.in.handle, r.in.luid, r.out.name); push = ndr_push_init_ctx(mem_ctx); @@ -1693,6 +1801,12 @@ static BOOL api_lsa_LookupPrivDisplayName(pipes_struct *p) return False; } + r.out.disp_name = talloc_size(mem_ctx, sizeof(*r.out.disp_name)); + if (r.out.disp_name == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.language_id = r.in.language_id; r.out.result = _lsa_LookupPrivDisplayName(p, r.in.handle, r.in.name, r.out.disp_name, r.in.language_id, r.in.unknown); @@ -1794,6 +1908,12 @@ static BOOL api_lsa_EnumAccountsWithUserRight(pipes_struct *p) return False; } + r.out.sids = talloc_size(mem_ctx, sizeof(*r.out.sids)); + if (r.out.sids == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_EnumAccountsWithUserRight(p, r.in.handle, r.in.name, r.out.sids); push = ndr_push_init_ctx(mem_ctx); @@ -1844,6 +1964,12 @@ static BOOL api_lsa_EnumAccountRights(pipes_struct *p) return False; } + r.out.rights = talloc_size(mem_ctx, sizeof(*r.out.rights)); + if (r.out.rights == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_EnumAccountRights(p, r.in.handle, r.in.sid, r.out.rights); push = ndr_push_init_ctx(mem_ctx); @@ -1994,6 +2120,12 @@ static BOOL api_lsa_QueryTrustedDomainInfoBySid(pipes_struct *p) return False; } + r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info)); + if (r.out.info == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_QueryTrustedDomainInfoBySid(p, r.in.handle, r.in.dom_sid, r.in.level, r.out.info); push = ndr_push_init_ctx(mem_ctx); @@ -2244,6 +2376,12 @@ static BOOL api_lsa_OpenPolicy2(pipes_struct *p) return False; } + r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle)); + if (r.out.handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_OpenPolicy2(p, r.in.system_name, r.in.attr, r.in.access_mask, r.out.handle); push = ndr_push_init_ctx(mem_ctx); @@ -2346,6 +2484,12 @@ static BOOL api_lsa_QueryInfoPolicy2(pipes_struct *p) return False; } + r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info)); + if (r.out.info == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_QueryInfoPolicy2(p, r.in.handle, r.in.level, r.out.info); push = ndr_push_init_ctx(mem_ctx); @@ -2446,6 +2590,12 @@ static BOOL api_lsa_QueryTrustedDomainInfoByName(pipes_struct *p) return False; } + r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info)); + if (r.out.info == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_QueryTrustedDomainInfoByName(p, r.in.handle, r.in.trusted_domain, r.in.level, r.out.info); push = ndr_push_init_ctx(mem_ctx); @@ -2547,6 +2697,12 @@ static BOOL api_lsa_EnumTrustedDomainsEx(pipes_struct *p) } r.out.resume_handle = r.in.resume_handle; + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_EnumTrustedDomainsEx(p, r.in.handle, r.in.resume_handle, r.out.domains, r.in.max_size); push = ndr_push_init_ctx(mem_ctx); @@ -2698,6 +2854,12 @@ static BOOL api_lsa_QueryDomainInformationPolicy(pipes_struct *p) return False; } + r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info)); + if (r.out.info == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_QueryDomainInformationPolicy(p, r.in.handle, r.in.level, r.out.info); push = ndr_push_init_ctx(mem_ctx); @@ -2798,6 +2960,12 @@ static BOOL api_lsa_OpenTrustedDomainByName(pipes_struct *p) return False; } + r.out.trustdom_handle = talloc_size(mem_ctx, sizeof(*r.out.trustdom_handle)); + if (r.out.trustdom_handle == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.result = _lsa_OpenTrustedDomainByName(p, r.in.handle, r.in.name, r.in.access_mask, r.out.trustdom_handle); push = ndr_push_init_ctx(mem_ctx); @@ -2898,6 +3066,12 @@ static BOOL api_lsa_LookupSids2(pipes_struct *p) return False; } + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.names = r.in.names; r.out.count = r.in.count; r.out.result = _lsa_LookupSids2(p, r.in.handle, r.in.sids, r.out.domains, r.in.names, r.in.level, r.in.count, r.in.unknown1, r.in.unknown2); @@ -2950,6 +3124,12 @@ static BOOL api_lsa_LookupNames2(pipes_struct *p) return False; } + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.sids = r.in.sids; r.out.count = r.in.count; r.out.result = _lsa_LookupNames2(p, r.in.handle, r.in.num_names, r.in.names, r.out.domains, r.in.sids, r.in.level, r.in.count, r.in.unknown1, r.in.unknown2); @@ -3452,6 +3632,12 @@ static BOOL api_lsa_LookupNames3(pipes_struct *p) return False; } + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.sids = r.in.sids; r.out.count = r.in.count; r.out.result = _lsa_LookupNames3(p, r.in.handle, r.in.num_names, r.in.names, r.out.domains, r.in.sids, r.in.level, r.in.count, r.in.unknown1, r.in.unknown2); @@ -3854,6 +4040,12 @@ static BOOL api_lsa_LookupSids3(pipes_struct *p) return False; } + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.names = r.in.names; r.out.count = r.in.count; r.out.result = _lsa_LookupSids3(p, r.in.sids, r.out.domains, r.in.names, r.in.level, r.in.count, r.in.unknown1, r.in.unknown2); @@ -3906,6 +4098,12 @@ static BOOL api_lsa_LookupNames4(pipes_struct *p) return False; } + r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains)); + if (r.out.domains == NULL) { + talloc_free(mem_ctx); + return False; + } + r.out.sids = r.in.sids; r.out.count = r.in.count; r.out.result = _lsa_LookupNames4(p, r.in.num_names, r.in.names, r.out.domains, r.in.sids, r.in.level, r.in.count, r.in.unknown1, r.in.unknown2); @@ -4227,7 +4425,7 @@ void lsarpc_get_pipe_fns(struct api_struct **fns, int *n_fns) *n_fns = sizeof(api_lsarpc_cmds) / sizeof(struct api_struct); } -NTSTATUS rpc_netdfs_init(void) +NTSTATUS rpc_lsarpc_init(void) { return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "lsarpc", "lsarpc", api_lsarpc_cmds, sizeof(api_lsarpc_cmds) / sizeof(struct api_struct)); } |