1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

Remove unused marshalling for NET_DSR_GETDCNAME.

Guenther
(This used to be commit 65c2aa344e)
This commit is contained in:
Günther Deschner 2008-02-08 23:33:52 +01:00
parent e88eb3ed16
commit 5da927716a
3 changed files with 0 additions and 405 deletions

View File

@ -1029,37 +1029,4 @@ struct DS_DOMAIN_CONTROLLER_INFO {
const char *client_site_name;
};
/* NET_Q_DSR_GETDCNAME */
typedef struct net_q_dsr_getdcname {
uint32 ptr_server_unc;
UNISTR2 uni_server_unc;
uint32 ptr_domain_name;
UNISTR2 uni_domain_name;
uint32 ptr_domain_guid;
struct GUID *domain_guid;
uint32 ptr_site_guid;
struct GUID *site_guid;
uint32 flags;
} NET_Q_DSR_GETDCNAME;
/* NET_R_DSR_GETDCNAME */
typedef struct net_r_dsr_getdcname {
uint32 ptr_dc_unc;
UNISTR2 uni_dc_unc;
uint32 ptr_dc_address;
UNISTR2 uni_dc_address;
int32 dc_address_type;
struct GUID domain_guid;
uint32 ptr_domain_name;
UNISTR2 uni_domain_name;
uint32 ptr_forest_name;
UNISTR2 uni_forest_name;
uint32 dc_flags;
uint32 ptr_dc_site_name;
UNISTR2 uni_dc_site_name;
uint32 ptr_client_site_name;
UNISTR2 uni_client_site_name;
WERROR result;
} NET_R_DSR_GETDCNAME;
#endif /* _RPC_NETLOGON_H */

View File

