s3-smbd: Disable the endpoint mapper by default.
authorAndreas Schneider <asn@samba.org>
Thu, 20 Jan 2011 14:37:46 +0000 (15:37 +0100)
committerAndreas Schneider <asn@cryptomilk.org>
Wed, 2 Feb 2011 11:44:20 +0000 (12:44 +0100)
selftest/target/Samba3.pm
source3/rpc_server/srv_rpc_register.c
source3/script/tests/selftest.sh

index 3104e49d5f09e7b3f91a0aa27ef3145c362c828c..a0a13f9c72682c5c96be77d47cbe2bf1566f9e40 100644 (file)
@@ -556,6 +556,8 @@ sub provision($$$$$$)
        queue resume command = $bindir_abs/vlp tdbfile=$lockdir/vlp.tdb queueresume %p
        lpq cache time = 0
 
+       rpc_server:epmapper = embedded
+
        # Begin extra options
        $extra_options
        # End extra options
index b3e563dd3ba5029ace7bda7b6774c240d0f8d51d..73e2dc766d08cc48ddc8f32436808934a5aa7b5a 100644 (file)
@@ -48,6 +48,15 @@ static NTSTATUS _rpc_ep_register(const struct ndr_interface_table *iface,
 {
        struct dcerpc_binding_vector *v = NULL;
        NTSTATUS status;
+       const char *rpcsrv_type;
+
+       /* start endpoint mapper only if enabled */
+       rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
+                                          "rpc_server", "epmapper",
+                                          "none");
+       if (StrCaseCmp(rpcsrv_type, "none") == 0) {
+               return NT_STATUS_OK;
+       }
 
        status = dcerpc_binding_vector_create(talloc_tos(),
                                              iface,
@@ -71,6 +80,15 @@ static NTSTATUS _rpc_ep_unregister(const struct ndr_interface_table *iface)
 {
        struct dcerpc_binding_vector *v = NULL;
        NTSTATUS status;
+       const char *rpcsrv_type;
+
+       /* start endpoint mapper only if enabled */
+       rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
+                                          "rpc_server", "epmapper",
+                                          "none");
+       if (StrCaseCmp(rpcsrv_type, "none") == 0) {
+               return NT_STATUS_OK;
+       }
 
        status = dcerpc_binding_vector_create(talloc_tos(),
                                              iface,
@@ -265,8 +283,16 @@ bool srv_rpc_register(struct messaging_context *msg_ctx) {
        struct rpc_srv_callbacks dssetup_cb;
        struct rpc_srv_callbacks wkssvc_cb;
 
-       if (!NT_STATUS_IS_OK(rpc_epmapper_init(NULL))) {
-               return false;
+       const char *rpcsrv_type;
+
+       /* start endpoint mapper only if enabled */
+       rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
+                                          "rpc_server", "epmapper",
+                                          "none");
+       if (StrCaseCmp(rpcsrv_type, "embedded") == 0) {
+               if (!NT_STATUS_IS_OK(rpc_epmapper_init(NULL))) {
+                       return false;
+               }
        }
 
        winreg_cb.init         = winreg_init_cb;
index 17bb5fe41a4f3982004b14e8306600b1557088eb..3da4fac8ff379d07596a2614eada7abae4b776d8 100755 (executable)
@@ -343,6 +343,8 @@ cat >$SERVERCONFFILE<<EOF
        queue resume command = $BINDIR/vlp tdbfile=$LOCKDIR/vlp.tdb queueresume %p
        lpq cache time = 0
 
+       rpc_server:epmapper = embedded
+
        #Include user defined custom parameters if set
        $INCLUDE_CUSTOM_CONF