[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Thu Feb 13 05:56:06 MST 2014


The branch, master has been updated
       via  e4997ea librpc/rpc: finaly make struct dcerpc_binding private
       via  4d4e4ef s4:librpc/rpc: make dcerpc_pipe->binding const
       via  0cc3e94 s4:librpc/rpc: pass dcerpc_binding arround as 'const'
       via  30fa344 s4:librpc/rpc: only pass down dcecli_connection to the low level connect functions
       via  2a68f5d s4:librpc/rpc: don't create a ncacn_np: binding
       via  79c76ee s4:librpc/rpc: use dcerpc_binding_get_string_option() for "host" and "target_hostname"
       via  4afe367 s4:librpc/rpc: use dcerpc_binding_get_string_option("target_principal")
       via  f309d67 s4:librpc/rpc: make use of dcerpc_binding_get_string_option("endpoint")
       via  4bed466 s4:torture/libnet: make use of dcerpc_binding_get_string_option("host")
       via  da846ba s4:torture/rpc: make use of dcerpc_binding_get_string_option("host")
       via  ff0d4d3 s4:torture/drs: make use of dcerpc_binding_get_string_option("host")
       via  982d9a0 s4:torture/drs: use make use of dcerpc_binding_get_string_option("host")
       via  2e93d6f s4:torture/drs: make use of dcerpc_binding_set_flags()
       via  75927a5 s4:torture/rpc: make use of dcerpc_binding_set_flags()
       via  26c2a27 s4:librpc/rpc: make use of dcerpc_binding_get_flags()
       via  57476e4 s4:torture/rpc: use dcerpc_binding_set_abstract_syntax() in epmapper.c
       via  03846bc s4:torture/rpc: make use of dcerpc_binding_set_abstract_syntax() in epmapper.c
       via  460272d s4:torture/rpc: make use of dcerpc_binding_set_flags()
       via  e2c5938 s4:torture/rpc: make use of dcerpc_binding_set_*() in torture_rpc_scanner()
       via  451d703 s4:torture/rpc: make use of dcerpc_binding_[g|s]et_transport()
       via  41eaba7 s4:torture: use dcerpc_binding_get_string_option("host") in smbtorture.c
       via  7109688 s4:winbind: make use of dcerpc_binding_[g|s]et_flags()
       via  785c0fe s4:winbind: don't access dcerpc_binding internals in init_domain_binding()
       via  196c6e0 s4:dsdb/repl: make use of dcerpc_binding_get_string_option("host")
       via  581ded9 s4:dsdb/repl: make dreplsrv_get_target_principal() static
       via  fd8834c s4:dsdb/repl: make use of dcerpc_binding_set_string_option("target_principal")
       via  f67a7cb s4:rpc_server/remote: use dcerpc_binding_set_*() in remote_op_bind()
       via  451ca21 s4:rpc_server/remote: use ndr_table_by_syntax() in remote_op_bind()
       via  fb49c42 s4:rpc_server/epmapper: make use of dcerpc_binding_set_abstract_syntax() in build_ep_list()
       via  bc4c7d4 s4:rpc_server: make use of dcerpc_binding_get_transport()
       via  e300c76 s4:rpc_server: make use of dcerpc_binding_get_string_option("endpoint")
       via  efcae33 s4:rpc_server: use dcerpc_binding_get_*() in endpoints_match()
       via  9632f92 s4:lib/com/dcom: use dcerpc_parse_binding() to create the binding
       via  549001f s4:libnet: add const to libnet_JoinDomain->out.samr_binding
       via  776f5c6 s4:libnet: use helper functions to access dcerpc_binding->target_hostname
       via  ab5f89b s4:libnet: make use of dcerpc_binding_get_string_option("host")
       via  cd0981b s4:libnet: make use of dcerpc_binding_set_flags()
       via  98e2b3c s4:libnet: make use of dcerpc_binding_[g|s]et_*() in libnet_join.c
       via  133c5ba s4:libnet: use 'const struct dcerpc_binding' for local readonly variables
       via  de8e013 s4:libnet: make use of dcerpc_binding_get_*() in libnet_rpc.c
       via  37849f5 s3:srv_epmapper: make use of dcerpc_binding_get_abstract_syntax()
       via  516b9d6 s3:srv_epmapper: make use of dcerpc_binding_*() functions in build_ep_list()
       via  022abd4 s3:srv_epmapper: use dcerpc_binding_get_abstract_syntax() in _epm_Insert()
       via  149cf1c s3:srv_epmapper: use dcerpc_binding_get_transport() in _epm_Insert() and _epm_Delete()
       via  7f5badb s3:srv_epmapper: make use of dcerpc_binding_*() functions in endpoints_match()
       via  caeef25 s3:dcerpc_ep: make use of dcerpc_binding_set_abstract_syntax()
       via  52ccd28 s3:dcerpc_ep: make use of dcerpc_binding helper functions
       via  03f7c31 s3:rpc_server: make use of dcerpc_binding_set_abstract_syntax()
       via  a91a59b s3:rpcclient: make use of dcerpc_binding_get_string_option("host")
       via  6fff55c s3:rpcclient: make use of dcerpc_binding_set_abstract_syntax() in cmd_epmapper.c
       via  3547872 s3:rpcclient: make use of dcerpc_binding_[g|s]et_*() in rpcclient.c
       via  a1e0135 s3:rpc_client: avoid using dcerpc_binding internals in rpc_pipe_get_tcp_port()
       via  0007346 s4:librpc/rpc: make use of dcerpc_binding_get_*() in dcerpc_connect.c
       via  a281574 s4:librpc/rpc: remove unused dcerpc_pipe->assoc_group_id
       via  84528b9 s4:libnet_become_dc: make use of dcerpc_binding_[g|s]et_assoc_group_id()
       via  fd5d86a s4:rpc_server/remote: make use of dcerpc_binding_get_assoc_group_id()
       via  e796fcd s4:torture/rpc: make use of dcerpc_binding_get_assoc_group_id() in handles.c
       via  870a06a s4:torture/rpc: make use of dcerpc_binding_set_*() in torture_rpc_connection_transport()
       via  cef6b2d s4:librpc/rpc: make use of dcerpc_binding_[g|s]et_assoc_group_id()
       via  16de18e s4:librpc/rpc: make use of dcerpc_binding_[g|s]et_* functions in dcerpc_epm_map_binding_send()
       via  c50664f s4:librpc/rpc: always call dcerpc_binding_set_abstract_syntax() in dcerpc_epm_map_binding_send()
       via  8ccebf3 s4:librpc/rpc: the table argument to dcerpc_epm_map_binding_send() isn't optional
       via  aa8b2d3 librpc/rpc: make use of dcerpc_binding_set*() in dcerpc_binding_from_tower()
       via  c112242 librpc/rpc: use dcerpc_binding_get_*() in dcerpc_default_transport_endpoint()
       via  df4a900 s4:librpc/tests: add dcerpc_binding assoc_group_id tests
       via  0641087 s4:librpc/tests: add dcerpc_binding target_hostname/target_principal tests
       via  c2e1ded s4:librpc/tests: use dcerpc_binding_get*() functions
       via  f2c058b librpc/rpc: avoid loosing data with dcerpc_binding_string() -> dcerpc_parse_binding()
       via  ebc1869 librpc/rpc: add dcerpc_binding_[g|s]et_abstract_syntax()
       via  4380055 librpc/rpc: allow "assoc_group_id" in dcerpc_binding_[g|s]et_string()
       via  5ba5430 librpc/rpc: add dcerpc_binding_[g|s]et_assoc_group_id()
       via  6ce8d76 librpc/rpc: add dcerpc_binding_[g|s]et_transport()
       via  f066bd7 librpc/rpc: add dcerpc_binding_[g|s]et_object()
       via  8dac967 librpc/rpc: add dcerpc_binding_[g|s]et_flags()
       via  77d0098 librpc/rpc: add dcerpc_binding_get_auth_info()
       via  9f5a59e librpc/rpc: simplify dcerpc_parse_binding()
       via  ed8adc2 librpc/rpc: handle ncacn_options in dcerpc_binding_[s|g]et_string_option()
       via  017338a librpc/rpc: set more things via dcerpc_binding_set_string_option()
       via  05b54f5 librpc/rpc: add ncacn_option_by_name()
       via  afcd550 librpc/rpc: remove dcerpc_binding->localaddress and store it in the options array
       via  c327a60 librpc/rpc: let derpc_binding_string() add ncacn_options before key=value options
       via  91a367d s4:librpc/rpc: use dcerpc_binding_[g|set]_string_option("localaddress")
       via  e4b246a librpc/rpc: handle "localaddress" in dcerpc_binding_[s|g]et_string_option()
       via  5d22127 librpc/rpc: keep talloc hierachie sane in dcerpc_parse_binding()
       via  7c0985b librpc/rpc: add dcerpc_binding_copy_string_option()
       via  8dfba57 librpc/rpc: add dcerpc_binding_set_string_option()
       via  6557b42 librpc/rpc: add dcerpc_binding_get_string_option()
       via  3f40cde librpc/rpc: only interpret the first option as endpoint if there's no '=' in it.
       via  33fa75c librpc/rpc: remove the options array in dcerpc_parse_binding() if not needed
       via  09c5bd9 librpc/rpc: add some talloc checks to dcerpc_binding_string()
       via  352d096 s3:rpc_server: make use of dcerpc_parse_binding() to create a binding.
       via  5e3d72e s3:rpcclient: make use of dcerpc_parse_binding() to create the binding
       via  7fd9ee6 s4:rpc_server/spoolss: use dcerpc_parse_binding() to create the notify binding
       via  16b56d7 s4:torture/rpc: use dcerpc_parse_binding() in epmapper.c
       via  05193b3 s4:torture/rpc: use dcerpc_binding_dup() before modifying the given binding
       via  1228a93 s4:librpc/rpc: use dcerpc_binding_dup() before modifying the given binding
       via  6a19332 s4:libnet: avoid compiler warnings in libnet_lookup.c
       via  dfd30a6 s4:rpc_server/remote: avoid compiler a compiler warning
       via  da481b5 s4:wrepl_server: avoid some compiler warnings
       via  b51cc6e s4:torture/rpc: s/pipe/p/ in order to avoid compiler warnings
       via  83bd478 s4:client: fix some compiler warnings
       via  6f527c8 s4:auth/gensec: only include "librpc/gen_ndr/dcerpc.h"
       via  31a9274 auth/gensec: only include "librpc/gen_ndr/dcerpc.h"
      from  f8c179b build: allow some python variable overrides

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e4997ea8a7bd32cdc08e93b3278e8e95940234eb
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 31 21:13:54 2014 +0100

    librpc/rpc: finaly make struct dcerpc_binding private
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    
    Autobuild-User(master): Günther Deschner <gd at samba.org>
    Autobuild-Date(master): Thu Feb 13 13:55:47 CET 2014 on sn-devel-104

commit 4d4e4ef619682801746def5b6ebd4deea8bd7368
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:24:29 2014 +0100

    s4:librpc/rpc: make dcerpc_pipe->binding const
    
    This should not be changed after the connection is
    ready for requests.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 0cc3e945b5e2ba4f9db52488bbe86ea05f774514
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:19:48 2014 +0100

    s4:librpc/rpc: pass dcerpc_binding arround as 'const'
    
    This should only be modified by the owner.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 30fa3446048cc9a57b08633d4eac93455329126b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 10:48:52 2014 +0100

    s4:librpc/rpc: only pass down dcecli_connection to the low level connect functions
    
    They don't need dcerpc_pipe.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 2a68f5d4dde64bba2a10b47fee975b1443629a2a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 10:48:52 2014 +0100

    s4:librpc/rpc: don't create a ncacn_np: binding
    
    It's up to the caller to store the dcerpc_pipe->binding.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 79c76ee54d1ad73fa2e92a189da79df5593737ae
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 10:03:09 2014 +0100

    s4:librpc/rpc: use dcerpc_binding_get_string_option() for "host" and "target_hostname"
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 4afe367c08cbe9574f28fae23133462ba10c57b7
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 03:05:37 2014 +0100

    s4:librpc/rpc: use dcerpc_binding_get_string_option("target_principal")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit f309d67fcd3051628a1cc9d147d5a0bf56e2e286
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 11:30:38 2014 +0100

    s4:librpc/rpc: make use of dcerpc_binding_get_string_option("endpoint")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 4bed466352e093a4583b0cd96ddb301715cad959
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 12:14:37 2014 +0100

    s4:torture/libnet: make use of dcerpc_binding_get_string_option("host")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit da846ba106d5f6d8b78b71e65781e8c10fa81eff
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 12:14:37 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_get_string_option("host")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit ff0d4d39dd2fecde51dc8d10aaeff706cd554cac
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 12:14:37 2014 +0100

    s4:torture/drs: make use of dcerpc_binding_get_string_option("host")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 982d9a06e68ed140ce4bae9ef67536c145816511
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 10:07:15 2014 +0100

    s4:torture/drs: use make use of dcerpc_binding_get_string_option("host")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 2e93d6f881fb92bdcd0586ce4353bdf1dafb16f8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 10:05:29 2014 +0100

    s4:torture/drs: make use of dcerpc_binding_set_flags()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 75927a5e40fb857e91dcc3d960536fe1207014b3
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 10:05:29 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_set_flags()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 26c2a27c2d723c4bace1017a392ba66ec57d5c0e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 10:02:28 2014 +0100

    s4:librpc/rpc: make use of dcerpc_binding_get_flags()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 57476e4e224a441fc88e504778d47ab0c9657955
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 09:14:00 2014 +0100

    s4:torture/rpc: use dcerpc_binding_set_abstract_syntax() in epmapper.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 03846bcc08f1ce3d1f25736b030830bcf42db912
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:31:10 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_set_abstract_syntax() in epmapper.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 460272d69b5cfc8d1310e0d8ebcf5c62df242a9f
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 19:40:20 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_set_flags()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit e2c59389f04cf4a629d90888637f56fe5e34ca38
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 19:08:07 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_set_*() in torture_rpc_scanner()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 451d7039fe3f8c2f2e60258a765c55f3d1fc39a4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 19:05:06 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_[g|s]et_transport()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 41eaba77361c984f6d57143a5e1c7c25663c0d84
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 12:14:37 2014 +0100

    s4:torture: use dcerpc_binding_get_string_option("host") in smbtorture.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 71096883e1614e718a94dfb44ed71e70529d0af1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 09:55:11 2014 +0100

    s4:winbind: make use of dcerpc_binding_[g|s]et_flags()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 785c0fe34af5705934564bbea08dd4ad15a1970a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 09:11:48 2014 +0100

    s4:winbind: don't access dcerpc_binding internals in init_domain_binding()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 196c6e086ac6960540e6f1a8ddabda24cef01f8b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 12:14:37 2014 +0100

    s4:dsdb/repl: make use of dcerpc_binding_get_string_option("host")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 581ded9a2819f4533a79f5ddcd5f9203c81ea594
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 03:07:30 2014 +0100

    s4:dsdb/repl: make dreplsrv_get_target_principal() static
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit fd8834c758f59aa03c7cb8fad82c93a28c6ea444
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 03:07:00 2014 +0100

    s4:dsdb/repl: make use of dcerpc_binding_set_string_option("target_principal")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit f67a7cb6b7412bdb72e15ca04ce6cef449f5ae55
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:06:06 2014 +0100

    s4:rpc_server/remote: use dcerpc_binding_set_*() in remote_op_bind()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 451ca21f6a7681e5324ff1f5bb7c64f963baf1dd
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:05:20 2014 +0100

    s4:rpc_server/remote: use ndr_table_by_syntax() in remote_op_bind()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit fb49c4280ba64f106f2c942b79709735110fc090
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:33:03 2014 +0100

    s4:rpc_server/epmapper: make use of dcerpc_binding_set_abstract_syntax() in build_ep_list()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit bc4c7d4c1e6a86506aa2f895eafe98a22a90c68c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 19:01:34 2014 +0100

    s4:rpc_server: make use of dcerpc_binding_get_transport()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit e300c76e750035c199519819aea17c6013eb433c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 11:32:03 2014 +0100

    s4:rpc_server: make use of dcerpc_binding_get_string_option("endpoint")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit efcae33cb5e7227b8c25fd261534a240fa8b50d8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 19:00:09 2014 +0100

    s4:rpc_server: use dcerpc_binding_get_*() in endpoints_match()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 9632f92cc13aed2683f69ee85b4048ee4ef252eb
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Feb 6 18:58:52 2014 +0100

    s4:lib/com/dcom: use dcerpc_parse_binding() to create the binding
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 549001fb736559355f2caa2f4201097e2cd3fcde
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:23:28 2014 +0100

    s4:libnet: add const to libnet_JoinDomain->out.samr_binding
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 776f5c65bf6123d4f6909724436c48fe900866f0
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 09:59:54 2014 +0100

    s4:libnet: use helper functions to access dcerpc_binding->target_hostname
    
    If possible also specify the already known address as dcerpc_binding->host.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit ab5f89bc72e4d42fd12572e267f8c236705646fb
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 12:14:37 2014 +0100

    s4:libnet: make use of dcerpc_binding_get_string_option("host")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit cd0981b2d8d8726b035d28fd3a9ece9aebd8f376
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 09:57:07 2014 +0100

    s4:libnet: make use of dcerpc_binding_set_flags()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 98e2b3c28f05ee3c23d16c9b8eaae65959c93de1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 22:04:11 2014 +0100

    s4:libnet: make use of dcerpc_binding_[g|s]et_*() in libnet_join.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 133c5ba0633941c235064e8d633a265e714ca3be
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:22:11 2014 +0100

    s4:libnet: use 'const struct dcerpc_binding' for local readonly variables
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit de8e013bec5818ea03f057f56f81786d2c061913
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 22:02:49 2014 +0100

    s4:libnet: make use of dcerpc_binding_get_*() in libnet_rpc.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 37849f5ec7883a4cd038e9bae0b8e78649e49ebb
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:32:29 2014 +0100

    s3:srv_epmapper: make use of dcerpc_binding_get_abstract_syntax()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 516b9d6dead4efcff10ca52aa2efb9d9a248c557
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 31 21:10:41 2014 +0100

    s3:srv_epmapper: make use of dcerpc_binding_*() functions in build_ep_list()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 022abd49c03c65b42c17109f5a80f828fc468b0b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 31 21:10:41 2014 +0100

    s3:srv_epmapper: use dcerpc_binding_get_abstract_syntax() in _epm_Insert()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 149cf1cf751d8074f1236ca0880dbd92f964e5c8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 31 21:10:41 2014 +0100

    s3:srv_epmapper: use dcerpc_binding_get_transport() in _epm_Insert() and _epm_Delete()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 7f5badb36b443c14d555a3d54f59c25064a7d78a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 31 23:26:43 2014 +0100

    s3:srv_epmapper: make use of dcerpc_binding_*() functions in endpoints_match()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit caeef257d24bbf1166e7a8b88af290c102f7d3e4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:31:44 2014 +0100

    s3:dcerpc_ep: make use of dcerpc_binding_set_abstract_syntax()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 52ccd28ca75bef4f7ac2489389a5aebf5db2b34a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 12:52:34 2014 +0100

    s3:dcerpc_ep: make use of dcerpc_binding helper functions
    
    We should not dereference 'struct dcerpc_binding'.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 03f7c31326731af76a97237a4bb6fd9bf25e70c1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 23:09:50 2014 +0100

    s3:rpc_server: make use of dcerpc_binding_set_abstract_syntax()
    
    This is better than accessing the dcerpc_binding internals.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit a91a59b9d8ad0a69fb88f657529013a22732c889
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 12:14:37 2014 +0100

    s3:rpcclient: make use of dcerpc_binding_get_string_option("host")
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 6fff55cf003dfb796894d1cd667302b667c0ea36
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 22:05:51 2014 +0100

    s3:rpcclient: make use of dcerpc_binding_set_abstract_syntax() in cmd_epmapper.c
    
    We should not use dcerpc_binding internals.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 3547872a76741c1aa455c0cd52e0513efb2d5003
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 22:06:53 2014 +0100

    s3:rpcclient: make use of dcerpc_binding_[g|s]et_*() in rpcclient.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit a1e013505c0e8be8b1fb45dc59b2d4a1af450bce
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 09:26:26 2014 +0100

    s3:rpc_client: avoid using dcerpc_binding internals in rpc_pipe_get_tcp_port()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 00073465df86210ba5f08a05d0cb1096595ae7e1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 22:00:44 2014 +0100

    s4:librpc/rpc: make use of dcerpc_binding_get_*() in dcerpc_connect.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit a281574c9fcb77813e1f269b1e54b513ae977640
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:52:35 2014 +0100

    s4:librpc/rpc: remove unused dcerpc_pipe->assoc_group_id
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 84528b9ee033add370f933dace23dae0fef17696
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:51:16 2014 +0100

    s4:libnet_become_dc: make use of dcerpc_binding_[g|s]et_assoc_group_id()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit fd5d86aa852e1b58fd8e32799ecb798fdcf4e97e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:50:18 2014 +0100

    s4:rpc_server/remote: make use of dcerpc_binding_get_assoc_group_id()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit e796fcd4259d8f625a6c5ccf79e6dc85cf22b5c1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:49:58 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_get_assoc_group_id() in handles.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 870a06aadd56d8c9a88e0d2392afe28bd082d1ec
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 19:06:28 2014 +0100

    s4:torture/rpc: make use of dcerpc_binding_set_*() in torture_rpc_connection_transport()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit cef6b2d9d756723b7dcc8272cfaab4cddf66d1ae
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 4 02:51:16 2014 +0100

    s4:librpc/rpc: make use of dcerpc_binding_[g|s]et_assoc_group_id()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 16de18e5a26ad0aa05584aa790d78253ee12bd1b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jan 25 11:14:36 2014 +0100

    s4:librpc/rpc: make use of dcerpc_binding_[g|s]et_* functions in dcerpc_epm_map_binding_send()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit c50664f68f10d0965908707258909d9da1e879fc
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jan 25 11:14:36 2014 +0100

    s4:librpc/rpc: always call dcerpc_binding_set_abstract_syntax() in dcerpc_epm_map_binding_send()
    
    We should always set the abstract syntax even if we don't ask the endpoint
    mapper.
    
    By using dcerpc_binding_set_abstract_syntax() instead of calling
    binding->object = table->syntax_id, we will be able to separate
    the abstract_syntax from the object uuid in future.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 8ccebf3a2749bf7c4f5e358b76e0eef7195f0f18
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 08:58:08 2014 +0100

    s4:librpc/rpc: the table argument to dcerpc_epm_map_binding_send() isn't optional
    
    We already dereference it unchecked later, so we can avoid some indentation.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit aa8b2d39a26641e1ad230a6c0e3b0fc09b9c4f95
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Feb 3 09:11:32 2014 +0100

    librpc/rpc: make use of dcerpc_binding_set*() in dcerpc_binding_from_tower()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit c11224225d70919b76b16770777cb622ca1f29da
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 09:09:04 2014 +0100

    librpc/rpc: use dcerpc_binding_get_*() in dcerpc_default_transport_endpoint()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit df4a900aa60f5be22f3ea157bfdaf6427251299f
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 11 07:28:53 2014 +0100

    s4:librpc/tests: add dcerpc_binding assoc_group_id tests
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 06410872a14fae40b2fc94279f42e1454d54eec3
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 11 07:28:53 2014 +0100

    s4:librpc/tests: add dcerpc_binding target_hostname/target_principal tests
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit c2e1dedb81d72a6ccc7fb695bc35bf43862316ad
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Feb 7 16:17:04 2014 +0100

    s4:librpc/tests: use dcerpc_binding_get*() functions
    
    We should not dereference struct dcerpc_binding.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit f2c058bf2a46915d73daedd87ef5273e880abf50
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Feb 7 14:50:11 2014 +0100

    librpc/rpc: avoid loosing data with dcerpc_binding_string() -> dcerpc_parse_binding()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit ebc18694a13b0860c222644372d76a2621d87384
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jan 25 11:31:14 2014 +0100

    librpc/rpc: add dcerpc_binding_[g|s]et_abstract_syntax()
    
    For now this is just an alternate wrapper to
    access binding->object.
    
    Currently callers are reusing binding->object to store the
    abstract syntax id instead of just the object uuid.
    
    Some services on Windows use the same GUID for the
    'object' and the 'abstract syntax', but they are completely
    different things!
    
    Most services use a null object guid, some reuse the
    guid of the abstract syntax and use it like a 'class' object.
    
    But the object guid is only really used by DCOM,
    in order to call functions relative to an object instance,
    which a dynamically allocated object guid.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 43800553bbe90933fea103f15a912619cd728c5b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Feb 11 19:33:09 2014 +0100

    librpc/rpc: allow "assoc_group_id" in dcerpc_binding_[g|s]et_string()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 5ba54305383783a0121425c602856a3432abdc2f
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jan 25 11:22:52 2014 +0100

    librpc/rpc: add dcerpc_binding_[g|s]et_assoc_group_id()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 6ce8d761dc60d5a84ca4f11ebb801c0be643ec10
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jan 25 10:39:55 2014 +0100

    librpc/rpc: add dcerpc_binding_[g|s]et_transport()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit f066bd7b33e6c44311af7d82835017aac0b85c0d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 24 16:56:34 2014 +0100

    librpc/rpc: add dcerpc_binding_[g|s]et_object()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 8dac96728aee72f4d5510d53c3b00bdbd250a867
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 24 16:43:57 2014 +0100

    librpc/rpc: add dcerpc_binding_[g|s]et_flags()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 77d009898412cfef8f9773152f0728011ec7e304
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 24 16:38:01 2014 +0100

    librpc/rpc: add dcerpc_binding_get_auth_info()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 9f5a59eb536b3dcf98f90259877d55c58d8c7f9a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 23 12:13:14 2014 +0100

    librpc/rpc: simplify dcerpc_parse_binding()
    
    We now make a copy of the given string, so that we can mark chunks
    inline. Then we call dcerpc_binding_set_string_option() in order
    to set the elements.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit ed8adc292047112d41fc2de0e77f76fcbdc7daac
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 23 13:55:10 2014 +0100

    librpc/rpc: handle ncacn_options in dcerpc_binding_[s|g]et_string_option()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 017338a180c87e938af5215720bf59610f4ddbb1
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 23 12:13:14 2014 +0100

    librpc/rpc: set more things via dcerpc_binding_set_string_option()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 05b54f5a3376735a84cc1c6f1427e3045aa8024d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 23 14:26:04 2014 +0100

    librpc/rpc: add ncacn_option_by_name()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit afcd5506c9da466c1f568c01eae47649001fc82d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 23 09:45:47 2014 +0100

    librpc/rpc: remove dcerpc_binding->localaddress and store it in the options array
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit c327a60a027ba06dbc67921055bb88f9a573096d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Jan 24 09:24:49 2014 +0100

    librpc/rpc: let derpc_binding_string() add ncacn_options before key=value options
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 91a367dce533929357e27d45d8b58f0f0620772e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 16 15:39:55 2014 +0100

    s4:librpc/rpc: use dcerpc_binding_[g|set]_string_option("localaddress")
    
    We should avoid deferencing struct dcerpc_binding if possible.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit e4b246a968c66c00643a3689c35f86bbf80dc7ec
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 16 14:20:04 2014 +0100

    librpc/rpc: handle "localaddress" in dcerpc_binding_[s|g]et_string_option()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 5d221271182f2614b5d2cd3adab728c20f655c2e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Jan 15 15:22:47 2014 +0100

    librpc/rpc: keep talloc hierachie sane in dcerpc_parse_binding()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 7c0985bb352ce0d4bc896e951fee73ae32322d82
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 23 14:59:48 2014 +0100

    librpc/rpc: add dcerpc_binding_copy_string_option()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 8dfba57c339f7dd54a5440113da8959cc581cf79
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 16 11:10:46 2014 +0100

    librpc/rpc: add dcerpc_binding_set_string_option()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 6557b429ef9f330d66f42a02530d40db14bc3493
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Jan 15 15:15:35 2014 +0100

    librpc/rpc: add dcerpc_binding_get_string_option()
    
    This allows get value string of a [key=value] option
    of the dcerpc_binding.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 3f40cde3ea21c54f3134e529914515059a2927b3
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Jan 15 14:43:51 2014 +0100

    librpc/rpc: only interpret the first option as endpoint if there's no '=' in it.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 33fa75c6159dea22a4960c73cdd0ad3969ad95d4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Jan 15 14:43:12 2014 +0100

    librpc/rpc: remove the options array in dcerpc_parse_binding() if not needed
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 09c5bd99b14b1a613bb74c763c64dfddfba6559a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Jan 15 14:22:22 2014 +0100

    librpc/rpc: add some talloc checks to dcerpc_binding_string()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 352d0963909793f5fd39c25c17363f284e72201c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 23:09:50 2014 +0100

    s3:rpc_server: make use of dcerpc_parse_binding() to create a binding.
    
    This makes sure binding is talloc'ed.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 5e3d72e738cacfbe1d641d7aa0ff7cc67979adf0
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 22:05:51 2014 +0100

    s3:rpcclient: make use of dcerpc_parse_binding() to create the binding
    
    This makes sure the binding is talloc'ed.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 7fd9ee632e53e6c901aa8e38d11aeda09c2075c8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 19:02:16 2014 +0100

    s4:rpc_server/spoolss: use dcerpc_parse_binding() to create the notify binding
    
    This is much better than creating the binding by hand.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 16b56d7726f419ec2ec831f90f9e1b26e30d4543
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 30 09:14:00 2014 +0100

    s4:torture/rpc: use dcerpc_parse_binding() in epmapper.c
    
    This makes sure binding is talloc'ed.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 05193b39deeb4ace801a28ed8a1b6f2d51594b78
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:11:51 2014 +0100

    s4:torture/rpc: use dcerpc_binding_dup() before modifying the given binding
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 1228a935ac35c73c53bdf8fbd33ed9c748300079
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:11:51 2014 +0100

    s4:librpc/rpc: use dcerpc_binding_dup() before modifying the given binding
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 6a193326d5c6f65a743d05704eab7ea5f07c469d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:22:37 2014 +0100

    s4:libnet: avoid compiler warnings in libnet_lookup.c
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit dfd30a6b28a6bb16ec52ac6b56e32b03d97cdaa9
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:12:35 2014 +0100

    s4:rpc_server/remote: avoid compiler a compiler warning
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit da481b5906bd4519720c68311dd27f20fbfe536b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:10:56 2014 +0100

    s4:wrepl_server: avoid some compiler warnings
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit b51cc6ea37caabb027b5302924055fe99745b9da
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:09:53 2014 +0100

    s4:torture/rpc: s/pipe/p/ in order to avoid compiler warnings
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 83bd478c9bfe7a8a2970531ea05af8cca0bd7ca3
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:09:25 2014 +0100

    s4:client: fix some compiler warnings
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 6f527c8706c8c08be50106ac5625e8efa18aa1a9
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:08:19 2014 +0100

    s4:auth/gensec: only include "librpc/gen_ndr/dcerpc.h"
    
    We only need some DCERPC_ defines.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 31a92744bf73278053476e4993c607f3faa219f8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 12 12:08:19 2014 +0100

    auth/gensec: only include "librpc/gen_ndr/dcerpc.h"
    
    We only need some DCERPC_ defines.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 auth/gensec/gensec.c                        |    2 +-
 auth/gensec/gensec_start.c                  |    2 +-
 librpc/rpc/binding.c                        |  854 ++++++++++++++++++++++-----
 librpc/rpc/dcerpc_util.c                    |   39 +-
 librpc/rpc/rpc_common.h                     |   43 +-
 source3/librpc/rpc/dcerpc_ep.c              |   90 +++-
 source3/rpc_client/cli_pipe.c               |   31 +-
 source3/rpc_server/epmapper/srv_epmapper.c  |   90 +++-
 source3/rpc_server/rpc_ep_register.c        |   23 +-
 source3/rpcclient/cmd_epmapper.c            |   27 +-
 source3/rpcclient/rpcclient.c               |   33 +-
 source4/auth/gensec/gensec_gssapi.c         |    2 +-
 source4/auth/gensec/gensec_krb5.c           |    2 +-
 source4/client/client.c                     |   17 +-
 source4/dsdb/repl/drepl_partitions.c        |   34 +-
 source4/lib/com/dcom/main.c                 |   34 +-
 source4/libnet/libnet_become_dc.c           |   37 +-
 source4/libnet/libnet_join.c                |   38 +-
 source4/libnet/libnet_join.h                |    2 +-
 source4/libnet/libnet_lookup.c              |    7 +-
 source4/libnet/libnet_rpc.c                 |   70 ++--
 source4/libnet/libnet_site.c                |    4 +-
 source4/libnet/libnet_unbecome_dc.c         |    9 +-
 source4/libnet/libnet_vampire.c             |    3 +-
 source4/librpc/rpc/dcerpc.c                 |   35 +-
 source4/librpc/rpc/dcerpc.h                 |   16 +-
 source4/librpc/rpc/dcerpc_auth.c            |   12 +-
 source4/librpc/rpc/dcerpc_connect.c         |  211 ++++----
 source4/librpc/rpc/dcerpc_secondary.c       |   42 +-
 source4/librpc/rpc/dcerpc_smb.c             |   10 +-
 source4/librpc/rpc/dcerpc_util.c            |  131 +++--
 source4/librpc/tests/binding_string.c       |  127 ++++-
 source4/rpc_server/dcerpc_server.c          |   96 +++-
 source4/rpc_server/epmapper/rpc_epmapper.c  |    6 +-
 source4/rpc_server/lsa/dcesrv_lsa.c         |    6 +-
 source4/rpc_server/lsa/lsa_init.c           |    6 +-
 source4/rpc_server/lsa/lsa_lookup.c         |   21 +-
 source4/rpc_server/remote/dcesrv_remote.c   |   28 +-
 source4/rpc_server/samr/dcesrv_samr.c       |    3 +-
 source4/rpc_server/spoolss/dcesrv_spoolss.c |   19 +-
 source4/torture/drs/rpc/dssync.c            |   14 +-
 source4/torture/drs/rpc/msds_intid.c        |   11 +-
 source4/torture/libnet/libnet_domain.c      |    4 +-
 source4/torture/libnet/libnet_lookup.c      |    4 +-
 source4/torture/libnet/libnet_rpc.c         |    5 +-
 source4/torture/libnet/libnet_share.c       |    4 +-
 source4/torture/rpc/backupkey.c             |   13 +-
 source4/torture/rpc/bind.c                  |    5 +-
 source4/torture/rpc/dsgetinfo.c             |    8 +-
 source4/torture/rpc/epmapper.c              |   23 +-
 source4/torture/rpc/forest_trust.c          |   14 +-
 source4/torture/rpc/handles.c               |   13 +-
 source4/torture/rpc/lsa.c                   |   25 +-
 source4/torture/rpc/lsa_lookup.c            |    9 +-
 source4/torture/rpc/rpc.c                   |   25 +-
 source4/torture/rpc/samlogon.c              |    7 +-
 source4/torture/rpc/samr.c                  |    8 +-
 source4/torture/rpc/samsync.c               |   12 +-
 source4/torture/rpc/scanner.c               |   19 +-
 source4/torture/rpc/schannel.c              |   36 +-
 source4/torture/rpc/session_key.c           |    3 +-
 source4/torture/rpc/testjoin.c              |    3 +-
 source4/torture/smbtorture.c                |    7 +-
 source4/winbind/wb_init_domain.c            |   56 ++-
 source4/wrepl_server/wrepl_apply_records.c  |    2 +
 65 files changed, 1881 insertions(+), 711 deletions(-)


Changeset truncated at 500 lines:

diff --git a/auth/gensec/gensec.c b/auth/gensec/gensec.c
index 63ebc19..26e3ea5 100644
--- a/auth/gensec/gensec.c
+++ b/auth/gensec/gensec.c
@@ -27,7 +27,7 @@
 #include "lib/util/tevent_ntstatus.h"
 #include "auth/gensec/gensec.h"
 #include "auth/gensec/gensec_internal.h"
-#include "librpc/rpc/dcerpc.h"
+#include "librpc/gen_ndr/dcerpc.h"
 
 /*
   wrappers for the gensec function pointers
diff --git a/auth/gensec/gensec_start.c b/auth/gensec/gensec_start.c
index 9487cfc..9910f1a 100644
--- a/auth/gensec/gensec_start.c
+++ b/auth/gensec/gensec_start.c
@@ -24,7 +24,7 @@
 #include "system/network.h"
 #include "tevent.h"
 #include "../lib/util/tevent_ntstatus.h"
-#include "librpc/rpc/dcerpc.h"
+#include "librpc/gen_ndr/dcerpc.h"
 #include "auth/credentials/credentials.h"
 #include "auth/gensec/gensec.h"
 #include "auth/gensec/gensec_internal.h"
diff --git a/librpc/rpc/binding.c b/librpc/rpc/binding.c
index 5330916..4ee1c62 100644
--- a/librpc/rpc/binding.c
+++ b/librpc/rpc/binding.c
@@ -35,6 +35,20 @@
 
 #define MAX_PROTSEQ		10
 
+struct dcerpc_binding {
+	enum dcerpc_transport_t transport;
+	struct ndr_syntax_id object;
+	const char *object_string;
+	const char *host;
+	const char *target_hostname;
+	const char *target_principal;
+	const char *endpoint;
+	const char **options;
+	uint32_t flags;
+	uint32_t assoc_group_id;
+	char assoc_group_string[11]; /* 0x3456789a + '\0' */
+};
+
 static const struct {
 	const char *name;
 	enum dcerpc_transport_t transport;
@@ -74,7 +88,7 @@ static const struct {
 	},
 };
 
