This makes the NDR namespace a bit clearer, in preparation of ABI checking.
#include "../libcli/util/error.h"
#include "librpc/gen_ndr/misc.h"
-extern const struct ndr_syntax_id ndr_transfer_syntax;
-extern const struct ndr_syntax_id ndr64_transfer_syntax;
-extern const struct ndr_syntax_id null_ndr_syntax_id;
+extern const struct ndr_syntax_id ndr_transfer_syntax_ndr;
+extern const struct ndr_syntax_id ndr_transfer_syntax_ndr64;
+extern const struct ndr_syntax_id ndr_syntax_id_null;
struct ndr_interface_call_pipe {
const char *name;
-/*
+/*
Unix SMB/CIFS implementation.
libndr interface
Copyright (C) Andrew Tridgell 2003
-
+ Copyright (C) Jelmer Vernooij 2005-2008
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define NDR_BASE_MARSHALL_SIZE 1024
/* this guid indicates NDR encoding in a protocol tower */
-const struct ndr_syntax_id ndr_transfer_syntax = {
+const struct ndr_syntax_id ndr_transfer_syntax_ndr = {
{ 0x8a885d04, 0x1ceb, 0x11c9, {0x9f, 0xe8}, {0x08,0x00,0x2b,0x10,0x48,0x60} },
2
};
-const struct ndr_syntax_id ndr64_transfer_syntax = {
+const struct ndr_syntax_id ndr_transfer_syntax_ndr64 = {
{ 0x71710533, 0xbeba, 0x4937, {0x83, 0x19}, {0xb5,0xdb,0xef,0x9c,0xcc,0x36} },
1
};
-const struct ndr_syntax_id null_ndr_syntax_id = {
+const struct ndr_syntax_id ndr_syntax_id_null = {
{ 0, 0, 0, { 0, 0 }, { 0, 0, 0, 0, 0, 0 } },
0
};
/* lhs is used: UUID */
char *uuidstr;
- if (GUID_equal(&syntax.uuid, &ndr_transfer_syntax.uuid)) {
+ if (GUID_equal(&syntax.uuid, &ndr_transfer_syntax_ndr.uuid)) {
return "NDR";
}
- if (GUID_equal(&syntax.uuid, &ndr64_transfer_syntax.uuid)) {
+ if (GUID_equal(&syntax.uuid, &ndr_transfer_syntax_ndr64.uuid)) {
return "NDR64";
}
tower->floors[1].lhs.protocol = EPM_PROTOCOL_UUID;
tower->floors[1].lhs.lhs_data = dcerpc_floor_pack_lhs_data(tower->floors,
- &ndr_transfer_syntax);
+ &ndr_transfer_syntax_ndr);
tower->floors[1].rhs.uuid.unknown = data_blob_talloc_zero(tower->floors, 2);
}
result->abstract_syntax = *abstract_syntax;
- result->transfer_syntax = ndr_transfer_syntax;
+ result->transfer_syntax = ndr_transfer_syntax_ndr;
result->desthost = talloc_strdup(result, host);
result->srv_name_slash = talloc_asprintf_strupper_m(
}
result->abstract_syntax = *abstract_syntax;
- result->transfer_syntax = ndr_transfer_syntax;
+ result->transfer_syntax = ndr_transfer_syntax_ndr;
result->desthost = get_myname(result);
result->srv_name_slash = talloc_asprintf_strupper_m(
}
result->abstract_syntax = *abstract_syntax;
- result->transfer_syntax = ndr_transfer_syntax;
+ result->transfer_syntax = ndr_transfer_syntax_ndr;
result->desthost = talloc_strdup(result, cli_state_remote_name(cli));
result->srv_name_slash = talloc_asprintf_strupper_m(
result, "\\\\%s", result->desthost);
dcerpc_floor_get_lhs_data(&floors[1], &ifid);
if (floors[1].lhs.protocol != EPM_PROTOCOL_UUID ||
- !GUID_equal(&ifid.uuid, &ndr_transfer_syntax.uuid) ||
- ifid.if_version != ndr_transfer_syntax.if_version) {
+ !GUID_equal(&ifid.uuid, &ndr_transfer_syntax_ndr.uuid) ||
+ ifid.if_version != ndr_transfer_syntax_ndr.if_version) {
rc = EPMAPPER_STATUS_NO_MORE_ENTRIES;
goto done;
}
}
result->abstract_syntax = *abstract_syntax;
- result->transfer_syntax = ndr_transfer_syntax;
+ result->transfer_syntax = ndr_transfer_syntax_ndr;
if (remote_address == NULL) {
struct tsocket_address *local;
}
result->abstract_syntax = *abstract_syntax;
- result->transfer_syntax = ndr_transfer_syntax;
+ result->transfer_syntax = ndr_transfer_syntax_ndr;
result->desthost = get_myname(result);
result->srv_name_slash = talloc_asprintf_strupper_m(
/* we have to check all now since win2k introduced a new UUID on the lsaprpc pipe */
if (rpc_srv_pipe_exists_by_id(abstract) &&
- ndr_syntax_id_equal(transfer, &ndr_transfer_syntax)) {
+ ndr_syntax_id_equal(transfer, &ndr_transfer_syntax_ndr)) {
DEBUG(3, ("check_bind_req: %s -> %s rpc service\n",
rpc_srv_get_pipe_cli_name(abstract),
rpc_srv_get_pipe_srv_name(abstract)));
/* Rejection reason: abstract syntax not supported */
bind_ack_ctx.result = DCERPC_BIND_PROVIDER_REJECT;
bind_ack_ctx.reason = DCERPC_BIND_REASON_ASYNTAX;
- bind_ack_ctx.syntax = null_ndr_syntax_id;
+ bind_ack_ctx.syntax = ndr_syntax_id_null;
}
/*
/* Rejection reason: abstract syntax not supported */
bind_ack_ctx.result = DCERPC_BIND_PROVIDER_REJECT;
bind_ack_ctx.reason = DCERPC_BIND_REASON_ASYNTAX;
- bind_ack_ctx.syntax = null_ndr_syntax_id;
+ bind_ack_ctx.syntax = ndr_syntax_id_null;
}
/*
syntax->if_version = table->syntax_id.if_version;
if (pipe_flags & DCERPC_NDR64) {
- *transfer_syntax = ndr64_transfer_syntax;
+ *transfer_syntax = ndr_transfer_syntax_ndr64;
} else {
- *transfer_syntax = ndr_transfer_syntax;
+ *transfer_syntax = ndr_transfer_syntax_ndr;
}
return NT_STATUS_OK;
return NULL;
if (py_transfer_syntax == Py_None) {
- transfer_syntax = ndr_transfer_syntax;
+ transfer_syntax = ndr_transfer_syntax_ndr;
} else {
- if (!ndr_syntax_from_py_object(py_transfer_syntax,
- &transfer_syntax))
+ if (!ndr_syntax_from_py_object(py_transfer_syntax, &transfer_syntax))
return NULL;
}
transfer_syntax_version = call->pkt.u.bind.ctx_list[0].transfer_syntaxes[0].if_version;
transfer_syntax_uuid = &call->pkt.u.bind.ctx_list[0].transfer_syntaxes[0].uuid;
- if (!GUID_equal(&ndr_transfer_syntax.uuid, transfer_syntax_uuid) != 0 ||
- ndr_transfer_syntax.if_version != transfer_syntax_version) {
+ if (!GUID_equal(&ndr_transfer_syntax_ndr.uuid, transfer_syntax_uuid) != 0 ||
+ ndr_transfer_syntax_ndr.if_version != transfer_syntax_version) {
char *uuid_str = GUID_string(call, transfer_syntax_uuid);
/* we only do NDR encoded dcerpc */
DEBUG(0,("Non NDR transfer syntax requested - %s\n", uuid_str));
}
pkt.u.bind_ack.ctx_list[0].result = result;
pkt.u.bind_ack.ctx_list[0].reason = reason;
- pkt.u.bind_ack.ctx_list[0].syntax = ndr_transfer_syntax;
+ pkt.u.bind_ack.ctx_list[0].syntax = ndr_transfer_syntax_ndr;
pkt.u.bind_ack.auth_info = data_blob(NULL, 0);
status = dcesrv_auth_bind_ack(call, &pkt);
transfer_syntax_version = call->pkt.u.alter.ctx_list[0].transfer_syntaxes[0].if_version;
transfer_syntax_uuid = &call->pkt.u.alter.ctx_list[0].transfer_syntaxes[0].uuid;
- if (!GUID_equal(transfer_syntax_uuid, &ndr_transfer_syntax.uuid) ||
- ndr_transfer_syntax.if_version != transfer_syntax_version) {
+ if (!GUID_equal(transfer_syntax_uuid, &ndr_transfer_syntax_ndr.uuid) ||
+ ndr_transfer_syntax_ndr.if_version != transfer_syntax_version) {
/* we only do NDR encoded dcerpc */
return NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED;
}
}
pkt.u.alter_resp.ctx_list[0].result = result;
pkt.u.alter_resp.ctx_list[0].reason = reason;
- pkt.u.alter_resp.ctx_list[0].syntax = ndr_transfer_syntax;
+ pkt.u.alter_resp.ctx_list[0].syntax = ndr_transfer_syntax_ndr;
pkt.u.alter_resp.auth_info = data_blob(NULL, 0);
pkt.u.alter_resp.secondary_address = "";
dcerpc_floor_get_lhs_data(&r->in.map_tower->tower.floors[1], &ndr_syntax);
if (floors[1].lhs.protocol != EPM_PROTOCOL_UUID ||
- !GUID_equal(&ndr_syntax.uuid, &ndr_transfer_syntax.uuid) ||
- ndr_syntax.if_version != ndr_transfer_syntax.if_version) {
+ !GUID_equal(&ndr_syntax.uuid, &ndr_transfer_syntax_ndr.uuid) ||
+ ndr_syntax.if_version != ndr_transfer_syntax_ndr.if_version) {
goto failed;
}
ndr_interface_name(&syntax.uuid, syntax.if_version));
dcerpc_floor_get_lhs_data(&t.floors[1], &syntax);
- torture_assert(tctx, ndr_syntax_id_equal(&syntax, &ndr_transfer_syntax),
+ torture_assert(tctx, ndr_syntax_id_equal(&syntax, &ndr_transfer_syntax_ndr),
"epm_Map_tcpip failed: floor 2 is not NDR encoded");
torture_assert(tctx, t.floors[2].lhs.protocol == EPM_PROTOCOL_NCACN,