[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-196-gf12259d

Michael Adam obnox at samba.org
Mon Mar 10 16:23:18 GMT 2008


The branch, v3-2-test has been updated
       via  f12259d9c4c34b99f5b655cab4b210159cb0e188 (commit)
       via  ab70e781b2d4cc7f8a7f6cf95825f8412d9be2ca (commit)
       via  10ab0681e60e3b91958639a2b0ad359440076c4a (commit)
       via  91aab823fc6ec4c38e3461aae57bec0c6a567150 (commit)
       via  869a17f1a9ba45d30211c230673c6f4482876b29 (commit)
       via  728723dea39b2e978bfc4162ef99e883f3647a4b (commit)
      from  e4b52133d6109ae6cc0378285e2d46f7077812f1 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit f12259d9c4c34b99f5b655cab4b210159cb0e188
Author: Michael Adam <obnox at samba.org>
Date:   Mon Mar 10 17:16:01 2008 +0100

    loadparm: fix init_globals() to re-init all options event when called 2nd time.
    
    Up to the globals had only been fully reset when init_globals() was called
    for the first time. But a full restart is needed for use with
    "config backend = registry". (And should be with "config file = ...", but
    in this case the restart is outsourced to the daemons.) This left
    some options (like e.g. "realm") set to values that were set in smb.conf
    before the occurence of "config backend = registry".
    
    Now this misbehaviour is fixed with this change.
    
    Michael

commit ab70e781b2d4cc7f8a7f6cf95825f8412d9be2ca
Author: Michael Adam <obnox at samba.org>
Date:   Mon Mar 10 14:39:19 2008 +0100

    loadparm: replace typedef struct {} global/service by struct global/struct service.
    
    Michael

commit 10ab0681e60e3b91958639a2b0ad359440076c4a
Author: Michael Adam <obnox at samba.org>
Date:   Mon Mar 10 14:23:02 2008 +0100

    loadparm: fix whitespaces in global and service parameter structs.
    
    Michael

commit 91aab823fc6ec4c38e3461aae57bec0c6a567150
Author: Michael Adam <obnox at samba.org>
Date:   Mon Mar 10 14:10:58 2008 +0100

    loadparm: fix spacing in parm_table (training spaces and empty lines).
    
    Michael

commit 869a17f1a9ba45d30211c230673c6f4482876b29
Author: Michael Adam <obnox at samba.org>
Date:   Mon Mar 10 14:03:41 2008 +0100

    loadparm: Reformat the parm table to use named initializers.
    
    This makes each entry in the parm table much more comprehensible
    at first glance (to me). On the other hand, roughly 9 lines are
    used instead of one for each entry which makes the overall list
    less clearly laid out, one might argue. But we have 400+ lines
    of parameter descriptions anyways...
    
    Michael

commit 728723dea39b2e978bfc4162ef99e883f3647a4b
Author: Michael Adam <obnox at samba.org>
Date:   Mon Mar 10 12:32:56 2008 +0100

    Reformat: Remove indentation of part of pam_smbpass/support.c by one tab.
    
    The first 120 lines of this source file were indented by one tab.
    Sorry, but I could not stand this..
    
    Michael

-----------------------------------------------------------------------

Summary of changes:
 source/pam_smbpass/support.c |  204 ++--
 source/param/loadparm.c      | 4124 ++++++++++++++++++++++++++++++++++++------
 2 files changed, 3714 insertions(+), 614 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/pam_smbpass/support.c b/source/pam_smbpass/support.c
index bc9481d..bb54ef6 100644
--- a/source/pam_smbpass/support.c
+++ b/source/pam_smbpass/support.c
@@ -1,125 +1,125 @@
-	/* Unix NT password database implementation, version 0.6.
-	 *
-	 * This program is free software; you can redistribute it and/or modify it under
-	 * the terms of the GNU General Public License as published by the Free
-	 * Software Foundation; either version 3 of the License, or (at your option)
-	 * any later version.
-	 *
-	 * This program is distributed in the hope that it will be useful, but WITHOUT
-	 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-	 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-	 * more details.
-	 *
-	 * You should have received a copy of the GNU General Public License along with
-	 * this program; if not, see <http://www.gnu.org/licenses/>.
-	 */
+/* Unix NT password database implementation, version 0.6.
+ *
+ * This program is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 3 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, see <http://www.gnu.org/licenses/>.
+ */
 
-	#include "includes.h"
-	#include "general.h"
+#include "includes.h"
+#include "general.h"
 
-	#include "support.h"
+#include "support.h"
 
 
-	#define _pam_overwrite(x)        \
-	do {                             \
-	     register char *__xx__;      \
-	     if ((__xx__=(x)))           \
-		  while (*__xx__)        \
-		       *__xx__++ = '\0'; \
-	} while (0)
+#define _pam_overwrite(x)        \
+do {                             \
+     register char *__xx__;      \
+     if ((__xx__=(x)))           \
+	  while (*__xx__)        \
+	       *__xx__++ = '\0'; \
+} while (0)
 
-	/*
-	 * Don't just free it, forget it too.
-	 */
+/*
+ * Don't just free it, forget it too.
+ */
 
-	#define _pam_drop(X) \
-	do {                 \
-	    if (X) {         \
-		free(X);     \
-		X=NULL;      \
-	    }                \
-	} while (0)
-
-	#define _pam_drop_reply(/* struct pam_response * */ reply, /* int */ replies) \
-	do {                                              \
-	    int reply_i;                                  \
-							  \
-	    for (reply_i=0; reply_i<replies; ++reply_i) { \
-		if (reply[reply_i].resp) {                \
-		    _pam_overwrite(reply[reply_i].resp);  \
-		    free(reply[reply_i].resp);            \
-		}                                         \
-	    }                                             \
-	    if (reply)                                    \
-		free(reply);                              \
-	} while (0)
-
-
-	int converse(pam_handle_t *, int, int, struct pam_message **,
-				 struct pam_response **);
-	int make_remark(pam_handle_t *, unsigned int, int, const char *);
-	void _cleanup(pam_handle_t *, void *, int);
-	char *_pam_delete(register char *);
-
-	/* syslogging function for errors and other information */
-
-	void _log_err( int err, const char *format, ... )
-	{
-	    va_list args;
-
-	    va_start( args, format );
-	    openlog( "PAM_smbpass", LOG_CONS | LOG_PID, LOG_AUTH );
-	    vsyslog( err, format, args );
-	    va_end( args );
-	    closelog();
-	}
+#define _pam_drop(X) \
+do {                 \
+    if (X) {         \
+	free(X);     \
+	X=NULL;      \
+    }                \
+} while (0)
+
+#define _pam_drop_reply(/* struct pam_response * */ reply, /* int */ replies) \
+do {                                              \
+    int reply_i;                                  \
+						  \
+    for (reply_i=0; reply_i<replies; ++reply_i) { \
+	if (reply[reply_i].resp) {                \
+	    _pam_overwrite(reply[reply_i].resp);  \
+	    free(reply[reply_i].resp);            \
+	}                                         \
+    }                                             \
+    if (reply)                                    \
+	free(reply);                              \
+} while (0)
+
+
+int converse(pam_handle_t *, int, int, struct pam_message **,
+			 struct pam_response **);
+int make_remark(pam_handle_t *, unsigned int, int, const char *);
+void _cleanup(pam_handle_t *, void *, int);
+char *_pam_delete(register char *);
+
+/* syslogging function for errors and other information */
+
+void _log_err( int err, const char *format, ... )
+{
+    va_list args;
 
-	/* this is a front-end for module-application conversations */
+    va_start( args, format );
+    openlog( "PAM_smbpass", LOG_CONS | LOG_PID, LOG_AUTH );
+    vsyslog( err, format, args );
+    va_end( args );
+    closelog();
+}
 
-	int converse( pam_handle_t * pamh, int ctrl, int nargs
-		      , struct pam_message **message
-		      , struct pam_response **response )
-	{
-		int retval;
-		struct pam_conv *conv;
+/* this is a front-end for module-application conversations */
 
-		retval = pam_get_item(pamh, PAM_CONV, (const void **) &conv);
-		if (retval == PAM_SUCCESS) {
+int converse( pam_handle_t * pamh, int ctrl, int nargs
+	      , struct pam_message **message
+	      , struct pam_response **response )
+{
+	int retval;
+	struct pam_conv *conv;
 
-			retval = conv->conv(nargs, (const struct pam_message **) message
-								,response, conv->appdata_ptr);
+	retval = pam_get_item(pamh, PAM_CONV, (const void **) &conv);
+	if (retval == PAM_SUCCESS) {
 
-			if (retval != PAM_SUCCESS && on(SMB_DEBUG, ctrl)) {
-				_log_err(LOG_DEBUG, "conversation failure [%s]"
-						 ,pam_strerror(pamh, retval));
-			}
-		} else {
-			_log_err(LOG_ERR, "couldn't obtain coversation function [%s]"
+		retval = conv->conv(nargs, (const struct pam_message **) message
+							,response, conv->appdata_ptr);
+
+		if (retval != PAM_SUCCESS && on(SMB_DEBUG, ctrl)) {
+			_log_err(LOG_DEBUG, "conversation failure [%s]"
 					 ,pam_strerror(pamh, retval));
 		}
-
-		return retval;				/* propagate error status */
+	} else {
+		_log_err(LOG_ERR, "couldn't obtain coversation function [%s]"
+				 ,pam_strerror(pamh, retval));
 	}
 
-	int make_remark( pam_handle_t * pamh, unsigned int ctrl
-			 , int type, const char *text )
-	{
-		if (off(SMB__QUIET, ctrl)) {
-			struct pam_message *pmsg[1], msg[1];
-			struct pam_response *resp;
+	return retval;				/* propagate error status */
+}
 
-			pmsg[0] = &msg[0];
-			msg[0].msg = CONST_DISCARD(char *, text);
-			msg[0].msg_style = type;
-			resp = NULL;
+int make_remark( pam_handle_t * pamh, unsigned int ctrl
+		 , int type, const char *text )
+{
+	if (off(SMB__QUIET, ctrl)) {
+		struct pam_message *pmsg[1], msg[1];
+		struct pam_response *resp;
 
-			return converse(pamh, ctrl, 1, pmsg, &resp);
-		}
-		return PAM_SUCCESS;
+		pmsg[0] = &msg[0];
+		msg[0].msg = CONST_DISCARD(char *, text);
+		msg[0].msg_style = type;
+		resp = NULL;
+
+		return converse(pamh, ctrl, 1, pmsg, &resp);
 	}
+	return PAM_SUCCESS;
+}
 
 
-	/* set the control flags for the SMB module. */
+/* set the control flags for the SMB module. */
 
 int set_ctrl( int flags, int argc, const char **argv )
 {
diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index 833ca54..aaeafac 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -99,10 +99,10 @@ struct _param_opt_struct {
 	char **list;
 };
 
-/* 
+/*
  * This structure describes global (ie., server-wide) parameters.
  */
-typedef struct {
+struct global {
 	int ConfigBackend;
 	char *smb_ports;
 	char *dos_charset;
@@ -136,7 +136,7 @@ typedef struct {
 	char *szRealm;
 	char *szAfsUsernameMap;
 	int iAfsTokenLifetime;
- 	char *szLogNtTokenCommand;
+	char *szLogNtTokenCommand;
 	char *szUsernameMap;
 	char *szLogonScript;
 	char *szLogonPath;
@@ -156,7 +156,7 @@ typedef struct {
 	char *szNameResolveOrder;
 	char *szPanicAction;
 	char *szAddUserScript;
-        char *szRenameUserScript;
+	char *szRenameUserScript;
 	char *szDelUserScript;
 	char *szAddGroupScript;
 	char *szDelGroupScript;
@@ -195,7 +195,7 @@ typedef struct {
 	char *szAddShareCommand;
 	char *szChangeShareCommand;
 	char *szDeleteShareCommand;
-        char **szEventLogs;
+	char **szEventLogs;
 	char *szGuestaccount;
 	char *szManglingMethod;
 	char **szServicesList;
@@ -328,19 +328,18 @@ typedef struct {
 	int iUsershareMaxShares;
 	int iIdmapCacheTime;
 	int iIdmapNegativeCacheTime;
-
 	bool bResetOnZeroVC;
 	int iKeepalive;
 	int iminreceivefile;
 	param_opt_struct *param_opt;
-} global;
+};
 
-static global Globals;
+static struct global Globals;
 
-/* 
- * This structure describes a single service. 
+/*
+ * This structure describes a single service.
  */
-typedef struct {
+struct service {
 	bool valid;
 	bool autoloaded;
 	int usershare;
@@ -479,11 +478,11 @@ typedef struct {
 	param_opt_struct *param_opt;
 
 	char dummy[3];		/* for alignment */
-} service;
+};
 
 
 /* This is a default service used to prime a services structure */
-static service sDefault = {
+static struct service sDefault = {
 	True,			/* valid */
 	False,			/* not autoloaded */
 	0,			/* not a usershare */
@@ -629,7 +628,7 @@ static service sDefault = {
 };
 
 /* local variables */
-static service **ServicePtrs = NULL;
+static struct service **ServicePtrs = NULL;
 static int iNumServices = 0;
 static int iServiceIndex = 0;
 static struct db_context *ServiceHash;
@@ -874,479 +873,3570 @@ static const struct enum_list enum_config_backend[] = {
  */
 
 static struct parm_struct parm_table[] = {
-	{N_("Base Options"), P_SEP, P_SEPARATOR}, 
-
-	{"dos charset", P_STRING, P_GLOBAL, &Globals.dos_charset, handle_charset, NULL, FLAG_ADVANCED}, 
-	{"unix charset", P_STRING, P_GLOBAL, &Globals.unix_charset, handle_charset, NULL, FLAG_ADVANCED}, 
-	{"display charset", P_STRING, P_GLOBAL, &Globals.display_charset, handle_charset, NULL, FLAG_ADVANCED}, 
-	{"comment", P_STRING, P_LOCAL, &sDefault.comment, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT}, 
-	{"path", P_STRING, P_LOCAL, &sDefault.szPath, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT}, 
-	{"directory", P_STRING, P_LOCAL, &sDefault.szPath, NULL, NULL, FLAG_HIDE}, 
-	{"workgroup", P_USTRING, P_GLOBAL, &Globals.szWorkgroup, handle_workgroup, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD}, 
+	{N_("Base Options"), P_SEP, P_SEPARATOR},
+
+	{
+		.label		= "dos charset",
+		.type		= P_STRING,
+		.p_class	= P_GLOBAL,
+		.ptr		= &Globals.dos_charset,
+		.special	= handle_charset,
+		.enum_list	= NULL,
+		.flags		= FLAG_ADVANCED
+	},
+	{
+		.label		= "unix charset",
+		.type		= P_STRING,
+		.p_class	= P_GLOBAL,
+		.ptr		= &Globals.unix_charset,
+		.special	= handle_charset,
+		.enum_list	= NULL,
+		.flags		= FLAG_ADVANCED
+	},
+	{
+		.label		= "display charset",
+		.type		= P_STRING,
+		.p_class	= P_GLOBAL,
+		.ptr		= &Globals.display_charset,
+		.special	= handle_charset,
+		.enum_list	= NULL,
+		.flags		= FLAG_ADVANCED
+	},
+	{
+		.label		= "comment",
+		.type		= P_STRING,
+		.p_class	= P_LOCAL,
+		.ptr		= &sDefault.comment,
+		.special	= NULL,
+		.enum_list	= NULL,
+		.flags		= FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT
+	},
+	{
+		.label		= "path",
+		.type		= P_STRING,
+		.p_class	= P_LOCAL,
+		.ptr		= &sDefault.szPath,
+		.special	= NULL,
+		.enum_list	= NULL,
+		.flags		= FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
+	},
+	{
+		.label		= "directory",
+		.type		= P_STRING,
+		.p_class	= P_LOCAL,
+		.ptr		= &sDefault.szPath,
+		.special	= NULL,
+		.enum_list	= NULL,
+		.flags		= FLAG_HIDE,
+	},
+	{
+		.label		= "workgroup",
+		.type		= P_USTRING,
+		.p_class	= P_GLOBAL,
+		.ptr		= &Globals.szWorkgroup,
+		.special	= handle_workgroup,
+		.enum_list	= NULL,
+		.flags		= FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
+	},
 #ifdef WITH_ADS
-	{"realm", P_USTRING, P_GLOBAL, &Globals.szRealm, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD}, 
+	{
+		.label		= "realm",
+		.type		= P_USTRING,
+		.p_class	= P_GLOBAL,
+		.ptr		= &Globals.szRealm,
+		.special	= NULL,
+		.enum_list	= NULL,
+		.flags		= FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
+	},
 #endif
-	{"netbios name", P_USTRING, P_GLOBAL, &Globals.szNetbiosName, handle_netbios_name, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD}, 
-	{"netbios aliases", P_LIST, P_GLOBAL, &Globals.szNetbiosAliases, handle_netbios_aliases,  NULL, FLAG_ADVANCED}, 
-	{"netbios scope", P_USTRING, P_GLOBAL, &Globals.szNetbiosScope, handle_netbios_scope,  NULL, FLAG_ADVANCED}, 
-	{"server string", P_STRING, P_GLOBAL, &Globals.szServerString, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED }, 
-	{"interfaces", P_LIST, P_GLOBAL, &Globals.szInterfaces, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD}, 
-	{"bind interfaces only", P_BOOL, P_GLOBAL, &Globals.bBindInterfacesOnly, NULL, NULL, FLAG_ADVANCED | FLAG_WIZARD}, 
-
-	{"config backend", P_ENUM, P_GLOBAL, &Globals.ConfigBackend, NULL, enum_config_backend, FLAG_ADVANCED},
-
-	{N_("Security Options"), P_SEP, P_SEPARATOR}, 
-
-	{"security", P_ENUM, P_GLOBAL, &Globals.security, NULL, enum_security, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD}, 
-	{"auth methods", P_LIST, P_GLOBAL, &Globals.AuthMethods, NULL, NULL, FLAG_ADVANCED}, 
-	{"encrypt passwords", P_BOOL, P_GLOBAL, &Globals.bEncryptPasswords, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD}, 
-	{"update encrypted", P_BOOL, P_GLOBAL, &Globals.bUpdateEncrypt, NULL, NULL, FLAG_ADVANCED}, 
-	{"client schannel", P_ENUM, P_GLOBAL, &Globals.clientSchannel, NULL, enum_bool_auto, FLAG_BASIC | FLAG_ADVANCED}, 
-	{"server schannel", P_ENUM, P_GLOBAL, &Globals.serverSchannel, NULL, enum_bool_auto, FLAG_BASIC | FLAG_ADVANCED}, 
-	{"allow trusted domains", P_BOOL, P_GLOBAL, &Globals.bAllowTrustedDomains, NULL, NULL, FLAG_ADVANCED}, 
-	{"map to guest", P_ENUM, P_GLOBAL, &Globals.map_to_guest, NULL, enum_map_to_guest, FLAG_ADVANCED}, 
-	{"null passwords", P_BOOL, P_GLOBAL, &Globals.bNullPasswords, NULL, NULL, FLAG_ADVANCED}, 
-	{"obey pam restrictions", P_BOOL, P_GLOBAL, &Globals.bObeyPamRestrictions, NULL, NULL, FLAG_ADVANCED}, 
-	{"password server", P_STRING, P_GLOBAL, &Globals.szPasswordServer, NULL, NULL, FLAG_ADVANCED | FLAG_WIZARD}, 
-	{"smb passwd file", P_STRING, P_GLOBAL, &Globals.szSMBPasswdFile, NULL, NULL, FLAG_ADVANCED}, 
-	{"private dir", P_STRING, P_GLOBAL, &Globals.szPrivateDir, NULL, NULL, FLAG_ADVANCED}, 
-	{"passdb backend", P_STRING, P_GLOBAL, &Globals.szPassdbBackend, NULL, NULL, FLAG_ADVANCED | FLAG_WIZARD}, 
-	{"algorithmic rid base", P_INTEGER, P_GLOBAL, &Globals.AlgorithmicRidBase, NULL, NULL, FLAG_ADVANCED}, 
-	{"root directory", P_STRING, P_GLOBAL, &Globals.szRootdir, NULL, NULL, FLAG_ADVANCED}, 
-	{"root dir", P_STRING, P_GLOBAL, &Globals.szRootdir, NULL, NULL, FLAG_HIDE}, 
-	{"root", P_STRING, P_GLOBAL, &Globals.szRootdir, NULL, NULL, FLAG_HIDE}, 
-	{"guest account", P_STRING, P_GLOBAL, &Globals.szGuestaccount, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED}, 
-	{"enable privileges", P_BOOL, P_GLOBAL, &Globals.bEnablePrivileges, NULL, NULL, FLAG_ADVANCED}, 
-
-	{"pam password change", P_BOOL, P_GLOBAL, &Globals.bPamPasswordChange, NULL, NULL, FLAG_ADVANCED}, 
-	{"passwd program", P_STRING, P_GLOBAL, &Globals.szPasswdProgram, NULL, NULL, FLAG_ADVANCED}, 
-	{"passwd chat", P_STRING, P_GLOBAL, &Globals.szPasswdChat, NULL, NULL, FLAG_ADVANCED}, 
-	{"passwd chat debug", P_BOOL, P_GLOBAL, &Globals.bPasswdChatDebug, NULL, NULL, FLAG_ADVANCED}, 
-	{"passwd chat timeout", P_INTEGER, P_GLOBAL, &Globals.iPasswdChatTimeout, NULL, NULL, FLAG_ADVANCED}, 
-	{"check password script", P_STRING, P_GLOBAL, &Globals.szCheckPasswordScript, NULL, NULL, FLAG_ADVANCED}, 
-	{"username map", P_STRING, P_GLOBAL, &Globals.szUsernameMap, NULL, NULL, FLAG_ADVANCED}, 
-	{"password level", P_INTEGER, P_GLOBAL, &Globals.pwordlevel, NULL, NULL, FLAG_ADVANCED}, 
-	{"username level", P_INTEGER, P_GLOBAL, &Globals.unamelevel, NULL, NULL, FLAG_ADVANCED}, 
-	{"unix password sync", P_BOOL, P_GLOBAL, &Globals.bUnixPasswdSync, NULL, NULL, FLAG_ADVANCED}, 
-	{"restrict anonymous", P_INTEGER, P_GLOBAL, &Globals.restrict_anonymous, NULL, NULL, FLAG_ADVANCED}, 
-	{"lanman auth", P_BOOL, P_GLOBAL, &Globals.bLanmanAuth, NULL, NULL, FLAG_ADVANCED}, 
-	{"ntlm auth", P_BOOL, P_GLOBAL, &Globals.bNTLMAuth, NULL, NULL, FLAG_ADVANCED}, 
-	{"client NTLMv2 auth", P_BOOL, P_GLOBAL, &Globals.bClientNTLMv2Auth, NULL, NULL, FLAG_ADVANCED}, 
-	{"client lanman auth", P_BOOL, P_GLOBAL, &Globals.bClientLanManAuth, NULL, NULL, FLAG_ADVANCED}, 
-	{"client plaintext auth", P_BOOL, P_GLOBAL, &Globals.bClientPlaintextAuth, NULL, NULL, FLAG_ADVANCED}, 
-
-	{"username", P_STRING, P_LOCAL, &sDefault.szUsername, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"user", P_STRING, P_LOCAL, &sDefault.szUsername, NULL, NULL, FLAG_HIDE}, 
-	{"users", P_STRING, P_LOCAL, &sDefault.szUsername, NULL, NULL, FLAG_HIDE}, 
-
-	{"invalid users", P_LIST, P_LOCAL, &sDefault.szInvalidUsers, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"valid users", P_LIST, P_LOCAL, &sDefault.szValidUsers, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"admin users", P_LIST, P_LOCAL, &sDefault.szAdminUsers, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"read list", P_LIST, P_LOCAL, &sDefault.readlist, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"write list", P_LIST, P_LOCAL, &sDefault.writelist, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"printer admin", P_LIST, P_LOCAL, &sDefault.printer_admin, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_PRINT | FLAG_DEPRECATED }, 
-	{"force user", P_STRING, P_LOCAL, &sDefault.force_user, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
-	{"force group", P_STRING, P_LOCAL, &sDefault.force_group, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
-	{"group", P_STRING, P_LOCAL, &sDefault.force_group, NULL, NULL, FLAG_ADVANCED}, 
-
-	{"read only", P_BOOL, P_LOCAL, &sDefault.bRead_only, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE}, 
-	{"write ok", P_BOOLREV, P_LOCAL, &sDefault.bRead_only, NULL, NULL, FLAG_HIDE}, 
-	{"writeable", P_BOOLREV, P_LOCAL, &sDefault.bRead_only, NULL, NULL, FLAG_HIDE}, 
-	{"writable", P_BOOLREV, P_LOCAL, &sDefault.bRead_only, NULL, NULL, FLAG_HIDE}, 
-
-	{"acl check permissions", P_BOOL, P_LOCAL, &sDefault.bAclCheckPermissions, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE},
-	{"acl group control", P_BOOL, P_LOCAL, &sDefault.bAclGroupControl, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE | FLAG_DEPRECATED },
-	{"acl map full control", P_BOOL, P_LOCAL, &sDefault.bAclMapFullControl, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE},
-	{"create mask", P_OCTAL, P_LOCAL, &sDefault.iCreate_mask, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"create mode", P_OCTAL, P_LOCAL, &sDefault.iCreate_mask, NULL, NULL, FLAG_HIDE}, 
-	{"force create mode", P_OCTAL, P_LOCAL, &sDefault.iCreate_force_mode, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"security mask", P_OCTAL, P_LOCAL, &sDefault.iSecurity_mask, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"force security mode", P_OCTAL, P_LOCAL, &sDefault.iSecurity_force_mode, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"directory mask", P_OCTAL, P_LOCAL, &sDefault.iDir_mask, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"directory mode", P_OCTAL, P_LOCAL, &sDefault.iDir_mask, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL}, 
-	{"force directory mode", P_OCTAL, P_LOCAL, &sDefault.iDir_force_mode, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"directory security mask", P_OCTAL, P_LOCAL, &sDefault.iDir_Security_mask, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"force directory security mode", P_OCTAL, P_LOCAL, &sDefault.iDir_Security_force_mode, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
-	{"force unknown acl user", P_BOOL, P_LOCAL, &sDefault.bForceUnknownAclUser, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE},
-	{"inherit permissions", P_BOOL, P_LOCAL, &sDefault.bInheritPerms, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
-	{"inherit acls", P_BOOL, P_LOCAL, &sDefault.bInheritACLS, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
-	{"inherit owner", P_BOOL, P_LOCAL, &sDefault.bInheritOwner, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
-	{"guest only", P_BOOL, P_LOCAL, &sDefault.bGuest_only, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list