-static const struct {
+static const struct ncacn_option {
 	const char *name;
 	uint32_t flag;
 } ncacn_options[] = {
@@ -90,9 +104,26 @@ static const struct {
 	{"bigendian", DCERPC_PUSH_BIGENDIAN},
 	{"smb2", DCERPC_SMB2},
 	{"ndr64", DCERPC_NDR64},
-	{"localaddress", DCERPC_LOCALADDRESS}
 };
 
+static const struct ncacn_option *ncacn_option_by_name(const char *name)
+{
+	size_t i;
+
+	for (i=0; i<ARRAY_SIZE(ncacn_options); i++) {
+		int ret;
+
+		ret = strcasecmp(ncacn_options[i].name, name);
+		if (ret != 0) {
+			continue;
+		}
+
+		return &ncacn_options[i];
+	}
+
+	return NULL;
+}
+
 const char *epm_floor_string(TALLOC_CTX *mem_ctx, struct epm_floor *epm_floor)
 {
 	struct ndr_syntax_id syntax;
@@ -178,63 +209,147 @@ const char *epm_floor_string(TALLOC_CTX *mem_ctx, struct epm_floor *epm_floor)
 _PUBLIC_ char *dcerpc_binding_string(TALLOC_CTX *mem_ctx, const struct dcerpc_binding *b)
 {
 	char *s = talloc_strdup(mem_ctx, "");
+	char *o = s;
 	int i;
 	const char *t_name = NULL;
+	bool option_section = false;
+	const char *target_hostname = NULL;
 
 	if (b->transport != NCA_UNKNOWN) {
 		t_name = derpc_transport_string_by_transport(b->transport);
 		if (!t_name) {
+			talloc_free(o);
 			return NULL;
 		}
 	}
 
 	if (!GUID_all_zero(&b->object.uuid)) { 
-		s = talloc_asprintf(s, "%s@",
+		o = s;
+		s = talloc_asprintf_append_buffer(s, "%s@",
 				    GUID_string(mem_ctx, &b->object.uuid));
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
+		}
 	}
 
 	if (t_name != NULL) {
+		o = s;
 		s = talloc_asprintf_append_buffer(s, "%s:", t_name);
 		if (s == NULL) {
+			talloc_free(o);
 			return NULL;
 		}
 	}
 
 	if (b->host) {
+		o = s;
 		s = talloc_asprintf_append_buffer(s, "%s", b->host);
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
+		}
 	}
 
-	if (!b->endpoint && !b->options && !b->flags) {
+	target_hostname = b->target_hostname;
+	if (target_hostname != NULL && b->host != NULL) {
+		if (strcmp(target_hostname, b->host) == 0) {
+			target_hostname = NULL;
+		}
+	}
+
+	if (b->endpoint) {
+		option_section = true;
+	} else if (target_hostname) {
+		option_section = true;
+	} else if (b->target_principal) {
+		option_section = true;
+	} else if (b->assoc_group_id != 0) {
+		option_section = true;
+	} else if (b->options) {
+		option_section = true;
+	} else if (b->flags) {
+		option_section = true;
+	}
+
+	if (!option_section) {
 		return s;
 	}
 
+	o = s;
 	s = talloc_asprintf_append_buffer(s, "[");
+	if (s == NULL) {
+		talloc_free(o);
+		return NULL;
+	}
 
 	if (b->endpoint) {
+		o = s;
 		s = talloc_asprintf_append_buffer(s, "%s", b->endpoint);
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
+		}
 	}
 
-	/* this is a *really* inefficent way of dealing with strings,
-	   but this is rarely called and the strings are always short,
-	   so I don't care */
-	for (i=0;b->options && b->options[i];i++) {
-		s = talloc_asprintf_append_buffer(s, ",%s", b->options[i]);
-		if (!s) return NULL;
+	for (i=0;i<ARRAY_SIZE(ncacn_options);i++) {
+		if (!(b->flags & ncacn_options[i].flag)) {
+			continue;
+		}
+
+		o = s;
+		s = talloc_asprintf_append_buffer(s, ",%s", ncacn_options[i].name);
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
+		}
 	}
 
-	for (i=0;i<ARRAY_SIZE(ncacn_options);i++) {
-		if (b->flags & ncacn_options[i].flag) {
-			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);
-			}
-			if (!s) return NULL;
+	if (target_hostname) {
+		o = s;
+		s = talloc_asprintf_append_buffer(s, ",target_hostname=%s",
+						  b->target_hostname);
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
 		}
 	}
 
+	if (b->target_principal) {
+		o = s;
+		s = talloc_asprintf_append_buffer(s, ",target_principal=%s",
+						  b->target_principal);
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
+		}
+	}
+
+	if (b->assoc_group_id != 0) {
+		o = s;
+		s = talloc_asprintf_append_buffer(s, ",assoc_group_id=0x%08x",
+						  b->assoc_group_id);
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
+		}
+	}
+
+	for (i=0;b->options && b->options[i];i++) {
+		o = s;
+		s = talloc_asprintf_append_buffer(s, ",%s", b->options[i]);
+		if (s == NULL) {
+			talloc_free(o);
+			return NULL;
+		}
+	}
+
+	o = s;
 	s = talloc_asprintf_append_buffer(s, "]");
