diff options
author | Stefan Metzmacher <metze@samba.org> | 2007-08-21 14:22:16 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:30:09 -0500 |
commit | 2e498b48bbfb127b33d2e84ba87c7d9456c42558 (patch) | |
tree | 1edac8555c436d90a0d4a009aaede9bfc262def6 /source3/nmbd | |
parent | 96567fa3ea92e5447b66a23514df392f1f7d353c (diff) | |
download | samba-2e498b48bbfb127b33d2e84ba87c7d9456c42558.tar.gz samba-2e498b48bbfb127b33d2e84ba87c7d9456c42558.tar.bz2 samba-2e498b48bbfb127b33d2e84ba87c7d9456c42558.zip |
r24599: patch from Karolin Seeger <ks@sernet.de>:
smbd, nmbd and winbindd can be started with invalid options currently.
The first patch attached would be a possible solution.
It contains an exit if an invalid option has been used. The main problem
is, that existing setups with wrong options or missing arguments in start
scripts will break (which is the right behaviour from my point of view).
metze
(This used to be commit 8532e3182ab44d4ac84823e9798293f156192aaf)
Diffstat (limited to 'source3/nmbd')
-rw-r--r-- | source3/nmbd/nmbd.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index b14e5a0b61..4f1dd93cae 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -652,6 +652,7 @@ static BOOL open_sockets(enum smb_server_mode server_mode, int port) BOOL no_process_group = False; BOOL log_stdout = False; enum smb_server_mode server_mode = SERVER_MODE_DAEMON; + int opt; struct poptOption long_options[] = { POPT_AUTOHELP @@ -674,7 +675,14 @@ static BOOL open_sockets(enum smb_server_mode server_mode, int port) global_nmb_port = NMB_PORT; pc = poptGetContext("nmbd", argc, argv, long_options, 0); - while (poptGetNextOpt(pc) != -1) {}; + while ((opt = poptGetNextOpt(pc)) != -1) { + switch (opt) { + default: + d_fprintf(stderr, "\nInvalid option %s: %s\n", + poptBadOption(pc, 0), poptStrerror(opt)); + exit(1); + } + }; poptFreeContext(pc); global_in_nmbd = True; |