[PATCH] add -D ... to winbindd

Stefan (metze) Metzmacher metze at metzemix.de
Tue Oct 1 09:43:00 GMT 2002


Hi all,

here's a patch witch adds a -D option and -V option to winbindd.

I think smbd, nmbd and wrepld have also this options and so it would be 
nice to keep them in sync.

I also update the docu for this change.



metze
-----------------------------------------------------------------------------
Stefan "metze" Metzmacher <metze at metzemix.de>
-------------- next part --------------
diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* HEAD/source/nsswitch/winbindd.c HEAD-fix/source/nsswitch/winbindd.c
--- HEAD/source/nsswitch/winbindd.c	Wed Sep 18 09:44:23 2002
+++ HEAD-fix/source/nsswitch/winbindd.c	Tue Oct  1 10:48:19 2002
@@ -742,12 +742,14 @@ struct winbindd_state server_state;   /*
 static void usage(void)
 {
 	printf("Usage: winbindd [options]\n");
+	printf("\t-D                daemon mode(default)\n");
 	printf("\t-i                interactive mode\n");
 	printf("\t-B                dual daemon mode\n");
 	printf("\t-n                disable cacheing\n");
 	printf("\t-d level          set debug level\n");
 	printf("\t-s configfile     choose smb.conf location\n");
 	printf("\t-h                show this help message\n");
+	printf("\t-V                Print version\n");
 }
 
  int main(int argc, char **argv)
@@ -758,6 +760,7 @@ static void usage(void)
 	extern BOOL append_log;
 	pstring logfile;
 	int accept_sock;
+	BOOL is_daemon = False;
 	BOOL interactive = False;
 	int opt;
 
@@ -788,11 +791,24 @@ static void usage(void)
 
 	/* Initialise samba/rpc client stuff */
 
-	while ((opt = getopt(argc, argv, "id:s:nhB")) != EOF) {
+	while ((opt = getopt(argc, argv, "id:s:DnhBV")) != EOF) {
 		switch (opt) {
 
+			/* Become a deamon(default) */
+		case 'D':
+			if (interactive) {
+				printf("Option %c can't be used with option -i\n", (char)opt);;
+				exit(1);
+			}
+			is_daemon = True;
+			break;
+			
 			/* Don't become a daemon */
 		case 'i':
+			if (is_daemon) {
+				printf("Option %c can't be used with option -D\n", (char)opt);;
+				exit(1);
+			}
 			interactive = True;
 			break;
 
@@ -820,13 +836,24 @@ static void usage(void)
 		case 'h':
 			usage();
 			exit(0);
-
+			break;
+			
+		case 'V':
+			printf("Version %s\n",VERSION);
+			exit(0);
+			break;
+			
 		default:
 			printf("Unknown option %c\n", (char)opt);
 			exit(1);
 		}
 	}
 
+	/* use daemon mode as default */
+	if (!interactive) {
+		is_daemon = True;
+	}
+
 	snprintf(logfile, sizeof(logfile), "%s/log.winbindd", dyn_LOGFILEBASE);
 	lp_set_logfile(logfile);
 	setup_logging("winbindd", interactive);
@@ -853,7 +880,7 @@ static void usage(void)
 
         fstrcpy(global_myworkgroup, lp_workgroup());
 
-	if (!interactive) {
+	if (is_daemon) {
 		become_daemon();
 		pidfile_create("winbindd");
 	}
-------------- next part --------------
diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* HEAD/docs/docbook/manpages/smbd.8.sgml HEAD-fix/docs/docbook/manpages/smbd.8.sgml
--- HEAD/docs/docbook/manpages/smbd.8.sgml	Wed May  8 17:34:58 2002
+++ HEAD-fix/docs/docbook/manpages/smbd.8.sgml	Tue Oct  1 10:44:48 2002
@@ -197,7 +197,7 @@
 		<term>-p &lt;port number&gt;</term>
 		<listitem><para><replaceable>port number</replaceable> is a positive integer 
 		value.  The default value if this parameter is not 
-		specified is 139.</para>
+		specified is 139 and 445.</para>
 		
 		<para>This number is the port number that will be 
 		used when making connections to the server from client 
diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* HEAD/docs/docbook/manpages/winbindd.8.sgml HEAD-fix/docs/docbook/manpages/winbindd.8.sgml
--- HEAD/docs/docbook/manpages/winbindd.8.sgml	Fri Sep 27 23:05:24 2002
+++ HEAD-fix/docs/docbook/manpages/winbindd.8.sgml	Tue Oct  1 10:49:17 2002
@@ -16,9 +16,13 @@
 <refsynopsisdiv>
 	<cmdsynopsis>
 		<command>winbindd</command>
-		<arg choice="opt">-i</arg>
+		<arg choice="opt">-D|-i</arg>
+		<arg choice="opt">-B</arg>
+		<arg choice="opt">-n</arg>
 		<arg choice="opt">-d &lt;debug level&gt;</arg>
 		<arg choice="opt">-s &lt;smb config file&gt;</arg>
+		<arg choice="opt">-h</arg>
+		<arg choice="opt">-V</arg>
 	</cmdsynopsis>
 </refsynopsisdiv>
 
@@ -104,6 +108,36 @@ group:          files winbind
 
 	<variablelist>
 		<varlistentry>
+		<term>-D</term>
+		<listitem><para>Tells <command>winbindd</command> to 
+		become a daemon and detach from the current terminal. This 
+		option is the default behavior of <command>winbindd</command>. 
+		</para></listitem>
+		</varlistentry>
+		
+		<varlistentry>
+		<term>-i</term>
+		<listitem><para>Tells <command>winbindd</command> to not 
+		become a daemon and detach from the current terminal. This 
+		option is used by developers when interactive debugging 
+		of <command>winbindd</command> is required. </para></listitem>
+		</varlistentry>
+		
+		<varlistentry>
+		<term>-B</term>
+		<listitem><para>Tells <command>winbindd</command> to 
+		run in dual daemon mode. 
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
+		<term>-n</term>
+		<listitem><para>Tells <command>winbindd</command> to 
+		not use its internal cache. 
+		</para></listitem>
+		</varlistentry>
+
+		<varlistentry>
 		<term>-d debuglevel</term>
 		<listitem><para>Sets the debuglevel to an integer between 
 		0 and 100. 0 is for no debugging and 100 is for reams and 
@@ -112,11 +146,28 @@ group:          files winbind
 		</varlistentry>
 
 		<varlistentry>
-		<term>-i</term>
-		<listitem><para>Tells <command>winbindd</command> to not 
-		become a daemon and detach from the current terminal. This 
-		option is used by developers when interactive debugging 
-		of <command>winbindd</command> is required. </para></listitem>
+		<term>-s config file</term>
+		<listitem><para>The file specified contains the 
+		configuration details required by the server.  The 
+		information in this file includes server-specific
+		information such as what printcap file to use, as well 
+		as descriptions of all the services that the server is 
+		to provide. See <ulink url="smb.conf.5.html"><filename>
+		smb.conf(5)</filename></ulink> for more information.
+		The default configuration file name is determined at 
+		compile time.</para></listitem>
+		</varlistentry>
+		
+		<varlistentry>
+		<term>-h</term>
+		<listitem><para>Prints the help information (usage) 
+		for <command>smbd</command>.</para></listitem>
+		</varlistentry>
+		
+		<varlistentry>
+		<term>-v</term>
+		<listitem><para>Prints the version number for 
+		<command>smbd</command>.</para></listitem>
 		</varlistentry>
 	</variablelist>
 </refsect1>


More information about the samba-technical mailing list