[PART4] [PATCHES] generate the param_table (FINALLY)

Michael Adam obnox at samba.org
Fri Jul 24 06:41:57 UTC 2015


On 2015-07-24 at 13:28 +1200, Andrew Bartlett wrote:
> On Fri, 2015-07-24 at 02:21 +0200, Michael Adam wrote:
> > The complete patchset is also available in my repository:
> > 
> > git://git.samba.org/obnox/samba/samba-obnox.git
> > 
> > branch master-loadparm-ok
> > 
> > gitweb:
> > 
> > https://git.samba.org/?p=obnox/samba/samba
> > -obnox.git;a=shortlog;h=refs/heads/master-loadparm-ok
> 
> I get build failures of:
> 
> ../lib/param/loadparm.c: In function ‘handle_cups_encrypt’:
> ../lib/param/loadparm.c:1394:13: error: ‘HTTP_ENCRYPT_REQUIRED’
> undeclared (first use in this function)
>     result = HTTP_ENCRYPT_REQUIRED;
>              ^
> ../lib/param/loadparm.c:1394:13: note: each undeclared identifier is
> reported only once for each function it appears in
> ../lib/param/loadparm.c:1397:13: error: ‘HTTP_ENCRYPT_ALWAYS’
> undeclared (first use in this function)
>     result = HTTP_ENCRYPT_ALWAYS;
>              ^
> ../lib/param/loadparm.c:1400:13: error: ‘HTTP_ENCRYPT_NEVER’ undeclared
> (first use in this function)
>     result = HTTP_ENCRYPT_NEVER;

Now it is strange the I did not encounter this
problem. Not and my system, and the patchset
has survived a full autobuilt on sn-devel, too.

I seem to have missed to move this block:

#ifdef HAVE_HTTPCONNECTENCRYPT
#include <cups/http.h>
#endif

from source3/param/loadparm.c

to lib/param/loadparm.c

Updated complete (part1 -- part4) patchset attached.

Michael
-------------- next part --------------
From 22dcf81f1b9ae0c425dfd6283653b29935eea4d5 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 08:23:21 +0200
Subject: [PATCH 01/78] param: make set_variable() static.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 06a9e59..95e8438 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -1555,7 +1555,8 @@ static bool set_variable_helper(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr
 
 }
 
-bool set_variable(TALLOC_CTX *mem_ctx, struct loadparm_service *service, int parmnum, void *parm_ptr,
+static bool set_variable(TALLOC_CTX *mem_ctx, struct loadparm_service *service,
+			 int parmnum, void *parm_ptr,
 			 const char *pszParmName, const char *pszParmValue,
 			 struct loadparm_context *lp_ctx, bool on_globals)
 {
-- 
2.4.3


From 3eff2050ae74aea3df51a43ebb67bd40bf28905a Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 8 Jul 2015 18:23:28 +0200
Subject: [PATCH 02/78] param: accompany FN_LOCAL_PARM_CHAR with FN_LOCAL_CHAR

just like with the other FN_LOCAL_PARM macros.
FN_LOCAL_CHAR is the main definition.

This is also in preparation of a possible future
removal of the _PARM variants (when snum is no
longer used...).

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 95e8438..3d96bff 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -209,12 +209,14 @@ static struct loadparm_context *global_loadparm_context;
 
 #define FN_LOCAL_PARM_INTEGER(fn_name, val) FN_LOCAL_INTEGER(fn_name, val)
 
-#define FN_LOCAL_PARM_CHAR(fn_name,val) \
+#define FN_LOCAL_CHAR(fn_name,val) \
  _PUBLIC_ char lpcfg_ ## fn_name(struct loadparm_service *service, \
 				struct loadparm_service *sDefault) {	\
 	 return((service != NULL)? service->val : sDefault->val); \
  }
 
+#define FN_LOCAL_PARM_CHAR(fn_name,val) FN_LOCAL_CHAR(fn_name, val)
+
 #include "lib/param/param_functions.c"
 
 /* These functions cannot be auto-generated */
-- 
2.4.3


From 9bf0948a795e5dc13aa6bbae9248a54317a47405 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 09:10:34 +0200
Subject: [PATCH 03/78] s3:lib: remove unused dummyparam.c

Signed-off-by: Michael Adam <obnox at samba.org>
---
 source3/lib/dummyparam.c | 30 ------------------------------
 1 file changed, 30 deletions(-)
 delete mode 100644 source3/lib/dummyparam.c

diff --git a/source3/lib/dummyparam.c b/source3/lib/dummyparam.c
deleted file mode 100644
index 91dda65..0000000
--- a/source3/lib/dummyparam.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-   RPC pipe client
-
-   Copyright (C) Gerald (Jerry) Carter          2004.
-
-   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/>.
-*/
-
-/* Stupid dummy functions required due to the horrible dependency mess
-   in Samba. */
-
-#include "includes.h"
-
-int find_service(TALLOC_CTX *ctx, const char *service_in, char **p_service_out)
-{
-	return -1;
-}
-
-- 
2.4.3


From 8faf2e3098a12865a422761eb3d39ea4ddc15b44 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 30 Apr 2015 23:32:45 +0200
Subject: [PATCH 04/78] docs:smbdotconf: make formatting of headers uniform.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/base/bindinterfacesonly.xml             |  2 +-
 docs-xml/smbdotconf/base/comment.xml                        |  2 +-
 docs-xml/smbdotconf/base/configbackend.xml                  |  2 +-
 docs-xml/smbdotconf/base/doscharset.xml                     |  4 ++--
 docs-xml/smbdotconf/base/interfaces.xml                     |  2 +-
 docs-xml/smbdotconf/base/multicastdnsregister.xml           |  2 +-
 docs-xml/smbdotconf/base/netbiosaliases.xml                 |  2 +-
 docs-xml/smbdotconf/base/netbiosscope.xml                   |  2 +-
 docs-xml/smbdotconf/base/realm.xml                          |  2 +-
 docs-xml/smbdotconf/base/sharebackend.xml                   |  2 +-
 docs-xml/smbdotconf/base/unixcharset.xml                    |  4 ++--
 docs-xml/smbdotconf/base/workgroup.xml                      |  2 +-
 docs-xml/smbdotconf/browse/browseable.xml                   |  4 +++-
 docs-xml/smbdotconf/browse/browselist.xml                   |  2 +-
 docs-xml/smbdotconf/browse/domainmaster.xml                 |  2 +-
 docs-xml/smbdotconf/browse/enhancedbrowsing.xml             |  2 +-
 docs-xml/smbdotconf/browse/lmannounce.xml                   |  2 +-
 docs-xml/smbdotconf/browse/lminterval.xml                   |  2 +-
 docs-xml/smbdotconf/browse/oslevel.xml                      |  2 +-
 docs-xml/smbdotconf/browse/preferredmaster.xml              |  2 +-
 docs-xml/smbdotconf/domain/machinepasswordtimeout.xml       |  2 +-
 docs-xml/smbdotconf/filename/casesensitive.xml              |  2 +-
 docs-xml/smbdotconf/filename/defaultcase.xml                |  5 +++--
 docs-xml/smbdotconf/filename/deletevetofiles.xml            |  2 +-
 docs-xml/smbdotconf/filename/hidedotfiles.xml               |  2 +-
 docs-xml/smbdotconf/filename/hidespecialfiles.xml           |  2 +-
 docs-xml/smbdotconf/filename/hideunreadable.xml             |  2 +-
 docs-xml/smbdotconf/filename/hideunwriteablefiles.xml       |  2 +-
 docs-xml/smbdotconf/filename/manglednames.xml               |  2 +-
 docs-xml/smbdotconf/filename/mangleprefix.xml               |  2 +-
 docs-xml/smbdotconf/filename/manglingchar.xml               |  2 +-
 docs-xml/smbdotconf/filename/manglingmethod.xml             |  4 ++--
 docs-xml/smbdotconf/filename/maparchive.xml                 |  4 ++--
 docs-xml/smbdotconf/filename/maphidden.xml                  |  2 +-
 docs-xml/smbdotconf/filename/mapreadonly.xml                |  2 +-
 docs-xml/smbdotconf/filename/mapsystem.xml                  |  2 +-
 docs-xml/smbdotconf/filename/maxstatcachesize.xml           |  2 +-
 docs-xml/smbdotconf/filename/preservecase.xml               |  2 +-
 docs-xml/smbdotconf/filename/shortpreservecase.xml          |  2 +-
 docs-xml/smbdotconf/filename/statcache.xml                  |  2 +-
 docs-xml/smbdotconf/filename/storedosattributes.xml         |  2 +-
 docs-xml/smbdotconf/filename/vetofiles.xml                  |  2 +-
 docs-xml/smbdotconf/filename/vetooplockfiles.xml            |  2 +-
 docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml         |  2 +-
 docs-xml/smbdotconf/ldap/ldapadmindn.xml                    |  4 ++--
 docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml          |  6 +++---
 docs-xml/smbdotconf/ldap/ldapdeletedn.xml                   |  2 +-
 docs-xml/smbdotconf/ldap/ldapderef.xml                      |  6 ++++--
 docs-xml/smbdotconf/ldap/ldapfollowreferral.xml             |  6 ++++--
 docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml                |  2 +-
 docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml                |  2 +-
 docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml              |  6 +++---
 docs-xml/smbdotconf/ldap/ldappagesize.xml                   |  6 +++---
 docs-xml/smbdotconf/ldap/ldappasswdsync.xml                 |  6 +++---
 docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml           |  2 +-
 docs-xml/smbdotconf/ldap/ldapsameditposix.xml               |  4 ++--
 docs-xml/smbdotconf/ldap/ldapsamtrusted.xml                 |  4 ++--
 docs-xml/smbdotconf/ldap/ldapssl.xml                        |  2 +-
 docs-xml/smbdotconf/ldap/ldapsslads.xml                     |  6 +++---
 docs-xml/smbdotconf/ldap/ldapsuffix.xml                     |  2 +-
 docs-xml/smbdotconf/ldap/ldaptimeout.xml                    |  2 +-
 docs-xml/smbdotconf/ldap/ldapusersuffix.xml                 |  6 +++---
 docs-xml/smbdotconf/locking/blockinglocks.xml               |  2 +-
 docs-xml/smbdotconf/locking/cscpolicy.xml                   |  2 +-
 docs-xml/smbdotconf/locking/fakeoplocks.xml                 |  2 +-
 docs-xml/smbdotconf/locking/kerneloplocks.xml               |  4 ++--
 docs-xml/smbdotconf/locking/kernelsharemodes.xml            |  4 ++--
 docs-xml/smbdotconf/locking/level2oplocks.xml               |  2 +-
 docs-xml/smbdotconf/locking/locking.xml                     |  2 +-
 docs-xml/smbdotconf/locking/lockspintime.xml                |  2 +-
 docs-xml/smbdotconf/locking/oplockbreakwaittime.xml         |  2 +-
 docs-xml/smbdotconf/locking/oplockcontentionlimit.xml       |  2 +-
 docs-xml/smbdotconf/locking/oplocks.xml                     |  2 +-
 docs-xml/smbdotconf/locking/posixlocking.xml                |  2 +-
 docs-xml/smbdotconf/locking/smb2leases.xml                  |  2 +-
 docs-xml/smbdotconf/locking/strictlocking.xml               |  2 +-
 docs-xml/smbdotconf/logging/debugclass.xml                  |  2 +-
 docs-xml/smbdotconf/logging/debughirestimestamp.xml         |  2 +-
 docs-xml/smbdotconf/logging/debugpid.xml                    |  2 +-
 docs-xml/smbdotconf/logging/debugprefixtimestamp.xml        |  2 +-
 docs-xml/smbdotconf/logging/debugtimestamp.xml              |  2 +-
 docs-xml/smbdotconf/logging/debuguid.xml                    |  2 +-
 docs-xml/smbdotconf/logging/ldapdebuglevel.xml              |  6 +++---
 docs-xml/smbdotconf/logging/ldapdebugthreshold.xml          |  6 +++---
 docs-xml/smbdotconf/logging/logfile.xml                     |  2 +-
 docs-xml/smbdotconf/logging/logging.xml                     |  6 +++---
 docs-xml/smbdotconf/logging/loglevel.xml                    |  2 +-
 docs-xml/smbdotconf/logging/maxlogsize.xml                  |  2 +-
 docs-xml/smbdotconf/logging/syslog.xml                      |  2 +-
 docs-xml/smbdotconf/logging/syslogonly.xml                  |  2 +-
 docs-xml/smbdotconf/logon/domainlogons.xml                  |  2 +-
 docs-xml/smbdotconf/misc/addsharecommand.xml                |  2 +-
 docs-xml/smbdotconf/misc/afsshare.xml                       |  6 +++---
 docs-xml/smbdotconf/misc/afsusernamemap.xml                 |  2 +-
 docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml         |  6 +++---
 docs-xml/smbdotconf/misc/asyncsmbechohandler.xml            |  2 +-
 docs-xml/smbdotconf/misc/available.xml                      |  6 +++---
 docs-xml/smbdotconf/misc/cachedirectory.xml                 |  4 ++--
 docs-xml/smbdotconf/misc/changenotify.xml                   |  2 +-
 docs-xml/smbdotconf/misc/changesharecommand.xml             |  2 +-
 docs-xml/smbdotconf/misc/clusteraddresses.xml               |  6 +++---
 docs-xml/smbdotconf/misc/clustering.xml                     |  2 +-
 docs-xml/smbdotconf/misc/configfile.xml                     |  2 +-
 docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml      |  2 +-
 docs-xml/smbdotconf/misc/ctdbtimeout.xml                    |  2 +-
 docs-xml/smbdotconf/misc/defaultservice.xml                 |  2 +-
 docs-xml/smbdotconf/misc/deletereadonly.xml                 |  6 +++---
 docs-xml/smbdotconf/misc/deletesharecommand.xml             |  2 +-
 docs-xml/smbdotconf/misc/dfreecachetime.xml                 |  6 +++---
 docs-xml/smbdotconf/misc/directorynamecachesize.xml         |  6 +++---
 docs-xml/smbdotconf/misc/dmapisupport.xml                   |  2 +-
 docs-xml/smbdotconf/misc/dontdescend.xml                    |  6 +++---
 docs-xml/smbdotconf/misc/dosfilemode.xml                    |  6 +++---
 docs-xml/smbdotconf/misc/dosfiletimeresolution.xml          |  6 +++---
 docs-xml/smbdotconf/misc/dosfiletimes.xml                   |  6 +++---
 docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml       |  6 +++---
 docs-xml/smbdotconf/misc/followsymlinks.xml                 |  6 +++---
 docs-xml/smbdotconf/misc/fssprunestale.xml                  |  2 +-
 docs-xml/smbdotconf/misc/fsssequencetimeout.xml             |  2 +-
 docs-xml/smbdotconf/misc/fstype.xml                         |  6 +++---
 docs-xml/smbdotconf/misc/homedirmap.xml                     |  6 +++---
 docs-xml/smbdotconf/misc/include.xml                        |  6 +++---
 docs-xml/smbdotconf/misc/kernelchangenotify.xml             |  2 +-
 docs-xml/smbdotconf/misc/lockdirectory.xml                  |  2 +-
 docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml        |  6 +++---
 docs-xml/smbdotconf/misc/magicoutput.xml                    |  6 +++---
 docs-xml/smbdotconf/misc/magicscript.xml                    |  6 +++---
 docs-xml/smbdotconf/misc/messagecommand.xml                 |  6 +++---
 docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml         |  6 +++---
 docs-xml/smbdotconf/misc/ncalrpcdir.xml                     |  6 +++---
 docs-xml/smbdotconf/misc/nishomedir.xml                     |  6 +++---
 docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml      |  6 +++---
 docs-xml/smbdotconf/misc/panicaction.xml                    |  6 +++---
 docs-xml/smbdotconf/misc/perfcountmodule.xml                |  6 +++---
 docs-xml/smbdotconf/misc/piddirectory.xml                   |  2 +-
 docs-xml/smbdotconf/misc/postexec.xml                       |  6 +++---
 docs-xml/smbdotconf/misc/preexec.xml                        |  8 ++++----
 docs-xml/smbdotconf/misc/preload.xml                        |  2 +-
 docs-xml/smbdotconf/misc/registryshares.xml                 |  2 +-
 docs-xml/smbdotconf/misc/remoteannounce.xml                 |  6 +++---
 docs-xml/smbdotconf/misc/remotebrowsesync.xml               |  6 +++---
 docs-xml/smbdotconf/misc/resetonzerovc.xml                  |  6 +++---
 docs-xml/smbdotconf/misc/rootpostexec.xml                   |  6 +++---
 docs-xml/smbdotconf/misc/rootpreexec.xml                    |  6 +++---
 docs-xml/smbdotconf/misc/rootpreexecclose.xml               |  6 +++---
 docs-xml/smbdotconf/misc/rpcdaemon.xml                      |  2 +-
 docs-xml/smbdotconf/misc/rpcserver.xml                      |  2 +-
 docs-xml/smbdotconf/misc/smbdprofilinglevel.xml             |  6 +++---
 docs-xml/smbdotconf/misc/statedirectory.xml                 |  4 ++--
 docs-xml/smbdotconf/misc/usershareallowguests.xml           |  6 +++---
 docs-xml/smbdotconf/misc/usersharemaxshares.xml             |  6 +++---
 docs-xml/smbdotconf/misc/usershareowneronly.xml             |  6 +++---
 docs-xml/smbdotconf/misc/usersharepath.xml                  |  6 +++---
 docs-xml/smbdotconf/misc/usershareprefixallowlist.xml       |  6 +++---
 docs-xml/smbdotconf/misc/usershareprefixdenylist.xml        |  6 +++---
 docs-xml/smbdotconf/misc/usersharetemplateshare.xml         |  6 +++---
 docs-xml/smbdotconf/misc/utmpdirectory.xml                  |  2 +-
 docs-xml/smbdotconf/misc/valid.xml                          |  6 +++---
 docs-xml/smbdotconf/misc/volume.xml                         |  6 +++---
 docs-xml/smbdotconf/misc/widelinks.xml                      |  6 +++---
 docs-xml/smbdotconf/misc/wtmpdirectory.xml                  |  2 +-
 docs-xml/smbdotconf/printing/addportcommand.xml             |  2 +-
 docs-xml/smbdotconf/printing/addprintercommand.xml          |  2 +-
 docs-xml/smbdotconf/printing/cupsencrypt.xml                |  6 +++---
 docs-xml/smbdotconf/printing/cupsoptions.xml                |  2 +-
 docs-xml/smbdotconf/printing/cupsserver.xml                 |  2 +-
 docs-xml/smbdotconf/printing/defaultdevmode.xml             |  2 +-
 docs-xml/smbdotconf/printing/deleteprintercommand.xml       |  2 +-
 docs-xml/smbdotconf/printing/disablespoolss.xml             |  2 +-
 docs-xml/smbdotconf/printing/enablespoolss.xml              |  2 +-
 docs-xml/smbdotconf/printing/enumportscommand.xml           |  2 +-
 docs-xml/smbdotconf/printing/forceprintername.xml           |  2 +-
 docs-xml/smbdotconf/printing/iprintserver.xml               |  2 +-
 docs-xml/smbdotconf/printing/loadprinters.xml               |  2 +-
 docs-xml/smbdotconf/printing/lppausecommand.xml             |  2 +-
 docs-xml/smbdotconf/printing/lpqcachetime.xml               |  6 +++---
 docs-xml/smbdotconf/printing/lpqcommand.xml                 |  2 +-
 docs-xml/smbdotconf/printing/lpresumecommand.xml            |  2 +-
 docs-xml/smbdotconf/printing/lprmcommand.xml                |  2 +-
 docs-xml/smbdotconf/printing/maxprintjobs.xml               |  2 +-
 docs-xml/smbdotconf/printing/maxreportedprintjobs.xml       |  2 +-
 docs-xml/smbdotconf/printing/os2drivermap.xml               |  2 +-
 docs-xml/smbdotconf/printing/printable.xml                  |  2 +-
 docs-xml/smbdotconf/printing/printcapcachetime.xml          |  4 ++--
 docs-xml/smbdotconf/printing/printcapname.xml               |  4 ++--
 docs-xml/smbdotconf/printing/printcommand.xml               |  2 +-
 docs-xml/smbdotconf/printing/printername.xml                |  2 +-
 docs-xml/smbdotconf/printing/printing.xml                   |  2 +-
 docs-xml/smbdotconf/printing/printjobusername.xml           |  2 +-
 docs-xml/smbdotconf/printing/printnotifybackchannel.xml     |  6 +++---
 docs-xml/smbdotconf/printing/queuepausecommand.xml          |  2 +-
 docs-xml/smbdotconf/printing/queueresumecommand.xml         |  2 +-
 docs-xml/smbdotconf/printing/showaddprinterwizard.xml       |  2 +-
 docs-xml/smbdotconf/printing/spoolssarchitecture.xml        |  6 +++---
 docs-xml/smbdotconf/printing/spoolssosversion.xml           |  6 +++---
 docs-xml/smbdotconf/printing/useclientdriver.xml            |  2 +-
 docs-xml/smbdotconf/protocol/aclcheckpermissions.xml        |  2 +-
 docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml          |  6 +++---
 docs-xml/smbdotconf/protocol/cldapport.xml                  |  2 +-
 docs-xml/smbdotconf/protocol/clientmaxprotocol.xml          |  8 ++++----
 docs-xml/smbdotconf/protocol/clientminprotocol.xml          |  6 +++---
 docs-xml/smbdotconf/protocol/clientusespnego.xml            |  2 +-
 docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml      |  2 +-
 docs-xml/smbdotconf/protocol/defersharingviolations.xml     |  2 +-
 docs-xml/smbdotconf/protocol/dgramport.xml                  |  2 +-
 docs-xml/smbdotconf/protocol/disablenetbios.xml             |  2 +-
 docs-xml/smbdotconf/protocol/easupport.xml                  |  2 +-
 docs-xml/smbdotconf/protocol/enableasusupport.xml           |  6 +++---
 docs-xml/smbdotconf/protocol/eventloglist.xml               |  2 +-
 docs-xml/smbdotconf/protocol/largereadwrite.xml             |  2 +-
 docs-xml/smbdotconf/protocol/mapaclinherit.xml              |  2 +-
 docs-xml/smbdotconf/protocol/maxmux.xml                     |  2 +-
 docs-xml/smbdotconf/protocol/maxttl.xml                     |  2 +-
 docs-xml/smbdotconf/protocol/maxwinsttl.xml                 |  2 +-
 docs-xml/smbdotconf/protocol/maxxmit.xml                    |  2 +-
 docs-xml/smbdotconf/protocol/minreceivefilesize.xml         |  6 +++---
 docs-xml/smbdotconf/protocol/minwinsttl.xml                 |  2 +-
 docs-xml/smbdotconf/protocol/nameresolveorder.xml           |  2 +-
 docs-xml/smbdotconf/protocol/nbtport.xml                    |  2 +-
 docs-xml/smbdotconf/protocol/ntaclsupport.xml               |  2 +-
 docs-xml/smbdotconf/protocol/ntpipesupport.xml              |  2 +-
 docs-xml/smbdotconf/protocol/ntstatussupport.xml            |  2 +-
 docs-xml/smbdotconf/protocol/profileacls.xml                |  2 +-
 docs-xml/smbdotconf/protocol/readraw.xml                    |  2 +-
 docs-xml/smbdotconf/protocol/rpcbigendian.xml               |  2 +-
 docs-xml/smbdotconf/protocol/servermaxprotocol.xml          |  6 +++---
 docs-xml/smbdotconf/protocol/serverminprotocol.xml          |  6 +++---
 docs-xml/smbdotconf/protocol/sharefakefscaps.xml            |  4 ++--
 docs-xml/smbdotconf/protocol/smb2maxcredits.xml             |  6 +++---
 docs-xml/smbdotconf/protocol/smb2maxread.xml                |  6 +++---
 docs-xml/smbdotconf/protocol/smb2maxtrans.xml               |  6 +++---
 docs-xml/smbdotconf/protocol/smb2maxwrite.xml               |  6 +++---
 docs-xml/smbdotconf/protocol/smbports.xml                   |  3 ++-
 docs-xml/smbdotconf/protocol/svcctllist.xml                 |  2 +-
 docs-xml/smbdotconf/protocol/timeserver.xml                 |  2 +-
 docs-xml/smbdotconf/protocol/unicode.xml                    |  2 +-
 docs-xml/smbdotconf/protocol/unixextensions.xml             |  2 +-
 docs-xml/smbdotconf/protocol/usespnego.xml                  |  2 +-
 docs-xml/smbdotconf/protocol/webport.xml                    |  2 +-
 docs-xml/smbdotconf/protocol/writeraw.xml                   |  2 +-
 docs-xml/smbdotconf/security/accessbasedshareenum.xml       |  4 ++--
 docs-xml/smbdotconf/security/aclgroupcontrol.xml            |  2 +-
 docs-xml/smbdotconf/security/adminusers.xml                 |  2 +-
 docs-xml/smbdotconf/security/algorithmicridbase.xml         |  4 ++--
 docs-xml/smbdotconf/security/allowtrusteddomains.xml        |  4 ++--
 docs-xml/smbdotconf/security/authmethods.xml                |  4 ++--
 docs-xml/smbdotconf/security/checkpasswordscript.xml        |  2 +-
 docs-xml/smbdotconf/security/clientlanmanauth.xml           |  2 +-
 docs-xml/smbdotconf/security/clientntlmv2auth.xml           |  2 +-
 docs-xml/smbdotconf/security/clientplaintextauth.xml        |  4 ++--
 docs-xml/smbdotconf/security/clientschannel.xml             |  4 ++--
 docs-xml/smbdotconf/security/clientsigning.xml              |  4 ++--
 docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml   |  2 +-
 docs-xml/smbdotconf/security/createmask.xml                 |  2 +-
 docs-xml/smbdotconf/security/dedicatedkeytabfile.xml        |  4 +++-
 docs-xml/smbdotconf/security/directorymask.xml              |  4 ++--
 docs-xml/smbdotconf/security/directorysecuritymask.xml      |  8 ++++----
 docs-xml/smbdotconf/security/encryptpasswords.xml           |  4 ++--
 docs-xml/smbdotconf/security/forcedirectorymode.xml         |  2 +-
 docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml |  8 ++++----
 docs-xml/smbdotconf/security/forcegroup.xml                 |  2 +-
 docs-xml/smbdotconf/security/forceunknownacluser.xml        |  2 +-
 docs-xml/smbdotconf/security/forceuser.xml                  |  2 +-
 docs-xml/smbdotconf/security/guestaccount.xml               |  4 ++--
 docs-xml/smbdotconf/security/guestok.xml                    |  4 ++--
 docs-xml/smbdotconf/security/guestonly.xml                  |  2 +-
 docs-xml/smbdotconf/security/hostsallow.xml                 |  2 +-
 docs-xml/smbdotconf/security/hostsdeny.xml                  |  2 +-
 docs-xml/smbdotconf/security/inheritacls.xml                |  2 +-
 docs-xml/smbdotconf/security/inheritowner.xml               |  2 +-
 docs-xml/smbdotconf/security/inheritpermissions.xml         |  2 +-
 docs-xml/smbdotconf/security/invalidusers.xml               |  2 +-
 docs-xml/smbdotconf/security/kerberosmethod.xml             |  4 +++-
 docs-xml/smbdotconf/security/kpasswdport.xml                |  2 +-
 docs-xml/smbdotconf/security/krb5port.xml                   |  2 +-
 docs-xml/smbdotconf/security/lanmanauth.xml                 |  2 +-
 docs-xml/smbdotconf/security/maptoguest.xml                 |  4 ++--
 docs-xml/smbdotconf/security/mapuntrustedtodomain.xml       |  4 ++--
 docs-xml/smbdotconf/security/ntlmauth.xml                   |  2 +-
 docs-xml/smbdotconf/security/nullpasswords.xml              |  4 ++--
 docs-xml/smbdotconf/security/obeypamrestrictions.xml        |  4 ++--
 docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml   |  4 ++--
 docs-xml/smbdotconf/security/onlyuser.xml                   |  2 +-
 docs-xml/smbdotconf/security/pampasswordchange.xml          |  4 ++--
 docs-xml/smbdotconf/security/passdbbackend.xml              |  4 ++--
 docs-xml/smbdotconf/security/passdbexpandexplicit.xml       |  4 ++--
 docs-xml/smbdotconf/security/passwdchatdebug.xml            |  2 +-
 docs-xml/smbdotconf/security/passwdchattimeout.xml          |  2 +-
 docs-xml/smbdotconf/security/passwdprogram.xml              |  4 ++--
 docs-xml/smbdotconf/security/passwordserver.xml             |  4 ++--
 docs-xml/smbdotconf/security/preloadmodules.xml             |  6 +++---
 docs-xml/smbdotconf/security/privatedir.xml                 |  4 ++--
 docs-xml/smbdotconf/security/readlist.xml                   |  2 +-
 docs-xml/smbdotconf/security/readonly.xml                   |  2 +-
 docs-xml/smbdotconf/security/renameuserscript.xml           |  4 ++--
 docs-xml/smbdotconf/security/restrictanonymous.xml          |  2 +-
 docs-xml/smbdotconf/security/rootdirectory.xml              |  6 +++---
 docs-xml/smbdotconf/security/security.xml                   | 10 +++++-----
 docs-xml/smbdotconf/security/serverrole.xml                 |  4 ++--
 docs-xml/smbdotconf/security/serverschannel.xml             |  4 ++--
 docs-xml/smbdotconf/security/serversigning.xml              |  4 ++--
 docs-xml/smbdotconf/security/smbencrypt.xml                 |  4 ++--
 docs-xml/smbdotconf/security/smbpasswdfile.xml              |  4 ++--
 docs-xml/smbdotconf/security/unixpasswordsync.xml           |  2 +-
 docs-xml/smbdotconf/security/username.xml                   |  4 ++--
 docs-xml/smbdotconf/security/usernamelevel.xml              |  2 +-
 docs-xml/smbdotconf/security/usernamemap.xml                |  2 +-
 docs-xml/smbdotconf/security/usernamemapcachetime.xml       |  2 +-
 docs-xml/smbdotconf/security/usernamemapscript.xml          |  2 +-
 docs-xml/smbdotconf/security/validusers.xml                 |  2 +-
 docs-xml/smbdotconf/security/writeable.xml                  |  2 +-
 docs-xml/smbdotconf/security/writelist.xml                  |  2 +-
 docs-xml/smbdotconf/winbind/createkrb5conf.xml              |  4 ++--
 docs-xml/smbdotconf/winbind/idmapbackend.xml                |  2 +-
 docs-xml/smbdotconf/winbind/idmapcachetime.xml              |  2 +-
 docs-xml/smbdotconf/winbind/idmapgid.xml                    |  4 ++--
 docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml      |  2 +-
 docs-xml/smbdotconf/winbind/idmapuid.xml                    |  2 +-
 docs-xml/smbdotconf/winbind/templatehomedir.xml             |  2 +-
 docs-xml/smbdotconf/winbind/templateshell.xml               |  2 +-
 docs-xml/smbdotconf/winbind/winbindcachetime.xml            |  2 +-
 docs-xml/smbdotconf/winbind/winbindenumgroups.xml           |  2 +-
 docs-xml/smbdotconf/winbind/winbindexpandgroups.xml         |  2 +-
 docs-xml/smbdotconf/winbind/winbindmaxclients.xml           |  2 +-
 docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml |  6 +++---
 docs-xml/smbdotconf/winbind/winbindnestedgroups.xml         |  2 +-
 docs-xml/smbdotconf/winbind/winbindnormalizenames.xml       |  2 +-
 docs-xml/smbdotconf/winbind/winbindnssinfo.xml              |  2 +-
 docs-xml/smbdotconf/winbind/winbindofflinelogon.xml         |  2 +-
 docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml       |  2 +-
 docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml       |  2 +-
 docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml       |  2 +-
 docs-xml/smbdotconf/winbind/winbindrpconly.xml              |  4 ++--
 docs-xml/smbdotconf/winbind/winbindseparator.xml            |  2 +-
 docs-xml/smbdotconf/winbind/winbindtrusteddomainsonly.xml   |  2 +-
 docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml     |  2 +-
 docs-xml/smbdotconf/wins/dnsproxy.xml                       |  2 +-
 337 files changed, 556 insertions(+), 544 deletions(-)

diff --git a/docs-xml/smbdotconf/base/bindinterfacesonly.xml b/docs-xml/smbdotconf/base/bindinterfacesonly.xml
index 31b462c..9a148f3 100644
--- a/docs-xml/smbdotconf/base/bindinterfacesonly.xml
+++ b/docs-xml/smbdotconf/base/bindinterfacesonly.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="bind interfaces only"
-				type="boolean"
+                 type="boolean"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/base/comment.xml b/docs-xml/smbdotconf/base/comment.xml
index 3c2c3b1..b0dd91c 100644
--- a/docs-xml/smbdotconf/base/comment.xml
+++ b/docs-xml/smbdotconf/base/comment.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="comment"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is a text field that is seen next to a share 
diff --git a/docs-xml/smbdotconf/base/configbackend.xml b/docs-xml/smbdotconf/base/configbackend.xml
index 864ec3c..35379ed 100644
--- a/docs-xml/smbdotconf/base/configbackend.xml
+++ b/docs-xml/smbdotconf/base/configbackend.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="config backend"
                  context="G"
-				 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/base/doscharset.xml b/docs-xml/smbdotconf/base/doscharset.xml
index 8a18c93..e0939d2 100644
--- a/docs-xml/smbdotconf/base/doscharset.xml
+++ b/docs-xml/smbdotconf/base/doscharset.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="dos charset"
-				 type="string"
+                 type="string"
                  context="G"
                  constant="1"
-				 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
         <para>DOS SMB clients assume the server has 
 	the same charset as they do. This option specifies which 
diff --git a/docs-xml/smbdotconf/base/interfaces.xml b/docs-xml/smbdotconf/base/interfaces.xml
index 39c90b9..ba36cc4 100644
--- a/docs-xml/smbdotconf/base/interfaces.xml
+++ b/docs-xml/smbdotconf/base/interfaces.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="interfaces"
                  context="G"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
         <para>This option allows you to override the default 
diff --git a/docs-xml/smbdotconf/base/multicastdnsregister.xml b/docs-xml/smbdotconf/base/multicastdnsregister.xml
index 87559e5..2c330ab 100644
--- a/docs-xml/smbdotconf/base/multicastdnsregister.xml
+++ b/docs-xml/smbdotconf/base/multicastdnsregister.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="multicast dns register"
-				type="boolean"
+                 type="boolean"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/base/netbiosaliases.xml b/docs-xml/smbdotconf/base/netbiosaliases.xml
index 46f97e2..3f33463 100644
--- a/docs-xml/smbdotconf/base/netbiosaliases.xml
+++ b/docs-xml/smbdotconf/base/netbiosaliases.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="netbios aliases"
                  context="G"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
         <para>This is a list of NetBIOS names that nmbd will 
diff --git a/docs-xml/smbdotconf/base/netbiosscope.xml b/docs-xml/smbdotconf/base/netbiosscope.xml
index 811e1c6..1b84aae 100644
--- a/docs-xml/smbdotconf/base/netbiosscope.xml
+++ b/docs-xml/smbdotconf/base/netbiosscope.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="netbios scope"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/base/realm.xml b/docs-xml/smbdotconf/base/realm.xml
index ab56ec5..e28909c 100644
--- a/docs-xml/smbdotconf/base/realm.xml
+++ b/docs-xml/smbdotconf/base/realm.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="realm"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/base/sharebackend.xml b/docs-xml/smbdotconf/base/sharebackend.xml
index fc8b6d4..08124cd 100644
--- a/docs-xml/smbdotconf/base/sharebackend.xml
+++ b/docs-xml/smbdotconf/base/sharebackend.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="share backend"
                  context="G"
                  type="string"
-		 constant="1"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/base/unixcharset.xml b/docs-xml/smbdotconf/base/unixcharset.xml
index ff8f6bb..3122f11 100644
--- a/docs-xml/smbdotconf/base/unixcharset.xml
+++ b/docs-xml/smbdotconf/base/unixcharset.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="unix charset"
-	context="G"
-	type="string"
+                 context="G"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/base/workgroup.xml b/docs-xml/smbdotconf/base/workgroup.xml
index 49aec41..bf650ff 100644
--- a/docs-xml/smbdotconf/base/workgroup.xml
+++ b/docs-xml/smbdotconf/base/workgroup.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="workgroup"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/browse/browseable.xml b/docs-xml/smbdotconf/browse/browseable.xml
index c56d3fc..64dfcf0 100644
--- a/docs-xml/smbdotconf/browse/browseable.xml
+++ b/docs-xml/smbdotconf/browse/browseable.xml
@@ -1,4 +1,6 @@
-<samba:parameter name="browseable" context="S" type="boolean"
+<samba:parameter name="browseable"
+                 context="S"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>browsable</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/browse/browselist.xml b/docs-xml/smbdotconf/browse/browselist.xml
index adf7454..f053e81 100644
--- a/docs-xml/smbdotconf/browse/browselist.xml
+++ b/docs-xml/smbdotconf/browse/browselist.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="browse list"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/browse/domainmaster.xml b/docs-xml/smbdotconf/browse/domainmaster.xml
index a47800b..7a75865 100644
--- a/docs-xml/smbdotconf/browse/domainmaster.xml
+++ b/docs-xml/smbdotconf/browse/domainmaster.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="domain master"
-				 type="enum"
+                 type="enum"
                  context="G"
                  function="_domain_master"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
diff --git a/docs-xml/smbdotconf/browse/enhancedbrowsing.xml b/docs-xml/smbdotconf/browse/enhancedbrowsing.xml
index 8b1b531..7ad8930 100644
--- a/docs-xml/smbdotconf/browse/enhancedbrowsing.xml
+++ b/docs-xml/smbdotconf/browse/enhancedbrowsing.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="enhanced browsing"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option enables a couple of enhancements to 
diff --git a/docs-xml/smbdotconf/browse/lmannounce.xml b/docs-xml/smbdotconf/browse/lmannounce.xml
index 6d712c4..8c9e981 100644
--- a/docs-xml/smbdotconf/browse/lmannounce.xml
+++ b/docs-xml/smbdotconf/browse/lmannounce.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lm announce"
                  context="G"
-				 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/browse/lminterval.xml b/docs-xml/smbdotconf/browse/lminterval.xml
index 8a68e09..da33658 100644
--- a/docs-xml/smbdotconf/browse/lminterval.xml
+++ b/docs-xml/smbdotconf/browse/lminterval.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lm interval"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>If Samba is set to produce Lanman announce 
diff --git a/docs-xml/smbdotconf/browse/oslevel.xml b/docs-xml/smbdotconf/browse/oslevel.xml
index fc386d2..43ba861 100644
--- a/docs-xml/smbdotconf/browse/oslevel.xml
+++ b/docs-xml/smbdotconf/browse/oslevel.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="os level"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/browse/preferredmaster.xml b/docs-xml/smbdotconf/browse/preferredmaster.xml
index e32ca52..30a59e8 100644
--- a/docs-xml/smbdotconf/browse/preferredmaster.xml
+++ b/docs-xml/smbdotconf/browse/preferredmaster.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="preferred master"
                  context="G"
-				 type="boolean-auto"
+                 type="boolean-auto"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>prefered master</synonym>
diff --git a/docs-xml/smbdotconf/domain/machinepasswordtimeout.xml b/docs-xml/smbdotconf/domain/machinepasswordtimeout.xml
index b53ee3c..e7d8d44 100644
--- a/docs-xml/smbdotconf/domain/machinepasswordtimeout.xml
+++ b/docs-xml/smbdotconf/domain/machinepasswordtimeout.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="machine password timeout"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 	 <description>
 
diff --git a/docs-xml/smbdotconf/filename/casesensitive.xml b/docs-xml/smbdotconf/filename/casesensitive.xml
index 8c0995c..3b2b70b 100644
--- a/docs-xml/smbdotconf/filename/casesensitive.xml
+++ b/docs-xml/smbdotconf/filename/casesensitive.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="case sensitive"
                  context="S"
-		 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>casesignames</synonym>
 
diff --git a/docs-xml/smbdotconf/filename/defaultcase.xml b/docs-xml/smbdotconf/filename/defaultcase.xml
index d167ae3..ccf8dad 100644
--- a/docs-xml/smbdotconf/filename/defaultcase.xml
+++ b/docs-xml/smbdotconf/filename/defaultcase.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="default case"
-	context="S"
-	type="enum" xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>See the section on <smbconfoption name="name mangling"/>.
 	Also note the <smbconfoption name="short preserve case"/> parameter.</para>
diff --git a/docs-xml/smbdotconf/filename/deletevetofiles.xml b/docs-xml/smbdotconf/filename/deletevetofiles.xml
index 31138aa..581dc05 100644
--- a/docs-xml/smbdotconf/filename/deletevetofiles.xml
+++ b/docs-xml/smbdotconf/filename/deletevetofiles.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="delete veto files"
-				 type="boolean"
+                 type="boolean"
                  context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/filename/hidedotfiles.xml b/docs-xml/smbdotconf/filename/hidedotfiles.xml
index 9f31f2c..54e0b0a 100644
--- a/docs-xml/smbdotconf/filename/hidedotfiles.xml
+++ b/docs-xml/smbdotconf/filename/hidedotfiles.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hide dot files"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This is a boolean parameter that controls whether 
diff --git a/docs-xml/smbdotconf/filename/hidespecialfiles.xml b/docs-xml/smbdotconf/filename/hidespecialfiles.xml
index ea2b68a..904fd3a 100644
--- a/docs-xml/smbdotconf/filename/hidespecialfiles.xml
+++ b/docs-xml/smbdotconf/filename/hidespecialfiles.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hide special files"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/filename/hideunreadable.xml b/docs-xml/smbdotconf/filename/hideunreadable.xml
index 992f135..361320c 100644
--- a/docs-xml/smbdotconf/filename/hideunreadable.xml
+++ b/docs-xml/smbdotconf/filename/hideunreadable.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hide unreadable"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
 	<para>This parameter prevents clients from seeing the
diff --git a/docs-xml/smbdotconf/filename/hideunwriteablefiles.xml b/docs-xml/smbdotconf/filename/hideunwriteablefiles.xml
index 6665860..97a44f0 100644
--- a/docs-xml/smbdotconf/filename/hideunwriteablefiles.xml
+++ b/docs-xml/smbdotconf/filename/hideunwriteablefiles.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hide unwriteable files"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/filename/manglednames.xml b/docs-xml/smbdotconf/filename/manglednames.xml
index dfd85c4..bd5d97f 100644
--- a/docs-xml/smbdotconf/filename/manglednames.xml
+++ b/docs-xml/smbdotconf/filename/manglednames.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="mangled names"
-				 type="boolean"
+                 type="boolean"
                  context="S"
                  parm="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
diff --git a/docs-xml/smbdotconf/filename/mangleprefix.xml b/docs-xml/smbdotconf/filename/mangleprefix.xml
index 96ff963..8cb7dea 100644
--- a/docs-xml/smbdotconf/filename/mangleprefix.xml
+++ b/docs-xml/smbdotconf/filename/mangleprefix.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="mangle prefix"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para> controls the number of prefix
diff --git a/docs-xml/smbdotconf/filename/manglingchar.xml b/docs-xml/smbdotconf/filename/manglingchar.xml
index e40a12e..374d1ee 100644
--- a/docs-xml/smbdotconf/filename/manglingchar.xml
+++ b/docs-xml/smbdotconf/filename/manglingchar.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="mangling char"
                  context="S"
-		 type="char"
+                 type="char"
                  parm="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
diff --git a/docs-xml/smbdotconf/filename/manglingmethod.xml b/docs-xml/smbdotconf/filename/manglingmethod.xml
index 4b68067..559ed6c 100644
--- a/docs-xml/smbdotconf/filename/manglingmethod.xml
+++ b/docs-xml/smbdotconf/filename/manglingmethod.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="mangling method"
-			 context="G"
-				 type="string"
+                 context="G"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para> controls the algorithm used for the generating
diff --git a/docs-xml/smbdotconf/filename/maparchive.xml b/docs-xml/smbdotconf/filename/maparchive.xml
index 33ff876..44f49cd 100644
--- a/docs-xml/smbdotconf/filename/maparchive.xml
+++ b/docs-xml/smbdotconf/filename/maparchive.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="map archive"
                  context="S"
-				 type="boolean"
-				 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This controls whether the DOS archive attribute 
diff --git a/docs-xml/smbdotconf/filename/maphidden.xml b/docs-xml/smbdotconf/filename/maphidden.xml
index cbf9c10..3ad05a6 100644
--- a/docs-xml/smbdotconf/filename/maphidden.xml
+++ b/docs-xml/smbdotconf/filename/maphidden.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="map hidden"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/filename/mapreadonly.xml b/docs-xml/smbdotconf/filename/mapreadonly.xml
index f4ac7c8..d467ec6 100644
--- a/docs-xml/smbdotconf/filename/mapreadonly.xml
+++ b/docs-xml/smbdotconf/filename/mapreadonly.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="map readonly"
                  context="S"
-		 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/filename/mapsystem.xml b/docs-xml/smbdotconf/filename/mapsystem.xml
index 5605d88..53c11bd 100644
--- a/docs-xml/smbdotconf/filename/mapsystem.xml
+++ b/docs-xml/smbdotconf/filename/mapsystem.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="map system"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/filename/maxstatcachesize.xml b/docs-xml/smbdotconf/filename/maxstatcachesize.xml
index 40790df..63f91e7 100644
--- a/docs-xml/smbdotconf/filename/maxstatcachesize.xml
+++ b/docs-xml/smbdotconf/filename/maxstatcachesize.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max stat cache size"
                  context="G"
-		 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter limits the size in memory of any 
diff --git a/docs-xml/smbdotconf/filename/preservecase.xml b/docs-xml/smbdotconf/filename/preservecase.xml
index 875900d..a7eae26 100644
--- a/docs-xml/smbdotconf/filename/preservecase.xml
+++ b/docs-xml/smbdotconf/filename/preservecase.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="preserve case"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/filename/shortpreservecase.xml b/docs-xml/smbdotconf/filename/shortpreservecase.xml
index 90188a0..ecb5652 100644
--- a/docs-xml/smbdotconf/filename/shortpreservecase.xml
+++ b/docs-xml/smbdotconf/filename/shortpreservecase.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="short preserve case"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/filename/statcache.xml b/docs-xml/smbdotconf/filename/statcache.xml
index ec1ee25..2b19777 100644
--- a/docs-xml/smbdotconf/filename/statcache.xml
+++ b/docs-xml/smbdotconf/filename/statcache.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="stat cache"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter determines if <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/filename/storedosattributes.xml b/docs-xml/smbdotconf/filename/storedosattributes.xml
index acd78b0..30665eb 100644
--- a/docs-xml/smbdotconf/filename/storedosattributes.xml
+++ b/docs-xml/smbdotconf/filename/storedosattributes.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="store dos attributes"
                  context="S"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/filename/vetofiles.xml b/docs-xml/smbdotconf/filename/vetofiles.xml
index 8065dcf..acbc3dc 100644
--- a/docs-xml/smbdotconf/filename/vetofiles.xml
+++ b/docs-xml/smbdotconf/filename/vetofiles.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="veto files"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
 	<para>
diff --git a/docs-xml/smbdotconf/filename/vetooplockfiles.xml b/docs-xml/smbdotconf/filename/vetooplockfiles.xml
index b99ab00..dde3705 100644
--- a/docs-xml/smbdotconf/filename/vetooplockfiles.xml
+++ b/docs-xml/smbdotconf/filename/vetooplockfiles.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="veto oplock files"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
 	<para>
diff --git a/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml b/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
index 92ea541..5ada783 100644
--- a/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
+++ b/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="client ldap sasl wrapping"
                  context="G"
-		 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/ldap/ldapadmindn.xml b/docs-xml/smbdotconf/ldap/ldapadmindn.xml
index 3f50799..f993742 100644
--- a/docs-xml/smbdotconf/ldap/ldapadmindn.xml
+++ b/docs-xml/smbdotconf/ldap/ldapadmindn.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="ldap admin dn"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-				 <description>
+<description>
 
 	 <para>
 	The <smbconfoption name="ldap admin dn"/> defines the Distinguished  Name (DN) name used by Samba to contact
diff --git a/docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml b/docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml
index 7c77fe3..b176897 100644
--- a/docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml
+++ b/docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap connection timeout"
-		 context="G"
-			type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter tells the LDAP library calls which timeout in seconds
diff --git a/docs-xml/smbdotconf/ldap/ldapdeletedn.xml b/docs-xml/smbdotconf/ldap/ldapdeletedn.xml
index a9518d1..47ffad8 100644
--- a/docs-xml/smbdotconf/ldap/ldapdeletedn.xml
+++ b/docs-xml/smbdotconf/ldap/ldapdeletedn.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldap delete dn"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para> This parameter specifies whether a delete
diff --git a/docs-xml/smbdotconf/ldap/ldapderef.xml b/docs-xml/smbdotconf/ldap/ldapderef.xml
index 23ad3e7..9bddabc 100644
--- a/docs-xml/smbdotconf/ldap/ldapderef.xml
+++ b/docs-xml/smbdotconf/ldap/ldapderef.xml
@@ -1,5 +1,7 @@
-<samba:parameter name="ldap deref" context="G" type="enum"
-	xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<samba:parameter name="ldap deref"
+                 context="G"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <description>
 
diff --git a/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml b/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
index ebdfb89..0bbdcc6 100644
--- a/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
+++ b/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
@@ -1,5 +1,7 @@
-<samba:parameter name="ldap follow referral" context="G" type="enum"
-	xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<samba:parameter name="ldap follow referral"
+                 context="G"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <description>
 
diff --git a/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml b/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
index bb18832..f80a069 100644
--- a/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldap group suffix"
                  context="G"
-				 type="string"
+                 type="string"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml b/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
index aac09df..3897c9e 100644
--- a/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldap idmap suffix"
                  context="G"
-		 type="string"
+                 type="string"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml b/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
index 2572246..5651c63 100644
--- a/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="ldap machine suffix"
-		context="G"
-		type="string"
+                 context="G"
+                 type="string"
                  generated_function="0"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/ldap/ldappagesize.xml b/docs-xml/smbdotconf/ldap/ldappagesize.xml
index 311eba1..81cd98a 100644
--- a/docs-xml/smbdotconf/ldap/ldappagesize.xml
+++ b/docs-xml/smbdotconf/ldap/ldappagesize.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap page size"
-	context="G"
-	type="integer"
-        xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter specifies the number of entries per page.
diff --git a/docs-xml/smbdotconf/ldap/ldappasswdsync.xml b/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
index 7166e9b..e3c3c2e 100644
--- a/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
+++ b/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap passwd sync"
-			context="G"
-			type="enum"
-			xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <synonym>ldap password sync</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml b/docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml
index a8236d8..059c77e 100644
--- a/docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml
+++ b/docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldap replication sleep"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/ldap/ldapsameditposix.xml b/docs-xml/smbdotconf/ldap/ldapsameditposix.xml
index 6496bfb..e7f36e6 100644
--- a/docs-xml/smbdotconf/ldap/ldapsameditposix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapsameditposix.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldapsam:editposix"
-	context="G"
-	type="string"
+                 context="G"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/ldap/ldapsamtrusted.xml b/docs-xml/smbdotconf/ldap/ldapsamtrusted.xml
index 4556679..1d593e6 100644
--- a/docs-xml/smbdotconf/ldap/ldapsamtrusted.xml
+++ b/docs-xml/smbdotconf/ldap/ldapsamtrusted.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldapsam:trusted"
-	context="G"
-	type="string"
+                 context="G"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/ldap/ldapssl.xml b/docs-xml/smbdotconf/ldap/ldapssl.xml
index eade027..ca9b5cb 100644
--- a/docs-xml/smbdotconf/ldap/ldapssl.xml
+++ b/docs-xml/smbdotconf/ldap/ldapssl.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldap ssl"
                  context="G"
-				 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option is used to define whether or not Samba should
diff --git a/docs-xml/smbdotconf/ldap/ldapsslads.xml b/docs-xml/smbdotconf/ldap/ldapsslads.xml
index 4f1771a..4fdf4dc 100644
--- a/docs-xml/smbdotconf/ldap/ldapsslads.xml
+++ b/docs-xml/smbdotconf/ldap/ldapsslads.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap ssl ads"
-		 context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option is used to define whether or not Samba should
 	use SSL when connecting to the ldap server using
diff --git a/docs-xml/smbdotconf/ldap/ldapsuffix.xml b/docs-xml/smbdotconf/ldap/ldapsuffix.xml
index 7db13c2..aeff0dd 100644
--- a/docs-xml/smbdotconf/ldap/ldapsuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapsuffix.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldap suffix"
                  context="G"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies the base for all ldap suffixes and for storing the sambaDomain object.</para>
diff --git a/docs-xml/smbdotconf/ldap/ldaptimeout.xml b/docs-xml/smbdotconf/ldap/ldaptimeout.xml
index e920ddc..f421eeb 100644
--- a/docs-xml/smbdotconf/ldap/ldaptimeout.xml
+++ b/docs-xml/smbdotconf/ldap/ldaptimeout.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ldap timeout"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/ldap/ldapusersuffix.xml b/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
index 71fdc9e..f0f1c37 100644
--- a/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="ldap user suffix"
-	context="G"
-	type="string"
+                 context="G"
+                 type="string"
                  generated_function="0"
-        xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter specifies where users are added to the tree. If this parameter is unset, 
diff --git a/docs-xml/smbdotconf/locking/blockinglocks.xml b/docs-xml/smbdotconf/locking/blockinglocks.xml
index 493f281..2794124 100644
--- a/docs-xml/smbdotconf/locking/blockinglocks.xml
+++ b/docs-xml/smbdotconf/locking/blockinglocks.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="blocking locks"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls the behavior 
diff --git a/docs-xml/smbdotconf/locking/cscpolicy.xml b/docs-xml/smbdotconf/locking/cscpolicy.xml
index 6131e12..596529e 100644
--- a/docs-xml/smbdotconf/locking/cscpolicy.xml
+++ b/docs-xml/smbdotconf/locking/cscpolicy.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="csc policy"
                  context="S"
-				 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/locking/fakeoplocks.xml b/docs-xml/smbdotconf/locking/fakeoplocks.xml
index fa004d7..c5622ae 100644
--- a/docs-xml/smbdotconf/locking/fakeoplocks.xml
+++ b/docs-xml/smbdotconf/locking/fakeoplocks.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="fake oplocks"
-				 type="boolean"
+                 type="boolean"
                  context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/locking/kerneloplocks.xml b/docs-xml/smbdotconf/locking/kerneloplocks.xml
index d8fe223..a22cdf2 100644
--- a/docs-xml/smbdotconf/locking/kerneloplocks.xml
+++ b/docs-xml/smbdotconf/locking/kerneloplocks.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="kernel oplocks"
-				 type="boolean"
-		 context="S"
+                 type="boolean"
+                 context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>For UNIXes that support kernel based <smbconfoption name="oplocks"/>
diff --git a/docs-xml/smbdotconf/locking/kernelsharemodes.xml b/docs-xml/smbdotconf/locking/kernelsharemodes.xml
index 5b64b77..134fffc 100644
--- a/docs-xml/smbdotconf/locking/kernelsharemodes.xml
+++ b/docs-xml/smbdotconf/locking/kernelsharemodes.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="kernel share modes"
-		 type="boolean"
-		 context="S"
+                 type="boolean"
+                 context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/locking/level2oplocks.xml b/docs-xml/smbdotconf/locking/level2oplocks.xml
index 496701b..f411449 100644
--- a/docs-xml/smbdotconf/locking/level2oplocks.xml
+++ b/docs-xml/smbdotconf/locking/level2oplocks.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="level2 oplocks"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls whether Samba supports
diff --git a/docs-xml/smbdotconf/locking/locking.xml b/docs-xml/smbdotconf/locking/locking.xml
index 0021c50..15bc98d 100644
--- a/docs-xml/smbdotconf/locking/locking.xml
+++ b/docs-xml/smbdotconf/locking/locking.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="locking"
-				 type="boolean"
+                 type="boolean"
                  context="S"
                  parm="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
diff --git a/docs-xml/smbdotconf/locking/lockspintime.xml b/docs-xml/smbdotconf/locking/lockspintime.xml
index 8e40877b..689d7dd 100644
--- a/docs-xml/smbdotconf/locking/lockspintime.xml
+++ b/docs-xml/smbdotconf/locking/lockspintime.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="lock spin time"
-				 type="integer"
+                 type="integer"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/locking/oplockbreakwaittime.xml b/docs-xml/smbdotconf/locking/oplockbreakwaittime.xml
index bede040..f07b6c9 100644
--- a/docs-xml/smbdotconf/locking/oplockbreakwaittime.xml
+++ b/docs-xml/smbdotconf/locking/oplockbreakwaittime.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="oplock break wait time"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
 	<para>
diff --git a/docs-xml/smbdotconf/locking/oplockcontentionlimit.xml b/docs-xml/smbdotconf/locking/oplockcontentionlimit.xml
index 3ee3c45..edaa7d7 100644
--- a/docs-xml/smbdotconf/locking/oplockcontentionlimit.xml
+++ b/docs-xml/smbdotconf/locking/oplockcontentionlimit.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="oplock contention limit"
                  context="S"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/locking/oplocks.xml b/docs-xml/smbdotconf/locking/oplocks.xml
index a5e163b..1d72649 100644
--- a/docs-xml/smbdotconf/locking/oplocks.xml
+++ b/docs-xml/smbdotconf/locking/oplocks.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="oplocks"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/locking/posixlocking.xml b/docs-xml/smbdotconf/locking/posixlocking.xml
index 2136047..f38b2bd 100644
--- a/docs-xml/smbdotconf/locking/posixlocking.xml
+++ b/docs-xml/smbdotconf/locking/posixlocking.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="posix locking"
-				 type="boolean"
+                 type="boolean"
                  context="S"
                  parm="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
diff --git a/docs-xml/smbdotconf/locking/smb2leases.xml b/docs-xml/smbdotconf/locking/smb2leases.xml
index 9241bc8..5ca13d2 100644
--- a/docs-xml/smbdotconf/locking/smb2leases.xml
+++ b/docs-xml/smbdotconf/locking/smb2leases.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="smb2 leases"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/locking/strictlocking.xml b/docs-xml/smbdotconf/locking/strictlocking.xml
index 29ace66..563042a 100644
--- a/docs-xml/smbdotconf/locking/strictlocking.xml
+++ b/docs-xml/smbdotconf/locking/strictlocking.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="strict locking"
                  context="S"
-				 type="enum"
+                 type="enum"
                  parm="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/logging/debugclass.xml b/docs-xml/smbdotconf/logging/debugclass.xml
index b9ffbe3..eee3cc5 100644
--- a/docs-xml/smbdotconf/logging/debugclass.xml
+++ b/docs-xml/smbdotconf/logging/debugclass.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="debug class"
                  context="G"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/debughirestimestamp.xml b/docs-xml/smbdotconf/logging/debughirestimestamp.xml
index 5c9e468..72598d7 100644
--- a/docs-xml/smbdotconf/logging/debughirestimestamp.xml
+++ b/docs-xml/smbdotconf/logging/debughirestimestamp.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="debug hires timestamp"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/debugpid.xml b/docs-xml/smbdotconf/logging/debugpid.xml
index 5c81625..8e6436c 100644
--- a/docs-xml/smbdotconf/logging/debugpid.xml
+++ b/docs-xml/smbdotconf/logging/debugpid.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="debug pid"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/debugprefixtimestamp.xml b/docs-xml/smbdotconf/logging/debugprefixtimestamp.xml
index e894142..0a004d4 100644
--- a/docs-xml/smbdotconf/logging/debugprefixtimestamp.xml
+++ b/docs-xml/smbdotconf/logging/debugprefixtimestamp.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="debug prefix timestamp"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/debugtimestamp.xml b/docs-xml/smbdotconf/logging/debugtimestamp.xml
index 205eac8..87c88ca 100644
--- a/docs-xml/smbdotconf/logging/debugtimestamp.xml
+++ b/docs-xml/smbdotconf/logging/debugtimestamp.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="debug timestamp"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  function="timestamp_logs"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>timestamp logs</synonym>
diff --git a/docs-xml/smbdotconf/logging/debuguid.xml b/docs-xml/smbdotconf/logging/debuguid.xml
index cc715ec..1dd1dbf 100644
--- a/docs-xml/smbdotconf/logging/debuguid.xml
+++ b/docs-xml/smbdotconf/logging/debuguid.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="debug uid"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/ldapdebuglevel.xml b/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
index 1b51767..1b75bb9 100644
--- a/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
+++ b/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap debug level"
-		 type="integer"
-		context="G"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="integer"
+                 context="G"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 		This parameter controls the debug level of the LDAP library
diff --git a/docs-xml/smbdotconf/logging/ldapdebugthreshold.xml b/docs-xml/smbdotconf/logging/ldapdebugthreshold.xml
index ab69cc5..2783ac9 100644
--- a/docs-xml/smbdotconf/logging/ldapdebugthreshold.xml
+++ b/docs-xml/smbdotconf/logging/ldapdebugthreshold.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap debug threshold"
-		type="integer"
-		context="G"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="integer"
+                 context="G"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 		This parameter controls the Samba debug level at which
diff --git a/docs-xml/smbdotconf/logging/logfile.xml b/docs-xml/smbdotconf/logging/logfile.xml
index 4a7be66..9b258cc 100644
--- a/docs-xml/smbdotconf/logging/logfile.xml
+++ b/docs-xml/smbdotconf/logging/logfile.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="log file"
                  context="G"
-				 type="string"
+                 type="string"
                  function="logfile"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/logging/logging.xml b/docs-xml/smbdotconf/logging/logging.xml
index f779d8f..8524884 100644
--- a/docs-xml/smbdotconf/logging/logging.xml
+++ b/docs-xml/smbdotconf/logging/logging.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="logging"
-		 type="string"
-		 context="G"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="string"
+                 context="G"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
   <para>This parameter configures logging backends. Multiple
diff --git a/docs-xml/smbdotconf/logging/loglevel.xml b/docs-xml/smbdotconf/logging/loglevel.xml
index 6a22554..d642b50 100644
--- a/docs-xml/smbdotconf/logging/loglevel.xml
+++ b/docs-xml/smbdotconf/logging/loglevel.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="log level"
-				 type="string"
+                 type="string"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>debuglevel</synonym>
diff --git a/docs-xml/smbdotconf/logging/maxlogsize.xml b/docs-xml/smbdotconf/logging/maxlogsize.xml
index 3373f16..35c2add 100644
--- a/docs-xml/smbdotconf/logging/maxlogsize.xml
+++ b/docs-xml/smbdotconf/logging/maxlogsize.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="max log size"
-				 type="integer"
+                 type="integer"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/logging/syslog.xml b/docs-xml/smbdotconf/logging/syslog.xml
index 23ca499..03dc02e 100644
--- a/docs-xml/smbdotconf/logging/syslog.xml
+++ b/docs-xml/smbdotconf/logging/syslog.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="syslog"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/syslogonly.xml b/docs-xml/smbdotconf/logging/syslogonly.xml
index 9847f0c..7c65daa 100644
--- a/docs-xml/smbdotconf/logging/syslogonly.xml
+++ b/docs-xml/smbdotconf/logging/syslogonly.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="syslog only"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logon/domainlogons.xml b/docs-xml/smbdotconf/logon/domainlogons.xml
index 0a1d11d..7ee419e 100644
--- a/docs-xml/smbdotconf/logon/domainlogons.xml
+++ b/docs-xml/smbdotconf/logon/domainlogons.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="domain logons"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  function="_domain_logons"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/misc/addsharecommand.xml b/docs-xml/smbdotconf/misc/addsharecommand.xml
index 3beb8de..6bbdef6 100644
--- a/docs-xml/smbdotconf/misc/addsharecommand.xml
+++ b/docs-xml/smbdotconf/misc/addsharecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="add share command"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/afsshare.xml b/docs-xml/smbdotconf/misc/afsshare.xml
index d2c3d1e..fe97b58 100644
--- a/docs-xml/smbdotconf/misc/afsshare.xml
+++ b/docs-xml/smbdotconf/misc/afsshare.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="afs share"
-	         context="S"
-			 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls whether special AFS features are enabled
 	for this share. If enabled, it assumes that the directory exported via
diff --git a/docs-xml/smbdotconf/misc/afsusernamemap.xml b/docs-xml/smbdotconf/misc/afsusernamemap.xml
index 94f0cee..4dc3d46 100644
--- a/docs-xml/smbdotconf/misc/afsusernamemap.xml
+++ b/docs-xml/smbdotconf/misc/afsusernamemap.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="afs username map"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
diff --git a/docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml b/docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml
index a8a0991..6b60108 100644
--- a/docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml
+++ b/docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="allow insecure wide links"
-		context="G"
-		type="boolean"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	In normal operation the option <smbconfoption name="wide links"/>
diff --git a/docs-xml/smbdotconf/misc/asyncsmbechohandler.xml b/docs-xml/smbdotconf/misc/asyncsmbechohandler.xml
index 84e2f1a..2b6eeb3 100644
--- a/docs-xml/smbdotconf/misc/asyncsmbechohandler.xml
+++ b/docs-xml/smbdotconf/misc/asyncsmbechohandler.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="async smb echo handler"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies whether Samba should fork the
diff --git a/docs-xml/smbdotconf/misc/available.xml b/docs-xml/smbdotconf/misc/available.xml
index 343c6fd..6e3b70c 100644
--- a/docs-xml/smbdotconf/misc/available.xml
+++ b/docs-xml/smbdotconf/misc/available.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="available"
-	         context="S"
-		 type="boolean"
+                 context="S"
+                 type="boolean"
                  generated_function="0"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter lets you "turn off" a service. If 
 	<parameter moreinfo="none">available = no</parameter>, then <emphasis>ALL</emphasis> 
diff --git a/docs-xml/smbdotconf/misc/cachedirectory.xml b/docs-xml/smbdotconf/misc/cachedirectory.xml
index b0731f9..6ffda0b 100644
--- a/docs-xml/smbdotconf/misc/cachedirectory.xml
+++ b/docs-xml/smbdotconf/misc/cachedirectory.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="cache directory"
                  context="G"
-		 type="string"
-		 constant="1"
+                 type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Usually, most of the TDB files are stored in the <parameter
diff --git a/docs-xml/smbdotconf/misc/changenotify.xml b/docs-xml/smbdotconf/misc/changenotify.xml
index 70793d6..9ded7ec 100644
--- a/docs-xml/smbdotconf/misc/changenotify.xml
+++ b/docs-xml/smbdotconf/misc/changenotify.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="change notify"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies whether Samba should reply
diff --git a/docs-xml/smbdotconf/misc/changesharecommand.xml b/docs-xml/smbdotconf/misc/changesharecommand.xml
index fbfc440..9f805b1 100644
--- a/docs-xml/smbdotconf/misc/changesharecommand.xml
+++ b/docs-xml/smbdotconf/misc/changesharecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="change share command"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/clusteraddresses.xml b/docs-xml/smbdotconf/misc/clusteraddresses.xml
index b489ed4..b1116d3 100644
--- a/docs-xml/smbdotconf/misc/clusteraddresses.xml
+++ b/docs-xml/smbdotconf/misc/clusteraddresses.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="cluster addresses"
-	         context="G"
-			 type="list"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="list"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>With this parameter you can add additional addresses
 	nmbd will register with a WINS server. These addresses are not
diff --git a/docs-xml/smbdotconf/misc/clustering.xml b/docs-xml/smbdotconf/misc/clustering.xml
index 3613670..cf426ec 100644
--- a/docs-xml/smbdotconf/misc/clustering.xml
+++ b/docs-xml/smbdotconf/misc/clustering.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="clustering"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies whether Samba should contact
diff --git a/docs-xml/smbdotconf/misc/configfile.xml b/docs-xml/smbdotconf/misc/configfile.xml
index 450be18..566d430 100644
--- a/docs-xml/smbdotconf/misc/configfile.xml
+++ b/docs-xml/smbdotconf/misc/configfile.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="config file"
                  context="G"
-				 type="string"
+                 type="string"
                  function="next_configfile"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml b/docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml
index 283de6b..f9da01f 100644
--- a/docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml
+++ b/docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ctdb locktime warn threshold"
                  context="G"
-		 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/misc/ctdbtimeout.xml b/docs-xml/smbdotconf/misc/ctdbtimeout.xml
index 1bff098..b02b2c8 100644
--- a/docs-xml/smbdotconf/misc/ctdbtimeout.xml
+++ b/docs-xml/smbdotconf/misc/ctdbtimeout.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ctdb timeout"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies a timeout in milliseconds for the
diff --git a/docs-xml/smbdotconf/misc/defaultservice.xml b/docs-xml/smbdotconf/misc/defaultservice.xml
index c0942f5..788506f 100644
--- a/docs-xml/smbdotconf/misc/defaultservice.xml
+++ b/docs-xml/smbdotconf/misc/defaultservice.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="default service"
                  context="G"
-				 type="string"
+                 type="string"
                  function="defaultservice"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>default</synonym>
diff --git a/docs-xml/smbdotconf/misc/deletereadonly.xml b/docs-xml/smbdotconf/misc/deletereadonly.xml
index de4f566..84390ed 100644
--- a/docs-xml/smbdotconf/misc/deletereadonly.xml
+++ b/docs-xml/smbdotconf/misc/deletereadonly.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="delete readonly"
-		 context="S"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter allows readonly files to be deleted.  
 	This is not normal DOS semantics, but is allowed by UNIX.</para>
diff --git a/docs-xml/smbdotconf/misc/deletesharecommand.xml b/docs-xml/smbdotconf/misc/deletesharecommand.xml
index 4e20523..b5942b6 100644
--- a/docs-xml/smbdotconf/misc/deletesharecommand.xml
+++ b/docs-xml/smbdotconf/misc/deletesharecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="delete share command"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/dfreecachetime.xml b/docs-xml/smbdotconf/misc/dfreecachetime.xml
index b21535e..9679763 100644
--- a/docs-xml/smbdotconf/misc/dfreecachetime.xml
+++ b/docs-xml/smbdotconf/misc/dfreecachetime.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="dfree cache time"
-	         context="S"
-			 type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
 	<para>
diff --git a/docs-xml/smbdotconf/misc/directorynamecachesize.xml b/docs-xml/smbdotconf/misc/directorynamecachesize.xml
index e9f974b..7a89bf2 100644
--- a/docs-xml/smbdotconf/misc/directorynamecachesize.xml
+++ b/docs-xml/smbdotconf/misc/directorynamecachesize.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="directory name cache size"
-		 context="S"
-		 type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter specifies the size of the directory name cache.
diff --git a/docs-xml/smbdotconf/misc/dmapisupport.xml b/docs-xml/smbdotconf/misc/dmapisupport.xml
index 6ff85dd..de284ee 100644
--- a/docs-xml/smbdotconf/misc/dmapisupport.xml
+++ b/docs-xml/smbdotconf/misc/dmapisupport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="dmapi support"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies whether Samba should use DMAPI to
diff --git a/docs-xml/smbdotconf/misc/dontdescend.xml b/docs-xml/smbdotconf/misc/dontdescend.xml
index d9f41da..fe6686b 100644
--- a/docs-xml/smbdotconf/misc/dontdescend.xml
+++ b/docs-xml/smbdotconf/misc/dontdescend.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="dont descend"
-	         context="S"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>There are certain directories on some systems 
 	(e.g., the <filename moreinfo="none">/proc</filename> tree under Linux) that are either not 
diff --git a/docs-xml/smbdotconf/misc/dosfilemode.xml b/docs-xml/smbdotconf/misc/dosfilemode.xml
index cf53192..353f4bb 100644
--- a/docs-xml/smbdotconf/misc/dosfilemode.xml
+++ b/docs-xml/smbdotconf/misc/dosfilemode.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="dos filemode"
-		 context="S"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para> The default behavior in Samba is to provide
 	UNIX-like behavior where only the owner of a file/directory is
diff --git a/docs-xml/smbdotconf/misc/dosfiletimeresolution.xml b/docs-xml/smbdotconf/misc/dosfiletimeresolution.xml
index 130f0fd..ccdfa6d 100644
--- a/docs-xml/smbdotconf/misc/dosfiletimeresolution.xml
+++ b/docs-xml/smbdotconf/misc/dosfiletimeresolution.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="dos filetime resolution"
-		 context="S"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Under the DOS and Windows FAT filesystem, the finest 
 	granularity on time resolution is two seconds. Setting this parameter 
diff --git a/docs-xml/smbdotconf/misc/dosfiletimes.xml b/docs-xml/smbdotconf/misc/dosfiletimes.xml
index 423b13c..9877830 100644
--- a/docs-xml/smbdotconf/misc/dosfiletimes.xml
+++ b/docs-xml/smbdotconf/misc/dosfiletimes.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="dos filetimes"
-		 context="S"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Under DOS and Windows, if a user can write to a 
 	file they can change the timestamp on it. Under POSIX semantics, 
diff --git a/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml b/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml
index 54e7b87..49f54a9 100644
--- a/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml
+++ b/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="fake directory create times"
-		 context="S"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>NTFS and Windows VFAT file systems keep a create 
 	time for all files and directories. This is not the same as the 
diff --git a/docs-xml/smbdotconf/misc/followsymlinks.xml b/docs-xml/smbdotconf/misc/followsymlinks.xml
index c0fd920..deca634 100644
--- a/docs-xml/smbdotconf/misc/followsymlinks.xml
+++ b/docs-xml/smbdotconf/misc/followsymlinks.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="follow symlinks"
-	         context="S"
-			 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter allows the Samba administrator to stop <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/misc/fssprunestale.xml b/docs-xml/smbdotconf/misc/fssprunestale.xml
index a8287b0..226a973 100644
--- a/docs-xml/smbdotconf/misc/fssprunestale.xml
+++ b/docs-xml/smbdotconf/misc/fssprunestale.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="fss: prune stale"
                  context="G"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/fsssequencetimeout.xml b/docs-xml/smbdotconf/misc/fsssequencetimeout.xml
index 300ff6c..67afac5 100644
--- a/docs-xml/smbdotconf/misc/fsssequencetimeout.xml
+++ b/docs-xml/smbdotconf/misc/fsssequencetimeout.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="fss: sequence timeout"
                  context="G"
-		 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/fstype.xml b/docs-xml/smbdotconf/misc/fstype.xml
index d210c10..822b451 100644
--- a/docs-xml/smbdotconf/misc/fstype.xml
+++ b/docs-xml/smbdotconf/misc/fstype.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="fstype"
-	         context="S"
-			 type="string"
+                 context="S"
+                 type="string"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter allows the administrator to configure the string that specifies the type of filesystem a share 
diff --git a/docs-xml/smbdotconf/misc/homedirmap.xml b/docs-xml/smbdotconf/misc/homedirmap.xml
index e50f64f..279b0b6 100644
--- a/docs-xml/smbdotconf/misc/homedirmap.xml
+++ b/docs-xml/smbdotconf/misc/homedirmap.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="homedir map"
-	         context="G"
-			 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
 	<para>
 	If <smbconfoption name="nis homedir"/> is <constant>yes</constant>, and <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/misc/include.xml b/docs-xml/smbdotconf/misc/include.xml
index bfd7b3f..a674ade 100644
--- a/docs-xml/smbdotconf/misc/include.xml
+++ b/docs-xml/smbdotconf/misc/include.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="include"
-	         context="G"
-		 type="string"
+                 context="G"
+                 type="string"
                  generated_function="0"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This allows you to include one config file inside another.  The file is included literally, as though typed 
diff --git a/docs-xml/smbdotconf/misc/kernelchangenotify.xml b/docs-xml/smbdotconf/misc/kernelchangenotify.xml
index 6a41dcb..d5551a9 100644
--- a/docs-xml/smbdotconf/misc/kernelchangenotify.xml
+++ b/docs-xml/smbdotconf/misc/kernelchangenotify.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="kernel change notify"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies whether Samba should ask the 
diff --git a/docs-xml/smbdotconf/misc/lockdirectory.xml b/docs-xml/smbdotconf/misc/lockdirectory.xml
index 7a9cdf8..738de2e 100644
--- a/docs-xml/smbdotconf/misc/lockdirectory.xml
+++ b/docs-xml/smbdotconf/misc/lockdirectory.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lock directory"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>lock dir</synonym>
diff --git a/docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml b/docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml
index 320abfc..d95471a 100644
--- a/docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml
+++ b/docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="log writeable files on exit"
-		 context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	When the network connection between a CIFS client and Samba
diff --git a/docs-xml/smbdotconf/misc/magicoutput.xml b/docs-xml/smbdotconf/misc/magicoutput.xml
index ce62099..784d090 100644
--- a/docs-xml/smbdotconf/misc/magicoutput.xml
+++ b/docs-xml/smbdotconf/misc/magicoutput.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="magic output"
-		 context="S"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter specifies the name of a file which will contain output created by a magic script (see the 
diff --git a/docs-xml/smbdotconf/misc/magicscript.xml b/docs-xml/smbdotconf/misc/magicscript.xml
index b621f00..cbc4209 100644
--- a/docs-xml/smbdotconf/misc/magicscript.xml
+++ b/docs-xml/smbdotconf/misc/magicscript.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="magic script"
-		 context="S"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the name of a file which, 
 	if opened, will be executed by the server when the file is closed. 
diff --git a/docs-xml/smbdotconf/misc/messagecommand.xml b/docs-xml/smbdotconf/misc/messagecommand.xml
index ee0db13..1025452 100644
--- a/docs-xml/smbdotconf/misc/messagecommand.xml
+++ b/docs-xml/smbdotconf/misc/messagecommand.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="message command"
-	         context="G"
-			 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This specifies what command to run when the 
 	server receives a WinPopup style message.</para>
diff --git a/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
index 4651c19..1049d9b 100644
--- a/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
+++ b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="nbt client socket address"
-	         context="G"
-			 type="string"
+                 context="G"
+                 type="string"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>socket address</synonym>
 <description>
 	<para>This option allows you to control what address Samba
diff --git a/docs-xml/smbdotconf/misc/ncalrpcdir.xml b/docs-xml/smbdotconf/misc/ncalrpcdir.xml
index 1d84d60..2fa1019 100644
--- a/docs-xml/smbdotconf/misc/ncalrpcdir.xml
+++ b/docs-xml/smbdotconf/misc/ncalrpcdir.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="ncalrpc dir"
-		 context="G"
-		 type="string"
+                 context="G"
+                 type="string"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This directory will hold a series of named pipes to allow RPC over inter-process communication.</para>
 	<para>This will allow Samba and other unix processes to interact over DCE/RPC without using TCP/IP. Additionally a sub-directory 'np' has restricted permissions, and allows a trusted communication channel between Samba processes</para>
diff --git a/docs-xml/smbdotconf/misc/nishomedir.xml b/docs-xml/smbdotconf/misc/nishomedir.xml
index 4e66e71..ace8475 100644
--- a/docs-xml/smbdotconf/misc/nishomedir.xml
+++ b/docs-xml/smbdotconf/misc/nishomedir.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="NIS homedir"
-	         context="G"
-			 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Get the home share server from a NIS map. For 
 	UNIX systems that use an automounter, the user's home directory 
diff --git a/docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml b/docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml
index 91f69a4..fd72f06 100644
--- a/docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml
+++ b/docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="nmbd bind explicit broadcast"
-	         context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This option causes <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/misc/panicaction.xml b/docs-xml/smbdotconf/misc/panicaction.xml
index ce4c15f..d6e1517 100644
--- a/docs-xml/smbdotconf/misc/panicaction.xml
+++ b/docs-xml/smbdotconf/misc/panicaction.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="panic action"
-		 context="G"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This is a Samba developer option that allows a 
 	system command to be called when either <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/misc/perfcountmodule.xml b/docs-xml/smbdotconf/misc/perfcountmodule.xml
index 50da2c67..e1c0948 100644
--- a/docs-xml/smbdotconf/misc/perfcountmodule.xml
+++ b/docs-xml/smbdotconf/misc/perfcountmodule.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="perfcount module"
-		 context="G"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the perfcount backend to be used when monitoring SMB
 	operations.  Only one perfcount module may be used, and it must implement all of the
diff --git a/docs-xml/smbdotconf/misc/piddirectory.xml b/docs-xml/smbdotconf/misc/piddirectory.xml
index 56206cb..b53730d 100644
--- a/docs-xml/smbdotconf/misc/piddirectory.xml
+++ b/docs-xml/smbdotconf/misc/piddirectory.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="pid directory"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/misc/postexec.xml b/docs-xml/smbdotconf/misc/postexec.xml
index db6d88f..c65ee1b 100644
--- a/docs-xml/smbdotconf/misc/postexec.xml
+++ b/docs-xml/smbdotconf/misc/postexec.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="postexec"
-	         context="S"
-			 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option specifies a command to be run 
 	whenever the service is disconnected. It takes the usual 
diff --git a/docs-xml/smbdotconf/misc/preexec.xml b/docs-xml/smbdotconf/misc/preexec.xml
index bbcee49..e5d07ef 100644
--- a/docs-xml/smbdotconf/misc/preexec.xml
+++ b/docs-xml/smbdotconf/misc/preexec.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="preexec"
-		 context="S"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
- <synonym>exec</synonym>
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>exec</synonym>
 <description>
 	<para>This option specifies a command to be run whenever 
 	the service is connected to. It takes the usual substitutions.</para>
diff --git a/docs-xml/smbdotconf/misc/preload.xml b/docs-xml/smbdotconf/misc/preload.xml
index 70d7ca6..d535ed2 100644
--- a/docs-xml/smbdotconf/misc/preload.xml
+++ b/docs-xml/smbdotconf/misc/preload.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="preload"
                  context="G"
-				 type="string"
+                 type="string"
                  function="auto_services"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>auto services</synonym>
diff --git a/docs-xml/smbdotconf/misc/registryshares.xml b/docs-xml/smbdotconf/misc/registryshares.xml
index bb25005..0bdb1f6 100644
--- a/docs-xml/smbdotconf/misc/registryshares.xml
+++ b/docs-xml/smbdotconf/misc/registryshares.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="registry shares"
                  context="G"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/remoteannounce.xml b/docs-xml/smbdotconf/misc/remoteannounce.xml
index 5d442ea..ad537c8 100644
--- a/docs-xml/smbdotconf/misc/remoteannounce.xml
+++ b/docs-xml/smbdotconf/misc/remoteannounce.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="remote announce"
-	         context="G"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This option allows you to setup <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/misc/remotebrowsesync.xml b/docs-xml/smbdotconf/misc/remotebrowsesync.xml
index 2c7547d..91a8c8f 100644
--- a/docs-xml/smbdotconf/misc/remotebrowsesync.xml
+++ b/docs-xml/smbdotconf/misc/remotebrowsesync.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="remote browse sync"
-	         context="G"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This option allows you to setup <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/misc/resetonzerovc.xml b/docs-xml/smbdotconf/misc/resetonzerovc.xml
index 1fa3023..f2ad85d 100644
--- a/docs-xml/smbdotconf/misc/resetonzerovc.xml
+++ b/docs-xml/smbdotconf/misc/resetonzerovc.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="reset on zero vc"
-		 context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This boolean option controls whether an incoming session setup
diff --git a/docs-xml/smbdotconf/misc/rootpostexec.xml b/docs-xml/smbdotconf/misc/rootpostexec.xml
index 5a9613c..d50ca7f 100644
--- a/docs-xml/smbdotconf/misc/rootpostexec.xml
+++ b/docs-xml/smbdotconf/misc/rootpostexec.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="root postexec"
-		 context="S"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This is the same as the <parameter moreinfo="none">postexec</parameter>
diff --git a/docs-xml/smbdotconf/misc/rootpreexec.xml b/docs-xml/smbdotconf/misc/rootpreexec.xml
index f0fff73..32bfe44 100644
--- a/docs-xml/smbdotconf/misc/rootpreexec.xml
+++ b/docs-xml/smbdotconf/misc/rootpreexec.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="root preexec"
-		 context="S"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This is the same as the <parameter moreinfo="none">preexec</parameter>
diff --git a/docs-xml/smbdotconf/misc/rootpreexecclose.xml b/docs-xml/smbdotconf/misc/rootpreexecclose.xml
index 3bce915..35fd883 100644
--- a/docs-xml/smbdotconf/misc/rootpreexecclose.xml
+++ b/docs-xml/smbdotconf/misc/rootpreexecclose.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="root preexec close"
-		 context="S"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This is the same as the <parameter moreinfo="none">preexec close
 	</parameter> parameter except that the command is run as root.</para>
diff --git a/docs-xml/smbdotconf/misc/rpcdaemon.xml b/docs-xml/smbdotconf/misc/rpcdaemon.xml
index 72f057d..ac12469 100644
--- a/docs-xml/smbdotconf/misc/rpcdaemon.xml
+++ b/docs-xml/smbdotconf/misc/rpcdaemon.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="rpc_daemon:DAEMON"
                  context="G"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/rpcserver.xml b/docs-xml/smbdotconf/misc/rpcserver.xml
index fafedaf..a48c51c 100644
--- a/docs-xml/smbdotconf/misc/rpcserver.xml
+++ b/docs-xml/smbdotconf/misc/rpcserver.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="rpc_server:SERVER"
                  context="G"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml b/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
index d92e5dc..e9f70a2 100644
--- a/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
+++ b/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="smbd profiling level"
-	         context="G"
-		 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	  This parameter allows the administrator to enable profiling support.
diff --git a/docs-xml/smbdotconf/misc/statedirectory.xml b/docs-xml/smbdotconf/misc/statedirectory.xml
index 71200ea..084f145 100644
--- a/docs-xml/smbdotconf/misc/statedirectory.xml
+++ b/docs-xml/smbdotconf/misc/statedirectory.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="state directory"
                  context="G"
-		 type="string"
-		 constant="1"
+                 type="string"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Usually, most of the TDB files are stored in the
diff --git a/docs-xml/smbdotconf/misc/usershareallowguests.xml b/docs-xml/smbdotconf/misc/usershareallowguests.xml
index 6fd75d1..be210bf 100644
--- a/docs-xml/smbdotconf/misc/usershareallowguests.xml
+++ b/docs-xml/smbdotconf/misc/usershareallowguests.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="usershare allow guests"
-	         context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls whether user defined shares are allowed
 	to be accessed by non-authenticated users or not. It is the equivalent
diff --git a/docs-xml/smbdotconf/misc/usersharemaxshares.xml b/docs-xml/smbdotconf/misc/usersharemaxshares.xml
index 1d2bab7..0d69bb8 100644
--- a/docs-xml/smbdotconf/misc/usersharemaxshares.xml
+++ b/docs-xml/smbdotconf/misc/usersharemaxshares.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="usershare max shares"
-	         context="G"
-		 type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the number of user defined shares
 	that are allowed to be created by users belonging to the group owning the
diff --git a/docs-xml/smbdotconf/misc/usershareowneronly.xml b/docs-xml/smbdotconf/misc/usershareowneronly.xml
index acfb1df..5b33492 100644
--- a/docs-xml/smbdotconf/misc/usershareowneronly.xml
+++ b/docs-xml/smbdotconf/misc/usershareowneronly.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="usershare owner only"
-	         context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls whether the pathname exported by
 	a user defined shares must be owned by the user creating the
diff --git a/docs-xml/smbdotconf/misc/usersharepath.xml b/docs-xml/smbdotconf/misc/usersharepath.xml
index a1b2841..446b1fd 100644
--- a/docs-xml/smbdotconf/misc/usersharepath.xml
+++ b/docs-xml/smbdotconf/misc/usersharepath.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="usershare path"
-	         context="G"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the absolute path of the directory on the
 	filesystem used to store the user defined share definition files.
diff --git a/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml b/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
index 481431e..50ea168 100644
--- a/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
+++ b/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="usershare prefix allow list"
-	         context="G"
-		 type="list"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="list"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies a list of absolute pathnames
 	the root of which are allowed to be exported by user defined share definitions.
diff --git a/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml b/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
index 396e8c1..85e17ff 100644
--- a/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
+++ b/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="usershare prefix deny list"
-	         context="G"
-		 type="list"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="list"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies a list of absolute pathnames
 	the root of which are NOT allowed to be exported by user defined share definitions.
diff --git a/docs-xml/smbdotconf/misc/usersharetemplateshare.xml b/docs-xml/smbdotconf/misc/usersharetemplateshare.xml
index dd50f43..3a74dcb 100644
--- a/docs-xml/smbdotconf/misc/usersharetemplateshare.xml
+++ b/docs-xml/smbdotconf/misc/usersharetemplateshare.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="usershare template share"
-	         context="G"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>User defined shares only have limited possible parameters
 	such as path, guest ok, etc. This parameter allows usershares to
diff --git a/docs-xml/smbdotconf/misc/utmpdirectory.xml b/docs-xml/smbdotconf/misc/utmpdirectory.xml
index b962ff3..82c8f10 100644
--- a/docs-xml/smbdotconf/misc/utmpdirectory.xml
+++ b/docs-xml/smbdotconf/misc/utmpdirectory.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="utmp directory"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/misc/valid.xml b/docs-xml/smbdotconf/misc/valid.xml
index c8b5d62..fcd9dbc 100644
--- a/docs-xml/smbdotconf/misc/valid.xml
+++ b/docs-xml/smbdotconf/misc/valid.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="-valid"
-		 context="S"
-		 type="boolean"
+                 context="S"
+                 type="boolean"
                  generated_function="0"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para> This parameter indicates whether a share is 
 	valid and thus can be used. When this parameter is set to false, 
diff --git a/docs-xml/smbdotconf/misc/volume.xml b/docs-xml/smbdotconf/misc/volume.xml
index d3385e7..02129f1 100644
--- a/docs-xml/smbdotconf/misc/volume.xml
+++ b/docs-xml/smbdotconf/misc/volume.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="volume"
-		 context="S"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This allows you to override the volume label 
 	returned for a share. Useful for CDROMs with installation programs 
diff --git a/docs-xml/smbdotconf/misc/widelinks.xml b/docs-xml/smbdotconf/misc/widelinks.xml
index b507ae9..cb1389a 100644
--- a/docs-xml/smbdotconf/misc/widelinks.xml
+++ b/docs-xml/smbdotconf/misc/widelinks.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="wide links"
-		 context="S"
-		 type="boolean"
+                 context="S"
+                 type="boolean"
                  generated_function="0"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls whether or not links 
 	in the UNIX file system may be followed by the server. Links 
diff --git a/docs-xml/smbdotconf/misc/wtmpdirectory.xml b/docs-xml/smbdotconf/misc/wtmpdirectory.xml
index 4652153..eb9d876 100644
--- a/docs-xml/smbdotconf/misc/wtmpdirectory.xml
+++ b/docs-xml/smbdotconf/misc/wtmpdirectory.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="wtmp directory"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/printing/addportcommand.xml b/docs-xml/smbdotconf/printing/addportcommand.xml
index 8a44a97..7a35c52 100644
--- a/docs-xml/smbdotconf/printing/addportcommand.xml
+++ b/docs-xml/smbdotconf/printing/addportcommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="addport command"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Samba 3.0.23 introduced support for adding printer ports
diff --git a/docs-xml/smbdotconf/printing/addprintercommand.xml b/docs-xml/smbdotconf/printing/addprintercommand.xml
index 36d0f85..c39296d 100644
--- a/docs-xml/smbdotconf/printing/addprintercommand.xml
+++ b/docs-xml/smbdotconf/printing/addprintercommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="addprinter command"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>With the introduction of MS-RPC based printing
diff --git a/docs-xml/smbdotconf/printing/cupsencrypt.xml b/docs-xml/smbdotconf/printing/cupsencrypt.xml
index cba55d2..f4fc507 100644
--- a/docs-xml/smbdotconf/printing/cupsencrypt.xml
+++ b/docs-xml/smbdotconf/printing/cupsencrypt.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="cups encrypt"
-	context="G"
-	type="enum"
+                 context="G"
+                 type="enum"
                  generated_function="0"
-	xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter is only applicable if <smbconfoption name="printing"/>
diff --git a/docs-xml/smbdotconf/printing/cupsoptions.xml b/docs-xml/smbdotconf/printing/cupsoptions.xml
index 6079b19..7e6b07d 100644
--- a/docs-xml/smbdotconf/printing/cupsoptions.xml
+++ b/docs-xml/smbdotconf/printing/cupsoptions.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="cups options"
                  context="S"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/printing/cupsserver.xml b/docs-xml/smbdotconf/printing/cupsserver.xml
index a301985..19bb769 100644
--- a/docs-xml/smbdotconf/printing/cupsserver.xml
+++ b/docs-xml/smbdotconf/printing/cupsserver.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="cups server"
                  context="G"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/printing/defaultdevmode.xml b/docs-xml/smbdotconf/printing/defaultdevmode.xml
index c2c7d3e..f86de9b 100644
--- a/docs-xml/smbdotconf/printing/defaultdevmode.xml
+++ b/docs-xml/smbdotconf/printing/defaultdevmode.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="default devmode"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter is only applicable to <smbconfoption name="printable"/> services.
diff --git a/docs-xml/smbdotconf/printing/deleteprintercommand.xml b/docs-xml/smbdotconf/printing/deleteprintercommand.xml
index f26fc00..f9a9a47 100644
--- a/docs-xml/smbdotconf/printing/deleteprintercommand.xml
+++ b/docs-xml/smbdotconf/printing/deleteprintercommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="deleteprinter command"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>With the introduction of MS-RPC based printer
diff --git a/docs-xml/smbdotconf/printing/disablespoolss.xml b/docs-xml/smbdotconf/printing/disablespoolss.xml
index 63c2e19..4710002 100644
--- a/docs-xml/smbdotconf/printing/disablespoolss.xml
+++ b/docs-xml/smbdotconf/printing/disablespoolss.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="disable spoolss"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  function="_disable_spoolss"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/printing/enablespoolss.xml b/docs-xml/smbdotconf/printing/enablespoolss.xml
index f2335d8..e721cdf 100644
--- a/docs-xml/smbdotconf/printing/enablespoolss.xml
+++ b/docs-xml/smbdotconf/printing/enablespoolss.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="enable spoolss"
                  context="G"
-		 type="boolean"
+                 type="boolean"
                  synonym="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/printing/enumportscommand.xml b/docs-xml/smbdotconf/printing/enumportscommand.xml
index 17880c6..cb85cd0 100644
--- a/docs-xml/smbdotconf/printing/enumportscommand.xml
+++ b/docs-xml/smbdotconf/printing/enumportscommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="enumports command"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>The concept of a "port" is fairly foreign
diff --git a/docs-xml/smbdotconf/printing/forceprintername.xml b/docs-xml/smbdotconf/printing/forceprintername.xml
index 7503494..607d176 100644
--- a/docs-xml/smbdotconf/printing/forceprintername.xml
+++ b/docs-xml/smbdotconf/printing/forceprintername.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="force printername"
                  context="S"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>When printing from Windows NT (or later), 
diff --git a/docs-xml/smbdotconf/printing/iprintserver.xml b/docs-xml/smbdotconf/printing/iprintserver.xml
index 55a0594..82bf9e9 100644
--- a/docs-xml/smbdotconf/printing/iprintserver.xml
+++ b/docs-xml/smbdotconf/printing/iprintserver.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="iprint server"
                  context="G"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/printing/loadprinters.xml b/docs-xml/smbdotconf/printing/loadprinters.xml
index 2072745..83e0f4c 100644
--- a/docs-xml/smbdotconf/printing/loadprinters.xml
+++ b/docs-xml/smbdotconf/printing/loadprinters.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="load printers"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>A boolean variable that controls whether all 
diff --git a/docs-xml/smbdotconf/printing/lppausecommand.xml b/docs-xml/smbdotconf/printing/lppausecommand.xml
index 0ca8f4d..3aa134c 100644
--- a/docs-xml/smbdotconf/printing/lppausecommand.xml
+++ b/docs-xml/smbdotconf/printing/lppausecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lppause command"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/lpqcachetime.xml b/docs-xml/smbdotconf/printing/lpqcachetime.xml
index dcced48..0b3670a 100644
--- a/docs-xml/smbdotconf/printing/lpqcachetime.xml
+++ b/docs-xml/smbdotconf/printing/lpqcachetime.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="lpq cache time"
-		 context="G"
-		 type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This controls how long lpq info will be cached 
 	for to prevent the <command moreinfo="none">lpq</command> command being called too 
diff --git a/docs-xml/smbdotconf/printing/lpqcommand.xml b/docs-xml/smbdotconf/printing/lpqcommand.xml
index ee2c3d0..f3c17f2 100644
--- a/docs-xml/smbdotconf/printing/lpqcommand.xml
+++ b/docs-xml/smbdotconf/printing/lpqcommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lpq command"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/lpresumecommand.xml b/docs-xml/smbdotconf/printing/lpresumecommand.xml
index e769fe3..153ba76 100644
--- a/docs-xml/smbdotconf/printing/lpresumecommand.xml
+++ b/docs-xml/smbdotconf/printing/lpresumecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lpresume command"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/lprmcommand.xml b/docs-xml/smbdotconf/printing/lprmcommand.xml
index d542868..4b7f3dd 100644
--- a/docs-xml/smbdotconf/printing/lprmcommand.xml
+++ b/docs-xml/smbdotconf/printing/lprmcommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lprm command"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/maxprintjobs.xml b/docs-xml/smbdotconf/printing/maxprintjobs.xml
index 0b3db05..8ca8c90 100644
--- a/docs-xml/smbdotconf/printing/maxprintjobs.xml
+++ b/docs-xml/smbdotconf/printing/maxprintjobs.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max print jobs"
                  context="S"
-		 type="integer"
+                 type="integer"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml b/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml
index e5e9570..5cfd21f 100644
--- a/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml
+++ b/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max reported print jobs"
                  context="S"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/printing/os2drivermap.xml b/docs-xml/smbdotconf/printing/os2drivermap.xml
index c06002c..166cec2 100644
--- a/docs-xml/smbdotconf/printing/os2drivermap.xml
+++ b/docs-xml/smbdotconf/printing/os2drivermap.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="os2 driver map"
                  context="G"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>The parameter is used to define the absolute
diff --git a/docs-xml/smbdotconf/printing/printable.xml b/docs-xml/smbdotconf/printing/printable.xml
index ab8b5de..870d888 100644
--- a/docs-xml/smbdotconf/printing/printable.xml
+++ b/docs-xml/smbdotconf/printing/printable.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="printable"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>print ok</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/printing/printcapcachetime.xml b/docs-xml/smbdotconf/printing/printcapcachetime.xml
index 4bbcb2d..d5a4c80 100644
--- a/docs-xml/smbdotconf/printing/printcapcachetime.xml
+++ b/docs-xml/smbdotconf/printing/printcapcachetime.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="printcap cache time"
-	context="G"
-	type="integer"
+                 context="G"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option specifies the number of seconds before the printing
diff --git a/docs-xml/smbdotconf/printing/printcapname.xml b/docs-xml/smbdotconf/printing/printcapname.xml
index edb47d7..a6c4c75 100644
--- a/docs-xml/smbdotconf/printing/printcapname.xml
+++ b/docs-xml/smbdotconf/printing/printcapname.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="printcap name"
-	context="G"
-	type="string"
+                 context="G"
+                 type="string"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>printcap</synonym>
diff --git a/docs-xml/smbdotconf/printing/printcommand.xml b/docs-xml/smbdotconf/printing/printcommand.xml
index 18881e9..c84e45f 100644
--- a/docs-xml/smbdotconf/printing/printcommand.xml
+++ b/docs-xml/smbdotconf/printing/printcommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="print command"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>After a print job has finished spooling to 
diff --git a/docs-xml/smbdotconf/printing/printername.xml b/docs-xml/smbdotconf/printing/printername.xml
index 1d3f79e..abe2b24 100644
--- a/docs-xml/smbdotconf/printing/printername.xml
+++ b/docs-xml/smbdotconf/printing/printername.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="printer name"
                  context="S"
-		 type="string"
+                 type="string"
                  function="_printername"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <synonym>printer</synonym>
diff --git a/docs-xml/smbdotconf/printing/printing.xml b/docs-xml/smbdotconf/printing/printing.xml
index 14ec2b0..95d5da7 100644
--- a/docs-xml/smbdotconf/printing/printing.xml
+++ b/docs-xml/smbdotconf/printing/printing.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="printing"
                  context="S"
-				 type="enum"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameters controls how printer status  information is
diff --git a/docs-xml/smbdotconf/printing/printjobusername.xml b/docs-xml/smbdotconf/printing/printjobusername.xml
index 71d143c..872a2e5 100644
--- a/docs-xml/smbdotconf/printing/printjobusername.xml
+++ b/docs-xml/smbdotconf/printing/printjobusername.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="printjob username"
                  context="S"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/printing/printnotifybackchannel.xml b/docs-xml/smbdotconf/printing/printnotifybackchannel.xml
index b9d32ec..576bf75 100644
--- a/docs-xml/smbdotconf/printing/printnotifybackchannel.xml
+++ b/docs-xml/smbdotconf/printing/printnotifybackchannel.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="print notify backchannel"
-		 context="S"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>Windows print clients can update print queue status by expecting
 	the server to open a backchannel SMB connection to them. Due to
diff --git a/docs-xml/smbdotconf/printing/queuepausecommand.xml b/docs-xml/smbdotconf/printing/queuepausecommand.xml
index c396a67..5dca456 100644
--- a/docs-xml/smbdotconf/printing/queuepausecommand.xml
+++ b/docs-xml/smbdotconf/printing/queuepausecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="queuepause command"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/queueresumecommand.xml b/docs-xml/smbdotconf/printing/queueresumecommand.xml
index ec1fb97..4a57333 100644
--- a/docs-xml/smbdotconf/printing/queueresumecommand.xml
+++ b/docs-xml/smbdotconf/printing/queueresumecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="queueresume command"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies the command to be 
diff --git a/docs-xml/smbdotconf/printing/showaddprinterwizard.xml b/docs-xml/smbdotconf/printing/showaddprinterwizard.xml
index 542ca0b..14687b8 100644
--- a/docs-xml/smbdotconf/printing/showaddprinterwizard.xml
+++ b/docs-xml/smbdotconf/printing/showaddprinterwizard.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="show add printer wizard"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>With the introduction of MS-RPC based printing support
diff --git a/docs-xml/smbdotconf/printing/spoolssarchitecture.xml b/docs-xml/smbdotconf/printing/spoolssarchitecture.xml
index a0739d5..1eccf9f 100644
--- a/docs-xml/smbdotconf/printing/spoolssarchitecture.xml
+++ b/docs-xml/smbdotconf/printing/spoolssarchitecture.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="spoolss: architecture"
-		 context="G"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Windows spoolss print clients only allow association of server-side drivers
 	with printers when the driver architecture matches the advertised print server
diff --git a/docs-xml/smbdotconf/printing/spoolssosversion.xml b/docs-xml/smbdotconf/printing/spoolssosversion.xml
index cd568e7..0ef4489 100644
--- a/docs-xml/smbdotconf/printing/spoolssosversion.xml
+++ b/docs-xml/smbdotconf/printing/spoolssosversion.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="spoolss: os_major"
-		 context="G"
-		 type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Windows might require a new os version number. This option allows
 		to modify the build number. The complete default version number is:
diff --git a/docs-xml/smbdotconf/printing/useclientdriver.xml b/docs-xml/smbdotconf/printing/useclientdriver.xml
index 47fbb3e..4d07604 100644
--- a/docs-xml/smbdotconf/printing/useclientdriver.xml
+++ b/docs-xml/smbdotconf/printing/useclientdriver.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="use client driver"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter applies only to Windows NT/2000
diff --git a/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml b/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
index 91d2b3f..667455a 100644
--- a/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
+++ b/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="acl check permissions"
                  context="S"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Please note this parameter is now deprecated in Samba 3.6.2 and will be removed
diff --git a/docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml b/docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml
index 33b6e51..9bb1e7d 100644
--- a/docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml
+++ b/docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="acl map full control"
-		context="S"
-		type="boolean"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
 	This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/protocol/cldapport.xml b/docs-xml/smbdotconf/protocol/cldapport.xml
index ed41f11..3fcb2b3 100644
--- a/docs-xml/smbdotconf/protocol/cldapport.xml
+++ b/docs-xml/smbdotconf/protocol/cldapport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="cldap port"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option controls the port used by the CLDAP protocol.
diff --git a/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml b/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
index e68226f..449ab18 100644
--- a/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="client max protocol"
-		 context="G"
-		 type="enum"
-		 function="_client_max_protocol"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="enum"
+                 function="_client_max_protocol"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>The value of the parameter (a string) is the highest 
     protocol level that will be supported by the client.</para>
diff --git a/docs-xml/smbdotconf/protocol/clientminprotocol.xml b/docs-xml/smbdotconf/protocol/clientminprotocol.xml
index c906a15..a02cb0e 100644
--- a/docs-xml/smbdotconf/protocol/clientminprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/clientminprotocol.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="client min protocol"
-		 context="G"
-		 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This setting controls the minimum protocol version that the
 	client will attempt to use.</para>
diff --git a/docs-xml/smbdotconf/protocol/clientusespnego.xml b/docs-xml/smbdotconf/protocol/clientusespnego.xml
index b95ad0e..f5a3512 100644
--- a/docs-xml/smbdotconf/protocol/clientusespnego.xml
+++ b/docs-xml/smbdotconf/protocol/clientusespnego.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="client use spnego"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para> This variable controls whether Samba clients will try 
diff --git a/docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml b/docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml
index 7fc172b..feecf62 100644
--- a/docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml
+++ b/docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="dcerpc endpoint servers"
                  context="G"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies which DCE/RPC endpoint servers should be run.</para>
diff --git a/docs-xml/smbdotconf/protocol/defersharingviolations.xml b/docs-xml/smbdotconf/protocol/defersharingviolations.xml
index bf3b524..353dd9d 100644
--- a/docs-xml/smbdotconf/protocol/defersharingviolations.xml
+++ b/docs-xml/smbdotconf/protocol/defersharingviolations.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="defer sharing violations"
                  context="G"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/protocol/dgramport.xml b/docs-xml/smbdotconf/protocol/dgramport.xml
index cac7243..b68c81f 100644
--- a/docs-xml/smbdotconf/protocol/dgramport.xml
+++ b/docs-xml/smbdotconf/protocol/dgramport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="dgram port"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies which ports the server should listen on for NetBIOS datagram traffic.</para>
diff --git a/docs-xml/smbdotconf/protocol/disablenetbios.xml b/docs-xml/smbdotconf/protocol/disablenetbios.xml
index a7b5759..ce39834 100644
--- a/docs-xml/smbdotconf/protocol/disablenetbios.xml
+++ b/docs-xml/smbdotconf/protocol/disablenetbios.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="disable netbios"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Enabling this parameter will disable netbios support
diff --git a/docs-xml/smbdotconf/protocol/easupport.xml b/docs-xml/smbdotconf/protocol/easupport.xml
index fc37f71..4c98267 100644
--- a/docs-xml/smbdotconf/protocol/easupport.xml
+++ b/docs-xml/smbdotconf/protocol/easupport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ea support"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>                                       
diff --git a/docs-xml/smbdotconf/protocol/enableasusupport.xml b/docs-xml/smbdotconf/protocol/enableasusupport.xml
index f938ed80..3c60b9b 100644
--- a/docs-xml/smbdotconf/protocol/enableasusupport.xml
+++ b/docs-xml/smbdotconf/protocol/enableasusupport.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="enable asu support"
-		 context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Hosts running the "Advanced Server for Unix (ASU)" product
     require some special accomodations such as creating a builtin [ADMIN$]
diff --git a/docs-xml/smbdotconf/protocol/eventloglist.xml b/docs-xml/smbdotconf/protocol/eventloglist.xml
index ba90661..7429f03 100644
--- a/docs-xml/smbdotconf/protocol/eventloglist.xml
+++ b/docs-xml/smbdotconf/protocol/eventloglist.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="eventlog list"
-		 type="list"
+                 type="list"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/largereadwrite.xml b/docs-xml/smbdotconf/protocol/largereadwrite.xml
index 5a34bfd..e7142d1 100644
--- a/docs-xml/smbdotconf/protocol/largereadwrite.xml
+++ b/docs-xml/smbdotconf/protocol/largereadwrite.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="large readwrite"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines whether or not
diff --git a/docs-xml/smbdotconf/protocol/mapaclinherit.xml b/docs-xml/smbdotconf/protocol/mapaclinherit.xml
index 5b2de34..3409232 100644
--- a/docs-xml/smbdotconf/protocol/mapaclinherit.xml
+++ b/docs-xml/smbdotconf/protocol/mapaclinherit.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="map acl inherit"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>                                       
diff --git a/docs-xml/smbdotconf/protocol/maxmux.xml b/docs-xml/smbdotconf/protocol/maxmux.xml
index 8281722..ab50001 100644
--- a/docs-xml/smbdotconf/protocol/maxmux.xml
+++ b/docs-xml/smbdotconf/protocol/maxmux.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max mux"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option controls the maximum number of 
diff --git a/docs-xml/smbdotconf/protocol/maxttl.xml b/docs-xml/smbdotconf/protocol/maxttl.xml
index 8813b40..c340ad1 100644
--- a/docs-xml/smbdotconf/protocol/maxttl.xml
+++ b/docs-xml/smbdotconf/protocol/maxttl.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max ttl"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/protocol/maxwinsttl.xml b/docs-xml/smbdotconf/protocol/maxwinsttl.xml
index 6c37a03..2427eec 100644
--- a/docs-xml/smbdotconf/protocol/maxwinsttl.xml
+++ b/docs-xml/smbdotconf/protocol/maxwinsttl.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="max wins ttl"
-				 type="integer"
+                 type="integer"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/maxxmit.xml b/docs-xml/smbdotconf/protocol/maxxmit.xml
index 875efa0..c589659 100644
--- a/docs-xml/smbdotconf/protocol/maxxmit.xml
+++ b/docs-xml/smbdotconf/protocol/maxxmit.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max xmit"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option controls the maximum packet size 
diff --git a/docs-xml/smbdotconf/protocol/minreceivefilesize.xml b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
index 4f40ecf..c5fed6a 100644
--- a/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
+++ b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="min receivefile size"
-		type="integer"
-		context="G"
+                 type="integer"
+                 context="G"
                  generated_function="0"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>This option changes the behavior of <citerefentry><refentrytitle>smbd</refentrytitle>
 <manvolnum>8</manvolnum></citerefentry> when processing SMBwriteX calls. Any incoming
diff --git a/docs-xml/smbdotconf/protocol/minwinsttl.xml b/docs-xml/smbdotconf/protocol/minwinsttl.xml
index dbeb6d1..8991757 100644
--- a/docs-xml/smbdotconf/protocol/minwinsttl.xml
+++ b/docs-xml/smbdotconf/protocol/minwinsttl.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="min wins ttl"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/protocol/nameresolveorder.xml b/docs-xml/smbdotconf/protocol/nameresolveorder.xml
index 17a4d95..282bcbe 100644
--- a/docs-xml/smbdotconf/protocol/nameresolveorder.xml
+++ b/docs-xml/smbdotconf/protocol/nameresolveorder.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="name resolve order"
                  context="G"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"> 
 <description>
     <para>This option is used by the programs in the Samba 
diff --git a/docs-xml/smbdotconf/protocol/nbtport.xml b/docs-xml/smbdotconf/protocol/nbtport.xml
index 0c06d7ca..7070b98 100644
--- a/docs-xml/smbdotconf/protocol/nbtport.xml
+++ b/docs-xml/smbdotconf/protocol/nbtport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="nbt port"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies which port the server should use for NetBIOS over IP name
diff --git a/docs-xml/smbdotconf/protocol/ntaclsupport.xml b/docs-xml/smbdotconf/protocol/ntaclsupport.xml
index 7938110..1b1f947 100644
--- a/docs-xml/smbdotconf/protocol/ntaclsupport.xml
+++ b/docs-xml/smbdotconf/protocol/ntaclsupport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="nt acl support"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>                                       
diff --git a/docs-xml/smbdotconf/protocol/ntpipesupport.xml b/docs-xml/smbdotconf/protocol/ntpipesupport.xml
index 9acfeda..907dee1 100644
--- a/docs-xml/smbdotconf/protocol/ntpipesupport.xml
+++ b/docs-xml/smbdotconf/protocol/ntpipesupport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="nt pipe support"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean parameter controls whether 
diff --git a/docs-xml/smbdotconf/protocol/ntstatussupport.xml b/docs-xml/smbdotconf/protocol/ntstatussupport.xml
index 961e2ae..07d3462 100644
--- a/docs-xml/smbdotconf/protocol/ntstatussupport.xml
+++ b/docs-xml/smbdotconf/protocol/ntstatussupport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="nt status support"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>                                       
diff --git a/docs-xml/smbdotconf/protocol/profileacls.xml b/docs-xml/smbdotconf/protocol/profileacls.xml
index 956e41f..ade906c 100644
--- a/docs-xml/smbdotconf/protocol/profileacls.xml
+++ b/docs-xml/smbdotconf/protocol/profileacls.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="profile acls"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/protocol/readraw.xml b/docs-xml/smbdotconf/protocol/readraw.xml
index f660b01..3b7c6c4 100644
--- a/docs-xml/smbdotconf/protocol/readraw.xml
+++ b/docs-xml/smbdotconf/protocol/readraw.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="read raw"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is ignored if <smbconfoption name="async echo handler"/> is set,
diff --git a/docs-xml/smbdotconf/protocol/rpcbigendian.xml b/docs-xml/smbdotconf/protocol/rpcbigendian.xml
index 1933054..5f7c5b6 100644
--- a/docs-xml/smbdotconf/protocol/rpcbigendian.xml
+++ b/docs-xml/smbdotconf/protocol/rpcbigendian.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="rpc big endian"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Setting this option will force the RPC client and server to
diff --git a/docs-xml/smbdotconf/protocol/servermaxprotocol.xml b/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
index 7321d22..217e75a 100644
--- a/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="server max protocol"
-		 context="G"
-		 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>The value of the parameter (a string) is the highest 
     protocol level that will be supported by the server.</para>
diff --git a/docs-xml/smbdotconf/protocol/serverminprotocol.xml b/docs-xml/smbdotconf/protocol/serverminprotocol.xml
index 25457d9..57a3f7b 100644
--- a/docs-xml/smbdotconf/protocol/serverminprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/serverminprotocol.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="server min protocol"
-		 context="G"
-		 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>min protocol</synonym>
 <description>
 	<para>This setting controls the minimum protocol version that the server
diff --git a/docs-xml/smbdotconf/protocol/sharefakefscaps.xml b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml
index 8709a28..11f4955 100644
--- a/docs-xml/smbdotconf/protocol/sharefakefscaps.xml
+++ b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="share:fake_fscaps"
-	context="G"
-	type="string"
+                 context="G"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/protocol/smb2maxcredits.xml b/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
index ef2ad48..572e961 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="smb2 max credits"
-		type="integer"
-		context="G"
+                 type="integer"
+                 context="G"
                  generated_function="0"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>This option controls the maximum number of outstanding simultaneous SMB2 operations
 that Samba tells the client it will allow. This is similar to the <smbconfoption name="max mux"/>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxread.xml b/docs-xml/smbdotconf/protocol/smb2maxread.xml
index 9d05290..a262ce1 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxread.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxread.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="smb2 max read"
-		type="integer"
-		context="G"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="integer"
+                 context="G"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>This option specifies the protocol value that <citerefentry><refentrytitle>smbd</refentrytitle>
 <manvolnum>8</manvolnum></citerefentry> will return to a client, informing the client of the largest
diff --git a/docs-xml/smbdotconf/protocol/smb2maxtrans.xml b/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
index a1998c9..4c28372 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="smb2 max trans"
-		type="integer"
-		context="G"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="integer"
+                 context="G"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>This option specifies the protocol value that <citerefentry><refentrytitle>smbd</refentrytitle>
 <manvolnum>8</manvolnum></citerefentry> will return to a client, informing the client of the largest
diff --git a/docs-xml/smbdotconf/protocol/smb2maxwrite.xml b/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
index 5048d47..4105fa7 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="smb2 max write"
-		type="integer"
-		context="G"
-		xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="integer"
+                 context="G"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>This option specifies the protocol value that <citerefentry><refentrytitle>smbd</refentrytitle>
 <manvolnum>8</manvolnum></citerefentry> will return to a client, informing the client of the largest
diff --git a/docs-xml/smbdotconf/protocol/smbports.xml b/docs-xml/smbdotconf/protocol/smbports.xml
index f21fe7f..d46a5ed 100644
--- a/docs-xml/smbdotconf/protocol/smbports.xml
+++ b/docs-xml/smbdotconf/protocol/smbports.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="smb ports"
                  context="G"
-				 type="list"
+                 type="list"
+                 handler="handle_smb_ports"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies which ports the server should listen on for SMB traffic.</para>
diff --git a/docs-xml/smbdotconf/protocol/svcctllist.xml b/docs-xml/smbdotconf/protocol/svcctllist.xml
index ecd8184..53577b3 100644
--- a/docs-xml/smbdotconf/protocol/svcctllist.xml
+++ b/docs-xml/smbdotconf/protocol/svcctllist.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="svcctl list"
-		 type="list"
+                 type="list"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/timeserver.xml b/docs-xml/smbdotconf/protocol/timeserver.xml
index f907fba..ceefbd3 100644
--- a/docs-xml/smbdotconf/protocol/timeserver.xml
+++ b/docs-xml/smbdotconf/protocol/timeserver.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="time server"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/protocol/unicode.xml b/docs-xml/smbdotconf/protocol/unicode.xml
index f7a2350..86fb06c 100644
--- a/docs-xml/smbdotconf/protocol/unicode.xml
+++ b/docs-xml/smbdotconf/protocol/unicode.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="unicode"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies whether the server and client should support unicode.</para>
diff --git a/docs-xml/smbdotconf/protocol/unixextensions.xml b/docs-xml/smbdotconf/protocol/unixextensions.xml
index 9bcf01d..61ae361 100644
--- a/docs-xml/smbdotconf/protocol/unixextensions.xml
+++ b/docs-xml/smbdotconf/protocol/unixextensions.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="unix extensions"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
     <para>This boolean parameter controls whether Samba
diff --git a/docs-xml/smbdotconf/protocol/usespnego.xml b/docs-xml/smbdotconf/protocol/usespnego.xml
index 1bdb4ba..aee75f3 100644
--- a/docs-xml/smbdotconf/protocol/usespnego.xml
+++ b/docs-xml/smbdotconf/protocol/usespnego.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="use spnego"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This deprecated variable controls whether samba will try 
diff --git a/docs-xml/smbdotconf/protocol/webport.xml b/docs-xml/smbdotconf/protocol/webport.xml
index 7cc55b0..b9f49ef 100644
--- a/docs-xml/smbdotconf/protocol/webport.xml
+++ b/docs-xml/smbdotconf/protocol/webport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="web port"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies which port the Samba web server should listen on.</para>
diff --git a/docs-xml/smbdotconf/protocol/writeraw.xml b/docs-xml/smbdotconf/protocol/writeraw.xml
index 599104e..f6ad7ba 100644
--- a/docs-xml/smbdotconf/protocol/writeraw.xml
+++ b/docs-xml/smbdotconf/protocol/writeraw.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="write raw"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is ignored if <smbconfoption name="async echo handler"/> is set, 
diff --git a/docs-xml/smbdotconf/security/accessbasedshareenum.xml b/docs-xml/smbdotconf/security/accessbasedshareenum.xml
index b33c4a5..4557465 100644
--- a/docs-xml/smbdotconf/security/accessbasedshareenum.xml
+++ b/docs-xml/smbdotconf/security/accessbasedshareenum.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="access based share enum"
-		 type="boolean"
+                 type="boolean"
                  context="S"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
      <para>If this parameter is <constant>yes</constant> for a
     service, then the share hosted by the service will only be visible
diff --git a/docs-xml/smbdotconf/security/aclgroupcontrol.xml b/docs-xml/smbdotconf/security/aclgroupcontrol.xml
index 279a57b..a519e39 100644
--- a/docs-xml/smbdotconf/security/aclgroupcontrol.xml
+++ b/docs-xml/smbdotconf/security/aclgroupcontrol.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="acl group control"
                  context="S"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/security/adminusers.xml b/docs-xml/smbdotconf/security/adminusers.xml
index 30adea9..654e1d5 100644
--- a/docs-xml/smbdotconf/security/adminusers.xml
+++ b/docs-xml/smbdotconf/security/adminusers.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="admin users"
                  context="S"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is a list of users who will be granted 
diff --git a/docs-xml/smbdotconf/security/algorithmicridbase.xml b/docs-xml/smbdotconf/security/algorithmicridbase.xml
index 4df3c3d..a5eba3c 100644
--- a/docs-xml/smbdotconf/security/algorithmicridbase.xml
+++ b/docs-xml/smbdotconf/security/algorithmicridbase.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="algorithmic rid base"
                  context="G"
-				 type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This determines how Samba will use its
     algorithmic mapping from uids/gid to the RIDs needed to construct
diff --git a/docs-xml/smbdotconf/security/allowtrusteddomains.xml b/docs-xml/smbdotconf/security/allowtrusteddomains.xml
index 806bab72..3617210 100644
--- a/docs-xml/smbdotconf/security/allowtrusteddomains.xml
+++ b/docs-xml/smbdotconf/security/allowtrusteddomains.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="allow trusted domains"
                  context="G"
-				 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
     This option only takes effect when the <smbconfoption name="security"/> option is set to 
diff --git a/docs-xml/smbdotconf/security/authmethods.xml b/docs-xml/smbdotconf/security/authmethods.xml
index 813c4cb..a5e3a11 100644
--- a/docs-xml/smbdotconf/security/authmethods.xml
+++ b/docs-xml/smbdotconf/security/authmethods.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="auth methods"
                  context="G"
-				 type="list"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="list"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
     <para>
diff --git a/docs-xml/smbdotconf/security/checkpasswordscript.xml b/docs-xml/smbdotconf/security/checkpasswordscript.xml
index 7399744..e2079c2 100644
--- a/docs-xml/smbdotconf/security/checkpasswordscript.xml
+++ b/docs-xml/smbdotconf/security/checkpasswordscript.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="check password script"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>The name of a program that can be used to check password
diff --git a/docs-xml/smbdotconf/security/clientlanmanauth.xml b/docs-xml/smbdotconf/security/clientlanmanauth.xml
index 4147f34..c026b8f 100644
--- a/docs-xml/smbdotconf/security/clientlanmanauth.xml
+++ b/docs-xml/smbdotconf/security/clientlanmanauth.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="client lanman auth"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines whether or not <citerefentry><refentrytitle>smbclient</refentrytitle>
diff --git a/docs-xml/smbdotconf/security/clientntlmv2auth.xml b/docs-xml/smbdotconf/security/clientntlmv2auth.xml
index d0f0a37..531c8fc 100644
--- a/docs-xml/smbdotconf/security/clientntlmv2auth.xml
+++ b/docs-xml/smbdotconf/security/clientntlmv2auth.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="client NTLMv2 auth"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines whether or not <citerefentry><refentrytitle>smbclient</refentrytitle>
diff --git a/docs-xml/smbdotconf/security/clientplaintextauth.xml b/docs-xml/smbdotconf/security/clientplaintextauth.xml
index f640416..1c4d356 100644
--- a/docs-xml/smbdotconf/security/clientplaintextauth.xml
+++ b/docs-xml/smbdotconf/security/clientplaintextauth.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="client plaintext auth"
                  context="G"
-				 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies whether a client should send a plaintext 
 		password if the server does not support encrypted passwords.</para>
diff --git a/docs-xml/smbdotconf/security/clientschannel.xml b/docs-xml/smbdotconf/security/clientschannel.xml
index 62a47fe..2946a07 100644
--- a/docs-xml/smbdotconf/security/clientschannel.xml
+++ b/docs-xml/smbdotconf/security/clientschannel.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="client schannel"
                  context="G"
-				 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
     <para>
diff --git a/docs-xml/smbdotconf/security/clientsigning.xml b/docs-xml/smbdotconf/security/clientsigning.xml
index 60b8ffe..aa5b04c 100644
--- a/docs-xml/smbdotconf/security/clientsigning.xml
+++ b/docs-xml/smbdotconf/security/clientsigning.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="client signing"
                  context="G"
-				 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This controls whether the client is allowed or required to use SMB signing. Possible values 
     are <emphasis>auto</emphasis>, <emphasis>mandatory</emphasis> 
diff --git a/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml b/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
index 1d8214e..c067f35 100644
--- a/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
+++ b/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="client use spnego principal"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines whether or not
diff --git a/docs-xml/smbdotconf/security/createmask.xml b/docs-xml/smbdotconf/security/createmask.xml
index 22dc5eb..8b38be4 100644
--- a/docs-xml/smbdotconf/security/createmask.xml
+++ b/docs-xml/smbdotconf/security/createmask.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="create mask"
                  context="S"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <synonym>create mode</synonym>
diff --git a/docs-xml/smbdotconf/security/dedicatedkeytabfile.xml b/docs-xml/smbdotconf/security/dedicatedkeytabfile.xml
index c8d6c2d..d516315 100644
--- a/docs-xml/smbdotconf/security/dedicatedkeytabfile.xml
+++ b/docs-xml/smbdotconf/security/dedicatedkeytabfile.xml
@@ -1,4 +1,6 @@
-<samba:parameter name="dedicated keytab file" context="G" type="string"
+<samba:parameter name="dedicated keytab file"
+                 context="G"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/security/directorymask.xml b/docs-xml/smbdotconf/security/directorymask.xml
index 6a3d2f7..50305d9 100644
--- a/docs-xml/smbdotconf/security/directorymask.xml
+++ b/docs-xml/smbdotconf/security/directorymask.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="directory mask"
-	context="S"
-	type="integer"
+                 context="S"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>directory mode</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/directorysecuritymask.xml b/docs-xml/smbdotconf/security/directorysecuritymask.xml
index ad208f4..f02e4ff 100644
--- a/docs-xml/smbdotconf/security/directorysecuritymask.xml
+++ b/docs-xml/smbdotconf/security/directorysecuritymask.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="directory security mask"
-		 context="S"
-		 removed="1"
-		 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 removed="1"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
 	This parameter has been removed for Samba 4.0.0.
diff --git a/docs-xml/smbdotconf/security/encryptpasswords.xml b/docs-xml/smbdotconf/security/encryptpasswords.xml
index 4b7d50e..4bd9780 100644
--- a/docs-xml/smbdotconf/security/encryptpasswords.xml
+++ b/docs-xml/smbdotconf/security/encryptpasswords.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="encrypt passwords"
                  context="G"
-				 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean controls whether encrypted passwords 
     will be negotiated with the client. Note that Windows NT 4.0 SP3 and 
diff --git a/docs-xml/smbdotconf/security/forcedirectorymode.xml b/docs-xml/smbdotconf/security/forcedirectorymode.xml
index c28f84a..9d2fdfc 100644
--- a/docs-xml/smbdotconf/security/forcedirectorymode.xml
+++ b/docs-xml/smbdotconf/security/forcedirectorymode.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="force directory mode"
                  context="S"
-		 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies a set of UNIX mode bit 
diff --git a/docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml b/docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml
index a45395d..fbd8e16 100644
--- a/docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml
+++ b/docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="force directory security mode"
-		 context="S"
-		 type="string"
-		 removed="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="S"
+                 type="string"
+                 removed="1"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
 	This parameter has been removed for Samba 4.0.0.
diff --git a/docs-xml/smbdotconf/security/forcegroup.xml b/docs-xml/smbdotconf/security/forcegroup.xml
index f6c9974..d101f1c 100644
--- a/docs-xml/smbdotconf/security/forcegroup.xml
+++ b/docs-xml/smbdotconf/security/forcegroup.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="force group"
                  context="S"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>group</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/forceunknownacluser.xml b/docs-xml/smbdotconf/security/forceunknownacluser.xml
index 4c0949f..c5aec53 100644
--- a/docs-xml/smbdotconf/security/forceunknownacluser.xml
+++ b/docs-xml/smbdotconf/security/forceunknownacluser.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="force unknown acl user"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <description>
diff --git a/docs-xml/smbdotconf/security/forceuser.xml b/docs-xml/smbdotconf/security/forceuser.xml
index f1ec5d4..ff5c7a2 100644
--- a/docs-xml/smbdotconf/security/forceuser.xml
+++ b/docs-xml/smbdotconf/security/forceuser.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="force user"
-				 type="string"
+                 type="string"
                  context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/security/guestaccount.xml b/docs-xml/smbdotconf/security/guestaccount.xml
index 905e795..c5dbbd9 100644
--- a/docs-xml/smbdotconf/security/guestaccount.xml
+++ b/docs-xml/smbdotconf/security/guestaccount.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="guest account"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is a username which will be used for access 
     to services which are specified as <smbconfoption name="guest ok"/> (see below). Whatever privileges this 
diff --git a/docs-xml/smbdotconf/security/guestok.xml b/docs-xml/smbdotconf/security/guestok.xml
index 7a07ff1..390f1c3 100644
--- a/docs-xml/smbdotconf/security/guestok.xml
+++ b/docs-xml/smbdotconf/security/guestok.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="guest ok"
-				 type="boolean"
+                 type="boolean"
                  context="S"
-				 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>public</synonym>
 <description>
     <para>If this parameter is <constant>yes</constant> for 
diff --git a/docs-xml/smbdotconf/security/guestonly.xml b/docs-xml/smbdotconf/security/guestonly.xml
index 258eba9..5660162 100644
--- a/docs-xml/smbdotconf/security/guestonly.xml
+++ b/docs-xml/smbdotconf/security/guestonly.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="guest only"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>only guest</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/hostsallow.xml b/docs-xml/smbdotconf/security/hostsallow.xml
index 35be404..d210277 100644
--- a/docs-xml/smbdotconf/security/hostsallow.xml
+++ b/docs-xml/smbdotconf/security/hostsallow.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hosts allow"
                  context="S"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>allow hosts</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/hostsdeny.xml b/docs-xml/smbdotconf/security/hostsdeny.xml
index 2421a4e..2c8504f 100644
--- a/docs-xml/smbdotconf/security/hostsdeny.xml
+++ b/docs-xml/smbdotconf/security/hostsdeny.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hosts deny"
                  context="S"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>deny hosts</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/inheritacls.xml b/docs-xml/smbdotconf/security/inheritacls.xml
index e2552e3..4c6caef 100644
--- a/docs-xml/smbdotconf/security/inheritacls.xml
+++ b/docs-xml/smbdotconf/security/inheritacls.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="inherit acls"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter can be used to ensure that if default acls
diff --git a/docs-xml/smbdotconf/security/inheritowner.xml b/docs-xml/smbdotconf/security/inheritowner.xml
index 0ed8285..ab7da57 100644
--- a/docs-xml/smbdotconf/security/inheritowner.xml
+++ b/docs-xml/smbdotconf/security/inheritowner.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="inherit owner"
                  context="S"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>The ownership of new files and directories 
diff --git a/docs-xml/smbdotconf/security/inheritpermissions.xml b/docs-xml/smbdotconf/security/inheritpermissions.xml
index 6e09f4f..9dda734 100644
--- a/docs-xml/smbdotconf/security/inheritpermissions.xml
+++ b/docs-xml/smbdotconf/security/inheritpermissions.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="inherit permissions"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/security/invalidusers.xml b/docs-xml/smbdotconf/security/invalidusers.xml
index f4ed66f..9674465 100644
--- a/docs-xml/smbdotconf/security/invalidusers.xml
+++ b/docs-xml/smbdotconf/security/invalidusers.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="invalid users"
                  context="S"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is a list of users that should not be allowed 
diff --git a/docs-xml/smbdotconf/security/kerberosmethod.xml b/docs-xml/smbdotconf/security/kerberosmethod.xml
index a4948f2..c529e14 100644
--- a/docs-xml/smbdotconf/security/kerberosmethod.xml
+++ b/docs-xml/smbdotconf/security/kerberosmethod.xml
@@ -1,4 +1,6 @@
-<samba:parameter name="kerberos method" context="G" type="enum"
+<samba:parameter name="kerberos method"
+                 context="G"
+                 type="enum"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/security/kpasswdport.xml b/docs-xml/smbdotconf/security/kpasswdport.xml
index 0555e78..71cd337 100644
--- a/docs-xml/smbdotconf/security/kpasswdport.xml
+++ b/docs-xml/smbdotconf/security/kpasswdport.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="kpasswd port"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies which ports the Kerberos server should listen on for
diff --git a/docs-xml/smbdotconf/security/krb5port.xml b/docs-xml/smbdotconf/security/krb5port.xml
index 6c4f0a8..06c7988 100644
--- a/docs-xml/smbdotconf/security/krb5port.xml
+++ b/docs-xml/smbdotconf/security/krb5port.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="krb5 port"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>Specifies which port the KDC should listen on for Kerberos traffic.</para>
diff --git a/docs-xml/smbdotconf/security/lanmanauth.xml b/docs-xml/smbdotconf/security/lanmanauth.xml
index 44d18c4..ca34067 100644
--- a/docs-xml/smbdotconf/security/lanmanauth.xml
+++ b/docs-xml/smbdotconf/security/lanmanauth.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="lanman auth"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/security/maptoguest.xml b/docs-xml/smbdotconf/security/maptoguest.xml
index 2e4c634..a3033fa 100644
--- a/docs-xml/smbdotconf/security/maptoguest.xml
+++ b/docs-xml/smbdotconf/security/maptoguest.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="map to guest"
-				 type="enum"
+                 type="enum"
                  context="G"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter can take four different values, which tell
     <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/security/mapuntrustedtodomain.xml b/docs-xml/smbdotconf/security/mapuntrustedtodomain.xml
index 69f4d82..126411a 100644
--- a/docs-xml/smbdotconf/security/mapuntrustedtodomain.xml
+++ b/docs-xml/smbdotconf/security/mapuntrustedtodomain.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="map untrusted to domain"
                  context="G"
-		 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
     If a client connects to smbd using an untrusted domain name, such as
diff --git a/docs-xml/smbdotconf/security/ntlmauth.xml b/docs-xml/smbdotconf/security/ntlmauth.xml
index a39f9e5..6af1908 100644
--- a/docs-xml/smbdotconf/security/ntlmauth.xml
+++ b/docs-xml/smbdotconf/security/ntlmauth.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="ntlm auth"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/security/nullpasswords.xml b/docs-xml/smbdotconf/security/nullpasswords.xml
index 3d7b2ad..36f66c2 100644
--- a/docs-xml/smbdotconf/security/nullpasswords.xml
+++ b/docs-xml/smbdotconf/security/nullpasswords.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="null passwords"
                  context="G"
-				 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Allow or disallow client access to accounts that have null passwords. </para>
 
diff --git a/docs-xml/smbdotconf/security/obeypamrestrictions.xml b/docs-xml/smbdotconf/security/obeypamrestrictions.xml
index e4b2b6c..92708ef 100644
--- a/docs-xml/smbdotconf/security/obeypamrestrictions.xml
+++ b/docs-xml/smbdotconf/security/obeypamrestrictions.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="obey pam restrictions"
                  context="G"
-				 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>When Samba 3.0 is configured to enable PAM support
     (i.e. --with-pam), this parameter will control whether or not Samba
diff --git a/docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml b/docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml
index 718cd32..9cb607b 100644
--- a/docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml
+++ b/docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="old password allowed period"
                  context="G"
-				 type="integer"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="integer"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Number of minutes to permit an NTLM login after a password change or reset using the old password.  This allows the user to re-cache the new password on multiple clients without disrupting a network reconnection in the meantime. </para>
 
diff --git a/docs-xml/smbdotconf/security/onlyuser.xml b/docs-xml/smbdotconf/security/onlyuser.xml
index ed1bbd5..c18608e 100644
--- a/docs-xml/smbdotconf/security/onlyuser.xml
+++ b/docs-xml/smbdotconf/security/onlyuser.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="only user"
-					type="boolean"
+                 type="boolean"
                  context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/security/pampasswordchange.xml b/docs-xml/smbdotconf/security/pampasswordchange.xml
index 973a10b..92ab4ad 100644
--- a/docs-xml/smbdotconf/security/pampasswordchange.xml
+++ b/docs-xml/smbdotconf/security/pampasswordchange.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="pam password change"
                  context="G"
-				 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>With the addition of better PAM support in Samba 2.2, 
     this parameter, it is possible to use PAM's password change control 
diff --git a/docs-xml/smbdotconf/security/passdbbackend.xml b/docs-xml/smbdotconf/security/passdbbackend.xml
index 4f5321d..3e378bd 100644
--- a/docs-xml/smbdotconf/security/passdbbackend.xml
+++ b/docs-xml/smbdotconf/security/passdbbackend.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="passdb backend"
                  context="G"
-		 type="string"
+                 type="string"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
     <para>This option allows the administrator to chose which backend
diff --git a/docs-xml/smbdotconf/security/passdbexpandexplicit.xml b/docs-xml/smbdotconf/security/passdbexpandexplicit.xml
index 778a390..41c8ea0 100644
--- a/docs-xml/smbdotconf/security/passdbexpandexplicit.xml
+++ b/docs-xml/smbdotconf/security/passdbexpandexplicit.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="passdb expand explicit"
                  context="G"
-				 type="boolean"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="boolean"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
 	This parameter controls whether Samba substitutes %-macros in the passdb fields if they are explicitly set. We
diff --git a/docs-xml/smbdotconf/security/passwdchatdebug.xml b/docs-xml/smbdotconf/security/passwdchatdebug.xml
index 9046f20..0c3481e 100644
--- a/docs-xml/smbdotconf/security/passwdchatdebug.xml
+++ b/docs-xml/smbdotconf/security/passwdchatdebug.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="passwd chat debug"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean specifies if the passwd chat script 
diff --git a/docs-xml/smbdotconf/security/passwdchattimeout.xml b/docs-xml/smbdotconf/security/passwdchattimeout.xml
index 07374ff..74e8688 100644
--- a/docs-xml/smbdotconf/security/passwdchattimeout.xml
+++ b/docs-xml/smbdotconf/security/passwdchattimeout.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="passwd chat timeout"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This integer specifies the number of seconds smbd will wait for an initial
diff --git a/docs-xml/smbdotconf/security/passwdprogram.xml b/docs-xml/smbdotconf/security/passwdprogram.xml
index 94649e2..8141048 100644
--- a/docs-xml/smbdotconf/security/passwdprogram.xml
+++ b/docs-xml/smbdotconf/security/passwdprogram.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="passwd program"
                  context="G"
-				 type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
     <para>The name of a program that can be used to set 
     UNIX user passwords.  Any occurrences of <parameter moreinfo="none">%u</parameter> 
diff --git a/docs-xml/smbdotconf/security/passwordserver.xml b/docs-xml/smbdotconf/security/passwordserver.xml
index e01adb6..a62494b 100644
--- a/docs-xml/smbdotconf/security/passwordserver.xml
+++ b/docs-xml/smbdotconf/security/passwordserver.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="password server"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>By specifying the name of a domain controller with this option,
     and using <command moreinfo="none">security = [ads|domain]</command>
diff --git a/docs-xml/smbdotconf/security/preloadmodules.xml b/docs-xml/smbdotconf/security/preloadmodules.xml
index 44eb467..ad0df45 100644
--- a/docs-xml/smbdotconf/security/preloadmodules.xml
+++ b/docs-xml/smbdotconf/security/preloadmodules.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="preload modules"
-		type="list"
-		 context="G"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="list"
+                 context="G"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This is a list of paths to modules that should
 	be loaded into smbd before a client connects. This improves
diff --git a/docs-xml/smbdotconf/security/privatedir.xml b/docs-xml/smbdotconf/security/privatedir.xml
index 4189f6b..58be372 100644
--- a/docs-xml/smbdotconf/security/privatedir.xml
+++ b/docs-xml/smbdotconf/security/privatedir.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="private dir"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>private directory</synonym>
 <description>
     <para>This parameters defines the directory
diff --git a/docs-xml/smbdotconf/security/readlist.xml b/docs-xml/smbdotconf/security/readlist.xml
index c874fef..6ac0b3c 100644
--- a/docs-xml/smbdotconf/security/readlist.xml
+++ b/docs-xml/smbdotconf/security/readlist.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="read list"
                  context="S"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/security/readonly.xml b/docs-xml/smbdotconf/security/readonly.xml
index f587f67..b6fdda6 100644
--- a/docs-xml/smbdotconf/security/readonly.xml
+++ b/docs-xml/smbdotconf/security/readonly.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="read only"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>write ok</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/renameuserscript.xml b/docs-xml/smbdotconf/security/renameuserscript.xml
index 472a4a3..1a15eba 100644
--- a/docs-xml/smbdotconf/security/renameuserscript.xml
+++ b/docs-xml/smbdotconf/security/renameuserscript.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="rename user script"
                  context="G"
-				 type="string"
-				 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
 	This is the full pathname to a script that will be run as root by <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/security/restrictanonymous.xml b/docs-xml/smbdotconf/security/restrictanonymous.xml
index ffea693..78cafd2 100644
--- a/docs-xml/smbdotconf/security/restrictanonymous.xml
+++ b/docs-xml/smbdotconf/security/restrictanonymous.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="restrict anonymous"
-	type="integer"
+                 type="integer"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/security/rootdirectory.xml b/docs-xml/smbdotconf/security/rootdirectory.xml
index d5a071e..e795af2 100644
--- a/docs-xml/smbdotconf/security/rootdirectory.xml
+++ b/docs-xml/smbdotconf/security/rootdirectory.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="root directory"
-	context="G"
-	type="string"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 context="G"
+                 type="string"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>root</synonym>
 <synonym>root dir</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/security.xml b/docs-xml/smbdotconf/security/security.xml
index ac248d0..2e6ec63 100644
--- a/docs-xml/smbdotconf/security/security.xml
+++ b/docs-xml/smbdotconf/security/security.xml
@@ -1,11 +1,11 @@
 <samba:parameter name="security"
                  context="G"
-				 type="enum"
+                 type="enum"
                  function="_security"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-		 <when_value value="security">
-			 <requires option="encrypted passwords">/(yes|true)/</requires>
-		 </when_value>
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<when_value value="security">
+    <requires option="encrypted passwords">/(yes|true)/</requires>
+</when_value>
 <description>
     <para>This option affects how clients respond to 
     Samba and is one of the most important settings in the <filename moreinfo="none">
diff --git a/docs-xml/smbdotconf/security/serverrole.xml b/docs-xml/smbdotconf/security/serverrole.xml
index e6ff399..fc3d183 100644
--- a/docs-xml/smbdotconf/security/serverrole.xml
+++ b/docs-xml/smbdotconf/security/serverrole.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="server role"
                  context="G"
-				 type="enum"
+                 type="enum"
                  function="_server_role"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option determines the basic operating mode of a Samba
     server and is one of the most important settings in the <filename
diff --git a/docs-xml/smbdotconf/security/serverschannel.xml b/docs-xml/smbdotconf/security/serverschannel.xml
index aee63cc..6ed6c4d 100644
--- a/docs-xml/smbdotconf/security/serverschannel.xml
+++ b/docs-xml/smbdotconf/security/serverschannel.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="server schannel"
                  context="G"
-				 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
 	This controls whether the server offers or even demands the use of the netlogon schannel.
diff --git a/docs-xml/smbdotconf/security/serversigning.xml b/docs-xml/smbdotconf/security/serversigning.xml
index 9fdb833..e52214b 100644
--- a/docs-xml/smbdotconf/security/serversigning.xml
+++ b/docs-xml/smbdotconf/security/serversigning.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="server signing"
                  context="G"
-				 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
     <para>This controls whether the client is allowed or required to use SMB1 and SMB2 signing. Possible values
diff --git a/docs-xml/smbdotconf/security/smbencrypt.xml b/docs-xml/smbdotconf/security/smbencrypt.xml
index b44ed9a..6236562 100644
--- a/docs-xml/smbdotconf/security/smbencrypt.xml
+++ b/docs-xml/smbdotconf/security/smbencrypt.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="smb encrypt"
                  context="S"
-				 type="enum"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 type="enum"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
 	This parameter controls whether a remote client is allowed or required
diff --git a/docs-xml/smbdotconf/security/smbpasswdfile.xml b/docs-xml/smbdotconf/security/smbpasswdfile.xml
index 7ca8584..a906403 100644
--- a/docs-xml/smbdotconf/security/smbpasswdfile.xml
+++ b/docs-xml/smbdotconf/security/smbpasswdfile.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="smb passwd file"
-	type="string"
+                 type="string"
                  context="G"
                  constant="1"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option sets the path to the encrypted smbpasswd file. By
     default the path to the smbpasswd file  is compiled into Samba.</para>
diff --git a/docs-xml/smbdotconf/security/unixpasswordsync.xml b/docs-xml/smbdotconf/security/unixpasswordsync.xml
index d88254b..321ece5 100644
--- a/docs-xml/smbdotconf/security/unixpasswordsync.xml
+++ b/docs-xml/smbdotconf/security/unixpasswordsync.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="unix password sync"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This boolean parameter controls whether Samba 
diff --git a/docs-xml/smbdotconf/security/username.xml b/docs-xml/smbdotconf/security/username.xml
index a85076c..ec064bd 100644
--- a/docs-xml/smbdotconf/security/username.xml
+++ b/docs-xml/smbdotconf/security/username.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="username"
-	context="S"
-	type="string"
+                 context="S"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>user</synonym>
 <synonym>users</synonym>
diff --git a/docs-xml/smbdotconf/security/usernamelevel.xml b/docs-xml/smbdotconf/security/usernamelevel.xml
index d2cdb5b..f5248c0 100644
--- a/docs-xml/smbdotconf/security/usernamelevel.xml
+++ b/docs-xml/smbdotconf/security/usernamelevel.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="username level"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option helps Samba to try and 'guess' at 
diff --git a/docs-xml/smbdotconf/security/usernamemap.xml b/docs-xml/smbdotconf/security/usernamemap.xml
index c5a15d0..8867ea6 100644
--- a/docs-xml/smbdotconf/security/usernamemap.xml
+++ b/docs-xml/smbdotconf/security/usernamemap.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="username map"
                  context="G"
-				 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/security/usernamemapcachetime.xml b/docs-xml/smbdotconf/security/usernamemapcachetime.xml
index 16aaaaf..974026c 100644
--- a/docs-xml/smbdotconf/security/usernamemapcachetime.xml
+++ b/docs-xml/smbdotconf/security/usernamemapcachetime.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="username map cache time"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/security/usernamemapscript.xml b/docs-xml/smbdotconf/security/usernamemapscript.xml
index 2e43a78..0edd4eb 100644
--- a/docs-xml/smbdotconf/security/usernamemapscript.xml
+++ b/docs-xml/smbdotconf/security/usernamemapscript.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="username map script"
                  context="G"
-		 type="string"
+                 type="string"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This script is a mutually exclusive alternative to the 
diff --git a/docs-xml/smbdotconf/security/validusers.xml b/docs-xml/smbdotconf/security/validusers.xml
index ec3e11e..713c466 100644
--- a/docs-xml/smbdotconf/security/validusers.xml
+++ b/docs-xml/smbdotconf/security/validusers.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="valid users"
                  context="S"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/security/writeable.xml b/docs-xml/smbdotconf/security/writeable.xml
index 8c0e12e..d065842 100644
--- a/docs-xml/smbdotconf/security/writeable.xml
+++ b/docs-xml/smbdotconf/security/writeable.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="writeable"
                  context="S"
-				 type="boolean"
+                 type="boolean"
                  synonym="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>writable</synonym>
diff --git a/docs-xml/smbdotconf/security/writelist.xml b/docs-xml/smbdotconf/security/writelist.xml
index c17db81..08ce2fa 100644
--- a/docs-xml/smbdotconf/security/writelist.xml
+++ b/docs-xml/smbdotconf/security/writelist.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="write list"
                  context="S"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/winbind/createkrb5conf.xml b/docs-xml/smbdotconf/winbind/createkrb5conf.xml
index bb2d300..4054034 100644
--- a/docs-xml/smbdotconf/winbind/createkrb5conf.xml
+++ b/docs-xml/smbdotconf/winbind/createkrb5conf.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="create krb5 conf"
-	context="G"
-	type="boolean"
+                 context="G"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/winbind/idmapbackend.xml b/docs-xml/smbdotconf/winbind/idmapbackend.xml
index a554741..9743f5d 100644
--- a/docs-xml/smbdotconf/winbind/idmapbackend.xml
+++ b/docs-xml/smbdotconf/winbind/idmapbackend.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="idmap backend"
                  context="G"
-		 type="string"
+                 type="string"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/winbind/idmapcachetime.xml b/docs-xml/smbdotconf/winbind/idmapcachetime.xml
index 4fe6536..87c6c56 100644
--- a/docs-xml/smbdotconf/winbind/idmapcachetime.xml
+++ b/docs-xml/smbdotconf/winbind/idmapcachetime.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="idmap cache time"
                  context="G"
-		 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the number of seconds that Winbind's
diff --git a/docs-xml/smbdotconf/winbind/idmapgid.xml b/docs-xml/smbdotconf/winbind/idmapgid.xml
index b5652b8..24e5fcd 100644
--- a/docs-xml/smbdotconf/winbind/idmapgid.xml
+++ b/docs-xml/smbdotconf/winbind/idmapgid.xml
@@ -1,9 +1,9 @@
 <samba:parameter name="idmap gid"
                  context="G"
-		 type="string"
+                 type="string"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-		<synonym>winbind gid</synonym>
+<synonym>winbind gid</synonym>
 <description>
 	<para>
 	The idmap gid parameter specifies the range of group ids
diff --git a/docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml b/docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml
index 76f538a..32c4e1f 100644
--- a/docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml
+++ b/docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="idmap negative cache time"
                  context="G"
-		 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the number of seconds that Winbind's
diff --git a/docs-xml/smbdotconf/winbind/idmapuid.xml b/docs-xml/smbdotconf/winbind/idmapuid.xml
index f72929c..e85cb9b 100644
--- a/docs-xml/smbdotconf/winbind/idmapuid.xml
+++ b/docs-xml/smbdotconf/winbind/idmapuid.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="idmap uid"
-			 type="string"
+                 type="string"
                  context="G"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
diff --git a/docs-xml/smbdotconf/winbind/templatehomedir.xml b/docs-xml/smbdotconf/winbind/templatehomedir.xml
index 2afa6b3..cbf391c 100644
--- a/docs-xml/smbdotconf/winbind/templatehomedir.xml
+++ b/docs-xml/smbdotconf/winbind/templatehomedir.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="template homedir"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/winbind/templateshell.xml b/docs-xml/smbdotconf/winbind/templateshell.xml
index 0844bdf..21e44e6 100644
--- a/docs-xml/smbdotconf/winbind/templateshell.xml
+++ b/docs-xml/smbdotconf/winbind/templateshell.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="template shell"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/winbind/winbindcachetime.xml b/docs-xml/smbdotconf/winbind/winbindcachetime.xml
index 3ff8089..2f69de3 100644
--- a/docs-xml/smbdotconf/winbind/winbindcachetime.xml
+++ b/docs-xml/smbdotconf/winbind/winbindcachetime.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind cache time"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the number of 
diff --git a/docs-xml/smbdotconf/winbind/winbindenumgroups.xml b/docs-xml/smbdotconf/winbind/winbindenumgroups.xml
index 4d7b5e6..c3339e1 100644
--- a/docs-xml/smbdotconf/winbind/winbindenumgroups.xml
+++ b/docs-xml/smbdotconf/winbind/winbindenumgroups.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind enum groups"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>On large installations using <citerefentry><refentrytitle>winbindd</refentrytitle>
diff --git a/docs-xml/smbdotconf/winbind/winbindexpandgroups.xml b/docs-xml/smbdotconf/winbind/winbindexpandgroups.xml
index 73c1464..941ba04 100644
--- a/docs-xml/smbdotconf/winbind/winbindexpandgroups.xml
+++ b/docs-xml/smbdotconf/winbind/winbindexpandgroups.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind expand groups"
                  context="G"
-		 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option controls the maximum depth that winbindd
diff --git a/docs-xml/smbdotconf/winbind/winbindmaxclients.xml b/docs-xml/smbdotconf/winbind/winbindmaxclients.xml
index c11d0b6..847a588 100644
--- a/docs-xml/smbdotconf/winbind/winbindmaxclients.xml
+++ b/docs-xml/smbdotconf/winbind/winbindmaxclients.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind max clients"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the maximum number of clients
diff --git a/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml b/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
index c279244..c764267 100644
--- a/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
+++ b/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
@@ -1,8 +1,8 @@
 <samba:parameter name="winbind max domain connections"
-		 context="G"
-		 type="integer"
+                 context="G"
+                 type="integer"
                  generated_function="0"
-		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the maximum number of simultaneous
 	connections that the <citerefentry><refentrytitle>winbindd</refentrytitle>
diff --git a/docs-xml/smbdotconf/winbind/winbindnestedgroups.xml b/docs-xml/smbdotconf/winbind/winbindnestedgroups.xml
index 8a8bc54..a4a03eb 100644
--- a/docs-xml/smbdotconf/winbind/winbindnestedgroups.xml
+++ b/docs-xml/smbdotconf/winbind/winbindnestedgroups.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind nested groups"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>If set to yes, this parameter activates the support for nested
diff --git a/docs-xml/smbdotconf/winbind/winbindnormalizenames.xml b/docs-xml/smbdotconf/winbind/winbindnormalizenames.xml
index 8339cbf..362f488 100644
--- a/docs-xml/smbdotconf/winbind/winbindnormalizenames.xml
+++ b/docs-xml/smbdotconf/winbind/winbindnormalizenames.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind normalize names"
                  context="G"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls whether winbindd will replace
diff --git a/docs-xml/smbdotconf/winbind/winbindnssinfo.xml b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
index 6b09be0..5ec9ed6 100644
--- a/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
+++ b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind nss info"
                  context="G"
-				 type="list"
+                 type="list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/winbind/winbindofflinelogon.xml b/docs-xml/smbdotconf/winbind/winbindofflinelogon.xml
index 1a5b522..33fb318 100644
--- a/docs-xml/smbdotconf/winbind/winbindofflinelogon.xml
+++ b/docs-xml/smbdotconf/winbind/winbindofflinelogon.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind offline logon"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml b/docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml
index 11d105c..f26fd5e 100644
--- a/docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml
+++ b/docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind reconnect delay"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the number of
diff --git a/docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml b/docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml
index 00c65df..f6bb738 100644
--- a/docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml
+++ b/docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind refresh tickets"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml b/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
index d6c9e08..8c7ec56 100644
--- a/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
+++ b/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind request timeout"
                  context="G"
-				 type="integer"
+                 type="integer"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the number of
diff --git a/docs-xml/smbdotconf/winbind/winbindrpconly.xml b/docs-xml/smbdotconf/winbind/winbindrpconly.xml
index 3019e71..50795ac 100644
--- a/docs-xml/smbdotconf/winbind/winbindrpconly.xml
+++ b/docs-xml/smbdotconf/winbind/winbindrpconly.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind rpc only"
-	context="G"
-	type="boolean"
+                 context="G"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/winbind/winbindseparator.xml b/docs-xml/smbdotconf/winbind/winbindseparator.xml
index 8c4a11a..1c1632f 100644
--- a/docs-xml/smbdotconf/winbind/winbindseparator.xml
+++ b/docs-xml/smbdotconf/winbind/winbindseparator.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind separator"
                  context="G"
-				 type="string"
+                 type="string"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/winbind/winbindtrusteddomainsonly.xml b/docs-xml/smbdotconf/winbind/winbindtrusteddomainsonly.xml
index 629832c..3d420c7 100644
--- a/docs-xml/smbdotconf/winbind/winbindtrusteddomainsonly.xml
+++ b/docs-xml/smbdotconf/winbind/winbindtrusteddomainsonly.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind trusted domains only"
                  context="G"
-		 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml b/docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml
index 8278aa5..186398e 100644
--- a/docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml
+++ b/docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind use default domain"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies whether the
diff --git a/docs-xml/smbdotconf/wins/dnsproxy.xml b/docs-xml/smbdotconf/wins/dnsproxy.xml
index 6b3c198..75d4446 100644
--- a/docs-xml/smbdotconf/wins/dnsproxy.xml
+++ b/docs-xml/smbdotconf/wins/dnsproxy.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="dns proxy"
                  context="G"
-				 type="boolean"
+                 type="boolean"
                  function="wins_dns_proxy"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
-- 
2.4.3


From bb58de02a58e0ace430ed024847bacb7efa5ef3a Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 13 May 2015 11:49:39 +0200
Subject: [PATCH 05/78] docs:smbdotconf: fix type of "preferred master"
 parameter.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/browse/preferredmaster.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs-xml/smbdotconf/browse/preferredmaster.xml b/docs-xml/smbdotconf/browse/preferredmaster.xml
index 30a59e8..d30c7f5 100644
--- a/docs-xml/smbdotconf/browse/preferredmaster.xml
+++ b/docs-xml/smbdotconf/browse/preferredmaster.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="preferred master"
                  context="G"
-                 type="boolean-auto"
+                 type="enum"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>prefered master</synonym>
-- 
2.4.3


From 44d09cbbf17227221e69fc2d5af60ac1727bb9cf Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 14 May 2015 16:31:52 +0200
Subject: [PATCH 06/78] docs:smbdotconf: fix context of 'include' in doc

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/misc/include.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs-xml/smbdotconf/misc/include.xml b/docs-xml/smbdotconf/misc/include.xml
index a674ade..79c2e6c 100644
--- a/docs-xml/smbdotconf/misc/include.xml
+++ b/docs-xml/smbdotconf/misc/include.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="include"
-                 context="G"
+                 context="S"
                  type="string"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-- 
2.4.3


From ecaaea4e3059d34cfe749961bfc63424f6da2dd7 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 10:31:46 +0200
Subject: [PATCH 07/78] tests: teach the docs test about boolean-rev

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index 1b9b94a..4261e78 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -273,8 +273,10 @@ class SmbDotConfTests(TestCase):
 
     def _set_arbitrary(self, program, exceptions=None):
         arbitrary = {'string': 'string', 'boolean': 'yes', 'integer': '5',
+                     'boolean-rev': 'yes',
                      'enum':'', 'boolean-auto': '', 'char': 'a', 'list': 'a, b, c'}
         opposite_arbitrary = {'string': 'string2', 'boolean': 'no', 'integer': '6',
+                              'boolean-rev': 'no',
                               'enum':'', 'boolean-auto': '', 'char': 'b', 'list': 'd, e, f'}
         topdir = os.path.abspath(samba.source_tree_topdir())
         try:
-- 
2.4.3


From 6443e51ce6a8e6d4b088ce75119b4e2aedb2890b Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 20 May 2015 10:44:17 +0200
Subject: [PATCH 08/78] docs:smbdotconf: fix type to bool-rev for reverse
 synonyms.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/printing/enablespoolss.xml | 2 +-
 docs-xml/smbdotconf/security/writeable.xml     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs-xml/smbdotconf/printing/enablespoolss.xml b/docs-xml/smbdotconf/printing/enablespoolss.xml
index e721cdf..d69f8f4 100644
--- a/docs-xml/smbdotconf/printing/enablespoolss.xml
+++ b/docs-xml/smbdotconf/printing/enablespoolss.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="enable spoolss"
                  context="G"
-                 type="boolean"
+                 type="boolean-rev"
                  synonym="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/security/writeable.xml b/docs-xml/smbdotconf/security/writeable.xml
index d065842..2bf7070 100644
--- a/docs-xml/smbdotconf/security/writeable.xml
+++ b/docs-xml/smbdotconf/security/writeable.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="writeable"
                  context="S"
-                 type="boolean"
+                 type="boolean-rev"
                  synonym="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>writable</synonym>
-- 
2.4.3


From 5c4e89b3d3f0362308b7cb0707a20f52fb12f1e3 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 29 Apr 2015 01:33:03 +0200
Subject: [PATCH 09/78] docs:smbdotconf: add param flag 'synonym' to the DTD

It is already used in the param_table.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/build/DTD/samba-doc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs-xml/build/DTD/samba-doc b/docs-xml/build/DTD/samba-doc
index 06aa02a..43b01d3 100644
--- a/docs-xml/build/DTD/samba-doc
+++ b/docs-xml/build/DTD/samba-doc
@@ -42,6 +42,7 @@
 	name CDATA #REQUIRED
 	type CDATA #REQUIRED
 	context CDATA #REQUIRED
+	synonym CDATA #IMPLIED
 >
 <!ELEMENT description ANY>
 <!ELEMENT synonym (#PCDATA)>
-- 
2.4.3


From b49803ca3aaf7170575589170819d7435324da7c Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 12 May 2015 12:24:46 +0200
Subject: [PATCH 10/78] docs:smbdotconf: add param flags 'handler' and
 'deprecated' to the DTD

These are already used in the docs.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/build/DTD/samba-doc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/docs-xml/build/DTD/samba-doc b/docs-xml/build/DTD/samba-doc
index 43b01d3..d23a686 100644
--- a/docs-xml/build/DTD/samba-doc
+++ b/docs-xml/build/DTD/samba-doc
@@ -43,6 +43,8 @@
 	type CDATA #REQUIRED
 	context CDATA #REQUIRED
 	synonym CDATA #IMPLIED
+	handler CDATA #IMPLIED
+	deprecated CDATA #IMPLIED
 >
 <!ELEMENT description ANY>
 <!ELEMENT synonym (#PCDATA)>
-- 
2.4.3


From 342f5dd3ffa72d7f1e3a817d3e59021578a8c8c7 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 12 May 2015 10:07:10 +0200
Subject: [PATCH 11/78] docs:smbdotconf: add handler info to smbdotconf docs
 where missing

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/base/doscharset.xml        | 1 +
 docs-xml/smbdotconf/base/netbiosaliases.xml    | 1 +
 docs-xml/smbdotconf/base/realm.xml             | 1 +
 docs-xml/smbdotconf/base/unixcharset.xml       | 1 +
 docs-xml/smbdotconf/logging/ldapdebuglevel.xml | 1 +
 docs-xml/smbdotconf/logging/logfile.xml        | 1 +
 docs-xml/smbdotconf/logging/loglevel.xml       | 1 +
 docs-xml/smbdotconf/misc/copy.xml              | 1 +
 docs-xml/smbdotconf/misc/include.xml           | 1 +
 docs-xml/smbdotconf/printing/printing.xml      | 1 +
 docs-xml/smbdotconf/winbind/idmapbackend.xml   | 1 +
 docs-xml/smbdotconf/winbind/idmapgid.xml       | 1 +
 docs-xml/smbdotconf/winbind/idmapuid.xml       | 1 +
 13 files changed, 13 insertions(+)

diff --git a/docs-xml/smbdotconf/base/doscharset.xml b/docs-xml/smbdotconf/base/doscharset.xml
index e0939d2..c99b840 100644
--- a/docs-xml/smbdotconf/base/doscharset.xml
+++ b/docs-xml/smbdotconf/base/doscharset.xml
@@ -2,6 +2,7 @@
                  type="string"
                  context="G"
                  constant="1"
+                 handler="handle_dos_charset"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
         <para>DOS SMB clients assume the server has 
diff --git a/docs-xml/smbdotconf/base/netbiosaliases.xml b/docs-xml/smbdotconf/base/netbiosaliases.xml
index 3f33463..089cff8 100644
--- a/docs-xml/smbdotconf/base/netbiosaliases.xml
+++ b/docs-xml/smbdotconf/base/netbiosaliases.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="netbios aliases"
                  context="G"
                  type="list"
+                 handler="handle_netbios_aliases"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
         <para>This is a list of NetBIOS names that nmbd will 
diff --git a/docs-xml/smbdotconf/base/realm.xml b/docs-xml/smbdotconf/base/realm.xml
index e28909c..8499c78 100644
--- a/docs-xml/smbdotconf/base/realm.xml
+++ b/docs-xml/smbdotconf/base/realm.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="string"
                  constant="1"
+                 handler="handle_realm"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
         <para>This option specifies the kerberos realm to use. The realm is 
diff --git a/docs-xml/smbdotconf/base/unixcharset.xml b/docs-xml/smbdotconf/base/unixcharset.xml
index 3122f11..06754a4 100644
--- a/docs-xml/smbdotconf/base/unixcharset.xml
+++ b/docs-xml/smbdotconf/base/unixcharset.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="string"
                  constant="1"
+                 handler="handle_charset"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
         <para>Specifies the charset the unix machine 
diff --git a/docs-xml/smbdotconf/logging/ldapdebuglevel.xml b/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
index 1b75bb9..2092b7d 100644
--- a/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
+++ b/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="ldap debug level"
                  type="integer"
                  context="G"
+                 handler="handle_ldap_debug_level"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/logging/logfile.xml b/docs-xml/smbdotconf/logging/logfile.xml
index 9b258cc..eb751cb 100644
--- a/docs-xml/smbdotconf/logging/logfile.xml
+++ b/docs-xml/smbdotconf/logging/logfile.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="string"
                  function="logfile"
+                 handler="handle_logfile"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/loglevel.xml b/docs-xml/smbdotconf/logging/loglevel.xml
index d642b50..07b9b8c 100644
--- a/docs-xml/smbdotconf/logging/loglevel.xml
+++ b/docs-xml/smbdotconf/logging/loglevel.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="log level"
                  type="string"
                  context="G"
+                 handler="handle_debug_list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>debuglevel</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/misc/copy.xml b/docs-xml/smbdotconf/misc/copy.xml
index 945f2c9..53e899e 100644
--- a/docs-xml/smbdotconf/misc/copy.xml
+++ b/docs-xml/smbdotconf/misc/copy.xml
@@ -2,6 +2,7 @@
                  type="string"
                  context="S"
                  generated_function="0"
+                 handler="handle_copy"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter allows you to "clone" service 
diff --git a/docs-xml/smbdotconf/misc/include.xml b/docs-xml/smbdotconf/misc/include.xml
index 79c2e6c..cbda1ed 100644
--- a/docs-xml/smbdotconf/misc/include.xml
+++ b/docs-xml/smbdotconf/misc/include.xml
@@ -2,6 +2,7 @@
                  context="S"
                  type="string"
                  generated_function="0"
+                 handler="handle_include"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/printing/printing.xml b/docs-xml/smbdotconf/printing/printing.xml
index 95d5da7..86f8efb 100644
--- a/docs-xml/smbdotconf/printing/printing.xml
+++ b/docs-xml/smbdotconf/printing/printing.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="printing"
                  context="S"
                  type="enum"
+                 handler="handle_printing"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameters controls how printer status  information is
diff --git a/docs-xml/smbdotconf/winbind/idmapbackend.xml b/docs-xml/smbdotconf/winbind/idmapbackend.xml
index 9743f5d..410be8e 100644
--- a/docs-xml/smbdotconf/winbind/idmapbackend.xml
+++ b/docs-xml/smbdotconf/winbind/idmapbackend.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="string"
                  generated_function="0"
+                 handler="handle_idmap_backend"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/winbind/idmapgid.xml b/docs-xml/smbdotconf/winbind/idmapgid.xml
index 24e5fcd..62dcd58 100644
--- a/docs-xml/smbdotconf/winbind/idmapgid.xml
+++ b/docs-xml/smbdotconf/winbind/idmapgid.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="string"
                  generated_function="0"
+                 handler="handle_idmap_gid"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>winbind gid</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/winbind/idmapuid.xml b/docs-xml/smbdotconf/winbind/idmapuid.xml
index e85cb9b..1e7bc35 100644
--- a/docs-xml/smbdotconf/winbind/idmapuid.xml
+++ b/docs-xml/smbdotconf/winbind/idmapuid.xml
@@ -2,6 +2,7 @@
                  type="string"
                  context="G"
                  generated_function="0"
+                 handler="handle_idmap_uid"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>winbind uid</synonym>
 <description>
-- 
2.4.3


From f41646a1ead449e606c3a770922adcbd3acf81f8 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 09:43:23 +0200
Subject: [PATCH 12/78] docs:smbdotconf: add param flag 'enumlist' to the DTD

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/build/DTD/samba-doc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs-xml/build/DTD/samba-doc b/docs-xml/build/DTD/samba-doc
index d23a686..afde348 100644
--- a/docs-xml/build/DTD/samba-doc
+++ b/docs-xml/build/DTD/samba-doc
@@ -45,6 +45,7 @@
 	synonym CDATA #IMPLIED
 	handler CDATA #IMPLIED
 	deprecated CDATA #IMPLIED
+	enumlist CDATA #IMPLIED
 >
 <!ELEMENT description ANY>
 <!ELEMENT synonym (#PCDATA)>
-- 
2.4.3


From b2395c9f00a280912fb183bd09ef46e4a0b382b2 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 28 Apr 2015 11:46:21 +0200
Subject: [PATCH 13/78] docs:smbdotconf: add enumlist property to parameters
 where missing

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/base/configbackend.xml          | 1 +
 docs-xml/smbdotconf/browse/domainmaster.xml         | 1 +
 docs-xml/smbdotconf/browse/lmannounce.xml           | 1 +
 docs-xml/smbdotconf/browse/preferredmaster.xml      | 1 +
 docs-xml/smbdotconf/domain/allowdnsupdates.xml      | 1 +
 docs-xml/smbdotconf/filename/casesensitive.xml      | 1 +
 docs-xml/smbdotconf/filename/defaultcase.xml        | 1 +
 docs-xml/smbdotconf/filename/mapreadonly.xml        | 1 +
 docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml | 1 +
 docs-xml/smbdotconf/ldap/ldapderef.xml              | 1 +
 docs-xml/smbdotconf/ldap/ldapfollowreferral.xml     | 1 +
 docs-xml/smbdotconf/ldap/ldappasswdsync.xml         | 1 +
 docs-xml/smbdotconf/ldap/ldapssl.xml                | 1 +
 docs-xml/smbdotconf/locking/cscpolicy.xml           | 1 +
 docs-xml/smbdotconf/locking/strictlocking.xml       | 1 +
 docs-xml/smbdotconf/misc/smbdprofilinglevel.xml     | 1 +
 docs-xml/smbdotconf/printing/cupsencrypt.xml        | 1 +
 docs-xml/smbdotconf/printing/printing.xml           | 1 +
 docs-xml/smbdotconf/protocol/clientmaxprotocol.xml  | 1 +
 docs-xml/smbdotconf/protocol/clientminprotocol.xml  | 1 +
 docs-xml/smbdotconf/protocol/servermaxprotocol.xml  | 1 +
 docs-xml/smbdotconf/protocol/serverminprotocol.xml  | 1 +
 docs-xml/smbdotconf/security/clientschannel.xml     | 1 +
 docs-xml/smbdotconf/security/clientsigning.xml      | 1 +
 docs-xml/smbdotconf/security/kerberosmethod.xml     | 1 +
 docs-xml/smbdotconf/security/maptoguest.xml         | 1 +
 docs-xml/smbdotconf/security/security.xml           | 1 +
 docs-xml/smbdotconf/security/serverrole.xml         | 1 +
 docs-xml/smbdotconf/security/serverschannel.xml     | 1 +
 docs-xml/smbdotconf/security/serversigning.xml      | 1 +
 docs-xml/smbdotconf/security/smbencrypt.xml         | 1 +
 31 files changed, 31 insertions(+)

diff --git a/docs-xml/smbdotconf/base/configbackend.xml b/docs-xml/smbdotconf/base/configbackend.xml
index 35379ed..2237569 100644
--- a/docs-xml/smbdotconf/base/configbackend.xml
+++ b/docs-xml/smbdotconf/base/configbackend.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="config backend"
                  context="G"
                  type="enum"
+                 enumlist="enum_config_backend"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/browse/domainmaster.xml b/docs-xml/smbdotconf/browse/domainmaster.xml
index 7a75865..8817f2b 100644
--- a/docs-xml/smbdotconf/browse/domainmaster.xml
+++ b/docs-xml/smbdotconf/browse/domainmaster.xml
@@ -1,5 +1,6 @@
 <samba:parameter name="domain master"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  context="G"
                  function="_domain_master"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
diff --git a/docs-xml/smbdotconf/browse/lmannounce.xml b/docs-xml/smbdotconf/browse/lmannounce.xml
index 8c9e981..1ec5052 100644
--- a/docs-xml/smbdotconf/browse/lmannounce.xml
+++ b/docs-xml/smbdotconf/browse/lmannounce.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="lm announce"
                  context="G"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
diff --git a/docs-xml/smbdotconf/browse/preferredmaster.xml b/docs-xml/smbdotconf/browse/preferredmaster.xml
index d30c7f5..0392564 100644
--- a/docs-xml/smbdotconf/browse/preferredmaster.xml
+++ b/docs-xml/smbdotconf/browse/preferredmaster.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="preferred master"
                  context="G"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>prefered master</synonym>
diff --git a/docs-xml/smbdotconf/domain/allowdnsupdates.xml b/docs-xml/smbdotconf/domain/allowdnsupdates.xml
index 1563d29..6c0a0d0 100644
--- a/docs-xml/smbdotconf/domain/allowdnsupdates.xml
+++ b/docs-xml/smbdotconf/domain/allowdnsupdates.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="allow dns updates"
                  context="G"
                  type="enum"
+                 enumlist="enum_dns_update_settings"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option determines what kind of updates to the DNS are allowed.
diff --git a/docs-xml/smbdotconf/filename/casesensitive.xml b/docs-xml/smbdotconf/filename/casesensitive.xml
index 3b2b70b..f0e53be 100644
--- a/docs-xml/smbdotconf/filename/casesensitive.xml
+++ b/docs-xml/smbdotconf/filename/casesensitive.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="case sensitive"
                  context="S"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>casesignames</synonym>
 
diff --git a/docs-xml/smbdotconf/filename/defaultcase.xml b/docs-xml/smbdotconf/filename/defaultcase.xml
index ccf8dad..988bad9 100644
--- a/docs-xml/smbdotconf/filename/defaultcase.xml
+++ b/docs-xml/smbdotconf/filename/defaultcase.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="default case"
                  context="S"
                  type="enum"
+                 enumlist="enum_case"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>See the section on <smbconfoption name="name mangling"/>.
diff --git a/docs-xml/smbdotconf/filename/mapreadonly.xml b/docs-xml/smbdotconf/filename/mapreadonly.xml
index d467ec6..54a5e01 100644
--- a/docs-xml/smbdotconf/filename/mapreadonly.xml
+++ b/docs-xml/smbdotconf/filename/mapreadonly.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="map readonly"
                  context="S"
                  type="enum"
+                 enumlist="enum_map_readonly"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml b/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
index 5ada783..3152f06 100644
--- a/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
+++ b/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="client ldap sasl wrapping"
                  context="G"
                  type="enum"
+                 enumlist="enum_ldap_sasl_wrapping"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/ldap/ldapderef.xml b/docs-xml/smbdotconf/ldap/ldapderef.xml
index 9bddabc..920d1ae 100644
--- a/docs-xml/smbdotconf/ldap/ldapderef.xml
+++ b/docs-xml/smbdotconf/ldap/ldapderef.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="ldap deref"
                  context="G"
                  type="enum"
+                 enumlist="enum_ldap_deref"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <description>
diff --git a/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml b/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
index 0bbdcc6..3130a7b 100644
--- a/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
+++ b/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="ldap follow referral"
                  context="G"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <description>
diff --git a/docs-xml/smbdotconf/ldap/ldappasswdsync.xml b/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
index e3c3c2e..42bc916 100644
--- a/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
+++ b/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="ldap passwd sync"
                  context="G"
                  type="enum"
+                 enumlist="enum_ldap_passwd_sync"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <synonym>ldap password sync</synonym>
diff --git a/docs-xml/smbdotconf/ldap/ldapssl.xml b/docs-xml/smbdotconf/ldap/ldapssl.xml
index ca9b5cb..a50c88e 100644
--- a/docs-xml/smbdotconf/ldap/ldapssl.xml
+++ b/docs-xml/smbdotconf/ldap/ldapssl.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="ldap ssl"
                  context="G"
                  type="enum"
+                 enumlist="enum_ldap_ssl"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option is used to define whether or not Samba should
diff --git a/docs-xml/smbdotconf/locking/cscpolicy.xml b/docs-xml/smbdotconf/locking/cscpolicy.xml
index 596529e..511639e 100644
--- a/docs-xml/smbdotconf/locking/cscpolicy.xml
+++ b/docs-xml/smbdotconf/locking/cscpolicy.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="csc policy"
                  context="S"
                  type="enum"
+                 enumlist="enum_csc_policy"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/locking/strictlocking.xml b/docs-xml/smbdotconf/locking/strictlocking.xml
index 563042a..89a1bf7 100644
--- a/docs-xml/smbdotconf/locking/strictlocking.xml
+++ b/docs-xml/smbdotconf/locking/strictlocking.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="strict locking"
                  context="S"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  parm="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml b/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
index e9f70a2..54dccf0 100644
--- a/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
+++ b/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="smbd profiling level"
                  context="G"
                  type="enum"
+                 enumlist="enum_smbd_profiling_level"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/printing/cupsencrypt.xml b/docs-xml/smbdotconf/printing/cupsencrypt.xml
index f4fc507..db7bf51 100644
--- a/docs-xml/smbdotconf/printing/cupsencrypt.xml
+++ b/docs-xml/smbdotconf/printing/cupsencrypt.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="cups encrypt"
                  context="G"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/printing/printing.xml b/docs-xml/smbdotconf/printing/printing.xml
index 86f8efb..2e25621 100644
--- a/docs-xml/smbdotconf/printing/printing.xml
+++ b/docs-xml/smbdotconf/printing/printing.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="printing"
                  context="S"
                  type="enum"
+                 enumlist="enum_printing"
                  handler="handle_printing"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml b/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
index 449ab18..240ba1a 100644
--- a/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="enum"
                  function="_client_max_protocol"
+                 enumlist="enum_protocol"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>The value of the parameter (a string) is the highest 
diff --git a/docs-xml/smbdotconf/protocol/clientminprotocol.xml b/docs-xml/smbdotconf/protocol/clientminprotocol.xml
index a02cb0e..ac0d460 100644
--- a/docs-xml/smbdotconf/protocol/clientminprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/clientminprotocol.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="client min protocol"
                  context="G"
                  type="enum"
+                 enumlist="enum_protocol"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This setting controls the minimum protocol version that the
diff --git a/docs-xml/smbdotconf/protocol/servermaxprotocol.xml b/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
index 217e75a..1dbe602 100644
--- a/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="server max protocol"
                  context="G"
                  type="enum"
+                 enumlist="enum_protocol"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>The value of the parameter (a string) is the highest 
diff --git a/docs-xml/smbdotconf/protocol/serverminprotocol.xml b/docs-xml/smbdotconf/protocol/serverminprotocol.xml
index 57a3f7b..4765f5b 100644
--- a/docs-xml/smbdotconf/protocol/serverminprotocol.xml
+++ b/docs-xml/smbdotconf/protocol/serverminprotocol.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="server min protocol"
                  context="G"
                  type="enum"
+                 enumlist="enum_protocol"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>min protocol</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/clientschannel.xml b/docs-xml/smbdotconf/security/clientschannel.xml
index 2946a07..6ab3558 100644
--- a/docs-xml/smbdotconf/security/clientschannel.xml
+++ b/docs-xml/smbdotconf/security/clientschannel.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="client schannel"
                  context="G"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/security/clientsigning.xml b/docs-xml/smbdotconf/security/clientsigning.xml
index aa5b04c..2af5ada 100644
--- a/docs-xml/smbdotconf/security/clientsigning.xml
+++ b/docs-xml/smbdotconf/security/clientsigning.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="client signing"
                  context="G"
                  type="enum"
+                 enumlist="enum_smb_signing_vals"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This controls whether the client is allowed or required to use SMB signing. Possible values 
diff --git a/docs-xml/smbdotconf/security/kerberosmethod.xml b/docs-xml/smbdotconf/security/kerberosmethod.xml
index c529e14..b7cd988 100644
--- a/docs-xml/smbdotconf/security/kerberosmethod.xml
+++ b/docs-xml/smbdotconf/security/kerberosmethod.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="kerberos method"
                  context="G"
                  type="enum"
+                 enumlist="enum_kerberos_method"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/security/maptoguest.xml b/docs-xml/smbdotconf/security/maptoguest.xml
index a3033fa..c98086a 100644
--- a/docs-xml/smbdotconf/security/maptoguest.xml
+++ b/docs-xml/smbdotconf/security/maptoguest.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="map to guest"
                  type="enum"
                  context="G"
+                 enumlist="enum_map_to_guest"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter can take four different values, which tell
diff --git a/docs-xml/smbdotconf/security/security.xml b/docs-xml/smbdotconf/security/security.xml
index 2e6ec63..89e6a45 100644
--- a/docs-xml/smbdotconf/security/security.xml
+++ b/docs-xml/smbdotconf/security/security.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="enum"
                  function="_security"
+                 enumlist="enum_security"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <when_value value="security">
     <requires option="encrypted passwords">/(yes|true)/</requires>
diff --git a/docs-xml/smbdotconf/security/serverrole.xml b/docs-xml/smbdotconf/security/serverrole.xml
index fc3d183..ce3ef13 100644
--- a/docs-xml/smbdotconf/security/serverrole.xml
+++ b/docs-xml/smbdotconf/security/serverrole.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="enum"
                  function="_server_role"
+                 enumlist="enum_server_role"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option determines the basic operating mode of a Samba
diff --git a/docs-xml/smbdotconf/security/serverschannel.xml b/docs-xml/smbdotconf/security/serverschannel.xml
index 6ed6c4d..a2dca1b 100644
--- a/docs-xml/smbdotconf/security/serverschannel.xml
+++ b/docs-xml/smbdotconf/security/serverschannel.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="server schannel"
                  context="G"
                  type="enum"
+                 enumlist="enum_bool_auto"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/security/serversigning.xml b/docs-xml/smbdotconf/security/serversigning.xml
index e52214b..21b79f0 100644
--- a/docs-xml/smbdotconf/security/serversigning.xml
+++ b/docs-xml/smbdotconf/security/serversigning.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="server signing"
                  context="G"
                  type="enum"
+                 enumlist="enum_smb_signing_vals"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/security/smbencrypt.xml b/docs-xml/smbdotconf/security/smbencrypt.xml
index 6236562..0f08966 100644
--- a/docs-xml/smbdotconf/security/smbencrypt.xml
+++ b/docs-xml/smbdotconf/security/smbencrypt.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="smb encrypt"
                  context="S"
                  type="enum"
+                 enumlist="enum_smb_signing_vals"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
-- 
2.4.3


From a99f68adb1bb6bb37c7a865dcce74653d60d4377 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Mon, 15 Jun 2015 23:45:45 +0200
Subject: [PATCH 14/78] param: rename szLdapGroupSuffix -> _ldap_group_suffix

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index c762259..4efcd1b 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -257,7 +257,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szLdapMachineSuffix;					\
 	char *szLdapUserSuffix;						\
 	char *szLdapIdmapSuffix;					\
-	char *szLdapGroupSuffix;					\
+	char *_ldap_group_suffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 3a0247c..f73ef03 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -2818,7 +2818,7 @@ struct parm_struct parm_table[] = {
 		.label		= "ldap group suffix",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szLdapGroupSuffix),
+		.offset		= GLOBAL_VAR(_ldap_group_suffix),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index beba137..07981a1 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -727,7 +727,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 	string_set(Globals.ctx, &Globals.ldap_suffix, "");
 	string_set(Globals.ctx, &Globals.szLdapMachineSuffix, "");
 	string_set(Globals.ctx, &Globals.szLdapUserSuffix, "");
-	string_set(Globals.ctx, &Globals.szLdapGroupSuffix, "");
+	string_set(Globals.ctx, &Globals._ldap_group_suffix, "");
 	string_set(Globals.ctx, &Globals.szLdapIdmapSuffix, "");
 
 	string_set(Globals.ctx, &Globals.ldap_admin_dn, "");
@@ -2377,8 +2377,8 @@ const char *lp_ldap_user_suffix(TALLOC_CTX *ctx)
 
 const char *lp_ldap_group_suffix(TALLOC_CTX *ctx)
 {
-	if (Globals.szLdapGroupSuffix[0])
-		return append_ldap_suffix(ctx, Globals.szLdapGroupSuffix);
+	if (Globals._ldap_group_suffix[0])
+		return append_ldap_suffix(ctx, Globals._ldap_group_suffix);
 
 	return lp_string(ctx, Globals.ldap_suffix);
 }
-- 
2.4.3


From 15fd782b3e604c70e04d183b25e75cc6d82c0a75 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Mon, 15 Jun 2015 23:47:37 +0200
Subject: [PATCH 15/78] param: turn ldap group suffix into a generated function

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml | 2 +-
 lib/param/loadparm.h                         | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml b/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
index f80a069..7de0fac 100644
--- a/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap group suffix"
                  context="G"
                  type="string"
-                 generated_function="0"
+                 function="_ldap_group_suffix"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the suffix that is 
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 4efcd1b..85afb08 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -257,7 +257,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szLdapMachineSuffix;					\
 	char *szLdapUserSuffix;						\
 	char *szLdapIdmapSuffix;					\
-	char *_ldap_group_suffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
-- 
2.4.3


From 36560580f8b06df5a9b1c06046a3bcf172461ab4 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Mon, 15 Jun 2015 23:58:35 +0200
Subject: [PATCH 16/78] param: rename szLdapUserSuffix -> _ldap_user_suffix

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 85afb08..e111040 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -255,7 +255,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	int CupsEncrypt;						\
 	int  iPreferredMaster;						\
 	char *szLdapMachineSuffix;					\
-	char *szLdapUserSuffix;						\
+	char *_ldap_user_suffix;					\
 	char *szLdapIdmapSuffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index f73ef03..54a70ca 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -2931,7 +2931,7 @@ struct parm_struct parm_table[] = {
 		.label		= "ldap user suffix",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szLdapUserSuffix),
+		.offset		= GLOBAL_VAR(_ldap_user_suffix),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 07981a1..ccb5a57 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -726,7 +726,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 	string_set(Globals.ctx, &Globals.passdb_backend, "tdbsam");
 	string_set(Globals.ctx, &Globals.ldap_suffix, "");
 	string_set(Globals.ctx, &Globals.szLdapMachineSuffix, "");
-	string_set(Globals.ctx, &Globals.szLdapUserSuffix, "");
+	string_set(Globals.ctx, &Globals._ldap_user_suffix, "");
 	string_set(Globals.ctx, &Globals._ldap_group_suffix, "");
 	string_set(Globals.ctx, &Globals.szLdapIdmapSuffix, "");
 
@@ -2369,8 +2369,8 @@ const char *lp_ldap_machine_suffix(TALLOC_CTX *ctx)
 
 const char *lp_ldap_user_suffix(TALLOC_CTX *ctx)
 {
-	if (Globals.szLdapUserSuffix[0])
-		return append_ldap_suffix(ctx, Globals.szLdapUserSuffix);
+	if (Globals._ldap_user_suffix[0])
+		return append_ldap_suffix(ctx, Globals._ldap_user_suffix);
 
 	return lp_string(ctx, Globals.ldap_suffix);
 }
-- 
2.4.3


From bede7e4f42da6487a273a49c5bb34c4a00bd35e0 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 16 Jun 2015 00:00:44 +0200
Subject: [PATCH 17/78] param: turn ldap user suffix into a generated function

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/ldap/ldapusersuffix.xml | 2 +-
 lib/param/loadparm.h                        | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs-xml/smbdotconf/ldap/ldapusersuffix.xml b/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
index f0f1c37..8e6b8a3 100644
--- a/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap user suffix"
                  context="G"
                  type="string"
-                 generated_function="0"
+                 function="_ldap_user_suffix"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index e111040..9b4d47b 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -255,7 +255,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	int CupsEncrypt;						\
 	int  iPreferredMaster;						\
 	char *szLdapMachineSuffix;					\
-	char *_ldap_user_suffix;					\
 	char *szLdapIdmapSuffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
-- 
2.4.3


From 3cd62af1dc22cec8c7c66e73cf0995dffc133d96 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 16 Jun 2015 00:04:53 +0200
Subject: [PATCH 18/78] param: rename szLdapIdmapSuffix ->
 _ldap_sz_idmap_suffix

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 9b4d47b..eff7e23 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -255,7 +255,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	int CupsEncrypt;						\
 	int  iPreferredMaster;						\
 	char *szLdapMachineSuffix;					\
-	char *szLdapIdmapSuffix;					\
+	char *_ldap_idmap_suffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 54a70ca..f4adbd3 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -2826,7 +2826,7 @@ struct parm_struct parm_table[] = {
 		.label		= "ldap idmap suffix",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szLdapIdmapSuffix),
+		.offset		= GLOBAL_VAR(_ldap_idmap_suffix),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index ccb5a57..f43be58 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -728,7 +728,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 	string_set(Globals.ctx, &Globals.szLdapMachineSuffix, "");
 	string_set(Globals.ctx, &Globals._ldap_user_suffix, "");
 	string_set(Globals.ctx, &Globals._ldap_group_suffix, "");
-	string_set(Globals.ctx, &Globals.szLdapIdmapSuffix, "");
+	string_set(Globals.ctx, &Globals._ldap_idmap_suffix, "");
 
 	string_set(Globals.ctx, &Globals.ldap_admin_dn, "");
 	Globals.ldap_ssl = LDAP_SSL_START_TLS;
@@ -2385,8 +2385,8 @@ const char *lp_ldap_group_suffix(TALLOC_CTX *ctx)
 
 const char *lp_ldap_idmap_suffix(TALLOC_CTX *ctx)
 {
-	if (Globals.szLdapIdmapSuffix[0])
-		return append_ldap_suffix(ctx, Globals.szLdapIdmapSuffix);
+	if (Globals._ldap_idmap_suffix[0])
+		return append_ldap_suffix(ctx, Globals._ldap_idmap_suffix);
 
 	return lp_string(ctx, Globals.ldap_suffix);
 }
-- 
2.4.3


From f435f050d010b3d08c3568ba175591aa054b01a9 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 16 Jun 2015 00:06:59 +0200
Subject: [PATCH 19/78] param: turn ldap idmap suffix into a generated function

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml | 2 +-
 lib/param/loadparm.h                         | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml b/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
index 3897c9e..1fe7e8a 100644
--- a/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap idmap suffix"
                  context="G"
                  type="string"
-                 generated_function="0"
+                 function="_ldap_idmap_suffix"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index eff7e23..352b90b 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -255,7 +255,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	int CupsEncrypt;						\
 	int  iPreferredMaster;						\
 	char *szLdapMachineSuffix;					\
-	char *_ldap_idmap_suffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
-- 
2.4.3


From 1f06753f793a2c70109a993879bfef71f63c5d03 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 16 Jun 2015 00:12:51 +0200
Subject: [PATCH 20/78] param: rename szLdapMachineSuffix ->
 _ldap_machine_suffix

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 352b90b..ff9c8a8 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -254,7 +254,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szPrintcapname;						\
 	int CupsEncrypt;						\
 	int  iPreferredMaster;						\
-	char *szLdapMachineSuffix;					\
+	char *_ldap_machine_suffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index f4adbd3..986def5 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -2834,7 +2834,7 @@ struct parm_struct parm_table[] = {
 		.label		= "ldap machine suffix",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szLdapMachineSuffix),
+		.offset		= GLOBAL_VAR(_ldap_machine_suffix),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index f43be58..0f645b6 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -725,7 +725,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 
 	string_set(Globals.ctx, &Globals.passdb_backend, "tdbsam");
 	string_set(Globals.ctx, &Globals.ldap_suffix, "");
-	string_set(Globals.ctx, &Globals.szLdapMachineSuffix, "");
+	string_set(Globals.ctx, &Globals._ldap_machine_suffix, "");
 	string_set(Globals.ctx, &Globals._ldap_user_suffix, "");
 	string_set(Globals.ctx, &Globals._ldap_group_suffix, "");
 	string_set(Globals.ctx, &Globals._ldap_idmap_suffix, "");
@@ -2361,8 +2361,8 @@ static const char *append_ldap_suffix(TALLOC_CTX *ctx, const char *str )
 
 const char *lp_ldap_machine_suffix(TALLOC_CTX *ctx)
 {
-	if (Globals.szLdapMachineSuffix[0])
-		return append_ldap_suffix(ctx, Globals.szLdapMachineSuffix);
+	if (Globals._ldap_machine_suffix[0])
+		return append_ldap_suffix(ctx, Globals._ldap_machine_suffix);
 
 	return lp_string(ctx, Globals.ldap_suffix);
 }
-- 
2.4.3


From a75b8c3abe2a720ae0d3aa93e3460f610a1e7cd7 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 16 Jun 2015 00:15:23 +0200
Subject: [PATCH 21/78] param: turn ldap idmap suffix into a generated function

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml | 2 +-
 lib/param/loadparm.h                           | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml b/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
index 5651c63..e82675b 100644
--- a/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
+++ b/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="ldap machine suffix"
                  context="G"
                  type="string"
-                 generated_function="0"
+                 function="_ldap_machine_suffix"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <description>
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index ff9c8a8..f7f9a71 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -254,7 +254,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szPrintcapname;						\
 	int CupsEncrypt;						\
 	int  iPreferredMaster;						\
-	char *_ldap_machine_suffix;					\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
-- 
2.4.3


From 254d1577e7b6d17058fb38a174e36d057f30fe63 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 12:00:18 +0200
Subject: [PATCH 22/78] param: rename variable of 'max print jobs' to default.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.c     | 4 ++--
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 4 ++--
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 3d96bff..fe67f75 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -2372,7 +2372,7 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
 	lp_ctx->sDefault = talloc_zero(lp_ctx, struct loadparm_service);
 	lp_ctx->flags = talloc_zero_array(lp_ctx, unsigned int, num_parameters());
 
-	lp_ctx->sDefault->iMaxPrintJobs = 1000;
+	lp_ctx->sDefault->max_print_jobs = 1000;
 	lp_ctx->sDefault->bAvailable = true;
 	lp_ctx->sDefault->browseable = true;
 	lp_ctx->sDefault->read_only = true;
@@ -3089,7 +3089,7 @@ const char *lpcfg_printername(struct loadparm_service *service, struct loadparm_
  */
 int lpcfg_maxprintjobs(struct loadparm_service *service, struct loadparm_service *sDefault)
 {
-	int maxjobs = (service != NULL) ? service->iMaxPrintJobs : sDefault->iMaxPrintJobs;
+	int maxjobs = (service != NULL) ? service->max_print_jobs : sDefault->max_print_jobs;
 	if (maxjobs <= 0 || maxjobs >= PRINT_MAX_JOBID)
 		maxjobs = PRINT_MAX_JOBID - 1;
 
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index f7f9a71..2aca895 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -235,7 +235,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	bool valid;						        \
 	int usershare;							\
 	struct timespec usershare_last_mod;				\
-	int iMaxPrintJobs;						\
+	int max_print_jobs;						\
 	char *szCopy;							\
 	char *szService;						\
 	char *szInclude;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 986def5..a6a96d4 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -1893,7 +1893,7 @@ struct parm_struct parm_table[] = {
 		.label		= "max print jobs",
 		.type		= P_INTEGER,
 		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(iMaxPrintJobs),
+		.offset		= LOCAL_VAR(max_print_jobs),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 0f645b6..7c1abde 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -158,7 +158,7 @@ static struct loadparm_service sDefault =
 	.aio_write_behind = NULL,
 	.dfree_command = NULL,
 	.min_print_space = 0,
-	.iMaxPrintJobs = 1000,
+	.max_print_jobs = 1000,
 	.max_reported_print_jobs = 0,
 	.write_cache_size = 0,
 	.create_mask = 0744,
@@ -4143,7 +4143,7 @@ void lp_set_logfile(const char *name)
 
 int lp_maxprintjobs(int snum)
 {
-	int maxjobs = LP_SNUM_OK(snum) ? ServicePtrs[snum]->iMaxPrintJobs : sDefault.iMaxPrintJobs;
+	int maxjobs = LP_SNUM_OK(snum) ? ServicePtrs[snum]->max_print_jobs : sDefault.max_print_jobs;
 	if (maxjobs <= 0 || maxjobs >= PRINT_MAX_JOBID)
 		maxjobs = PRINT_MAX_JOBID - 1;
 
-- 
2.4.3


From 7fca8ff567b6374fb853055aab68dcd0323af3b2 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 12:22:02 +0200
Subject: [PATCH 23/78] param: generate lp[cfg]_max_print_jobs()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/printing/maxprintjobs.xml | 1 -
 lib/param/loadparm.h                          | 1 -
 2 files changed, 2 deletions(-)

diff --git a/docs-xml/smbdotconf/printing/maxprintjobs.xml b/docs-xml/smbdotconf/printing/maxprintjobs.xml
index 8ca8c90..f37ff0a 100644
--- a/docs-xml/smbdotconf/printing/maxprintjobs.xml
+++ b/docs-xml/smbdotconf/printing/maxprintjobs.xml
@@ -1,7 +1,6 @@
 <samba:parameter name="max print jobs"
                  context="S"
                  type="integer"
-                 generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter limits the maximum number of 
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 2aca895..933931f 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -235,7 +235,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	bool valid;						        \
 	int usershare;							\
 	struct timespec usershare_last_mod;				\
-	int max_print_jobs;						\
 	char *szCopy;							\
 	char *szService;						\
 	char *szInclude;						\
-- 
2.4.3


From d89bbc98d900570564da05f8f8d186426f37f79a Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 12:29:54 +0200
Subject: [PATCH 24/78] param: use lp[cfg]_max_print_jobs() in
 lp[cfg]_maxprintjobs()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.c     | 3 ++-
 source3/param/loadparm.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index fe67f75..7c44093 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -3089,7 +3089,8 @@ const char *lpcfg_printername(struct loadparm_service *service, struct loadparm_
  */
 int lpcfg_maxprintjobs(struct loadparm_service *service, struct loadparm_service *sDefault)
 {
-	int maxjobs = (service != NULL) ? service->max_print_jobs : sDefault->max_print_jobs;
+	int maxjobs = lpcfg_max_print_jobs(service, sDefault);
+
 	if (maxjobs <= 0 || maxjobs >= PRINT_MAX_JOBID)
 		maxjobs = PRINT_MAX_JOBID - 1;
 
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 7c1abde..28dba05 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -4143,7 +4143,8 @@ void lp_set_logfile(const char *name)
 
 int lp_maxprintjobs(int snum)
 {
-	int maxjobs = LP_SNUM_OK(snum) ? ServicePtrs[snum]->max_print_jobs : sDefault.max_print_jobs;
+	int maxjobs = lp_max_print_jobs(snum);
+
 	if (maxjobs <= 0 || maxjobs >= PRINT_MAX_JOBID)
 		maxjobs = PRINT_MAX_JOBID - 1;
 
-- 
2.4.3


From f8059924d9fb293544edcbfbaeeee214494fd43a Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 14:07:25 +0200
Subject: [PATCH 25/78] param: rename iPreferredMaster -> _preferred_master

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 4 ++--
 source3/param/loadparm.c | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 933931f..c49d131 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -252,7 +252,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	int iminreceivefile;						\
 	char *szPrintcapname;						\
 	int CupsEncrypt;						\
-	int  iPreferredMaster;						\
+	int  _preferred_master;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index a6a96d4..4edd167 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -2576,7 +2576,7 @@ struct parm_struct parm_table[] = {
 		.label		= "preferred master",
 		.type		= P_ENUM,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(iPreferredMaster),
+		.offset		= GLOBAL_VAR(_preferred_master),
 		.special	= NULL,
 		.enum_list	= enum_bool_auto,
 	},
@@ -2584,7 +2584,7 @@ struct parm_struct parm_table[] = {
 		.label		= "prefered master",
 		.type		= P_ENUM,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(iPreferredMaster),
+		.offset		= GLOBAL_VAR(_preferred_master),
 		.special	= NULL,
 		.enum_list	= enum_bool_auto,
 		.flags		= FLAG_SYNONYM,
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 28dba05..8c724bc 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -876,7 +876,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 
 	string_set(Globals.ctx, &Globals.share_backend, "classic");
 
-	Globals.iPreferredMaster = Auto;
+	Globals._preferred_master = Auto;
 
 	Globals.allow_dns_updates = DNS_UPDATE_SIGNED;
 
@@ -4101,10 +4101,10 @@ static bool lp_domain_master_true_or_auto(void)
 
 bool lp_preferred_master(void)
 {
-	if (Globals.iPreferredMaster == Auto)
+	if (Globals._preferred_master == Auto)
 		return (lp_local_master() && lp_domain_master());
 
-	return (bool)Globals.iPreferredMaster;
+	return (bool)Globals._preferred_master;
 }
 
 /*******************************************************************
-- 
2.4.3


From 61fcb1ddbc372a849121ee7db904042a83d9b0c3 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 14:09:35 +0200
Subject: [PATCH 26/78] param: turn 'preferred master' into a generated
 function

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/browse/preferredmaster.xml | 2 +-
 lib/param/loadparm.h                           | 1 -
 source3/param/loadparm.c                       | 6 ++++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/docs-xml/smbdotconf/browse/preferredmaster.xml b/docs-xml/smbdotconf/browse/preferredmaster.xml
index 0392564..15ebd24 100644
--- a/docs-xml/smbdotconf/browse/preferredmaster.xml
+++ b/docs-xml/smbdotconf/browse/preferredmaster.xml
@@ -2,7 +2,7 @@
                  context="G"
                  type="enum"
                  enumlist="enum_bool_auto"
-                 generated_function="0"
+                 function="_preferred_master"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>prefered master</synonym>
  <description>
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index c49d131..4ed332c 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -252,7 +252,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	int iminreceivefile;						\
 	char *szPrintcapname;						\
 	int CupsEncrypt;						\
-	int  _preferred_master;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 8c724bc..ad2305a 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -4101,10 +4101,12 @@ static bool lp_domain_master_true_or_auto(void)
 
 bool lp_preferred_master(void)
 {
-	if (Globals._preferred_master == Auto)
+	int preferred_master = lp__preferred_master();
+
+	if (preferred_master == Auto)
 		return (lp_local_master() && lp_domain_master());
 
-	return (bool)Globals._preferred_master;
+	return (bool)preferred_master;
 }
 
 /*******************************************************************
-- 
2.4.3


From 25804ec9fc237c1659557bf3588c7ff46e29d94d Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 14:21:26 +0200
Subject: [PATCH 27/78] param: rename iminreceivefile -> min_receivefile_size

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 4ed332c..1911352 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -249,7 +249,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
-	int iminreceivefile;						\
+	int min_receivefile_size;					\
 	char *szPrintcapname;						\
 	int CupsEncrypt;						\
 	char *szIdmapUID;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 4edd167..02f6e56 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -1314,7 +1314,7 @@ struct parm_struct parm_table[] = {
 		.label		= "min receivefile size",
 		.type		= P_BYTES,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(iminreceivefile),
+		.offset		= GLOBAL_VAR(min_receivefile_size),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index ad2305a..339ab8a 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -850,7 +850,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 	/* By default no shares out of the registry */
 	Globals.registry_shares = false;
 
-	Globals.iminreceivefile = 0;
+	Globals.min_receivefile_size = 0;
 
 	Globals.map_untrusted_to_domain = false;
 	Globals.multicast_dns_register = true;
@@ -4287,10 +4287,10 @@ void lp_set_posix_default_cifsx_readwrite_locktype(enum brl_flavour val)
 
 int lp_min_receive_file_size(void)
 {
-	if (Globals.iminreceivefile < 0) {
+	if (Globals.min_receivefile_size < 0) {
 		return 0;
 	}
-	return Globals.iminreceivefile;
+	return Globals.min_receivefile_size;
 }
 
 /*******************************************************************
-- 
2.4.3


From 6745789aa525f429d45f5a2d1bb3bc3243cd8929 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 14:23:47 +0200
Subject: [PATCH 28/78] param: turn 'min receivefile size' into a generated
 function

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/protocol/minreceivefilesize.xml | 1 -
 lib/param/loadparm.h                                | 1 -
 source3/param/loadparm.c                            | 6 ++++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs-xml/smbdotconf/protocol/minreceivefilesize.xml b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
index c5fed6a..60d48ac 100644
--- a/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
+++ b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
@@ -1,7 +1,6 @@
 <samba:parameter name="min receivefile size"
                  type="integer"
                  context="G"
-                 generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>This option changes the behavior of <citerefentry><refentrytitle>smbd</refentrytitle>
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 1911352..2c40563 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -249,7 +249,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
-	int min_receivefile_size;					\
 	char *szPrintcapname;						\
 	int CupsEncrypt;						\
 	char *szIdmapUID;						\
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 339ab8a..d19e144 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -4287,10 +4287,12 @@ void lp_set_posix_default_cifsx_readwrite_locktype(enum brl_flavour val)
 
 int lp_min_receive_file_size(void)
 {
-	if (Globals.min_receivefile_size < 0) {
+	int min_receivefile_size = lp_min_receivefile_size();
+
+	if (min_receivefile_size < 0) {
 		return 0;
 	}
-	return Globals.min_receivefile_size;
+	return min_receivefile_size;
 }
 
 /*******************************************************************
-- 
2.4.3


From 360e6659beb2128a12a8dbd6315423e95904561c Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 14:31:43 +0200
Subject: [PATCH 29/78] param: rename szPrintcapName -> printcap_name

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 4 ++--
 source3/param/loadparm.c | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 2c40563..46c683e 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -249,7 +249,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
-	char *szPrintcapname;						\
+	char *printcap_name;						\
 	int CupsEncrypt;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 02f6e56..f2a737b 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -1917,7 +1917,7 @@ struct parm_struct parm_table[] = {
 		.label		= "printcap name",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szPrintcapname),
+		.offset		= GLOBAL_VAR(printcap_name),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
@@ -1925,7 +1925,7 @@ struct parm_struct parm_table[] = {
 		.label		= "printcap",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szPrintcapname),
+		.offset		= GLOBAL_VAR(printcap_name),
 		.special	= NULL,
 		.enum_list	= NULL,
 		.flags		= FLAG_SYNONYM,
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index d19e144..b1a404a 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -4155,9 +4155,9 @@ int lp_maxprintjobs(int snum)
 
 const char *lp_printcapname(void)
 {
-	if ((Globals.szPrintcapname != NULL) &&
-	    (Globals.szPrintcapname[0] != '\0'))
-		return Globals.szPrintcapname;
+	if ((Globals.printcap_name != NULL) &&
+	    (Globals.printcap_name[0] != '\0'))
+		return Globals.printcap_name;
 
 	if (sDefault.printing == PRINT_CUPS) {
 		return "cups";
-- 
2.4.3


From a65e76715bec52cbff1068a64f2e67adf8b61e26 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 14:34:11 +0200
Subject: [PATCH 30/78] param: turn 'printcap name' into a generated function

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/printing/printcapname.xml | 2 +-
 lib/param/loadparm.h                          | 1 -
 source3/param/loadparm.c                      | 8 +++++---
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/docs-xml/smbdotconf/printing/printcapname.xml b/docs-xml/smbdotconf/printing/printcapname.xml
index a6c4c75..64acc26 100644
--- a/docs-xml/smbdotconf/printing/printcapname.xml
+++ b/docs-xml/smbdotconf/printing/printcapname.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="printcap name"
                  context="G"
                  type="string"
-                 generated_function="0"
+                 constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>printcap</synonym>
 <description>
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 46c683e..bd17007 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -249,7 +249,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
-	char *printcap_name;						\
 	int CupsEncrypt;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index b1a404a..98eaec5 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -4155,9 +4155,11 @@ int lp_maxprintjobs(int snum)
 
 const char *lp_printcapname(void)
 {
-	if ((Globals.printcap_name != NULL) &&
-	    (Globals.printcap_name[0] != '\0'))
-		return Globals.printcap_name;
+	const char *printcap_name = lp_printcap_name();
+
+	if ((printcap_name != NULL) &&
+	    (printcap_name[0] != '\0'))
+		return printcap_name;
 
 	if (sDefault.printing == PRINT_CUPS) {
 		return "cups";
-- 
2.4.3


From de78949b7d0a27c811a8812c5c64ef0376931f9a Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 14:49:16 +0200
Subject: [PATCH 31/78] param: treat negative values of 'smb2 max credits' as
 default.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 source3/param/loadparm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 98eaec5..7d63d58 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -1035,7 +1035,7 @@ int lp_winbind_max_domain_connections(void)
 
 int lp_smb2_max_credits(void)
 {
-	if (Globals.ismb2_max_credits == 0) {
+	if (Globals.ismb2_max_credits <= 0) {
 		Globals.ismb2_max_credits = DEFAULT_SMB2_MAX_CREDITS;
 	}
 	return Globals.ismb2_max_credits;
-- 
2.4.3


From b0eef6e444c507716d745c4fe835e94ec86aee0a Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 15:18:01 +0200
Subject: [PATCH 32/78] param: turn 'smb2 max credits' into generated option

This is achieved by moving the special treatment from
the lp_smb2_max_credits() function in the the special
handler that is called only once upon lp_load().

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/protocol/smb2maxcredits.xml |  2 +-
 lib/param/loadparm.c                            | 15 +++++++++++++++
 lib/param/loadparm.h                            |  3 +--
 lib/param/param_table.c                         |  4 ++--
 source3/param/loadparm.c                        |  9 +--------
 5 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/docs-xml/smbdotconf/protocol/smb2maxcredits.xml b/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
index 572e961..90bc622 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="smb2 max credits"
                  type="integer"
                  context="G"
-                 generated_function="0"
+                 handler="handle_smb2_max_credits"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 <para>This option controls the maximum number of outstanding simultaneous SMB2 operations
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 7c44093..63c908b 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -1366,6 +1366,21 @@ bool handle_smb_ports(struct loadparm_context *lp_ctx, struct loadparm_service *
 	return true;
 }
 
+bool handle_smb2_max_credits(struct loadparm_context *lp_ctx,
+			     struct loadparm_service *service,
+			     const char *pszParmValue, char **ptr)
+{
+	int value = lp_int(pszParmValue);
+
+	if (value <= 0) {
+		value = DEFAULT_SMB2_MAX_CREDITS;
+	}
+
+	*(int *)ptr = value;
+
+	return true;
+}
+
 /***************************************************************************
  Initialise a copymap.
 ***************************************************************************/
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index bd17007..cdcfdc7 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -253,8 +253,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
-	int winbindMaxDomainConnections;				\
-	int ismb2_max_credits;
+	int winbindMaxDomainConnections;
 
 const char* server_role_str(uint32_t role);
 int lp_find_server_role(int server_role, int security, int domain_logons, int domain_master);
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index f2a737b..8642364 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -1877,8 +1877,8 @@ struct parm_struct parm_table[] = {
 		.label		= "smb2 max credits",
 		.type		= P_INTEGER,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ismb2_max_credits),
-		.special	= NULL,
+		.offset		= GLOBAL_VAR(smb2_max_credits),
+		.special	= handle_smb2_max_credits,
 		.enum_list	= NULL,
 	},
 	{
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 7d63d58..296d426 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -858,7 +858,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 	Globals.smb2_max_read = DEFAULT_SMB2_MAX_READ;
 	Globals.smb2_max_write = DEFAULT_SMB2_MAX_WRITE;
 	Globals.smb2_max_trans = DEFAULT_SMB2_MAX_TRANSACT;
-	Globals.ismb2_max_credits = DEFAULT_SMB2_MAX_CREDITS;
+	Globals.smb2_max_credits = DEFAULT_SMB2_MAX_CREDITS;
 	Globals.smb2_leases = false;
 
 	string_set(Globals.ctx, &Globals.ncalrpc_dir, get_dyn_NCALRPCDIR());
@@ -1033,13 +1033,6 @@ int lp_winbind_max_domain_connections(void)
 	return MAX(1, lp_winbind_max_domain_connections_int());
 }
 
-int lp_smb2_max_credits(void)
-{
-	if (Globals.ismb2_max_credits <= 0) {
-		Globals.ismb2_max_credits = DEFAULT_SMB2_MAX_CREDITS;
-	}
-	return Globals.ismb2_max_credits;
-}
 int lp_cups_encrypt(void)
 {
 	int result = 0;
-- 
2.4.3


From 0a00abaade09ab2924c8ad224e4e5aada478ab49 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 15:22:30 +0200
Subject: [PATCH 33/78] param: rename bWidelinks -> wide_links

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index cdcfdc7..867b8eb 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -238,7 +238,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szCopy;							\
 	char *szService;						\
 	char *szInclude;						\
-	bool bWidelinks;						\
+	bool wide_links;						\
 	bool bAvailable;							\
 	struct parmlist_entry *param_opt;				\
 	struct bitmap *copymap;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 8642364..e67a4f6 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3403,7 +3403,7 @@ struct parm_struct parm_table[] = {
 		.label		= "wide links",
 		.type		= P_BOOL,
 		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(bWidelinks),
+		.offset		= LOCAL_VAR(wide_links),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 296d426..a2b827d 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -204,7 +204,7 @@ static struct loadparm_service sDefault =
 	.level2_oplocks = true,
 	.only_user = false,
 	.mangled_names = true,
-	.bWidelinks = false,
+	.wide_links = false,
 	.follow_symlinks = true,
 	.sync_always = false,
 	.strict_allocate = false,
@@ -4298,8 +4298,8 @@ int lp_min_receive_file_size(void)
 
 static bool lp_widelinks_internal(int snum)
 {
-	return (bool)(LP_SNUM_OK(snum)? ServicePtrs[(snum)]->bWidelinks :
-			sDefault.bWidelinks);
+	return (bool)(LP_SNUM_OK(snum)? ServicePtrs[(snum)]->wide_links :
+			sDefault.wide_links);
 }
 
 void widelinks_warning(int snum)
-- 
2.4.3


From 14f365e7eaf5b4a4e90870f8ee9dcc877840b6b6 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 15:28:33 +0200
Subject: [PATCH 34/78] param: turn 'wide links' into a generated funcion

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/misc/widelinks.xml |  1 -
 lib/param/loadparm.h                   |  1 -
 source3/param/loadparm.c               | 10 ++--------
 3 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/docs-xml/smbdotconf/misc/widelinks.xml b/docs-xml/smbdotconf/misc/widelinks.xml
index cb1389a..09f8aa5 100644
--- a/docs-xml/smbdotconf/misc/widelinks.xml
+++ b/docs-xml/smbdotconf/misc/widelinks.xml
@@ -1,7 +1,6 @@
 <samba:parameter name="wide links"
                  context="S"
                  type="boolean"
-                 generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter controls whether or not links 
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 867b8eb..3f1c3c9 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -238,7 +238,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szCopy;							\
 	char *szService;						\
 	char *szInclude;						\
-	bool wide_links;						\
 	bool bAvailable;							\
 	struct parmlist_entry *param_opt;				\
 	struct bitmap *copymap;						\
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index a2b827d..8aedf22 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -4296,19 +4296,13 @@ int lp_min_receive_file_size(void)
  even after a configuration file reload.
 ********************************************************************/
 
-static bool lp_widelinks_internal(int snum)
-{
-	return (bool)(LP_SNUM_OK(snum)? ServicePtrs[(snum)]->wide_links :
-			sDefault.wide_links);
-}
-
 void widelinks_warning(int snum)
 {
 	if (lp_allow_insecure_wide_links()) {
 		return;
 	}
 
-	if (lp_unix_extensions() && lp_widelinks_internal(snum)) {
+	if (lp_unix_extensions() && lp_wide_links(snum)) {
 		DEBUG(0,("Share '%s' has wide links and unix extensions enabled. "
 			"These parameters are incompatible. "
 			"Wide links will be disabled for this share.\n",
@@ -4329,7 +4323,7 @@ bool lp_widelinks(int snum)
 		}
 	}
 
-	return lp_widelinks_internal(snum);
+	return lp_wide_links(snum);
 }
 
 int lp_server_role(void)
-- 
2.4.3


From 42dc4c8fb1bcea1e85851ea6623033c7c2d57201 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 23:42:09 +0200
Subject: [PATCH 35/78] param: rename winbindMaxDomainConnections ->
 _winbind_max_domain_connections

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 3f1c3c9..73680bb 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -252,7 +252,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;						\
-	int winbindMaxDomainConnections;
+	int _winbind_max_domain_connections;
 
 const char* server_role_str(uint32_t role);
 int lp_find_server_role(int server_role, int security, int domain_logons, int domain_master);
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index e67a4f6..7f39b88 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3785,7 +3785,7 @@ struct parm_struct parm_table[] = {
 		.label		= "winbind max domain connections",
 		.type		= P_INTEGER,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbindMaxDomainConnections),
+		.offset		= GLOBAL_VAR(_winbind_max_domain_connections),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 8aedf22..db756d3 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -714,7 +714,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 	Globals.reset_on_zero_vc = false;
 	Globals.log_writeable_files_on_exit = false;
 	Globals.create_krb5_conf = true;
-	Globals.winbindMaxDomainConnections = 1;
+	Globals._winbind_max_domain_connections = 1;
 
 	/* hostname lookups can be very expensive and are broken on
 	   a large number of sites (tridge) */
@@ -1020,7 +1020,7 @@ char *lp_ ## fn_name(TALLOC_CTX *ctx,int i) {return(lp_string((ctx), (LP_SNUM_OK
  char lp_ ## fn_name(const struct share_params *p) {return(LP_SNUM_OK(p->service)? ServicePtrs[(p->service)]->val : sDefault.val);}
 
 static FN_GLOBAL_INTEGER(winbind_max_domain_connections_int,
-		  winbindMaxDomainConnections)
+		  _winbind_max_domain_connections)
 
 int lp_winbind_max_domain_connections(void)
 {
-- 
2.4.3


From aadefcfc3d78edddcedf4d27fd11f77184bec521 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 21 Jul 2015 23:49:45 +0200
Subject: [PATCH 36/78] param: make 'winbind max domain connections' a
 generated function.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml | 2 +-
 lib/param/loadparm.h                                        | 3 +--
 source3/param/loadparm.c                                    | 7 ++-----
 3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml b/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
index c764267..be39143 100644
--- a/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
+++ b/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
@@ -1,7 +1,7 @@
 <samba:parameter name="winbind max domain connections"
                  context="G"
                  type="integer"
-                 generated_function="0"
+                 function="_winbind_max_domain_connections"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies the maximum number of simultaneous
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 73680bb..2793d2d 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -251,8 +251,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	int CupsEncrypt;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
-	char *szIdmapBackend;						\
-	int _winbind_max_domain_connections;
+	char *szIdmapBackend;
 
 const char* server_role_str(uint32_t role);
 int lp_find_server_role(int server_role, int security, int domain_logons, int domain_master);
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index db756d3..216e152 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -1019,18 +1019,15 @@ char *lp_ ## fn_name(TALLOC_CTX *ctx,int i) {return(lp_string((ctx), (LP_SNUM_OK
 #define FN_LOCAL_PARM_CHAR(fn_name,val) \
  char lp_ ## fn_name(const struct share_params *p) {return(LP_SNUM_OK(p->service)? ServicePtrs[(p->service)]->val : sDefault.val);}
 
-static FN_GLOBAL_INTEGER(winbind_max_domain_connections_int,
-		  _winbind_max_domain_connections)
-
 int lp_winbind_max_domain_connections(void)
 {
 	if (lp_winbind_offline_logon() &&
-	    lp_winbind_max_domain_connections_int() > 1) {
+	    lp__winbind_max_domain_connections() > 1) {
 		DEBUG(1, ("offline logons active, restricting max domain "
 			  "connections to 1\n"));
 		return 1;
 	}
-	return MAX(1, lp_winbind_max_domain_connections_int());
+	return MAX(1, lp__winbind_max_domain_connections());
 }
 
 int lp_cups_encrypt(void)
-- 
2.4.3


From e1be875eddb13d1bc2946ec49d826f0b988e4639 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 16:21:35 +0200
Subject: [PATCH 37/78] param: rename CupsEncrypt -> cups_encrypt

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 2793d2d..8199439 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -248,7 +248,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
-	int CupsEncrypt;						\
+	int cups_encrypt;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 7f39b88..77cd39f 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -1983,7 +1983,7 @@ struct parm_struct parm_table[] = {
 		.label          = "cups encrypt",
 		.type           = P_ENUM,
 		.p_class        = P_GLOBAL,
-		.offset         = GLOBAL_VAR(CupsEncrypt),
+		.offset         = GLOBAL_VAR(cups_encrypt),
 		.special        = NULL,
 		.enum_list      = enum_bool_auto,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 216e152..54a2406 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -1034,7 +1034,7 @@ int lp_cups_encrypt(void)
 {
 	int result = 0;
 #ifdef HAVE_HTTPCONNECTENCRYPT
-	switch (Globals.CupsEncrypt) {
+	switch (Globals.cups_encrypt) {
 		case Auto:
 			result = HTTP_ENCRYPT_REQUIRED;
 			break;
-- 
2.4.3


From bfe8d865cc31dc119e180183193ebbe0d748e5f3 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 16:22:40 +0200
Subject: [PATCH 38/78] param: turn 'cups encrypt' into a generated function

Move the special stuff of the hand-written lp_cups_encrypt()
function into a handler that is called once at load time.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/printing/cupsencrypt.xml |  1 -
 lib/param/loadparm.c                         | 32 ++++++++++++++++++++++++++++
 lib/param/loadparm.h                         |  1 -
 source3/param/loadparm.c                     | 23 --------------------
 4 files changed, 32 insertions(+), 25 deletions(-)

diff --git a/docs-xml/smbdotconf/printing/cupsencrypt.xml b/docs-xml/smbdotconf/printing/cupsencrypt.xml
index db7bf51..8094abe 100644
--- a/docs-xml/smbdotconf/printing/cupsencrypt.xml
+++ b/docs-xml/smbdotconf/printing/cupsencrypt.xml
@@ -2,7 +2,6 @@
                  context="G"
                  type="enum"
                  enumlist="enum_bool_auto"
-                 generated_function="0"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 63c908b..1369c70 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -69,6 +69,10 @@
 #include "tdb.h"
 #include "librpc/gen_ndr/nbt.h"
 
+#ifdef HAVE_HTTPCONNECTENCRYPT
+#include <cups/http.h>
+#endif
+
 #define standard_sub_basic talloc_strdup
 
 #include "lib/param/param_global.h"
@@ -1381,6 +1385,34 @@ bool handle_smb2_max_credits(struct loadparm_context *lp_ctx,
 	return true;
 }
 
+bool handle_cups_encrypt(struct loadparm_context *lp_ctx,
+			 struct loadparm_service *service,
+			 const char *pszParmValue, char **ptr)
+{
+	int result = 0;
+#ifdef HAVE_HTTPCONNECTENCRYPT
+	int value = lp_int(pszParmValue);
+
+	switch (value) {
+		case Auto:
+			result = HTTP_ENCRYPT_REQUIRED;
+			break;
+		case true:
+			result = HTTP_ENCRYPT_ALWAYS;
+			break;
+		case false:
+			result = HTTP_ENCRYPT_NEVER;
+			break;
+		default:
+			result = 0;
+			break;
+	}
+#endif
+	*(int *)ptr = result;
+
+	return true;
+}
+
 /***************************************************************************
  Initialise a copymap.
 ***************************************************************************/
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 8199439..de92cb8 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -248,7 +248,6 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
-	int cups_encrypt;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
 	char *szIdmapBackend;
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 54a2406..4c9cd19 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -75,10 +75,6 @@
 #include <sys/sysctl.h>
 #endif
 
-#ifdef HAVE_HTTPCONNECTENCRYPT
-#include <cups/http.h>
-#endif
-
 bool bLoaded = false;
 
 extern userdom_struct current_user_info;
@@ -1030,25 +1026,6 @@ int lp_winbind_max_domain_connections(void)
 	return MAX(1, lp__winbind_max_domain_connections());
 }
 
-int lp_cups_encrypt(void)
-{
-	int result = 0;
-#ifdef HAVE_HTTPCONNECTENCRYPT
-	switch (Globals.cups_encrypt) {
-		case Auto:
-			result = HTTP_ENCRYPT_REQUIRED;
-			break;
-		case true:
-			result = HTTP_ENCRYPT_ALWAYS;
-			break;
-		case false:
-			result = HTTP_ENCRYPT_NEVER;
-			break;
-	}
-#endif
-	return result;
-}
-
 /* These functions remain in source3/param for now */
 
 #include "lib/param/param_functions.c"
-- 
2.4.3


From 69e0520ad9a227e5634c4ab980dc7cd0e4e6e504 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 12 May 2015 13:41:44 +0200
Subject: [PATCH 39/78] param: make 'realm' use the standard 'realm' variable.

This way, the generated lp_realm() function matches the param_table.
realm_original is only treated in the special handler now.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.c    | 2 +-
 lib/param/param_table.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 1369c70..3d50b72 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -1085,7 +1085,7 @@ bool handle_realm(struct loadparm_context *lp_ctx, struct loadparm_service *serv
 		return false;
 	}
 
-	lpcfg_string_set(lp_ctx->globals->ctx, ptr, pszParmValue);
+	lpcfg_string_set(lp_ctx->globals->ctx, &lp_ctx->globals->realm_original, pszParmValue);
 	lpcfg_string_set(lp_ctx->globals->ctx, &lp_ctx->globals->realm, upper);
 	lpcfg_string_set(lp_ctx->globals->ctx, &lp_ctx->globals->dnsdomain, lower);
 
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 77cd39f..c9a40f8 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -337,7 +337,7 @@ struct parm_struct parm_table[] = {
 		.label		= "realm",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(realm_original),
+		.offset		= GLOBAL_VAR(realm),
 		.special	= handle_realm,
 		.enum_list	= NULL,
 	},
-- 
2.4.3


From ffcf7dfc588b21c9d7f04111423f8b0de90289f8 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:06:39 +0200
Subject: [PATCH 40/78] param: rename bAvailable -> available

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.c     | 8 ++++----
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 6 +++---
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 3d50b72..0a1c29a 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -655,7 +655,7 @@ bool lpcfg_add_home(struct loadparm_context *lp_ctx,
 	if (!(*(service->comment))) {
 		service->comment = talloc_asprintf(service, "Home directory of %s", user);
 	}
-	service->bAvailable = default_service->bAvailable;
+	service->available = default_service->available;
 	service->browseable = default_service->browseable;
 
 	DEBUG(3, ("adding home's share [%s] for user '%s' at '%s'\n",
@@ -955,10 +955,10 @@ bool lpcfg_service_ok(struct loadparm_service *service)
 	{
 		DEBUG(0, ("WARNING: No path in service %s - making it unavailable!\n",
 			service->szService));
-		service->bAvailable = false;
+		service->available = false;
 	}
 
-	if (!service->bAvailable)
+	if (!service->available)
 		DEBUG(1, ("NOTE: Service %s is flagged unavailable.\n",
 			  service->szService));
 
@@ -2420,7 +2420,7 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
 	lp_ctx->flags = talloc_zero_array(lp_ctx, unsigned int, num_parameters());
 
 	lp_ctx->sDefault->max_print_jobs = 1000;
-	lp_ctx->sDefault->bAvailable = true;
+	lp_ctx->sDefault->available = true;
 	lp_ctx->sDefault->browseable = true;
 	lp_ctx->sDefault->read_only = true;
 	lp_ctx->sDefault->map_archive = true;
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index de92cb8..8c443ef 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -238,7 +238,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *szCopy;							\
 	char *szService;						\
 	char *szInclude;						\
-	bool bAvailable;							\
+	bool available;							\
 	struct parmlist_entry *param_opt;				\
 	struct bitmap *copymap;						\
 	char dummy[3];		/* for alignment */
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index c9a40f8..dcbd146 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3307,7 +3307,7 @@ struct parm_struct parm_table[] = {
 		.label		= "available",
 		.type		= P_BOOL,
 		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(bAvailable),
+		.offset		= LOCAL_VAR(available),
 		.special	= NULL,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 4c9cd19..715362f 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -179,7 +179,7 @@ static struct loadparm_service sDefault =
 	.hide_unwriteable_files = false,
 	.browseable = true,
 	.access_based_share_enum = false,
-	.bAvailable = true,
+	.available = true,
 	.read_only = true,
 	.spotlight = false,
 	.guest_only = false,
@@ -1457,7 +1457,7 @@ static bool lp_add_ipc(const char *ipc_name, bool guest_ok)
 	string_set(ServicePtrs[i], &ServicePtrs[i]->comment, comment);
 	string_set(ServicePtrs[i], &ServicePtrs[i]->fstype, "IPC");
 	ServicePtrs[i]->max_connections = 0;
-	ServicePtrs[i]->bAvailable = true;
+	ServicePtrs[i]->available = true;
 	ServicePtrs[i]->read_only = true;
 	ServicePtrs[i]->guest_only = false;
 	ServicePtrs[i]->administrative_share = true;
@@ -2630,7 +2630,7 @@ static void dump_copy_map(bool *pcopymap)
 
 bool lp_snum_ok(int iService)
 {
-	return (LP_SNUM_OK(iService) && ServicePtrs[iService]->bAvailable);
+	return (LP_SNUM_OK(iService) && ServicePtrs[iService]->available);
 }
 
 /***************************************************************************
-- 
2.4.3


From 4b8dc0221fea0803e3691b32bbad1239b52c7046 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:08:15 +0200
Subject: [PATCH 41/78] param: rename szCopy -> copy

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 8c443ef..a81c543 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -235,7 +235,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	bool valid;						        \
 	int usershare;							\
 	struct timespec usershare_last_mod;				\
-	char *szCopy;							\
+	char *copy;							\
 	char *szService;						\
 	char *szInclude;						\
 	bool available;							\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index dcbd146..d70f94e 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3234,7 +3234,7 @@ struct parm_struct parm_table[] = {
 		.label		= "copy",
 		.type		= P_STRING,
 		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(szCopy),
+		.offset		= LOCAL_VAR(copy),
 		.special	= handle_copy,
 		.enum_list	= NULL,
 		.flags		= FLAG_SYNONYM,
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 715362f..e6b95c2 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -118,7 +118,7 @@ static struct loadparm_service sDefault =
 	.invalid_users = NULL,
 	.valid_users = NULL,
 	.admin_users = NULL,
-	.szCopy = NULL,
+	.copy = NULL,
 	.szInclude = NULL,
 	.preexec = NULL,
 	.postexec = NULL,
-- 
2.4.3


From bab2f50d829b07dfdd17ac50b76125243eb98432 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:09:35 +0200
Subject: [PATCH 42/78] param: rename szInclude -> include

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index a81c543..0893fee 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -237,7 +237,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	struct timespec usershare_last_mod;				\
 	char *copy;							\
 	char *szService;						\
-	char *szInclude;						\
+	char *include;							\
 	bool available;							\
 	struct parmlist_entry *param_opt;				\
 	struct bitmap *copymap;						\
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index d70f94e..2c292ec 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3243,7 +3243,7 @@ struct parm_struct parm_table[] = {
 		.label		= "include",
 		.type		= P_STRING,
 		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(szInclude),
+		.offset		= LOCAL_VAR(include),
 		.special	= handle_include,
 		.enum_list	= NULL,
 	},
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index e6b95c2..caa9856 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -119,7 +119,7 @@ static struct loadparm_service sDefault =
 	.valid_users = NULL,
 	.admin_users = NULL,
 	.copy = NULL,
-	.szInclude = NULL,
+	.include = NULL,
 	.preexec = NULL,
 	.postexec = NULL,
 	.root_preexec = NULL,
-- 
2.4.3


From ae0ebd438535b3361d2d23c44d7431508a901bb1 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:11:12 +0200
Subject: [PATCH 43/78] param: rename szIdmapBackend -> idmap_backend

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 2 +-
 lib/param/param_table.c  | 2 +-
 source3/param/loadparm.c | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 0893fee..7e429f6 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -250,7 +250,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	char *realm_original;						\
 	char *szIdmapUID;						\
 	char *szIdmapGID;						\
-	char *szIdmapBackend;
+	char *idmap_backend;
 
 const char* server_role_str(uint32_t role);
 int lp_find_server_role(int server_role, int security, int domain_logons, int domain_master);
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 2c292ec..f2762da 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3564,7 +3564,7 @@ struct parm_struct parm_table[] = {
 		.label		= "idmap backend",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szIdmapBackend),
+		.offset		= GLOBAL_VAR(idmap_backend),
 		.special	= handle_idmap_backend,
 		.enum_list	= NULL,
 		.flags		= FLAG_DEPRECATED,
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index caa9856..87e63e2 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -776,7 +776,7 @@ static void init_globals(struct loadparm_context *lp_ctx, bool reinit_globals)
 	Globals.wins_dns_proxy = true;
 
 	Globals.allow_trusted_domains = true;
-	string_set(Globals.ctx, &Globals.szIdmapBackend, "tdb");
+	string_set(Globals.ctx, &Globals.idmap_backend, "tdb");
 
 	string_set(Globals.ctx, &Globals.template_shell, "/bin/false");
 	string_set(Globals.ctx, &Globals.template_homedir, "/home/%D/%U");
@@ -3633,7 +3633,7 @@ static bool lp_load_ex(const char *pszFname,
 		apply_lp_set_cmdline();
 	}
 
-	lp_do_parameter(-1, "idmap config * : backend", Globals.szIdmapBackend);
+	lp_do_parameter(-1, "idmap config * : backend", Globals.idmap_backend);
 
 	/* We get sections first, so have to start 'behind' to make up */
 	iServiceIndex = -1;
-- 
2.4.3


From 120e647431c097f8e4d8dcfbc77333982e065853 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:12:53 +0200
Subject: [PATCH 44/78] param: rename szIdmapUID -> idmap_uid

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h    | 2 +-
 lib/param/param_table.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 7e429f6..9f59f00 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -248,7 +248,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
-	char *szIdmapUID;						\
+	char *idmap_uid;						\
 	char *szIdmapGID;						\
 	char *idmap_backend;
 
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index f2762da..eb28e9f 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3589,7 +3589,7 @@ struct parm_struct parm_table[] = {
 		.label		= "idmap uid",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szIdmapUID),
+		.offset		= GLOBAL_VAR(idmap_uid),
 		.special	= handle_idmap_uid,
 		.enum_list	= NULL,
 		.flags		= FLAG_DEPRECATED,
@@ -3598,7 +3598,7 @@ struct parm_struct parm_table[] = {
 		.label		= "winbind uid",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szIdmapUID),
+		.offset		= GLOBAL_VAR(idmap_uid),
 		.special	= handle_idmap_uid,
 		.enum_list	= NULL,
 		.flags		= FLAG_SYNONYM,
-- 
2.4.3


From 6d969d93b884c1509a77a92f13ae067b43e6e298 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:13:55 +0200
Subject: [PATCH 45/78] param: rename szIdmapGID -> idmap_gid

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h    | 2 +-
 lib/param/param_table.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 9f59f00..2b4cd27 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -249,7 +249,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 	struct parmlist_entry *param_opt;				\
 	char *realm_original;						\
 	char *idmap_uid;						\
-	char *szIdmapGID;						\
+	char *idmap_gid;						\
 	char *idmap_backend;
 
 const char* server_role_str(uint32_t role);
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index eb28e9f..c7eee9a 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3607,7 +3607,7 @@ struct parm_struct parm_table[] = {
 		.label		= "idmap gid",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szIdmapGID),
+		.offset		= GLOBAL_VAR(idmap_gid),
 		.special	= handle_idmap_gid,
 		.enum_list	= NULL,
 		.flags		= FLAG_DEPRECATED,
@@ -3616,7 +3616,7 @@ struct parm_struct parm_table[] = {
 		.label		= "winbind gid",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szIdmapGID),
+		.offset		= GLOBAL_VAR(idmap_gid),
 		.special	= handle_idmap_gid,
 		.enum_list	= NULL,
 		.flags		= FLAG_SYNONYM,
-- 
2.4.3


From 75c771c36213401ae18a712882104b6d6510e859 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:26:46 +0200
Subject: [PATCH 46/78] docs:smbdotconf: add 'function' parameter to  valid

This is to differentiate the variable/function name from
the parameter name, which is the non-standard "-valid".

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/misc/valid.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs-xml/smbdotconf/misc/valid.xml b/docs-xml/smbdotconf/misc/valid.xml
index fcd9dbc..8d86f9c 100644
--- a/docs-xml/smbdotconf/misc/valid.xml
+++ b/docs-xml/smbdotconf/misc/valid.xml
@@ -2,6 +2,7 @@
                  context="S"
                  type="boolean"
                  generated_function="0"
+                 function="valid"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para> This parameter indicates whether a share is 
-- 
2.4.3


From 7d8214fd771cb3b54053bc5f706b93e7cfb17a50 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:29:16 +0200
Subject: [PATCH 47/78] docs:smbdotconf: add 'function' parameter to
 enablespoolss

this is to specify the storage place for this reverse boolean.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/printing/enablespoolss.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs-xml/smbdotconf/printing/enablespoolss.xml b/docs-xml/smbdotconf/printing/enablespoolss.xml
index d69f8f4..68e09bf 100644
--- a/docs-xml/smbdotconf/printing/enablespoolss.xml
+++ b/docs-xml/smbdotconf/printing/enablespoolss.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="enable spoolss"
                  context="G"
                  type="boolean-rev"
+                 function="_disable_spoolss"
                  synonym="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
-- 
2.4.3


From 63e4216ee63959cfda1ba927ad0bd2cfd1c7db92 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:29:56 +0200
Subject: [PATCH 48/78] docs:smbdotconf: add 'function' argument to writeable

This is to specify the storage place for this reverse boolean.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/security/writeable.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs-xml/smbdotconf/security/writeable.xml b/docs-xml/smbdotconf/security/writeable.xml
index 2bf7070..14a5a02 100644
--- a/docs-xml/smbdotconf/security/writeable.xml
+++ b/docs-xml/smbdotconf/security/writeable.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="writeable"
                  context="S"
                  type="boolean-rev"
+                 function="read_only"
                  synonym="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>writable</synonym>
-- 
2.4.3


From 1a01197265d9991c94cc72beb36c9d7896e3a789 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 28 Apr 2015 16:47:39 +0200
Subject: [PATCH 49/78] generate_param: make it possible to handle generated
 and synonym flags in iteration

Signed-off-by: Michael Adam <obnox at samba.org>
---
 script/generate_param.py | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/script/generate_param.py b/script/generate_param.py
index d79c13c..ca2b1e9 100644
--- a/script/generate_param.py
+++ b/script/generate_param.py
@@ -69,8 +69,9 @@ def iterate_all(path):
         synonym = parameter.attrib.get("synonym")
         removed = parameter.attrib.get("removed")
         generated = parameter.attrib.get("generated_function")
-        if synonym == "1" or removed == "1" or generated == "0":
+        if removed == "1":
             continue
+
         constant = parameter.attrib.get("constant")
         parm = parameter.attrib.get("parm")
         if name is None or param_type is None or context is None:
@@ -82,7 +83,9 @@ def iterate_all(path):
                'context': context,
                'function': func,
                'constant': (constant == '1'),
-               'parm': (parm == '1')}
+               'parm': (parm == '1'),
+               'synonym' : synonym,
+               'generated' : generated }
 
 # map doc attributes to a section of the generated function
 context_dict = {"G": "_GLOBAL", "S": "_LOCAL"}
@@ -98,6 +101,11 @@ def generate_functions(path_in, path_out):
             # filter out parameteric options
             if ':' in parameter['name']:
                 continue
+            if parameter['synonym'] == "1":
+                continue
+            if parameter['generated'] == "0":
+                continue
+
             output_string = "FN"
             temp = context_dict.get(parameter['context'])
             if temp is None: 
@@ -129,6 +137,10 @@ def make_s3_param_proto(path_in, path_out):
             # filter out parameteric options
             if ':' in parameter['name']:
                 continue
+            if parameter['synonym'] == "1":
+                continue
+            if parameter['generated'] == "0":
+                continue
 
             output_string = ""
             if parameter['constant']:
@@ -175,6 +187,10 @@ def make_lib_proto(path_in, path_out):
             # filter out parameteric options
             if ':' in parameter['name']:
                 continue
+            if parameter['synonym'] == "1":
+                continue
+            if parameter['generated'] == "0":
+                continue
 
             output_string = ""
             if parameter['constant']:
@@ -238,6 +254,10 @@ def make_param_defs(path_in, path_out, scope):
             # filter out parameteric options
             if ':' in parameter['name']:
                 continue
+            if parameter['synonym'] == "1":
+                continue
+            if parameter['generated'] == "0":
+                continue
 
             if (scope == "GLOBAL" and parameter['context'] != "G" or
                 scope == "LOCAL" and parameter['context'] != "S"):
-- 
2.4.3


From ee7ce6fd69b58978282bf135d098a347d86160e8 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:14:26 +0200
Subject: [PATCH 50/78] generate_param: generate struct entries if we don't
 generate access functions.

This shrinks LOADPARM_EXTRA_GLOBALS/LOCALS.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 9 +--------
 script/generate_param.py | 2 --
 2 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 2b4cd27..656b20d 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -232,13 +232,9 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 #define DEFAULT_SMB2_MAX_CREDITS 8192
 
 #define LOADPARM_EXTRA_LOCALS						\
-	bool valid;						        \
 	int usershare;							\
 	struct timespec usershare_last_mod;				\
-	char *copy;							\
 	char *szService;						\
-	char *include;							\
-	bool available;							\
 	struct parmlist_entry *param_opt;				\
 	struct bitmap *copymap;						\
 	char dummy[3];		/* for alignment */
@@ -247,10 +243,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
-	char *realm_original;						\
-	char *idmap_uid;						\
-	char *idmap_gid;						\
-	char *idmap_backend;
+	char *realm_original;
 
 const char* server_role_str(uint32_t role);
 int lp_find_server_role(int server_role, int security, int domain_logons, int domain_master);
diff --git a/script/generate_param.py b/script/generate_param.py
index ca2b1e9..7315d86 100644
--- a/script/generate_param.py
+++ b/script/generate_param.py
@@ -256,8 +256,6 @@ def make_param_defs(path_in, path_out, scope):
                 continue
             if parameter['synonym'] == "1":
                 continue
-            if parameter['generated'] == "0":
-                continue
 
             if (scope == "GLOBAL" and parameter['context'] != "G" or
                 scope == "LOCAL" and parameter['context'] != "S"):
-- 
2.4.3


From 2cdffae876df075d623a19167728a5c415313d77 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 19:47:22 +0200
Subject: [PATCH 51/78] param: move dnsdomain from generate_param to
 EXTRA_GLOBALS

This is alongside realm_original which is of the same kind.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/loadparm.h     | 1 +
 script/generate_param.py | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
index 656b20d..89dcb17 100644
--- a/lib/param/loadparm.h
+++ b/lib/param/loadparm.h
@@ -243,6 +243,7 @@ enum case_handling {CASE_LOWER,CASE_UPPER};
 
 #define LOADPARM_EXTRA_GLOBALS \
 	struct parmlist_entry *param_opt;				\
+	char *dnsdomain;						\
 	char *realm_original;
 
 const char* server_role_str(uint32_t role);
diff --git a/script/generate_param.py b/script/generate_param.py
index 7315d86..351ea6b 100644
--- a/script/generate_param.py
+++ b/script/generate_param.py
@@ -241,7 +241,6 @@ def make_param_defs(path_in, path_out, scope):
             file_out.write("struct loadparm_global \n")
             file_out.write("{\n")
             file_out.write("\tTALLOC_CTX *ctx; /* Context for talloced members */\n")
-            file_out.write("\tchar *  dnsdomain;\n")
         elif scope == "LOCAL":
             file_out.write("/**\n")
             file_out.write(" * This structure describes a single service.\n")
-- 
2.4.3


From ac5eac281ea6877bbcbd2312f4a7092841682723 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 13:59:26 +0200
Subject: [PATCH 52/78] param: add SYNONYM flag where missing

thereby remove DEPRECATED flags: synonyms currently
only carry the syn flag. Other flags sit on the primary
entry.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/param_table.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index c7eee9a..cfabe5c 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -798,6 +798,7 @@ struct parm_struct parm_table[] = {
 		.offset		= LOCAL_VAR(force_group),
 		.special	= NULL,
 		.enum_list	= NULL,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "read only",
@@ -916,6 +917,7 @@ struct parm_struct parm_table[] = {
 		.offset		= LOCAL_VAR(directory_mask),
 		.special	= NULL,
 		.enum_list	= NULL,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "force directory mode",
@@ -1261,6 +1263,7 @@ struct parm_struct parm_table[] = {
 		.offset		= GLOBAL_VAR(server_max_protocol),
 		.special	= NULL,
 		.enum_list	= enum_protocol,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "protocol",
@@ -1269,6 +1272,7 @@ struct parm_struct parm_table[] = {
 		.offset		= GLOBAL_VAR(server_max_protocol),
 		.special	= NULL,
 		.enum_list	= enum_protocol,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "server min protocol",
@@ -1285,6 +1289,7 @@ struct parm_struct parm_table[] = {
 		.offset		= GLOBAL_VAR(server_min_protocol),
 		.special	= NULL,
 		.enum_list	= enum_protocol,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "client max protocol",
@@ -2998,6 +3003,7 @@ struct parm_struct parm_table[] = {
 		.offset		= GLOBAL_VAR(auto_services),
 		.special	= NULL,
 		.enum_list	= NULL,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "auto services",
@@ -3098,6 +3104,7 @@ struct parm_struct parm_table[] = {
 		.offset		= GLOBAL_VAR(defaultservice),
 		.special	= NULL,
 		.enum_list	= NULL,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "message command",
@@ -3171,7 +3178,7 @@ struct parm_struct parm_table[] = {
 		.offset		= GLOBAL_VAR(nbt_client_socket_address),
 		.special	= NULL,
 		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "nmbd bind explicit broadcast",
@@ -3262,6 +3269,7 @@ struct parm_struct parm_table[] = {
 		.offset		= LOCAL_VAR(preexec),
 		.special	= NULL,
 		.enum_list	= NULL,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "preexec close",
-- 
2.4.3


From 413d9603f05f96bdc8407f91d53576c0bd8ce290 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 16:42:48 +0200
Subject: [PATCH 53/78] param: make 'timestamp logs' the default writing of
 'debug timestamp'

This is how it used internally.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 .../smbdotconf/logging/{debugtimestamp.xml => timestamplogs.xml}     | 5 ++---
 lib/param/param_table.c                                              | 1 +
 2 files changed, 3 insertions(+), 3 deletions(-)
 rename docs-xml/smbdotconf/logging/{debugtimestamp.xml => timestamplogs.xml} (79%)

diff --git a/docs-xml/smbdotconf/logging/debugtimestamp.xml b/docs-xml/smbdotconf/logging/timestamplogs.xml
similarity index 79%
rename from docs-xml/smbdotconf/logging/debugtimestamp.xml
rename to docs-xml/smbdotconf/logging/timestamplogs.xml
index 87c88ca..efe55c4 100644
--- a/docs-xml/smbdotconf/logging/debugtimestamp.xml
+++ b/docs-xml/smbdotconf/logging/timestamplogs.xml
@@ -1,9 +1,8 @@
-<samba:parameter name="debug timestamp"
+<samba:parameter name="timestamp logs"
                  context="G"
                  type="boolean"
-                 function="timestamp_logs"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-<synonym>timestamp logs</synonym>
+<synonym>debug timestamp</synonym>
 <description>
     <para>
     Samba debug log messages are timestamped by default. If you are running at a high 
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index cfabe5c..cd66c1d 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -1143,6 +1143,7 @@ struct parm_struct parm_table[] = {
 		.offset		= GLOBAL_VAR(timestamp_logs),
 		.special	= NULL,
 		.enum_list	= NULL,
+		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "timestamp logs",
-- 
2.4.3


From 204a6f852d0addcfd6c58f87d09273cabf9c8303 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 16:51:59 +0200
Subject: [PATCH 54/78] param: don't list '-valid' and 'copy' as synonyms -
 they aren't

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/param_table.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index cd66c1d..cefc6ce 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3236,7 +3236,6 @@ struct parm_struct parm_table[] = {
 		.offset		= LOCAL_VAR(valid),
 		.special	= NULL,
 		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "copy",
@@ -3245,7 +3244,6 @@ struct parm_struct parm_table[] = {
 		.offset		= LOCAL_VAR(copy),
 		.special	= handle_copy,
 		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
 	},
 	{
 		.label		= "include",
-- 
2.4.3


From 0a7613d8419ccb83e819df3561fba36d6336205e Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 20:45:07 +0200
Subject: [PATCH 55/78] docs:smbdotconf: 'write ok' is a synonym of 'writeable'
 not of 'read only'

(It is a reverse synonym of 'read only'...)

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/security/readonly.xml  | 1 -
 docs-xml/smbdotconf/security/writeable.xml | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs-xml/smbdotconf/security/readonly.xml b/docs-xml/smbdotconf/security/readonly.xml
index b6fdda6..834633f 100644
--- a/docs-xml/smbdotconf/security/readonly.xml
+++ b/docs-xml/smbdotconf/security/readonly.xml
@@ -2,7 +2,6 @@
                  context="S"
                  type="boolean"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-<synonym>write ok</synonym>
 <description>
     <para>An inverted synonym is <smbconfoption name="writeable"/>.</para>
 
diff --git a/docs-xml/smbdotconf/security/writeable.xml b/docs-xml/smbdotconf/security/writeable.xml
index 14a5a02..5433849 100644
--- a/docs-xml/smbdotconf/security/writeable.xml
+++ b/docs-xml/smbdotconf/security/writeable.xml
@@ -5,6 +5,7 @@
                  synonym="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>writable</synonym>
+<synonym>write ok</synonym>
 <description>
     <para>Inverted synonym for <smbconfoption name="read only"/>.</para>
 </description>
-- 
2.4.3


From 0f3e583379daf4c423b6a2db31f19751ba366b0e Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 14:39:27 +0200
Subject: [PATCH 56/78] docs:smbdotconf: make preload a synonym of 'auto
 services'

It is this way around in internal data structures.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/misc/{preload.xml => auto_services.xml} | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
 rename docs-xml/smbdotconf/misc/{preload.xml => auto_services.xml} (85%)

diff --git a/docs-xml/smbdotconf/misc/preload.xml b/docs-xml/smbdotconf/misc/auto_services.xml
similarity index 85%
rename from docs-xml/smbdotconf/misc/preload.xml
rename to docs-xml/smbdotconf/misc/auto_services.xml
index d535ed2..f2540f5 100644
--- a/docs-xml/smbdotconf/misc/preload.xml
+++ b/docs-xml/smbdotconf/misc/auto_services.xml
@@ -1,9 +1,8 @@
-<samba:parameter name="preload"
+<samba:parameter name="auto services"
                  context="G"
                  type="string"
-                 function="auto_services"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-<synonym>auto services</synonym>
+<synonym>preload</synonym>
 <description>
 	<para>This is a list of services that you want to be 
 	automatically added to the browse lists. This is most useful 
-- 
2.4.3


From 8fb257e18ec124c3e77d148bc82840caba5c0422 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 16:24:34 +0200
Subject: [PATCH 57/78] docs:smbdotconf: add deprecated flags where missing.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/logging/syslog.xml                    | 1 +
 docs-xml/smbdotconf/logging/syslogonly.xml                | 1 +
 docs-xml/smbdotconf/logon/enableprivileges.xml            | 3 ++-
 docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml       | 1 +
 docs-xml/smbdotconf/protocol/aclcheckpermissions.xml      | 1 +
 docs-xml/smbdotconf/protocol/usespnego.xml                | 1 +
 docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml | 1 +
 docs-xml/smbdotconf/security/nullpasswords.xml            | 1 +
 docs-xml/smbdotconf/security/onlyuser.xml                 | 1 +
 docs-xml/smbdotconf/security/username.xml                 | 1 +
 docs-xml/smbdotconf/winbind/idmapbackend.xml              | 1 +
 docs-xml/smbdotconf/winbind/idmapgid.xml                  | 1 +
 docs-xml/smbdotconf/winbind/idmapuid.xml                  | 1 +
 13 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/docs-xml/smbdotconf/logging/syslog.xml b/docs-xml/smbdotconf/logging/syslog.xml
index 03dc02e..78e694e 100644
--- a/docs-xml/smbdotconf/logging/syslog.xml
+++ b/docs-xml/smbdotconf/logging/syslog.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="syslog"
                  context="G"
                  type="integer"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logging/syslogonly.xml b/docs-xml/smbdotconf/logging/syslogonly.xml
index 7c65daa..b9aea2d 100644
--- a/docs-xml/smbdotconf/logging/syslogonly.xml
+++ b/docs-xml/smbdotconf/logging/syslogonly.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="syslog only"
                  context="G"
                  type="boolean"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/logon/enableprivileges.xml b/docs-xml/smbdotconf/logon/enableprivileges.xml
index be9b5f7..9e28457 100644
--- a/docs-xml/smbdotconf/logon/enableprivileges.xml
+++ b/docs-xml/smbdotconf/logon/enableprivileges.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="enable privileges"
                  context="G"
-		 type="boolean"
+                 type="boolean"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
index 1049d9b..0833c63 100644
--- a/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
+++ b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
@@ -2,6 +2,7 @@
                  context="G"
                  type="string"
                  constant="1"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>socket address</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml b/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
index 667455a..bfffcc0 100644
--- a/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
+++ b/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="acl check permissions"
                  context="S"
                  type="boolean"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Please note this parameter is now deprecated in Samba 3.6.2 and will be removed
diff --git a/docs-xml/smbdotconf/protocol/usespnego.xml b/docs-xml/smbdotconf/protocol/usespnego.xml
index aee75f3..0c9ffbf 100644
--- a/docs-xml/smbdotconf/protocol/usespnego.xml
+++ b/docs-xml/smbdotconf/protocol/usespnego.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="use spnego"
                  context="G"
                  type="boolean"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This deprecated variable controls whether samba will try 
diff --git a/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml b/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
index c067f35..8e9edd2 100644
--- a/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
+++ b/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="client use spnego principal"
                  context="G"
                  type="boolean"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter determines whether or not
diff --git a/docs-xml/smbdotconf/security/nullpasswords.xml b/docs-xml/smbdotconf/security/nullpasswords.xml
index 36f66c2..49533f6 100644
--- a/docs-xml/smbdotconf/security/nullpasswords.xml
+++ b/docs-xml/smbdotconf/security/nullpasswords.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="null passwords"
                  context="G"
                  type="boolean"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>Allow or disallow client access to accounts that have null passwords. </para>
diff --git a/docs-xml/smbdotconf/security/onlyuser.xml b/docs-xml/smbdotconf/security/onlyuser.xml
index c18608e..3b62ba6 100644
--- a/docs-xml/smbdotconf/security/onlyuser.xml
+++ b/docs-xml/smbdotconf/security/onlyuser.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="only user"
                  type="boolean"
                  context="S"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>To restrict a service to a particular set of users you
diff --git a/docs-xml/smbdotconf/security/username.xml b/docs-xml/smbdotconf/security/username.xml
index ec064bd..a04a997 100644
--- a/docs-xml/smbdotconf/security/username.xml
+++ b/docs-xml/smbdotconf/security/username.xml
@@ -1,6 +1,7 @@
 <samba:parameter name="username"
                  context="S"
                  type="string"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>user</synonym>
 <synonym>users</synonym>
diff --git a/docs-xml/smbdotconf/winbind/idmapbackend.xml b/docs-xml/smbdotconf/winbind/idmapbackend.xml
index 410be8e..864a975 100644
--- a/docs-xml/smbdotconf/winbind/idmapbackend.xml
+++ b/docs-xml/smbdotconf/winbind/idmapbackend.xml
@@ -3,6 +3,7 @@
                  type="string"
                  generated_function="0"
                  handler="handle_idmap_backend"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/winbind/idmapgid.xml b/docs-xml/smbdotconf/winbind/idmapgid.xml
index 62dcd58..1b576b2 100644
--- a/docs-xml/smbdotconf/winbind/idmapgid.xml
+++ b/docs-xml/smbdotconf/winbind/idmapgid.xml
@@ -3,6 +3,7 @@
                  type="string"
                  generated_function="0"
                  handler="handle_idmap_gid"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>winbind gid</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/winbind/idmapuid.xml b/docs-xml/smbdotconf/winbind/idmapuid.xml
index 1e7bc35..f666f61 100644
--- a/docs-xml/smbdotconf/winbind/idmapuid.xml
+++ b/docs-xml/smbdotconf/winbind/idmapuid.xml
@@ -3,6 +3,7 @@
                  context="G"
                  generated_function="0"
                  handler="handle_idmap_uid"
+                 deprecated="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>winbind uid</synonym>
 <description>
-- 
2.4.3


From 229222bde580637424cd9875ac5d09c4d8cf33d6 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 18:00:41 +0200
Subject: [PATCH 58/78] generate_param: more uniform formatting of various type
 dicts

This allows for easier extension later on (patch context-wise).

Signed-off-by: Michael Adam <obnox at samba.org>
---
 script/generate_param.py | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/script/generate_param.py b/script/generate_param.py
index 351ea6b..494e239 100644
--- a/script/generate_param.py
+++ b/script/generate_param.py
@@ -89,9 +89,15 @@ def iterate_all(path):
 
 # map doc attributes to a section of the generated function
 context_dict = {"G": "_GLOBAL", "S": "_LOCAL"}
-param_type_dict = {"boolean": "_BOOL", "list": "_LIST", "string": "_STRING",
-                   "integer": "_INTEGER", "enum": "_INTEGER", "char" : "_CHAR",
-                   "boolean-auto": "_INTEGER"}
+param_type_dict = {
+                    "boolean"      : "_BOOL",
+                    "list"         : "_LIST",
+                    "string"       : "_STRING",
+                    "integer"      : "_INTEGER",
+                    "enum"         : "_INTEGER",
+                    "char"         : "_CHAR",
+                    "boolean-auto" : "_INTEGER",
+                  }
 
 def generate_functions(path_in, path_out):
     f = open(path_out, 'w')
@@ -123,8 +129,15 @@ def generate_functions(path_in, path_out):
     finally:
         f.close()
 
-mapping = {'boolean': 'bool ', 'string': 'char *', 'integer': 'int ', 'char': 'char ',
-           'list': 'const char **', 'enum': 'int ', 'boolean-auto': 'int '}
+mapping = {
+            'boolean'      : 'bool ',
+            'string'       : 'char *',
+            'integer'      : 'int ',
+            'char'         : 'char ',
+            'list'         : 'const char **',
+            'enum'         : 'int ',
+            'boolean-auto' : 'int ',
+          }
 
 def make_s3_param_proto(path_in, path_out):
     file_out = open(path_out, 'w')
-- 
2.4.3


From 8eb452c6a12e45fe7a52b25513e403cf3157dfbf Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 18:01:40 +0200
Subject: [PATCH 59/78] generate_param: teach missing types cmdlist, bytes,
 octal, ustring.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 script/generate_param.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/script/generate_param.py b/script/generate_param.py
index 494e239..b71d3aa 100644
--- a/script/generate_param.py
+++ b/script/generate_param.py
@@ -97,6 +97,10 @@ param_type_dict = {
                     "enum"         : "_INTEGER",
                     "char"         : "_CHAR",
                     "boolean-auto" : "_INTEGER",
+                    "cmdlist"      : "_LIST",
+                    "bytes"        : "_INTEGER",
+                    "octal"        : "_INTEGER",
+                    "ustring"      : "_STRING",
                   }
 
 def generate_functions(path_in, path_out):
@@ -137,6 +141,10 @@ mapping = {
             'list'         : 'const char **',
             'enum'         : 'int ',
             'boolean-auto' : 'int ',
+            'cmdlist'      : 'const char **',
+            'bytes'        : 'int ',
+            'octal'        : 'int ',
+            'ustring'      : 'char *',
           }
 
 def make_s3_param_proto(path_in, path_out):
-- 
2.4.3


From ddce3ebfec55284bacaae24afd2311defc601da8 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 24 Jul 2015 01:28:56 +0200
Subject: [PATCH 60/78] tests:docs: teach the test the types cmdlist, bytes,
 octal, and ustring

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index 4261e78..112f89a 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -274,9 +274,17 @@ class SmbDotConfTests(TestCase):
     def _set_arbitrary(self, program, exceptions=None):
         arbitrary = {'string': 'string', 'boolean': 'yes', 'integer': '5',
                      'boolean-rev': 'yes',
+                     'cmdlist': 'a b c',
+                     'bytes': '10',
+                     'octal': '0123',
+                     'ustring': 'ustring',
                      'enum':'', 'boolean-auto': '', 'char': 'a', 'list': 'a, b, c'}
         opposite_arbitrary = {'string': 'string2', 'boolean': 'no', 'integer': '6',
                               'boolean-rev': 'no',
+                              'cmdlist': 'd e f',
+                              'bytes': '11',
+                              'octal': '0567',
+                              'ustring': 'ustring2',
                               'enum':'', 'boolean-auto': '', 'char': 'b', 'list': 'd, e, f'}
         topdir = os.path.abspath(samba.source_tree_topdir())
         try:
-- 
2.4.3


From 012bd24105a0f7cbdb7e00cf3a52551faa4635af Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 17:19:19 +0200
Subject: [PATCH 61/78] docs:smbdotconf: change type to cmdlist where needed.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/base/interfaces.xml               | 2 +-
 docs-xml/smbdotconf/base/netbiosaliases.xml           | 2 +-
 docs-xml/smbdotconf/domain/dnsupdatecommand.xml       | 2 +-
 docs-xml/smbdotconf/domain/nsupdatecommand.xml        | 2 +-
 docs-xml/smbdotconf/domain/rndccommand.xml            | 2 +-
 docs-xml/smbdotconf/domain/spnupdatecommand.xml       | 2 +-
 docs-xml/smbdotconf/logon/initlogondelayedhosts.xml   | 2 +-
 docs-xml/smbdotconf/misc/clusteraddresses.xml         | 2 +-
 docs-xml/smbdotconf/misc/usershareprefixallowlist.xml | 2 +-
 docs-xml/smbdotconf/misc/usershareprefixdenylist.xml  | 2 +-
 docs-xml/smbdotconf/protocol/eventloglist.xml         | 2 +-
 docs-xml/smbdotconf/protocol/nameresolveorder.xml     | 2 +-
 docs-xml/smbdotconf/protocol/smbports.xml             | 2 +-
 docs-xml/smbdotconf/protocol/svcctllist.xml           | 2 +-
 docs-xml/smbdotconf/security/adminusers.xml           | 2 +-
 docs-xml/smbdotconf/security/authmethods.xml          | 2 +-
 docs-xml/smbdotconf/security/hostsallow.xml           | 2 +-
 docs-xml/smbdotconf/security/hostsdeny.xml            | 2 +-
 docs-xml/smbdotconf/security/invalidusers.xml         | 2 +-
 docs-xml/smbdotconf/security/preloadmodules.xml       | 2 +-
 docs-xml/smbdotconf/security/readlist.xml             | 2 +-
 docs-xml/smbdotconf/security/sambakcccommand.xml      | 2 +-
 docs-xml/smbdotconf/security/validusers.xml           | 2 +-
 docs-xml/smbdotconf/security/writelist.xml            | 2 +-
 docs-xml/smbdotconf/vfs/vfsobjects.xml                | 2 +-
 docs-xml/smbdotconf/winbind/winbindnssinfo.xml        | 2 +-
 docs-xml/smbdotconf/wins/winsserver.xml               | 2 +-
 27 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/docs-xml/smbdotconf/base/interfaces.xml b/docs-xml/smbdotconf/base/interfaces.xml
index ba36cc4..db12fa1 100644
--- a/docs-xml/smbdotconf/base/interfaces.xml
+++ b/docs-xml/smbdotconf/base/interfaces.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="interfaces"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
         <para>This option allows you to override the default 
diff --git a/docs-xml/smbdotconf/base/netbiosaliases.xml b/docs-xml/smbdotconf/base/netbiosaliases.xml
index 089cff8..0304ab0 100644
--- a/docs-xml/smbdotconf/base/netbiosaliases.xml
+++ b/docs-xml/smbdotconf/base/netbiosaliases.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="netbios aliases"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  handler="handle_netbios_aliases"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
  <description>
diff --git a/docs-xml/smbdotconf/domain/dnsupdatecommand.xml b/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
index 70c311e..40cbc5b 100644
--- a/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
+++ b/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="dns update command"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option sets the command that is called when there are
diff --git a/docs-xml/smbdotconf/domain/nsupdatecommand.xml b/docs-xml/smbdotconf/domain/nsupdatecommand.xml
index 9481058..8978ade 100644
--- a/docs-xml/smbdotconf/domain/nsupdatecommand.xml
+++ b/docs-xml/smbdotconf/domain/nsupdatecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="nsupdate command"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option sets the path to the <filename>nsupdate</filename>
diff --git a/docs-xml/smbdotconf/domain/rndccommand.xml b/docs-xml/smbdotconf/domain/rndccommand.xml
index 72df82f..d9ac4ea 100644
--- a/docs-xml/smbdotconf/domain/rndccommand.xml
+++ b/docs-xml/smbdotconf/domain/rndccommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="rndc command"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option specifies the path to the name server control utility.
diff --git a/docs-xml/smbdotconf/domain/spnupdatecommand.xml b/docs-xml/smbdotconf/domain/spnupdatecommand.xml
index cbeb657..9dcce13 100644
--- a/docs-xml/smbdotconf/domain/spnupdatecommand.xml
+++ b/docs-xml/smbdotconf/domain/spnupdatecommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="spn update command"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option sets the command that for updating
diff --git a/docs-xml/smbdotconf/logon/initlogondelayedhosts.xml b/docs-xml/smbdotconf/logon/initlogondelayedhosts.xml
index 12d91cc..83d1ebd 100644
--- a/docs-xml/smbdotconf/logon/initlogondelayedhosts.xml
+++ b/docs-xml/smbdotconf/logon/initlogondelayedhosts.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="init logon delayed hosts"
                  context="G"
-		 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>
diff --git a/docs-xml/smbdotconf/misc/clusteraddresses.xml b/docs-xml/smbdotconf/misc/clusteraddresses.xml
index b1116d3..d01a4f9 100644
--- a/docs-xml/smbdotconf/misc/clusteraddresses.xml
+++ b/docs-xml/smbdotconf/misc/clusteraddresses.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="cluster addresses"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>With this parameter you can add additional addresses
diff --git a/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml b/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
index 50ea168..4c236fe 100644
--- a/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
+++ b/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="usershare prefix allow list"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies a list of absolute pathnames
diff --git a/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml b/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
index 85e17ff..c0e18a7 100644
--- a/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
+++ b/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="usershare prefix deny list"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This parameter specifies a list of absolute pathnames
diff --git a/docs-xml/smbdotconf/protocol/eventloglist.xml b/docs-xml/smbdotconf/protocol/eventloglist.xml
index 7429f03..6d0b400 100644
--- a/docs-xml/smbdotconf/protocol/eventloglist.xml
+++ b/docs-xml/smbdotconf/protocol/eventloglist.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="eventlog list"
-                 type="list"
+                 type="cmdlist"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/nameresolveorder.xml b/docs-xml/smbdotconf/protocol/nameresolveorder.xml
index 282bcbe..ec3aaf3 100644
--- a/docs-xml/smbdotconf/protocol/nameresolveorder.xml
+++ b/docs-xml/smbdotconf/protocol/nameresolveorder.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="name resolve order"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"> 
 <description>
     <para>This option is used by the programs in the Samba 
diff --git a/docs-xml/smbdotconf/protocol/smbports.xml b/docs-xml/smbdotconf/protocol/smbports.xml
index d46a5ed..ec1df65 100644
--- a/docs-xml/smbdotconf/protocol/smbports.xml
+++ b/docs-xml/smbdotconf/protocol/smbports.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="smb ports"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  handler="handle_smb_ports"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/svcctllist.xml b/docs-xml/smbdotconf/protocol/svcctllist.xml
index 53577b3..826bf70 100644
--- a/docs-xml/smbdotconf/protocol/svcctllist.xml
+++ b/docs-xml/smbdotconf/protocol/svcctllist.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="svcctl list"
-                 type="list"
+                 type="cmdlist"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/security/adminusers.xml b/docs-xml/smbdotconf/security/adminusers.xml
index 654e1d5..5e0f60c 100644
--- a/docs-xml/smbdotconf/security/adminusers.xml
+++ b/docs-xml/smbdotconf/security/adminusers.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="admin users"
                  context="S"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is a list of users who will be granted 
diff --git a/docs-xml/smbdotconf/security/authmethods.xml b/docs-xml/smbdotconf/security/authmethods.xml
index a5e3a11..386104d 100644
--- a/docs-xml/smbdotconf/security/authmethods.xml
+++ b/docs-xml/smbdotconf/security/authmethods.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="auth methods"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/security/hostsallow.xml b/docs-xml/smbdotconf/security/hostsallow.xml
index d210277..8b4b622 100644
--- a/docs-xml/smbdotconf/security/hostsallow.xml
+++ b/docs-xml/smbdotconf/security/hostsallow.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hosts allow"
                  context="S"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>allow hosts</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/hostsdeny.xml b/docs-xml/smbdotconf/security/hostsdeny.xml
index 2c8504f..cd2f8de 100644
--- a/docs-xml/smbdotconf/security/hostsdeny.xml
+++ b/docs-xml/smbdotconf/security/hostsdeny.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="hosts deny"
                  context="S"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>deny hosts</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/invalidusers.xml b/docs-xml/smbdotconf/security/invalidusers.xml
index 9674465..b2fb2b9 100644
--- a/docs-xml/smbdotconf/security/invalidusers.xml
+++ b/docs-xml/smbdotconf/security/invalidusers.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="invalid users"
                  context="S"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This is a list of users that should not be allowed 
diff --git a/docs-xml/smbdotconf/security/preloadmodules.xml b/docs-xml/smbdotconf/security/preloadmodules.xml
index ad0df45..7b77674 100644
--- a/docs-xml/smbdotconf/security/preloadmodules.xml
+++ b/docs-xml/smbdotconf/security/preloadmodules.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="preload modules"
-                 type="list"
+                 type="cmdlist"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/security/readlist.xml b/docs-xml/smbdotconf/security/readlist.xml
index 6ac0b3c..96f3746 100644
--- a/docs-xml/smbdotconf/security/readlist.xml
+++ b/docs-xml/smbdotconf/security/readlist.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="read list"
                  context="S"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/security/sambakcccommand.xml b/docs-xml/smbdotconf/security/sambakcccommand.xml
index cf94480..af8a28a 100644
--- a/docs-xml/smbdotconf/security/sambakcccommand.xml
+++ b/docs-xml/smbdotconf/security/sambakcccommand.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="samba kcc command"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 	<para>This option specifies the path to the Samba KCC command.
diff --git a/docs-xml/smbdotconf/security/validusers.xml b/docs-xml/smbdotconf/security/validusers.xml
index 713c466..0b681a1 100644
--- a/docs-xml/smbdotconf/security/validusers.xml
+++ b/docs-xml/smbdotconf/security/validusers.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="valid users"
                  context="S"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/security/writelist.xml b/docs-xml/smbdotconf/security/writelist.xml
index 08ce2fa..a9b9e8b 100644
--- a/docs-xml/smbdotconf/security/writelist.xml
+++ b/docs-xml/smbdotconf/security/writelist.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="write list"
                  context="S"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>
diff --git a/docs-xml/smbdotconf/vfs/vfsobjects.xml b/docs-xml/smbdotconf/vfs/vfsobjects.xml
index 09d41c7..05903ba 100644
--- a/docs-xml/smbdotconf/vfs/vfsobjects.xml
+++ b/docs-xml/smbdotconf/vfs/vfsobjects.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="vfs objects"
-				type="list"
+                 type="cmdlist"
                  context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>vfs object</synonym>
diff --git a/docs-xml/smbdotconf/winbind/winbindnssinfo.xml b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
index 5ec9ed6..d834744 100644
--- a/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
+++ b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="winbind nss info"
                  context="G"
-                 type="list"
+                 type="cmdlist"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
 
diff --git a/docs-xml/smbdotconf/wins/winsserver.xml b/docs-xml/smbdotconf/wins/winsserver.xml
index 69146fb..d323b38 100644
--- a/docs-xml/smbdotconf/wins/winsserver.xml
+++ b/docs-xml/smbdotconf/wins/winsserver.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="wins server"
                  context="G"
-				 type="list"
+                 type="cmdlist"
                  function="wins_server_list"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
-- 
2.4.3


From c58e85e8446a9ac490052455862b938190a79e24 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 17:34:28 +0200
Subject: [PATCH 62/78] docs:smbdotconf: change type to bytes where needed

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/logging/maxlogsize.xml           | 2 +-
 docs-xml/smbdotconf/protocol/maxxmit.xml             | 2 +-
 docs-xml/smbdotconf/protocol/minreceivefilesize.xml  | 2 +-
 docs-xml/smbdotconf/protocol/smb2maxread.xml         | 2 +-
 docs-xml/smbdotconf/protocol/smb2maxtrans.xml        | 2 +-
 docs-xml/smbdotconf/protocol/smb2maxwrite.xml        | 2 +-
 docs-xml/smbdotconf/tuning/aioreadsize.xml           | 2 +-
 docs-xml/smbdotconf/tuning/aiowritesize.xml          | 2 +-
 docs-xml/smbdotconf/tuning/allocationroundupsize.xml | 2 +-
 docs-xml/smbdotconf/tuning/blocksize.xml             | 2 +-
 docs-xml/smbdotconf/tuning/maxdisksize.xml           | 2 +-
 docs-xml/smbdotconf/tuning/writecachesize.xml        | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/docs-xml/smbdotconf/logging/maxlogsize.xml b/docs-xml/smbdotconf/logging/maxlogsize.xml
index 35c2add..8a1979d 100644
--- a/docs-xml/smbdotconf/logging/maxlogsize.xml
+++ b/docs-xml/smbdotconf/logging/maxlogsize.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="max log size"
-                 type="integer"
+                 type="bytes"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/maxxmit.xml b/docs-xml/smbdotconf/protocol/maxxmit.xml
index c589659..aca98d5 100644
--- a/docs-xml/smbdotconf/protocol/maxxmit.xml
+++ b/docs-xml/smbdotconf/protocol/maxxmit.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max xmit"
                  context="G"
-                 type="integer"
+                 type="bytes"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option controls the maximum packet size 
diff --git a/docs-xml/smbdotconf/protocol/minreceivefilesize.xml b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
index 60d48ac..ce0ea30 100644
--- a/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
+++ b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="min receivefile size"
-                 type="integer"
+                 type="bytes"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxread.xml b/docs-xml/smbdotconf/protocol/smb2maxread.xml
index a262ce1..01f9583 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxread.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxread.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="smb2 max read"
-                 type="integer"
+                 type="bytes"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxtrans.xml b/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
index 4c28372..5586d3f 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="smb2 max trans"
-                 type="integer"
+                 type="bytes"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxwrite.xml b/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
index 4105fa7..f895a04 100644
--- a/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
+++ b/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="smb2 max write"
-                 type="integer"
+                 type="bytes"
                  context="G"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/tuning/aioreadsize.xml b/docs-xml/smbdotconf/tuning/aioreadsize.xml
index 082cf5d..0c9cc52 100644
--- a/docs-xml/smbdotconf/tuning/aioreadsize.xml
+++ b/docs-xml/smbdotconf/tuning/aioreadsize.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="aio read size"
                  context="S"
-		 type="integer"
+                 type="bytes"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
   <para>If Samba has been built with asynchronous I/O support and this
diff --git a/docs-xml/smbdotconf/tuning/aiowritesize.xml b/docs-xml/smbdotconf/tuning/aiowritesize.xml
index e33a60e..c2ad118 100644
--- a/docs-xml/smbdotconf/tuning/aiowritesize.xml
+++ b/docs-xml/smbdotconf/tuning/aiowritesize.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="aio write size"
                  context="S"
-		 type="integer"
+                 type="bytes"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
   <para>If Samba has been built with asynchronous I/O support and this
diff --git a/docs-xml/smbdotconf/tuning/allocationroundupsize.xml b/docs-xml/smbdotconf/tuning/allocationroundupsize.xml
index 5fc013b..eaea467 100644
--- a/docs-xml/smbdotconf/tuning/allocationroundupsize.xml
+++ b/docs-xml/smbdotconf/tuning/allocationroundupsize.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="allocation roundup size"
                  context="S"
-		 type="integer"
+                 type="bytes"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter allows an administrator to tune the 
diff --git a/docs-xml/smbdotconf/tuning/blocksize.xml b/docs-xml/smbdotconf/tuning/blocksize.xml
index 1a0cc54..8d0dd8c 100644
--- a/docs-xml/smbdotconf/tuning/blocksize.xml
+++ b/docs-xml/smbdotconf/tuning/blocksize.xml
@@ -1,5 +1,5 @@
 <samba:parameter name="block size"
-				type="integer"
+                 type="bytes"
                  context="S"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/tuning/maxdisksize.xml b/docs-xml/smbdotconf/tuning/maxdisksize.xml
index 27d74b9..0361358 100644
--- a/docs-xml/smbdotconf/tuning/maxdisksize.xml
+++ b/docs-xml/smbdotconf/tuning/maxdisksize.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="max disk size"
                  context="G"
-				 type="integer"
+                 type="bytes"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This option allows you to put an upper limit 
diff --git a/docs-xml/smbdotconf/tuning/writecachesize.xml b/docs-xml/smbdotconf/tuning/writecachesize.xml
index e2fa17f..484b353 100644
--- a/docs-xml/smbdotconf/tuning/writecachesize.xml
+++ b/docs-xml/smbdotconf/tuning/writecachesize.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="write cache size"
                  context="S"
-				 type="integer"
+                 type="bytes"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>If this integer parameter is set to non-zero value,
-- 
2.4.3


From 34b1ae880aaca4186a49ce32d32bee5489f956a8 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 17:41:28 +0200
Subject: [PATCH 63/78] docs:smbdotconf: change type to octal where needed

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/security/createmask.xml         | 2 +-
 docs-xml/smbdotconf/security/directorymask.xml      | 2 +-
 docs-xml/smbdotconf/security/forcecreatemode.xml    | 2 +-
 docs-xml/smbdotconf/security/forcedirectorymode.xml | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs-xml/smbdotconf/security/createmask.xml b/docs-xml/smbdotconf/security/createmask.xml
index 8b38be4..06ee896 100644
--- a/docs-xml/smbdotconf/security/createmask.xml
+++ b/docs-xml/smbdotconf/security/createmask.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="create mask"
                  context="S"
-                 type="integer"
+                 type="octal"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 
 <synonym>create mode</synonym>
diff --git a/docs-xml/smbdotconf/security/directorymask.xml b/docs-xml/smbdotconf/security/directorymask.xml
index 50305d9..890092a 100644
--- a/docs-xml/smbdotconf/security/directorymask.xml
+++ b/docs-xml/smbdotconf/security/directorymask.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="directory mask"
                  context="S"
-                 type="integer"
+                 type="octal"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <synonym>directory mode</synonym>
 <description>
diff --git a/docs-xml/smbdotconf/security/forcecreatemode.xml b/docs-xml/smbdotconf/security/forcecreatemode.xml
index 2b7f1bb..79e6e63 100644
--- a/docs-xml/smbdotconf/security/forcecreatemode.xml
+++ b/docs-xml/smbdotconf/security/forcecreatemode.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="force create mode"
                  context="S"
-                 type="integer"
+                 type="octal"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies a set of UNIX mode bit
diff --git a/docs-xml/smbdotconf/security/forcedirectorymode.xml b/docs-xml/smbdotconf/security/forcedirectorymode.xml
index 9d2fdfc..aa8375a 100644
--- a/docs-xml/smbdotconf/security/forcedirectorymode.xml
+++ b/docs-xml/smbdotconf/security/forcedirectorymode.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="force directory mode"
                  context="S"
-                 type="integer"
+                 type="octal"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
     <para>This parameter specifies a set of UNIX mode bit 
-- 
2.4.3


From c0a4cd061f0a6e010c285032ba78a2f4bc17892f Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 17:42:22 +0200
Subject: [PATCH 64/78] docs:smbdotconf: change type to ustring where needed.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 docs-xml/smbdotconf/base/netbiosname.xml  | 2 +-
 docs-xml/smbdotconf/base/netbiosscope.xml | 2 +-
 docs-xml/smbdotconf/base/workgroup.xml    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs-xml/smbdotconf/base/netbiosname.xml b/docs-xml/smbdotconf/base/netbiosname.xml
index ed7dd5e..a7d9e2c 100644
--- a/docs-xml/smbdotconf/base/netbiosname.xml
+++ b/docs-xml/smbdotconf/base/netbiosname.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="netbios name"
                  context="G"
-                 type="string"
+                 type="ustring"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/base/netbiosscope.xml b/docs-xml/smbdotconf/base/netbiosscope.xml
index 1b84aae..c5be028 100644
--- a/docs-xml/smbdotconf/base/netbiosscope.xml
+++ b/docs-xml/smbdotconf/base/netbiosscope.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="netbios scope"
                  context="G"
-                 type="string"
+                 type="ustring"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
diff --git a/docs-xml/smbdotconf/base/workgroup.xml b/docs-xml/smbdotconf/base/workgroup.xml
index bf650ff..eb8ca18 100644
--- a/docs-xml/smbdotconf/base/workgroup.xml
+++ b/docs-xml/smbdotconf/base/workgroup.xml
@@ -1,6 +1,6 @@
 <samba:parameter name="workgroup"
                  context="G"
-                 type="string"
+                 type="ustring"
                  constant="1"
                  xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
-- 
2.4.3


From 25c1767d2da72d364b45346a97035d7460030ced Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 18:37:00 +0200
Subject: [PATCH 65/78] param: move the actual table out into
 param_table_static.c

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/param_table.c                           | 3734 +--------------------
 lib/param/{param_table.c => param_table_static.c} |  291 +-
 python/samba/tests/docs.py                        |    2 +-
 3 files changed, 5 insertions(+), 4022 deletions(-)
 copy lib/param/{param_table.c => param_table_static.c} (90%)

diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index cefc6ce..372cd37 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -282,3739 +282,7 @@ static const struct enum_list enum_case[] = {
 #define GLOBAL_VAR(name) offsetof(struct loadparm_global, name)
 #define LOCAL_VAR(name) offsetof(struct loadparm_service, name)
 
-
-struct parm_struct parm_table[] = {
-	{
-		.label		= "dos charset",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dos_charset),
-		.special	= handle_dos_charset,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "unix charset",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unix_charset),
-		.special	= handle_charset,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "comment",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(comment),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "path",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(path),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(path),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "workgroup",
-		.type		= P_USTRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(workgroup),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "realm",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(realm),
-		.special	= handle_realm,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "netbios name",
-		.type		= P_USTRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(netbios_name),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "netbios aliases",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(netbios_aliases),
-		.special	= handle_netbios_aliases,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "netbios scope",
-		.type		= P_USTRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(netbios_scope),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "server string",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_string),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "interfaces",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(interfaces),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "bind interfaces only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(bind_interfaces_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "config backend",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(config_backend),
-		.special	= NULL,
-		.enum_list	= enum_config_backend,
-	},
-	{
-		.label		= "server role",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_server_role),
-		.special	= NULL,
-		.enum_list	= enum_server_role,
-	},
-	{
-		.label		= "security",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_security),
-		.special	= NULL,
-		.enum_list	= enum_security,
-	},
-	{
-		.label		= "auth methods",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(auth_methods),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "encrypt passwords",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(encrypt_passwords),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client schannel",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_schannel),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "server schannel",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_schannel),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "allow trusted domains",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_trusted_domains),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map to guest",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(map_to_guest),
-		.special	= NULL,
-		.enum_list	= enum_map_to_guest,
-	},
-	{
-		.label		= "null passwords",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(null_passwords),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "old password allowed period",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(old_password_allowed_period),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "obey pam restrictions",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(obey_pam_restrictions),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "password server",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(password_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb passwd file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb_passwd_file),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "private dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(private_dir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "private directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(private_dir),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "passdb backend",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passdb_backend),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "algorithmic rid base",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(algorithmic_rid_base),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(root_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(root_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "root",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(root_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "guest account",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(guest_account),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enable privileges",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enable_privileges),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-
-	{
-		.label		= "pam password change",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(pam_password_change),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd program",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_program),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd chat",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_chat),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd chat debug",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_chat_debug),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd chat timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_chat_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "check password script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(check_password_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username level",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_level),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "unix password sync",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unix_password_sync),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "restrict anonymous",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(restrict_anonymous),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lanman auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lanman_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ntlm auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ntlm_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client NTLMv2 auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_ntlmv2_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client lanman auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_lanman_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client plaintext auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_plaintext_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client use spnego principal",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_use_spnego_principal),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "username",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(username),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "user",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(username),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "users",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(username),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "invalid users",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(invalid_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "valid users",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(valid_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "admin users",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(admin_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "read list",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write list",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(write_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force user",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_user),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force group",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_group),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "group",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_group),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "read only",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "spotlight",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(spotlight),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write ok",
-		.type		= P_BOOLREV,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "writeable",
-		.type		= P_BOOLREV,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "writable",
-		.type		= P_BOOLREV,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "acl check permissions",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_check_permissions),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "acl group control",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_group_control),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "acl map full control",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_map_full_control),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "acl allow execute always",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_allow_execute_always),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "create mask",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(create_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "create mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(create_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "force create mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_create_mode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory mask",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(directory_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(directory_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "force directory mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_directory_mode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force unknown acl user",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_unknown_acl_user),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "inherit permissions",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(inherit_permissions),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "inherit acls",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(inherit_acls),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "inherit owner",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(inherit_owner),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "guest only",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "only guest",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "administrative share",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(administrative_share),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "guest ok",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_ok),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "public",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_ok),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "only user",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(only_user),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "hosts allow",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_allow),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allow hosts",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_allow),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "hosts deny",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_deny),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "deny hosts",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_deny),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "preload modules",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(preload_modules),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dedicated keytab file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dedicated_keytab_file),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kerberos method",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(kerberos_method),
-		.special	= NULL,
-		.enum_list	= enum_kerberos_method,
-	},
-	{
-		.label		= "map untrusted to domain",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(map_untrusted_to_domain),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "log level",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_level),
-		.special	= handle_debug_list,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debuglevel",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_level),
-		.special	= handle_debug_list,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "syslog",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(syslog),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "syslog only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(syslog_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "log file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logfile),
-		.special	= handle_logfile,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logging",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logging),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max log size",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_log_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug timestamp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(timestamp_logs),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "timestamp logs",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(timestamp_logs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug prefix timestamp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_prefix_timestamp),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug hires timestamp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_hires_timestamp),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug pid",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_pid),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug uid",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_uid),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug class",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_class),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enable core files",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enable_core_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allocation roundup size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(allocation_roundup_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "aio read size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(aio_read_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "aio write size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(aio_write_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "aio write behind",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(aio_write_behind),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb ports",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb_ports),
-		.special	= handle_smb_ports,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "large readwrite",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(large_readwrite),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "server max protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "max protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "server min protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_min_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "min protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_min_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "client max protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_client_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "client min protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_min_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "unicode",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unicode),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "min receivefile size",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(min_receivefile_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "read raw",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(read_raw),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write raw",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(write_raw),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "disable netbios",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(disable_netbios),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "reset on zero vc",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(reset_on_zero_vc),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "log writeable files on exit",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_writeable_files_on_exit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "defer sharing violations",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(defer_sharing_violations),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ea support",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(ea_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nt acl support",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(nt_acl_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nt pipe support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nt_pipe_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nt status support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nt_status_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smbd profiling level",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smbd_profiling_level),
-		.special	= NULL,
-		.enum_list	= enum_smbd_profiling_level,
-	},
-	{
-		.label		= "profile acls",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(profile_acls),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map acl inherit",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_acl_inherit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "afs share",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(afs_share),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max mux",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_mux),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max xmit",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_xmit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "name resolve order",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(name_resolve_order),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max ttl",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_ttl),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max wins ttl",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_wins_ttl),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "min wins ttl",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(min_wins_ttl),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "time server",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(time_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "unix extensions",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unix_extensions),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "use spnego",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(use_spnego),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "client signing",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_signing),
-		.special	= NULL,
-		.enum_list	= enum_smb_signing_vals,
-	},
-	{
-		.label		= "server signing",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_signing),
-		.special	= NULL,
-		.enum_list	= enum_smb_signing_vals,
-	},
-	{
-		.label		= "smb encrypt",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(smb_encrypt),
-		.special	= NULL,
-		.enum_list	= enum_smb_signing_vals,
-	},
-	{
-		.label		= "client use spnego",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_use_spnego),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client ldap sasl wrapping",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_ldap_sasl_wrapping),
-		.special	= NULL,
-		.enum_list	= enum_ldap_sasl_wrapping,
-	},
-	{
-		.label		= "enable asu support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enable_asu_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "svcctl list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(svcctl_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cldap port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cldap_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "dgram port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dgram_port),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags          = FLAG_DEPRECATED
-	},
-	{
-		.label		= "nbt port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nbt_port),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags          = FLAG_DEPRECATED
-	},
-	{
-		.label		= "krb5 port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(krb5_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "kpasswd port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(kpasswd_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "web port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(web_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "rpc big endian",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(rpc_big_endian),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "durable handles",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(durable_handles),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "block size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(block_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "deadtime",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(deadtime),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "getwd cache",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(getwd_cache),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "keepalive",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(keepalive),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "change notify",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(change_notify),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory name cache size",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(directory_name_cache_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kernel change notify",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(kernel_change_notify),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lpq cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lpq_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max smbd processes",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_smbd_processes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max connections",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(max_connections),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max disk size",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_disk_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max open files",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_open_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "min print space",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(min_print_space),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "socket options",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(socket_options),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict allocate",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_allocate),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict rename",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_rename),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict sync",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_sync),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "sync always",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(sync_always),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "use mmap",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(use_mmap),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "use sendfile",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(_use_sendfile),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hostname lookups",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(hostname_lookups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write cache size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(write_cache_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "name cache timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(name_cache_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ctdbd socket",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ctdbd_socket),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cluster addresses",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cluster_addresses),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "clustering",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(clustering),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ctdb timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ctdb_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ctdb locktime warn threshold",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ctdb_locktime_warn_threshold),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max read",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_read),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max write",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_write),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max trans",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_trans),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max credits",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_credits),
-		.special	= handle_smb2_max_credits,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max reported print jobs",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(max_reported_print_jobs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max print jobs",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(max_print_jobs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "load printers",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(load_printers),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printcap cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(printcap_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printcap name",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(printcap_name),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printcap",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(printcap_name),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "printable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printable),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "print notify backchannel",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(print_notify_backchannel),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "print ok",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printable),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "printing",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printing),
-		.special	= handle_printing,
-		.enum_list	= enum_printing,
-	},
-	{
-		.label		= "cups options",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(cups_options),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cups server",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cups_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label          = "cups encrypt",
-		.type           = P_ENUM,
-		.p_class        = P_GLOBAL,
-		.offset         = GLOBAL_VAR(cups_encrypt),
-		.special        = NULL,
-		.enum_list      = enum_bool_auto,
-	},
-	{
-
-		.label		= "cups connection timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cups_connection_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "iprint server",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(iprint_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "print command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(print_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "disable spoolss",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_disable_spoolss),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enable spoolss",
-		.type		= P_BOOLREV,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_disable_spoolss),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "lpq command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lpq_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lprm command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lprm_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lppause command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lppause_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lpresume command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lpresume_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "queuepause command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(queuepause_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "queueresume command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(queueresume_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "addport command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(addport_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enumports command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enumports_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "addprinter command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(addprinter_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "deleteprinter command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(deleteprinter_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "show add printer wizard",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(show_add_printer_wizard),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "os2 driver map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(os2_driver_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "printer name",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(_printername),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printer",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(_printername),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "use client driver",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(use_client_driver),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "default devmode",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(default_devmode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force printername",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_printername),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printjob username",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printjob_username),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "mangling method",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(mangling_method),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "mangle prefix",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(mangle_prefix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "default case",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(default_case),
-		.special	= NULL,
-		.enum_list	= enum_case,
-	},
-	{
-		.label		= "case sensitive",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(case_sensitive),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "casesignames",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(case_sensitive),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "preserve case",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preserve_case),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "short preserve case",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(short_preserve_case),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "mangling char",
-		.type		= P_CHAR,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(mangling_char),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide dot files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_dot_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide special files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_special_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide unreadable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_unreadable),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide unwriteable files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_unwriteable_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete veto files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(delete_veto_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "veto files",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(veto_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide files",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "veto oplock files",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(veto_oplock_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map archive",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_archive),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map hidden",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_hidden),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map system",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_system),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map readonly",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_readonly),
-		.special	= NULL,
-		.enum_list	= enum_map_readonly,
-	},
-	{
-		.label		= "mangled names",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(mangled_names),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max stat cache size",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_stat_cache_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "stat cache",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(stat_cache),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "store dos attributes",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(store_dos_attributes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dmapi support",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dmapi_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "machine password timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(machine_password_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add user script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_user_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "rename user script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(rename_user_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete user script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_user_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add user to group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_user_to_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete user from group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_user_from_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "set primary group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(set_primary_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add machine script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_machine_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "shutdown script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(shutdown_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "abort shutdown script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(abort_shutdown_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username map script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_map_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username map cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_map_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon path",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_path),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon drive",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_drive),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon home",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_home),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "domain logons",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_domain_logons),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "init logon delayed hosts",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(init_logon_delayed_hosts),
-		.special        = NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "init logon delay",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(init_logon_delay),
-		.special        = NULL,
-		.enum_list	= NULL,
-
-	},
-	{
-		.label		= "os level",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(os_level),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lm announce",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lm_announce),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "lm interval",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lm_interval),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "preferred master",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_preferred_master),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "prefered master",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_preferred_master),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "local master",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(local_master),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "domain master",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_domain_master),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "browse list",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(browse_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "browseable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(browseable),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "browsable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(browseable),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "access based share enum",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(access_based_share_enum),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enhanced browsing",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enhanced_browsing),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dns proxy",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_dns_proxy),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins proxy",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_proxy),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins server",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_server_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(we_are_a_wins_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins hook",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_hook),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "blocking locks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(blocking_locks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "csc policy",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(csc_policy),
-		.special	= NULL,
-		.enum_list	= enum_csc_policy,
-	},
-	{
-		.label		= "fake oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(fake_oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kernel oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(kernel_oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kernel share modes",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(kernel_share_modes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 leases",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_leases),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "locking",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(locking),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lock spin time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lock_spin_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "level2 oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(level2_oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "oplock break wait time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(oplock_break_wait_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "oplock contention limit",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(oplock_contention_limit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "posix locking",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(posix_locking),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict locking",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_locking),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "ldap admin dn",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_admin_dn),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap delete dn",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_delete_dn),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap group suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_group_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap idmap suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_idmap_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap machine suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_machine_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap passwd sync",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_passwd_sync),
-		.special	= NULL,
-		.enum_list	= enum_ldap_passwd_sync,
-	},
-	{
-		.label		= "ldap password sync",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_passwd_sync),
-		.special	= NULL,
-		.enum_list	= enum_ldap_passwd_sync,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "ldap replication sleep",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_replication_sleep),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap ssl",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_ssl),
-		.special	= NULL,
-		.enum_list	= enum_ldap_ssl,
-	},
-	{
-		.label		= "ldap ssl ads",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_ssl_ads),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap deref",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_deref),
-		.special	= NULL,
-		.enum_list	= enum_ldap_deref,
-	},
-	{
-		.label		= "ldap follow referral",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_follow_referral),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "ldap timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap connection timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_connection_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap page size",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_page_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap user suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_user_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap debug level",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_debug_level),
-		.special	= handle_ldap_debug_level,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap debug threshold",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_debug_threshold),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "eventlog list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(eventlog_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add share command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_share_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "change share command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(change_share_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete share command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_share_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "config file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(next_configfile),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "preload",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(auto_services),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "auto services",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(auto_services),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lock directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lock_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lock dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lock_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "state directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(state_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cache directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cache_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "pid directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(pid_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ntp signd socket directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ntp_signd_socket_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-#ifdef WITH_UTMP
-	{
-		.label		= "utmp directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(utmp_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wtmp directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wtmp_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "utmp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(utmp),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-#endif
-	{
-		.label		= "default service",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(defaultservice),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "default",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(defaultservice),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "message command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(message_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dfree cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dfree_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dfree command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dfree_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "get quota command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(get_quota_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "set quota command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(set_quota_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "remote announce",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(remote_announce),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "remote browse sync",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(remote_browse_sync),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nbt client socket address",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nbt_client_socket_address),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "socket address",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nbt_client_socket_address),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "nmbd bind explicit broadcast",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nmbd_bind_explicit_broadcast),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "homedir map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(homedir_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "afs username map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(afs_username_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "afs token lifetime",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(afs_token_lifetime),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "log nt token command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_nt_token_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "NIS homedir",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nis_homedir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "-valid",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(valid),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "copy",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(copy),
-		.special	= handle_copy,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "include",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(include),
-		.special	= handle_include,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "preexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "exec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "preexec close",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preexec_close),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "postexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(postexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root preexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(root_preexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root preexec close",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(root_preexec_close),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root postexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(root_postexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "available",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(available),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "registry shares",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(registry_shares),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare allow guests",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_allow_guests),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare max shares",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_max_shares),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare owner only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_owner_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare path",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_path),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare prefix allow list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_prefix_allow_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare prefix deny list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_prefix_deny_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare template share",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_template_share),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "volume",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(volume),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "fstype",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(fstype),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allow insecure wide links",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_insecure_wide_links),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wide links",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(wide_links),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "follow symlinks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(follow_symlinks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dont descend",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dont_descend),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "magic script",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(magic_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "magic output",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(magic_output),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete readonly",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(delete_readonly),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dos filemode",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dos_filemode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dos filetimes",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dos_filetimes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dos filetime resolution",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dos_filetime_resolution),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "fake directory create times",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(fake_directory_create_times),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "async smb echo handler",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(async_smb_echo_handler),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "panic action",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(panic_action),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "perfcount module",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(perfcount_module),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "vfs objects",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(vfs_objects),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "vfs object",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(vfs_objects),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "msdfs root",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(msdfs_root),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "msdfs proxy",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(msdfs_proxy),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "msdfs shuffle referrals",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(msdfs_shuffle_referrals),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "host msdfs",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(host_msdfs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passdb expand explicit",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passdb_expand_explicit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "idmap backend",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_backend),
-		.special	= handle_idmap_backend,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "idmap cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "idmap negative cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_negative_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "idmap uid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_uid),
-		.special	= handle_idmap_uid,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "winbind uid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_uid),
-		.special	= handle_idmap_uid,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "idmap gid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_gid),
-		.special	= handle_idmap_gid,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "winbind gid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_gid),
-		.special	= handle_idmap_gid,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "template homedir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(template_homedir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "template shell",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(template_shell),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind separator",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_separator),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind reconnect delay",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_reconnect_delay),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind request timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_request_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind max clients",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_max_clients),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind enum users",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_enum_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind enum groups",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_enum_groups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind use default domain",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_use_default_domain),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind trusted domains only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_trusted_domains_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind nested groups",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_nested_groups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind expand groups",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_expand_groups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind nss info",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_nss_info),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind refresh tickets",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_refresh_tickets),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind offline logon",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_offline_logon),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind normalize names",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_normalize_names),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind rpc only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_rpc_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "create krb5 conf",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(create_krb5_conf),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ncalrpc dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ncalrpc_dir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind max domain connections",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_winbind_max_domain_connections),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbindd socket directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbindd_socket_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbindd privileged socket directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbindd_privileged_socket_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind sealed pipes",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_sealed_pipes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "neutralize nt4 emulation",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(neutralize_nt4_emulation),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "reject md5 servers",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(reject_md5_servers),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "require strong key",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(require_strong_key),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allow dns updates",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_dns_updates),
-		.special	= NULL,
-		.enum_list	= enum_dns_update_settings,
-	},
-	{
-		.label		= "dns forwarder",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dns_forwarder),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dns update command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dns_update_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nsupdate command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nsupdate_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "rndc command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(rndc_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "multicast dns register",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(multicast_dns_register),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "samba kcc command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(samba_kcc_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "server services",
-		.type		= P_LIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_services),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "dcerpc endpoint servers",
-		.type		= P_LIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dcerpc_endpoint_servers),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "spn update command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(spn_update_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "share backend",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(share_backend),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "ntvfs handler",
-		.type		= P_LIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(ntvfs_handler),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "allow nt4 crypto",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_nt4_crypto),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "reject md5 clients",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(reject_md5_clients),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "tls enabled",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(tls_enabled),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls keyfile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_keyfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls certfile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_certfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls cafile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_cafile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls crlfile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_crlfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls dh params file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_dhpfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls priority",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(tls_priority),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-
-	{NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}
-};
+#include "lib/param/param_table_static.c"
 
 int num_parameters(void)
 {
diff --git a/lib/param/param_table.c b/lib/param/param_table_static.c
similarity index 90%
copy from lib/param/param_table.c
copy to lib/param/param_table_static.c
index cefc6ce..fab0cac 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table_static.c
@@ -1,287 +1,5 @@
-/*
-   Unix SMB/CIFS implementation.
-   Parameter loading functions
-   Copyright (C) Karl Auer 1993-1998
-
-   Largely re-written by Andrew Tridgell, September 1994
-
-   Copyright (C) Simo Sorce 2001
-   Copyright (C) Alexander Bokovoy 2002
-   Copyright (C) Stefan (metze) Metzmacher 2002
-   Copyright (C) Jim McDonough <jmcd at us.ibm.com> 2003
-   Copyright (C) Michael Adam 2008
-   Copyright (C) Jelmer Vernooij <jelmer at samba.org> 2007
-   Copyright (C) Andrew Bartlett 2011
-
-   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 "lib/param/param.h"
-#include "lib/param/loadparm.h"
-#include "lib/param/param_global.h"
-#include "libcli/smb/smb_constants.h"
-
-#ifndef N_
-#define N_(x) x
-#endif
-
-static const struct enum_list enum_protocol[] = {
-	{PROTOCOL_DEFAULT, "default"}, /* the caller decides what this means */
-	{PROTOCOL_SMB2_10, "SMB2"}, /* for now keep PROTOCOL_SMB2_10 */
-	{PROTOCOL_SMB3_11, "SMB3"}, /* for now keep PROTOCOL_SMB3_11 */
-	{PROTOCOL_SMB3_11, "SMB3_11"},
-	{PROTOCOL_SMB3_10, "SMB3_10"},
-	{PROTOCOL_SMB3_02, "SMB3_02"},
-	{PROTOCOL_SMB3_00, "SMB3_00"},
-	{PROTOCOL_SMB2_24, "SMB2_24"},
-	{PROTOCOL_SMB2_22, "SMB2_22"},
-	{PROTOCOL_SMB2_10, "SMB2_10"},
-	{PROTOCOL_SMB2_02, "SMB2_02"},
-	{PROTOCOL_NT1, "NT1"},
-	{PROTOCOL_LANMAN2, "LANMAN2"},
-	{PROTOCOL_LANMAN1, "LANMAN1"},
-	{PROTOCOL_CORE, "CORE"},
-	{PROTOCOL_COREPLUS, "COREPLUS"},
-	{PROTOCOL_COREPLUS, "CORE+"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_security[] = {
-	{SEC_AUTO, "AUTO"},
-	{SEC_USER, "USER"},
-	{SEC_DOMAIN, "DOMAIN"},
-	{SEC_ADS, "ADS"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_bool_auto[] = {
-	{false, "No"},
-	{false, "False"},
-	{false, "0"},
-	{true, "Yes"},
-	{true, "True"},
-	{true, "1"},
-	{Auto, "Auto"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_csc_policy[] = {
-	{CSC_POLICY_MANUAL, "manual"},
-	{CSC_POLICY_DOCUMENTS, "documents"},
-	{CSC_POLICY_PROGRAMS, "programs"},
-	{CSC_POLICY_DISABLE, "disable"},
-	{-1, NULL}
-};
-
-/* Server role options */
-static const struct enum_list enum_server_role[] = {
-	{ROLE_AUTO, "auto"},
-	{ROLE_STANDALONE, "standalone server"},
-	{ROLE_STANDALONE, "standalone"},
-	{ROLE_DOMAIN_MEMBER, "member server"},
-	{ROLE_DOMAIN_MEMBER, "member"},
-	{ROLE_DOMAIN_PDC, "classic primary domain controller"},
-	{ROLE_DOMAIN_BDC, "classic backup domain controller"},
-	{ROLE_ACTIVE_DIRECTORY_DC, "active directory domain controller"},
-	{ROLE_ACTIVE_DIRECTORY_DC, "domain controller"},
-	{ROLE_ACTIVE_DIRECTORY_DC, "dc"},
-	{-1, NULL}
-};
-
-/* SMB signing types. */
-static const struct enum_list enum_smb_signing_vals[] = {
-	{SMB_SIGNING_DEFAULT, "default"},
-	{SMB_SIGNING_OFF, "No"},
-	{SMB_SIGNING_OFF, "False"},
-	{SMB_SIGNING_OFF, "0"},
-	{SMB_SIGNING_OFF, "Off"},
-	{SMB_SIGNING_OFF, "disabled"},
-	{SMB_SIGNING_IF_REQUIRED, "if_required"},
-	{SMB_SIGNING_IF_REQUIRED, "Yes"},
-	{SMB_SIGNING_IF_REQUIRED, "True"},
-	{SMB_SIGNING_IF_REQUIRED, "1"},
-	{SMB_SIGNING_IF_REQUIRED, "On"},
-	{SMB_SIGNING_IF_REQUIRED, "enabled"},
-	{SMB_SIGNING_IF_REQUIRED, "auto"},
-	{SMB_SIGNING_DESIRED, "desired"},
-	{SMB_SIGNING_REQUIRED, "required"},
-	{SMB_SIGNING_REQUIRED, "mandatory"},
-	{SMB_SIGNING_REQUIRED, "force"},
-	{SMB_SIGNING_REQUIRED, "forced"},
-	{SMB_SIGNING_REQUIRED, "enforced"},
-	{-1, NULL}
-};
-
-/* DNS update options. */
-static const struct enum_list enum_dns_update_settings[] = {
-	{DNS_UPDATE_OFF, "disabled"},
-	{DNS_UPDATE_OFF, "No"},
-	{DNS_UPDATE_OFF, "False"},
-	{DNS_UPDATE_OFF, "0"},
-	{DNS_UPDATE_OFF, "Off"},
-	{DNS_UPDATE_ON, "nonsecure and secure"},
-	{DNS_UPDATE_ON, "nonsecure"},
-	{DNS_UPDATE_SIGNED, "secure only"},
-	{DNS_UPDATE_SIGNED, "secure"},
-	{DNS_UPDATE_SIGNED, "signed"},
-	{-1, NULL}
-};
-
-/*
-   Do you want session setups at user level security with a invalid
-   password to be rejected or allowed in as guest? WinNT rejects them
-   but it can be a pain as it means "net view" needs to use a password
-
-   You have 3 choices in the setting of map_to_guest:
-
-   "Never" means session setups with an invalid password
-   are rejected. This is the default.
-
-   "Bad User" means session setups with an invalid password
-   are rejected, unless the username does not exist, in which case it
-   is treated as a guest login
-
-   "Bad Password" means session setups with an invalid password
-   are treated as a guest login
-
-   Note that map_to_guest only has an effect in user or server
-   level security.
-*/
-
-static const struct enum_list enum_map_to_guest[] = {
-	{NEVER_MAP_TO_GUEST, "Never"},
-	{MAP_TO_GUEST_ON_BAD_USER, "Bad User"},
-	{MAP_TO_GUEST_ON_BAD_PASSWORD, "Bad Password"},
-        {MAP_TO_GUEST_ON_BAD_UID, "Bad Uid"},
-	{-1, NULL}
-};
-
-/* Config backend options */
-
-static const struct enum_list enum_config_backend[] = {
-	{CONFIG_BACKEND_FILE, "file"},
-	{CONFIG_BACKEND_REGISTRY, "registry"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_smbd_profiling_level[] = {
-	{0, "off"}, {1, "count"}, {2, "on"}, {-1, NULL}
-};
-
-
-/* ADS kerberos ticket verification options */
-
-static const struct enum_list enum_kerberos_method[] = {
-	{KERBEROS_VERIFY_SECRETS, "default"},
-	{KERBEROS_VERIFY_SECRETS, "secrets only"},
-	{KERBEROS_VERIFY_SYSTEM_KEYTAB, "system keytab"},
-	{KERBEROS_VERIFY_DEDICATED_KEYTAB, "dedicated keytab"},
-	{KERBEROS_VERIFY_SECRETS_AND_KEYTAB, "secrets and keytab"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_printing[] = {
-	{PRINT_SYSV, "sysv"},
-	{PRINT_AIX, "aix"},
-	{PRINT_HPUX, "hpux"},
-	{PRINT_BSD, "bsd"},
-	{PRINT_QNX, "qnx"},
-	{PRINT_PLP, "plp"},
-	{PRINT_LPRNG, "lprng"},
-#ifdef HAVE_CUPS
-	{PRINT_CUPS, "cups"},
-#endif
-#ifdef HAVE_IPRINT
-	{PRINT_IPRINT, "iprint"},
-#endif
-	{PRINT_LPRNT, "nt"},
-	{PRINT_LPROS2, "os2"},
-#if defined(DEVELOPER) || defined(ENABLE_SELFTEST)
-	{PRINT_TEST, "test"},
-	{PRINT_VLP, "vlp"},
-#endif /* DEVELOPER */
-	{-1, NULL}
-};
-
-static const struct enum_list enum_ldap_sasl_wrapping[] = {
-	{0, "plain"},
-	{ADS_AUTH_SASL_SIGN, "sign"},
-	{ADS_AUTH_SASL_SEAL, "seal"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_ldap_ssl[] = {
-	{LDAP_SSL_OFF, "no"},
-	{LDAP_SSL_OFF, "off"},
-	{LDAP_SSL_START_TLS, "start tls"},
-	{LDAP_SSL_START_TLS, "start_tls"},
-	{-1, NULL}
-};
-
-/* LDAP Dereferencing Alias types */
-#define SAMBA_LDAP_DEREF_NEVER		0
-#define SAMBA_LDAP_DEREF_SEARCHING	1
-#define SAMBA_LDAP_DEREF_FINDING	2
-#define SAMBA_LDAP_DEREF_ALWAYS		3
-
-static const struct enum_list enum_ldap_deref[] = {
-	{SAMBA_LDAP_DEREF_NEVER, "never"},
-	{SAMBA_LDAP_DEREF_SEARCHING, "searching"},
-	{SAMBA_LDAP_DEREF_FINDING, "finding"},
-	{SAMBA_LDAP_DEREF_ALWAYS, "always"},
-	{-1, "auto"}
-};
-
-static const struct enum_list enum_ldap_passwd_sync[] = {
-	{LDAP_PASSWD_SYNC_OFF, "no"},
-	{LDAP_PASSWD_SYNC_OFF, "off"},
-	{LDAP_PASSWD_SYNC_ON, "yes"},
-	{LDAP_PASSWD_SYNC_ON, "on"},
-	{LDAP_PASSWD_SYNC_ONLY, "only"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_map_readonly[] = {
-	{MAP_READONLY_NO, "no"},
-	{MAP_READONLY_NO, "false"},
-	{MAP_READONLY_NO, "0"},
-	{MAP_READONLY_YES, "yes"},
-	{MAP_READONLY_YES, "true"},
-	{MAP_READONLY_YES, "1"},
-	{MAP_READONLY_PERMISSIONS, "permissions"},
-	{MAP_READONLY_PERMISSIONS, "perms"},
-	{-1, NULL}
-};
-
-static const struct enum_list enum_case[] = {
-	{CASE_LOWER, "lower"},
-	{CASE_UPPER, "upper"},
-	{-1, NULL}
-};
-
-
-/* Note: We do not initialise the defaults union - it is not allowed in ANSI C
- *
- * NOTE: Handling of duplicated (synonym) parameters:
- *   Parameters that are synonymous are stored in the same variable.
- *   All but the default spelling carry the flag FLAG_SYNONYM.
- */
-
-#define GLOBAL_VAR(name) offsetof(struct loadparm_global, name)
-#define LOCAL_VAR(name) offsetof(struct loadparm_service, name)
-
+#ifndef __PARAM_TABLE_STATIC_C__
+#define __PARAM_TABLE_STATIC_C__
 
 struct parm_struct parm_table[] = {
 	{
@@ -4016,7 +3734,4 @@ struct parm_struct parm_table[] = {
 	{NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}
 };
 
-int num_parameters(void)
-{
-	return (sizeof(parm_table) / sizeof(struct parm_struct));
-}
+#endif /* __PARAM_TABLE_STATIC_C__ */
diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index 112f89a..ded0c20 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -60,7 +60,7 @@ def get_documented_parameters(sourcedir):
 
 def get_implementation_parameters(sourcedir):
     # Reading entries from source code
-    f = open(os.path.join(sourcedir, "lib/param/param_table.c"), "r")
+    f = open(os.path.join(sourcedir, "lib/param/param_table_static.c"), "r")
     try:
         # burn through the preceding lines
         while True:
-- 
2.4.3


From 04432c65d45e79a15312c73fb897e2aba1f689ef Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 18 Jun 2015 07:37:24 +0200
Subject: [PATCH 66/78] generate_param: add a means to generate
 param_table_gen.c from the docs

This is triggered by the new argument PARAMTABLE.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 script/generate_param.py | 107 +++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 104 insertions(+), 3 deletions(-)

diff --git a/script/generate_param.py b/script/generate_param.py
index b71d3aa..611bafa 100644
--- a/script/generate_param.py
+++ b/script/generate_param.py
@@ -35,8 +35,8 @@ parser.add_option("-f", "--file", dest="filename",
                   help="input file", metavar="FILE")
 parser.add_option("-o", "--output", dest="output",
                   help='output file', metavar="FILE")
-parser.add_option("--mode", type="choice", metavar="<FUNCTIONS|S3PROTO|LIBPROTO|PARAMDEFS>",
-                 choices=["FUNCTIONS", "S3PROTO", "LIBPROTO", "PARAMDEFS"], default="FUNCTIONS")
+parser.add_option("--mode", type="choice", metavar="<FUNCTIONS|S3PROTO|LIBPROTO|PARAMDEFS|PARAMTABLE>",
+                 choices=["FUNCTIONS", "S3PROTO", "LIBPROTO", "PARAMDEFS", "PARAMTABLE"], default="FUNCTIONS")
 parser.add_option("--scope", metavar="<GLOBAL|LOCAL>",
                   choices = ["GLOBAL", "LOCAL"], default="GLOBAL")
 
@@ -69,6 +69,11 @@ def iterate_all(path):
         synonym = parameter.attrib.get("synonym")
         removed = parameter.attrib.get("removed")
         generated = parameter.attrib.get("generated_function")
+        handler = parameter.attrib.get("handler")
+        enumlist = parameter.attrib.get("enumlist")
+        deprecated = parameter.attrib.get("deprecated")
+        synonyms = parameter.findall('synonym')
+
         if removed == "1":
             continue
 
@@ -78,6 +83,10 @@ def iterate_all(path):
             raise Exception("Error parsing parameter: " + name)
         if func is None:
             func = name.replace(" ", "_").lower()
+        if enumlist is None:
+            enumlist = "NULL"
+        if handler is None:
+            handler = "NULL"
         yield {'name': name,
                'type': param_type,
                'context': context,
@@ -85,7 +94,11 @@ def iterate_all(path):
                'constant': (constant == '1'),
                'parm': (parm == '1'),
                'synonym' : synonym,
-               'generated' : generated }
+               'generated' : generated,
+               'enumlist' : enumlist,
+               'handler' : handler,
+               'deprecated' : deprecated,
+               'synonyms' : synonyms }
 
 # map doc attributes to a section of the generated function
 context_dict = {"G": "_GLOBAL", "S": "_LOCAL"}
@@ -296,6 +309,92 @@ def make_param_defs(path_in, path_out, scope):
     finally:
         file_out.close()
 
+type_dict = {
+              "boolean"      : "P_BOOL",
+              "boolean-rev"  : "P_BOOLREV",
+              "boolean-auto" : "P_ENUM",
+              "list"         : "P_LIST",
+              "string"       : "P_STRING",
+              "integer"      : "P_INTEGER",
+              "enum"         : "P_ENUM",
+              "char"         : "P_CHAR",
+              "cmdlist"      : "P_CMDLIST",
+              "bytes"        : "P_BYTES",
+              "octal"        : "P_OCTAL",
+              "ustring"      : "P_USTRING",
+            }
+
+def make_param_table(path_in, path_out):
+    file_out = open(path_out, 'w')
+    try:
+        file_out.write('/* This file was automatically generated by generate_param.py. DO NOT EDIT */\n\n')
+        header = get_header(path_out)
+        file_out.write("#ifndef %s\n" % header)
+        file_out.write("#define %s\n\n" % header)
+
+        file_out.write("struct parm_struct parm_table[] = {\n")
+
+        for parameter in iterate_all(path_in):
+            # filter out parameteric options
+            if ':' in parameter['name']:
+                continue
+            if parameter['context'] == 'G':
+                p_class = "P_GLOBAL"
+            else:
+                p_class = "P_LOCAL"
+
+            p_type = type_dict.get(parameter['type'])
+
+            if parameter['context'] == 'G':
+                temp = "GLOBAL"
+            else:
+                temp = "LOCAL"
+            offset = "%s_VAR(%s)" % (temp, parameter['function'])
+
+            enumlist = parameter['enumlist']
+            handler = parameter['handler']
+            synonym = parameter['synonym']
+            deprecated = parameter['deprecated']
+            flags_list = []
+            if synonym == "1":
+                flags_list.append("FLAG_SYNONYM")
+            if deprecated == "1":
+                flags_list.append("FLAG_DEPRECATED")
+            flags = "|".join(flags_list)
+            synonyms = parameter['synonyms']
+
+            file_out.write("\t{\n")
+            file_out.write("\t\t.label\t\t= \"%s\",\n" % parameter['name'])
+            file_out.write("\t\t.type\t\t= %s,\n" % p_type)
+            file_out.write("\t\t.p_class\t= %s,\n" % p_class)
+            file_out.write("\t\t.offset\t\t= %s,\n" % offset)
+            file_out.write("\t\t.special\t= %s,\n" % handler)
+            file_out.write("\t\t.enum_list\t= %s,\n" % enumlist)
+            if flags != "":
+                file_out.write("\t\t.flags\t\t= %s,\n" % flags)
+            file_out.write("\t},\n")
+
+            if synonyms is not None:
+                # for synonyms, we only list the synonym flag:
+                flags = "FLAG_SYNONYM"
+                for syn in synonyms:
+                    file_out.write("\t{\n")
+                    file_out.write("\t\t.label\t\t= \"%s\",\n" % syn.text)
+                    file_out.write("\t\t.type\t\t= %s,\n" % p_type)
+                    file_out.write("\t\t.p_class\t= %s,\n" % p_class)
+                    file_out.write("\t\t.offset\t\t= %s,\n" % offset)
+                    file_out.write("\t\t.special\t= %s,\n" % handler)
+                    file_out.write("\t\t.enum_list\t= %s,\n" % enumlist)
+                    if flags != "":
+                        file_out.write("\t\t.flags\t\t= %s,\n" % flags)
+                    file_out.write("\t},\n")
+
+        file_out.write("\n\t{NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}\n");
+        file_out.write("};\n")
+        file_out.write("\n#endif /* %s */\n\n" % header)
+    finally:
+        file_out.close()
+
 if options.mode == 'FUNCTIONS':
     generate_functions(options.filename, options.output)
 elif options.mode == 'S3PROTO':
@@ -304,3 +403,5 @@ elif options.mode == 'LIBPROTO':
     make_lib_proto(options.filename, options.output)
 elif options.mode == 'PARAMDEFS':
     make_param_defs(options.filename, options.output, options.scope)
+elif options.mode == 'PARAMTABLE':
+    make_param_table(options.filename, options.output)
-- 
2.4.3


From a011ce43a46bd3e58ee57d6c215f59d2192dc5d8 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Tue, 28 Apr 2015 11:45:43 +0200
Subject: [PATCH 67/78] build: generate param_table_gen.c from docs in the
 build

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/wscript_build | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/param/wscript_build b/lib/param/wscript_build
index 66003e9..c7fe577 100644
--- a/lib/param/wscript_build
+++ b/lib/param/wscript_build
@@ -24,6 +24,12 @@ bld.SAMBA_GENERATOR('param_global.h',
                     group='build_source',
                     rule='${PYTHON} ${SRC[0].abspath(env)} --file ${SRC[1].abspath(env)} --output ${TGT} --mode=PARAMDEFS --scope=GLOBAL')
 
+bld.SAMBA_GENERATOR('param_table_gen.c',
+                    source='../../script/generate_param.py ../../docs-xml/smbdotconf/parameters.all.xml',
+                    target='param_table_gen.c',
+                    group='build_source',
+                    rule='${PYTHON} ${SRC[0].abspath(env)} --file ${SRC[1].abspath(env)} --output ${TGT} --mode=PARAMTABLE')
+
 bld.SAMBA_LIBRARY('server-role',
                   source='loadparm_server_role.c',
                   deps='samba-util',
-- 
2.4.3


From f5d297b3154cf2cb24a7051c1f216940296aa245 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Wed, 22 Jul 2015 15:16:16 +0200
Subject: [PATCH 68/78] tests:docs: common initialization in docs test.

Just load the structures once at startup.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 78 +++++++++++++++++++++-------------------------
 1 file changed, 35 insertions(+), 43 deletions(-)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index ded0c20..4e5f1fc 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -151,34 +151,45 @@ class SmbDotConfTests(TestCase):
         finally:
             f.close()
 
+        self.topdir = os.path.abspath(samba.source_tree_topdir())
+
+        try:
+            self.documented = set(get_documented_parameters(self.topdir))
+        except:
+            self.fail("Unable to load documented parameters")
+
+        try:
+            self.parameters = set(get_implementation_parameters(self.topdir))
+        except:
+            self.fail("Unable to load implemented parameters")
+
+        try:
+            self.defaults = set(get_documented_tuples(self.topdir))
+        except:
+            self.fail("Unable to load parameters")
+
+        try:
+            self.defaults_all = set(get_documented_tuples(self.topdir, False))
+        except:
+            self.fail("Unable to load parameters")
+
+
     def tearDown(self):
         super(SmbDotConfTests, self).tearDown()
         os.unlink(self.smbconf)
         os.unlink(self.blankconf)
 
     def test_unknown(self):
-        topdir = os.path.abspath(samba.source_tree_topdir())
-        try:
-            documented = set(get_documented_parameters(topdir))
-        except e:
-            self.fail("Unable to load parameters")
-        parameters = set(get_implementation_parameters(topdir))
         # Filter out parametric options, since we can't find them in the parm
         # table
-        documented = set([p for p in documented if not ":" in p])
-        unknown = documented.difference(parameters)
+        documented = set([p for p in self.documented if not ":" in p])
+        unknown = documented.difference(self.parameters)
         if len(unknown) > 0:
             self.fail(self._format_message(unknown,
                 "Parameters that are documented but not in the implementation:"))
 
     def test_undocumented(self):
-        topdir = os.path.abspath(samba.source_tree_topdir())
-        try:
-            documented = set(get_documented_parameters(topdir))
-        except:
-            self.fail("Unable to load parameters")
-        parameters = set(get_implementation_parameters(topdir))
-        undocumented = parameters.difference(documented)
+        undocumented = self.parameters.difference(self.documented)
         if len(undocumented) > 0:
             self.fail(self._format_message(undocumented,
                 "Parameters that are in the implementation but undocumented:"))
@@ -203,16 +214,10 @@ class SmbDotConfTests(TestCase):
         self._test_empty(['bin/samba-tool', 'testparm'])
 
     def _test_default(self, program):
-        topdir = os.path.abspath(samba.source_tree_topdir())
-        try:
-            defaults = set(get_documented_tuples(topdir))
-        except:
-            self.fail("Unable to load parameters")
-        bindir = os.path.join(topdir, "bin")
         failset = set()
         count = 0
 
-        for tuples in defaults:
+        for tuples in self.defaults:
             param, default, context, param_type = tuples
             if param in self.special_cases:
                 continue
@@ -225,7 +230,7 @@ class SmbDotConfTests(TestCase):
                  self.fail("%s has no valid context" % param)
             p = subprocess.Popen(program + ["-s", self.smbconf,
                     "--section-name", section, "--parameter-name", param],
-                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=topdir).communicate()
+                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=self.topdir).communicate()
             if p[0].upper().strip() != default.upper():
                 if not (p[0].upper().strip() == "" and default == '""'):
                     doc_triple = "%s\n      Expected: %s" % (param, default)
@@ -236,16 +241,10 @@ class SmbDotConfTests(TestCase):
                 "Parameters that do not have matching defaults:"))
 
     def _set_defaults(self, program):
-        topdir = os.path.abspath(samba.source_tree_topdir())
-        try:
-            defaults = set(get_documented_tuples(topdir))
-        except:
-            self.fail("Unable to load parameters")
-        bindir = os.path.join(topdir, "bin")
         failset = set()
         count = 0
 
-        for tuples in defaults:
+        for tuples in self.defaults:
             param, default, context, param_type = tuples
 
             if param in ['printing']:
@@ -261,7 +260,7 @@ class SmbDotConfTests(TestCase):
             p = subprocess.Popen(program + ["-s", self.smbconf,
                     "--section-name", section, "--parameter-name", param,
                     "--option", "%s = %s" % (param, default)],
-                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=topdir).communicate()
+                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=self.topdir).communicate()
             if p[0].upper().strip() != default.upper():
                 if not (p[0].upper().strip() == "" and default == '""'):
                     doc_triple = "%s\n      Expected: %s" % (param, default)
@@ -286,16 +285,11 @@ class SmbDotConfTests(TestCase):
                               'octal': '0567',
                               'ustring': 'ustring2',
                               'enum':'', 'boolean-auto': '', 'char': 'b', 'list': 'd, e, f'}
-        topdir = os.path.abspath(samba.source_tree_topdir())
-        try:
-            defaults = set(get_documented_tuples(topdir, False))
-        except Exception,e:
-            self.fail("Unable to load parameters" + e)
-        bindir = os.path.join(topdir, "bin")
+
         failset = set()
         count = 0
 
-        for tuples in defaults:
+        for tuples in self.defaults_all:
             param, default, context, param_type = tuples
 
             if param in ['printing', 'copy', 'include', 'log level']:
@@ -324,7 +318,7 @@ class SmbDotConfTests(TestCase):
             p = subprocess.Popen(program + ["-s", self.smbconf,
                     "--section-name", section, "--parameter-name", param,
                     "--option", "%s = %s" % (param, value_to_use)],
-                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=topdir).communicate()
+                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=self.topdir).communicate()
             if p[0].upper().strip() != value_to_use.upper():
                 # currently no way to distinguish command lists
                 if param_type == 'list':
@@ -354,7 +348,7 @@ class SmbDotConfTests(TestCase):
 
             p = subprocess.Popen(program + ["-s", tempconf, "--suppress-prompt",
                     "--option", "%s = %s" % (param, value_to_use)],
-                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=topdir).communicate()
+                    stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=self.topdir).communicate()
 
             os.unlink(tempconf)
 
@@ -388,10 +382,8 @@ class SmbDotConfTests(TestCase):
                 "Parameters that were unexpectedly not set:"))
 
     def _test_empty(self, program):
-        topdir = os.path.abspath(samba.source_tree_topdir())
-
         p = subprocess.Popen(program + ["-s", self.blankconf, "--suppress-prompt"],
-                stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=topdir).communicate()
+                stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=self.topdir).communicate()
         output = ""
 
         for line in p[0].splitlines():
-- 
2.4.3


From 3571944e2114d61e527372f39825de11bff3045e Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 16:25:45 +0200
Subject: [PATCH 69/78] tests:docs: print more complicated structures than
 strings in the message.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index 4e5f1fc..ab105e0 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -31,6 +31,7 @@ class TestCase(samba.tests.TestCaseInTempDir):
 
     def _format_message(self, parameters, message):
         parameters = list(parameters)
+        parameters = map(str, parameters)
         parameters.sort()
         return message + '\n\n    %s' % ('\n    '.join(parameters))
 
-- 
2.4.3


From d305760224f099dd5fba23fc963cd16cf0ae02ba Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 23:10:16 +0200
Subject: [PATCH 70/78] tests:docs: add a function to load the full data
 structures from the table

instead of just loading the list of parameter names.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index ab105e0..cf12b54 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -82,6 +82,64 @@ def get_implementation_parameters(sourcedir):
     finally:
         f.close()
 
+def get_param_table_full(sourcedir, filename="lib/param/param_table_static.c"):
+    # Reading entries from source code
+    f = open(os.path.join(sourcedir, filename), "r")
+    try:
+        # burn through the preceding lines
+        while True:
+            l = f.readline()
+            if l.startswith("struct parm_struct parm_table"):
+                break
+
+        for l in f.readlines():
+
+            if re.match("^\s*\}\;\s*$", l):
+                # end of the table reached
+                break
+
+            if re.match("^\s*\{\s*$", l):
+                # start a new entry
+                _label = ""
+                _type = ""
+                _class = ""
+                _offset = ""
+                _special = ""
+                _enum_list = ""
+                _flags = ""
+                continue
+
+            if re.match("^\s*\},\s*$", l):
+                # finish the entry
+                yield _label, _type, _class, _offset, _special, _enum_list, _flags
+                continue
+
+            m = re.match("^\s*\.([^\s]+)\s*=\s*(.*),.*", l)
+            if not m:
+                continue
+
+            attrib = m.group(1)
+            value = m.group(2)
+
+            if attrib == "label":
+                _label = value
+            elif attrib == "type":
+                _type = value
+            elif attrib == "p_class":
+                _class = value
+            elif attrib == "offset":
+                _offset = value
+            elif attrib == "special":
+                _special = value
+            elif attrib == "enum_list":
+                _special = value
+            elif attrib == "flags":
+                _flags = value
+
+    finally:
+        f.close()
+
+
 def get_documented_tuples(sourcedir, omit_no_default=True):
     path = os.path.join(sourcedir, "bin", "default", "docs-xml", "smbdotconf")
     if not os.path.exists(os.path.join(path, "parameters.all.xml")):
-- 
2.4.3


From 66d4ed9a997802cd09f125afe45328263ad3a43c Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 23:15:07 +0200
Subject: [PATCH 71/78] tests:docs: load the full data from the existing
 param_table.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index cf12b54..fbe783b 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -223,6 +223,12 @@ class SmbDotConfTests(TestCase):
             self.fail("Unable to load implemented parameters")
 
         try:
+            self.table_static = set(get_param_table_full(self.topdir,
+                                   "lib/param/param_table_static.c"))
+        except:
+            self.fail("Unable to load static parameter table")
+
+        try:
             self.defaults = set(get_documented_tuples(self.topdir))
         except:
             self.fail("Unable to load parameters")
-- 
2.4.3


From 803afd3e390997e8d5533e92c537c6a568fff994 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 23:15:38 +0200
Subject: [PATCH 72/78] tests:docs: load the full data from the generated
 param_table

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index fbe783b..dc5e212 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -229,6 +229,12 @@ class SmbDotConfTests(TestCase):
             self.fail("Unable to load static parameter table")
 
         try:
+            self.table_gen = set(get_param_table_full(self.topdir,
+                                 "bin/default/lib/param/param_table_gen.c"))
+        except:
+            self.fail("Unable to load generated parameter table")
+
+        try:
             self.defaults = set(get_documented_tuples(self.topdir))
         except:
             self.fail("Unable to load parameters")
-- 
2.4.3


From d0cd2a4a2c2c1653549d8a756ef2d68f4d4aa0a1 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 16:29:23 +0200
Subject: [PATCH 73/78] tests:docs: test the diff between the static and
 generated table

This proves that the committed and the generated parameter tables
are identical (modulo order).

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index dc5e212..510dafa 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -265,6 +265,25 @@ class SmbDotConfTests(TestCase):
             self.fail(self._format_message(undocumented,
                 "Parameters that are in the implementation but undocumented:"))
 
+    def test_generated(self):
+        diff1 = self.table_static.difference(self.table_gen)
+        diff1_txt = ""
+        if len(diff1) > 0:
+            diff1_txt = self._format_message(diff1,
+                "Parameter diff viewed from static (%d entries):"
+                % (len(diff1)))
+
+        diff2 = self.table_gen.difference(self.table_static)
+        diff2_txt = ""
+        if len(diff2) > 0:
+            diff2_txt = self._format_message(diff2,
+                "Parameter diff viewed from generated (%d entries):" %
+                (len(diff2)))
+
+        if len(diff1) > 0 or len(diff2) > 0:
+            self.fail("Parameter tables are different.\n%s\n%s" %
+                      (diff1_txt, diff2_txt))
+
     def test_default_s3(self):
         self._test_default(['bin/testparm'])
         self._set_defaults(['bin/testparm'])
-- 
2.4.3


From 7c804a4fde7bfe3b6e227b34fa6629a7519d475a Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 18:40:27 +0200
Subject: [PATCH 74/78] param: use the generated parameter table.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/param_table.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 372cd37..92a7619 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -282,7 +282,7 @@ static const struct enum_list enum_case[] = {
 #define GLOBAL_VAR(name) offsetof(struct loadparm_global, name)
 #define LOCAL_VAR(name) offsetof(struct loadparm_service, name)
 
-#include "lib/param/param_table_static.c"
+#include "lib/param/param_table_gen.c"
 
 int num_parameters(void)
 {
-- 
2.4.3


From 03b422b9c7916b5d5bf1377ad0d23b95a605d05d Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Thu, 23 Jul 2015 23:56:11 +0200
Subject: [PATCH 75/78] tests:docs: remove testing the diff between the static
 and generated table

This reverts commit 380e0769ad3563dc762fb0c9ebe57d8131846519.

This is in preparation of the removal of the committed param_table_static.c

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 19 -------------------
 1 file changed, 19 deletions(-)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index 510dafa..dc5e212 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -265,25 +265,6 @@ class SmbDotConfTests(TestCase):
             self.fail(self._format_message(undocumented,
                 "Parameters that are in the implementation but undocumented:"))
 
-    def test_generated(self):
-        diff1 = self.table_static.difference(self.table_gen)
-        diff1_txt = ""
-        if len(diff1) > 0:
-            diff1_txt = self._format_message(diff1,
-                "Parameter diff viewed from static (%d entries):"
-                % (len(diff1)))
-
-        diff2 = self.table_gen.difference(self.table_static)
-        diff2_txt = ""
-        if len(diff2) > 0:
-            diff2_txt = self._format_message(diff2,
-                "Parameter diff viewed from generated (%d entries):" %
-                (len(diff2)))
-
-        if len(diff1) > 0 or len(diff2) > 0:
-            self.fail("Parameter tables are different.\n%s\n%s" %
-                      (diff1_txt, diff2_txt))
-
     def test_default_s3(self):
         self._test_default(['bin/testparm'])
         self._set_defaults(['bin/testparm'])
-- 
2.4.3


From c6f7745aabb9ba4ee5627de7586c6103026919e8 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 24 Jul 2015 01:29:37 +0200
Subject: [PATCH 76/78] tests:docs: don't load or test the static param_table.

It is going to be removed for the generated table.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 python/samba/tests/docs.py | 49 ----------------------------------------------
 1 file changed, 49 deletions(-)

diff --git a/python/samba/tests/docs.py b/python/samba/tests/docs.py
index dc5e212..e7123b6 100644
--- a/python/samba/tests/docs.py
+++ b/python/samba/tests/docs.py
@@ -59,29 +59,6 @@ def get_documented_parameters(sourcedir):
     p.close()
 
 
-def get_implementation_parameters(sourcedir):
-    # Reading entries from source code
-    f = open(os.path.join(sourcedir, "lib/param/param_table_static.c"), "r")
-    try:
-        # burn through the preceding lines
-        while True:
-            l = f.readline()
-            if l.startswith("struct parm_struct parm_table"):
-                break
-
-        for l in f.readlines():
-            if re.match("^\s*\}\;\s*$", l):
-                break
-            # pull in the param names only
-            m = re.match("\s*\.label\s*=\s*\"(.*)\".*", l)
-            if not m:
-                continue
-
-            name = m.group(1)
-            yield name
-    finally:
-        f.close()
-
 def get_param_table_full(sourcedir, filename="lib/param/param_table_static.c"):
     # Reading entries from source code
     f = open(os.path.join(sourcedir, filename), "r")
@@ -218,17 +195,6 @@ class SmbDotConfTests(TestCase):
             self.fail("Unable to load documented parameters")
 
         try:
-            self.parameters = set(get_implementation_parameters(self.topdir))
-        except:
-            self.fail("Unable to load implemented parameters")
-
-        try:
-            self.table_static = set(get_param_table_full(self.topdir,
-                                   "lib/param/param_table_static.c"))
-        except:
-            self.fail("Unable to load static parameter table")
-
-        try:
             self.table_gen = set(get_param_table_full(self.topdir,
                                  "bin/default/lib/param/param_table_gen.c"))
         except:
@@ -250,21 +216,6 @@ class SmbDotConfTests(TestCase):
         os.unlink(self.smbconf)
         os.unlink(self.blankconf)
 
-    def test_unknown(self):
-        # Filter out parametric options, since we can't find them in the parm
-        # table
-        documented = set([p for p in self.documented if not ":" in p])
-        unknown = documented.difference(self.parameters)
-        if len(unknown) > 0:
-            self.fail(self._format_message(unknown,
-                "Parameters that are documented but not in the implementation:"))
-
-    def test_undocumented(self):
-        undocumented = self.parameters.difference(self.documented)
-        if len(undocumented) > 0:
-            self.fail(self._format_message(undocumented,
-                "Parameters that are in the implementation but undocumented:"))
-
     def test_default_s3(self):
         self._test_default(['bin/testparm'])
         self._set_defaults(['bin/testparm'])
-- 
2.4.3


From 2c64d476dac7f41f7173b2c692f881fba1bcdbe6 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 24 Jul 2015 00:31:27 +0200
Subject: [PATCH 77/78] param: remove the static param_table.

It is now auto-generated.

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/param_table_static.c | 3737 ----------------------------------------
 1 file changed, 3737 deletions(-)
 delete mode 100644 lib/param/param_table_static.c

diff --git a/lib/param/param_table_static.c b/lib/param/param_table_static.c
deleted file mode 100644
index fab0cac..0000000
--- a/lib/param/param_table_static.c
+++ /dev/null
@@ -1,3737 +0,0 @@
-#ifndef __PARAM_TABLE_STATIC_C__
-#define __PARAM_TABLE_STATIC_C__
-
-struct parm_struct parm_table[] = {
-	{
-		.label		= "dos charset",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dos_charset),
-		.special	= handle_dos_charset,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "unix charset",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unix_charset),
-		.special	= handle_charset,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "comment",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(comment),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "path",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(path),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(path),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "workgroup",
-		.type		= P_USTRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(workgroup),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "realm",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(realm),
-		.special	= handle_realm,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "netbios name",
-		.type		= P_USTRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(netbios_name),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "netbios aliases",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(netbios_aliases),
-		.special	= handle_netbios_aliases,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "netbios scope",
-		.type		= P_USTRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(netbios_scope),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "server string",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_string),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "interfaces",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(interfaces),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "bind interfaces only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(bind_interfaces_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "config backend",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(config_backend),
-		.special	= NULL,
-		.enum_list	= enum_config_backend,
-	},
-	{
-		.label		= "server role",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_server_role),
-		.special	= NULL,
-		.enum_list	= enum_server_role,
-	},
-	{
-		.label		= "security",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_security),
-		.special	= NULL,
-		.enum_list	= enum_security,
-	},
-	{
-		.label		= "auth methods",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(auth_methods),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "encrypt passwords",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(encrypt_passwords),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client schannel",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_schannel),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "server schannel",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_schannel),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "allow trusted domains",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_trusted_domains),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map to guest",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(map_to_guest),
-		.special	= NULL,
-		.enum_list	= enum_map_to_guest,
-	},
-	{
-		.label		= "null passwords",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(null_passwords),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "old password allowed period",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(old_password_allowed_period),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "obey pam restrictions",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(obey_pam_restrictions),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "password server",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(password_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb passwd file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb_passwd_file),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "private dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(private_dir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "private directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(private_dir),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "passdb backend",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passdb_backend),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "algorithmic rid base",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(algorithmic_rid_base),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(root_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(root_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "root",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(root_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "guest account",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(guest_account),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enable privileges",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enable_privileges),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-
-	{
-		.label		= "pam password change",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(pam_password_change),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd program",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_program),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd chat",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_chat),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd chat debug",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_chat_debug),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passwd chat timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passwd_chat_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "check password script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(check_password_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username level",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_level),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "unix password sync",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unix_password_sync),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "restrict anonymous",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(restrict_anonymous),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lanman auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lanman_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ntlm auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ntlm_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client NTLMv2 auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_ntlmv2_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client lanman auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_lanman_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client plaintext auth",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_plaintext_auth),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client use spnego principal",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_use_spnego_principal),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "username",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(username),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "user",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(username),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "users",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(username),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "invalid users",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(invalid_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "valid users",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(valid_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "admin users",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(admin_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "read list",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write list",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(write_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force user",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_user),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force group",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_group),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "group",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_group),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "read only",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "spotlight",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(spotlight),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write ok",
-		.type		= P_BOOLREV,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "writeable",
-		.type		= P_BOOLREV,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "writable",
-		.type		= P_BOOLREV,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(read_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "acl check permissions",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_check_permissions),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "acl group control",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_group_control),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "acl map full control",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_map_full_control),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "acl allow execute always",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(acl_allow_execute_always),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "create mask",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(create_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "create mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(create_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "force create mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_create_mode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory mask",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(directory_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(directory_mask),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "force directory mode",
-		.type		= P_OCTAL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_directory_mode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force unknown acl user",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_unknown_acl_user),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "inherit permissions",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(inherit_permissions),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "inherit acls",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(inherit_acls),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "inherit owner",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(inherit_owner),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "guest only",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "only guest",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "administrative share",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(administrative_share),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "guest ok",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_ok),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "public",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(guest_ok),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "only user",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(only_user),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "hosts allow",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_allow),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allow hosts",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_allow),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "hosts deny",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_deny),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "deny hosts",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hosts_deny),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "preload modules",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(preload_modules),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dedicated keytab file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dedicated_keytab_file),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kerberos method",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(kerberos_method),
-		.special	= NULL,
-		.enum_list	= enum_kerberos_method,
-	},
-	{
-		.label		= "map untrusted to domain",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(map_untrusted_to_domain),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "log level",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_level),
-		.special	= handle_debug_list,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debuglevel",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_level),
-		.special	= handle_debug_list,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "syslog",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(syslog),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "syslog only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(syslog_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "log file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logfile),
-		.special	= handle_logfile,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logging",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logging),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max log size",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_log_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug timestamp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(timestamp_logs),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "timestamp logs",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(timestamp_logs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug prefix timestamp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_prefix_timestamp),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug hires timestamp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_hires_timestamp),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug pid",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_pid),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug uid",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_uid),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "debug class",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(debug_class),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enable core files",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enable_core_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allocation roundup size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(allocation_roundup_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "aio read size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(aio_read_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "aio write size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(aio_write_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "aio write behind",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(aio_write_behind),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb ports",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb_ports),
-		.special	= handle_smb_ports,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "large readwrite",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(large_readwrite),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "server max protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "max protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "server min protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_min_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "min protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_min_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "client max protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_client_max_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "client min protocol",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_min_protocol),
-		.special	= NULL,
-		.enum_list	= enum_protocol,
-	},
-	{
-		.label		= "unicode",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unicode),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "min receivefile size",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(min_receivefile_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "read raw",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(read_raw),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write raw",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(write_raw),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "disable netbios",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(disable_netbios),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "reset on zero vc",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(reset_on_zero_vc),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "log writeable files on exit",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_writeable_files_on_exit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "defer sharing violations",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(defer_sharing_violations),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ea support",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(ea_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nt acl support",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(nt_acl_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nt pipe support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nt_pipe_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nt status support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nt_status_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smbd profiling level",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smbd_profiling_level),
-		.special	= NULL,
-		.enum_list	= enum_smbd_profiling_level,
-	},
-	{
-		.label		= "profile acls",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(profile_acls),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map acl inherit",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_acl_inherit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "afs share",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(afs_share),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max mux",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_mux),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max xmit",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_xmit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "name resolve order",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(name_resolve_order),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max ttl",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_ttl),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max wins ttl",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_wins_ttl),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "min wins ttl",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(min_wins_ttl),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "time server",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(time_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "unix extensions",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(unix_extensions),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "use spnego",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(use_spnego),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "client signing",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_signing),
-		.special	= NULL,
-		.enum_list	= enum_smb_signing_vals,
-	},
-	{
-		.label		= "server signing",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_signing),
-		.special	= NULL,
-		.enum_list	= enum_smb_signing_vals,
-	},
-	{
-		.label		= "smb encrypt",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(smb_encrypt),
-		.special	= NULL,
-		.enum_list	= enum_smb_signing_vals,
-	},
-	{
-		.label		= "client use spnego",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_use_spnego),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "client ldap sasl wrapping",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(client_ldap_sasl_wrapping),
-		.special	= NULL,
-		.enum_list	= enum_ldap_sasl_wrapping,
-	},
-	{
-		.label		= "enable asu support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enable_asu_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "svcctl list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(svcctl_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cldap port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cldap_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "dgram port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dgram_port),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags          = FLAG_DEPRECATED
-	},
-	{
-		.label		= "nbt port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nbt_port),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags          = FLAG_DEPRECATED
-	},
-	{
-		.label		= "krb5 port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(krb5_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "kpasswd port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(kpasswd_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "web port",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(web_port),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "rpc big endian",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(rpc_big_endian),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "durable handles",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(durable_handles),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "block size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(block_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "deadtime",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(deadtime),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "getwd cache",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(getwd_cache),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "keepalive",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(keepalive),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "change notify",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(change_notify),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "directory name cache size",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(directory_name_cache_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kernel change notify",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(kernel_change_notify),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lpq cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lpq_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max smbd processes",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_smbd_processes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max connections",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(max_connections),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max disk size",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_disk_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max open files",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_open_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "min print space",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(min_print_space),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "socket options",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(socket_options),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict allocate",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_allocate),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict rename",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_rename),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict sync",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_sync),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "sync always",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(sync_always),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "use mmap",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(use_mmap),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "use sendfile",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(_use_sendfile),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hostname lookups",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(hostname_lookups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "write cache size",
-		.type		= P_BYTES,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(write_cache_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "name cache timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(name_cache_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ctdbd socket",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ctdbd_socket),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cluster addresses",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cluster_addresses),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "clustering",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(clustering),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ctdb timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ctdb_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ctdb locktime warn threshold",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ctdb_locktime_warn_threshold),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max read",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_read),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max write",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_write),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max trans",
-		.type		= P_BYTES,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_trans),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 max credits",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_max_credits),
-		.special	= handle_smb2_max_credits,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max reported print jobs",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(max_reported_print_jobs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max print jobs",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(max_print_jobs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "load printers",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(load_printers),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printcap cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(printcap_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printcap name",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(printcap_name),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printcap",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(printcap_name),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "printable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printable),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "print notify backchannel",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(print_notify_backchannel),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "print ok",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printable),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "printing",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printing),
-		.special	= handle_printing,
-		.enum_list	= enum_printing,
-	},
-	{
-		.label		= "cups options",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(cups_options),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cups server",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cups_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label          = "cups encrypt",
-		.type           = P_ENUM,
-		.p_class        = P_GLOBAL,
-		.offset         = GLOBAL_VAR(cups_encrypt),
-		.special        = NULL,
-		.enum_list      = enum_bool_auto,
-	},
-	{
-
-		.label		= "cups connection timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cups_connection_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "iprint server",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(iprint_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "print command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(print_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "disable spoolss",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_disable_spoolss),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enable spoolss",
-		.type		= P_BOOLREV,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_disable_spoolss),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "lpq command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lpq_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lprm command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lprm_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lppause command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lppause_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lpresume command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(lpresume_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "queuepause command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(queuepause_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "queueresume command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(queueresume_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "addport command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(addport_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enumports command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enumports_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "addprinter command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(addprinter_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "deleteprinter command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(deleteprinter_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "show add printer wizard",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(show_add_printer_wizard),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "os2 driver map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(os2_driver_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "printer name",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(_printername),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printer",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(_printername),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "use client driver",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(use_client_driver),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "default devmode",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(default_devmode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "force printername",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(force_printername),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "printjob username",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(printjob_username),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "mangling method",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(mangling_method),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "mangle prefix",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(mangle_prefix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "default case",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(default_case),
-		.special	= NULL,
-		.enum_list	= enum_case,
-	},
-	{
-		.label		= "case sensitive",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(case_sensitive),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "casesignames",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(case_sensitive),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "preserve case",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preserve_case),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "short preserve case",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(short_preserve_case),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "mangling char",
-		.type		= P_CHAR,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(mangling_char),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide dot files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_dot_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide special files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_special_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide unreadable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_unreadable),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide unwriteable files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_unwriteable_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete veto files",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(delete_veto_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "veto files",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(veto_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "hide files",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(hide_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "veto oplock files",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(veto_oplock_files),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map archive",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_archive),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map hidden",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_hidden),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map system",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_system),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "map readonly",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(map_readonly),
-		.special	= NULL,
-		.enum_list	= enum_map_readonly,
-	},
-	{
-		.label		= "mangled names",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(mangled_names),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "max stat cache size",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(max_stat_cache_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "stat cache",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(stat_cache),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "store dos attributes",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(store_dos_attributes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dmapi support",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dmapi_support),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "machine password timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(machine_password_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add user script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_user_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "rename user script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(rename_user_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete user script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_user_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add user to group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_user_to_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete user from group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_user_from_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "set primary group script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(set_primary_group_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add machine script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_machine_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "shutdown script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(shutdown_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "abort shutdown script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(abort_shutdown_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username map script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_map_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "username map cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(username_map_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon script",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon path",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_path),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon drive",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_drive),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "logon home",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(logon_home),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "domain logons",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_domain_logons),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "init logon delayed hosts",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(init_logon_delayed_hosts),
-		.special        = NULL,
-		.enum_list	= NULL,
-	},
-
-	{
-		.label		= "init logon delay",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(init_logon_delay),
-		.special        = NULL,
-		.enum_list	= NULL,
-
-	},
-	{
-		.label		= "os level",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(os_level),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lm announce",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lm_announce),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "lm interval",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lm_interval),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "preferred master",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_preferred_master),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "prefered master",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_preferred_master),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "local master",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(local_master),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "domain master",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_domain_master),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "browse list",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(browse_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "browseable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(browseable),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "browsable",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(browseable),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "access based share enum",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(access_based_share_enum),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "enhanced browsing",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(enhanced_browsing),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dns proxy",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_dns_proxy),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins proxy",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_proxy),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins server",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_server_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins support",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(we_are_a_wins_server),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wins hook",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wins_hook),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "blocking locks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(blocking_locks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "csc policy",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(csc_policy),
-		.special	= NULL,
-		.enum_list	= enum_csc_policy,
-	},
-	{
-		.label		= "fake oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(fake_oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kernel oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(kernel_oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "kernel share modes",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(kernel_share_modes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "smb2 leases",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(smb2_leases),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "locking",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(locking),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lock spin time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lock_spin_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "level2 oplocks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(level2_oplocks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "oplock break wait time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(oplock_break_wait_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "oplock contention limit",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(oplock_contention_limit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "posix locking",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(posix_locking),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "strict locking",
-		.type		= P_ENUM,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(strict_locking),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "ldap admin dn",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_admin_dn),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap delete dn",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_delete_dn),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap group suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_group_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap idmap suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_idmap_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap machine suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_machine_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap passwd sync",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_passwd_sync),
-		.special	= NULL,
-		.enum_list	= enum_ldap_passwd_sync,
-	},
-	{
-		.label		= "ldap password sync",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_passwd_sync),
-		.special	= NULL,
-		.enum_list	= enum_ldap_passwd_sync,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "ldap replication sleep",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_replication_sleep),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap ssl",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_ssl),
-		.special	= NULL,
-		.enum_list	= enum_ldap_ssl,
-	},
-	{
-		.label		= "ldap ssl ads",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_ssl_ads),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap deref",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_deref),
-		.special	= NULL,
-		.enum_list	= enum_ldap_deref,
-	},
-	{
-		.label		= "ldap follow referral",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_follow_referral),
-		.special	= NULL,
-		.enum_list	= enum_bool_auto,
-	},
-	{
-		.label		= "ldap timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap connection timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_connection_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap page size",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_page_size),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap user suffix",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_ldap_user_suffix),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap debug level",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_debug_level),
-		.special	= handle_ldap_debug_level,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ldap debug threshold",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ldap_debug_threshold),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "eventlog list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(eventlog_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "add share command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(add_share_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "change share command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(change_share_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete share command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(delete_share_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "config file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(next_configfile),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "preload",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(auto_services),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "auto services",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(auto_services),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lock directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lock_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "lock dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(lock_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "state directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(state_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "cache directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(cache_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "pid directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(pid_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ntp signd socket directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ntp_signd_socket_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-
-#ifdef WITH_UTMP
-	{
-		.label		= "utmp directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(utmp_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wtmp directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(wtmp_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "utmp",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(utmp),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-#endif
-	{
-		.label		= "default service",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(defaultservice),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "default",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(defaultservice),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "message command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(message_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dfree cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dfree_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dfree command",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dfree_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "get quota command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(get_quota_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "set quota command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(set_quota_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "remote announce",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(remote_announce),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "remote browse sync",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(remote_browse_sync),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nbt client socket address",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nbt_client_socket_address),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "socket address",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nbt_client_socket_address),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "nmbd bind explicit broadcast",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nmbd_bind_explicit_broadcast),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "homedir map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(homedir_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "afs username map",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(afs_username_map),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "afs token lifetime",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(afs_token_lifetime),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "log nt token command",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(log_nt_token_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "NIS homedir",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nis_homedir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "-valid",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(valid),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "copy",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(copy),
-		.special	= handle_copy,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "include",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(include),
-		.special	= handle_include,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "preexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "exec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "preexec close",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(preexec_close),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "postexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(postexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root preexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(root_preexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root preexec close",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(root_preexec_close),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "root postexec",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(root_postexec),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "available",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(available),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "registry shares",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(registry_shares),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare allow guests",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_allow_guests),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare max shares",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_max_shares),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare owner only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_owner_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare path",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_path),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare prefix allow list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_prefix_allow_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare prefix deny list",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_prefix_deny_list),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "usershare template share",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(usershare_template_share),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "volume",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(volume),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "fstype",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(fstype),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allow insecure wide links",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_insecure_wide_links),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "wide links",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(wide_links),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "follow symlinks",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(follow_symlinks),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dont descend",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dont_descend),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "magic script",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(magic_script),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "magic output",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(magic_output),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "delete readonly",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(delete_readonly),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dos filemode",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dos_filemode),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dos filetimes",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dos_filetimes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dos filetime resolution",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(dos_filetime_resolution),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "fake directory create times",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(fake_directory_create_times),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "async smb echo handler",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(async_smb_echo_handler),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "panic action",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(panic_action),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "perfcount module",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(perfcount_module),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "vfs objects",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(vfs_objects),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "vfs object",
-		.type		= P_CMDLIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(vfs_objects),
-		.special	= NULL,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "msdfs root",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(msdfs_root),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "msdfs proxy",
-		.type		= P_STRING,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(msdfs_proxy),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "msdfs shuffle referrals",
-		.type		= P_BOOL,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(msdfs_shuffle_referrals),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "host msdfs",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(host_msdfs),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "passdb expand explicit",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(passdb_expand_explicit),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "idmap backend",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_backend),
-		.special	= handle_idmap_backend,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "idmap cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "idmap negative cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_negative_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "idmap uid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_uid),
-		.special	= handle_idmap_uid,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "winbind uid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_uid),
-		.special	= handle_idmap_uid,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "idmap gid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_gid),
-		.special	= handle_idmap_gid,
-		.enum_list	= NULL,
-		.flags		= FLAG_DEPRECATED,
-	},
-	{
-		.label		= "winbind gid",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(idmap_gid),
-		.special	= handle_idmap_gid,
-		.enum_list	= NULL,
-		.flags		= FLAG_SYNONYM,
-	},
-	{
-		.label		= "template homedir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(template_homedir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "template shell",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(template_shell),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind separator",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_separator),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind cache time",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_cache_time),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind reconnect delay",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_reconnect_delay),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind request timeout",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_request_timeout),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind max clients",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_max_clients),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind enum users",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_enum_users),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind enum groups",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_enum_groups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind use default domain",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_use_default_domain),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind trusted domains only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_trusted_domains_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind nested groups",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_nested_groups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind expand groups",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_expand_groups),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind nss info",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_nss_info),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind refresh tickets",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_refresh_tickets),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind offline logon",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_offline_logon),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind normalize names",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_normalize_names),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind rpc only",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_rpc_only),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "create krb5 conf",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(create_krb5_conf),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "ncalrpc dir",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(ncalrpc_dir),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind max domain connections",
-		.type		= P_INTEGER,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_winbind_max_domain_connections),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbindd socket directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbindd_socket_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbindd privileged socket directory",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbindd_privileged_socket_directory),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "winbind sealed pipes",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(winbind_sealed_pipes),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "neutralize nt4 emulation",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(neutralize_nt4_emulation),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "reject md5 servers",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(reject_md5_servers),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "require strong key",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(require_strong_key),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "allow dns updates",
-		.type		= P_ENUM,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_dns_updates),
-		.special	= NULL,
-		.enum_list	= enum_dns_update_settings,
-	},
-	{
-		.label		= "dns forwarder",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dns_forwarder),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "dns update command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dns_update_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "nsupdate command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(nsupdate_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "rndc command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(rndc_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "multicast dns register",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(multicast_dns_register),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "samba kcc command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(samba_kcc_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "server services",
-		.type		= P_LIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(server_services),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "dcerpc endpoint servers",
-		.type		= P_LIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(dcerpc_endpoint_servers),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "spn update command",
-		.type		= P_CMDLIST,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(spn_update_command),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "share backend",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(share_backend),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "ntvfs handler",
-		.type		= P_LIST,
-		.p_class	= P_LOCAL,
-		.offset		= LOCAL_VAR(ntvfs_handler),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "allow nt4 crypto",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(allow_nt4_crypto),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "reject md5 clients",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(reject_md5_clients),
-		.special	= NULL,
-		.enum_list	= NULL,
-	},
-	{
-		.label		= "tls enabled",
-		.type		= P_BOOL,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(tls_enabled),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls keyfile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_keyfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls certfile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_certfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls cafile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_cafile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls crlfile",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_crlfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls dh params file",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(_tls_dhpfile),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-	{
-		.label		= "tls priority",
-		.type		= P_STRING,
-		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(tls_priority),
-		.special	= NULL,
-		.enum_list	= NULL
-	},
-
-	{NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}
-};
-
-#endif /* __PARAM_TABLE_STATIC_C__ */
-- 
2.4.3


From ec37826bef3b78e820826ea0b249d21bc4a21f82 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 24 Jul 2015 01:56:39 +0200
Subject: [PATCH 78/78] param: update the README with instructions for adding a
 parameter

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/param/README | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/lib/param/README b/lib/param/README
index 6a53a45..d83fe9a 100644
--- a/lib/param/README
+++ b/lib/param/README
@@ -10,13 +10,23 @@ such as the configured shares, default parameter values and host secret keys.
 Adding a parameter
 ------------------
 
-To add or change an smb.conf option, you only have to modify
-lib/param/param_table.c and add the documentation to docs-xml/smbdotconf.
-If special defaults are needed, the functions loadparm_int() in
-lib/param/loadparm.c and/or init_globals() in source3/param/loadparm.c
-need to be adapted accordingly.
+To add or change an smb.conf option, in general you only have to add
+the documentation to docs-xml/smbdotconf, or change it.
+In addition to that, if special defaults are needed, the functions
+loadparm_init() in lib/param/loadparm.c and/or init_globals() in
+source3/param/loadparm.c need to be adapted accordingly.
 The rest is generated for you.
 
+It is important to get the attributes right in the <samba:parameter ...>
+tag of the xml files.  These determine the details of the generated code.
+
+- Supported attributes are name, context, type, constant, function,
+  generated_function, synonym, parm, enumlist, handler, and deprecated.
+- Supported contexts are 'G' (for global) and 'S' (for share).
+- Supported types are boolean, boolean-rev, boolean-auto, list,
+  cmdlist, string, ustring, char, integer, bytes, octal, and enum.
+
+
 
 Using smb.conf parameters in the code
 -------------------------------------
-- 
2.4.3

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20150724/526ca336/attachment-0001.sig>


More information about the samba-technical mailing list