]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
rpc_server: Remove the source4 implementation of wkssvc
authorStefan Metzmacher <metze@samba.org>
Thu, 3 Jul 2025 08:35:32 +0000 (10:35 +0200)
committerGünther Deschner <gd@samba.org>
Thu, 11 Sep 2025 15:16:17 +0000 (15:16 +0000)
This was pretty much a stub anyway

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Thu Sep 11 15:16:17 UTC 2025 on atb-devel-224

docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml
lib/param/loadparm.c
source3/param/loadparm.c
source3/rpc_server/rpcd_classic.c
source4/rpc_server/wkssvc/dcesrv_wkssvc.c [deleted file]
source4/rpc_server/wscript_build

index c6642b795fd6c8bf11ad4923e3a04aa452744319..6c32d9e6e170b68c4d56255dc35757e0039eca50 100644 (file)
@@ -6,6 +6,6 @@
        <para>Specifies which DCE/RPC endpoint servers should be run.</para>
 </description>
 
-<value type="default">epmapper, wkssvc, samr, netlogon, lsarpc, drsuapi, dssetup, unixinfo, browser, eventlog6, backupkey, dnsserver</value>
+<value type="default">epmapper, samr, netlogon, lsarpc, drsuapi, dssetup, unixinfo, browser, eventlog6, backupkey, dnsserver</value>
 <value type="example">rpcecho</value>
 </samba:parameter>
index 05b6ec48ac8b1df1e2a3363d26d292b927d52cd8..4af9638ffd7ff96490edafa521d3a329ad961da5 100644 (file)
@@ -2841,7 +2841,11 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
        lpcfg_do_global_parameter(lp_ctx, "ntvfs handler", "unixuid default");
        lpcfg_do_global_parameter(lp_ctx, "max connections", "0");
 
-       lpcfg_do_global_parameter(lp_ctx, "dcerpc endpoint servers", "epmapper wkssvc samr netlogon lsarpc drsuapi dssetup unixinfo browser eventlog6 backupkey dnsserver");
+       lpcfg_do_global_parameter(
+               lp_ctx,
+               "dcerpc endpoint servers",
+               "epmapper samr netlogon lsarpc drsuapi dssetup unixinfo "
+               "browser eventlog6 backupkey dnsserver");
        lpcfg_do_global_parameter(lp_ctx, "server services", "s3fs rpc nbt wrepl ldap cldap kdc drepl ft_scanner winbindd ntp_signd kcc dnsupdate dns");
        lpcfg_do_global_parameter(lp_ctx, "kccsrv:samba_kcc", "true");
        /* the winbind method for domain controllers is for both RODC
index afe2aad5f33df3691fc147318158375e37953490..1be550d9ad39e247e937f80d046282450005dfab 100644 (file)
@@ -891,7 +891,11 @@ void loadparm_s3_init_globals(struct loadparm_context *lp_ctx,
 
        Globals.server_services = str_list_make_v3_const(NULL, "s3fs rpc nbt wrepl ldap cldap kdc drepl ft_scanner winbindd ntp_signd kcc dnsupdate dns", NULL);
 
-       Globals.dcerpc_endpoint_servers = str_list_make_v3_const(NULL, "epmapper wkssvc samr netlogon lsarpc drsuapi dssetup unixinfo browser eventlog6 backupkey dnsserver", NULL);
+       Globals.dcerpc_endpoint_servers = str_list_make_v3_const(
+               NULL,
+               "epmapper samr netlogon lsarpc drsuapi dssetup unixinfo "
+               "browser eventlog6 backupkey dnsserver",
+               NULL);
 
        Globals.tls_enabled = true;
        Globals.tls_verify_peer = TLS_VERIFY_PEER_AS_STRICT_AS_POSSIBLE;
index 2b7e9398d903894367093d76bb0d3e5528c8d631..8f5e0f3223d6e2f77f78558fd231b7b40d1f9564 100644 (file)
@@ -46,27 +46,10 @@ static size_t classic_interfaces(
                &ndr_table_svcctl,
                &ndr_table_ntsvcs,
                &ndr_table_eventlog,
-               /*
-                * This last item is truncated from the list by the
-                * num_ifaces -= 1 below.  Take care when adding new
-                * services.
-                */
                &ndr_table_wkssvc,
        };
        size_t num_ifaces = ARRAY_SIZE(ifaces);
 
-       switch(lp_server_role()) {
-       case ROLE_ACTIVE_DIRECTORY_DC:
-               /*
-                * On the AD DC wkssvc is provided by the 'samba'
-                * binary from source4/
-                */
-               num_ifaces -= 1;
-               break;
-       default:
-               break;
-       }
-
        *pifaces = ifaces;
        return num_ifaces;
 
