samba-cvs.cvs
[Top] [All Lists]

svn commit: samba r10741 - in trunk/source: include services

Subject: svn commit: samba r10741 - in trunk/source: include services
From:
Date: Wed, 5 Oct 2005 21:52:35 +0000 GMT
Author: jerry
Date: 2005-10-05 21:52:33 +0000 (Wed, 05 Oct 2005)
New Revision: 10741

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10741

Log:
* removing unused service_info structure
* start adding displaynames for common unix services
* fix bug in previous changes for internal service descriptions


Modified:
   trunk/source/include/rpc_svcctl.h
   trunk/source/services/services_db.c
   trunk/source/services/svc_rcinit.c


Changeset:
Modified: trunk/source/include/rpc_svcctl.h
===================================================================
--- trunk/source/include/rpc_svcctl.h   2005-10-05 20:46:49 UTC (rev 10740)
+++ trunk/source/include/rpc_svcctl.h   2005-10-05 21:52:33 UTC (rev 10741)
@@ -175,23 +175,6 @@
         SC_ACTION *actions;
 } SERVICE_FAILURE_ACTIONS;
 
-typedef struct Service_info_struct {
-       uint32  type;           /* should be SVC_HANDLE_IS_SERVICE */
-       pstring servicename;    /* the name of the service */
-       pstring servicetype;    /* internal or external */
-       pstring filename;       /* what file name we can find this in, 
-                                  as well as the "index" for what the 
-                                  service name is */
-       pstring provides;
-       pstring dependencies;
-       pstring shouldstart;
-       pstring shouldstop;
-       pstring requiredstart;
-       pstring requiredstop;
-       pstring shortdescription;
-       pstring description;
-} Service_info;
-
 /* 
  * dispatch table of functions to handle the =ServiceControl API
  */ 

Modified: trunk/source/services/services_db.c
===================================================================
--- trunk/source/services/services_db.c 2005-10-05 20:46:49 UTC (rev 10740)
+++ trunk/source/services/services_db.c 2005-10-05 21:52:33 UTC (rev 10741)
@@ -23,14 +23,14 @@
 
 #include "includes.h"
 
-struct internal_service_info {
+struct service_display_info {
        const char *servicename;
        const char *daemon;
        const char *dispname;
        const char *description;
 };
 
-struct internal_service_info builtin_svcs[] = {  
+struct service_display_info builtin_svcs[] = {  
   { "Spooler",       "smbd", "Print Spooler",
        "Internal service for spooling files to print devices" },
   { "NETLOGON",              "smbd", "Net Logon",
@@ -42,6 +42,34 @@
   { NULL, NULL, NULL, NULL }
 };
 
+struct service_display_info common_unix_svcs[] = {  
+  { "cups",          NULL, "Common Unix Printing System", NULL },
+  { "postfix",       NULL, "Internet Mail Service", NULL },
+  { "sendmail",      NULL, "Internet Mail Service", NULL },
+  { "portmap",       NULL, "TCP Port to RPC PortMapper", NULL },
+  { "xinetd",        NULL, "Internet Meta-Daemon", NULL },
+  { "inet",          NULL, "Internet Meta-Daemon", NULL },
+  { "xntpd",         NULL, "Network Time Service", NULL },
+  { "ntpd",          NULL, "Network Time Service", NULL },
+  { "lpd",           NULL, "BSD Print Spooler", NULL },
+  { "nfsserver",     NULL, "Network File Service", NULL },
+  { "cron",          NULL, "Scheduling Service", NULL },
+  { "at",            NULL, "Scheduling Service", NULL },
+  { "nscd",          NULL, "Name Service Cache Daemon", NULL },
+  { "slapd",         NULL, "LDAP Directory Service", NULL },
+  { "ldap",          NULL, "LDAP DIrectory Service", NULL },
+  { "ypbind",        NULL, "NIS Directory Service", NULL },
+  { "courier-imap",  NULL, "NIS Directory Service", NULL },
+  { "named",         NULL, "Domain Name Service", NULL },
+  { "bind",          NULL, "Domain Name Service", NULL },
+  { "httpd",         NULL, "HTTP Server", NULL },
+  { "apache",        NULL, "HTTP Server", NULL },
+  { "autofs",        NULL, "Automounter", NULL },
+  { "squid",         NULL, "Web Cache Proxy ", NULL },
+  { NULL, NULL, NULL, NULL }
+};
+
+
 /********************************************************************
 ********************************************************************/
 
@@ -82,6 +110,31 @@
  Display name, Description, etc...
 ********************************************************************/
 
+static char *get_common_service_dispname( const char *servicename )
+{
+       static fstring dispname;
+       int i;
+       
+       for ( i=0; common_unix_svcs[i].servicename; i++ ) {
+               if ( strequal( servicename, common_unix_svcs[i].servicename ) ) 
{
+                       fstr_sprintf( dispname, "%s (%s)", 
+                               common_unix_svcs[i].dispname,
+                               common_unix_svcs[i].servicename );
+                               
+                       return dispname;
+               }
+       } 
+       
+       fstrcpy( dispname, servicename );
+       
+       return dispname;
+}
+
+/********************************************************************
+ This is where we do the dirty work of filling in things like the
+ Display name, Description, etc...
+********************************************************************/
+
 static void fill_service_values( const char *name, REGVAL_CTR *values )
 {
        UNISTR2 data, dname, ipath, description;
@@ -114,6 +167,7 @@
                        init_unistr2( &ipath, pstr, UNI_STR_TERMINATE );
                        init_unistr2( &description, 
builtin_svcs[i].description, UNI_STR_TERMINATE );
                        init_unistr2( &dname, builtin_svcs[i].dispname, 
UNI_STR_TERMINATE );
+                       break;
                }
        } 
        
@@ -123,7 +177,7 @@
                pstr_sprintf( pstr, "%s/%s/%s",dyn_LIBDIR, SVCCTL_SCRIPT_DIR, 
name );
                init_unistr2( &ipath, pstr, UNI_STR_TERMINATE );
                init_unistr2( &description, "External Unix Service", 
UNI_STR_TERMINATE );
-               init_unistr2( &dname, name, UNI_STR_TERMINATE );
+               init_unistr2( &dname, get_common_service_dispname( name ), 
UNI_STR_TERMINATE );
        }
        
        /* add the new values */

Modified: trunk/source/services/svc_rcinit.c
===================================================================
--- trunk/source/services/svc_rcinit.c  2005-10-05 20:46:49 UTC (rev 10740)
+++ trunk/source/services/svc_rcinit.c  2005-10-05 21:52:33 UTC (rev 10741)
@@ -21,6 +21,7 @@
 
 #include "includes.h"
 
+#if 0
 /* Implementation for LSB compliant init scripts */
 
 
/*******************************************************************************
@@ -30,7 +31,7 @@
  Get the names of the services/scripts to read from the smb.conf file.
 
*******************************************************************************/
 
-BOOL get_LSB_data(char *fname,Service_info *si )
+static BOOL get_LSB_data(char *fname,Service_info *si )
 {
        pstring initdfile;
        char mybuffer[256];
@@ -167,6 +168,7 @@
 
        return False;
 }
+#endif
 
 /*********************************************************************
 *********************************************************************/

<Prev in Thread] Current Thread [Next in Thread>