From ae292ed1806474fdbae1aef9776a933316e057bf Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 31 Aug 2011 16:46:35 +0200 Subject: s3-rpc_server: Handle services with multiple pipe names. The configuration should only use the default pipe name to configure all of them correctly. --- source3/rpc_server/rpc_config.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'source3/rpc_server') diff --git a/source3/rpc_server/rpc_config.c b/source3/rpc_server/rpc_config.c index a1c639c4c7..3ddc18935d 100644 --- a/source3/rpc_server/rpc_config.c +++ b/source3/rpc_server/rpc_config.c @@ -41,20 +41,28 @@ struct rpc_service_defaults { enum rpc_service_mode_e rpc_service_mode(const char *name) { + const char *pipe_name = name; const char *rpcsrv_type; enum rpc_service_mode_e state; const char *def; int i; + /* Handle pipes with multiple names */ + if (strcmp(pipe_name, "lsass") == 0) { + pipe_name = "lsarpc"; + } else if (strcmp(pipe_name, "plugplay") == 0) { + pipe_name = "ntsvcs"; + } + def = "embedded"; for (i = 0; rpc_service_defaults[i].name; i++) { - if (strcasecmp_m(name, rpc_service_defaults[i].name) == 0) { + if (strcasecmp_m(pipe_name, rpc_service_defaults[i].name) == 0) { def = rpc_service_defaults[i].def_mode; } } rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM, - "rpc_server", name, def); + "rpc_server", pipe_name, def); if (strcasecmp_m(rpcsrv_type, "embedded") == 0) { state = RPC_SERVICE_MODE_EMBEDDED; -- cgit