+	if (s == NULL) {
+		talloc_free(o);
+		return NULL;
+	}
 
 	return s;
 }
@@ -242,148 +357,589 @@ _PUBLIC_ char *dcerpc_binding_string(TALLOC_CTX *mem_ctx, const struct dcerpc_bi
 /*
   parse a binding string into a dcerpc_binding structure
 */
-_PUBLIC_ NTSTATUS dcerpc_parse_binding(TALLOC_CTX *mem_ctx, const char *s, struct dcerpc_binding **b_out)
+_PUBLIC_ NTSTATUS dcerpc_parse_binding(TALLOC_CTX *mem_ctx, const char *_s, struct dcerpc_binding **b_out)
 {
+	char *_t;
 	struct dcerpc_binding *b;
-	char *options;
+	char *s;
+	char *options = NULL;
 	char *p;
-	int i, j, comma_count;
+	size_t i;
+	NTSTATUS status;
 
 	b = talloc_zero(mem_ctx, struct dcerpc_binding);
 	if (!b) {
 		return NT_STATUS_NO_MEMORY;
 	}
 
+	_t = talloc_strdup(b, _s);
+	if (_t == NULL) {
+		talloc_free(b);
+		return NT_STATUS_NO_MEMORY;
+	}
+
+	s = _t;
+
+	p = strchr(s, '[');
+	if (p) {
+		*p = '\0';
+		options = p + 1;
+		if (options[strlen(options)-1] != ']') {
+			talloc_free(b);
+			return NT_STATUS_INVALID_PARAMETER_MIX;
+		}
+		options[strlen(options)-1] = 0;
+	}
+
 	p = strchr(s, '@');
 
 	if (p && PTR_DIFF(p, s) == 36) { /* 36 is the length of a UUID */
-		NTSTATUS status;
-		DATA_BLOB blob = data_blob(s, 36);
-		status = GUID_from_data_blob(&blob, &b->object.uuid);
+		*p = '\0';
 
-		if (NT_STATUS_IS_ERR(status)) {
-			DEBUG(0, ("Failed parsing UUID\n"));
+		status = dcerpc_binding_set_string_option(b, "object", s);
+		if (!NT_STATUS_IS_OK(status)) {
+			talloc_free(b);
 			return status;
 		}
 
 		s = p + 1;
-	} else {
-		ZERO_STRUCT(b->object);
 	}
 
-	b->object.if_version = 0;
-
 	p = strchr(s, ':');
 
 	if (p == NULL) {
 		b->transport = NCA_UNKNOWN;
 	} else {
-		char *type = talloc_strndup(mem_ctx, s, PTR_DIFF(p, s));
-		if (!type) {
+		*p = '\0';
+
+		status = dcerpc_binding_set_string_option(b, "transport", s);
+		if (!NT_STATUS_IS_OK(status)) {
+			talloc_free(b);
+			return status;
+		}
+
+		s = p + 1;
+	}
+
+	if (strlen(s) > 0) {
+		status = dcerpc_binding_set_string_option(b, "host", s);
+		if (!NT_STATUS_IS_OK(status)) {
+			talloc_free(b);
+			return status;
+		}
+
+		b->target_hostname = talloc_strdup(b, b->host);
+		if (b->target_hostname == NULL) {
+			talloc_free(b);
 			return NT_STATUS_NO_MEMORY;
 		}
+	}
 
-		for (i=0;i<ARRAY_SIZE(transports);i++) {
-			if (strcasecmp(type, transports[i].name) == 0) {
-				b->transport = transports[i].transport;
-				break;
-			}
+	for (i=0; options != NULL; i++) {
+		const char *name = options;
+		const char *value = NULL;
+
+		p = strchr(options, ',');
+		if (p != NULL) {
+			*p = '\0';
+			options = p+1;
+		} else {
+			options = NULL;
 		}
 
-		if (i==ARRAY_SIZE(transports)) {
-			DEBUG(0,("Unknown dcerpc transport '%s'\n", type));
-			return NT_STATUS_INVALID_PARAMETER;
+		p = strchr(name, '=');
+		if (p != NULL) {
+			*p = '\0';
+			value = p + 1;
 		}
 
-		talloc_free(type);
+		if (value == NULL) {
+			/*
+			 * If it's not a key=value pair
+			 * it might be a ncacn_option
+			 * or if it's the first option
+			 * it's the endpoint.
+			 */
+			const struct ncacn_option *no = NULL;
+
+			value = name;
+
+			no = ncacn_option_by_name(name);
+			if (no == NULL) {
+				if (i > 0) {
+					/*
+					 * we don't allow unknown options
+					 */
+					return NT_STATUS_INVALID_PARAMETER_MIX;
+				}
 
-		s = p+1;
-	}
+				/*
+				 * This is the endpoint
+				 */
+				name = "endpoint";
+				if (strlen(value) == 0) {
+					value = NULL;
+				}
+			}
+		}
 
-	p = strchr(s, '[');
-	if (p) {
-		b->host = talloc_strndup(b, s, PTR_DIFF(p, s));
-		options = talloc_strdup(mem_ctx, p+1);
-		if (options[strlen(options)-1] != ']') {
-			return NT_STATUS_INVALID_PARAMETER;
+		status = dcerpc_binding_set_string_option(b, name, value);
+		if (!NT_STATUS_IS_OK(status)) {
+			talloc_free(b);
+			return status;
 		}
-		options[strlen(options)-1] = 0;
-	} else {
-		b->host = talloc_strdup(b, s);
-		options = NULL;
 	}
-	if (!b->host) {
+
+	talloc_free(_t);
+	*b_out = b;
+	return NT_STATUS_OK;
+}
+
+_PUBLIC_ struct GUID dcerpc_binding_get_object(const struct dcerpc_binding *b)
+{
+	return b->object.uuid;
+}
+
+_PUBLIC_ NTSTATUS dcerpc_binding_set_object(struct dcerpc_binding *b,
+					    struct GUID object)
+{
+	char *tmp = discard_const_p(char, b->object_string);
+
+	if (GUID_all_zero(&object)) {
+		talloc_free(tmp);
+		b->object_string = NULL;
+		ZERO_STRUCT(b->object);
+		return NT_STATUS_OK;
+	}
+
+	b->object_string = GUID_string(b, &object);
+	if (b->object_string == NULL) {
+		b->object_string = tmp;
 		return NT_STATUS_NO_MEMORY;
 	}
+	talloc_free(tmp);
 
-	b->target_hostname = b->host;
+	ZERO_STRUCT(b->object);
+	b->object.uuid = object;
+	return NT_STATUS_OK;
+}
 
-	b->options = NULL;
-	b->flags = 0;
-	b->assoc_group_id = 0;
-	b->endpoint = NULL;
-	b->localaddress = NULL;
+_PUBLIC_ enum dcerpc_transport_t dcerpc_binding_get_transport(const struct dcerpc_binding *b)
+{
+	return b->transport;
+}
+
+_PUBLIC_ NTSTATUS dcerpc_binding_set_transport(struct dcerpc_binding *b,
+					       enum dcerpc_transport_t transport)
+{
+	char *tmp = discard_const_p(char, b->endpoint);
 
-	if (!options) {
-		*b_out = b;
+	/*
+	 * TODO: we may want to check the transport value is
+	 * wellknown.
+	 */
+	if (b->transport == transport) {
 		return NT_STATUS_OK;
 	}
 
-	comma_count = count_chars(options, ',');
+	b->transport = transport;
 
-	b->options = talloc_array(b, const char *, comma_count+2);
-	if (!b->options) {
-		return NT_STATUS_NO_MEMORY;
+	/*
+	 * This implicitly resets the endpoint
+	 * as the endpoint is transport specific.
+	 *
+	 * TODO: in future we may reset more options
+	 * here.
+	 */
+	talloc_free(tmp);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list