no longer require the pipe name or tcp port number to be the first
authorAndrew Tridgell <tridge@samba.org>
Tue, 16 Dec 2003 10:15:21 +0000 (10:15 +0000)
committerAndrew Tridgell <tridge@samba.org>
Tue, 16 Dec 2003 10:15:21 +0000 (10:15 +0000)
option in the ncacn_* syntax
(This used to be commit 74f36d32bb14e94a80e1963cbc95f8fba3f23335)

prog_guide.txt
source4/librpc/rpc/dcerpc_util.c

index df03ecac22d5c234c32fd32f35d727e825f1f985..b604b8ee5ff8d7157876370ec21f577fb811bad3 100644 (file)
@@ -564,10 +564,9 @@ where TRANSPORT is either ncacn_np for SMB or ncacn_ip_tcp for RPC/TCP
 
 "host" is an IP or hostname or netbios name
 
-"flags" must start with the pipe name if using the ncacn_np transport
-
-The ncacn_ip_tcp can take an integer flag giving the TCP port
-number. It must be the first flag if given.
+"flags" can include a SMB pipe name if using the ncacn_np transport or
+a TCP port number if using the ncacn_ip_tcp transport, otherwise they
+will be auto-determined.
 
 other recognised flags are:
 
index fbc97f316ddfd8158e08ca70a303c2a5a9feff40..f1b719e64a330502f8f371379e6c895693c0b8ae 100644 (file)
@@ -364,7 +364,11 @@ NTSTATUS dcerpc_parse_binding(TALLOC_CTX *mem_ctx, const char *s, struct dcerpc_
        for (i=0;b->options[i];i++) {
                for (j=0;j<ARRAY_SIZE(options);j++) {
                        if (strcasecmp(options[j].name, b->options[i]) == 0) {
+                               int k;
                                b->flags |= options[j].flag;
+                               for (k=i;b->options[k];k++) {
+                                       b->options[k] = b->options[k+1];
+                               }
                                break;
                        }
                }