summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2006-02-08 15:09:09 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:09:58 -0500
commitef3f2c9675194efa17cfd4b4b5393a6e0a335bdf (patch)
treee60dc191e4747a7fb678297701cecb2d1b6c60cb
parent034877ca335c64f6e2a08155c5856e03448397e1 (diff)
downloadsamba-ef3f2c9675194efa17cfd4b4b5393a6e0a335bdf.tar.gz
samba-ef3f2c9675194efa17cfd4b4b5393a6e0a335bdf.tar.bz2
samba-ef3f2c9675194efa17cfd4b4b5393a6e0a335bdf.zip
r13393: Do not initialize the lp_svcctl_list() value since it is handled
internally in services_db.c now. This prevents internal services from being listed twice (one internal and one external) when no 'svcctl list' parameter is explcitly set in smb.conf (This used to be commit 6c4ede6cee7e1d25a6357e959972e8d390c27fe3)
-rw-r--r--source3/lib/util_str.c3
-rw-r--r--source3/param/loadparm.c2
-rw-r--r--source3/rpc_server/srv_svcctl_nt.c2
-rw-r--r--source3/services/services_db.c2
4 files changed, 5 insertions, 4 deletions
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c
index 85b5cfc90a..957ebd57bd 100644
--- a/source3/lib/util_str.c
+++ b/source3/lib/util_str.c
@@ -1852,6 +1852,9 @@ int str_list_count( const char **list )
{
int i = 0;
+ if ( ! list )
+ return 0;
+
/* count the number of list members */
for ( i=0; *list; i++, list++ );
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index a886728047..6ed6b90498 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -1655,8 +1655,6 @@ static void init_globals(BOOL first_time_only)
Globals.bASUSupport = True;
- Globals.szServicesList = str_list_make( "Spooler NETLOGON", NULL );
-
/* User defined shares. */
pstrcpy(s, dyn_LOCKDIR);
pstrcat(s, "/usershares");
diff --git a/source3/rpc_server/srv_svcctl_nt.c b/source3/rpc_server/srv_svcctl_nt.c
index 049bdf6075..a0b8b66f50 100644
--- a/source3/rpc_server/srv_svcctl_nt.c
+++ b/source3/rpc_server/srv_svcctl_nt.c
@@ -72,7 +72,7 @@ BOOL init_service_op_table( void )
/* services listed in smb.conf get the rc.init interface */
- for ( i=0; service_list[i]; i++ ) {
+ for ( i=0; service_list && service_list[i]; i++ ) {
svcctl_ops[i].name = talloc_strdup( svcctl_ops, service_list[i] );
svcctl_ops[i].ops = &rcinit_svc_ops;
}
diff --git a/source3/services/services_db.c b/source3/services/services_db.c
index a16657c0ed..6c38c6ed0a 100644
--- a/source3/services/services_db.c
+++ b/source3/services/services_db.c
@@ -436,7 +436,7 @@ void svcctl_init_keys( void )
for ( i=0; builtin_svcs[i].servicename; i++ )
add_new_svc_name( key, subkeys, builtin_svcs[i].servicename );
- for ( i=0; service_list[i]; i++ ) {
+ for ( i=0; service_list && service_list[i]; i++ ) {
/* only add new services */
if ( regsubkey_ctr_key_exists( subkeys, service_list[i] ) )