@@ -91,18 +74,6 @@ static NTSTATUS classic_servers(
        ep_servers[5] = eventlog_get_ep_server();
        ep_servers[6] = wkssvc_get_ep_server();
 
-       switch(lp_server_role()) {
-       case ROLE_ACTIVE_DIRECTORY_DC:
-               /*
-                * On the AD DC wkssvc is provided by the 'samba'
-                * binary from source4/
-                */
-               num_servers -= 1;
-               break;
-       default:
-               break;
-       }
-
        ok = secrets_init();
        if (!ok) {
                DBG_ERR("secrets_init() failed\n");
diff --git a/source4/rpc_server/wkssvc/dcesrv_wkssvc.c b/source4/rpc_server/wkssvc/dcesrv_wkssvc.c
deleted file mode 100644 (file)
index f638471..0000000
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-
-   endpoint server for the wkssvc pipe
-
-   Copyright (C) Stefan (metze) Metzmacher 2004
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "includes.h"
-#include "rpc_server/dcerpc_server.h"
-#include "librpc/gen_ndr/ndr_wkssvc.h"
-#include "librpc/gen_ndr/ndr_srvsvc.h"
-#include "rpc_server/common/common.h"
-#include "param/param.h"
-
-/*
-  wkssvc_NetWkstaGetInfo
-*/
-static WERROR dcesrv_wkssvc_NetWkstaGetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetWkstaGetInfo *r)
-{
-       struct dcesrv_context *dce_ctx = dce_call->conn->dce_ctx;
-       struct dcerpc_server_info *server_info = lpcfg_dcerpc_server_info(mem_ctx, dce_ctx->lp_ctx);
-
-       /* NOTE: win2k3 ignores r->in.server_name completely so we do --metze */
-
-       switch(r->in.level) {
-       case 100:
-       {
-               struct wkssvc_NetWkstaInfo100 *info100;
-
-               info100 = talloc(mem_ctx, struct wkssvc_NetWkstaInfo100);
-               W_ERROR_HAVE_NO_MEMORY(info100);
-
-               info100->platform_id    = dcesrv_common_get_platform_id(mem_ctx, dce_ctx);
-               info100->server_name    = dcesrv_common_get_server_name(mem_ctx, dce_ctx, NULL);
-               W_ERROR_HAVE_NO_MEMORY(info100->server_name);
-               info100->domain_name    = server_info->domain_name;
-               info100->version_major  = server_info->version_major;
-               info100->version_minor  = server_info->version_minor;
-
-               r->out.info->info100 = info100;
-               return WERR_OK;
-       }
-       case 101:
-       {
-               struct wkssvc_NetWkstaInfo101 *info101;
-
-               info101 = talloc(mem_ctx, struct wkssvc_NetWkstaInfo101);
-               W_ERROR_HAVE_NO_MEMORY(info101);
-
-               info101->platform_id    = dcesrv_common_get_platform_id(mem_ctx, dce_ctx);
-               info101->server_name    = dcesrv_common_get_server_name(mem_ctx, dce_ctx, NULL);
-               W_ERROR_HAVE_NO_MEMORY(info101->server_name);
-               info101->domain_name    = server_info->domain_name;
-               info101->version_major  = server_info->version_major;
-               info101->version_minor  = server_info->version_minor;
-               info101->lan_root       = dcesrv_common_get_lan_root(mem_ctx, dce_ctx);
-
-               r->out.info->info101 = info101;
-               return WERR_OK;
-       }
-       case 102:
-       {
-               return WERR_ACCESS_DENIED;
-       }
-       case 502:
-       {
-               return WERR_ACCESS_DENIED;
-       }
-       default:
-               return WERR_INVALID_LEVEL;
-       }
-}
-
-
-/*
-  wkssvc_NetWkstaSetInfo
-*/
-static WERROR dcesrv_wkssvc_NetWkstaSetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetWkstaSetInfo *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetWkstaEnumUsers
-*/
-static WERROR dcesrv_wkssvc_NetWkstaEnumUsers(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                                      struct wkssvc_NetWkstaEnumUsers *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrWkstaUserGetInfo
-*/
-static WERROR dcesrv_wkssvc_NetrWkstaUserGetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrWkstaUserGetInfo *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrWkstaUserSetInfo
-*/
-static WERROR dcesrv_wkssvc_NetrWkstaUserSetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrWkstaUserSetInfo *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetWkstaTransportEnum
-*/
-static WERROR dcesrv_wkssvc_NetWkstaTransportEnum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetWkstaTransportEnum *r)
-{
-       switch (r->in.info->level) {
-       case 0:
-               r->out.info->ctr.ctr0 = talloc(mem_ctx, struct wkssvc_NetWkstaTransportCtr0);
-               W_ERROR_HAVE_NO_MEMORY(r->out.info->ctr.ctr0);
-
-               r->out.info->ctr.ctr0->count = 0;
-               r->out.info->ctr.ctr0->array = NULL;
-
-               return WERR_NOT_SUPPORTED;
-
-       default:
-               return WERR_INVALID_LEVEL;
-       }
-}
-
-
-/*
-  wkssvc_NetrWkstaTransportAdd
-*/
-static WERROR dcesrv_wkssvc_NetrWkstaTransportAdd(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrWkstaTransportAdd *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrWkstaTransportDel
-*/
-static WERROR dcesrv_wkssvc_NetrWkstaTransportDel(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrWkstaTransportDel *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrUseAdd
-*/
-static WERROR dcesrv_wkssvc_NetrUseAdd(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrUseAdd *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrUseGetInfo
-*/
-static WERROR dcesrv_wkssvc_NetrUseGetInfo(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrUseGetInfo *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrUseDel
-*/
-static WERROR dcesrv_wkssvc_NetrUseDel(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrUseDel *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrUseEnum
-*/
-static WERROR dcesrv_wkssvc_NetrUseEnum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrUseEnum *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrMessageBufferSend
-*/
-static WERROR dcesrv_wkssvc_NetrMessageBufferSend(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrMessageBufferSend *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrWorkstationStatisticsGet
-*/
-static WERROR dcesrv_wkssvc_NetrWorkstationStatisticsGet(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrWorkstationStatisticsGet *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrLogonDomainNameAdd
-*/
-static WERROR dcesrv_wkssvc_NetrLogonDomainNameAdd(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrLogonDomainNameAdd *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrLogonDomainNameDel
-*/
-static WERROR dcesrv_wkssvc_NetrLogonDomainNameDel(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrLogonDomainNameDel *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrJoinDomain
-*/
-static WERROR dcesrv_wkssvc_NetrJoinDomain(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrJoinDomain *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrUnjoinDomain
-*/
-static WERROR dcesrv_wkssvc_NetrUnjoinDomain(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrUnjoinDomain *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrRenameMachineInDomain
-*/
-static WERROR dcesrv_wkssvc_NetrRenameMachineInDomain(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrRenameMachineInDomain *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrValidateName
-*/
-static WERROR dcesrv_wkssvc_NetrValidateName(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrValidateName *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrGetJoinInformation
-*/
-static WERROR dcesrv_wkssvc_NetrGetJoinInformation(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrGetJoinInformation *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrGetJoinableOus
-*/
-static WERROR dcesrv_wkssvc_NetrGetJoinableOus(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrGetJoinableOus *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  WKSSVC_NETRJOINDOMAIN2
-*/
-static WERROR dcesrv_wkssvc_NetrJoinDomain2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrJoinDomain2 *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  WKSSVC_NETRUNJOINDOMAIN2
-*/
-static WERROR dcesrv_wkssvc_NetrUnjoinDomain2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrUnjoinDomain2 *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrRenameMachineInDomain2
-*/
-static WERROR dcesrv_wkssvc_NetrRenameMachineInDomain2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrRenameMachineInDomain2 *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrValidateName2
-*/
-static WERROR dcesrv_wkssvc_NetrValidateName2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrValidateName2 *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrGetJoinableOus2
-*/
-static WERROR dcesrv_wkssvc_NetrGetJoinableOus2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrGetJoinableOus2 *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrAddAlternateComputername
-*/
-static WERROR dcesrv_wkssvc_NetrAddAlternateComputerName(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrAddAlternateComputerName *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrRemoveAlternateComputername
-*/
-static WERROR dcesrv_wkssvc_NetrRemoveAlternateComputerName(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrRemoveAlternateComputerName *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrSetPrimaryComputername
-*/
-static WERROR dcesrv_wkssvc_NetrSetPrimaryComputername(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrSetPrimaryComputername *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/*
-  wkssvc_NetrEnumerateComputerNames
-*/
-static WERROR dcesrv_wkssvc_NetrEnumerateComputerNames(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct wkssvc_NetrEnumerateComputerNames *r)
-{
-       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
-}
-
-
-/* include the generated boilerplate */
-#include "librpc/gen_ndr/ndr_wkssvc_s.c"
index 8cb898df6e4dee7770dd8f33083f830714041759..a3cc44a3e87d0567e49cc612f95139de3c6c350c 100644 (file)
@@ -63,15 +63,6 @@ bld.SAMBA_MODULE('dcerpc_srvsvc',
                  enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER')
                  )
 
-
-bld.SAMBA_MODULE('dcerpc_wkssvc',
-                 source='wkssvc/dcesrv_wkssvc.c',
-                 subsystem='dcerpc_server',
-                 init_function='dcerpc_server_wkssvc_init',
-                 deps='DCERPC_COMMON ndr-standard'
-                 )
-
-
 bld.SAMBA_MODULE('dcerpc_unixinfo',
                  source='unixinfo/dcesrv_unixinfo.c',
                  subsystem='dcerpc_server',