@ -379,142 +379,6 @@ NTSTATUS rpccli_netlogon_logon_ctrl2(struct rpc_pipe_client *cli, TALLOC_CTX *me
return result;
}
static WERROR pull_domain_controller_info_from_getdcname_reply(TALLOC_CTX *mem_ctx,
struct DS_DOMAIN_CONTROLLER_INFO **info_out,
NET_R_DSR_GETDCNAME *r)
{
struct DS_DOMAIN_CONTROLLER_INFO *info;
info = TALLOC_ZERO_P(mem_ctx, struct DS_DOMAIN_CONTROLLER_INFO);
if (!info) {
return WERR_NOMEM;
}
if (&r->uni_dc_unc) {
char *tmp;
tmp = rpcstr_pull_unistr2_talloc(mem_ctx, &r->uni_dc_unc);
if (tmp == NULL) {
return WERR_GENERAL_FAILURE;
}
if (*tmp == '\\') tmp += 1;
if (*tmp == '\\') tmp += 1;
info->domain_controller_name = talloc_strdup(mem_ctx, tmp);
if (info->domain_controller_name == NULL) {
return WERR_GENERAL_FAILURE;
}
}
if (&r->uni_dc_address) {
char *tmp;
tmp = rpcstr_pull_unistr2_talloc(mem_ctx, &r->uni_dc_address);
if (tmp == NULL) {
return WERR_GENERAL_FAILURE;
}
if (*tmp == '\\') tmp += 1;
if (*tmp == '\\') tmp += 1;
info->domain_controller_address = talloc_strdup(mem_ctx, tmp);
if (info->domain_controller_address == NULL) {
return WERR_GENERAL_FAILURE;
}
}
info->domain_controller_address_type = r->dc_address_type;
info->domain_guid = (struct GUID *)talloc_memdup(
mem_ctx, &r->domain_guid, sizeof(struct GUID));
if (!info->domain_guid) {
return WERR_GENERAL_FAILURE;
}
if (&r->uni_domain_name) {
info->domain_name = rpcstr_pull_unistr2_talloc(mem_ctx, &r->uni_domain_name);
if (!info->domain_name) {
return WERR_GENERAL_FAILURE;
}
}
if (&r->uni_forest_name) {
info->dns_forest_name = rpcstr_pull_unistr2_talloc(mem_ctx, &r->uni_forest_name);
if (!info->dns_forest_name) {
return WERR_GENERAL_FAILURE;
}
}
info->flags = r->dc_flags;
if (&r->uni_dc_site_name) {
info->dc_site_name = rpcstr_pull_unistr2_talloc(mem_ctx, &r->uni_dc_site_name);
if (!info->dc_site_name) {
return WERR_GENERAL_FAILURE;
}
}
if (&r->uni_client_site_name) {
info->client_site_name = rpcstr_pull_unistr2_talloc(mem_ctx, &r->uni_client_site_name);
if (!info->client_site_name) {
return WERR_GENERAL_FAILURE;
}
}
*info_out = info;
return WERR_OK;
}
/* Dsr_GetDCName */
WERROR rpccli_netlogon_dsr_getdcname(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
const char *server_name,
const char *domain_name,
struct GUID *domain_guid,
struct GUID *site_guid,
uint32_t flags,
struct DS_DOMAIN_CONTROLLER_INFO **info_out)
{
prs_struct qbuf, rbuf;
NET_Q_DSR_GETDCNAME q;
NET_R_DSR_GETDCNAME r;
char *tmp_str;
ZERO_STRUCT(q);
ZERO_STRUCT(r);
/* Initialize input parameters */
tmp_str = talloc_asprintf(mem_ctx, "\\\\%s", server_name);
if (tmp_str == NULL) {
return WERR_NOMEM;
}
init_net_q_dsr_getdcname(&q, tmp_str, domain_name, domain_guid,
site_guid, flags);
/* Marshall data and send request */
CLI_DO_RPC_WERR(cli, mem_ctx, PI_NETLOGON, NET_DSR_GETDCNAME,
q, r,
qbuf, rbuf,
net_io_q_dsr_getdcname,
net_io_r_dsr_getdcname,
WERR_GENERAL_FAILURE);
if (!W_ERROR_IS_OK(r.result)) {
return r.result;
}
r.result = pull_domain_controller_info_from_getdcname_reply(mem_ctx, info_out, &r);
if (!W_ERROR_IS_OK(r.result)) {
return r.result;
}
return WERR_OK;
}
/* Sam synchronisation */
NTSTATUS rpccli_netlogon_sam_sync(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,

View File

@ -3240,239 +3240,3 @@ bool net_io_r_sam_deltas(const char *desc,
return True;
}
/*******************************************************************
Inits a NET_Q_DSR_GETDCNAME structure.
********************************************************************/
void init_net_q_dsr_getdcname(NET_Q_DSR_GETDCNAME *r_t, const char *server_unc,
const char *domain_name,
struct GUID *domain_guid,
struct GUID *site_guid,
uint32_t flags)
{
DEBUG(5, ("init_net_q_dsr_getdcname\n"));
r_t->ptr_server_unc = (server_unc != NULL);
init_unistr2(&r_t->uni_server_unc, server_unc, UNI_STR_TERMINATE);
r_t->ptr_domain_name = (domain_name != NULL);
init_unistr2(&r_t->uni_domain_name, domain_name, UNI_STR_TERMINATE);
r_t->ptr_domain_guid = (domain_guid != NULL);
r_t->domain_guid = domain_guid;
r_t->ptr_site_guid = (site_guid != NULL);
r_t->site_guid = site_guid;
r_t->flags = flags;
}
/*******************************************************************
Reads or writes an NET_Q_DSR_GETDCNAME structure.
********************************************************************/
bool net_io_q_dsr_getdcname(const char *desc, NET_Q_DSR_GETDCNAME *r_t,
prs_struct *ps, int depth)
{
if (r_t == NULL)
return False;
prs_debug(ps, depth, desc, "net_io_q_dsr_getdcname");
depth++;
if (!prs_uint32("ptr_server_unc", ps, depth, &r_t->ptr_server_unc))
return False;
if (!smb_io_unistr2("server_unc", &r_t->uni_server_unc,
r_t->ptr_server_unc, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!prs_uint32("ptr_domain_name", ps, depth, &r_t->ptr_domain_name))
return False;
if (!smb_io_unistr2("domain_name", &r_t->uni_domain_name,
r_t->ptr_domain_name, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!prs_uint32("ptr_domain_guid", ps, depth, &r_t->ptr_domain_guid))
return False;
if (UNMARSHALLING(ps) && (r_t->ptr_domain_guid)) {
r_t->domain_guid = PRS_ALLOC_MEM(ps, struct GUID, 1);
if (r_t->domain_guid == NULL)
return False;
}
if ((r_t->ptr_domain_guid) &&
(!smb_io_uuid("domain_guid", r_t->domain_guid, ps, depth)))
return False;
if (!prs_align(ps))
return False;
if (!prs_uint32("ptr_site_guid", ps, depth, &r_t->ptr_site_guid))
return False;
if (UNMARSHALLING(ps) && (r_t->ptr_site_guid)) {
r_t->site_guid = PRS_ALLOC_MEM(ps, struct GUID, 1);
if (r_t->site_guid == NULL)
return False;
}
if ((r_t->ptr_site_guid) &&
(!smb_io_uuid("site_guid", r_t->site_guid, ps, depth)))
return False;
if (!prs_align(ps))
return False;
if (!prs_uint32("flags", ps, depth, &r_t->flags))
return False;
return True;
}
/*******************************************************************
Inits a NET_R_DSR_GETDCNAME structure.
********************************************************************/
void init_net_r_dsr_getdcname(NET_R_DSR_GETDCNAME *r_t, const char *dc_unc,
const char *dc_address, int32 dc_address_type,
struct GUID domain_guid, const char *domain_name,
const char *forest_name, uint32 dc_flags,
const char *dc_site_name,
const char *client_site_name)
{
DEBUG(5, ("init_net_q_dsr_getdcname\n"));
r_t->ptr_dc_unc = (dc_unc != NULL);
init_unistr2(&r_t->uni_dc_unc, dc_unc, UNI_STR_TERMINATE);
r_t->ptr_dc_address = (dc_address != NULL);
init_unistr2(&r_t->uni_dc_address, dc_address, UNI_STR_TERMINATE);
r_t->dc_address_type = dc_address_type;
r_t->domain_guid = domain_guid;
r_t->ptr_domain_name = (domain_name != NULL);
init_unistr2(&r_t->uni_domain_name, domain_name, UNI_STR_TERMINATE);
r_t->ptr_forest_name = (forest_name != NULL);
init_unistr2(&r_t->uni_forest_name, forest_name, UNI_STR_TERMINATE);
r_t->dc_flags = dc_flags;
r_t->ptr_dc_site_name = (dc_site_name != NULL);
init_unistr2(&r_t->uni_dc_site_name, dc_site_name, UNI_STR_TERMINATE);
r_t->ptr_client_site_name = (client_site_name != NULL);
init_unistr2(&r_t->uni_client_site_name, client_site_name,
UNI_STR_TERMINATE);
}
/*******************************************************************
Reads or writes an NET_R_DSR_GETDCNAME structure.
********************************************************************/
bool net_io_r_dsr_getdcname(const char *desc, NET_R_DSR_GETDCNAME *r_t,
prs_struct *ps, int depth)
{
uint32 info_ptr = 1;
if (r_t == NULL)
return False;
prs_debug(ps, depth, desc, "net_io_r_dsr_getdcname");
depth++;
/* The reply contains *just* an info struct, this is the ptr to it */
if (!prs_uint32("info_ptr", ps, depth, &info_ptr))
return False;
if (info_ptr == 0)
return False;
if (!prs_uint32("ptr_dc_unc", ps, depth, &r_t->ptr_dc_unc))
return False;
if (!prs_uint32("ptr_dc_address", ps, depth, &r_t->ptr_dc_address))
return False;
if (!prs_int32("dc_address_type", ps, depth, &r_t->dc_address_type))
return False;
if (!smb_io_uuid("domain_guid", &r_t->domain_guid, ps, depth))
return False;
if (!prs_uint32("ptr_domain_name", ps, depth, &r_t->ptr_domain_name))
return False;
if (!prs_uint32("ptr_forest_name", ps, depth, &r_t->ptr_forest_name))
return False;
if (!prs_uint32("dc_flags", ps, depth, &r_t->dc_flags))
return False;
if (!prs_uint32("ptr_dc_site_name", ps, depth, &r_t->ptr_dc_site_name))
return False;
if (!prs_uint32("ptr_client_site_name", ps, depth,
&r_t->ptr_client_site_name))
return False;
if (!prs_align(ps))
return False;
if (!smb_io_unistr2("dc_unc", &r_t->uni_dc_unc,
r_t->ptr_dc_unc, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!smb_io_unistr2("dc_address", &r_t->uni_dc_address,
r_t->ptr_dc_address, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!smb_io_unistr2("domain_name", &r_t->uni_domain_name,
r_t->ptr_domain_name, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!smb_io_unistr2("forest_name", &r_t->uni_forest_name,
r_t->ptr_forest_name, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!smb_io_unistr2("dc_site_name", &r_t->uni_dc_site_name,
r_t->ptr_dc_site_name, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!smb_io_unistr2("client_site_name", &r_t->uni_client_site_name,
r_t->ptr_client_site_name, ps, depth))
return False;
if (!prs_align(ps))
return False;
if (!prs_werror("result", ps, depth, &r_t->result))
return False;
return True;
}