summaryrefslogtreecommitdiffstats
path: root/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-01-23 09:45:47 +0100
committerGünther Deschner <gd@samba.org>2014-02-13 11:54:14 +0100
commitafcd5506c9da466c1f568c01eae47649001fc82d (patch)
tree32a8f2a21c4a6d5917582b720caa0fc3b79fbd13 /librpc
parentc327a60a027ba06dbc67921055bb88f9a573096d (diff)
downloadsamba-afcd5506c9da466c1f568c01eae47649001fc82d.tar.gz
samba-afcd5506c9da466c1f568c01eae47649001fc82d.tar.xz
samba-afcd5506c9da466c1f568c01eae47649001fc82d.zip
librpc/rpc: remove dcerpc_binding->localaddress and store it in the options array
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
Diffstat (limited to 'librpc')
-rw-r--r--librpc/rpc/binding.c48
-rw-r--r--librpc/rpc/rpc_common.h4
2 files changed, 2 insertions, 50 deletions
diff --git a/librpc/rpc/binding.c b/librpc/rpc/binding.c
index 975ee554f87..aa1f31bbc6a 100644
--- a/librpc/rpc/binding.c
+++ b/librpc/rpc/binding.c
@@ -90,7 +90,6 @@ static const struct {
{"bigendian", DCERPC_PUSH_BIGENDIAN},
{"smb2", DCERPC_SMB2},
{"ndr64", DCERPC_NDR64},
- {"localaddress", DCERPC_LOCALADDRESS}
};
const char *epm_floor_string(TALLOC_CTX *mem_ctx, struct epm_floor *epm_floor)
@@ -244,12 +243,7 @@ _PUBLIC_ char *dcerpc_binding_string(TALLOC_CTX *mem_ctx, const struct dcerpc_bi
}
o = s;
- if (ncacn_options[i].flag == DCERPC_LOCALADDRESS && b->localaddress) {
- s = talloc_asprintf_append_buffer(s, ",%s=%s", ncacn_options[i].name,
- b->localaddress);
- } else {
- s = talloc_asprintf_append_buffer(s, ",%s", ncacn_options[i].name);
- }
+ s = talloc_asprintf_append_buffer(s, ",%s", ncacn_options[i].name);
if (s == NULL) {
talloc_free(o);
return NULL;
@@ -358,7 +352,6 @@ _PUBLIC_ NTSTATUS dcerpc_parse_binding(TALLOC_CTX *mem_ctx, const char *s, struc
b->flags = 0;
b->assoc_group_id = 0;
b->endpoint = NULL;
- b->localaddress = NULL;
if (!options) {
*b_out = b;
@@ -396,9 +389,7 @@ _PUBLIC_ NTSTATUS dcerpc_parse_binding(TALLOC_CTX *mem_ctx, const char *s, struc
int k;
char c = b->options[i][opt_len];
- if (ncacn_options[j].flag == DCERPC_LOCALADDRESS && c == '=') {
- b->localaddress = talloc_strdup(b, &b->options[i][opt_len+1]);
- } else if (c != 0) {
+ if (c != 0) {
continue;
}
@@ -441,11 +432,6 @@ _PUBLIC_ const char *dcerpc_binding_get_string_option(const struct dcerpc_bindin
size_t i;
int ret;
- ret = strcmp(name, "localaddress");
- if (ret == 0) {
- return b->localaddress;
- }
-
if (b->options == NULL) {
return NULL;
}
@@ -508,28 +494,6 @@ _PUBLIC_ NTSTATUS dcerpc_binding_set_string_option(struct dcerpc_binding *b,
* value != NULL means add or reset.
*/
- ret = strcmp(name, "localaddress");
- if (ret == 0) {
- tmp = discard_const_p(char, b->localaddress);
-
- if (value == NULL) {
- talloc_free(tmp);
- b->localaddress = NULL;
- b->flags &= ~DCERPC_LOCALADDRESS;
- return NT_STATUS_OK;
- }
-
- b->localaddress = talloc_strdup(b, value);
- if (b->localaddress == NULL) {
- b->localaddress = tmp;
- return NT_STATUS_NO_MEMORY;
- }
- talloc_free(tmp);
-
- b->flags |= DCERPC_LOCALADDRESS;
- return NT_STATUS_OK;
- }
-
for (i=0; b->options && b->options[i]; i++) {
const char *o = b->options[i];
@@ -1001,14 +965,6 @@ _PUBLIC_ struct dcerpc_binding *dcerpc_binding_dup(TALLOC_CTX *mem_ctx,
}
}
- if (b->localaddress != NULL) {
- n->localaddress = talloc_strdup(n, b->localaddress);
- if (n->localaddress == NULL) {
- talloc_free(n);
- return NULL;
- }
- }
-
if (b->endpoint != NULL) {
n->endpoint = talloc_strdup(n, b->endpoint);
if (n->endpoint == NULL) {
diff --git a/librpc/rpc/rpc_common.h b/librpc/rpc/rpc_common.h
index 98be80eb226..0fd9933d230 100644
--- a/librpc/rpc/rpc_common.h
+++ b/librpc/rpc/rpc_common.h
@@ -48,7 +48,6 @@ struct dcerpc_binding {
const char *target_principal;
const char *endpoint;
const char **options;
- const char *localaddress;
uint32_t flags;
uint32_t assoc_group_id;
};
@@ -104,9 +103,6 @@ struct dcerpc_binding {
/* use NDR64 transport */
#define DCERPC_NDR64 (1<<21)
-/* specify binding interface */
-#define DCERPC_LOCALADDRESS (1<<22)
-
/* handle upgrades or downgrades automatically */
#define DCERPC_SCHANNEL_AUTO (1<<23)