call = &ndr_table_lsarpc.calls[NDR_LSA_CLOSE];
- r = talloc(NULL, struct lsa_Close);
+ r = talloc(talloc_tos(), struct lsa_Close);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_Close, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_DELETE];
- r = talloc(NULL, struct lsa_Delete);
+ r = talloc(talloc_tos(), struct lsa_Delete);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_Delete, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMPRIVS];
- r = talloc(NULL, struct lsa_EnumPrivs);
+ r = talloc(talloc_tos(), struct lsa_EnumPrivs);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_EnumPrivs, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYSECURITY];
- r = talloc(NULL, struct lsa_QuerySecurity);
+ r = talloc(talloc_tos(), struct lsa_QuerySecurity);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.sdbuf = talloc_zero(r, struct sec_desc_buf);
+ r->out.sdbuf = talloc_zero(r, struct sec_desc_buf *);
if (r->out.sdbuf == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QuerySecurity, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETSECOBJ];
- r = talloc(NULL, struct lsa_SetSecObj);
+ r = talloc(talloc_tos(), struct lsa_SetSecObj);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetSecObj, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CHANGEPASSWORD];
- r = talloc(NULL, struct lsa_ChangePassword);
+ r = talloc(talloc_tos(), struct lsa_ChangePassword);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_ChangePassword, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_OPENPOLICY];
- r = talloc(NULL, struct lsa_OpenPolicy);
+ r = talloc(talloc_tos(), struct lsa_OpenPolicy);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_OpenPolicy, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYINFOPOLICY];
- r = talloc(NULL, struct lsa_QueryInfoPolicy);
+ r = talloc(talloc_tos(), struct lsa_QueryInfoPolicy);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.info = talloc_zero(r, union lsa_PolicyInformation);
+ r->out.info = talloc_zero(r, union lsa_PolicyInformation *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QueryInfoPolicy, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETINFOPOLICY];
- r = talloc(NULL, struct lsa_SetInfoPolicy);
+ r = talloc(talloc_tos(), struct lsa_SetInfoPolicy);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetInfoPolicy, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CLEARAUDITLOG];
- r = talloc(NULL, struct lsa_ClearAuditLog);
+ r = talloc(talloc_tos(), struct lsa_ClearAuditLog);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_ClearAuditLog, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREATEACCOUNT];
- r = talloc(NULL, struct lsa_CreateAccount);
+ r = talloc(talloc_tos(), struct lsa_CreateAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CreateAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMACCOUNTS];
- r = talloc(NULL, struct lsa_EnumAccounts);
+ r = talloc(talloc_tos(), struct lsa_EnumAccounts);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_EnumAccounts, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREATETRUSTEDDOMAIN];
- r = talloc(NULL, struct lsa_CreateTrustedDomain);
+ r = talloc(talloc_tos(), struct lsa_CreateTrustedDomain);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CreateTrustedDomain, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMTRUSTDOM];
- r = talloc(NULL, struct lsa_EnumTrustDom);
+ r = talloc(talloc_tos(), struct lsa_EnumTrustDom);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_EnumTrustDom, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES];
- r = talloc(NULL, struct lsa_LookupNames);
+ r = talloc(talloc_tos(), struct lsa_LookupNames);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+ r->out.sids = r->in.sids;
+ r->out.count = r->in.count;
+ r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
if (r->out.domains == NULL) {
talloc_free(r);
return false;
}
- r->out.sids = r->in.sids;
- r->out.count = r->in.count;
r->out.result = _lsa_LookupNames(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupNames, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPSIDS];
- r = talloc(NULL, struct lsa_LookupSids);
+ r = talloc(talloc_tos(), struct lsa_LookupSids);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+ r->out.names = r->in.names;
+ r->out.count = r->in.count;
+ r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
if (r->out.domains == NULL) {
talloc_free(r);
return false;
}
- r->out.names = r->in.names;
- r->out.count = r->in.count;
r->out.result = _lsa_LookupSids(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupSids, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREATESECRET];
- r = talloc(NULL, struct lsa_CreateSecret);
+ r = talloc(talloc_tos(), struct lsa_CreateSecret);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CreateSecret, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_OPENACCOUNT];
- r = talloc(NULL, struct lsa_OpenAccount);
+ r = talloc(talloc_tos(), struct lsa_OpenAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_OpenAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMPRIVSACCOUNT];
- r = talloc(NULL, struct lsa_EnumPrivsAccount);
+ r = talloc(talloc_tos(), struct lsa_EnumPrivsAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.privs = talloc_zero(r, struct lsa_PrivilegeSet);
+ r->out.privs = talloc_zero(r, struct lsa_PrivilegeSet *);
if (r->out.privs == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_EnumPrivsAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ADDPRIVILEGESTOACCOUNT];
- r = talloc(NULL, struct lsa_AddPrivilegesToAccount);
+ r = talloc(talloc_tos(), struct lsa_AddPrivilegesToAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_AddPrivilegesToAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_REMOVEPRIVILEGESFROMACCOUNT];
- r = talloc(NULL, struct lsa_RemovePrivilegesFromAccount);
+ r = talloc(talloc_tos(), struct lsa_RemovePrivilegesFromAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_RemovePrivilegesFromAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_GETQUOTASFORACCOUNT];
- r = talloc(NULL, struct lsa_GetQuotasForAccount);
+ r = talloc(talloc_tos(), struct lsa_GetQuotasForAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_GetQuotasForAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETQUOTASFORACCOUNT];
- r = talloc(NULL, struct lsa_SetQuotasForAccount);
+ r = talloc(talloc_tos(), struct lsa_SetQuotasForAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetQuotasForAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_GETSYSTEMACCESSACCOUNT];
- r = talloc(NULL, struct lsa_GetSystemAccessAccount);
+ r = talloc(talloc_tos(), struct lsa_GetSystemAccessAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_IN_DEBUG(lsa_GetSystemAccessAccount, r);
}
+ ZERO_STRUCT(r->out);
+ r->out.access_mask = talloc_zero(r, uint32_t);
+ if (r->out.access_mask == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
r->out.result = _lsa_GetSystemAccessAccount(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_GetSystemAccessAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETSYSTEMACCESSACCOUNT];
- r = talloc(NULL, struct lsa_SetSystemAccessAccount);
+ r = talloc(talloc_tos(), struct lsa_SetSystemAccessAccount);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetSystemAccessAccount, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_OPENTRUSTEDDOMAIN];
- r = talloc(NULL, struct lsa_OpenTrustedDomain);
+ r = talloc(talloc_tos(), struct lsa_OpenTrustedDomain);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_OpenTrustedDomain, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYTRUSTEDDOMAININFO];
- r = talloc(NULL, struct lsa_QueryTrustedDomainInfo);
+ r = talloc(talloc_tos(), struct lsa_QueryTrustedDomainInfo);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo);
+ r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QueryTrustedDomainInfo, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETINFORMATIONTRUSTEDDOMAIN];
- r = talloc(NULL, struct lsa_SetInformationTrustedDomain);
+ r = talloc(talloc_tos(), struct lsa_SetInformationTrustedDomain);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetInformationTrustedDomain, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_OPENSECRET];
- r = talloc(NULL, struct lsa_OpenSecret);
+ r = talloc(talloc_tos(), struct lsa_OpenSecret);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_OpenSecret, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETSECRET];
- r = talloc(NULL, struct lsa_SetSecret);
+ r = talloc(talloc_tos(), struct lsa_SetSecret);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetSecret, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYSECRET];
- r = talloc(NULL, struct lsa_QuerySecret);
+ r = talloc(talloc_tos(), struct lsa_QuerySecret);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QuerySecret, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPPRIVVALUE];
- r = talloc(NULL, struct lsa_LookupPrivValue);
+ r = talloc(talloc_tos(), struct lsa_LookupPrivValue);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LookupPrivValue, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPPRIVNAME];
- r = talloc(NULL, struct lsa_LookupPrivName);
+ r = talloc(talloc_tos(), struct lsa_LookupPrivName);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.name = talloc_zero(r, struct lsa_StringLarge);
+ r->out.name = talloc_zero(r, struct lsa_StringLarge *);
if (r->out.name == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LookupPrivName, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPPRIVDISPLAYNAME];
- r = talloc(NULL, struct lsa_LookupPrivDisplayName);
+ r = talloc(talloc_tos(), struct lsa_LookupPrivDisplayName);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.disp_name = talloc_zero(r, struct lsa_StringLarge);
+ r->out.disp_name = talloc_zero(r, struct lsa_StringLarge *);
if (r->out.disp_name == NULL) {
talloc_free(r);
return false;
}
- r->out.language_id = r->in.language_id;
+ r->out.returned_language_id = talloc_zero(r, uint16_t);
+ if (r->out.returned_language_id == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
r->out.result = _lsa_LookupPrivDisplayName(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupPrivDisplayName, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_DELETEOBJECT];
- r = talloc(NULL, struct lsa_DeleteObject);
+ r = talloc(talloc_tos(), struct lsa_DeleteObject);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_IN_DEBUG(lsa_DeleteObject, r);
}
+ ZERO_STRUCT(r->out);
+ r->out.handle = r->in.handle;
r->out.result = _lsa_DeleteObject(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_DeleteObject, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMACCOUNTSWITHUSERRIGHT];
- r = talloc(NULL, struct lsa_EnumAccountsWithUserRight);
+ r = talloc(talloc_tos(), struct lsa_EnumAccountsWithUserRight);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_EnumAccountsWithUserRight, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMACCOUNTRIGHTS];
- r = talloc(NULL, struct lsa_EnumAccountRights);
+ r = talloc(talloc_tos(), struct lsa_EnumAccountRights);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_EnumAccountRights, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ADDACCOUNTRIGHTS];
- r = talloc(NULL, struct lsa_AddAccountRights);
+ r = talloc(talloc_tos(), struct lsa_AddAccountRights);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_AddAccountRights, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_REMOVEACCOUNTRIGHTS];
- r = talloc(NULL, struct lsa_RemoveAccountRights);
+ r = talloc(talloc_tos(), struct lsa_RemoveAccountRights);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_RemoveAccountRights, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYTRUSTEDDOMAININFOBYSID];
- r = talloc(NULL, struct lsa_QueryTrustedDomainInfoBySid);
+ r = talloc(talloc_tos(), struct lsa_QueryTrustedDomainInfoBySid);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo);
+ r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QueryTrustedDomainInfoBySid, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETTRUSTEDDOMAININFO];
- r = talloc(NULL, struct lsa_SetTrustedDomainInfo);
+ r = talloc(talloc_tos(), struct lsa_SetTrustedDomainInfo);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetTrustedDomainInfo, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_DELETETRUSTEDDOMAIN];
- r = talloc(NULL, struct lsa_DeleteTrustedDomain);
+ r = talloc(talloc_tos(), struct lsa_DeleteTrustedDomain);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_DeleteTrustedDomain, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_STOREPRIVATEDATA];
- r = talloc(NULL, struct lsa_StorePrivateData);
+ r = talloc(talloc_tos(), struct lsa_StorePrivateData);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_StorePrivateData, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_RETRIEVEPRIVATEDATA];
- r = talloc(NULL, struct lsa_RetrievePrivateData);
+ r = talloc(talloc_tos(), struct lsa_RetrievePrivateData);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_RetrievePrivateData, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_OPENPOLICY2];
- r = talloc(NULL, struct lsa_OpenPolicy2);
+ r = talloc(talloc_tos(), struct lsa_OpenPolicy2);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_OpenPolicy2, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_GETUSERNAME];
- r = talloc(NULL, struct lsa_GetUserName);
+ r = talloc(talloc_tos(), struct lsa_GetUserName);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_GetUserName, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYINFOPOLICY2];
- r = talloc(NULL, struct lsa_QueryInfoPolicy2);
+ r = talloc(talloc_tos(), struct lsa_QueryInfoPolicy2);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.info = talloc_zero(r, union lsa_PolicyInformation);
+ r->out.info = talloc_zero(r, union lsa_PolicyInformation *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QueryInfoPolicy2, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETINFOPOLICY2];
- r = talloc(NULL, struct lsa_SetInfoPolicy2);
+ r = talloc(talloc_tos(), struct lsa_SetInfoPolicy2);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetInfoPolicy2, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYTRUSTEDDOMAININFOBYNAME];
- r = talloc(NULL, struct lsa_QueryTrustedDomainInfoByName);
+ r = talloc(talloc_tos(), struct lsa_QueryTrustedDomainInfoByName);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo);
+ r->out.info = talloc_zero(r, union lsa_TrustedDomainInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QueryTrustedDomainInfoByName, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETTRUSTEDDOMAININFOBYNAME];
- r = talloc(NULL, struct lsa_SetTrustedDomainInfoByName);
+ r = talloc(talloc_tos(), struct lsa_SetTrustedDomainInfoByName);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetTrustedDomainInfoByName, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_ENUMTRUSTEDDOMAINSEX];
- r = talloc(NULL, struct lsa_EnumTrustedDomainsEx);
+ r = talloc(talloc_tos(), struct lsa_EnumTrustedDomainsEx);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_EnumTrustedDomainsEx, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREATETRUSTEDDOMAINEX];
- r = talloc(NULL, struct lsa_CreateTrustedDomainEx);
+ r = talloc(talloc_tos(), struct lsa_CreateTrustedDomainEx);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_IN_DEBUG(lsa_CreateTrustedDomainEx, r);
}
+ ZERO_STRUCT(r->out);
+ r->out.trustdom_handle = talloc_zero(r, struct policy_handle);
+ if (r->out.trustdom_handle == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
r->out.result = _lsa_CreateTrustedDomainEx(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_CreateTrustedDomainEx, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CLOSETRUSTEDDOMAINEX];
- r = talloc(NULL, struct lsa_CloseTrustedDomainEx);
+ r = talloc(talloc_tos(), struct lsa_CloseTrustedDomainEx);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CloseTrustedDomainEx, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_QUERYDOMAININFORMATIONPOLICY];
- r = talloc(NULL, struct lsa_QueryDomainInformationPolicy);
+ r = talloc(talloc_tos(), struct lsa_QueryDomainInformationPolicy);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.info = talloc_zero(r, union lsa_DomainInformationPolicy);
+ r->out.info = talloc_zero(r, union lsa_DomainInformationPolicy *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_QueryDomainInformationPolicy, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_SETDOMAININFORMATIONPOLICY];
- r = talloc(NULL, struct lsa_SetDomainInformationPolicy);
+ r = talloc(talloc_tos(), struct lsa_SetDomainInformationPolicy);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_SetDomainInformationPolicy, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_OPENTRUSTEDDOMAINBYNAME];
- r = talloc(NULL, struct lsa_OpenTrustedDomainByName);
+ r = talloc(talloc_tos(), struct lsa_OpenTrustedDomainByName);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_OpenTrustedDomainByName, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_TESTCALL];
- r = talloc(NULL, struct lsa_TestCall);
+ r = talloc(talloc_tos(), struct lsa_TestCall);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_TestCall, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPSIDS2];
- r = talloc(NULL, struct lsa_LookupSids2);
+ r = talloc(talloc_tos(), struct lsa_LookupSids2);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+ r->out.names = r->in.names;
+ r->out.count = r->in.count;
+ r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
if (r->out.domains == NULL) {
talloc_free(r);
return false;
}
- r->out.names = r->in.names;
- r->out.count = r->in.count;
r->out.result = _lsa_LookupSids2(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupSids2, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES2];
- r = talloc(NULL, struct lsa_LookupNames2);
+ r = talloc(talloc_tos(), struct lsa_LookupNames2);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+ r->out.sids = r->in.sids;
+ r->out.count = r->in.count;
+ r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
if (r->out.domains == NULL) {
talloc_free(r);
return false;
}
- r->out.sids = r->in.sids;
- r->out.count = r->in.count;
r->out.result = _lsa_LookupNames2(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupNames2, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREATETRUSTEDDOMAINEX2];
- r = talloc(NULL, struct lsa_CreateTrustedDomainEx2);
+ r = talloc(talloc_tos(), struct lsa_CreateTrustedDomainEx2);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_IN_DEBUG(lsa_CreateTrustedDomainEx2, r);
}
+ ZERO_STRUCT(r->out);
+ r->out.trustdom_handle = talloc_zero(r, struct policy_handle);
+ if (r->out.trustdom_handle == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
r->out.result = _lsa_CreateTrustedDomainEx2(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_CreateTrustedDomainEx2, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRWRITE];
- r = talloc(NULL, struct lsa_CREDRWRITE);
+ r = talloc(talloc_tos(), struct lsa_CREDRWRITE);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRWRITE, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRREAD];
- r = talloc(NULL, struct lsa_CREDRREAD);
+ r = talloc(talloc_tos(), struct lsa_CREDRREAD);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRREAD, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRENUMERATE];
- r = talloc(NULL, struct lsa_CREDRENUMERATE);
+ r = talloc(talloc_tos(), struct lsa_CREDRENUMERATE);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRENUMERATE, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRWRITEDOMAINCREDENTIALS];
- r = talloc(NULL, struct lsa_CREDRWRITEDOMAINCREDENTIALS);
+ r = talloc(talloc_tos(), struct lsa_CREDRWRITEDOMAINCREDENTIALS);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRWRITEDOMAINCREDENTIALS, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRREADDOMAINCREDENTIALS];
- r = talloc(NULL, struct lsa_CREDRREADDOMAINCREDENTIALS);
+ r = talloc(talloc_tos(), struct lsa_CREDRREADDOMAINCREDENTIALS);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRREADDOMAINCREDENTIALS, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRDELETE];
- r = talloc(NULL, struct lsa_CREDRDELETE);
+ r = talloc(talloc_tos(), struct lsa_CREDRDELETE);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRDELETE, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRGETTARGETINFO];
- r = talloc(NULL, struct lsa_CREDRGETTARGETINFO);
+ r = talloc(talloc_tos(), struct lsa_CREDRGETTARGETINFO);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRGETTARGETINFO, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRPROFILELOADED];
- r = talloc(NULL, struct lsa_CREDRPROFILELOADED);
+ r = talloc(talloc_tos(), struct lsa_CREDRPROFILELOADED);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRPROFILELOADED, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES3];
- r = talloc(NULL, struct lsa_LookupNames3);
+ r = talloc(talloc_tos(), struct lsa_LookupNames3);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+ r->out.sids = r->in.sids;
+ r->out.count = r->in.count;
+ r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
if (r->out.domains == NULL) {
talloc_free(r);
return false;
}
- r->out.sids = r->in.sids;
- r->out.count = r->in.count;
r->out.result = _lsa_LookupNames3(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupNames3, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRGETSESSIONTYPES];
- r = talloc(NULL, struct lsa_CREDRGETSESSIONTYPES);
+ r = talloc(talloc_tos(), struct lsa_CREDRGETSESSIONTYPES);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRGETSESSIONTYPES, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARREGISTERAUDITEVENT];
- r = talloc(NULL, struct lsa_LSARREGISTERAUDITEVENT);
+ r = talloc(talloc_tos(), struct lsa_LSARREGISTERAUDITEVENT);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSARREGISTERAUDITEVENT, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARGENAUDITEVENT];
- r = talloc(NULL, struct lsa_LSARGENAUDITEVENT);
+ r = talloc(talloc_tos(), struct lsa_LSARGENAUDITEVENT);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSARGENAUDITEVENT, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARUNREGISTERAUDITEVENT];
- r = talloc(NULL, struct lsa_LSARUNREGISTERAUDITEVENT);
+ r = talloc(talloc_tos(), struct lsa_LSARUNREGISTERAUDITEVENT);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSARUNREGISTERAUDITEVENT, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARQUERYFORESTTRUSTINFORMATION];
- r = talloc(NULL, struct lsa_lsaRQueryForestTrustInformation);
+ r = talloc(talloc_tos(), struct lsa_lsaRQueryForestTrustInformation);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_lsaRQueryForestTrustInformation, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARSETFORESTTRUSTINFORMATION];
- r = talloc(NULL, struct lsa_LSARSETFORESTTRUSTINFORMATION);
+ r = talloc(talloc_tos(), struct lsa_LSARSETFORESTTRUSTINFORMATION);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSARSETFORESTTRUSTINFORMATION, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_CREDRRENAME];
- r = talloc(NULL, struct lsa_CREDRRENAME);
+ r = talloc(talloc_tos(), struct lsa_CREDRRENAME);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_CREDRRENAME, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPSIDS3];
- r = talloc(NULL, struct lsa_LookupSids3);
+ r = talloc(talloc_tos(), struct lsa_LookupSids3);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+ r->out.names = r->in.names;
+ r->out.count = r->in.count;
+ r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
if (r->out.domains == NULL) {
talloc_free(r);
return false;
}
- r->out.names = r->in.names;
- r->out.count = r->in.count;
r->out.result = _lsa_LookupSids3(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupSids3, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LOOKUPNAMES4];
- r = talloc(NULL, struct lsa_LookupNames4);
+ r = talloc(talloc_tos(), struct lsa_LookupNames4);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
}
ZERO_STRUCT(r->out);
- r->out.domains = talloc_zero(r, struct lsa_RefDomainList);
+ r->out.sids = r->in.sids;
+ r->out.count = r->in.count;
+ r->out.domains = talloc_zero(r, struct lsa_RefDomainList *);
if (r->out.domains == NULL) {
talloc_free(r);
return false;
}
- r->out.sids = r->in.sids;
- r->out.count = r->in.count;
r->out.result = _lsa_LookupNames4(p, r);
if (p->rng_fault_state) {
NDR_PRINT_OUT_DEBUG(lsa_LookupNames4, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSAROPENPOLICYSCE];
- r = talloc(NULL, struct lsa_LSAROPENPOLICYSCE);
+ r = talloc(talloc_tos(), struct lsa_LSAROPENPOLICYSCE);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSAROPENPOLICYSCE, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARADTREGISTERSECURITYEVENTSOURCE];
- r = talloc(NULL, struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE);
+ r = talloc(talloc_tos(), struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSARADTREGISTERSECURITYEVENTSOURCE, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARADTUNREGISTERSECURITYEVENTSOURCE];
- r = talloc(NULL, struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE);
+ r = talloc(talloc_tos(), struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
call = &ndr_table_lsarpc.calls[NDR_LSA_LSARADTREPORTSECURITYEVENT];
- r = talloc(NULL, struct lsa_LSARADTREPORTSECURITYEVENT);
+ r = talloc(talloc_tos(), struct lsa_LSARADTREPORTSECURITYEVENT);
if (r == NULL) {
return false;
}
return false;
}
- pull = ndr_pull_init_blob(&blob, r);
+ pull = ndr_pull_init_blob(&blob, r, NULL);
if (pull == NULL) {
talloc_free(r);
return false;
NDR_PRINT_OUT_DEBUG(lsa_LSARADTREPORTSECURITYEVENT, r);
}
- push = ndr_push_init_ctx(r);
+ push = ndr_push_init_ctx(r, NULL);
if (push == NULL) {
talloc_free(r);
return false;
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));
+ return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION, "lsarpc", "lsarpc", &ndr_table_lsarpc.syntax_id, api_lsarpc_cmds, sizeof(api_lsarpc_cmds) / sizeof(struct api_struct));
}