summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2011-02-22 11:53:35 +0100
committerGünther Deschner <gd@samba.org>2011-03-08 11:41:28 +0100
commita45353b3e2e0a8dd5f9055c50e0d38bce7dda22c (patch)
treee5845a142938b00a08baff70f2ab8d12d4bdd0c0 /source3
parent98443b8b3dbbf6bd5a7738560d1dfc44622db820 (diff)
downloadsamba-a45353b3e2e0a8dd5f9055c50e0d38bce7dda22c.tar.gz
samba-a45353b3e2e0a8dd5f9055c50e0d38bce7dda22c.tar.bz2
samba-a45353b3e2e0a8dd5f9055c50e0d38bce7dda22c.zip
s3-librpc: Added tcpip support for dcerpc_binding_vector_create.
Signed-off-by: Günther Deschner <gd@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/librpc/rpc/dcerpc_ep.c13
-rw-r--r--source3/librpc/rpc/dcerpc_ep.h1
-rw-r--r--source3/rpc_server/rpc_ep_setup.c2
3 files changed, 15 insertions, 1 deletions
diff --git a/source3/librpc/rpc/dcerpc_ep.c b/source3/librpc/rpc/dcerpc_ep.c
index 54db4cdbca..bda24a6865 100644
--- a/source3/librpc/rpc/dcerpc_ep.c
+++ b/source3/librpc/rpc/dcerpc_ep.c
@@ -27,6 +27,7 @@
NTSTATUS dcerpc_binding_vector_create(TALLOC_CTX *mem_ctx,
const struct ndr_interface_table *iface,
+ uint16_t port,
struct dcerpc_binding_vector **pbvec)
{
struct dcerpc_binding_vector *bvec;
@@ -81,7 +82,17 @@ NTSTATUS dcerpc_binding_vector_create(TALLOC_CTX *mem_ctx,
}
break;
case NCACN_IP_TCP:
- /* TODO */
+ if (port == 0) {
+ continue;
+ }
+
+ b->endpoint = talloc_asprintf(b, "%u", port);
+ if (b->endpoint == NULL) {
+ status = NT_STATUS_NO_MEMORY;
+ goto done;
+ }
+
+ break;
case NCALRPC:
/* TODO */
default:
diff --git a/source3/librpc/rpc/dcerpc_ep.h b/source3/librpc/rpc/dcerpc_ep.h
index 6da7f9b9b2..f88f468611 100644
--- a/source3/librpc/rpc/dcerpc_ep.h
+++ b/source3/librpc/rpc/dcerpc_ep.h
@@ -27,6 +27,7 @@ struct dcerpc_binding_vector {
NTSTATUS dcerpc_binding_vector_create(TALLOC_CTX *mem_ctx,
const struct ndr_interface_table *iface,
+ uint16_t port,
struct dcerpc_binding_vector **pbvec);
/**
diff --git a/source3/rpc_server/rpc_ep_setup.c b/source3/rpc_server/rpc_ep_setup.c
index e8640fa1e9..fbb1ba5459 100644
--- a/source3/rpc_server/rpc_ep_setup.c
+++ b/source3/rpc_server/rpc_ep_setup.c
@@ -134,6 +134,7 @@ static NTSTATUS _rpc_ep_register(struct tevent_context *ev_ctx,
status = dcerpc_binding_vector_create(talloc_tos(),
iface,
+ port,
&v);
if (!NT_STATUS_IS_OK(status)) {
return status;
@@ -166,6 +167,7 @@ static NTSTATUS _rpc_ep_unregister(const struct ndr_interface_table *iface)
status = dcerpc_binding_vector_create(talloc_tos(),
iface,
+ 0,
&v);
if (!NT_STATUS_IS_OK(status)) {
return status;