Revert "TODO pointer options..."
authorStefan Metzmacher <metze@samba.org>
Mon, 22 Sep 2014 14:42:34 +0000 (16:42 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 4 Jun 2019 10:43:20 +0000 (12:43 +0200)
This reverts commit 2113b0721b70e3cc7d2fb5591ed8898d06fbef96.

librpc/rpc/binding.c
librpc/rpc/rpc_common.h

index 4dc9dd9066b4cf6778ec8dfc3fda02f5521ea1fc..677f66c1b144f8f36b1e20df70e5355768e2b186 100644 (file)
@@ -35,8 +35,6 @@
 
 #define MAX_PROTSEQ            10
 
-struct dcerpc_binding_pointers;
-
 struct dcerpc_binding {
        enum dcerpc_transport_t transport;
        struct GUID object;
@@ -49,14 +47,6 @@ struct dcerpc_binding {
        uint32_t flags;
        uint32_t assoc_group_id;
        char assoc_group_string[11]; /* 0x3456789a + '\0' */
-       size_t num_pointers;
-       struct dcerpc_binding_pointers *pointers;
-};
-
-struct dcerpc_binding_pointers {
-       const char *name;
-       const char *
-       void *ptr;
 };
 
 static const struct {
@@ -964,7 +954,6 @@ _PUBLIC_ void *_dcerpc_binding_get_pointer_option(const struct dcerpc_binding *b
                                                  const char *name, const char *type)
 {
        char tsbuf[256];
-       char vsbuf[20];
        const char *vs;
        char *end = NULL;
        unsigned long long vl;
@@ -985,19 +974,6 @@ _PUBLIC_ void *_dcerpc_binding_get_pointer_option(const struct dcerpc_binding *b
                return NULL;
        }
 
-       if (strlen(vs) > (sizeof(vsbuf) - 1)) {
-               return NULL;
-       }
-
-       snprintf(vsbuf, sizeof(vsbuf), "%s", vs);
-       vs = vsbuf;
-
-       p = strchr(vs, ':');
-       if (p == NULL) {
-               return NULL;
-       }
-       *p = '\0';
-
        errno = 0;
        vl = strtoull(vs, &end, 16);
        if (errno != 0) {
@@ -1018,20 +994,14 @@ _PUBLIC_ void *_dcerpc_binding_get_pointer_option(const struct dcerpc_binding *b
        return (void *)vp;
 }
 
-struct dcerpc_binding_pointer_option_ref {
-       char tsbuf[256];
-       char vsbuf[40];
-};
-
 _PUBLIC_ NTSTATUS _dcerpc_binding_set_pointer_option(struct dcerpc_binding *b,
                                                     const char *name,
                                                     const char *type,
                                                     const void *vp)
 {
        char tsbuf[256];
+       char vsbuf[20];
        const char *vs = NULL;
-       struct dcerpc_binding_pointer_option_ref *r;
-       NTSTATUS status;
 
        if (strlen(name) > 100) {
                return NT_STATUS_INVALID_PARAMETER_MIX;
@@ -1044,15 +1014,8 @@ _PUBLIC_ NTSTATUS _dcerpc_binding_set_pointer_option(struct dcerpc_binding *b,
        snprintf(tsbuf, sizeof(tsbuf), "%s:pointer:%d:%s", name, getpid(), type);
 
        if (vp != NULL) {
-               r = talloc_zero(vp, struct dcerpc_binding_pointer_option_ref);
-               if (r == NULL) {
-                       return NT_STATUS_NO_MEMORY;
-               }
-               snprintf(tsbuf, sizeof(tsbuf), "%s:pointer:%d:%s", name, getpid(), type);
-               snprintf(r->vsbuf, sizeof(vsbuf), "%p", vp);
+               snprintf(vsbuf, sizeof(vsbuf), "%p", vp);
                vs = vsbuf;
-
-
        }
 
        return dcerpc_binding_set_string_option(b, tsbuf, vs);
index 9a5fd247cef079a6e020d4f4c6cea4dcb7a9cf2c..1fbdb665f9f3e95ebbc61cdce3e358c834009f9b 100644 (file)
@@ -164,7 +164,7 @@ NTSTATUS _dcerpc_binding_set_pointer_option(struct dcerpc_binding *b,
                                            const char *type,
                                            const void *vp);
 #define dcerpc_binding_set_pointer_option(b, name, type, vp) \
-       _dcerpc_binding_set_pointer_option(b, name, #type, talloc_get_type(vp, type))
+       _dcerpc_binding_set_pointer_option(b, name, #type, vp)
 uint32_t dcerpc_binding_get_flags(const struct dcerpc_binding *b);
 NTSTATUS dcerpc_binding_set_flags(struct dcerpc_binding *b,
                                  uint32_t additional,