diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-01-23 09:45:47 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2014-02-13 11:54:14 +0100 |
commit | afcd5506c9da466c1f568c01eae47649001fc82d (patch) | |
tree | 32a8f2a21c4a6d5917582b720caa0fc3b79fbd13 /librpc/rpc | |
parent | c327a60a027ba06dbc67921055bb88f9a573096d (diff) | |
download | samba-afcd5506c9da466c1f568c01eae47649001fc82d.tar.gz |
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/rpc')
-rw-r--r-- | librpc/rpc/binding.c | 48 | ||||
-rw-r--r-- | librpc/rpc/rpc_common.h | 4 |
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) |