} in;
struct {
const char *address; /* IP address of server */
- struct netlogon_samlogon_response netlogon;
+ struct netlogon_samlogon_response *netlogon;
} out;
};
return status;
}
- talloc_steal(mem_ctx, state->netlogon);
- io->out.netlogon = *state->netlogon->out.netlogon;
+ io->out.netlogon = talloc_move(mem_ctx, &state->netlogon->out.netlogon);
io->out.address = talloc_steal(
mem_ctx, state->srv_addresses[state->srv_address_index]);
io->out.dcs = talloc(mem_ctx, struct nbt_dc_name);
NT_STATUS_HAVE_NO_MEMORY(io->out.dcs);
io->out.dcs[0].address = finddcs_io.out.address;
- io->out.dcs[0].name = finddcs_io.out.netlogon.data.nt5_ex.pdc_dns_name;
+ io->out.dcs[0].name = finddcs_io.out.netlogon->data.nt5_ex.pdc_dns_name;
return status;
}
return NULL;
}
- ret = py_return_ndr_struct("samba.dcerpc.nbt", "NETLOGON_SAM_LOGON_RESPONSE_EX",
- io, &io->out.netlogon.data.nt5_ex);
+ ret = py_return_ndr_struct("samba.dcerpc.nbt",
+ "NETLOGON_SAM_LOGON_RESPONSE_EX",
+ io,
+ &io->out.netlogon->data.nt5_ex);
talloc_free(mem_ctx);
return ret;