summaryrefslogtreecommitdiffstats
path: root/docs-xml/smbdotconf
diff options
context:
space:
mode:
Diffstat (limited to 'docs-xml/smbdotconf')
-rw-r--r--docs-xml/smbdotconf/base/additionaldnshostnames.xml11
-rw-r--r--docs-xml/smbdotconf/base/bindinterfacesonly.xml57
-rw-r--r--docs-xml/smbdotconf/base/comment.xml18
-rw-r--r--docs-xml/smbdotconf/base/configbackend.xml26
-rw-r--r--docs-xml/smbdotconf/base/doscharset.xml17
-rw-r--r--docs-xml/smbdotconf/base/enablecorefiles.xml15
-rw-r--r--docs-xml/smbdotconf/base/interfaces.xml87
-rw-r--r--docs-xml/smbdotconf/base/mdnsname.xml19
-rw-r--r--docs-xml/smbdotconf/base/multicastdnsregister.xml14
-rw-r--r--docs-xml/smbdotconf/base/netbiosaliases.xml16
-rw-r--r--docs-xml/smbdotconf/base/netbiosname.xml24
-rw-r--r--docs-xml/smbdotconf/base/netbiosscope.xml11
-rw-r--r--docs-xml/smbdotconf/base/path.xml32
-rw-r--r--docs-xml/smbdotconf/base/preforkbackoffincrement.xml25
-rw-r--r--docs-xml/smbdotconf/base/preforkchildren.xml26
-rw-r--r--docs-xml/smbdotconf/base/preforkmaximumbackoff.xml13
-rw-r--r--docs-xml/smbdotconf/base/realm.xml15
-rw-r--r--docs-xml/smbdotconf/base/serverservices.xml17
-rw-r--r--docs-xml/smbdotconf/base/serverstring.xml22
-rw-r--r--docs-xml/smbdotconf/base/unixcharset.xml19
-rw-r--r--docs-xml/smbdotconf/base/workgroup.xml14
-rw-r--r--docs-xml/smbdotconf/browse/administrative_share.xml16
-rw-r--r--docs-xml/smbdotconf/browse/browseable.xml12
-rw-r--r--docs-xml/smbdotconf/browse/browselist.xml14
-rw-r--r--docs-xml/smbdotconf/browse/domainmaster.xml43
-rw-r--r--docs-xml/smbdotconf/browse/enhancedbrowsing.xml27
-rw-r--r--docs-xml/smbdotconf/browse/lmannounce.xml26
-rw-r--r--docs-xml/smbdotconf/browse/lminterval.xml17
-rw-r--r--docs-xml/smbdotconf/browse/localmaster.xml21
-rw-r--r--docs-xml/smbdotconf/browse/oslevel.xml26
-rw-r--r--docs-xml/smbdotconf/browse/preferredmaster.xml30
-rw-r--r--docs-xml/smbdotconf/browse/server_addresses.xml12
-rw-r--r--docs-xml/smbdotconf/domain/allowdnsupdates.xml19
-rw-r--r--docs-xml/smbdotconf/domain/dnsforwarder.xml21
-rw-r--r--docs-xml/smbdotconf/domain/dnsupdatecommand.xml14
-rw-r--r--docs-xml/smbdotconf/domain/dnszonescavenging.xml23
-rw-r--r--docs-xml/smbdotconf/domain/dnszonetransferclientsallow.xml26
-rw-r--r--docs-xml/smbdotconf/domain/dnszonetransferclientsdeny.xml26
-rw-r--r--docs-xml/smbdotconf/domain/gpoupdatecommand.xml17
-rw-r--r--docs-xml/smbdotconf/domain/machinepasswordtimeout.xml25
-rw-r--r--docs-xml/smbdotconf/domain/nsupdatecommand.xml12
-rw-r--r--docs-xml/smbdotconf/domain/spnupdatecommand.xml13
-rw-r--r--docs-xml/smbdotconf/filename/casesensitive.xml13
-rw-r--r--docs-xml/smbdotconf/filename/defaultcase.xml11
-rw-r--r--docs-xml/smbdotconf/filename/deletevetofiles.xml29
-rw-r--r--docs-xml/smbdotconf/filename/hidedotfiles.xml10
-rw-r--r--docs-xml/smbdotconf/filename/hidefiles.xml47
-rw-r--r--docs-xml/smbdotconf/filename/hidenewfilestimeout.xml15
-rw-r--r--docs-xml/smbdotconf/filename/hidespecialfiles.xml14
-rw-r--r--docs-xml/smbdotconf/filename/hideunreadable.xml13
-rw-r--r--docs-xml/smbdotconf/filename/hideunwriteablefiles.xml15
-rw-r--r--docs-xml/smbdotconf/filename/manglednames.xml77
-rw-r--r--docs-xml/smbdotconf/filename/mangleprefix.xml18
-rw-r--r--docs-xml/smbdotconf/filename/manglingchar.xml14
-rw-r--r--docs-xml/smbdotconf/filename/manglingmethod.xml17
-rw-r--r--docs-xml/smbdotconf/filename/maparchive.xml29
-rw-r--r--docs-xml/smbdotconf/filename/maphidden.xml24
-rw-r--r--docs-xml/smbdotconf/filename/mapreadonly.xml61
-rw-r--r--docs-xml/smbdotconf/filename/mapsystem.xml23
-rw-r--r--docs-xml/smbdotconf/filename/maxstatcachesize.xml18
-rw-r--r--docs-xml/smbdotconf/filename/preservecase.xml17
-rw-r--r--docs-xml/smbdotconf/filename/shortpreservecase.xml16
-rw-r--r--docs-xml/smbdotconf/filename/statcache.xml12
-rw-r--r--docs-xml/smbdotconf/filename/storedosattributes.xml30
-rw-r--r--docs-xml/smbdotconf/filename/vetofiles.xml53
-rw-r--r--docs-xml/smbdotconf/filename/vetooplockfiles.xml33
-rw-r--r--docs-xml/smbdotconf/generate-context.xsl49
-rwxr-xr-xdocs-xml/smbdotconf/generate-file-list.sh23
-rw-r--r--docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml41
-rw-r--r--docs-xml/smbdotconf/ldap/ldapadmindn.xml20
-rw-r--r--docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml21
-rw-r--r--docs-xml/smbdotconf/ldap/ldapdeletedn.xml13
-rw-r--r--docs-xml/smbdotconf/ldap/ldapderef.xml23
-rw-r--r--docs-xml/smbdotconf/ldap/ldapfollowreferral.xml23
-rw-r--r--docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml16
-rw-r--r--docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml15
-rw-r--r--docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml17
-rw-r--r--docs-xml/smbdotconf/ldap/ldapmaxanonrequest.xml18
-rw-r--r--docs-xml/smbdotconf/ldap/ldapmaxauthrequest.xml18
-rw-r--r--docs-xml/smbdotconf/ldap/ldapmaxsearchrequest.xml18
-rw-r--r--docs-xml/smbdotconf/ldap/ldappagesize.xml17
-rw-r--r--docs-xml/smbdotconf/ldap/ldappasswdsync.xml38
-rw-r--r--docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml24
-rw-r--r--docs-xml/smbdotconf/ldap/ldapsameditposix.xml91
-rw-r--r--docs-xml/smbdotconf/ldap/ldapsamtrusted.xml29
-rw-r--r--docs-xml/smbdotconf/ldap/ldapserverrequirestrongauth.xml26
-rw-r--r--docs-xml/smbdotconf/ldap/ldapssl.xml42
-rw-r--r--docs-xml/smbdotconf/ldap/ldapsuffix.xml17
-rw-r--r--docs-xml/smbdotconf/ldap/ldaptimeout.xml11
-rw-r--r--docs-xml/smbdotconf/ldap/ldapusersuffix.xml16
-rw-r--r--docs-xml/smbdotconf/locking/blockinglocks.xml25
-rw-r--r--docs-xml/smbdotconf/locking/cscpolicy.xml23
-rw-r--r--docs-xml/smbdotconf/locking/fakeoplocks.xml30
-rw-r--r--docs-xml/smbdotconf/locking/force_process_locks.xml19
-rw-r--r--docs-xml/smbdotconf/locking/kerneloplocks.xml29
-rw-r--r--docs-xml/smbdotconf/locking/kernelsharemodes.xml32
-rw-r--r--docs-xml/smbdotconf/locking/level2oplocks.xml40
-rw-r--r--docs-xml/smbdotconf/locking/locking.xml29
-rw-r--r--docs-xml/smbdotconf/locking/lockspintime.xml15
-rw-r--r--docs-xml/smbdotconf/locking/oplockbreakwaittime.xml18
-rw-r--r--docs-xml/smbdotconf/locking/oplocks.xml30
-rw-r--r--docs-xml/smbdotconf/locking/posixlocking.xml17
-rw-r--r--docs-xml/smbdotconf/locking/smb2leases.xml24
-rw-r--r--docs-xml/smbdotconf/locking/strictlocking.xml31
-rw-r--r--docs-xml/smbdotconf/logging/debugclass.xml17
-rw-r--r--docs-xml/smbdotconf/logging/debughirestimestamp.xml18
-rw-r--r--docs-xml/smbdotconf/logging/debugpid.xml18
-rw-r--r--docs-xml/smbdotconf/logging/debugprefixtimestamp.xml18
-rw-r--r--docs-xml/smbdotconf/logging/debugsyslogformat.xml33
-rw-r--r--docs-xml/smbdotconf/logging/debugtraceid.xml13
-rw-r--r--docs-xml/smbdotconf/logging/debuguid.xml16
-rw-r--r--docs-xml/smbdotconf/logging/ldapdebuglevel.xml28
-rw-r--r--docs-xml/smbdotconf/logging/ldapdebugthreshold.xml15
-rw-r--r--docs-xml/smbdotconf/logging/logfile.xml18
-rw-r--r--docs-xml/smbdotconf/logging/logging.xml45
-rw-r--r--docs-xml/smbdotconf/logging/loglevel.xml171
-rw-r--r--docs-xml/smbdotconf/logging/maxlogsize.xml17
-rw-r--r--docs-xml/smbdotconf/logging/syslog.xml25
-rw-r--r--docs-xml/smbdotconf/logging/syslogonly.xml19
-rw-r--r--docs-xml/smbdotconf/logging/timestamplogs.xml14
-rw-r--r--docs-xml/smbdotconf/logon/abortshutdownscript.xml16
-rw-r--r--docs-xml/smbdotconf/logon/addgroupscript.xml19
-rw-r--r--docs-xml/smbdotconf/logon/addmachinescript.xml21
-rw-r--r--docs-xml/smbdotconf/logon/adduserscript.xml47
-rw-r--r--docs-xml/smbdotconf/logon/addusertogroupscript.xml22
-rw-r--r--docs-xml/smbdotconf/logon/allownt4crypto.xml106
-rw-r--r--docs-xml/smbdotconf/logon/autheventnotification.xml29
-rw-r--r--docs-xml/smbdotconf/logon/deletegroupscript.xml15
-rw-r--r--docs-xml/smbdotconf/logon/deleteuserfromgroupscript.xml17
-rw-r--r--docs-xml/smbdotconf/logon/deleteuserscript.xml22
-rw-r--r--docs-xml/smbdotconf/logon/domainlogons.xml25
-rw-r--r--docs-xml/smbdotconf/logon/enableprivileges.xml26
-rw-r--r--docs-xml/smbdotconf/logon/initlogondelay.xml14
-rw-r--r--docs-xml/smbdotconf/logon/initlogondelayedhosts.xml20
-rw-r--r--docs-xml/smbdotconf/logon/logondrive.xml18
-rw-r--r--docs-xml/smbdotconf/logon/logonhome.xml56
-rw-r--r--docs-xml/smbdotconf/logon/logonpath.xml69
-rw-r--r--docs-xml/smbdotconf/logon/logonscript.xml54
-rw-r--r--docs-xml/smbdotconf/logon/rejectmd5clients.xml110
-rw-r--r--docs-xml/smbdotconf/logon/setprimarygroupscript.xml20
-rw-r--r--docs-xml/smbdotconf/logon/shutdownscript.xml61
-rw-r--r--docs-xml/smbdotconf/misc/addsharecommand.xml72
-rw-r--r--docs-xml/smbdotconf/misc/afsshare.xml15
-rw-r--r--docs-xml/smbdotconf/misc/afstokenlifetime.xml14
-rw-r--r--docs-xml/smbdotconf/misc/afsusernamemap.xml19
-rw-r--r--docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml37
-rw-r--r--docs-xml/smbdotconf/misc/allowunsafeclusterupgrade.xml16
-rw-r--r--docs-xml/smbdotconf/misc/asyncsmbechohandler.xml15
-rw-r--r--docs-xml/smbdotconf/misc/auto_services.xml22
-rw-r--r--docs-xml/smbdotconf/misc/available.xml14
-rw-r--r--docs-xml/smbdotconf/misc/cachedirectory.xml24
-rw-r--r--docs-xml/smbdotconf/misc/changenotify.xml13
-rw-r--r--docs-xml/smbdotconf/misc/changesharecommand.xml80
-rw-r--r--docs-xml/smbdotconf/misc/clusteraddresses.xml16
-rw-r--r--docs-xml/smbdotconf/misc/clustering.xml16
-rw-r--r--docs-xml/smbdotconf/misc/configfile.xml25
-rw-r--r--docs-xml/smbdotconf/misc/copy.xml21
-rw-r--r--docs-xml/smbdotconf/misc/ctdbdsocket.xml15
-rw-r--r--docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml27
-rw-r--r--docs-xml/smbdotconf/misc/ctdbtimeout.xml36
-rw-r--r--docs-xml/smbdotconf/misc/defaultservice.xml31
-rw-r--r--docs-xml/smbdotconf/misc/deletereadonly.xml14
-rw-r--r--docs-xml/smbdotconf/misc/deletesharecommand.xml52
-rw-r--r--docs-xml/smbdotconf/misc/dfreecachetime.xml26
-rw-r--r--docs-xml/smbdotconf/misc/dfreecommand.xml62
-rw-r--r--docs-xml/smbdotconf/misc/dmapisupport.xml28
-rw-r--r--docs-xml/smbdotconf/misc/dontdescend.xml21
-rw-r--r--docs-xml/smbdotconf/misc/dosfilemode.xml24
-rw-r--r--docs-xml/smbdotconf/misc/dosfiletimeresolution.xml25
-rw-r--r--docs-xml/smbdotconf/misc/dosfiletimes.xml20
-rw-r--r--docs-xml/smbdotconf/misc/dsdbeventnotification.xml29
-rw-r--r--docs-xml/smbdotconf/misc/dsdbgroupchangenotification.xml29
-rw-r--r--docs-xml/smbdotconf/misc/dsdbpasswordeventnotification.xml29
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchaddress.xml14
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchignoreunknownattribute.xml19
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchignoreunknowntype.xml19
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchindex.xml16
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchmappings.xml14
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchmaxresults.xml15
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchport.xml14
-rw-r--r--docs-xml/smbdotconf/misc/elasticsearchusetls.xml14
-rw-r--r--docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml34
-rw-r--r--docs-xml/smbdotconf/misc/followsymlinks.xml20
-rw-r--r--docs-xml/smbdotconf/misc/fssprunestale.xml15
-rw-r--r--docs-xml/smbdotconf/misc/fsssequencetimeout.xml15
-rw-r--r--docs-xml/smbdotconf/misc/fstype.xml16
-rw-r--r--docs-xml/smbdotconf/misc/honorchangenotifyprivilege.xml20
-rw-r--r--docs-xml/smbdotconf/misc/include.xml31
-rw-r--r--docs-xml/smbdotconf/misc/kernelchangenotify.xml16
-rw-r--r--docs-xml/smbdotconf/misc/lockdirectory.xml24
-rw-r--r--docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml22
-rw-r--r--docs-xml/smbdotconf/misc/magicoutput.xml19
-rw-r--r--docs-xml/smbdotconf/misc/magicscript.xml31
-rw-r--r--docs-xml/smbdotconf/misc/messagecommand.xml79
-rw-r--r--docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml20
-rw-r--r--docs-xml/smbdotconf/misc/ncalrpcdir.xml12
-rw-r--r--docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml16
-rw-r--r--docs-xml/smbdotconf/misc/panicaction.xml17
-rw-r--r--docs-xml/smbdotconf/misc/perfcountmodule.xml13
-rw-r--r--docs-xml/smbdotconf/misc/piddirectory.xml13
-rw-r--r--docs-xml/smbdotconf/misc/postexec.xml21
-rw-r--r--docs-xml/smbdotconf/misc/preexec.xml29
-rw-r--r--docs-xml/smbdotconf/misc/preexecclose.xml13
-rw-r--r--docs-xml/smbdotconf/misc/registryshares.xml23
-rw-r--r--docs-xml/smbdotconf/misc/remoteannounce.xml42
-rw-r--r--docs-xml/smbdotconf/misc/remotebrowsesync.xml50
-rw-r--r--docs-xml/smbdotconf/misc/resetonzerovc.xml28
-rw-r--r--docs-xml/smbdotconf/misc/rootpostexec.xml16
-rw-r--r--docs-xml/smbdotconf/misc/rootpreexec.xml18
-rw-r--r--docs-xml/smbdotconf/misc/rootpreexecclose.xml14
-rw-r--r--docs-xml/smbdotconf/misc/smbdasyncdosmode.xml13
-rw-r--r--docs-xml/smbdotconf/misc/smbdgetinfoasksharemode.xml14
-rw-r--r--docs-xml/smbdotconf/misc/smbdmaxasyncdosmode.xml12
-rw-r--r--docs-xml/smbdotconf/misc/smbdmaxxattrsize.xml28
-rw-r--r--docs-xml/smbdotconf/misc/smbdprofilinglevel.xml17
-rw-r--r--docs-xml/smbdotconf/misc/smbdsearchasksharemode.xml13
-rw-r--r--docs-xml/smbdotconf/misc/spotlight.xml31
-rw-r--r--docs-xml/smbdotconf/misc/spotlight_backend.xml30
-rw-r--r--docs-xml/smbdotconf/misc/statedirectory.xml21
-rw-r--r--docs-xml/smbdotconf/misc/usershareallowguests.xml15
-rw-r--r--docs-xml/smbdotconf/misc/usersharemaxshares.xml13
-rw-r--r--docs-xml/smbdotconf/misc/usershareowneronly.xml18
-rw-r--r--docs-xml/smbdotconf/misc/usersharepath.xml32
-rw-r--r--docs-xml/smbdotconf/misc/usershareprefixallowlist.xml23
-rw-r--r--docs-xml/smbdotconf/misc/usershareprefixdenylist.xml24
-rw-r--r--docs-xml/smbdotconf/misc/usersharetemplateshare.xml23
-rw-r--r--docs-xml/smbdotconf/misc/utmp.xml24
-rw-r--r--docs-xml/smbdotconf/misc/utmpdirectory.xml20
-rw-r--r--docs-xml/smbdotconf/misc/valid.xml20
-rw-r--r--docs-xml/smbdotconf/misc/volume.xml13
-rw-r--r--docs-xml/smbdotconf/misc/volumeserialnumber.xml14
-rw-r--r--docs-xml/smbdotconf/misc/widelinks.xml27
-rw-r--r--docs-xml/smbdotconf/misc/wspproperties.xml55
-rw-r--r--docs-xml/smbdotconf/misc/wtmpdirectory.xml22
-rw-r--r--docs-xml/smbdotconf/printing/addportcommand.xml26
-rw-r--r--docs-xml/smbdotconf/printing/addprintercommand.xml64
-rw-r--r--docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml19
-rw-r--r--docs-xml/smbdotconf/printing/cupsencrypt.xml25
-rw-r--r--docs-xml/smbdotconf/printing/cupsoptions.xml35
-rw-r--r--docs-xml/smbdotconf/printing/cupsserver.xml26
-rw-r--r--docs-xml/smbdotconf/printing/defaultdevmode.xml37
-rw-r--r--docs-xml/smbdotconf/printing/deleteprintercommand.xml36
-rw-r--r--docs-xml/smbdotconf/printing/disablespoolss.xml23
-rw-r--r--docs-xml/smbdotconf/printing/enablespoolss.xml12
-rw-r--r--docs-xml/smbdotconf/printing/enumportscommand.xml25
-rw-r--r--docs-xml/smbdotconf/printing/forceprintername.xml38
-rw-r--r--docs-xml/smbdotconf/printing/iprintserver.xml19
-rw-r--r--docs-xml/smbdotconf/printing/loadprinters.xml13
-rw-r--r--docs-xml/smbdotconf/printing/lppausecommand.xml41
-rw-r--r--docs-xml/smbdotconf/printing/lpqcachetime.xml28
-rw-r--r--docs-xml/smbdotconf/printing/lpqcommand.xml41
-rw-r--r--docs-xml/smbdotconf/printing/lpresumecommand.xml38
-rw-r--r--docs-xml/smbdotconf/printing/lprmcommand.xml35
-rw-r--r--docs-xml/smbdotconf/printing/maxprintjobs.xml15
-rw-r--r--docs-xml/smbdotconf/printing/maxreportedprintjobs.xml18
-rw-r--r--docs-xml/smbdotconf/printing/os2drivermap.xml24
-rw-r--r--docs-xml/smbdotconf/printing/printable.xml17
-rw-r--r--docs-xml/smbdotconf/printing/printcapcachetime.xml18
-rw-r--r--docs-xml/smbdotconf/printing/printcapname.xml54
-rw-r--r--docs-xml/smbdotconf/printing/printcommand.xml87
-rw-r--r--docs-xml/smbdotconf/printing/printername.xml27
-rw-r--r--docs-xml/smbdotconf/printing/printing.xml45
-rw-r--r--docs-xml/smbdotconf/printing/printjobusername.xml15
-rw-r--r--docs-xml/smbdotconf/printing/printnotifybackchannel.xml16
-rw-r--r--docs-xml/smbdotconf/printing/queuepausecommand.xml28
-rw-r--r--docs-xml/smbdotconf/printing/queueresumecommand.xml30
-rw-r--r--docs-xml/smbdotconf/printing/showaddprinterwizard.xml34
-rw-r--r--docs-xml/smbdotconf/printing/spoolssarchitecture.xml13
-rw-r--r--docs-xml/smbdotconf/printing/spoolssosversion.xml80
-rw-r--r--docs-xml/smbdotconf/printing/useclientdriver.xml39
-rw-r--r--docs-xml/smbdotconf/protocol/aclallowexecutealways.xml25
-rw-r--r--docs-xml/smbdotconf/protocol/aclcheckpermissions.xml33
-rw-r--r--docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml16
-rw-r--r--docs-xml/smbdotconf/protocol/addcfunctionallevel.xml64
-rw-r--r--docs-xml/smbdotconf/protocol/cldapport.xml12
-rw-r--r--docs-xml/smbdotconf/protocol/clientipcmaxprotocol.xml29
-rw-r--r--docs-xml/smbdotconf/protocol/clientipcminprotocol.xml29
-rw-r--r--docs-xml/smbdotconf/protocol/clientmaxprotocol.xml86
-rw-r--r--docs-xml/smbdotconf/protocol/clientminprotocol.xml32
-rw-r--r--docs-xml/smbdotconf/protocol/clientusespnego.xml27
-rw-r--r--docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml11
-rw-r--r--docs-xml/smbdotconf/protocol/defersharingviolations.xml25
-rw-r--r--docs-xml/smbdotconf/protocol/dgramport.xml11
-rw-r--r--docs-xml/smbdotconf/protocol/disablenetbios.xml15
-rw-r--r--docs-xml/smbdotconf/protocol/dnsport.xml21
-rw-r--r--docs-xml/smbdotconf/protocol/durablehandles.xml26
-rw-r--r--docs-xml/smbdotconf/protocol/easupport.xml40
-rw-r--r--docs-xml/smbdotconf/protocol/enableasusupport.xml16
-rw-r--r--docs-xml/smbdotconf/protocol/eventloglist.xml22
-rw-r--r--docs-xml/smbdotconf/protocol/largereadwrite.xml17
-rw-r--r--docs-xml/smbdotconf/protocol/lsaovernetlogon.xml21
-rw-r--r--docs-xml/smbdotconf/protocol/mapaclinherit.xml20
-rw-r--r--docs-xml/smbdotconf/protocol/maxmux.xml12
-rw-r--r--docs-xml/smbdotconf/protocol/maxttl.xml13
-rw-r--r--docs-xml/smbdotconf/protocol/maxxmit.xml17
-rw-r--r--docs-xml/smbdotconf/protocol/minreceivefilesize.xml21
-rw-r--r--docs-xml/smbdotconf/protocol/nameresolveorder.xml70
-rw-r--r--docs-xml/smbdotconf/protocol/nbtport.xml13
-rw-r--r--docs-xml/smbdotconf/protocol/ntaclsupport.xml16
-rw-r--r--docs-xml/smbdotconf/protocol/ntpipesupport.xml15
-rw-r--r--docs-xml/smbdotconf/protocol/ntstatussupport.xml17
-rw-r--r--docs-xml/smbdotconf/protocol/readraw.xml25
-rw-r--r--docs-xml/smbdotconf/protocol/rpcbigendian.xml15
-rw-r--r--docs-xml/smbdotconf/protocol/rpcserverport.xml22
-rw-r--r--docs-xml/smbdotconf/protocol/servermaxprotocol.xml69
-rw-r--r--docs-xml/smbdotconf/protocol/serverminprotocol.xml23
-rw-r--r--docs-xml/smbdotconf/protocol/servermultichannelsupport.xml27
-rw-r--r--docs-xml/smbdotconf/protocol/sharefakefscaps.xml19
-rw-r--r--docs-xml/smbdotconf/protocol/smb1unixextensions.xml24
-rw-r--r--docs-xml/smbdotconf/protocol/smb2_disable_lock_sequence_checking.xml41
-rw-r--r--docs-xml/smbdotconf/protocol/smb2_disable_oplock_break_retry.xml39
-rw-r--r--docs-xml/smbdotconf/protocol/smb2maxcredits.xml15
-rw-r--r--docs-xml/smbdotconf/protocol/smb2maxread.xml19
-rw-r--r--docs-xml/smbdotconf/protocol/smb2maxtrans.xml19
-rw-r--r--docs-xml/smbdotconf/protocol/smb2maxwrite.xml19
-rw-r--r--docs-xml/smbdotconf/protocol/smb3sharecaps.xml202
-rw-r--r--docs-xml/smbdotconf/protocol/smb3unixextensions.xml9
-rw-r--r--docs-xml/smbdotconf/protocol/smbports.xml11
-rw-r--r--docs-xml/smbdotconf/protocol/svcctllist.xml22
-rw-r--r--docs-xml/smbdotconf/protocol/timeserver.xml12
-rw-r--r--docs-xml/smbdotconf/protocol/unicode.xml13
-rw-r--r--docs-xml/smbdotconf/protocol/writeraw.xml25
-rw-r--r--docs-xml/smbdotconf/rpc/rpcserverdynamicportrange.xml22
-rw-r--r--docs-xml/smbdotconf/rpc/rpcstartondemandhelpers.xml22
-rw-r--r--docs-xml/smbdotconf/security/accessbasedshareenum.xml19
-rw-r--r--docs-xml/smbdotconf/security/aclclaimsevaluation.xml42
-rw-r--r--docs-xml/smbdotconf/security/aclflaginheritedcanonicalization.xml30
-rw-r--r--docs-xml/smbdotconf/security/aclgroupcontrol.xml45
-rw-r--r--docs-xml/smbdotconf/security/adminusers.xml18
-rw-r--r--docs-xml/smbdotconf/security/algorithmicridbase.xml26
-rw-r--r--docs-xml/smbdotconf/security/allowdcerpcauthlevelconnect.xml27
-rw-r--r--docs-xml/smbdotconf/security/allowtrusteddomains.xml25
-rw-r--r--docs-xml/smbdotconf/security/binddnsdir.xml17
-rw-r--r--docs-xml/smbdotconf/security/checkpasswordscript.xml43
-rw-r--r--docs-xml/smbdotconf/security/clientipcsigning.xml26
-rw-r--r--docs-xml/smbdotconf/security/clientlanmanauth.xml36
-rw-r--r--docs-xml/smbdotconf/security/clientntlmv2auth.xml46
-rw-r--r--docs-xml/smbdotconf/security/clientplaintextauth.xml20
-rw-r--r--docs-xml/smbdotconf/security/clientprotection.xml51
-rw-r--r--docs-xml/smbdotconf/security/clientschannel.xml30
-rw-r--r--docs-xml/smbdotconf/security/clientsigning.xml24
-rw-r--r--docs-xml/smbdotconf/security/clientsmbencrypt.xml126
-rw-r--r--docs-xml/smbdotconf/security/clientsmbencryptionalgos.xml21
-rw-r--r--docs-xml/smbdotconf/security/clientsmbsigningalgos.xml22
-rw-r--r--docs-xml/smbdotconf/security/clientusekerberos.xml49
-rw-r--r--docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml35
-rw-r--r--docs-xml/smbdotconf/security/createmask.xml37
-rw-r--r--docs-xml/smbdotconf/security/debugencryption.xml22
-rw-r--r--docs-xml/smbdotconf/security/dedicatedkeytabfile.xml16
-rw-r--r--docs-xml/smbdotconf/security/directorymask.xml33
-rw-r--r--docs-xml/smbdotconf/security/directorysecuritymask.xml12
-rw-r--r--docs-xml/smbdotconf/security/encryptpasswords.xml47
-rw-r--r--docs-xml/smbdotconf/security/forcecreatemode.xml25
-rw-r--r--docs-xml/smbdotconf/security/forcedirectorymode.xml25
-rw-r--r--docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml11
-rw-r--r--docs-xml/smbdotconf/security/forcegroup.xml40
-rw-r--r--docs-xml/smbdotconf/security/forcesecuritymode.xml11
-rw-r--r--docs-xml/smbdotconf/security/forceunknownacluser.xml27
-rw-r--r--docs-xml/smbdotconf/security/forceuser.xml28
-rw-r--r--docs-xml/smbdotconf/security/guestaccount.xml27
-rw-r--r--docs-xml/smbdotconf/security/guestok.xml19
-rw-r--r--docs-xml/smbdotconf/security/guestonly.xml15
-rw-r--r--docs-xml/smbdotconf/security/hostsallow.xml62
-rw-r--r--docs-xml/smbdotconf/security/hostsdeny.xml24
-rw-r--r--docs-xml/smbdotconf/security/inheritacls.xml24
-rw-r--r--docs-xml/smbdotconf/security/inheritowner.xml58
-rw-r--r--docs-xml/smbdotconf/security/inheritpermissions.xml35
-rw-r--r--docs-xml/smbdotconf/security/invalidusers.xml34
-rw-r--r--docs-xml/smbdotconf/security/kdcdefaultdomainsupportedenctypes.xml42
-rw-r--r--docs-xml/smbdotconf/security/kdcenablefast.xml15
-rw-r--r--docs-xml/smbdotconf/security/kdcforceenablerc4weaksessionkeys.xml24
-rw-r--r--docs-xml/smbdotconf/security/kdcsupportedenctypes.xml40
-rw-r--r--docs-xml/smbdotconf/security/kerberosencryptiontypes.xml47
-rw-r--r--docs-xml/smbdotconf/security/kerberosmethod.xml41
-rw-r--r--docs-xml/smbdotconf/security/kpasswdport.xml11
-rw-r--r--docs-xml/smbdotconf/security/krb5port.xml10
-rw-r--r--docs-xml/smbdotconf/security/lanmanauth.xml55
-rw-r--r--docs-xml/smbdotconf/security/lognttokencommand.xml14
-rw-r--r--docs-xml/smbdotconf/security/maptoguest.xml62
-rw-r--r--docs-xml/smbdotconf/security/mindomainuid.xml17
-rw-r--r--docs-xml/smbdotconf/security/mitkdccommand.xml15
-rw-r--r--docs-xml/smbdotconf/security/nt_hash_store.xml70
-rw-r--r--docs-xml/smbdotconf/security/ntlmauth.xml87
-rw-r--r--docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml16
-rw-r--r--docs-xml/smbdotconf/security/nullpasswords.xml14
-rw-r--r--docs-xml/smbdotconf/security/obeypamrestrictions.xml19
-rw-r--r--docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml12
-rw-r--r--docs-xml/smbdotconf/security/pampasswordchange.xml16
-rw-r--r--docs-xml/smbdotconf/security/passdbbackend.xml65
-rw-r--r--docs-xml/smbdotconf/security/passdbexpandexplicit.xml14
-rw-r--r--docs-xml/smbdotconf/security/passwdchat.xml57
-rw-r--r--docs-xml/smbdotconf/security/passwdchatdebug.xml26
-rw-r--r--docs-xml/smbdotconf/security/passwdchattimeout.xml13
-rw-r--r--docs-xml/smbdotconf/security/passwdprogram.xml37
-rw-r--r--docs-xml/smbdotconf/security/passwordhashgpgkeyids.xml45
-rw-r--r--docs-xml/smbdotconf/security/passwordhashuserpasswordschemes.xml67
-rw-r--r--docs-xml/smbdotconf/security/passwordserver.xml46
-rw-r--r--docs-xml/smbdotconf/security/preloadmodules.xml13
-rw-r--r--docs-xml/smbdotconf/security/privatedir.xml14
-rw-r--r--docs-xml/smbdotconf/security/rawntlmv2auth.xml27
-rw-r--r--docs-xml/smbdotconf/security/readlist.xml18
-rw-r--r--docs-xml/smbdotconf/security/readonly.xml18
-rw-r--r--docs-xml/smbdotconf/security/renameuserscript.xml33
-rw-r--r--docs-xml/smbdotconf/security/restrictanonymous.xml38
-rw-r--r--docs-xml/smbdotconf/security/rootdirectory.xml35
-rw-r--r--docs-xml/smbdotconf/security/sambakcccommand.xml18
-rw-r--r--docs-xml/smbdotconf/security/security.xml105
-rw-r--r--docs-xml/smbdotconf/security/securitymask.xml11
-rw-r--r--docs-xml/smbdotconf/security/serverrole.xml96
-rw-r--r--docs-xml/smbdotconf/security/serverschannel.xml102
-rw-r--r--docs-xml/smbdotconf/security/serverschannelrequireseal.xml117
-rw-r--r--docs-xml/smbdotconf/security/serversigning.xml29
-rw-r--r--docs-xml/smbdotconf/security/serversmbencrypt.xml241
-rw-r--r--docs-xml/smbdotconf/security/serversmbencryptionalgos.xml21
-rw-r--r--docs-xml/smbdotconf/security/serversmbsigningalgos.xml22
-rw-r--r--docs-xml/smbdotconf/security/smbencrypt.xml15
-rw-r--r--docs-xml/smbdotconf/security/smbpasswdfile.xml18
-rw-r--r--docs-xml/smbdotconf/security/tlscafile.xml20
-rw-r--r--docs-xml/smbdotconf/security/tlscertfile.xml19
-rw-r--r--docs-xml/smbdotconf/security/tlscrlfile.xml19
-rw-r--r--docs-xml/smbdotconf/security/tlsdhparamsfile.xml20
-rw-r--r--docs-xml/smbdotconf/security/tlsenabled.xml10
-rw-r--r--docs-xml/smbdotconf/security/tlskeyfile.xml20
-rw-r--r--docs-xml/smbdotconf/security/tlspriority.xml19
-rw-r--r--docs-xml/smbdotconf/security/tlsverifypeer.xml47
-rw-r--r--docs-xml/smbdotconf/security/unixpasswordsync.xml26
-rw-r--r--docs-xml/smbdotconf/security/usernamelevel.xml26
-rw-r--r--docs-xml/smbdotconf/security/usernamemap.xml130
-rw-r--r--docs-xml/smbdotconf/security/usernamemapcachetime.xml26
-rw-r--r--docs-xml/smbdotconf/security/usernamemapscript.xml19
-rw-r--r--docs-xml/smbdotconf/security/validusers.xml38
-rw-r--r--docs-xml/smbdotconf/security/writeable.xml14
-rw-r--r--docs-xml/smbdotconf/security/writelist.xml24
-rw-r--r--docs-xml/smbdotconf/tuning/aiomaxthreads.xml19
-rw-r--r--docs-xml/smbdotconf/tuning/aioreadsize.xml18
-rw-r--r--docs-xml/smbdotconf/tuning/aiowritebehind.xml24
-rw-r--r--docs-xml/smbdotconf/tuning/aiowritesize.xml23
-rw-r--r--docs-xml/smbdotconf/tuning/allocationroundupsize.xml28
-rw-r--r--docs-xml/smbdotconf/tuning/asyncdnstimeout.xml20
-rw-r--r--docs-xml/smbdotconf/tuning/blocksize.xml27
-rw-r--r--docs-xml/smbdotconf/tuning/checkparentdirectorydeleteonclose.xml13
-rw-r--r--docs-xml/smbdotconf/tuning/deadtime.xml27
-rw-r--r--docs-xml/smbdotconf/tuning/getwdcache.xml13
-rw-r--r--docs-xml/smbdotconf/tuning/hostnamelookups.xml15
-rw-r--r--docs-xml/smbdotconf/tuning/keepalive.xml22
-rw-r--r--docs-xml/smbdotconf/tuning/maxconnections.xml17
-rw-r--r--docs-xml/smbdotconf/tuning/maxdisksize.xml27
-rw-r--r--docs-xml/smbdotconf/tuning/maxopenfiles.xml22
-rw-r--r--docs-xml/smbdotconf/tuning/maxsmbdprocesses.xml24
-rw-r--r--docs-xml/smbdotconf/tuning/minprintspace.xml15
-rw-r--r--docs-xml/smbdotconf/tuning/namecachetimeout.xml14
-rw-r--r--docs-xml/smbdotconf/tuning/socketoptions.xml104
-rw-r--r--docs-xml/smbdotconf/tuning/strictallocate.xml40
-rw-r--r--docs-xml/smbdotconf/tuning/strictrename.xml34
-rw-r--r--docs-xml/smbdotconf/tuning/strictsync.xml40
-rw-r--r--docs-xml/smbdotconf/tuning/syncalways.xml21
-rw-r--r--docs-xml/smbdotconf/tuning/usemmap.xml17
-rw-r--r--docs-xml/smbdotconf/tuning/usesendfile.xml18
-rw-r--r--docs-xml/smbdotconf/vfs/getquotacommand.xml58
-rw-r--r--docs-xml/smbdotconf/vfs/hostmsdfs.xml18
-rw-r--r--docs-xml/smbdotconf/vfs/msdfsproxy.xml19
-rw-r--r--docs-xml/smbdotconf/vfs/msdfsroot.xml18
-rw-r--r--docs-xml/smbdotconf/vfs/msdfsshufflereferrals.xml16
-rw-r--r--docs-xml/smbdotconf/vfs/ntvfshandler.xml27
-rw-r--r--docs-xml/smbdotconf/vfs/setquotacommand.xml46
-rw-r--r--docs-xml/smbdotconf/vfs/vfsobjects.xml16
-rw-r--r--docs-xml/smbdotconf/winbind/applygrouppolicies.xml19
-rw-r--r--docs-xml/smbdotconf/winbind/createkrb5conf.xml23
-rw-r--r--docs-xml/smbdotconf/winbind/idmapbackend.xml22
-rw-r--r--docs-xml/smbdotconf/winbind/idmapcachetime.xml13
-rw-r--r--docs-xml/smbdotconf/winbind/idmapconfig.xml122
-rw-r--r--docs-xml/smbdotconf/winbind/idmapgid.xml21
-rw-r--r--docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml12
-rw-r--r--docs-xml/smbdotconf/winbind/idmapuid.xml21
-rw-r--r--docs-xml/smbdotconf/winbind/includesystemkrb5conf.xml15
-rw-r--r--docs-xml/smbdotconf/winbind/netutralizent4emulation.xml18
-rw-r--r--docs-xml/smbdotconf/winbind/rejectmd5servers.xml25
-rw-r--r--docs-xml/smbdotconf/winbind/requirestrongkey.xml26
-rw-r--r--docs-xml/smbdotconf/winbind/templatehomedir.xml17
-rw-r--r--docs-xml/smbdotconf/winbind/templateshell.xml13
-rw-r--r--docs-xml/smbdotconf/winbind/winbindcachetime.xml20
-rw-r--r--docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml15
-rw-r--r--docs-xml/smbdotconf/winbind/winbindenumgroups.xml19
-rw-r--r--docs-xml/smbdotconf/winbind/winbindenumusers.xml23
-rw-r--r--docs-xml/smbdotconf/winbind/winbindexpandgroups.xml35
-rw-r--r--docs-xml/smbdotconf/winbind/winbindignoredomains.xml14
-rw-r--r--docs-xml/smbdotconf/winbind/winbindmaxclients.xml19
-rw-r--r--docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml25
-rw-r--r--docs-xml/smbdotconf/winbind/winbindnestedgroups.xml16
-rw-r--r--docs-xml/smbdotconf/winbind/winbindnormalizenames.xml30
-rw-r--r--docs-xml/smbdotconf/winbind/winbindnssinfo.xml38
-rw-r--r--docs-xml/smbdotconf/winbind/winbindofflinelogon.xml17
-rw-r--r--docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml14
-rw-r--r--docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml15
-rw-r--r--docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml15
-rw-r--r--docs-xml/smbdotconf/winbind/winbindrpconly.xml15
-rw-r--r--docs-xml/smbdotconf/winbind/winbindscantrusteddomains.xml29
-rw-r--r--docs-xml/smbdotconf/winbind/winbindsealedpipes.xml15
-rw-r--r--docs-xml/smbdotconf/winbind/winbindseparator.xml20
-rw-r--r--docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml22
-rw-r--r--docs-xml/smbdotconf/winbind/winbindusekrb5enterpriseprincipals.xml34
-rw-r--r--docs-xml/smbdotconf/wins/dnsproxy.xml24
-rw-r--r--docs-xml/smbdotconf/wins/maxwinsttl.xml16
-rw-r--r--docs-xml/smbdotconf/wins/minwinsttl.xml15
-rw-r--r--docs-xml/smbdotconf/wins/nbtd-wins_prepend1bto1cqueries.xml16
-rw-r--r--docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist.xml19
-rw-r--r--docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist_mask.xml16
-rw-r--r--docs-xml/smbdotconf/wins/winsdb-localowner.xml12
-rw-r--r--docs-xml/smbdotconf/wins/winsdb-nosync.xml11
-rw-r--r--docs-xml/smbdotconf/wins/winshook.xml58
-rw-r--r--docs-xml/smbdotconf/wins/winsproxy.xml12
-rw-r--r--docs-xml/smbdotconf/wins/winsserver.xml34
-rw-r--r--docs-xml/smbdotconf/wins/winssupport.xml16
-rw-r--r--docs-xml/smbdotconf/wins/wreplsrv-periodic_interval.xml14
-rw-r--r--docs-xml/smbdotconf/wins/wreplsrv-propagate_name_releases.xml23
-rw-r--r--docs-xml/smbdotconf/wins/wreplsrv-scavenging_interval.xml11
-rw-r--r--docs-xml/smbdotconf/wins/wreplsrv-tombstone_extra_timeout.xml12
-rw-r--r--docs-xml/smbdotconf/wins/wreplsrv-tombstone_interval.xml12
-rw-r--r--docs-xml/smbdotconf/wins/wreplsrv-tombstone_timeout.xml12
-rw-r--r--docs-xml/smbdotconf/wins/wreplsrv-verify_interval.xml13
520 files changed, 14573 insertions, 0 deletions
diff --git a/docs-xml/smbdotconf/base/additionaldnshostnames.xml b/docs-xml/smbdotconf/base/additionaldnshostnames.xml
new file mode 100644
index 0000000..ddc04ee
--- /dev/null
+++ b/docs-xml/smbdotconf/base/additionaldnshostnames.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="additional dns hostnames"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para> A list of additional DNS names by which this host can be identified
+ </para>
+</description>
+<value type="default"><comment>empty string (no additional dns names)</comment></value>
+<value type="example"> host2.example.com host3.other.com </value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/bindinterfacesonly.xml b/docs-xml/smbdotconf/base/bindinterfacesonly.xml
new file mode 100644
index 0000000..9a148f3
--- /dev/null
+++ b/docs-xml/smbdotconf/base/bindinterfacesonly.xml
@@ -0,0 +1,57 @@
+<samba:parameter name="bind interfaces only"
+ type="boolean"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This global parameter allows the Samba admin
+ to limit what interfaces on a machine will serve SMB requests. It
+ affects file service <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and name service <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> in a slightly different ways.</para>
+
+ <para>
+ For name service it causes <command moreinfo="none">nmbd</command> to bind to ports 137 and 138 on the
+ interfaces listed in the <smbconfoption name="interfaces"/> parameter. <command moreinfo="none">nmbd</command>
+ also binds to the &quot;all addresses&quot; interface (0.0.0.0) on ports 137 and 138 for the purposes of
+ reading broadcast messages. If this option is not set then <command moreinfo="none">nmbd</command> will
+ service name requests on all of these sockets. If <smbconfoption name="bind interfaces only"/> is set then
+ <command moreinfo="none">nmbd</command> will check the source address of any packets coming in on the
+ broadcast sockets and discard any that don't match the broadcast addresses of the interfaces in the
+ <smbconfoption name="interfaces"/> parameter list. As unicast packets are received on the other sockets it
+ allows <command moreinfo="none">nmbd</command> to refuse to serve names to machines that send packets that
+ arrive through any interfaces not listed in the <smbconfoption name="interfaces"/> list. IP Source address
+ spoofing does defeat this simple check, however, so it must not be used seriously as a security feature for
+ <command moreinfo="none">nmbd</command>.
+ </para>
+
+ <para>
+ For file service it causes <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> to bind only to the interface list given in the <smbconfoption
+ name="interfaces"/> parameter. This restricts the networks that <command moreinfo="none">smbd</command> will
+ serve, to packets coming in on those interfaces. Note that you should not use this parameter for machines that
+ are serving PPP or other intermittent or non-broadcast network interfaces as it will not cope with
+ non-permanent interfaces.
+ </para>
+
+ <para>
+ If <smbconfoption name="bind interfaces only"/> is set and the network address
+ <emphasis>127.0.0.1</emphasis> is not added to the <smbconfoption name="interfaces"/> parameter list
+ <citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> may not
+ work as expected due to the reasons covered below.
+ </para>
+
+ <para>
+ To change a users SMB password, the <command moreinfo="none">smbpasswd</command> by default connects to the
+ <emphasis>localhost - 127.0.0.1</emphasis> address as an SMB client to issue the password change request. If
+ <smbconfoption name="bind interfaces only"/> is set then unless the network address
+ <emphasis>127.0.0.1</emphasis> is added to the <smbconfoption name="interfaces"/> parameter list then <command
+ moreinfo="none"> smbpasswd</command> will fail to connect in it's default mode. <command
+ moreinfo="none">smbpasswd</command> can be forced to use the primary IP interface of the local host by using
+ its <citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> <parameter
+ moreinfo="none">-r <replaceable>remote machine</replaceable></parameter> parameter, with <replaceable>remote
+ machine</replaceable> set to the IP name of the primary interface of the local host.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/comment.xml b/docs-xml/smbdotconf/base/comment.xml
new file mode 100644
index 0000000..c5aba83
--- /dev/null
+++ b/docs-xml/smbdotconf/base/comment.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="comment"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a text field that is seen next to a share
+ when a client does a queries the server, either via the network
+ neighborhood or via <command moreinfo="none">net view</command> to list what shares
+ are available.</para>
+
+ <para>If you want to set the string that is displayed next to the
+ machine name then see the <smbconfoption name="server string"/> parameter.</para>
+
+</description>
+<value type="default"><comment>No comment</comment></value>
+<value type="example">Fred's Files</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/configbackend.xml b/docs-xml/smbdotconf/base/configbackend.xml
new file mode 100644
index 0000000..2237569
--- /dev/null
+++ b/docs-xml/smbdotconf/base/configbackend.xml
@@ -0,0 +1,26 @@
+<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>
+ This controls the backend for storing the configuration.
+ Possible values are <emphasis>file</emphasis> (the default)
+ and <emphasis>registry</emphasis>.
+ When <smbconfoption name="config backend">registry</smbconfoption>
+ is encountered while loading <emphasis>smb.conf</emphasis>,
+ the configuration read so far is dropped and the global
+ options are read from registry instead. So this triggers a
+ registry only configuration. Share definitions are not read
+ immediately but instead <parameter>registry
+ shares</parameter> is set to <emphasis>yes</emphasis>.
+ </para>
+ <para>
+ Note: This option can not be set inside the registry
+ configuration itself.
+ </para>
+</description>
+<value type="default">file</value>
+<value type="example">registry</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/doscharset.xml b/docs-xml/smbdotconf/base/doscharset.xml
new file mode 100644
index 0000000..d4b114c
--- /dev/null
+++ b/docs-xml/smbdotconf/base/doscharset.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="dos charset"
+ type="string"
+ context="G"
+ handler="handle_dos_charset"
+ 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
+ charset Samba should use to talk to DOS clients.
+ </para>
+
+ <para>The default depends on which charsets you have installed.
+ Samba tries to use charset 850 but falls back to ASCII in
+ case it is not available. Run <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> to check the default on your system.</para>
+</description>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/enablecorefiles.xml b/docs-xml/smbdotconf/base/enablecorefiles.xml
new file mode 100644
index 0000000..9aa057f
--- /dev/null
+++ b/docs-xml/smbdotconf/base/enablecorefiles.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="enable core files"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+
+<description>
+ <para>This parameter specifies whether core dumps should be written
+ on internal exits. Normally set to <constant>yes</constant>.
+ You should never need to change this.
+ </para>
+</description>
+
+ <value type="default">yes</value>
+ <value type="example">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/interfaces.xml b/docs-xml/smbdotconf/base/interfaces.xml
new file mode 100644
index 0000000..cbc2971
--- /dev/null
+++ b/docs-xml/smbdotconf/base/interfaces.xml
@@ -0,0 +1,87 @@
+<samba:parameter name="interfaces"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option allows you to override the default
+ network interfaces list that Samba will use for browsing, name
+ registration and other NetBIOS over TCP/IP (NBT) traffic. By default Samba will query
+ the kernel for the list of all active interfaces and use any
+ interfaces except 127.0.0.1 that are broadcast capable.</para>
+
+ <para>The option takes a list of interface strings. Each string
+ can be in any of the following forms:</para>
+
+ <itemizedlist>
+ <listitem><para>a network interface name (such as eth0).
+ This may include shell-like wildcards so eth* will match
+ any interface starting with the substring &quot;eth&quot;</para></listitem>
+
+ <listitem><para>an IP address. In this case the netmask is
+ determined from the list of interfaces obtained from the
+ kernel</para></listitem>
+
+ <listitem><para>an IP/mask pair. </para></listitem>
+
+ <listitem><para>a broadcast/mask pair.</para></listitem>
+ </itemizedlist>
+
+ <para>The &quot;mask&quot; parameters can either be a bit length (such
+ as 24 for a C class network) or a full netmask in dotted
+ decimal form.</para>
+
+ <para>The &quot;IP&quot; parameters above can either be a full dotted
+ decimal IP address or a hostname which will be looked up via
+ the OS's normal hostname resolution mechanisms.</para>
+
+ <para>
+ By default Samba enables all active interfaces that are broadcast capable
+ except the loopback adaptor (IP address 127.0.0.1).
+ </para>
+
+ <para>
+ In order to support SMB3 multi-channel configurations, smbd understands
+ some extra parameters which can be appended after the actual interface with
+ this extended syntax (note that the quoting is important in order to handle the ; and ,
+ characters):
+ </para>
+
+ <para>
+ &quot;interface[;key1=value1[,key2=value2[...]]]&quot;
+ </para>
+
+ <para>
+ Known keys are speed, capability, and if_index. Speed is specified in
+ bits per second. Known capabilities are RSS and RDMA. The
+ if_index should be used with care: the values must not coincide with
+ indexes used by the kernel.
+ Note that these options are mainly intended for testing and
+ development rather than for production use. At least on Linux systems,
+ these values should be auto-detected, but the settings can serve
+ as last a resort when autodetection is not working or is not available.
+ The specified values overwrite the auto-detected values.
+ </para>
+
+ <para>
+ The first two example below configures three network interfaces corresponding
+ to the eth0 device and IP addresses 192.168.2.10 and 192.168.3.10.
+ The netmasks of the latter two interfaces would be set to 255.255.255.0.
+ </para>
+
+ <para>
+ The other examples show how per interface extra parameters can be specified.
+ Notice the possible usage of &quot;,&quot; and &quot;;&quot;, which makes
+ the double quoting necessary.
+ </para>
+</description>
+<related>bind interfaces only</related>
+
+<value type="example">eth0 192.168.2.10/24 192.168.3.10/255.255.255.0</value>
+<value type="example">eth0, 192.168.2.10/24; 192.168.3.10/255.255.255.0</value>
+<value type="example">&quot;eth0;if_index=65,speed=1000000000,capability=RSS&quot;</value>
+<value type="example">&quot;lo;speed=1000000000&quot; &quot;eth0;capability=RSS&quot;</value>
+<value type="example">&quot;lo;speed=1000000000&quot; , &quot;eth0;capability=RSS&quot;</value>
+<value type="example">&quot;eth0;capability=RSS&quot; , &quot;rdma1;capability=RDMA&quot; ; &quot;rdma2;capability=RSS,capability=RDMA&quot;</value>
+
+<value type="default"/>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/mdnsname.xml b/docs-xml/smbdotconf/base/mdnsname.xml
new file mode 100644
index 0000000..fba90ff
--- /dev/null
+++ b/docs-xml/smbdotconf/base/mdnsname.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="mdns name"
+ type="enum"
+ context="G"
+ enumlist="enum_mdns_name_values"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+
+<description>
+ <para>This parameter controls the name that multicast DNS
+ support advertises as its' hostname.</para>
+
+ <para>The default is to use the NETBIOS name which is typically
+ the hostname in all capital letters. </para>
+
+ <para>A setting of mdns will defer the hostname configuration
+ to the MDNS library that is used.</para>
+
+</description>
+<value type="default">netbios</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/multicastdnsregister.xml b/docs-xml/smbdotconf/base/multicastdnsregister.xml
new file mode 100644
index 0000000..2c330ab
--- /dev/null
+++ b/docs-xml/smbdotconf/base/multicastdnsregister.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="multicast dns register"
+ type="boolean"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If compiled with proper support for it, Samba will
+ announce itself with multicast DNS services like for example
+ provided by the Avahi daemon.</para>
+
+ <para>This parameter allows disabling Samba to register
+ itself.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/netbiosaliases.xml b/docs-xml/smbdotconf/base/netbiosaliases.xml
new file mode 100644
index 0000000..b9b66b1
--- /dev/null
+++ b/docs-xml/smbdotconf/base/netbiosaliases.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="netbios aliases"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This is a list of NetBIOS names that nmbd will
+ advertise as additional names by which the Samba server is known. This allows one machine
+ to appear in browse lists under multiple names. If a machine is acting as a browse server
+ or logon server none of these names will be advertised as either browse server or logon
+ servers, only the primary name of the machine will be advertised with these capabilities.
+ </para>
+</description>
+<related>netbios name</related>
+<value type="default"><comment>empty string (no additional names)</comment></value>
+<value type="example">TEST TEST1 TEST2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/netbiosname.xml b/docs-xml/smbdotconf/base/netbiosname.xml
new file mode 100644
index 0000000..e9e0538
--- /dev/null
+++ b/docs-xml/smbdotconf/base/netbiosname.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="netbios name"
+ context="G"
+ type="ustring"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This sets the NetBIOS name by which a Samba server is known. By default it is the same as the first component
+ of the host's DNS name. If a machine is a browse server or logon server this name (or the first component of
+ the hosts DNS name) will be the name that these services are advertised under.
+ </para>
+
+ <para>Note that the maximum length for a NetBIOS name is 15 characters.</para>
+
+ <para>
+ There is a bug in Samba that breaks operation of browsing and access to shares if the netbios name
+ is set to the literal name <literal>PIPE</literal>. To avoid this problem, do not name your Samba
+ server <literal>PIPE</literal>.
+ </para>
+</description>
+
+<related>netbios aliases</related>
+<value type="default"><comment>machine DNS name</comment></value>
+<value type="example">MYNAME</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/netbiosscope.xml b/docs-xml/smbdotconf/base/netbiosscope.xml
new file mode 100644
index 0000000..078697f
--- /dev/null
+++ b/docs-xml/smbdotconf/base/netbiosscope.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="netbios scope"
+ context="G"
+ type="ustring"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This sets the NetBIOS scope that Samba will
+ operate under. This should not be set unless every machine
+ on your LAN also sets this value.</para>
+</description>
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/path.xml b/docs-xml/smbdotconf/base/path.xml
new file mode 100644
index 0000000..669c20d
--- /dev/null
+++ b/docs-xml/smbdotconf/base/path.xml
@@ -0,0 +1,32 @@
+<samba:parameter name="path"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>directory</synonym>
+<description>
+ <para>This parameter specifies a directory to which
+ the user of the service is to be given access. In the case of
+ printable services, this is where print data will spool prior to
+ being submitted to the host for printing.</para>
+
+ <para>For a printable service offering guest access, the service
+ should be readonly and the path should be world-writeable and
+ have the sticky bit set. This is not mandatory of course, but
+ you probably won't get the results you expect if you do
+ otherwise.</para>
+
+ <para>Any occurrences of <parameter moreinfo="none">%u</parameter> in the path
+ will be replaced with the UNIX username that the client is using
+ on this connection. Any occurrences of <parameter moreinfo="none">%m</parameter>
+ will be replaced by the NetBIOS name of the machine they are
+ connecting from. These replacements are very useful for setting
+ up pseudo home directories for users.</para>
+
+<para>Note that this path will be based on <smbconfoption name="root dir"/>
+ if one was specified.</para>
+ </description>
+
+ <value type="default"></value>
+ <value type="example">/home/fred</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/preforkbackoffincrement.xml b/docs-xml/smbdotconf/base/preforkbackoffincrement.xml
new file mode 100644
index 0000000..ba9d2a2
--- /dev/null
+++ b/docs-xml/smbdotconf/base/preforkbackoffincrement.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="prefork backoff increment"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option specifies the number of seconds added to the delay
+ before a prefork master or worker process is restarted. The
+ restart is initially zero, the prefork backoff increment is
+ added to the delay on each restart up to the value specified by
+ "prefork maximum backoff".
+ </para>
+
+ <para>Additionally set the backoff for an individual service by using
+ "prefork backoff increment: service name"
+ i.e. "prefork backoff increment:ldap = 2" to set the
+ backoff increment to 2.</para>
+
+ <para>If the backoff increment is 2 and the maximum backoff is 5.
+ There will be a zero second delay for the first restart. A two
+ second delay for the second restart. A four second delay for the
+ third and any subsequent restarts</para>
+</description>
+
+<value type="default">10</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/preforkchildren.xml b/docs-xml/smbdotconf/base/preforkchildren.xml
new file mode 100644
index 0000000..1b9f8cf
--- /dev/null
+++ b/docs-xml/smbdotconf/base/preforkchildren.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="prefork children"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the number of worker processes that are
+ started for each service when prefork process model is enabled
+ (see <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> -M)
+ The prefork children are only started for those services that
+ support prefork (currently ldap, kdc and netlogon).
+ For processes that don't support preforking all requests are
+ handled by a single process for that service.
+ </para>
+
+ <para>This should be set to a small multiple of the number of CPU's
+ available on the server</para>
+
+ <para>Additionally the number of prefork children can be specified for
+ an individual service by using "prefork children: service name"
+ i.e. "prefork children:ldap = 8" to set the number of ldap
+ worker processes.</para>
+</description>
+
+<value type="default">4</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/preforkmaximumbackoff.xml b/docs-xml/smbdotconf/base/preforkmaximumbackoff.xml
new file mode 100644
index 0000000..17e530d
--- /dev/null
+++ b/docs-xml/smbdotconf/base/preforkmaximumbackoff.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="prefork maximum backoff"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the maximum delay before a failed pre-fork
+ process is restarted.
+ </para>
+
+</description>
+
+<value type="default">120</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/realm.xml b/docs-xml/smbdotconf/base/realm.xml
new file mode 100644
index 0000000..dd39c1b
--- /dev/null
+++ b/docs-xml/smbdotconf/base/realm.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="realm"
+ context="G"
+ type="string"
+ 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
+ used as the ADS equivalent of the NT4 <command moreinfo="none">domain</command>. It
+ is usually set to the DNS name of the kerberos server.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">mysambabox.mycompany.com</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/serverservices.xml b/docs-xml/smbdotconf/base/serverservices.xml
new file mode 100644
index 0000000..dba65e9
--- /dev/null
+++ b/docs-xml/smbdotconf/base/serverservices.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="server services"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option contains the services that the Samba daemon will
+ run.</para>
+
+ <para>An entry in the <filename>smb.conf</filename> file can either
+ override the previous value completely or entries can be removed from
+ or added to it by prefixing them with <constant>+</constant> or
+ <constant>-</constant>. </para>
+</description>
+
+<value type="default">s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns</value>
+<value type="example">-s3fs, +smb</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/serverstring.xml b/docs-xml/smbdotconf/base/serverstring.xml
new file mode 100644
index 0000000..4088295
--- /dev/null
+++ b/docs-xml/smbdotconf/base/serverstring.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="server string"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This controls what string will show up in the printer comment box in print
+ manager and next to the IPC connection in <command moreinfo="none">net view</command>. It
+ can be any string that you wish to show to your users.</para>
+
+ <para>It also sets what will appear in browse lists next
+ to the machine name.</para>
+
+ <para>A <parameter moreinfo="none">%v</parameter> will be replaced with the Samba
+ version number.</para>
+
+ <para>A <parameter moreinfo="none">%h</parameter> will be replaced with the
+ hostname.</para>
+</description>
+<value type="default">Samba %v</value>
+<value type="example">University of GNUs Samba Server</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/unixcharset.xml b/docs-xml/smbdotconf/base/unixcharset.xml
new file mode 100644
index 0000000..23c4f1e
--- /dev/null
+++ b/docs-xml/smbdotconf/base/unixcharset.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="unix charset"
+ context="G"
+ type="string"
+ handler="handle_charset"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies the charset the unix machine
+ Samba runs on uses. Samba needs to know this in order to be able to
+ convert text to the charsets other SMB clients use.
+ </para>
+
+ <para>This is also the charset Samba will use when specifying arguments
+ to scripts that it invokes.
+ </para>
+</description>
+
+<value type="default">UTF-8</value>
+<value type="example">ASCII</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/base/workgroup.xml b/docs-xml/smbdotconf/base/workgroup.xml
new file mode 100644
index 0000000..1408147
--- /dev/null
+++ b/docs-xml/smbdotconf/base/workgroup.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="workgroup"
+ context="G"
+ type="ustring"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This controls what workgroup your server will
+ appear to be in when queried by clients. Note that this parameter
+ also controls the Domain name used with
+ the <smbconfoption name="security">domain</smbconfoption>
+ setting.</para>
+</description>
+<value type="default">WORKGROUP</value>
+<value type="example">MYGROUP</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/administrative_share.xml b/docs-xml/smbdotconf/browse/administrative_share.xml
new file mode 100644
index 0000000..95db5f1
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/administrative_share.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="administrative share"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If this parameter is set to <constant>yes</constant> for
+ a share, then the share will be an administrative share. The Administrative
+ Shares are the default network shares created by all Windows NT-based
+ operating systems. These are shares like C$, D$ or ADMIN$. The type of these
+ shares is STYPE_DISKTREE_HIDDEN.</para>
+
+ <para>See the section below on <smbconfoption name="security"/> for more
+ information about this option.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/browseable.xml b/docs-xml/smbdotconf/browse/browseable.xml
new file mode 100644
index 0000000..64dfcf0
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/browseable.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="browseable"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>browsable</synonym>
+<description>
+ <para>This controls whether this share is seen in
+ the list of available shares in a net view and in the browse list.</para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/browselist.xml b/docs-xml/smbdotconf/browse/browselist.xml
new file mode 100644
index 0000000..f053e81
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/browselist.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="browse list"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will serve a browse list to
+ a client doing a <command moreinfo="none">NetServerEnum</command> call. Normally
+ set to <constant>yes</constant>. You should never need to change
+ this.</para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/domainmaster.xml b/docs-xml/smbdotconf/browse/domainmaster.xml
new file mode 100644
index 0000000..8817f2b
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/domainmaster.xml
@@ -0,0 +1,43 @@
+<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">
+<description>
+ <para>
+ Tell <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> to enable
+ WAN-wide browse list collation. Setting this option causes <command moreinfo="none">nmbd</command> to claim a
+ special domain specific NetBIOS name that identifies it as a domain master browser for its given
+ <smbconfoption name="workgroup"/>. Local master browsers in the same <smbconfoption name="workgroup"/> on
+ broadcast-isolated subnets will give this <command moreinfo="none">nmbd</command> their local browse lists,
+ and then ask <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> for a
+ complete copy of the browse list for the whole wide area network. Browser clients will then contact their
+ local master browser, and will receive the domain-wide browse list, instead of just the list for their
+ broadcast-isolated subnet.
+ </para>
+
+ <para>
+ Note that Windows NT Primary Domain Controllers expect to be able to claim this <smbconfoption
+ name="workgroup"/> specific special NetBIOS name that identifies them as domain master browsers for that
+ <smbconfoption name="workgroup"/> by default (i.e. there is no way to prevent a Windows NT PDC from attempting
+ to do this). This means that if this parameter is set and <command moreinfo="none">nmbd</command> claims the
+ special name for a <smbconfoption name="workgroup"/> before a Windows NT PDC is able to do so then cross
+ subnet browsing will behave strangely and may fail.
+ </para>
+
+ <para>
+ If <smbconfoption name="domain logons">yes</smbconfoption>, then the default behavior is to enable the
+ <smbconfoption name="domain master"/> parameter. If <smbconfoption name="domain logons"/> is not enabled (the
+ default setting), then neither will <smbconfoption name="domain master"/> be enabled by default.
+ </para>
+
+ <para>
+ When <smbconfoption name="domain logons">Yes</smbconfoption> the default setting for this parameter is
+ Yes, with the result that Samba will be a PDC. If <smbconfoption name="domain master">No</smbconfoption>,
+ Samba will function as a BDC. In general, this parameter should be set to 'No' only on a BDC.
+ </para>
+
+</description>
+<value type="default">auto</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/enhancedbrowsing.xml b/docs-xml/smbdotconf/browse/enhancedbrowsing.xml
new file mode 100644
index 0000000..7ad8930
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/enhancedbrowsing.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="enhanced browsing"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option enables a couple of enhancements to
+ cross-subnet browse propagation that have been added in Samba
+ but which are not standard in Microsoft implementations.
+ </para>
+
+ <para>The first enhancement to browse propagation consists of a regular
+ wildcard query to a Samba WINS server for all Domain Master Browsers,
+ followed by a browse synchronization with each of the returned
+ DMBs. The second enhancement consists of a regular randomised browse
+ synchronization with all currently known DMBs.</para>
+
+ <para>You may wish to disable this option if you have a problem with empty
+ workgroups not disappearing from browse lists. Due to the restrictions
+ of the browse protocols, these enhancements can cause a empty workgroup
+ to stay around forever which can be annoying.</para>
+
+ <para>In general you should leave this option enabled as it makes
+ cross-subnet browse propagation much more reliable.</para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/lmannounce.xml b/docs-xml/smbdotconf/browse/lmannounce.xml
new file mode 100644
index 0000000..1ec5052
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/lmannounce.xml
@@ -0,0 +1,26 @@
+<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>
+ <manvolnum>8</manvolnum></citerefentry> will produce Lanman announce
+ broadcasts that are needed by OS/2 clients in order for them to see
+ the Samba server in their browse list. This parameter can have three
+ values, <constant>yes</constant>, <constant>no</constant>, or
+ <constant>auto</constant>. The default is <constant>auto</constant>.
+ If set to <constant>no</constant> Samba will never produce these
+ broadcasts. If set to <constant>yes</constant> Samba will produce
+ Lanman announce broadcasts at a frequency set by the parameter
+ <smbconfoption name="lm interval"/>. If set to <constant>auto</constant>
+ Samba will not send Lanman announce broadcasts by default but will
+ listen for them. If it hears such a broadcast on the wire it will
+ then start sending them at a frequency set by the parameter
+ <smbconfoption name="lm interval"/>.</para>
+</description>
+
+<related>lm interval</related>
+<value type="default">auto</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/lminterval.xml b/docs-xml/smbdotconf/browse/lminterval.xml
new file mode 100644
index 0000000..da33658
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/lminterval.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="lm interval"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If Samba is set to produce Lanman announce
+ broadcasts needed by OS/2 clients (see the
+ <smbconfoption name="lm announce"/> parameter) then this
+ parameter defines the frequency in seconds with which they will be
+ made. If this is set to zero then no Lanman announcements will be
+ made despite the setting of the <smbconfoption name="lm announce"/>
+ parameter.</para>
+</description>
+<related>lm announce</related>
+<value type="default">60</value>
+<value type="example">120</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/localmaster.xml b/docs-xml/smbdotconf/browse/localmaster.xml
new file mode 100644
index 0000000..65a288d
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/localmaster.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="local master"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option allows <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> to try and become a local master browser
+ on a subnet. If set to <constant>no</constant> then <command moreinfo="none">
+ nmbd</command> will not attempt to become a local master browser
+ on a subnet and will also lose in all browsing elections. By
+ default this value is set to <constant>yes</constant>. Setting this value to
+ <constant>yes</constant> doesn't mean that Samba will <emphasis>become</emphasis> the
+ local master browser on a subnet, just that <command moreinfo="none">nmbd</command>
+ will <emphasis>participate</emphasis> in elections for local master browser.</para>
+
+ <para>Setting this value to <constant>no</constant> will cause <command
+ moreinfo="none">nmbd</command> <emphasis>never</emphasis> to become a local
+master browser.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/oslevel.xml b/docs-xml/smbdotconf/browse/oslevel.xml
new file mode 100644
index 0000000..43ba861
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/oslevel.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="os level"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This integer value controls what level Samba advertises itself as for browse elections. The value of this
+ parameter determines whether <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> has a chance of becoming a local master browser for the <smbconfoption
+ name="workgroup"/> in the local broadcast area.
+</para>
+
+ <para><emphasis>
+ Note:</emphasis> By default, Samba will win a local master browsing election over all Microsoft operating
+ systems except a Windows NT 4.0/2000 Domain Controller. This means that a misconfigured Samba host can
+ effectively isolate a subnet for browsing purposes. This parameter is largely auto-configured in the Samba-3
+ release series and it is seldom necessary to manually override the default setting. Please refer to
+ the chapter on Network Browsing in the Samba-3 HOWTO document for further information regarding the use
+ of this parameter.
+ <emphasis>Note:</emphasis> The maximum value for this parameter is 255. If you use higher values, counting
+ will start at 0!
+ </para>
+</description>
+<value type="default">20</value>
+<value type="example">65</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/preferredmaster.xml b/docs-xml/smbdotconf/browse/preferredmaster.xml
new file mode 100644
index 0000000..15ebd24
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/preferredmaster.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="preferred master"
+ context="G"
+ type="enum"
+ enumlist="enum_bool_auto"
+ function="_preferred_master"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>prefered master</synonym>
+ <description>
+ <para>
+ This boolean parameter controls if <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> is a preferred master browser for its workgroup.
+ </para>
+
+ <para>
+ If this is set to <constant>yes</constant>, on startup, <command moreinfo="none">nmbd</command> will force
+ an election, and it will have a slight advantage in winning the election. It is recommended that this
+ parameter is used in conjunction with <smbconfoption name="domain master">yes</smbconfoption>, so that
+ <command moreinfo="none">nmbd</command> can guarantee becoming a domain master.
+ </para>
+
+ <para>
+ Use this option with caution, because if there are several hosts (whether Samba servers, Windows 95 or NT)
+ that are preferred master browsers on the same subnet, they will each periodically and continuously attempt
+ to become the local master browser. This will result in unnecessary broadcast traffic and reduced browsing
+ capabilities.
+ </para>
+</description>
+<related>os level</related>
+<value type="default">auto</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/browse/server_addresses.xml b/docs-xml/smbdotconf/browse/server_addresses.xml
new file mode 100644
index 0000000..e1dd6d6
--- /dev/null
+++ b/docs-xml/smbdotconf/browse/server_addresses.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="server addresses"
+ context="S"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a per-share parameter to limit share visibility and
+ accessibility to specific server IP addresses. Multi-homed servers
+ can offer a different set of shares per interface.</para>
+ <para>An empty list means to offer a share on all interfaces.</para>
+</description>
+<value type="default"/>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/allowdnsupdates.xml b/docs-xml/smbdotconf/domain/allowdnsupdates.xml
new file mode 100644
index 0000000..6c0a0d0
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/allowdnsupdates.xml
@@ -0,0 +1,19 @@
+<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.
+ </para>
+
+ <para>DNS updates can either be disallowed completely by setting it to
+ <constant>disabled</constant>, enabled over secure connections only by
+ setting it to <constant>secure only</constant> or allowed in all cases
+ by setting it to <constant>nonsecure</constant>.
+ </para>
+</description>
+
+<value type="default">secure only</value>
+<value type="example">disabled</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/dnsforwarder.xml b/docs-xml/smbdotconf/domain/dnsforwarder.xml
new file mode 100644
index 0000000..cf8875e
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/dnsforwarder.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="dns forwarder"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option specifies the list of DNS servers that DNS requests will be
+ forwarded to if they can not be handled by Samba itself.
+ </para>
+
+ <para>The DNS forwarder is only used if the internal DNS server
+ in Samba is used. Port numbers can be appended by separating them from
+ the address by using a colon (':'). When specifying a port, IPv6
+ addresses must be enclosed in square brackets ('[' and ']'). IPv6
+ forwarder addresses with no port specified, don't need the square
+ brackets, and default to port 53.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">192.168.0.1 192.168.0.2 ::1 [2001:db8::1] [2001:db8:1:2::1]:54 </value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/dnsupdatecommand.xml b/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
new file mode 100644
index 0000000..40cbc5b
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/dnsupdatecommand.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="dns update command"
+ context="G"
+ 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
+ DNS updates. It should update the local machines DNS names using
+ TSIG-GSS.
+ </para>
+</description>
+
+<value type="default">&pathconfig.SCRIPTSBINDIR;/samba_dnsupdate</value>
+<value type="example">/usr/local/sbin/dnsupdate</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/dnszonescavenging.xml b/docs-xml/smbdotconf/domain/dnszonescavenging.xml
new file mode 100644
index 0000000..80ec144
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/dnszonescavenging.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="dns zone scavenging"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ When enabled (the default is disabled) unused dynamic dns records are
+ periodically removed.
+ </para>
+ <warning><para>
+ This option should not be enabled for installations created with
+ versions of samba before 4.9. Doing this will result in the loss of
+ static DNS entries. This is due to a bug in previous versions
+ of samba (BUG 12451) which marked dynamic DNS records as static and
+ static records as dynamic.
+ </para></warning>
+ <note><para>
+ If one record for a DNS name is static (non-aging) then no other record
+ for that DNS name will be scavenged.
+ </para></note>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/dnszonetransferclientsallow.xml b/docs-xml/smbdotconf/domain/dnszonetransferclientsallow.xml
new file mode 100644
index 0000000..cf01742
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/dnszonetransferclientsallow.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="dns zone transfer clients allow"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option specifies the list of IPs authorized to ask for dns zone
+ transfer from bind DLZ module.
+ </para>
+
+ <para>The IP list is comma and space separated and specified in the same
+ syntax as used in <smbconfoption name="hosts allow"/>, specifically
+ including IP address, IP prefixes and IP address masks.
+ </para>
+
+ <para>As this is a DNS server option, hostnames are naturally not permitted.
+ </para>
+
+ <para>The default behaviour is to deny any request.
+ A request will be authorized only if the emitting client is identified
+ in this list, and not in <smbconfoption name="dns zone transfer clients deny"/>
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">192.168.0.1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/dnszonetransferclientsdeny.xml b/docs-xml/smbdotconf/domain/dnszonetransferclientsdeny.xml
new file mode 100644
index 0000000..8ff8531
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/dnszonetransferclientsdeny.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="dns zone transfer clients deny"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option specifies the list of IPs denied to ask for dns zone
+ transfer from bind DLZ module.
+ </para>
+
+ <para>The IP list is comma and space separated and specified in the same
+ syntax as used in <smbconfoption name="hosts allow"/>, specifically
+ including IP address, IP prefixes and IP address masks.
+ </para>
+
+ <para>As this is a DNS server option, hostnames are naturally not permitted.
+ </para>
+
+ <para>If a client identified in this list sends a zone transfer request, it will always
+ be denied, even if they are in <smbconfoption name="dns zone transfer clients allow"/>.
+ This allows the definition of specific denied clients within an authorized subnet.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">192.168.0.1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/gpoupdatecommand.xml b/docs-xml/smbdotconf/domain/gpoupdatecommand.xml
new file mode 100644
index 0000000..fd0e7bf
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/gpoupdatecommand.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="gpo update command"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option sets the command that is called to apply GPO policies.
+ The samba-gpupdate script applies System Access and Kerberos Policies
+ to the KDC. System Access policies set minPwdAge, maxPwdAge,
+ minPwdLength, and pwdProperties in the samdb. Kerberos Policies set
+ kdc:service ticket lifetime, kdc:user ticket lifetime, and kdc:renewal
+ lifetime in smb.conf.
+ </para>
+</description>
+
+<value type="default">&pathconfig.SCRIPTSBINDIR;/samba-gpupdate</value>
+<value type="example">/usr/local/sbin/gpoupdate</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/machinepasswordtimeout.xml b/docs-xml/smbdotconf/domain/machinepasswordtimeout.xml
new file mode 100644
index 0000000..be4e0e9
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/machinepasswordtimeout.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="machine password timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+
+ <para>
+ If a Samba server is a member of a Windows NT or Active Directory Domain (see the <smbconfoption
+ name="security">domain</smbconfoption> and
+ <smbconfoption name="security">ads</smbconfoption> parameters),
+ then periodically a running winbindd process will try and change
+ the MACHINE ACCOUNT PASSWORD stored in the TDB called <filename moreinfo="none">secrets.tdb
+ </filename>. This parameter specifies how often this password will be changed, in seconds. The default is one
+ week (expressed in seconds), the same as a Windows NT Domain member server.
+ </para>
+
+ <para>
+ See also <citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>,
+ and the <smbconfoption name="security">domain</smbconfoption>
+ and <smbconfoption name="security">ads</smbconfoption> parameters.
+ </para>
+
+</description>
+<value type="default">604800</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/nsupdatecommand.xml b/docs-xml/smbdotconf/domain/nsupdatecommand.xml
new file mode 100644
index 0000000..8978ade
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/nsupdatecommand.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="nsupdate command"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option sets the path to the <filename>nsupdate</filename>
+ command which is used for GSS-TSIG dynamic DNS updates.
+ </para>
+</description>
+
+<value type="default">/usr/bin/nsupdate -g</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/domain/spnupdatecommand.xml b/docs-xml/smbdotconf/domain/spnupdatecommand.xml
new file mode 100644
index 0000000..9dcce13
--- /dev/null
+++ b/docs-xml/smbdotconf/domain/spnupdatecommand.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="spn update command"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option sets the command that for updating
+ servicePrincipalName names from <filename>spn_update_list</filename>.
+ </para>
+</description>
+
+<value type="default">&pathconfig.SCRIPTSBINDIR;/samba_spnupdate</value>
+<value type="example">/usr/local/sbin/spnupdate</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/casesensitive.xml b/docs-xml/smbdotconf/filename/casesensitive.xml
new file mode 100644
index 0000000..f19aa1c
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/casesensitive.xml
@@ -0,0 +1,13 @@
+<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>
+
+<description>
+ <para>See the discussion in the section <link linkend="NAMEMANGLINGSECT">name mangling</link>.</para>
+</description>
+
+<value type="default">auto</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/defaultcase.xml b/docs-xml/smbdotconf/filename/defaultcase.xml
new file mode 100644
index 0000000..3be5b84
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/defaultcase.xml
@@ -0,0 +1,11 @@
+<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 <link linkend="NAMEMANGLINGSECT">name mangling</link>.
+ Also note the <smbconfoption name="short preserve case"/> parameter.</para>
+</description>
+<value type="default">lower</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/deletevetofiles.xml b/docs-xml/smbdotconf/filename/deletevetofiles.xml
new file mode 100644
index 0000000..570d4ac
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/deletevetofiles.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="delete veto files"
+ type="boolean"
+ context="S"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option is used when Samba is attempting to
+ delete a directory that contains one or more vetoed files
+ or directories or non-visible files or directories (such
+ as dangling symlinks that point nowhere).
+ (see the <smbconfoption name="veto files"/>, <smbconfoption name="hide special files"/>,
+ <smbconfoption name="hide unreadable"/>, <smbconfoption name="hide unwriteable files"/>
+ options). If this option is set to <constant>no</constant> (the default) then if a vetoed
+ directory contains any non-vetoed files or directories then the
+ directory delete will fail. This is usually what you want.</para>
+
+ <para>If this option is set to <constant>yes</constant>, then Samba
+ will attempt to recursively delete any files and directories within
+ the vetoed directory. This can be useful for integration with file
+ serving systems such as NetAtalk which create meta-files within
+ directories you might normally veto DOS/Windows users from seeing
+ (e.g. <filename moreinfo="none">.AppleDouble</filename>)</para>
+
+ <para>Setting <smbconfoption name="delete veto files">yes</smbconfoption> allows these
+ directories to be transparently deleted when the parent directory
+ is deleted (so long as the user has permissions to do so).</para>
+</description>
+<related>veto files</related>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/hidedotfiles.xml b/docs-xml/smbdotconf/filename/hidedotfiles.xml
new file mode 100644
index 0000000..54e0b0a
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/hidedotfiles.xml
@@ -0,0 +1,10 @@
+<samba:parameter name="hide dot files"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a boolean parameter that controls whether
+ files starting with a dot appear as hidden files.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/hidefiles.xml b/docs-xml/smbdotconf/filename/hidefiles.xml
new file mode 100644
index 0000000..d4e3da3
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/hidefiles.xml
@@ -0,0 +1,47 @@
+<samba:parameter name="hide files"
+ type="string"
+ context="S"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a list of files or directories that are not
+ visible but are accessible. The DOS 'hidden' attribute is applied
+ to any files or directories that match.</para>
+
+ <para>Each entry in the list must be separated by a '/',
+ which allows spaces to be included in the entry. '*'
+ and '?' can be used to specify multiple files or directories
+ as in DOS wildcards.</para>
+
+ <para>Each entry must be a Unix path, not a DOS path and must
+ not include the Unix directory separator '/'.</para>
+
+ <para>Note that the case sensitivity option is applicable
+ in hiding files.</para>
+
+ <para>Setting this parameter will affect the performance of Samba,
+ as it will be forced to check all files and directories for a match
+ as they are scanned.</para>
+
+ <para>
+ The example shown above is based on files that the Macintosh
+ SMB client (DAVE) available from <ulink url="http://www.thursby.com">
+ Thursby</ulink> creates for internal use, and also still hides
+ all files beginning with a dot.
+ </para>
+
+ <para>
+ An example of us of this parameter is:
+<programlisting>
+hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/
+</programlisting>
+ </para>
+</description>
+
+<related>hide dot files</related>
+<related>veto files</related>
+<related>case sensitive</related>
+
+<value type="default"><comment>no file are hidden</comment></value>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/hidenewfilestimeout.xml b/docs-xml/smbdotconf/filename/hidenewfilestimeout.xml
new file mode 100644
index 0000000..ca93e72
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/hidenewfilestimeout.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="hide new files timeout"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>Setting this parameter to something but 0 hides files
+ that have been modified less than N seconds ago.</para>
+ <para>It can be used for ingest/process queue style workloads. A
+ processing application should only see files that are definitely
+ finished. As many applications do not have proper external workflow
+ control, this can be a way to make sure processing does not
+ interfere with file ingest.</para>
+</description>
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/hidespecialfiles.xml b/docs-xml/smbdotconf/filename/hidespecialfiles.xml
new file mode 100644
index 0000000..904fd3a
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/hidespecialfiles.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="hide special files"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ This parameter prevents clients from seeing special files such as sockets, devices and
+ fifo's in directory listings.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/hideunreadable.xml b/docs-xml/smbdotconf/filename/hideunreadable.xml
new file mode 100644
index 0000000..080118e
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/hideunreadable.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="hide unreadable"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This parameter prevents clients from seeing the
+ existence of files that cannot be read. Defaults to off.</para>
+ <para>Please note that enabling this can slow down listing large
+ directories significantly. Samba has to evaluate the ACLs of all
+ directory members, which can be a lot of effort.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/hideunwriteablefiles.xml b/docs-xml/smbdotconf/filename/hideunwriteablefiles.xml
new file mode 100644
index 0000000..58c872e
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/hideunwriteablefiles.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="hide unwriteable files"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter prevents clients from seeing the existence of files that cannot be written to.
+ Defaults to off. Note that unwriteable directories are shown as usual.
+ </para>
+ <para>Please note that enabling this can slow down listing large
+ directories significantly. Samba has to evaluate the ACLs of all directory
+ members, which can be a lot of effort.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/manglednames.xml b/docs-xml/smbdotconf/filename/manglednames.xml
new file mode 100644
index 0000000..1a6a57e
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/manglednames.xml
@@ -0,0 +1,77 @@
+<samba:parameter name="mangled names"
+ type="enum"
+ enumlist="enum_mangled_names"
+ context="S"
+ parm="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This controls whether non-DOS names under UNIX
+ should be mapped to DOS-compatible names (&quot;mangled&quot;) and made visible,
+ or whether non-DOS names should simply be ignored.</para>
+
+ <para>See the section on <link linkend="NAMEMANGLINGSECT">name mangling</link> for
+ details on how to control the mangling process.</para>
+
+ <para>Possible option settings are</para>
+
+ <itemizedlist>
+ <listitem><para><emphasis>yes</emphasis> -
+ enables name mangling for all not DOS 8.3 conforming
+ names.</para></listitem>
+
+ <listitem><para><emphasis>no</emphasis> - disables any
+ name mangling.</para></listitem>
+
+ <listitem><para><emphasis>illegal (default)</emphasis> - does
+ mangling for names with illegal NTFS characters. This
+ is the most sensible setting for modern clients that
+ don't use the shortname anymore.</para></listitem>
+ </itemizedlist>
+
+ <para>If mangling is used then the mangling method is as follows:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>The first (up to) five alphanumeric characters
+ before the rightmost dot of the filename are preserved, forced
+ to upper case, and appear as the first (up to) five characters
+ of the mangled name.</para>
+ </listitem>
+
+ <listitem>
+ <para>A tilde &quot;~&quot; is appended to the first part of the mangled
+ name, followed by a two-character unique sequence, based on the
+ original root name (i.e., the original filename minus its final
+ extension). The final extension is included in the hash calculation
+ only if it contains any upper case characters or is longer than three
+ characters.</para>
+
+ <para>Note that the character to use may be specified using
+ the <smbconfoption name="mangling char"/>
+ option, if you don't like '~'.</para>
+ </listitem>
+
+ <listitem>
+ <para>Files whose UNIX name begins with a dot will be
+ presented as DOS hidden files. The mangled name will be created as
+ for other filenames, but with the leading dot removed and &quot;___&quot; as
+ its extension regardless of actual original extension (that's three
+ underscores).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The two-digit hash value consists of upper case alphanumeric characters.</para>
+
+ <para>This algorithm can cause name collisions only if files
+ in a directory share the same first five alphanumeric characters.
+ The probability of such a clash is 1/1300.</para>
+
+ <para>The name mangling (if enabled) allows a file to be
+ copied between UNIX directories from Windows/DOS while retaining
+ the long UNIX filename. UNIX files can be renamed to a new extension
+ from Windows/DOS and will retain the same basename. Mangled names
+ do not change between sessions.</para>
+</description>
+<value type="default">illegal</value>
+<value type="example">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/mangleprefix.xml b/docs-xml/smbdotconf/filename/mangleprefix.xml
new file mode 100644
index 0000000..8cb7dea
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/mangleprefix.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="mangle prefix"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para> controls the number of prefix
+ characters from the original name used when generating
+ the mangled names. A larger value will give a weaker
+ hash and therefore more name collisions. The minimum
+ value is 1 and the maximum value is 6.</para>
+
+ <para>
+ mangle prefix is effective only when mangling method is hash2.
+ </para>
+</description>
+<value type="default">1</value>
+<value type="example">4</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/manglingchar.xml b/docs-xml/smbdotconf/filename/manglingchar.xml
new file mode 100644
index 0000000..75b5ea1
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/manglingchar.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="mangling char"
+ context="S"
+ type="char"
+ parm="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This controls what character is used as
+ the <emphasis>magic</emphasis> character in <link linkend="NAMEMANGLINGSECT">name mangling</link>. The
+ default is a '~' but this may interfere with some software. Use this option to set
+ it to whatever you prefer. This is effective only when mangling method is hash.</para>
+</description>
+<value type="default">~</value>
+<value type="example">^</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/manglingmethod.xml b/docs-xml/smbdotconf/filename/manglingmethod.xml
new file mode 100644
index 0000000..559ed6c
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/manglingmethod.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="mangling method"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para> controls the algorithm used for the generating
+ the mangled names. Can take two different values, &quot;hash&quot; and
+ &quot;hash2&quot;. &quot;hash&quot; is the algorithm that was
+ used in Samba for many years and was the default in Samba 2.2.x &quot;hash2&quot; is
+ now the default and is newer and considered a better algorithm (generates less collisions) in
+ the names. Many Win32 applications store the mangled names and so
+ changing to algorithms must not be done lightly as these applications
+ may break unless reinstalled.</para>
+</description>
+<value type="default">hash2</value>
+<value type="example">hash</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/maparchive.xml b/docs-xml/smbdotconf/filename/maparchive.xml
new file mode 100644
index 0000000..44f49cd
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/maparchive.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="map archive"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This controls whether the DOS archive attribute
+ should be mapped to the UNIX owner execute bit. The DOS archive bit
+ is set when a file has been modified since its last backup. One
+ motivation for this option is to keep Samba/your PC from making
+ any file it touches from becoming executable under UNIX. This can
+ be quite annoying for shared source code, documents, etc...
+ </para>
+
+ <para>
+ Note that this parameter will be ignored if the <smbconfoption name="store dos attributes"/>
+ parameter is set, as the DOS archive attribute will then be stored inside a UNIX extended
+ attribute.
+ </para>
+
+ <para>
+ Note that this requires the <smbconfoption name="create mask"/> parameter to be set such that owner
+ execute bit is not masked out (i.e. it must include 100). See the parameter
+ <smbconfoption name="create mask"/> for details.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/maphidden.xml b/docs-xml/smbdotconf/filename/maphidden.xml
new file mode 100644
index 0000000..3ad05a6
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/maphidden.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="map hidden"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This controls whether DOS style hidden files should be mapped to the UNIX world execute bit.
+ </para>
+
+ <para>
+ Note that this parameter will be ignored if the <smbconfoption name="store dos attributes"/>
+ parameter is set, as the DOS hidden attribute will then be stored inside a UNIX extended
+ attribute.
+ </para>
+
+ <para>
+ Note that this requires the <smbconfoption name="create mask"/> to be set such that the world execute
+ bit is not masked out (i.e. it must include 001). See the parameter <smbconfoption name="create mask"/>
+ for details.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/mapreadonly.xml b/docs-xml/smbdotconf/filename/mapreadonly.xml
new file mode 100644
index 0000000..633b0e9
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/mapreadonly.xml
@@ -0,0 +1,61 @@
+<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>
+ This controls how the DOS read only attribute should be mapped from a UNIX filesystem.
+ </para>
+
+ <para>
+ This parameter can take three different values, which tell <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> how to display the read only attribute on files, where either
+ <smbconfoption name="store dos attributes"/> is set to <constant>No</constant>, or no extended attribute is
+ present. If <smbconfoption name="store dos attributes"/> is set to <constant>yes</constant> then this
+ parameter is <emphasis>ignored</emphasis>. This is a new parameter introduced in Samba version 3.0.21.
+ </para>
+
+ <para>The three settings are :</para>
+
+ <itemizedlist>
+ <listitem><para>
+ <constant>Yes</constant> - The read only DOS attribute is mapped to the inverse of the user
+ or owner write bit in the unix permission mode set. If the owner write bit is not set, the
+ read only attribute is reported as being set on the file.
+ If the read only DOS attribute is set, Samba sets the owner, group and
+ others write bits to zero. Write bits set in an ACL are ignored by Samba.
+ If the read only DOS attribute is unset, Samba simply sets the write bit of the
+ owner to one.
+ </para></listitem>
+
+ <listitem><para>
+ <constant>Permissions</constant> - The read only DOS attribute is mapped to the effective permissions of
+ the connecting user, as evaluated by <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> by reading the unix permissions and filesystem ACL (if present).
+ If the connecting user does not have permission to modify the file, the read only attribute
+ is reported as being set on the file.
+ </para></listitem>
+
+ <listitem><para>
+ <constant>No</constant> - The read only DOS attribute is unaffected by permissions, and can only be set by
+ the <smbconfoption name="store dos attributes"/> method. This may be useful for exporting mounted CDs.
+ </para></listitem>
+ </itemizedlist>
+
+ <para>
+ Note that this parameter will be ignored if the <smbconfoption name="store dos attributes"/>
+ parameter is set, as the DOS 'read-only' attribute will then be stored inside a UNIX extended
+ attribute.
+ </para>
+
+ <para>
+ The default has changed to no in Samba release 4.9.0 and above to allow better Windows
+ fileserver compatibility in a default install. In addition the default setting of
+ <smbconfoption name="store dos attributes"/> has been changed to <constant>Yes</constant>
+ in Samba release 4.9.0 and above.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/mapsystem.xml b/docs-xml/smbdotconf/filename/mapsystem.xml
new file mode 100644
index 0000000..53c11bd
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/mapsystem.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="map system"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This controls whether DOS style system files should be mapped to the UNIX group execute bit.
+ </para>
+
+ <para>
+ Note that this parameter will be ignored if the <smbconfoption name="store dos attributes"/>
+ parameter is set, as the DOS system attribute will then be stored inside a UNIX extended
+ attribute.
+ </para>
+
+ <para>
+ Note that this requires the <smbconfoption name="create mask"/> to be set such that the group
+ execute bit is not masked out (i.e. it must include 010). See the parameter
+ <smbconfoption name="create mask"/> for details.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/maxstatcachesize.xml b/docs-xml/smbdotconf/filename/maxstatcachesize.xml
new file mode 100644
index 0000000..866d74d
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/maxstatcachesize.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="max stat cache size"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter limits the size in memory of any
+ <parameter moreinfo="none">stat cache</parameter> being used
+ to speed up case insensitive name mappings. It represents
+ the number of kilobyte (1024) units the stat cache can use.
+ A value of zero, meaning unlimited, is not advisable due to
+ increased memory usage. You should not need to change this
+ parameter.
+ </para>
+</description>
+<related>stat cache</related>
+<value type="default">512</value>
+<value type="example">100</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/preservecase.xml b/docs-xml/smbdotconf/filename/preservecase.xml
new file mode 100644
index 0000000..a7eae26
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/preservecase.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="preserve case"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This controls if new filenames are created with the case that the client passes, or if
+ they are forced to be the <smbconfoption name="default case"/>.
+ </para>
+
+ <para>
+ See the section on <link linkend="NAMEMANGLINGSECT">NAME MANGLING</link> for a fuller discussion.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/shortpreservecase.xml b/docs-xml/smbdotconf/filename/shortpreservecase.xml
new file mode 100644
index 0000000..ecb5652
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/shortpreservecase.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="short preserve case"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean parameter controls if new files which conform to 8.3 syntax, that is all in upper case and of
+ suitable length, are created upper case, or if they are forced to be the <smbconfoption name="default case"/>.
+ This option can be use with <smbconfoption name="preserve case">yes</smbconfoption> to permit long filenames
+ to retain their case, while short names are lowered.
+ </para>
+
+ <para>See the section on <link linkend="NAMEMANGLINGSECT">NAME MANGLING</link>.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/statcache.xml b/docs-xml/smbdotconf/filename/statcache.xml
new file mode 100644
index 0000000..2b19777
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/statcache.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="stat cache"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter determines if <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will use a cache in order to
+ speed up case insensitive name mappings. You should never need
+ to change this parameter.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/storedosattributes.xml b/docs-xml/smbdotconf/filename/storedosattributes.xml
new file mode 100644
index 0000000..2cdaeef
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/storedosattributes.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="store dos attributes"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ If this parameter is set Samba attempts to first read DOS attributes (SYSTEM, HIDDEN, ARCHIVE or
+ READ-ONLY) from a filesystem extended attribute, before mapping DOS attributes to UNIX permission bits (such
+ as occurs with <smbconfoption name="map hidden"/> and <smbconfoption name="map readonly"/>). When set, DOS
+ attributes will be stored onto an extended attribute in the UNIX filesystem, associated with the file or
+ directory. When this parameter is set it will override the parameters <smbconfoption name="map hidden"/>,
+ <smbconfoption name="map system"/>, <smbconfoption name="map archive"/> and <smbconfoption name="map
+ readonly"/> and they will behave as if they were set to off. This parameter writes the DOS attributes as a string into the extended
+ attribute named "user.DOSATTRIB". This extended attribute is explicitly hidden from smbd clients requesting an
+ EA list. On Linux the filesystem must have been mounted with the mount option user_xattr in order for
+ extended attributes to work, also extended attributes must be compiled into the Linux kernel.
+
+ In Samba 3.5.0 and above the "user.DOSATTRIB" extended attribute has been extended to store
+ the create time for a file as well as the DOS attributes. This is done in a backwards compatible
+ way so files created by Samba 3.5.0 and above can still have the DOS attribute read from this
+ extended attribute by earlier versions of Samba, but they will not be able to read the create
+ time stored there. Storing the create time separately from the normal filesystem meta-data
+ allows Samba to faithfully reproduce NTFS semantics on top of a POSIX filesystem.
+
+ The default has changed to yes in Samba release 4.9.0 and above to allow better Windows
+ fileserver compatibility in a default install.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/vetofiles.xml b/docs-xml/smbdotconf/filename/vetofiles.xml
new file mode 100644
index 0000000..11bb51e
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/vetofiles.xml
@@ -0,0 +1,53 @@
+<samba:parameter name="veto files"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ This is a list of files and directories that are neither visible nor accessible. Each entry in
+ the list must be separated by a '/', which allows spaces to be included in the entry. '*' and '?'
+ can be used to specify multiple files or directories as in DOS wildcards.
+ </para>
+
+ <para>
+ Each entry must be a unix path, not a DOS path and must <emphasis>not</emphasis> include the
+ unix directory separator '/'.
+ </para>
+
+ <para>
+ Note that the <smbconfoption name="case sensitive"/> option is applicable in vetoing files.
+ </para>
+
+ <para>
+ One feature of the veto files parameter that it is important to be aware of is Samba's behaviour when
+ trying to delete a directory. If a directory that is to be deleted contains nothing but veto files this
+ deletion will <emphasis>fail</emphasis> unless you also set the <smbconfoption name="delete veto files"/>
+ parameter to <parameter moreinfo="none">yes</parameter>.
+ </para>
+
+ <para>
+ Setting this parameter will affect the performance of Samba, as it will be forced to check all files
+ and directories for a match as they are scanned.
+ </para>
+
+ <para>
+ Examples of use include:
+<programlisting>
+; Veto any files containing the word Security,
+; any ending in .tmp, and any directory containing the
+; word root.
+veto files = /*Security*/*.tmp/*root*/
+
+; Veto the Apple specific files that a NetAtalk server
+; creates.
+veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
+</programlisting>
+ </para>
+
+</description>
+<related>hide files</related>
+<related>case sensitive</related>
+
+<value type="default"><comment>No files or directories are vetoed</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/filename/vetooplockfiles.xml b/docs-xml/smbdotconf/filename/vetooplockfiles.xml
new file mode 100644
index 0000000..8d6a922
--- /dev/null
+++ b/docs-xml/smbdotconf/filename/vetooplockfiles.xml
@@ -0,0 +1,33 @@
+<samba:parameter name="veto oplock files"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ This parameter is only valid when the <smbconfoption name="oplocks"/>
+ parameter is turned on for a share. It allows the Samba administrator
+ to selectively turn off the granting of oplocks on selected files that
+ match a wildcarded list, similar to the wildcarded list used in the
+ <smbconfoption name="veto files"/> parameter.
+ </para>
+
+
+ <para>
+ You might want to do this on files that you know will be heavily contended
+ for by clients. A good example of this is in the NetBench SMB benchmark
+ program, which causes heavy client contention for files ending in
+ <filename moreinfo="none">.SEM</filename>. To cause Samba not to grant
+ oplocks on these files you would use the line (either in the [global]
+ section or in the section for the particular NetBench share.
+ </para>
+
+ <para>
+ An example of use is:
+<programlisting>
+veto oplock files = /.*SEM/
+</programlisting>
+ </para>
+</description>
+<value type="default"><comment>No files are vetoed for oplock grants</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/generate-context.xsl b/docs-xml/smbdotconf/generate-context.xsl
new file mode 100644
index 0000000..690d103
--- /dev/null
+++ b/docs-xml/smbdotconf/generate-context.xsl
@@ -0,0 +1,49 @@
+<?xml version='1.0'?>
+<!-- vim:set sts=2 shiftwidth=2 syntax=xml: -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:samba="https://www.samba.org/common"
+ version="1.1"
+ extension-element-prefixes="exsl">
+
+<xsl:output method="xml" omit-xml-declaration="yes"/>
+
+<xsl:param name="smb.context" select="'G'"/>
+
+<!-- This is needed to copy content unchanged -->
+<xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+</xsl:template>
+
+<xsl:template match="variablelist">
+ <xsl:element name="itemizedlist">
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="//samba:parameter">
+ <xsl:variable name="name"><xsl:value-of select="translate(string(@name),
+ 'abcdefghijklmnopqrstuvwxyz ','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
+ </xsl:variable>
+
+ <xsl:if test="contains(@context,$smb.context) or $smb.context='ALL'">
+ <xsl:element name="listitem">
+ <xsl:element name="para">
+ <xsl:element name="link">
+ <xsl:attribute name="linkend">
+ <xsl:value-of select="$name"/>
+ </xsl:attribute>
+ <xsl:element name="parameter">
+ <xsl:attribute name="moreinfo"><xsl:text>none</xsl:text></xsl:attribute>
+ <xsl:value-of select="@name"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:element>
+ </xsl:element>
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/docs-xml/smbdotconf/generate-file-list.sh b/docs-xml/smbdotconf/generate-file-list.sh
new file mode 100755
index 0000000..dd981b3
--- /dev/null
+++ b/docs-xml/smbdotconf/generate-file-list.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+set -e
+echo "<!DOCTYPE section ["
+$(dirname $0)/../generate-pathconf-entities.sh
+
+echo "]>"
+
+DIR=.
+if [ "x$1" != "x" ]; then
+ DIR="$1"
+fi
+
+OLD=$(pwd)
+cd $DIR
+
+echo "<section>"
+for I in $(find . -mindepth 2 -type f -name '*.xml' | sort -t/ -k3 | xargs); do
+ cat $I
+done
+echo "</section>"
+
+cd $OLD
diff --git a/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml b/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
new file mode 100644
index 0000000..21bd209
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/clientldapsaslwrapping.xml
@@ -0,0 +1,41 @@
+<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>
+ The <smbconfoption name="client ldap sasl wrapping"/> defines whether
+ ldap traffic will be signed or signed and encrypted (sealed).
+ Possible values are <emphasis>plain</emphasis>, <emphasis>sign</emphasis>
+ and <emphasis>seal</emphasis>.
+ </para>
+
+ <para>
+ The values <emphasis>sign</emphasis> and <emphasis>seal</emphasis> are
+ only available if Samba has been compiled against a modern
+ OpenLDAP version (2.3.x or higher).
+ </para>
+
+ <para>
+ This option is needed firstly to secure the privacy of
+ administrative connections from <command>samba-tool</command>,
+ including in particular new or reset passwords for users. For
+ this reason the default is <emphasis>seal</emphasis>.</para>
+
+ <para>Additionally, <command>winbindd</command> and the
+ <command>net</command> tool can use LDAP to communicate with
+ Domain Controllers, so this option also controls the level of
+ privacy for those connections. All supported AD DC versions
+ will enforce the usage of at least signed LDAP connections by
+ default, so a value of at least <emphasis>sign</emphasis> is
+ required in practice.
+ </para>
+
+ <para>
+ The default value is <emphasis>seal</emphasis>. That implies synchronizing the time
+ with the KDC in the case of using <emphasis>Kerberos</emphasis>.
+ </para>
+</description>
+<value type="default">seal</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapadmindn.xml b/docs-xml/smbdotconf/ldap/ldapadmindn.xml
new file mode 100644
index 0000000..1f3d20f
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapadmindn.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="ldap admin dn"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ The <smbconfoption name="ldap admin dn"/> defines the Distinguished Name (DN) name used by Samba to contact
+ the ldap server when retrieving user account information. The <smbconfoption name="ldap admin dn"/> is used
+ in conjunction with the admin dn password stored in the <filename moreinfo="none">private/secrets.tdb</filename>
+ file. See the <citerefentry><refentrytitle>smbpasswd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
+ man page for more information on how to accomplish this.
+ </para>
+
+ <para>
+ The <smbconfoption name="ldap admin dn"/> requires a fully specified DN. The <smbconfoption name="ldap
+ suffix"/> is not appended to the <smbconfoption name="ldap admin dn"/>.
+ </para>
+</description>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml b/docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml
new file mode 100644
index 0000000..b176897
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapconnectiontimeout.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="ldap connection timeout"
+ 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
+ they should honor during initial connection establishments to LDAP servers.
+ It is very useful in failover scenarios in particular. If one or more LDAP
+ servers are not reachable at all, we do not have to wait until TCP
+ timeouts are over. This feature must be supported by your LDAP library.
+ </para>
+
+ <para>
+ This parameter is different from <smbconfoption name="ldap timeout"/>
+ which affects operations on LDAP servers using an existing connection
+ and not establishing an initial connection.
+ </para>
+</description>
+<value type="default">2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapdeletedn.xml b/docs-xml/smbdotconf/ldap/ldapdeletedn.xml
new file mode 100644
index 0000000..47ffad8
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapdeletedn.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="ldap delete dn"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para> This parameter specifies whether a delete
+ operation in the ldapsam deletes the complete entry or only the attributes
+ specific to Samba.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapderef.xml b/docs-xml/smbdotconf/ldap/ldapderef.xml
new file mode 100644
index 0000000..920d1ae
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapderef.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="ldap deref"
+ context="G"
+ type="enum"
+ enumlist="enum_ldap_deref"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+
+<description>
+
+ <para>This option controls whether Samba should tell the LDAP library
+ to use a certain alias dereferencing method. The default is
+ <emphasis>auto</emphasis>, which means that the default setting of the
+ ldap client library will be kept. Other possible values are
+ <emphasis>never</emphasis>, <emphasis>finding</emphasis>,
+ <emphasis>searching</emphasis> and <emphasis>always</emphasis>. Grab
+ your LDAP manual for more information.
+ </para>
+
+</description>
+
+<value type="default">auto</value>
+<value type="example">searching</value>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml b/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
new file mode 100644
index 0000000..3130a7b
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapfollowreferral.xml
@@ -0,0 +1,23 @@
+<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>
+
+ <para>This option controls whether to follow LDAP referrals or not when
+ searching for entries in the LDAP database. Possible values are
+ <emphasis>on</emphasis> to enable following referrals,
+ <emphasis>off</emphasis> to disable this, and
+ <emphasis>auto</emphasis>, to use the libldap default settings.
+ libldap's choice of following referrals or not is set in
+ /etc/openldap/ldap.conf with the REFERRALS parameter as documented in
+ ldap.conf(5).</para>
+
+</description>
+
+<value type="default">auto</value>
+<value type="example">off</value>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml b/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
new file mode 100644
index 0000000..f11b5d5
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapgroupsuffix.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="ldap group suffix"
+ context="G"
+ type="string"
+ function="_ldap_group_suffix"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the suffix that is
+ used for groups when these are added to the LDAP directory.
+ If this parameter is unset, the value of <smbconfoption
+ name="ldap suffix"/> will be used instead. The suffix string is prepended to the
+ <smbconfoption name="ldap suffix"/> string so use a partial DN.</para>
+
+</description>
+<value type="default"></value>
+<value type="example">ou=Groups</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml b/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
new file mode 100644
index 0000000..e20e962
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapidmapsuffix.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="ldap idmap suffix"
+ context="G"
+ type="string"
+ function="_ldap_idmap_suffix"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameters specifies the suffix that is used when storing idmap mappings. If this parameter
+ is unset, the value of <smbconfoption name="ldap suffix"/> will be used instead. The suffix
+ string is prepended to the <smbconfoption name="ldap suffix"/> string so use a partial DN.
+ </para>
+</description>
+<value type="default"></value>
+<value type="example">ou=Idmap</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml b/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
new file mode 100644
index 0000000..d3310ed
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapmachinesuffix.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="ldap machine suffix"
+ context="G"
+ type="string"
+ function="_ldap_machine_suffix"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+
+<description>
+ <para>
+ It specifies where machines should be added to the ldap tree. If this parameter is unset, the value of
+ <smbconfoption name="ldap suffix"/> will be used instead. The suffix string is prepended to the
+ <smbconfoption name="ldap suffix"/> string so use a partial DN.
+ </para>
+</description>
+
+<value type="default"/>
+<value type="example">ou=Computers</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapmaxanonrequest.xml b/docs-xml/smbdotconf/ldap/ldapmaxanonrequest.xml
new file mode 100644
index 0000000..61bdcec
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapmaxanonrequest.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="ldap max anonymous request size"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies the maximum permitted size (in bytes)
+ for an LDAP request received on an anonymous connection.
+ </para>
+
+ <para>
+ If the request size exceeds this limit the request will be
+ rejected.
+ </para>
+</description>
+<value type="default">256000</value>
+<value type="example">500000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapmaxauthrequest.xml b/docs-xml/smbdotconf/ldap/ldapmaxauthrequest.xml
new file mode 100644
index 0000000..c5934f7
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapmaxauthrequest.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="ldap max authenticated request size"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies the maximum permitted size (in bytes)
+ for an LDAP request received on an authenticated connection.
+ </para>
+
+ <para>
+ If the request size exceeds this limit the request will be
+ rejected.
+ </para>
+</description>
+<value type="default">16777216</value>
+<value type="example">4194304</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapmaxsearchrequest.xml b/docs-xml/smbdotconf/ldap/ldapmaxsearchrequest.xml
new file mode 100644
index 0000000..ebeb081
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapmaxsearchrequest.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="ldap max search request size"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies the maximum permitted size (in bytes)
+ for an LDAP search request.
+ </para>
+
+ <para>
+ If the request size exceeds this limit the request will be
+ rejected.
+ </para>
+</description>
+<value type="default">256000</value>
+<value type="example">4194304</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldappagesize.xml b/docs-xml/smbdotconf/ldap/ldappagesize.xml
new file mode 100644
index 0000000..577ea2a
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldappagesize.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="ldap page size"
+ 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.
+ </para>
+
+ <para>If the LDAP server supports paged results, clients can
+ request subsets of search results (pages) instead of the entire list.
+ This parameter specifies the size of these pages.
+ </para>
+</description>
+<value type="default">1000</value>
+<value type="example">512</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldappasswdsync.xml b/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
new file mode 100644
index 0000000..42bc916
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldappasswdsync.xml
@@ -0,0 +1,38 @@
+<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>
+<description>
+ <para>
+ This option is used to define whether or not Samba should sync the LDAP password with the NT
+ and LM hashes for normal accounts (NOT for workstation, server or domain trusts) on a password
+ change via SAMBA.
+ </para>
+
+ <para>
+ The <smbconfoption name="ldap passwd sync"/> can be set to one of three values:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">Yes</parameter> = Try
+ to update the LDAP, NT and LM passwords and update the pwdLastSet time.</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">No</parameter> = Update NT and
+ LM passwords and update the pwdLastSet time.</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">Only</parameter> = Only update
+ the LDAP password and let the LDAP server do the rest.</para>
+ </listitem>
+ </itemizedlist>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml b/docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml
new file mode 100644
index 0000000..059c77e
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapreplicationsleep.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="ldap replication sleep"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ When Samba is asked to write to a read-only LDAP replica, we are redirected to talk to the read-write master server.
+ This server then replicates our changes back to the 'local' server, however the replication might take some seconds,
+ especially over slow links. Certain client activities, particularly domain joins, can become confused by the 'success'
+ that does not immediately change the LDAP back-end's data.
+ </para>
+
+ <para>
+ This option simply causes Samba to wait a short time, to allow the LDAP server to catch up. If you have a particularly
+ high-latency network, you may wish to time the LDAP replication with a network sniffer, and increase this value accordingly.
+ Be aware that no checking is performed that the data has actually replicated.
+ </para>
+
+ <para>
+ The value is specified in milliseconds, the maximum value is 5000 (5 seconds).
+ </para>
+</description>
+<value type="default">1000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapsameditposix.xml b/docs-xml/smbdotconf/ldap/ldapsameditposix.xml
new file mode 100644
index 0000000..e7f36e6
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapsameditposix.xml
@@ -0,0 +1,91 @@
+<samba:parameter name="ldapsam:editposix"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ Editposix is an option that leverages ldapsam:trusted to make it simpler to manage a domain controller
+ eliminating the need to set up custom scripts to add and manage the posix users and groups. This option
+ will instead directly manipulate the ldap tree to create, remove and modify user and group entries.
+ This option also requires a running winbindd as it is used to allocate new uids/gids on user/group
+ creation. The allocation range must be therefore configured.
+ </para>
+
+ <para>
+ To use this option, a basic ldap tree must be provided and the ldap suffix parameters must be properly
+ configured. On virgin servers the default users and groups (Administrator, Guest, Domain Users,
+ Domain Admins, Domain Guests) can be precreated with the command <command moreinfo="none">net sam
+ provision</command>. To run this command the ldap server must be running, Winbindd must be running and
+ the smb.conf ldap options must be properly configured.
+
+ The typical ldap setup used with the <smbconfoption name="ldapsam:trusted">yes</smbconfoption> option
+ is usually sufficient to use <smbconfoption name="ldapsam:editposix">yes</smbconfoption> as well.
+ </para>
+
+ <para>
+ An example configuration can be the following:
+
+ <programlisting>
+ encrypt passwords = true
+ passdb backend = ldapsam
+
+ ldapsam:trusted=yes
+ ldapsam:editposix=yes
+
+ ldap admin dn = cn=admin,dc=samba,dc=org
+ ldap delete dn = yes
+ ldap group suffix = ou=groups
+ ldap idmap suffix = ou=idmap
+ ldap machine suffix = ou=computers
+ ldap user suffix = ou=users
+ ldap suffix = dc=samba,dc=org
+
+ idmap backend = ldap:"ldap://localhost"
+
+ idmap uid = 5000-50000
+ idmap gid = 5000-50000
+ </programlisting>
+
+ This configuration assumes a directory layout like described in the following ldif:
+
+ <programlisting>
+ dn: dc=samba,dc=org
+ objectClass: top
+ objectClass: dcObject
+ objectClass: organization
+ o: samba.org
+ dc: samba
+
+ dn: cn=admin,dc=samba,dc=org
+ objectClass: simpleSecurityObject
+ objectClass: organizationalRole
+ cn: admin
+ description: LDAP administrator
+ userPassword: secret
+
+ dn: ou=users,dc=samba,dc=org
+ objectClass: top
+ objectClass: organizationalUnit
+ ou: users
+
+ dn: ou=groups,dc=samba,dc=org
+ objectClass: top
+ objectClass: organizationalUnit
+ ou: groups
+
+ dn: ou=idmap,dc=samba,dc=org
+ objectClass: top
+ objectClass: organizationalUnit
+ ou: idmap
+
+ dn: ou=computers,dc=samba,dc=org
+ objectClass: top
+ objectClass: organizationalUnit
+ ou: computers
+ </programlisting>
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapsamtrusted.xml b/docs-xml/smbdotconf/ldap/ldapsamtrusted.xml
new file mode 100644
index 0000000..1d593e6
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapsamtrusted.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="ldapsam:trusted"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ By default, Samba as a Domain Controller with an LDAP backend needs to use the Unix-style NSS subsystem to
+ access user and group information. Due to the way Unix stores user information in /etc/passwd and /etc/group
+ this inevitably leads to inefficiencies. One important question a user needs to know is the list of groups he
+ is member of. The plain UNIX model involves a complete enumeration of the file /etc/group and its NSS
+ counterparts in LDAP. UNIX has optimized functions to enumerate group membership. Sadly, other functions that
+ are used to deal with user and group attributes lack such optimization.
+ </para>
+
+ <para>
+ To make Samba scale well in large environments, the <smbconfoption name="ldapsam:trusted">yes</smbconfoption>
+ option assumes that the complete user and group database that is relevant to Samba is stored in LDAP with the
+ standard posixAccount/posixGroup attributes. It further assumes that the Samba auxiliary object classes are
+ stored together with the POSIX data in the same LDAP object. If these assumptions are met,
+ <smbconfoption name="ldapsam:trusted">yes</smbconfoption> can be activated and Samba can bypass the
+ NSS system to query user group memberships. Optimized LDAP queries can greatly speed up domain logon and
+ administration tasks. Depending on the size of the LDAP database a factor of 100 or more for common queries
+ is easily achieved.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapserverrequirestrongauth.xml b/docs-xml/smbdotconf/ldap/ldapserverrequirestrongauth.xml
new file mode 100644
index 0000000..02bdd81
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapserverrequirestrongauth.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="ldap server require strong auth"
+ context="G"
+ type="enum"
+ enumlist="enum_ldap_server_require_strong_auth_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The <smbconfoption name="ldap server require strong auth"/> defines whether
+ the ldap server requires ldap traffic to be signed or signed and encrypted (sealed).
+ Possible values are <emphasis>no</emphasis>, <emphasis>allow_sasl_over_tls</emphasis>
+ and <emphasis>yes</emphasis>.
+ </para>
+
+ <para>A value of <emphasis>no</emphasis> allows simple and sasl binds over
+ all transports.</para>
+
+ <para>A value of <emphasis>allow_sasl_over_tls</emphasis> allows simple and sasl binds
+ (without sign or seal) over TLS encrypted connections. Unencrypted connections only
+ allow sasl binds with sign or seal.</para>
+
+ <para>A value of <emphasis>yes</emphasis> allows only simple binds
+ over TLS encrypted connections. Unencrypted connections only
+ allow sasl binds with sign or seal.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapssl.xml b/docs-xml/smbdotconf/ldap/ldapssl.xml
new file mode 100644
index 0000000..5fe67b1
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapssl.xml
@@ -0,0 +1,42 @@
+<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
+ use SSL when connecting to the ldap server
+ This is <emphasis>NOT</emphasis> related to
+ Samba's previous SSL support which was enabled by specifying the
+ <command moreinfo="none">--with-ssl</command> option to the
+ <filename moreinfo="none">configure</filename>
+ script.</para>
+
+ <para>LDAP connections should be secured where possible. This may be
+ done setting <emphasis>either</emphasis> this parameter to
+ <parameter moreinfo="none">start tls</parameter>
+ <emphasis>or</emphasis> by specifying <parameter moreinfo="none">ldaps://</parameter> in
+ the URL argument of <smbconfoption name="passdb backend"/>.</para>
+
+ <para>The <smbconfoption name="ldap ssl"/> can be set to one of
+ two values:</para>
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">Off</parameter> = Never
+ use SSL when querying the directory.</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">start tls</parameter> = Use
+ the LDAPv3 StartTLS extended operation (RFC2830) for
+ communicating with the directory server.</para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Please note that this parameter does only affect <emphasis>rpc</emphasis>
+ methods.
+ </para>
+
+</description>
+<value type="default">start tls</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapsuffix.xml b/docs-xml/smbdotconf/ldap/ldapsuffix.xml
new file mode 100644
index 0000000..aeff0dd
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapsuffix.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="ldap suffix"
+ context="G"
+ 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>
+
+ <para>
+ The ldap suffix will be appended to the values specified for the <smbconfoption name="ldap user suffix"/>,
+ <smbconfoption name="ldap group suffix"/>, <smbconfoption name="ldap machine suffix"/>, and the
+ <smbconfoption name="ldap idmap suffix"/>. Each of these should be given only a DN relative to the
+ <smbconfoption name ="ldap suffix"/>.
+ </para>
+</description>
+<value type="default"></value>
+<value type="example">dc=samba,dc=org</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldaptimeout.xml b/docs-xml/smbdotconf/ldap/ldaptimeout.xml
new file mode 100644
index 0000000..f421eeb
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldaptimeout.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="ldap timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter defines the number of seconds that Samba should use as timeout for LDAP operations.
+ </para>
+</description>
+<value type="default">15</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/ldap/ldapusersuffix.xml b/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
new file mode 100644
index 0000000..c8455e4
--- /dev/null
+++ b/docs-xml/smbdotconf/ldap/ldapusersuffix.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="ldap user suffix"
+ context="G"
+ type="string"
+ function="_ldap_user_suffix"
+ 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,
+ the value of <smbconfoption name="ldap suffix"/> will be used instead. The suffix
+ string is prepended to the <smbconfoption name="ldap suffix"/> string so use a partial DN.
+ </para>
+
+</description>
+<value type="default"/>
+<value type="example">ou=people</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/blockinglocks.xml b/docs-xml/smbdotconf/locking/blockinglocks.xml
new file mode 100644
index 0000000..3c13995
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/blockinglocks.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="blocking locks"
+ context="S"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter controls the behavior
+ of <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> when given a request by a client
+ to obtain a byte range lock on a region of an open file, and the
+ request has a time limit associated with it.</para>
+
+ <para>If this parameter is set and the lock range requested
+ cannot be immediately satisfied, samba will internally
+ queue the lock request, and periodically attempt to obtain
+ the lock until the timeout period expires.</para>
+
+ <para>If this parameter is set to <constant>no</constant>, then
+ samba will behave as previous versions of Samba would and
+ will fail the lock request immediately if the lock range
+ cannot be obtained.</para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/cscpolicy.xml b/docs-xml/smbdotconf/locking/cscpolicy.xml
new file mode 100644
index 0000000..511639e
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/cscpolicy.xml
@@ -0,0 +1,23 @@
+<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>
+ This stands for <emphasis>client-side caching policy</emphasis>, and specifies how clients capable of offline
+ caching will cache the files in the share. The valid values are: manual, documents, programs, disable.
+ </para>
+
+ <para>
+ These values correspond to those used on Windows servers.
+ </para>
+
+ <para>
+ For example, shares containing roaming profiles can have offline caching disabled using
+ <smbconfoption name="csc policy">disable</smbconfoption>.
+ </para>
+</description>
+<value type="default">manual</value>
+<value type="example">programs</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/fakeoplocks.xml b/docs-xml/smbdotconf/locking/fakeoplocks.xml
new file mode 100644
index 0000000..c5622ae
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/fakeoplocks.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="fake oplocks"
+ type="boolean"
+ context="S"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Oplocks are the way that SMB clients get permission
+ from a server to locally cache file operations. If a server grants
+ an oplock (opportunistic lock) then the client is free to assume
+ that it is the only one accessing the file and it will aggressively
+ cache file data. With some oplock types the client may even cache
+ file open/close operations. This can give enormous performance benefits.
+ </para>
+
+ <para>When you set <command moreinfo="none">fake oplocks = yes</command>, <citerefentry>
+ <refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum></citerefentry> will
+ always grant oplock requests no matter how many clients are using the file.</para>
+
+ <para>It is generally much better to use the real <smbconfoption name="oplocks"/> support rather
+ than this parameter.</para>
+
+ <para>If you enable this option on all read-only shares or
+ shares that you know will only be accessed from one client at a
+ time such as physically read-only media like CDROMs, you will see
+ a big performance improvement on many operations. If you enable
+ this option on shares where multiple clients may be accessing the
+ files read-write at the same time you can get data corruption. Use
+ this option carefully!</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/force_process_locks.xml b/docs-xml/smbdotconf/locking/force_process_locks.xml
new file mode 100644
index 0000000..f701c0a
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/force_process_locks.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="smbd force process locks"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean option tells <command moreinfo="none">smbd</command> whether
+ to forcefully disable the use of Open File Description locks on Linux.
+ </para>
+ <para>
+ This option should not be changed from the default unless you know what
+ you're doing.
+ </para>
+
+</description>
+
+<related>locking</related>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/kerneloplocks.xml b/docs-xml/smbdotconf/locking/kerneloplocks.xml
new file mode 100644
index 0000000..ff237ec
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/kerneloplocks.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="kernel oplocks"
+ 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"/>
+ (currently only Linux), this parameter allows the use of them to be
+ turned on or off. However, this disables Level II oplocks for clients as
+ the Linux kernel does not support them properly.</para>
+
+ <para>Kernel oplocks support allows Samba <parameter moreinfo="none">oplocks
+ </parameter> to be broken whenever a local UNIX process or NFS operation
+ accesses a file that <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> has oplocked. This allows complete
+ data consistency between SMB/CIFS, NFS and local file access (and is
+ a <emphasis>very</emphasis> cool feature :-).</para>
+ <para>If you do not need this interaction, you should disable the
+ parameter on Linux to get Level II oplocks and the associated
+ performance benefit.</para>
+
+ <para>This parameter defaults to <constant>no</constant> and is translated
+ to a no-op on systems that do not have the necessary kernel support.</para>
+</description>
+
+<related>oplocks</related>
+<related>level2 oplocks</related>
+<related>smb2 leases</related>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/kernelsharemodes.xml b/docs-xml/smbdotconf/locking/kernelsharemodes.xml
new file mode 100644
index 0000000..d06f792
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/kernelsharemodes.xml
@@ -0,0 +1,32 @@
+<samba:parameter name="kernel share modes"
+ type="boolean"
+ context="S"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter controls whether SMB share modes are
+ translated into file system specific sharemode calls.
+ </para>
+
+ <para>
+ Kernel share modes provide a minimal level of interoperability
+ with local UNIX processes and NFS operations by preventing
+ access corresponding to the SMB share modes. This requires
+ a file system specific VFS module with proper support.
+ </para>
+
+ <para>
+ Note that in order to use SMB2 durable file handles on a share,
+ you have to turn kernel share modes off.
+ </para>
+
+ <para>
+ This parameter defaults to <constant>no</constant>. Setting
+ it to <constant>yes</constant> requires a file system module
+ that supports file system sharemodes, otherwise attempts to
+ access files will fail with a sharing violation.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/level2oplocks.xml b/docs-xml/smbdotconf/locking/level2oplocks.xml
new file mode 100644
index 0000000..f411449
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/level2oplocks.xml
@@ -0,0 +1,40 @@
+<samba:parameter name="level2 oplocks"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter controls whether Samba supports
+ level2 (read-only) oplocks on a share.</para>
+
+ <para>Level2, or read-only oplocks allow Windows NT clients
+ that have an oplock on a file to downgrade from a read-write oplock
+ to a read-only oplock once a second client opens the file (instead
+ of releasing all oplocks on a second open, as in traditional,
+ exclusive oplocks). This allows all openers of the file that
+ support level2 oplocks to cache the file for read-ahead only (ie.
+ they may not cache writes or lock requests) and increases performance
+ for many accesses of files that are not commonly written (such as
+ application .EXE files).</para>
+
+ <para>Once one of the clients which have a read-only oplock
+ writes to the file all clients are notified (no reply is needed
+ or waited for) and told to break their oplocks to &quot;none&quot; and
+ delete any read-ahead caches.</para>
+
+ <para>It is recommended that this parameter be turned on to
+ speed access to shared executables.</para>
+
+ <para>For more discussions on level2 oplocks see the CIFS spec.</para>
+
+ <para>
+ Currently, if <smbconfoption name="kernel oplocks"/> are supported then
+ level2 oplocks are not granted (even if this parameter is set to
+ <constant>yes</constant>). Note also, the <smbconfoption name="oplocks"/>
+ parameter must be set to <constant>yes</constant> on this share in order for
+ this parameter to have any effect.</para>
+</description>
+
+<related>oplocks</related>
+<related>kernel oplocks</related>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/locking.xml b/docs-xml/smbdotconf/locking/locking.xml
new file mode 100644
index 0000000..15bc98d
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/locking.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="locking"
+ type="boolean"
+ context="S"
+ parm="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This controls whether or not locking will be
+ performed by the server in response to lock requests from the
+ client.</para>
+
+ <para>If <command moreinfo="none">locking = no</command>, all lock and unlock
+ requests will appear to succeed and all lock queries will report
+ that the file in question is available for locking.</para>
+
+ <para>If <command moreinfo="none">locking = yes</command>, real locking will be performed
+ by the server.</para>
+
+ <para>This option <emphasis>may</emphasis> be useful for read-only
+ filesystems which <emphasis>may</emphasis> not need locking (such as
+ CDROM drives), although setting this parameter of <constant>no</constant>
+ is not really recommended even in this case.</para>
+
+ <para>Be careful about disabling locking either globally or in a
+ specific service, as lack of locking may result in data corruption.
+ You should never need to set this parameter.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/lockspintime.xml b/docs-xml/smbdotconf/locking/lockspintime.xml
new file mode 100644
index 0000000..692b4de
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/lockspintime.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="lock spin time"
+ type="integer"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The time in milliseconds that smbd should
+ keep waiting to see if a failed lock request can
+ be granted. This parameter has changed in default
+ value from Samba 3.0.23 from 10 to 200. The associated
+ <command moreinfo="none">lock spin count</command> parameter is
+ no longer used in Samba 3.0.24. You should not need
+ to change the value of this parameter.</para>
+</description>
+<value type="default">200</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/oplockbreakwaittime.xml b/docs-xml/smbdotconf/locking/oplockbreakwaittime.xml
new file mode 100644
index 0000000..f07b6c9
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/oplockbreakwaittime.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="oplock break wait time"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ This is a tuning parameter added due to bugs in both Windows 9x and WinNT. If Samba responds to a client too
+ quickly when that client issues an SMB that can cause an oplock break request, then the network client can
+ fail and not respond to the break request. This tuning parameter (which is set in milliseconds) is the amount
+ of time Samba will wait before sending an oplock break request to such (broken) clients.
+ </para>
+
+ <warning><para>
+ DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA OPLOCK CODE.
+ </para></warning>
+</description>
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/oplocks.xml b/docs-xml/smbdotconf/locking/oplocks.xml
new file mode 100644
index 0000000..1d72649
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/oplocks.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="oplocks"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean option tells <command moreinfo="none">smbd</command> whether to
+ issue oplocks (opportunistic locks) to file open requests on this
+ share. The oplock code can dramatically (approx. 30% or more) improve
+ the speed of access to files on Samba servers. It allows the clients
+ to aggressively cache files locally and you may want to disable this
+ option for unreliable network environments (it is turned on by
+ default in Windows NT Servers).
+ </para>
+
+ <para>
+ Oplocks may be selectively turned off on certain files with a share. See
+ the <smbconfoption name="veto oplock files"/> parameter. On some systems
+ oplocks are recognized by the underlying operating system. This
+ allows data synchronization between all access to oplocked files,
+ whether it be via Samba or NFS or a local UNIX process. See the
+ <smbconfoption name="kernel oplocks"/> parameter for details.
+ </para>
+</description>
+
+<related>kernel oplocks</related>
+<related>level2 oplocks</related>
+<related>smb2 leases</related>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/posixlocking.xml b/docs-xml/smbdotconf/locking/posixlocking.xml
new file mode 100644
index 0000000..f38b2bd
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/posixlocking.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="posix locking"
+ type="boolean"
+ context="S"
+ parm="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
+ daemon maintains an database of file locks obtained by SMB clients. The default behavior is
+ to map this internal database to POSIX locks. This means that file locks obtained by SMB clients are
+ consistent with those seen by POSIX compliant applications accessing the files via a non-SMB
+ method (e.g. NFS or local file access). It is very unlikely that you need to set this parameter
+ to "no", unless you are sharing from an NFS mount, which is not a good idea in the first place.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/smb2leases.xml b/docs-xml/smbdotconf/locking/smb2leases.xml
new file mode 100644
index 0000000..89ff307
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/smb2leases.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="smb2 leases"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean option tells <command moreinfo="none">smbd</command> whether to
+ globally negotiate SMB2 leases on file open requests. Leasing is an SMB2-only
+ feature which allows clients to aggressively cache files locally above and
+ beyond the caching allowed by SMB1 oplocks.
+ </para>
+
+ <para>
+ This is only available with <smbconfoption name="oplocks">yes</smbconfoption>
+ and <smbconfoption name="kernel oplocks">no</smbconfoption>.
+ </para>
+
+</description>
+
+<related>oplocks</related>
+<related>kernel oplocks</related>
+<related>level2 oplocks</related>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/locking/strictlocking.xml b/docs-xml/smbdotconf/locking/strictlocking.xml
new file mode 100644
index 0000000..89a1bf7
--- /dev/null
+++ b/docs-xml/smbdotconf/locking/strictlocking.xml
@@ -0,0 +1,31 @@
+<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>
+ <para>
+ This is an enumerated type that controls the handling of file locking in the server. When this is set to <constant>yes</constant>,
+ the server will check every read and write access for file locks, and deny access if locks exist. This can be slow on
+ some systems.
+ </para>
+
+ <para>
+ When strict locking is set to Auto (the default), the server performs file lock checks only on non-oplocked files.
+ As most Windows redirectors perform file locking checks locally on oplocked files this is a good trade off for
+ improved performance.
+ </para>
+
+ <para>
+ When strict locking is disabled, the server performs file lock checks only when the client explicitly asks for them.
+ </para>
+
+ <para>
+ Well-behaved clients always ask for lock checks when it is important. So in the vast majority of cases,
+ <command moreinfo="none">strict locking = Auto</command> or
+ <command moreinfo="none">strict locking = no</command> is acceptable.
+ </para>
+</description>
+<value type="default">Auto</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/debugclass.xml b/docs-xml/smbdotconf/logging/debugclass.xml
new file mode 100644
index 0000000..eee3cc5
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/debugclass.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="debug class"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ With this boolean parameter enabled, the debug class (DBGC_CLASS)
+ will be displayed in the debug header.
+ </para>
+ <para>
+ For more information about currently available debug classes, see
+ section about <smbconfoption name="log level"/>.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/debughirestimestamp.xml b/docs-xml/smbdotconf/logging/debughirestimestamp.xml
new file mode 100644
index 0000000..79d928a
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/debughirestimestamp.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="debug hires timestamp"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Sometimes the timestamps in the log messages are needed with a resolution of higher that seconds, this
+ boolean parameter adds microsecond resolution to the timestamp message header when turned on.
+ </para>
+
+ <para>
+ Note that the parameter <smbconfoption name="debug timestamp"/> or
+ <smbconfoption name="debug syslog format"/> must be on for this to have an effect.
+ </para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/debugpid.xml b/docs-xml/smbdotconf/logging/debugpid.xml
new file mode 100644
index 0000000..8e6436c
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/debugpid.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="debug pid"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ When using only one log file for more then one forked <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>-process there may be hard to follow which process outputs which
+ message. This boolean parameter is adds the process-id to the timestamp message headers in the
+ logfile when turned on.
+ </para>
+
+ <para>
+ Note that the parameter <smbconfoption name="debug timestamp"/> must be on for this to have an effect.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/debugprefixtimestamp.xml b/docs-xml/smbdotconf/logging/debugprefixtimestamp.xml
new file mode 100644
index 0000000..0a004d4
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/debugprefixtimestamp.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="debug prefix timestamp"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ With this option enabled, the timestamp message header is prefixed to the debug message without the
+ filename and function information that is included with the <smbconfoption name="debug timestamp"/>
+ parameter. This gives timestamps to the messages without adding an additional line.
+ </para>
+
+ <para>
+ Note that this parameter overrides the <smbconfoption name="debug timestamp"/> parameter.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/debugsyslogformat.xml b/docs-xml/smbdotconf/logging/debugsyslogformat.xml
new file mode 100644
index 0000000..ee1627d
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/debugsyslogformat.xml
@@ -0,0 +1,33 @@
+<samba:parameter name="debug syslog format"
+ context="G"
+ type="enum"
+ enumlist="enum_debug_syslog_format"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ With this option enabled (<constant>yes</constant> (alias
+ <constant>in_logs</constant>) or
+ <constant>always</constant>), debug messages are printed in a
+ single-line format like that traditionally produced by syslog.
+ The timestamp consists of an abbreviated month, space-padded date,
+ and time including seconds. This is followed by the hostname and
+ the program name, with the process-ID in square brackets.
+ </para>
+
+ <para>The value <constant>always</constant> produces this log
+ format even to <constant>STDOUT</constant> or
+ <constant>STDERR</constant>
+ </para>
+
+ <para>The value <constant>no</constant> defers to other parameters
+ and typically produces traditional two-line Samba logs to log files.
+ </para>
+
+ <para>
+ If <smbconfoption name="debug hires timestamp"/> is also enabled
+ then an RFC5424 timestamp is used instead.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/debugtraceid.xml b/docs-xml/smbdotconf/logging/debugtraceid.xml
new file mode 100644
index 0000000..61a451d
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/debugtraceid.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="winbind debug traceid"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ With this boolean parameter enabled, the per request unique traceid
+ will be displayed in the debug header for winbind processes.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/debuguid.xml b/docs-xml/smbdotconf/logging/debuguid.xml
new file mode 100644
index 0000000..1dd1dbf
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/debuguid.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="debug uid"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Samba is sometimes run as root and sometime run as the connected user, this boolean parameter inserts the
+ current euid, egid, uid and gid to the timestamp message headers in the log file if turned on.
+ </para>
+
+ <para>
+ Note that the parameter <smbconfoption name="debug timestamp"/> must be on for this to have an effect.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/ldapdebuglevel.xml b/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
new file mode 100644
index 0000000..2092b7d
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/ldapdebuglevel.xml
@@ -0,0 +1,28 @@
+<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>
+ This parameter controls the debug level of the LDAP library
+ calls. In the case of OpenLDAP, it is the same
+ bit-field as understood by the server and documented in the
+ <citerefentry>
+ <refentrytitle>slapd.conf</refentrytitle>
+ <manvolnum>5</manvolnum>
+ </citerefentry>
+ manpage.
+ A typical useful value will be
+ <emphasis>1</emphasis> for tracing function calls.
+ </para>
+ <para>
+ The debug output from the LDAP libraries appears with the
+ prefix [LDAP] in Samba's logging output.
+ The level at which LDAP logging is printed is controlled by the
+ parameter <parameter>ldap debug threshold</parameter>.
+ </para>
+</description>
+<value type="default">0</value>
+<value type="example">1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/ldapdebugthreshold.xml b/docs-xml/smbdotconf/logging/ldapdebugthreshold.xml
new file mode 100644
index 0000000..2783ac9
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/ldapdebugthreshold.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="ldap debug threshold"
+ 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
+ the ldap library debug output is
+ printed in the Samba logs. See the description of
+ <parameter>ldap debug level</parameter> for details.
+ </para>
+</description>
+<value type="default">10</value>
+<value type="example">5</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/logfile.xml b/docs-xml/smbdotconf/logging/logfile.xml
new file mode 100644
index 0000000..07762ee
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/logfile.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="log file"
+ context="G"
+ type="string"
+ function="logfile"
+ handler="handle_logfile"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option allows you to override the name of the Samba log file (also known as the debug file).
+ </para>
+
+ <para>
+ This option takes the standard substitutions, allowing you to have separate log files for each user or machine.
+ </para>
+</description>
+<value type="example">/usr/local/samba/var/log.%m</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/logging.xml b/docs-xml/smbdotconf/logging/logging.xml
new file mode 100644
index 0000000..0ab2c1f
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/logging.xml
@@ -0,0 +1,45 @@
+<samba:parameter name="logging"
+ type="string"
+ context="G"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>This parameter configures logging backends. Multiple
+ backends can be specified at the same time, with different log
+ levels for each backend. The parameter is a list of backends,
+ where each backend is specified as backend[:option][@loglevel].</para>
+
+ <para>The 'option' parameter can be used to pass backend-specific
+ options.</para>
+
+ <para>The log level for a backend is optional, if it is not set for
+ a backend, all messages are sent to this backend. The parameter
+ <smbconfoption name="log level"/> determines overall log levels,
+ while the log levels specified here define what is sent to the
+ individual backends.</para>
+
+ <para>When <smbconfoption name="logging"/> is set, it overrides the
+ <smbconfoption name="syslog"/> and <smbconfoption name="syslog
+ only"/> parameters.</para>
+
+ <para>Some backends are only available when Samba has been compiled
+ with the additional libraries. The overall list of logging backends:</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">syslog</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">file</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">systemd</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">lttng</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">gpfs</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ringbuf</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>The <parameter moreinfo="none">ringbuf</parameter> backend supports an
+ optional size argument to change the buffer size used, the default is 1 MB:
+ <parameter moreinfo="none">ringbuf:size=NBYTES</parameter></para>
+
+</description>
+<value type="default"></value>
+<value type="example">syslog@1 file</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/loglevel.xml b/docs-xml/smbdotconf/logging/loglevel.xml
new file mode 100644
index 0000000..434c5d0
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/loglevel.xml
@@ -0,0 +1,171 @@
+<samba:parameter name="log level"
+ type="string"
+ context="G"
+ handler="handle_debug_list"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>debuglevel</synonym>
+<description>
+ <para>
+ The value of the parameter (a string) allows the debug level (logging level) to be specified in the
+ <filename moreinfo="none">smb.conf</filename> file.
+ </para>
+
+ <para>This parameter has been extended since the 2.2.x
+ series, now it allows one to specify the debug level for multiple
+ debug classes and distinct logfiles for debug classes. This is to give
+ greater flexibility in the configuration of the system. The following
+ debug classes are currently implemented:
+ </para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">all</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">tdb</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">printdrivers</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">lanman</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">smb</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">rpc_parse</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">rpc_srv</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">rpc_cli</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">passdb</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">sam</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">auth</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">winbind</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">vfs</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">idmap</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">quota</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">acls</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">locking</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">msdfs</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dmapi</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">registry</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">scavenger</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dns</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">ldb</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">tevent</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">auth_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">auth_json_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">kerberos</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">drs_repl</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">smb2</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">smb2_credits</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_json_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_password_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_password_json_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_transaction_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_transaction_json_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_group_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dsdb_group_json_audit</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>Various modules register dynamic debug classes at first usage:</para>
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">catia</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">dfs_samba4</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">extd_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">fileid</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">fruit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">full_audit</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">media_harmony</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">preopen</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">recycle</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">shadow_copy</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">shadow_copy</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">unityed_media</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">virusfilter</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>To configure the logging for specific classes to go into a different
+ file then <smbconfoption name="log file"/>, you can append
+ <emphasis>@PATH</emphasis> to the class, eg <parameter>log level = 1
+ full_audit:1@/var/log/audit.log</parameter>.</para>
+
+ <para>Authentication and authorization audit information is logged
+ under the <parameter>auth_audit</parameter>, and if Samba was not compiled with
+ --without-json, a JSON representation is logged under
+ <parameter>auth_json_audit</parameter>.</para>
+
+ <para>Support is comprehensive for all authentication and authorisation
+ of user accounts in the Samba Active Directory Domain Controller,
+ as well as the implicit authentication in password changes. In
+ the file server, NTLM authentication, SMB and RPC authorization is
+ covered.</para>
+
+ <para>Log levels for <parameter>auth_audit</parameter> and
+ <parameter>auth_audit_json</parameter> are:</para>
+ <itemizedlist>
+ <listitem><para>2: Authentication Failure</para></listitem>
+ <listitem><para>3: Authentication Success</para></listitem>
+ <listitem><para>4: Authorization Success</para></listitem>
+ <listitem><para>5: Anonymous Authentication and Authorization Success</para></listitem>
+ </itemizedlist>
+
+ <para>Changes to the AD DC <command moreinfo="none">sam.ldb</command>
+ database are logged under the <parameter>dsdb_audit</parameter>
+ and a JSON representation is logged under
+ <parameter>dsdb_json_audit</parameter>.</para>
+
+ <para>Group membership changes to the AD DC <command
+ moreinfo="none">sam.ldb</command> database are logged under the
+ <parameter>dsdb_group_audit</parameter> and a JSON representation
+ is logged under
+ <parameter>dsdb_group_json_audit</parameter>.</para>
+
+ <para>Log levels for <parameter>dsdb_audit</parameter>,
+ <parameter>dsdb_json_audit</parameter>,
+ <parameter>dsdb_group_audit</parameter>,
+ <parameter>dsdb_group_json_audit</parameter> and
+ <parameter>dsdb_json_audit</parameter> are:</para>
+ <itemizedlist>
+ <listitem><para>5: Database modifications</para></listitem>
+ <listitem><para>5: Replicated updates from another DC</para></listitem>
+ </itemizedlist>
+
+ <para>Password changes and Password resets in the AD DC are logged
+ under <parameter>dsdb_password_audit</parameter> and a JSON
+ representation is logged under the
+ <parameter>dsdb_password_json_audit</parameter>. Password changes
+ will also appears as authentication events via
+ <parameter>auth_audit</parameter> and
+ <parameter>auth_audit_json</parameter>.</para>
+
+ <para>Log levels for <parameter>dsdb_password_audit</parameter> and
+ <parameter>dsdb_password_json_audit</parameter> are:</para>
+ <itemizedlist>
+ <listitem><para>5: Successful password changes and resets</para></listitem>
+ </itemizedlist>
+
+ <para>Transaction rollbacks and prepare commit failures are logged under
+ the <parameter>dsdb_transaction_audit</parameter> and a JSON representation is logged under the
+ <parameter>dsdb_transaction_json_audit</parameter>. </para>
+
+ <para>Log levels for <parameter>dsdb_transaction_audit</parameter> and
+ <parameter>dsdb_transaction_json</parameter> are:</para>
+
+ <itemizedlist>
+ <listitem><para>5: Transaction failure (rollback)</para></listitem>
+ <listitem><para>10: Transaction success (commit)</para></listitem>
+ </itemizedlist>
+
+ <para>Transaction roll-backs are possible in Samba, and whilst
+ they rarely reflect anything more than the failure of an
+ individual operation (say due to the add of a conflicting record),
+ they are possible. Audit logs are already generated and sent to
+ the system logs before the transaction is complete. Logging the
+ transaction details allows the identification of password and
+ <command moreinfo="none">sam.ldb</command> operations that have
+ been rolled back, and so have not actually persisted.</para>
+
+ <warning><para> Changes to <command
+ moreinfo="none">sam.ldb</command> made locally by the <command
+ moreinfo="none">root</command> user with direct access to the
+ database are not logged to the system logs, but to the
+ administrator's own console. While less than ideal, any user able
+ to make such modifications could disable the audit logging in any
+ case. </para></warning>
+</description>
+<value type="default">0</value>
+<value type="example">3 passdb:5 auth:10 winbind:2</value>
+<value type="example">1 full_audit:1@/var/log/audit.log winbind:2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/maxlogsize.xml b/docs-xml/smbdotconf/logging/maxlogsize.xml
new file mode 100644
index 0000000..8a1979d
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/maxlogsize.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="max log size"
+ type="bytes"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option (an integer in kilobytes) specifies the max size the log file should grow to.
+ Samba periodically checks the size and if it is exceeded it will rename the file, adding
+ a <filename moreinfo="none">.old</filename> extension.
+ </para>
+
+ <para>A size of 0 means no limit.
+ </para>
+</description>
+<value type="default">5000</value>
+<value type="example">1000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/syslog.xml b/docs-xml/smbdotconf/logging/syslog.xml
new file mode 100644
index 0000000..78e694e
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/syslog.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="syslog"
+ context="G"
+ type="integer"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter maps how Samba debug messages are logged onto the system syslog logging levels.
+ Samba debug level zero maps onto syslog <constant>LOG_ERR</constant>, debug level one maps onto
+ <constant>LOG_WARNING</constant>, debug level two maps onto <constant>LOG_NOTICE</constant>,
+ debug level three maps onto LOG_INFO. All higher levels are mapped to <constant>LOG_DEBUG</constant>.
+ </para>
+
+ <para>
+ This parameter sets the threshold for sending messages to syslog. Only messages with debug
+ level less than this value will be sent to syslog. There still will be some
+ logging to log.[sn]mbd even if <emphasis>syslog only</emphasis> is enabled.
+ </para>
+
+ <para>The <smbconfoption name="logging"/> parameter should be used
+ instead. When <smbconfoption name="logging"/> is set, it
+ overrides the <smbconfoption name="syslog"/> parameter.</para>
+</description>
+<value type="default">1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/syslogonly.xml b/docs-xml/smbdotconf/logging/syslogonly.xml
new file mode 100644
index 0000000..b9aea2d
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/syslogonly.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="syslog only"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ If this parameter is set then Samba debug messages are logged into the system
+ syslog only, and not to the debug log files. There still will be some
+ logging to log.[sn]mbd even if <emphasis>syslog only</emphasis> is enabled.
+ </para>
+
+
+ <para>The <smbconfoption name="logging"/> parameter should be used
+ instead. When <smbconfoption name="logging"/> is set, it
+ overrides the <smbconfoption name="syslog only"/> parameter.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logging/timestamplogs.xml b/docs-xml/smbdotconf/logging/timestamplogs.xml
new file mode 100644
index 0000000..28003c3
--- /dev/null
+++ b/docs-xml/smbdotconf/logging/timestamplogs.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="timestamp logs"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>debug timestamp</synonym>
+<description>
+ <para>
+ Samba debug log messages are timestamped by default. If you are running at a high
+ <smbconfoption name="debug level"/> these timestamps can be distracting. This
+ boolean parameter allows timestamping to be turned off.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/abortshutdownscript.xml b/docs-xml/smbdotconf/logon/abortshutdownscript.xml
new file mode 100644
index 0000000..7ce0f1f
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/abortshutdownscript.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="abort shutdown script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This a full path name to a script called by <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> that
+ should stop a shutdown procedure issued by the <smbconfoption name="shutdown script"/>.</para>
+
+ <para>If the connected user possesses the <constant>SeRemoteShutdownPrivilege</constant>,
+ right, this command will be run as root.</para>
+</description>
+<value type="default">&quot;&quot;</value>
+<value type="example">/sbin/shutdown -c</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/addgroupscript.xml b/docs-xml/smbdotconf/logon/addgroupscript.xml
new file mode 100644
index 0000000..3b347d0
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/addgroupscript.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="add group script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is the full pathname to a script that will be run <emphasis>AS ROOT</emphasis> by <citerefentry>
+ <refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum></citerefentry> when a new group is requested. It
+ will expand any <parameter moreinfo="none">%g</parameter> to the group name passed. This script is only useful
+ for installations using the Windows NT domain administration tools. The script is free to create a group with
+ an arbitrary name to circumvent unix group name restrictions. In that case the script must print the numeric
+ gid of the created group on stdout.
+ </para>
+</description>
+
+<value type="default"/>
+<value type="example">/usr/sbin/groupadd %g</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/addmachinescript.xml b/docs-xml/smbdotconf/logon/addmachinescript.xml
new file mode 100644
index 0000000..db1f5bc
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/addmachinescript.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="add machine script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is the full pathname to a script that will be run by
+ <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry> when a machine is
+ added to Samba's domain and a Unix account matching the machine's name appended with a &quot;$&quot; does not
+ already exist.
+ </para>
+ <para>This option is very similar to the <smbconfoption
+ name="add user script"/>, and likewise uses the %u
+ substitution for the account name. Do not use the %m
+ substitution. </para>
+</description>
+
+<value type="default"/>
+<value type="example">/usr/sbin/adduser -n -g machines -c Machine -d /var/lib/nobody -s /bin/false %u</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/adduserscript.xml b/docs-xml/smbdotconf/logon/adduserscript.xml
new file mode 100644
index 0000000..4be1146
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/adduserscript.xml
@@ -0,0 +1,47 @@
+<samba:parameter name="add user script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is the full pathname to a script that will be run <emphasis>AS ROOT</emphasis> by
+ <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
+ under special circumstances described below.
+ </para>
+
+ <para>
+ Normally, a Samba server requires that UNIX users are created for all users accessing
+ files on this server. For sites that use Windows NT account databases as their primary
+ user database creating these users and keeping the user list in sync with the Windows
+ NT PDC is an onerous task. This option allows smbd to create the required UNIX users
+ <emphasis>ON DEMAND</emphasis> when a user accesses the Samba server.
+ </para>
+
+ <para>
+ When the Windows user attempts to access the Samba server, at login (session setup in
+ the SMB protocol) time, <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> contacts the <smbconfoption name="password server"/>
+ and attempts to authenticate the given user with the given password. If the authentication
+ succeeds then <command moreinfo="none">smbd</command> attempts to find a UNIX user in the UNIX
+ password database to map the Windows user into. If this lookup fails, and
+ <smbconfoption name="add user script"/> is set then <command moreinfo="none">smbd</command> will
+ call the specified script <emphasis>AS ROOT</emphasis>, expanding any
+ <parameter moreinfo="none">%u</parameter> argument to be the user name to create.
+ </para>
+
+ <para>
+ If this script successfully creates the user then <command moreinfo="none">smbd</command> will
+ continue on as though the UNIX user already existed. In this way, UNIX users are dynamically created to
+ match existing Windows NT accounts.
+ </para>
+
+ <para>
+ See also <smbconfoption name="security"/>, <smbconfoption name="password server"/>,
+ <smbconfoption name="delete user script"/>.
+ </para>
+</description>
+
+<value type="default"/>
+<value type="example">/usr/local/samba/bin/add_user %u</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/addusertogroupscript.xml b/docs-xml/smbdotconf/logon/addusertogroupscript.xml
new file mode 100644
index 0000000..f6e9cc2
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/addusertogroupscript.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="add user to group script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Full path to the script that will be called when a user is added to a group using the Windows NT domain administration
+ tools. It will be run by <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
+ <emphasis>AS ROOT</emphasis>. Any <parameter moreinfo="none">%g</parameter> will be replaced with the group name and
+ any <parameter moreinfo="none">%u</parameter> will be replaced with the user name.
+ </para>
+
+ <para>
+ Note that the <command>adduser</command> command used in the example below does
+ not support the used syntax on all systems.
+ </para>
+
+</description>
+<value type="default"></value>
+<value type="example">/usr/sbin/adduser %u %g</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/allownt4crypto.xml b/docs-xml/smbdotconf/logon/allownt4crypto.xml
new file mode 100644
index 0000000..ee63e6c
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/allownt4crypto.xml
@@ -0,0 +1,106 @@
+<samba:parameter name="allow nt4 crypto"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option is deprecated and will be removed in future,
+ as it is a security problem if not set to "no" (which will be
+ the hardcoded behavior in future).
+ </para>
+
+ <para>This option controls whether the netlogon server (currently
+ only in 'active directory domain controller' mode), will
+ reject clients which do not support NETLOGON_NEG_STRONG_KEYS
+ nor NETLOGON_NEG_SUPPORTS_AES.</para>
+
+ <para>This option was added with Samba 4.2.0. It may lock out clients
+ which worked fine with Samba versions up to 4.1.x. as the effective default
+ was "yes" there, while it is "no" now.</para>
+
+ <para>If you have clients without RequireStrongKey = 1 in the registry,
+ you may need to set "allow nt4 crypto = yes", until you have fixed all clients.
+ </para>
+
+ <para>"allow nt4 crypto = yes" allows weak crypto to be negotiated, maybe via downgrade attacks.</para>
+
+ <para><emphasis>Avoid using this option!</emphasis> Use explicit '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT">yes</smbconfoption>' instead!
+ Which is available with the patches for
+ <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">CVE-2022-38023</ulink>
+ see <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15240">https://bugzilla.samba.org/show_bug.cgi?id=15240</ulink></para>
+
+ <para>
+ Samba will log an error in the log files at log level 0
+ if legacy a client is rejected or allowed without an explicit,
+ '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT">yes</smbconfoption>' option
+ for the client. The message will indicate
+ the explicit '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT">yes</smbconfoption>'
+ line to be added, if the legacy client software requires it. (The log level can be adjusted with
+ '<smbconfoption name="CVE_2022_38023:error_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>This allows admins to use "yes" only for a short grace period,
+ in order to collect the explicit
+ '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT">yes</smbconfoption>' options.</para>
+
+ <para>This option is over-ridden by the effective value of 'yes' from
+ the '<smbconfoption name="server reject md5 schannel:COMPUTERACCOUNT"/>'
+ and/or '<smbconfoption name="reject md5 clients"/>' options.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
+
+<samba:parameter name="allow nt4 crypto:COMPUTERACCOUNT"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>If you still have legacy domain members which required 'allow nt4 crypto = yes',
+ it is possible to specify an explicit exception per computer account
+ by using 'allow nt4 crypto:COMPUTERACCOUNT = yes' as option.
+ Note that COMPUTERACCOUNT has to be the sAMAccountName value of
+ the computer account (including the trailing '$' sign).
+ </para>
+
+ <para>
+ Samba will log a complaint in the log files at log level 0
+ about the security problem if the option is set to "yes",
+ but the related computer does not require it.
+ (The log level can be adjusted with
+ '<smbconfoption name="CVE_2022_38023:warn_about_unused_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>
+ Samba will log a warning in the log files at log level 5,
+ if a setting is still needed for the specified computer account.
+ </para>
+
+ <para>
+ See <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">CVE-2022-38023</ulink>,
+ <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15240">https://bugzilla.samba.org/show_bug.cgi?id=15240</ulink>.
+ </para>
+
+ <para>This option overrides the <smbconfoption name="allow nt4 crypto"/> option.</para>
+
+ <para>This option is over-ridden by the effective value of 'yes' from
+ the '<smbconfoption name="server reject md5 schannel:COMPUTERACCOUNT"/>'
+ and/or '<smbconfoption name="reject md5 clients"/>' options.</para>
+ <para>Which means '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT">yes</smbconfoption>'
+ is only useful in combination with '<smbconfoption name="server reject md5 schannel:COMPUTERACCOUNT">no</smbconfoption>'</para>
+
+ <programlisting>
+ allow nt4 crypto:LEGACYCOMPUTER1$ = yes
+ server reject md5 schannel:LEGACYCOMPUTER1$ = no
+ allow nt4 crypto:NASBOX$ = yes
+ server reject md5 schannel:NASBOX$ = no
+ allow nt4 crypto:LEGACYCOMPUTER2$ = yes
+ server reject md5 schannel:LEGACYCOMPUTER2$ = no
+ </programlisting>
+</description>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/autheventnotification.xml b/docs-xml/smbdotconf/logon/autheventnotification.xml
new file mode 100644
index 0000000..87ccf02
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/autheventnotification.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="auth event notification"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When enabled, this option causes Samba (acting as an
+ Active Directory Domain Controller) to stream authentication
+ events across the internal message bus. Scripts built using
+ Samba's python bindings can listen to these events by
+ registering as the service
+ <filename moreinfo="none">auth_event</filename>.</para>
+
+ <para>This is <emphasis>not</emphasis> needed for the audit
+ logging described in <smbconfoption name="log level"/>.</para>
+
+ <para>Instead, this should instead be considered a developer
+ option (it assists in the Samba testsuite) rather than a
+ facility for external auditing, as message delivery is not
+ guaranteed (a feature that the testsuite works around).</para>
+
+ <para>The authentication events are also logged via the normal
+ logging methods when the <smbconfoption name="log level"/> is
+ set appropriately, say to
+ <command moreinfo="none">auth_json_audit:3</command>.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/deletegroupscript.xml b/docs-xml/smbdotconf/logon/deletegroupscript.xml
new file mode 100644
index 0000000..be8bb0d
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/deletegroupscript.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="delete group script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is the full pathname to a script that will
+ be run <emphasis>AS ROOT</emphasis> by <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> when a group is requested to be deleted.
+ It will expand any <parameter moreinfo="none">%g</parameter> to the group name passed.
+ This script is only useful for installations using the Windows NT domain administration tools.
+ </para>
+</description>
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/deleteuserfromgroupscript.xml b/docs-xml/smbdotconf/logon/deleteuserfromgroupscript.xml
new file mode 100644
index 0000000..1654a09
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/deleteuserfromgroupscript.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="delete user from group script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Full path to the script that will be called when
+ a user is removed from a group using the Windows NT domain administration
+ tools. It will be run by <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> <emphasis>AS ROOT</emphasis>.
+ Any <parameter moreinfo="none">%g</parameter> will be replaced with the group name and
+ any <parameter moreinfo="none">%u</parameter> will be replaced with the user name.
+</para>
+</description>
+<value type="default"/>
+<value type="example">/usr/sbin/deluser %u %g</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/deleteuserscript.xml b/docs-xml/smbdotconf/logon/deleteuserscript.xml
new file mode 100644
index 0000000..22897cb
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/deleteuserscript.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="delete user script"
+ type="string"
+ context="G"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is the full pathname to a script that will
+ be run by <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> when managing users
+ with remote RPC (NT) tools.
+ </para>
+
+ <para>This script is called when a remote client removes a user
+ from the server, normally using 'User Manager for Domains' or
+ <command moreinfo="none">rpcclient</command>.</para>
+
+ <para>This script should delete the given UNIX username.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">/usr/local/samba/bin/del_user %u</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/domainlogons.xml b/docs-xml/smbdotconf/logon/domainlogons.xml
new file mode 100644
index 0000000..7f84975
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/domainlogons.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="domain logons"
+ context="G"
+ type="boolean"
+ function="_domain_logons"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.13 and
+ support for NT4-style domain logons(as distinct from the Samba
+ AD DC) will be removed in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>domain logons = no</command>
+ will be the enforced behaviour.</para>
+ <para>
+ If set to <constant>yes</constant>, the Samba server will
+ provide the netlogon service for Windows 9X network logons for the
+ <smbconfoption name="workgroup"/> it is in.
+ This will also cause the Samba server to act as a domain
+ controller for NT4 style domain services. For more details on
+ setting up this feature see the Domain Control chapter of the
+ Samba HOWTO Collection.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/enableprivileges.xml b/docs-xml/smbdotconf/logon/enableprivileges.xml
new file mode 100644
index 0000000..9e28457
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/enableprivileges.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="enable privileges"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This deprecated parameter controls whether or not smbd will honor privileges assigned to specific SIDs via either
+ <command>net rpc rights</command> or one of the Windows user and group manager tools. This parameter is
+ enabled by default. It can be disabled to prevent members of the Domain Admins group from being able to
+ assign privileges to users or groups which can then result in certain smbd operations running as root that
+ would normally run under the context of the connected user.
+ </para>
+
+ <para>
+ An example of how privileges can be used is to assign the right to join clients to a Samba controlled
+ domain without providing root access to the server via smbd.
+ </para>
+
+ <para>
+ Please read the extended description provided in the Samba HOWTO documentation.
+ </para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/initlogondelay.xml b/docs-xml/smbdotconf/logon/initlogondelay.xml
new file mode 100644
index 0000000..0cdbcd0
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/initlogondelay.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="init logon delay"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies a delay in milliseconds for the hosts configured
+ for delayed initial samlogon with
+ <smbconfoption name="init logon delayed hosts"/>.
+ </para>
+</description>
+
+<value type="default">100</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/initlogondelayedhosts.xml b/docs-xml/smbdotconf/logon/initlogondelayedhosts.xml
new file mode 100644
index 0000000..83d1ebd
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/initlogondelayedhosts.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="init logon delayed hosts"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter takes a list of host names, addresses or networks for
+ which the initial samlogon reply should be delayed (so other DCs get
+ preferred by XP workstations if there are any).
+ </para>
+
+ <para>
+ The length of the delay can be specified with the
+ <smbconfoption name="init logon delay"/> parameter.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">150.203.5. myhost.mynet.de</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/logondrive.xml b/docs-xml/smbdotconf/logon/logondrive.xml
new file mode 100644
index 0000000..9767693
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/logondrive.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="logon drive"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies the local path to which the home directory will be
+ connected (see <smbconfoption name="logon home"/>) and is only used by NT
+ Workstations.
+ </para>
+
+ <para>
+ Note that this option is only useful if Samba is set up as a logon server.
+ </para>
+</description>
+<value type="default"></value>
+<value type="example">h:</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/logonhome.xml b/docs-xml/smbdotconf/logon/logonhome.xml
new file mode 100644
index 0000000..cb5f5d5
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/logonhome.xml
@@ -0,0 +1,56 @@
+<samba:parameter name="logon home"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies the home directory location when a Win95/98 or NT Workstation logs into a Samba PDC.
+ It allows you to do
+ </para>
+
+ <para>
+ <prompt moreinfo="none">C:\&gt;</prompt><userinput moreinfo="none">NET USE H: /HOME</userinput>
+ </para>
+
+ <para>
+ from a command prompt, for example.
+ </para>
+
+ <para>
+ This option takes the standard substitutions, allowing you to have separate logon scripts for each user or machine.
+ </para>
+
+ <para>
+ This parameter can be used with Win9X workstations to ensure that roaming profiles are stored in a
+ subdirectory of the user's home directory. This is done in the following way:
+ </para>
+
+ <para>
+ <command moreinfo="none">logon home = \\%N\%U\profile</command>
+ </para>
+
+ <para>
+ This tells Samba to return the above string, with substitutions made when a client requests the info, generally
+ in a NetUserGetInfo request. Win9X clients truncate the info to \\server\share when a user does
+ <command moreinfo="none">net use /home</command> but use the whole string when dealing with profiles.
+ </para>
+
+ <para>
+ Note that in prior versions of Samba, the <smbconfoption name="logon path"/> was returned rather than
+ <parameter moreinfo="none">logon home</parameter>. This broke <command moreinfo="none">net use /home</command>
+ but allowed profiles outside the home directory. The current implementation is correct, and can be used for
+ profiles if you use the above trick.
+ </para>
+
+ <para>
+ Disable this feature by setting <smbconfoption name="logon home">""</smbconfoption> - using the empty string.
+ </para>
+
+ <para>
+ This option is only useful if Samba is set up as a logon server.
+ </para>
+</description>
+
+<value type="default">\\%N\%U</value>
+<value type="example">\\remote_smb_server\%U</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/logonpath.xml b/docs-xml/smbdotconf/logon/logonpath.xml
new file mode 100644
index 0000000..3cc85db
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/logonpath.xml
@@ -0,0 +1,69 @@
+<samba:parameter name="logon path"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies the directory where roaming profiles (Desktop, NTuser.dat, etc) are
+ stored. Contrary to previous versions of these manual pages, it has nothing to do with Win 9X roaming
+ profiles. To find out how to handle roaming profiles for Win 9X system, see the
+ <smbconfoption name="logon home"/> parameter.
+ </para>
+
+ <para>
+ This option takes the standard substitutions, allowing you to have separate logon scripts for each user or
+ machine. It also specifies the directory from which the &quot;Application Data&quot;, <filename
+ moreinfo="none">desktop</filename>, <filename moreinfo="none">start menu</filename>, <filename
+ moreinfo="none">network neighborhood</filename>, <filename moreinfo="none">programs</filename> and other
+ folders, and their contents, are loaded and displayed on your Windows NT client.
+ </para>
+
+ <para>
+ The share and the path must be readable by the user for the preferences and directories to be loaded onto the
+ Windows NT client. The share must be writeable when the user logs in for the first time, in order that the
+ Windows NT client can create the NTuser.dat and other directories.
+ Thereafter, the directories and any of the contents can, if required, be made read-only. It is not advisable
+ that the NTuser.dat file be made read-only - rename it to NTuser.man to achieve the desired effect (a
+ <emphasis>MAN</emphasis>datory profile).
+ </para>
+
+ <para>
+ Windows clients can sometimes maintain a connection to the [homes] share, even though there is no user logged
+ in. Therefore, it is vital that the logon path does not include a reference to the homes share (i.e. setting
+ this parameter to \\%N\homes\profile_path will cause problems).
+ </para>
+
+ <para>
+ This option takes the standard substitutions, allowing you to have separate logon scripts for each user or machine.
+ </para>
+
+ <warning><para>
+ Do not quote the value. Setting this as <quote>\\%N\profile\%U</quote>
+ will break profile handling. Where the tdbsam or ldapsam passdb backend
+ is used, at the time the user account is created the value configured
+ for this parameter is written to the passdb backend and that value will
+ over-ride the parameter value present in the smb.conf file. Any error
+ present in the passdb backend account record must be edited using the
+ appropriate tool (pdbedit on the command-line, or any other locally
+ provided system tool).
+ </para></warning>
+
+ <para>Note that this option is only useful if Samba is set up as a domain controller.</para>
+
+ <para>
+ Disable the use of roaming profiles by setting the value of this parameter to the empty string. For
+ example, <smbconfoption name="logon path">""</smbconfoption>. Take note that even if the default setting
+ in the smb.conf file is the empty string, any value specified in the user account settings in the passdb
+ backend will over-ride the effect of setting this parameter to null. Disabling of all roaming profile use
+ requires that the user account settings must also be blank.
+ </para>
+
+ <para>
+ An example of use is:
+<programlisting>
+logon path = \\PROFILESERVER\PROFILE\%U
+</programlisting>
+ </para>
+</description>
+<value type="default">\\%N\%U\profile</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/logonscript.xml b/docs-xml/smbdotconf/logon/logonscript.xml
new file mode 100644
index 0000000..cf02466
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/logonscript.xml
@@ -0,0 +1,54 @@
+<samba:parameter name="logon script"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter specifies the batch file (<filename>.bat</filename>) or NT command file
+ (<filename>.cmd</filename>) to be downloaded and run on a machine when a user successfully logs in. The file
+ must contain the DOS style CR/LF line endings. Using a DOS-style editor to create the file is recommended.
+ </para>
+
+ <para>
+ The script must be a relative path to the <smbconfsection name="[netlogon]"/> service. If the [netlogon]
+ service specifies a <smbconfoption name="path"/> of <filename
+ moreinfo="none">/usr/local/samba/netlogon</filename>, and <smbconfoption name="logon
+ script">STARTUP.BAT</smbconfoption>, then the file that will be downloaded is:
+<programlisting>
+ /usr/local/samba/netlogon/STARTUP.BAT
+</programlisting>
+ </para>
+
+ <para>
+ The contents of the batch file are entirely your choice. A suggested command would be to add <command
+ moreinfo="none">NET TIME \\SERVER /SET /YES</command>, to force every machine to synchronize clocks with the
+ same time server. Another use would be to add <command moreinfo="none">NET USE U: \\SERVER\UTILS</command>
+ for commonly used utilities, or
+<programlisting>
+<userinput>NET USE Q: \\SERVER\ISO9001_QA</userinput>
+</programlisting>
+ for example.
+ </para>
+
+ <para>
+ Note that it is particularly important not to allow write access to the [netlogon] share, or to grant users
+ write permission on the batch files in a secure environment, as this would allow the batch files to be
+ arbitrarily modified and security to be breached.
+ </para>
+
+ <para>
+ This option takes the standard substitutions, allowing you to have separate logon scripts for each user or
+ machine.
+ </para>
+
+ <para>
+ This option is only useful if Samba is set up as a logon server in a classic domain controller role.
+ If Samba is set up as an Active Directory domain controller, LDAP attribute <filename moreinfo="none">scriptPath</filename>
+ is used instead. For configurations where <smbconfoption name="passdb backend">ldapsam</smbconfoption> is in use,
+ this option only defines a default value in case LDAP attribute <filename moreinfo="none">sambaLogonScript</filename>
+ is missing.
+ </para>
+</description>
+<value type="default"></value>
+<value type="example">scripts\%U.bat</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/rejectmd5clients.xml b/docs-xml/smbdotconf/logon/rejectmd5clients.xml
new file mode 100644
index 0000000..fe7701d
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/rejectmd5clients.xml
@@ -0,0 +1,110 @@
+<samba:parameter name="reject md5 clients"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option is deprecated and will be removed in a future release,
+ as it is a security problem if not set to "yes" (which will be
+ the hardcoded behavior in the future).
+ </para>
+
+ <para>This option controls whether the netlogon server (currently
+ only in 'active directory domain controller' mode), will
+ reject clients which does not support NETLOGON_NEG_SUPPORTS_AES.</para>
+
+ <para>Support for NETLOGON_NEG_SUPPORTS_AES was added in Windows
+ starting with Server 2008R2 and Windows 7, it's available in Samba
+ starting with 4.0, however third party domain members like NetApp ONTAP
+ still uses RC4 (HMAC-MD5), see
+ <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">https://www.samba.org/samba/security/CVE-2022-38023.html</ulink>
+ for more details.
+ </para>
+
+ <para>The default changed from 'no' to 'yes', with the patches for
+ <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">CVE-2022-38023</ulink>
+ see <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15240">https://bugzilla.samba.org/show_bug.cgi?id=15240</ulink>.
+ </para>
+
+ <para><emphasis>Avoid using this option!</emphasis> Use an explicit per machine account
+ '<smbconfoption name="server reject md5 schannel:COMPUTERACCOUNT"/>' instead!
+ Which is available with the patches for
+ <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">CVE-2022-38023</ulink>
+ see <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15240">https://bugzilla.samba.org/show_bug.cgi?id=15240</ulink>.
+ </para>
+
+ <para>
+ Samba will log an error in the log files at log level 0
+ if legacy a client is rejected or allowed without an explicit,
+ '<smbconfoption name="server reject md5 schannel:COMPUTERACCOUNT">no</smbconfoption>' option
+ for the client. The message will indicate
+ the explicit '<smbconfoption name="server reject md5 schannel:COMPUTERACCOUNT">no</smbconfoption>'
+ line to be added, if the legacy client software requires it. (The log level can be adjusted with
+ '<smbconfoption name="CVE_2022_38023:error_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>This allows admins to use "no" only for a short grace period,
+ in order to collect the explicit
+ '<smbconfoption name="server reject md5 schannel:COMPUTERACCOUNT">no</smbconfoption>' options.</para>
+
+ <para>When set to 'yes' this option overrides the
+ '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT"/>' and
+ '<smbconfoption name="allow nt4 crypto"/>' options and implies
+ '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT">no</smbconfoption>'.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
+
+<samba:parameter name="server reject md5 schannel:COMPUTERACCOUNT"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>If you still have legacy domain members or trusted domains,
+ which required "reject md5 clients = no" before,
+ it is possible to specify an explicit exception per computer account
+ by setting 'server reject md5 schannel:COMPUTERACCOUNT = no'.
+ Note that COMPUTERACCOUNT has to be the sAMAccountName value of
+ the computer account (including the trailing '$' sign).
+ </para>
+
+ <para>
+ Samba will log a complaint in the log files at log level 0
+ about the security problem if the option is set to "no",
+ but the related computer does not require it.
+ (The log level can be adjusted with
+ '<smbconfoption name="CVE_2022_38023:warn_about_unused_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>
+ Samba will log a warning in the log files at log level 5
+ if a setting is still needed for the specified computer account.
+ </para>
+
+ <para>
+ See <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">CVE-2022-38023</ulink>,
+ <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15240">https://bugzilla.samba.org/show_bug.cgi?id=15240</ulink>.
+ </para>
+
+ <para>This option overrides the <smbconfoption name="reject md5 clients"/> option.</para>
+
+ <para>When set to 'yes' this option overrides the
+ '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT"/>' and
+ '<smbconfoption name="allow nt4 crypto"/>' options and implies
+ '<smbconfoption name="allow nt4 crypto:COMPUTERACCOUNT">no</smbconfoption>'.
+ </para>
+
+ <programlisting>
+ server reject md5 schannel:LEGACYCOMPUTER1$ = no
+ server reject md5 schannel:NASBOX$ = no
+ server reject md5 schannel:LEGACYCOMPUTER2$ = no
+ </programlisting>
+</description>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/setprimarygroupscript.xml b/docs-xml/smbdotconf/logon/setprimarygroupscript.xml
new file mode 100644
index 0000000..8d1ae36
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/setprimarygroupscript.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="set primary group script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>Thanks to the Posix subsystem in NT a Windows User has a
+ primary group in addition to the auxiliary groups. This script
+ sets the primary group in the unix user database when an
+ administrator sets the primary group from the windows user
+ manager or when fetching a SAM with <command>net rpc
+ vampire</command>. <parameter>%u</parameter> will be replaced
+ with the user whose primary group is to be set.
+ <parameter>%g</parameter> will be replaced with the group to
+ set.</para>
+</description>
+<value type="default"></value>
+<value type="example">/usr/sbin/usermod -g '%g' '%u'</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/logon/shutdownscript.xml b/docs-xml/smbdotconf/logon/shutdownscript.xml
new file mode 100644
index 0000000..ea5b65f
--- /dev/null
+++ b/docs-xml/smbdotconf/logon/shutdownscript.xml
@@ -0,0 +1,61 @@
+<samba:parameter name="shutdown script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This a full path name to a script called by
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> that should
+ start a shutdown procedure.</para>
+
+ <para>If the connected user possesses the <constant>SeRemoteShutdownPrivilege</constant>,
+ right, this command will be run as root.</para>
+
+ <para>The %z %t %r %f variables are expanded as follows:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">%z</parameter> will be substituted with the
+ shutdown message sent to the server.</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">%t</parameter> will be substituted with the
+ number of seconds to wait before effectively starting the
+ shutdown procedure.</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">%r</parameter> will be substituted with the
+ switch <emphasis>-r</emphasis>. It means reboot after shutdown
+ for NT.</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">%f</parameter> will be substituted with the
+ switch <emphasis>-f</emphasis>. It means force the shutdown
+ even if applications do not respond for NT.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Shutdown script example:
+<programlisting format="linespecific">
+#!/bin/bash
+
+time=$2
+let time=&quot;${time} / 60&quot;
+let time=&quot;${time} + 1&quot;
+
+/sbin/shutdown $3 $4 +$time $1 &amp;
+
+</programlisting>
+ Shutdown does not return so we need to launch it in background.
+ </para>
+
+</description>
+<related>abort shutdown script</related>
+<value type="default"></value>
+<value type="example">/usr/local/samba/sbin/shutdown %m %t %r %f</value>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/addsharecommand.xml b/docs-xml/smbdotconf/misc/addsharecommand.xml
new file mode 100644
index 0000000..484b591
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/addsharecommand.xml
@@ -0,0 +1,72 @@
+<samba:parameter name="add share command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Samba 2.2.0 introduced the ability to dynamically add and delete shares via the Windows NT 4.0 Server
+ Manager. The <parameter moreinfo="none">add share command</parameter> is used to define an external program
+ or script which will add a new service definition to
+ <filename moreinfo="none">smb.conf</filename>.
+ </para>
+
+ <para>
+ In order to successfully execute the
+ <parameter moreinfo="none">add share command</parameter>,
+ <command moreinfo="none">smbd</command> requires that the administrator
+ connects using a root account (i.e. uid == 0) or has the
+ <literal>SeDiskOperatorPrivilege</literal>.
+ Scripts defined in the <parameter moreinfo="none">add share command</parameter>
+ parameter are executed as root.
+ </para>
+
+ <para>
+ When executed, <command moreinfo="none">smbd</command> will automatically invoke the
+ <parameter moreinfo="none">add share command</parameter> with five parameters.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">configFile</parameter> - the location of the global <filename
+ moreinfo="none">smb.conf</filename> file.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">shareName</parameter> - the name of the new share.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">pathName</parameter> - path to an **existing**
+ directory on disk.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">comment</parameter> - comment string to associate with the new
+ share.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">max
+ connections</parameter>
+ Number of maximum simultaneous connections to this
+ share.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ This parameter is only used to add file shares. To add printer shares, see the <smbconfoption
+ name="addprinter command"/>.
+ </para>
+</description>
+
+<related>change share command</related>
+<related>delete share command</related>
+<value type="default"></value>
+<value type="example">/usr/local/bin/addshare</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/afsshare.xml b/docs-xml/smbdotconf/misc/afsshare.xml
new file mode 100644
index 0000000..fe97b58
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/afsshare.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="afs share"
+ 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
+ the <parameter>path</parameter> parameter is a local AFS import. The
+ special AFS features include the attempt to hand-craft an AFS token
+ if you enabled --with-fake-kaserver in configure.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/afstokenlifetime.xml b/docs-xml/smbdotconf/misc/afstokenlifetime.xml
new file mode 100644
index 0000000..9d6e13a
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/afstokenlifetime.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="afs token lifetime"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter controls the lifetime of tokens that the AFS
+ fake-kaserver claims. In reality these never expire but this lifetime
+ controls when the afs client will forget the token. </para>
+
+ <para>Set this parameter to 0 to get <constant>NEVERDATE</constant>.</para>
+</description>
+
+<value type="default">604800</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/afsusernamemap.xml b/docs-xml/smbdotconf/misc/afsusernamemap.xml
new file mode 100644
index 0000000..f3f7390
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/afsusernamemap.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="afs username map"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>If you are using the fake kaserver AFS feature, you might
+ want to hand-craft the usernames you are creating tokens for.
+ For example this is necessary if you have users from several domain
+ in your AFS Protection Database. One possible scheme to code users
+ as DOMAIN+User as it is done by winbind with the + as a separator.
+ </para>
+
+ <para>The mapped user name must contain the cell name to log into,
+ so without setting this parameter there will be no token.</para>
+</description>
+
+<value type="default"/>
+<value type="example">%u@afs.samba.org</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml b/docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml
new file mode 100644
index 0000000..29c25fc
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/allowinsecurewidelinks.xml
@@ -0,0 +1,37 @@
+<samba:parameter name="allow insecure wide links"
+ 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"/>
+ which allows the server to follow symlinks outside of a share path
+ is automatically disabled when <smbconfoption name="unix extensions"/>
+ are enabled on a Samba server. This is done for security purposes
+ to prevent UNIX clients creating symlinks to areas of the server
+ file system that the administrator does not wish to export.
+ </para>
+ <para>
+ Setting <smbconfoption name="allow insecure wide links"/> to
+ true disables the link between these two parameters, removing
+ this protection and allowing a site to configure
+ the server to follow symlinks (by setting <smbconfoption name="wide links"/>
+ to "true") even when <smbconfoption name="unix extensions"/>
+ is turned on.
+ </para>
+ <para>
+ It is not recommended to enable this option unless you
+ fully understand the implications of allowing the server to
+ follow symbolic links created by UNIX clients. For most
+ normal Samba configurations this would be considered a security
+ hole and setting this parameter is not recommended.
+ </para>
+ <para>
+ This option was added at the request of sites who had
+ deliberately set Samba up in this way and needed to continue
+ supporting this functionality without having to patch the
+ Samba code.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/allowunsafeclusterupgrade.xml b/docs-xml/smbdotconf/misc/allowunsafeclusterupgrade.xml
new file mode 100644
index 0000000..02398ff
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/allowunsafeclusterupgrade.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="allow unsafe cluster upgrade"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If set to no (the default), smbd checks at startup if
+ other smbd versions are running in the cluster and refuses to
+ start if so. This is done to protect data corruption in
+ internal data structures due to incompatible Samba versions
+ running concurrently in the same cluster. Setting this
+ parameter to <value type="example">yes</value> disables this
+ safety check.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/asyncsmbechohandler.xml b/docs-xml/smbdotconf/misc/asyncsmbechohandler.xml
new file mode 100644
index 0000000..26a4346
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/asyncsmbechohandler.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="async smb echo handler"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies whether Samba should fork the
+ async smb echo handler. It can be beneficial if your file
+ system can block syscalls for a very long time. In some
+ circumstances, it prolongs the timeout that Windows uses to
+ determine whether a connection is dead. This parameter is only for
+ SMB1. For SMB2 and above TCP keepalives can be used instead.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/auto_services.xml b/docs-xml/smbdotconf/misc/auto_services.xml
new file mode 100644
index 0000000..d843d88
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/auto_services.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="auto services"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<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
+ for homes and printers services that would otherwise not be
+ visible.</para>
+
+ <para>
+ Note that if you just want all printers in your
+ printcap file loaded then the <smbconfoption name="load printers"/>
+ option is easier.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">fred lp colorlp</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/available.xml b/docs-xml/smbdotconf/misc/available.xml
new file mode 100644
index 0000000..6e3b70c
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/available.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="available"
+ context="S"
+ type="boolean"
+ generated_function="0"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter lets you &quot;turn off&quot; a service. If
+ <parameter moreinfo="none">available = no</parameter>, then <emphasis>ALL</emphasis>
+ attempts to connect to the service will fail. Such failures are
+ logged.</para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/cachedirectory.xml b/docs-xml/smbdotconf/misc/cachedirectory.xml
new file mode 100644
index 0000000..480f31b
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/cachedirectory.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="cache directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Usually, most of the TDB files are stored in the <parameter
+ moreinfo="none">lock directory</parameter>. Since Samba 3.4.0, it is
+ possible to differentiate between TDB files with persistent data and
+ TDB files with non-persistent data using the
+ <parameter moreinfo="none">state directory</parameter> and the
+ <parameter moreinfo="none">cache directory</parameter> options.
+ </para>
+
+ <para>This option specifies the directory for storing TDB
+ files containing non-persistent data that will be kept across
+ service restarts. The directory should be placed on persistent
+ storage, but the data can be safely deleted by an
+ administrator.
+ </para>
+</description>
+
+<value type="default">&pathconfig.CACHEDIR;</value>
+<value type="example">/var/run/samba/locks/cache</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/changenotify.xml b/docs-xml/smbdotconf/misc/changenotify.xml
new file mode 100644
index 0000000..9ded7ec
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/changenotify.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="change notify"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies whether Samba should reply
+ to a client's file change notify requests.
+ </para>
+
+ <para>You should never need to change this parameter</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/changesharecommand.xml b/docs-xml/smbdotconf/misc/changesharecommand.xml
new file mode 100644
index 0000000..4cc7451
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/changesharecommand.xml
@@ -0,0 +1,80 @@
+<samba:parameter name="change share command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Samba 2.2.0 introduced the ability to dynamically add and delete shares via the Windows NT 4.0 Server
+Manager. The <parameter moreinfo="none">change share command</parameter> is used to define an external
+program or script which will modify an existing service definition in <filename
+moreinfo="none">smb.conf</filename>.
+ </para>
+
+ <para>
+ In order to successfully execute the
+ <parameter moreinfo="none">change share command</parameter>,
+ <command moreinfo="none">smbd</command> requires that the administrator
+ connects using a root account (i.e. uid == 0) or has the
+ <literal>SeDiskOperatorPrivilege</literal>.
+ Scripts defined in the <parameter moreinfo="none">change share command</parameter>
+ parameter are executed as root.
+ </para>
+
+ <para>
+ When executed, <command moreinfo="none">smbd</command> will automatically invoke the
+ <parameter moreinfo="none">change share command</parameter> with six parameters.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">configFile</parameter> - the location
+ of the global <filename moreinfo="none">smb.conf</filename> file.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">shareName</parameter> - the name of the new
+ share.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">pathName</parameter> - path to an **existing**
+ directory on disk.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">comment</parameter> - comment string to associate
+ with the new share.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">max
+ connections</parameter>
+ Number of maximum simultaneous connections to this
+ share.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">CSC policy</parameter> - client side caching
+ policy in string form. Valid values are: manual, documents, programs, disable.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ This parameter is only used to modify existing file share definitions.
+ To modify printer shares, use the &quot;Printers...&quot; folder as seen
+ when browsing the Samba host.
+ </para>
+</description>
+
+<related>add share command</related>
+<related>delete share command</related>
+<value type="default"></value>
+<value type="example">/usr/local/bin/changeshare</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/clusteraddresses.xml b/docs-xml/smbdotconf/misc/clusteraddresses.xml
new file mode 100644
index 0000000..66878cd
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/clusteraddresses.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="cluster addresses"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With this parameter you can add additional addresses that
+ nmbd will register with a WINS server. Similarly, these
+ addresses will be registered by default when
+ <emphasis>net ads dns register</emphasis> is called with
+ <smbconfoption name="clustering">yes</smbconfoption>
+ configured.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">10.0.0.1 10.0.0.2 10.0.0.3</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/clustering.xml b/docs-xml/smbdotconf/misc/clustering.xml
new file mode 100644
index 0000000..cf426ec
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/clustering.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="clustering"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies whether Samba should contact
+ ctdb for accessing its tdb files and use ctdb as a backend
+ for its messaging backend.
+ </para>
+
+ <para>Set this parameter to <value type="example">yes</value> only if
+ you have a cluster setup with ctdb running.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/configfile.xml b/docs-xml/smbdotconf/misc/configfile.xml
new file mode 100644
index 0000000..3b67fb0
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/configfile.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="config file"
+ context="G"
+ type="string"
+ function="next_configfile"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This allows you to override the config file
+ to use, instead of the default (usually <filename moreinfo="none">smb.conf</filename>).
+ There is a chicken and egg problem here as this option is set
+ in the config file!</para>
+
+ <para>For this reason, if the name of the config file has changed
+ when the parameters are loaded then it will reload them from
+ the new config file.</para>
+
+ <para>This option takes the usual substitutions, which can
+ be very useful.</para>
+
+ <para>If the config file doesn't exist then it won't be loaded
+ (allowing you to special case the config files of just a few
+ clients).</para>
+</description>
+<value type="example">/usr/local/samba/lib/smb.conf.%m</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/copy.xml b/docs-xml/smbdotconf/misc/copy.xml
new file mode 100644
index 0000000..53e899e
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/copy.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="copy"
+ 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 &quot;clone&quot; service
+ entries. The specified service is simply duplicated under the
+ current service's name. Any parameters specified in the current
+ section will override those in the section being copied.</para>
+
+ <para>This feature lets you set up a 'template' service and
+ create similar services easily. Note that the service being
+ copied must occur earlier in the configuration file than the
+ service doing the copying.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">otherservice</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/ctdbdsocket.xml b/docs-xml/smbdotconf/misc/ctdbdsocket.xml
new file mode 100644
index 0000000..2bc118b
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/ctdbdsocket.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="ctdbd socket"
+ context="G"
+ type="string"
+ function="_ctdbd_socket"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If you set <value type="example">clustering=yes</value>,
+ you need to tell Samba where ctdbd listens on its unix domain
+ socket. The default path as of ctdb 1.0 is /tmp/ctdb.socket which
+ you have to explicitly set for Samba in smb.conf.
+ </para>
+</description>
+<value type="default"></value>
+<value type="example">/tmp/ctdb.socket</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml b/docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml
new file mode 100644
index 0000000..f9da01f
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/ctdblocktimewarnthreshold.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="ctdb locktime warn threshold"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ In a cluster environment using Samba and ctdb it is critical
+ that locks on central ctdb-hosted databases like locking.tdb
+ are not held for long. With the current Samba architecture
+ it happens that Samba takes a lock and while holding that
+ lock makes file system calls into the shared cluster file
+ system. This option makes Samba warn if it detects that it
+ has held locks for the specified number of milliseconds. If
+ this happens, <emphasis>smbd</emphasis> will emit a debug level 0
+ message into its logs and potentially into syslog. The most likely
+ reason for such a log message is that an operation of the cluster
+ file system Samba exports is taking longer than expected.
+ The messages are meant as a debugging aid for potential
+ cluster problems.
+ </para>
+
+ <para>The default value of 0 disables this logging.</para>
+
+</description>
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/ctdbtimeout.xml b/docs-xml/smbdotconf/misc/ctdbtimeout.xml
new file mode 100644
index 0000000..b02b2c8
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/ctdbtimeout.xml
@@ -0,0 +1,36 @@
+<samba:parameter name="ctdb timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies a timeout in milliseconds for the
+ connection between Samba and ctdb. It is only valid if you
+ have compiled Samba with clustering and if you have
+ set <parameter>clustering=yes</parameter>.
+ </para>
+ <para>When something in the cluster blocks, it can happen that
+ we wait indefinitely long for ctdb, just adding to the
+ blocking condition. In a well-running cluster this should
+ never happen, but there are too many components in a cluster
+ that might have hickups. Choosing the right balance for this
+ value is very tricky, because on a busy cluster long service
+ times to transfer something across the cluster might be
+ valid. Setting it too short will degrade the service your
+ cluster presents, setting it too long might make the cluster
+ itself not recover from something severely broken for too
+ long.
+ </para>
+ <para>
+ Be aware that if you set this parameter, this needs to be in
+ the file smb.conf, it is not really helpful to put this into
+ a registry configuration (typical on a cluster), because to
+ access the registry contact to ctdb is required.
+ </para>
+ <para>Setting <parameter>ctdb timeout</parameter> to n makes
+ any process waiting longer than n milliseconds for a reply by the
+ cluster panic. Setting it to 0 (the default) makes Samba
+ block forever, which is the highly recommended default.
+ </para>
+</description>
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/defaultservice.xml b/docs-xml/smbdotconf/misc/defaultservice.xml
new file mode 100644
index 0000000..5420396
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/defaultservice.xml
@@ -0,0 +1,31 @@
+<samba:parameter name="default service"
+ context="G"
+ type="string"
+ function="defaultservice"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>default</synonym>
+<description>
+ <para>This parameter specifies the name of a service
+ which will be connected to if the service actually requested cannot
+ be found. Note that the square brackets are <emphasis>NOT</emphasis>
+ given in the parameter value (see example below).</para>
+
+ <para>There is no default value for this parameter. If this
+ parameter is not given, attempting to connect to a nonexistent
+ service results in an error.</para>
+
+ <para>
+ Typically the default service would be a <smbconfoption name="guest ok"/>, <smbconfoption
+ name="read only"/> service.</para> <para>Also note that the apparent service name will be changed to equal
+ that of the requested service, this is very useful as it allows you to use macros like <parameter
+ moreinfo="none">%S</parameter> to make a wildcard service.
+ </para>
+
+ <para>Note also that any &quot;_&quot; characters in the name of the service
+ used in the default service will get mapped to a &quot;/&quot;. This allows for
+ interesting things.</para>
+</description>
+<value type="default"></value>
+<value type="example">pub</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/deletereadonly.xml b/docs-xml/smbdotconf/misc/deletereadonly.xml
new file mode 100644
index 0000000..84390ed
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/deletereadonly.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="delete readonly"
+ 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>
+
+ <para>This option may be useful for running applications such
+ as rcs, where UNIX file ownership prevents changing file
+ permissions, and DOS semantics prevent deletion of a read only file.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/deletesharecommand.xml b/docs-xml/smbdotconf/misc/deletesharecommand.xml
new file mode 100644
index 0000000..f569cd2
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/deletesharecommand.xml
@@ -0,0 +1,52 @@
+<samba:parameter name="delete share command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Samba 2.2.0 introduced the ability to dynamically add and delete shares via the Windows NT 4.0 Server
+ Manager. The <parameter moreinfo="none">delete share command</parameter> is used to define an external
+ program or script which will remove an existing service definition from
+ <filename moreinfo="none">smb.conf</filename>.
+ </para>
+
+ <para>In order to successfully execute the
+ <parameter moreinfo="none">delete share command</parameter>,
+ <command moreinfo="none">smbd</command> requires that the administrator
+ connects using a root account (i.e. uid == 0) or has the
+ <literal>SeDiskOperatorPrivilege</literal>.
+ Scripts defined in the <parameter moreinfo="none">delete share command</parameter>
+ parameter are executed as root.
+ </para>
+
+ <para>
+ When executed, <command moreinfo="none">smbd</command> will automatically invoke the
+ <parameter moreinfo="none">delete share command</parameter> with two parameters.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">configFile</parameter> - the location
+ of the global <filename moreinfo="none">smb.conf</filename> file.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">shareName</parameter> - the name of
+ the existing service.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ This parameter is only used to remove file shares. To delete printer shares,
+ see the <smbconfoption name="deleteprinter command"/>.
+ </para>
+</description>
+
+<related>add share command</related>
+<related>change share command</related>
+<value type="default"></value>
+<value type="example">/usr/local/bin/delshare</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dfreecachetime.xml b/docs-xml/smbdotconf/misc/dfreecachetime.xml
new file mode 100644
index 0000000..9679763
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dfreecachetime.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="dfree cache time"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ The <parameter moreinfo="none">dfree cache time</parameter> should only be used on systems where a problem
+ occurs with the internal disk space calculations. This has been known to happen with Ultrix, but may occur
+ with other operating systems. The symptom that was seen was an error of &quot;Abort Retry Ignore&quot; at the
+ end of each directory listing.
+ </para>
+
+ <para>
+ This is a new parameter introduced in Samba version 3.0.21. It specifies in seconds the time that smbd will
+ cache the output of a disk free query. If set to zero (the default) no caching is done. This allows a heavily
+ loaded server to prevent rapid spawning of <smbconfoption name="dfree command"/> scripts increasing the load.
+ </para>
+
+ <para>
+ By default this parameter is zero, meaning no caching will be done.
+ </para>
+
+</description>
+<value type="example">60</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dfreecommand.xml b/docs-xml/smbdotconf/misc/dfreecommand.xml
new file mode 100644
index 0000000..b12ee0f
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dfreecommand.xml
@@ -0,0 +1,62 @@
+<samba:parameter name="dfree command"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ The <parameter moreinfo="none">dfree command</parameter> setting should only be used on systems where a
+ problem occurs with the internal disk space calculations. This has been known to happen with Ultrix, but may
+ occur with other operating systems. The symptom that was seen was an error of &quot;Abort Retry Ignore&quot;
+ at the end of each directory listing.
+ </para>
+
+ <para>
+ This setting allows the replacement of the internal routines to calculate the total disk space and amount
+ available with an external routine. The example below gives a possible script that might fulfill this
+ function.
+ </para>
+
+ <para>
+ In Samba version 3.0.21 this parameter has been changed to be a per-share parameter, and in addition the
+ parameter <smbconfoption name="dfree cache time"/> was added to allow the output of this script to be cached
+ for systems under heavy load.
+ </para>
+
+ <para>
+ The external program will be passed a single parameter indicating a directory in the filesystem being queried.
+ This will typically consist of the string <filename moreinfo="none">./</filename>. The script should return
+ two integers in ASCII. The first should be the total disk space in blocks, and the second should be the number
+ of available blocks. An optional third return value can give the block size in bytes. The default blocksize is
+ 1024 bytes.
+ </para>
+
+ <para>
+ Note: Your script should <emphasis>NOT</emphasis> be setuid or setgid and should be owned by (and writeable
+ only by) root!
+ </para>
+
+ <para>
+ Where the script dfree (which must be made executable) could be:
+<programlisting format="linespecific">
+#!/bin/sh
+df "$1" | tail -1 | awk '{print $(NF-4),$(NF-2)}'
+</programlisting>
+ or perhaps (on Sys V based systems):
+<programlisting format="linespecific">
+#!/bin/sh
+/usr/bin/df -k "$1" | tail -1 | awk '{print $3&quot; &quot;$5}'
+</programlisting>
+ Note that you may have to replace the command names with full path names on some systems.
+ Also note the arguments passed into the script should be quoted inside the script in case they
+ contain special characters such as spaces or newlines.
+ </para>
+
+ <para>
+ By default internal routines for determining the disk capacity and remaining space will be used.
+ </para>
+
+</description>
+<value type="example">/usr/local/samba/bin/dfree</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dmapisupport.xml b/docs-xml/smbdotconf/misc/dmapisupport.xml
new file mode 100644
index 0000000..de284ee
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dmapisupport.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="dmapi support"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies whether Samba should use DMAPI to
+ determine whether a file is offline or not. This would typically
+ be used in conjunction with a hierarchical storage system that
+ automatically migrates files to tape.
+ </para>
+
+ <para>Note that Samba infers the status of a file by examining the
+ events that a DMAPI application has registered interest in. This
+ heuristic is satisfactory for a number of hierarchical storage
+ systems, but there may be system for which it will fail. In this
+ case, Samba may erroneously report files to be offline.
+ </para>
+
+ <para>This parameter is only available if a supported DMAPI
+ implementation was found at compilation time. It will only be used
+ if DMAPI is found to enabled on the system at run time.
+ </para>
+
+ <para>
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dontdescend.xml b/docs-xml/smbdotconf/misc/dontdescend.xml
new file mode 100644
index 0000000..ca9c75f
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dontdescend.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="dont descend"
+ context="S"
+ type="string"
+ substitution="1"
+ 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
+ of interest to clients or are infinitely deep (recursive). This
+ parameter allows you to specify a comma-delimited list of directories
+ that the server should always show as empty.</para>
+
+ <para>Note that Samba can be very fussy about the exact format
+ of the &quot;dont descend&quot; entries. For example you may need <filename moreinfo="none">
+ ./proc</filename> instead of just <filename moreinfo="none">/proc</filename>.
+ Experimentation is the best policy :-) </para>
+</description>
+
+<value type="default"></value>
+<value type="example">/proc,/dev</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dosfilemode.xml b/docs-xml/smbdotconf/misc/dosfilemode.xml
new file mode 100644
index 0000000..353f4bb
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dosfilemode.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="dos filemode"
+ 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
+ able to change the permissions on it. However, this behavior
+ is often confusing to DOS/Windows users. Enabling this parameter
+ allows a user who has write access to the file (by whatever
+ means, including an ACL permission) to modify the permissions
+ (including ACL) on it. Note that a user belonging to the group
+ owning the file will not be allowed to change permissions if
+ the group is only granted read access. Ownership of the
+ file/directory may also be changed.
+
+ Note that using the VFS modules acl_xattr or acl_tdb which store native
+ Windows as meta-data will automatically turn this option on for any
+ share for which they are loaded, as they require this option to emulate
+ Windows ACLs correctly.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dosfiletimeresolution.xml b/docs-xml/smbdotconf/misc/dosfiletimeresolution.xml
new file mode 100644
index 0000000..ccdfa6d
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dosfiletimeresolution.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="dos filetime resolution"
+ 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
+ for a share causes Samba to round the reported time down to the
+ nearest two second boundary when a query call that requires one second
+ resolution is made to <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.</para>
+
+ <para>This option is mainly used as a compatibility option for Visual
+ C++ when used against Samba shares. If oplocks are enabled on a
+ share, Visual C++ uses two different time reading calls to check if a
+ file has changed since it was last read. One of these calls uses a
+ one-second granularity, the other uses a two second granularity. As
+ the two second call rounds any odd second down, then if the file has a
+ timestamp of an odd number of seconds then the two timestamps will not
+ match and Visual C++ will keep reporting the file has changed. Setting
+ this option causes the two timestamps to match, and Visual C++ is
+ happy.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dosfiletimes.xml b/docs-xml/smbdotconf/misc/dosfiletimes.xml
new file mode 100644
index 0000000..17fadd2
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dosfiletimes.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="dos filetimes"
+ 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,
+ only the owner of the file or root may change the timestamp. By
+ default, Samba emulates the DOS semantics and allows one to change the
+ timestamp on a file if the user <command moreinfo="none">smbd</command> is acting
+ on behalf has write permissions.
+ Due to changes in Microsoft Office 2000 and beyond,
+ the default for this parameter has been changed from "no" to "yes" in Samba 3.0.14
+ and above. Microsoft Excel will display dialog box warnings about the file being
+ changed by another user if this parameter is not set to "yes" and files are being
+ shared between users.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dsdbeventnotification.xml b/docs-xml/smbdotconf/misc/dsdbeventnotification.xml
new file mode 100644
index 0000000..279ac3d
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dsdbeventnotification.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="dsdb event notification"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When enabled, this option causes Samba (acting as an
+ Active Directory Domain Controller) to stream Samba database
+ events across the internal message bus. Scripts built using
+ Samba's python bindings can listen to these events by
+ registering as the service
+ <filename moreinfo="none">dsdb_event</filename>.</para>
+
+ <para>This is <emphasis>not</emphasis> needed for the audit
+ logging described in <smbconfoption name="log level"/>.</para>
+
+ <para>Instead, this should instead be considered a developer
+ option (it assists in the Samba testsuite) rather than a
+ facility for external auditing, as message delivery is not
+ guaranteed (a feature that the testsuite works around).</para>
+
+ <para>The Samba database events are also logged via the normal
+ logging methods when the <smbconfoption name="log level"/> is
+ set appropriately, say to
+ <command moreinfo="none">dsdb_json_audit:5</command>.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dsdbgroupchangenotification.xml b/docs-xml/smbdotconf/misc/dsdbgroupchangenotification.xml
new file mode 100644
index 0000000..3972e72
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dsdbgroupchangenotification.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="dsdb group change notification"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When enabled, this option causes Samba (acting as an
+ Active Directory Domain Controller) to stream group membership change
+ events across the internal message bus. Scripts built using
+ Samba's python bindings can listen to these events by
+ registering as the service
+ <filename moreinfo="none">dsdb_group_event</filename>.</para>
+
+ <para>This is <emphasis>not</emphasis> needed for the audit
+ logging described in <smbconfoption name="log level"/>.</para>
+
+ <para>Instead, this should instead be considered a developer
+ option (it assists in the Samba testsuite) rather than a
+ facility for external auditing, as message delivery is not
+ guaranteed (a feature that the testsuite works around).</para>
+
+ <para>The Samba database events are also logged via the normal
+ logging methods when the <smbconfoption name="log level"/> is
+ set appropriately, say to
+ <command moreinfo="none">dsdb_group_json_audit:5</command>.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/dsdbpasswordeventnotification.xml b/docs-xml/smbdotconf/misc/dsdbpasswordeventnotification.xml
new file mode 100644
index 0000000..cd2cc98
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/dsdbpasswordeventnotification.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="dsdb password event notification"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When enabled, this option causes Samba (acting as an
+ Active Directory Domain Controller) to stream password change
+ and reset events across the internal message bus.
+ Scripts built using Samba's python bindings can listen to these
+ events by registering as the service
+ <filename moreinfo="none">password_event</filename>.</para>
+
+ <para>This is <emphasis>not</emphasis> needed for the audit
+ logging described in <smbconfoption name="log level"/>.</para>
+
+ <para>Instead, this should instead be considered a developer
+ option (it assists in the Samba testsuite) rather than a
+ facility for external auditing, as message delivery is not
+ guaranteed (a feature that the testsuite works around).</para>
+
+ <para>The Samba database events are also logged via the normal
+ logging methods when the <smbconfoption name="log level"/> is
+ set appropriately, say to
+ <command moreinfo="none">dsdb_password_json_audit:5</command>.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchaddress.xml b/docs-xml/smbdotconf/misc/elasticsearchaddress.xml
new file mode 100644
index 0000000..6112546
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchaddress.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="elasticsearch:address"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Specifies the name of the Elasticsearch server to use for Spotlight
+ queries when using the Elasticsearch backend.
+ </para>
+ </description>
+
+ <value type="default">localhost</value>
+ <value type="example">needle.haystack.samba.org</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchignoreunknownattribute.xml b/docs-xml/smbdotconf/misc/elasticsearchignoreunknownattribute.xml
new file mode 100644
index 0000000..86368d3
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchignoreunknownattribute.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="elasticsearch:ignore unknown attribute"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Ignore unknown Spotlight attributes in search queries. An example query
+ using the unsupported attribute
+ <literal>&quot;kMDItemTopic&quot;</literal> would be
+ <literal>kMDItemTopic==&quot;hotstuff&quot;</literal>. By
+ default any query using such a type would completely fail. By enabling
+ this option, if the type match is a subexpression of a larger expression,
+ then this subexpression is just ignored.
+ </para>
+ </description>
+
+ <value type="default">no</value>
+ <value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchignoreunknowntype.xml b/docs-xml/smbdotconf/misc/elasticsearchignoreunknowntype.xml
new file mode 100644
index 0000000..ca1f873
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchignoreunknowntype.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="elasticsearch:ignore unknown type"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Ignore unknown Spotlight types in search queries. An example query using
+ the unsupported type <literal>&quot;public.calendar-event&quot;</literal>
+ would be
+ <literal>kMDItemContentType==&quot;public.calendar-event&quot;</literal>. By
+ default any query using such a type would completely fail. By enabling
+ this option, if the type match is a subexpression of a larger expression,
+ then this subexpression is just ignored.
+ </para>
+ </description>
+
+ <value type="default">no</value>
+ <value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchindex.xml b/docs-xml/smbdotconf/misc/elasticsearchindex.xml
new file mode 100644
index 0000000..7f394b2
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchindex.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="elasticsearch:index"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Specifies the name of the Elasticsearch index to use for Spotlight queries
+ when using the Elasticsearch backend. The default value of "_all" is a
+ special Elasticsearch value that performs the search operation on all
+ indices.
+ </para>
+ </description>
+
+ <value type="default">_all</value>
+ <value type="example">spotlight</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchmappings.xml b/docs-xml/smbdotconf/misc/elasticsearchmappings.xml
new file mode 100644
index 0000000..d2502a6
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchmappings.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="elasticsearch:mappings"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Path to a file specifying metadata attribute mappings in JSON format. Use
+ by the Elasticsearch backend of the Spotlight RPC service.
+ </para>
+ </description>
+
+ <value type="default">&pathconfig.SAMBA_DATADIR;/elasticsearch_mappings.json</value>
+ <value type="example">/usr/share/foo/mymappings.json</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchmaxresults.xml b/docs-xml/smbdotconf/misc/elasticsearchmaxresults.xml
new file mode 100644
index 0000000..1086b89
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchmaxresults.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="elasticsearch:max results"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Path to a file specifying metadata attribute mappings in JSON format. Used
+ by the Elasticsearch backend of the Spotlight RPC service. A value of 0
+ means no limit.
+ </para>
+ </description>
+
+ <value type="default">100</value>
+ <value type="example">10</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchport.xml b/docs-xml/smbdotconf/misc/elasticsearchport.xml
new file mode 100644
index 0000000..ea87daa
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchport.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="elasticsearch:port"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Specifies the TCP port of the Elasticsearch server to use for Spotlight
+ queries when using the Elasticsearch backend.
+ </para>
+ </description>
+
+ <value type="default">9200</value>
+ <value type="example">9201</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/elasticsearchusetls.xml b/docs-xml/smbdotconf/misc/elasticsearchusetls.xml
new file mode 100644
index 0000000..e1aa8a3
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/elasticsearchusetls.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="elasticsearch:use tls"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ Specifies whether to use HTTPS when talking to the Elasticsearch server
+ used for Spotlight queries when using the Elasticsearch backend.
+ </para>
+ </description>
+
+ <value type="default">no</value>
+ <value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml b/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml
new file mode 100644
index 0000000..49f54a9
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml
@@ -0,0 +1,34 @@
+<samba:parameter name="fake directory create times"
+ 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
+ ctime - status change time - that Unix keeps, so Samba by default
+ reports the earliest of the various times Unix does keep. Setting
+ this parameter for a share causes Samba to always report midnight
+ 1-1-1980 as the create time for directories.</para>
+
+ <para>This option is mainly used as a compatibility option for
+ Visual C++ when used against Samba shares. Visual C++ generated
+ makefiles have the object directory as a dependency for each object
+ file, and a make rule to create the directory. Also, when NMAKE
+ compares timestamps it uses the creation time when examining a
+ directory. Thus the object directory will be created if it does not
+ exist, but once it does exist it will always have an earlier
+ timestamp than the object files it contains.</para>
+
+ <para>However, Unix time semantics mean that the create time
+ reported by Samba will be updated whenever a file is created
+ or deleted in the directory. NMAKE finds all object files in
+ the object directory. The timestamp of the last one built is then
+ compared to the timestamp of the object directory. If the
+ directory's timestamp if newer, then all object files
+ will be rebuilt. Enabling this option
+ ensures directories always predate their contents and an NMAKE build
+ will proceed as expected.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/followsymlinks.xml b/docs-xml/smbdotconf/misc/followsymlinks.xml
new file mode 100644
index 0000000..deca634
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/followsymlinks.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="follow symlinks"
+ 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>
+ <manvolnum>8</manvolnum></citerefentry> from following symbolic links in a particular share. Setting this
+ parameter to <constant>no</constant> prevents any file or directory that is a symbolic link from being
+ followed (the user will get an error). This option is very useful to stop users from adding a symbolic
+ link to <filename moreinfo="none">/etc/passwd</filename> in their home directory for instance. However
+ it will slow filename lookups down slightly.
+ </para>
+
+ <para>
+ This option is enabled (i.e. <command moreinfo="none">smbd</command> will follow symbolic links) by default.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/fssprunestale.xml b/docs-xml/smbdotconf/misc/fssprunestale.xml
new file mode 100644
index 0000000..722cff5
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/fssprunestale.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="fss: prune stale"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ When enabled, Samba's File Server Remote VSS Protocol (FSRVP) server
+ checks all FSRVP initiated snapshots on startup, and removes any
+ corresponding state (including share definitions) for nonexistent
+ snapshot paths.
+ </para>
+</description>
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/fsssequencetimeout.xml b/docs-xml/smbdotconf/misc/fsssequencetimeout.xml
new file mode 100644
index 0000000..12f1854
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/fsssequencetimeout.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="fss: sequence timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The File Server Remote VSS Protocol (FSRVP) server includes a message
+ sequence timer to ensure cleanup on unexpected client disconnect. This
+ parameter overrides the default timeout between FSRVP operations.
+ FSRVP timeouts can be completely disabled via a value of 0.
+ </para>
+</description>
+<value type="default">180 or 1800, depending on operation</value>
+<value type="example">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/fstype.xml b/docs-xml/smbdotconf/misc/fstype.xml
new file mode 100644
index 0000000..437bd5c
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/fstype.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="fstype"
+ context="S"
+ type="string"
+ 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
+ is using that is reported by <citerefentry><refentrytitle>smbd</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
+ when a client queries the filesystem type for a share. The default type is <constant>NTFS</constant> for compatibility
+ with Windows NT but this can be changed to other strings such as <constant>Samba</constant> or <constant>FAT</constant>
+ if required.
+ </para>
+</description>
+<value type="default">NTFS</value>
+<value type="example">Samba</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/honorchangenotifyprivilege.xml b/docs-xml/smbdotconf/misc/honorchangenotifyprivilege.xml
new file mode 100644
index 0000000..a9c880c
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/honorchangenotifyprivilege.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="honor change notify privilege"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option can be used to make use of the change notify privilege.
+ By default notify results are not checked against the file system
+ permissions.
+ </para>
+ <para>
+ If "honor change notify privilege" is enabled, a user will only
+ receive notify results, if he has change notify privilege or
+ sufficient file system permissions. If a user has the change notify
+ privilege, he will receive all requested notify results, even if the
+ user does not have the permissions on the file system.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/include.xml b/docs-xml/smbdotconf/misc/include.xml
new file mode 100644
index 0000000..cbda1ed
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/include.xml
@@ -0,0 +1,31 @@
+<samba:parameter name="include"
+ context="S"
+ type="string"
+ generated_function="0"
+ handler="handle_include"
+ 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
+ in place.
+ </para>
+
+ <para>
+ It takes the standard substitutions, except <parameter moreinfo="none">%u</parameter>,
+ <parameter moreinfo="none">%P</parameter> and <parameter moreinfo="none">%S</parameter>.
+ </para>
+
+ <para>
+ The parameter <parameter>include = registry</parameter> has
+ a special meaning: It does <emphasis>not</emphasis> include
+ a file named <emphasis>registry</emphasis> from the current working
+ directory, but instead reads the global configuration options
+ from the registry. See the section on registry-based
+ configuration for details. Note that this option
+ automatically activates registry shares.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">/usr/local/samba/lib/admin_smb.conf</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/kernelchangenotify.xml b/docs-xml/smbdotconf/misc/kernelchangenotify.xml
new file mode 100644
index 0000000..d5551a9
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/kernelchangenotify.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="kernel change notify"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies whether Samba should ask the
+ kernel for change notifications in directories so that
+ SMB clients can refresh whenever the data on the server changes.
+ </para>
+
+ <para>This parameter is only used when your kernel supports
+ change notification to user programs using the inotify interface.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/lockdirectory.xml b/docs-xml/smbdotconf/misc/lockdirectory.xml
new file mode 100644
index 0000000..cf0ea2b
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/lockdirectory.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="lock directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>lock dir</synonym>
+<description>
+ <para>This option specifies the directory where lock
+ files will be placed. The lock files are used to implement the
+ <smbconfoption name="max connections"/> option.
+ </para>
+
+ <para>
+ Note: This option can not be set inside registry
+ configurations.
+ </para>
+ <para>The files placed in this directory are not required
+ across service restarts and can be safely placed on volatile
+ storage (e.g. tmpfs in Linux)</para>
+
+</description>
+
+<value type="default">&pathconfig.LOCKDIR;</value>
+<value type="example">/var/run/samba/locks</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml b/docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml
new file mode 100644
index 0000000..d95471a
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/logwriteablefilesonexit.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="log writeable files on exit"
+ 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
+ dies, Samba has no option but to simply shut down the server
+ side of the network connection. If this happens, there is a
+ risk of data corruption because the Windows client did not
+ complete all write operations that the Windows application
+ requested. Setting this option to "yes" makes smbd log with
+ a level 0 message a list of all files that have been opened
+ for writing when the network connection died. Those are the
+ files that are potentially corrupted. It is meant as an aid
+ for the administrator to give him a list of files to do
+ consistency checks on.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/magicoutput.xml b/docs-xml/smbdotconf/misc/magicoutput.xml
new file mode 100644
index 0000000..17b3c67
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/magicoutput.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="magic output"
+ context="S"
+ type="string"
+ substitution="1"
+ 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
+ <smbconfoption name="magic script"/> parameter below).
+ </para>
+
+ <warning><para>If two clients use the same <parameter moreinfo="none">magic script
+ </parameter> in the same directory the output file content is undefined.
+ </para></warning>
+</description>
+
+<value type="default"><comment>&lt;magic script name&gt;.out</comment></value>
+<value type="example">myfile.txt</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/magicscript.xml b/docs-xml/smbdotconf/misc/magicscript.xml
new file mode 100644
index 0000000..614f5ae
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/magicscript.xml
@@ -0,0 +1,31 @@
+<samba:parameter name="magic script"
+ context="S"
+ type="string"
+ substitution="1"
+ 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.
+ This allows a UNIX script to be sent to the Samba host and
+ executed on behalf of the connected user.</para>
+
+ <para>Scripts executed in this way will be deleted upon
+ completion assuming that the user has the appropriate level
+ of privilege and the file permissions allow the deletion.</para>
+
+ <para>If the script generates output, output will be sent to
+ the file specified by the <smbconfoption name="magic output"/>
+ parameter (see above).</para>
+
+ <para>Note that some shells are unable to interpret scripts
+ containing CR/LF instead of CR as
+ the end-of-line marker. Magic scripts must be executable
+ <emphasis>as is</emphasis> on the host, which for some hosts and
+ some shells will require filtering at the DOS end.</para>
+
+ <para>Magic scripts are <emphasis>EXPERIMENTAL</emphasis> and
+ should <emphasis>NOT</emphasis> be relied upon.</para>
+</description>
+<value type="default"></value>
+<value type="example">user.csh</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/messagecommand.xml b/docs-xml/smbdotconf/misc/messagecommand.xml
new file mode 100644
index 0000000..ba39b9f
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/messagecommand.xml
@@ -0,0 +1,79 @@
+<samba:parameter name="message command"
+ context="G"
+ type="string"
+ substitution="1"
+ 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>
+
+ <para>This would normally be a command that would
+ deliver the message somehow. How this is to be done is
+ up to your imagination.</para>
+
+ <para>An example is:
+<programlisting>
+<command moreinfo="none">message command = csh -c 'xedit %s;rm %s' &amp;</command>
+</programlisting>
+ </para>
+
+ <para>This delivers the message using <command moreinfo="none">xedit</command>, then
+ removes it afterwards. <emphasis>NOTE THAT IT IS VERY IMPORTANT
+ THAT THIS COMMAND RETURN IMMEDIATELY</emphasis>. That's why I
+ have the '&amp;' on the end. If it doesn't return immediately then
+ your PCs may freeze when sending messages (they should recover
+ after 30 seconds, hopefully).</para>
+
+ <para>All messages are delivered as the global guest user.
+ The command takes the standard substitutions, although <parameter moreinfo="none">
+ %u</parameter> won't work (<parameter moreinfo="none">%U</parameter> may be better
+ in this case).</para>
+
+ <para>Apart from the standard substitutions, some additional
+ ones apply. In particular:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">%s</parameter> = the filename containing
+ the message.</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">%t</parameter> = the destination that
+ the message was sent to (probably the server name).</para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">%f</parameter> = who the message
+ is from.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>You could make this command send mail, or whatever else
+ takes your fancy. Please let us know of any really interesting
+ ideas you have.</para>
+
+ <para>
+ Here's a way of sending the messages as mail to root:
+<programlisting>
+<command moreinfo="none">message command = /bin/mail -s 'message from %f on %m' root &lt; %s; rm %s</command>
+</programlisting>
+ </para>
+
+ <para>If you don't have a message command then the message
+ won't be delivered and Samba will tell the sender there was
+ an error. Unfortunately WfWg totally ignores the error code
+ and carries on regardless, saying that the message was delivered.
+ </para>
+
+ <para>
+ If you want to silently delete it then try:
+<programlisting>
+<command moreinfo="none">message command = rm %s</command>
+</programlisting>
+ </para>
+
+</description>
+<value type="default"></value>
+<value type="example">csh -c 'xedit %s; rm %s' &amp;</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
new file mode 100644
index 0000000..12815dc
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="nbt client socket address"
+ context="G"
+ type="string"
+ deprecated="1"
+ 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
+ will send NBT client packets from, and process replies using,
+ including in nmbd. </para>
+ <para>Setting this option should never be necessary on usual Samba
+ servers running only one nmbd.</para>
+
+ <para>By default Samba will send UDP packets from the OS default address for the destination, and accept replies on 0.0.0.0.</para>
+ <para>This parameter is deprecated. See <smbconfoption name="bind interfaces only">Yes</smbconfoption> and <smbconfoption name="interfaces"></smbconfoption> for the previous behaviour of controlling the normal listening sockets.</para>
+</description>
+
+<value type="default">0.0.0.0</value>
+<value type="example">192.168.2.20</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/ncalrpcdir.xml b/docs-xml/smbdotconf/misc/ncalrpcdir.xml
new file mode 100644
index 0000000..4bbd222
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/ncalrpcdir.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="ncalrpc dir"
+ context="G"
+ type="string"
+ 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>
+</description>
+
+<value type="default">&pathconfig.NCALRPCDIR;</value>
+<value type="example">/var/run/samba/ncalrpc</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml b/docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml
new file mode 100644
index 0000000..fd72f06
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/nmbdbindexplicitbroadcast.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="nmbd bind explicit broadcast"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option causes <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> to explicitly bind to the
+ broadcast address of the local subnets. This is needed to make nmbd
+ work correctly in combination with the <smbconfoption name="socket address"/> option.
+ You should not need to unset this option.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/panicaction.xml b/docs-xml/smbdotconf/misc/panicaction.xml
new file mode 100644
index 0000000..01a97c3
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/panicaction.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="panic action"
+ context="G"
+ type="string"
+ substitution="1"
+ 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>
+ <manvolnum>8</manvolnum></citerefentry> or <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> crashes. This is usually used to
+ draw attention to the fact that a problem occurred.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">/bin/sleep 90000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/perfcountmodule.xml b/docs-xml/smbdotconf/misc/perfcountmodule.xml
new file mode 100644
index 0000000..e25105f
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/perfcountmodule.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="perfcount module"
+ context="G"
+ type="string"
+ substitution="1"
+ 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
+ apis contained in the smb_perfcount_handler structure defined in smb.h.
+ </para>
+</description>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/piddirectory.xml b/docs-xml/smbdotconf/misc/piddirectory.xml
new file mode 100644
index 0000000..d006372
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/piddirectory.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="pid directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option specifies the directory where pid files will be placed.
+ </para>
+</description>
+
+<value type="default">&pathconfig.PIDDIR;</value>
+<value type="example">/var/run/</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/postexec.xml b/docs-xml/smbdotconf/misc/postexec.xml
new file mode 100644
index 0000000..ca15221
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/postexec.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="postexec"
+ context="S"
+ type="string"
+ substitution="1"
+ 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
+ substitutions. The command may be run as the root on some
+ systems.</para>
+
+ <para>An interesting example may be to unmount server
+ resources:</para>
+
+<para><command moreinfo="none">postexec = /etc/umount /cdrom</command></para>
+</description>
+<related>preexec</related>
+
+<value type="default"></value>
+<value type="example">echo \&quot;%u disconnected from %S from %m (%I)\&quot; &gt;&gt; /tmp/log</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/preexec.xml b/docs-xml/smbdotconf/misc/preexec.xml
new file mode 100644
index 0000000..7faf89a
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/preexec.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="preexec"
+ context="S"
+ type="string"
+ substitution="1"
+ 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>
+
+ <para>An interesting example is to send the users a welcome
+ message every time they log in. Maybe a message of the day? Here
+ is an example:</para>
+
+ <para>
+ <command moreinfo="none">preexec = csh -c 'echo \&quot;Welcome to %S!\&quot; |
+ /usr/local/samba/bin/smbclient -M %m -I %I' &amp; </command>
+ </para>
+
+ <para>Of course, this could get annoying after a while :-)</para>
+
+ <para>
+ See also <smbconfoption name="preexec close"/> and <smbconfoption name="postexec"/>.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">echo \&quot;%u connected to %S from %m (%I)\&quot; &gt;&gt; /tmp/log</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/preexecclose.xml b/docs-xml/smbdotconf/misc/preexecclose.xml
new file mode 100644
index 0000000..3d184e1
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/preexecclose.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="preexec close"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean option controls whether a non-zero return code from <smbconfoption name="preexec"/>
+ should close the service being connected to.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/registryshares.xml b/docs-xml/smbdotconf/misc/registryshares.xml
new file mode 100644
index 0000000..0bdb1f6
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/registryshares.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="registry shares"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This turns on or off support for share definitions read from
+ registry. Shares defined in <emphasis>smb.conf</emphasis> take
+ precedence over shares with the same name defined in
+ registry. See the section on registry-based configuration
+ for details.
+ </para>
+
+ <para>
+ Note that this parameter defaults to <emphasis>no</emphasis>,
+ but it is set to <emphasis>yes</emphasis> when
+ <parameter>config backend</parameter> is set
+ to <emphasis>registry</emphasis>.
+ </para>
+</description>
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/remoteannounce.xml b/docs-xml/smbdotconf/misc/remoteannounce.xml
new file mode 100644
index 0000000..0436898
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/remoteannounce.xml
@@ -0,0 +1,42 @@
+<samba:parameter name="remote announce"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option allows you to setup <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> to periodically announce itself
+ to arbitrary IP addresses with an arbitrary workgroup name.
+ </para>
+
+ <para>
+ This is useful if you want your Samba server to appear in a remote workgroup for
+ which the normal browse propagation rules don't work. The remote workgroup can be
+ anywhere that you can send IP packets to.
+ </para>
+
+ <para>
+ For example:
+<programlisting>
+<command moreinfo="none">remote announce = 192.168.2.255/SERVERS 192.168.4.255/STAFF</command>
+</programlisting>
+ the above line would cause <command moreinfo="none">nmbd</command> to announce itself
+ to the two given IP addresses using the given workgroup names. If you leave out the
+ workgroup name, then the one given in the <smbconfoption name="workgroup"/> parameter
+ is used instead.
+ </para>
+
+ <para>
+ The IP addresses you choose would normally be the broadcast addresses of the remote
+ networks, but can also be the IP addresses of known browse masters if your network
+ config is that stable.
+ </para>
+
+ <para>
+ See the chapter on Network Browsing in the Samba-HOWTO book.
+ </para>
+</description>
+
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/remotebrowsesync.xml b/docs-xml/smbdotconf/misc/remotebrowsesync.xml
new file mode 100644
index 0000000..c0b106e
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/remotebrowsesync.xml
@@ -0,0 +1,50 @@
+<samba:parameter name="remote browse sync"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option allows you to setup <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> to periodically request
+ synchronization of browse lists with the master browser of a Samba
+ server that is on a remote segment. This option will allow you to
+ gain browse lists for multiple workgroups across routed networks. This
+ is done in a manner that does not work with any non-Samba servers.
+ </para>
+
+ <para>
+ This is useful if you want your Samba server and all local
+ clients to appear in a remote workgroup for which the normal browse
+ propagation rules don't work. The remote workgroup can be anywhere
+ that you can send IP packets to.
+ </para>
+
+ <para>
+ For example:
+<programlisting>
+<parameter>remote browse sync = 192.168.2.255 192.168.4.255</parameter>
+</programlisting>
+ the above line would cause <command>nmbd</command> to request the master browser on the
+ specified subnets or addresses to synchronize their browse lists with
+ the local server.
+ </para>
+
+ <para>
+ The IP addresses you choose would normally be the broadcast
+ addresses of the remote networks, but can also be the IP addresses
+ of known browse masters if your network config is that stable. If
+ a machine IP address is given Samba makes NO attempt to validate
+ that the remote machine is available, is listening, nor that it
+ is in fact the browse master on its segment.
+ </para>
+
+ <para>
+ The <smbconfoption name="remote browse sync"/> may be used on networks
+ where there is no WINS server, and may be used on disjoint networks where
+ each network has its own WINS server.
+ </para>
+</description>
+
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/resetonzerovc.xml b/docs-xml/smbdotconf/misc/resetonzerovc.xml
new file mode 100644
index 0000000..a991733
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/resetonzerovc.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="reset on zero vc"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean option controls whether an incoming SMB1 session setup
+ should kill other connections coming from the same IP. This matches
+ the default Windows 2003 behaviour.
+
+ Setting this parameter to yes becomes necessary when you have a flaky
+ network and windows decides to reconnect while the old connection
+ still has files with share modes open. These files become inaccessible
+ over the new connection.
+
+ The client sends a zero VC on the new connection, and Windows 2003
+ kills all other connections coming from the same IP. This way the
+ locked files are accessible again.
+
+ Please be aware that enabling this option will kill
+ connections behind a masquerading router, and will not trigger
+ for clients that only use SMB2 or SMB3.
+
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/rootpostexec.xml b/docs-xml/smbdotconf/misc/rootpostexec.xml
new file mode 100644
index 0000000..4e74fc8
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/rootpostexec.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="root postexec"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is the same as the <parameter moreinfo="none">postexec</parameter>
+ parameter except that the command is run as root. This is useful for
+ unmounting filesystems (such as CDROMs) after a connection is closed.
+ </para>
+</description>
+
+<related>postexec</related>
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/rootpreexec.xml b/docs-xml/smbdotconf/misc/rootpreexec.xml
new file mode 100644
index 0000000..32c4ef7
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/rootpreexec.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="root preexec"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is the same as the <parameter moreinfo="none">preexec</parameter>
+ parameter except that the command is run as root. This is useful for
+ mounting filesystems (such as CDROMs) when a connection is opened.
+ </para>
+</description>
+
+<related>preexec</related>
+<related>preexec close</related>
+
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/rootpreexecclose.xml b/docs-xml/smbdotconf/misc/rootpreexecclose.xml
new file mode 100644
index 0000000..35fd883
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/rootpreexecclose.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="root preexec close"
+ 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>
+</description>
+
+<related>preexec</related>
+<related>preexec close</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/smbdasyncdosmode.xml b/docs-xml/smbdotconf/misc/smbdasyncdosmode.xml
new file mode 100644
index 0000000..03d902c
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/smbdasyncdosmode.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="smbd async dosmode"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter control whether the fileserver will use sync or async
+ methods for fetching the DOS attributes when doing a directory listing. By default sync methods will be
+ used.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/smbdgetinfoasksharemode.xml b/docs-xml/smbdotconf/misc/smbdgetinfoasksharemode.xml
new file mode 100644
index 0000000..1bef948
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/smbdgetinfoasksharemode.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="smbd getinfo ask sharemode"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter allows disabling fetching file write time from the open
+ file handle database locking.tdb when a client requests file or
+ directory metadata. It's a performance optimisation at the expense of
+ protocol correctness.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/smbdmaxasyncdosmode.xml b/docs-xml/smbdotconf/misc/smbdmaxasyncdosmode.xml
new file mode 100644
index 0000000..b375298
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/smbdmaxasyncdosmode.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="smbd max async dosmode"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter controls how many async operations to fetch the DOS
+ attributes the fileserver will queue when doing directory listings.
+ </para>
+</description>
+<value type="default">aio max threads * 2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/smbdmaxxattrsize.xml b/docs-xml/smbdotconf/misc/smbdmaxxattrsize.xml
new file mode 100644
index 0000000..3ae91a3
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/smbdmaxxattrsize.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="smbd max xattr size"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter controls the maximum size of extended attributes
+ that may be written to the server as EAs or as alternate data
+ streams if vfs_streams_xattr is enabled. The maximum size of
+ extended attributes depends on the Samba server's operating system
+ and the underlying filesystem. The Linux VFS currently sets an
+ upper boundary of 64 KiB per extended attribute. FreeBSD does not
+ set a practical upper limit, but since pread() and pwrite() are not
+ possible via the extattr on FreeBSD, it is not recommended to
+ increase this value above a few MiB.
+
+ If a client attempts to write an overly-large alternate datastream,
+ the Samba server will return STATUS_FILESYSTEM_LIMITATION.
+ If this error is encountered, users may try increasing the maximum
+ size supported for xattr writes. If this is not possible, and
+ writes are from a MacOS client and to an AFP_Resource extended
+ attribute, the user may enable the vfs_fruit module and configure
+ to allow stream writes for AFP_Resource to an alternative storage
+ location. See vfs_fruit documentation for further details.
+ </para>
+</description>
+<value type="default">65536</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml b/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
new file mode 100644
index 0000000..54dccf0
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/smbdprofilinglevel.xml
@@ -0,0 +1,17 @@
+<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>
+ This parameter allows the administrator to enable profiling support.
+ </para>
+ <para>
+ Possible values are <constant>off</constant>,
+ <constant>count</constant> and <constant>on</constant>.
+ </para>
+</description>
+<value type="default">off</value>
+<value type="example">on</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/smbdsearchasksharemode.xml b/docs-xml/smbdotconf/misc/smbdsearchasksharemode.xml
new file mode 100644
index 0000000..de78818
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/smbdsearchasksharemode.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="smbd search ask sharemode"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter allows disabling fetching file write time from the open
+ file handle database locking.tdb. It's a performance optimisation at
+ the expense of protocol correctness.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/spotlight.xml b/docs-xml/smbdotconf/misc/spotlight.xml
new file mode 100644
index 0000000..04631d3
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/spotlight.xml
@@ -0,0 +1,31 @@
+<samba:parameter name="spotlight"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter controls whether Samba allows Spotlight
+ queries on a share. For controlling indexing of filesystems
+ you also have to use Tracker's own configuration system.
+ </para>
+
+ <para>
+ Spotlight has several prerequisites:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>
+ Samba must be configured and built with Spotlight support.
+ </para></listitem>
+
+ <listitem><para> Tracker integration must be setup and the
+ share must be indexed by Tracker.</para></listitem>
+ </itemizedlist>
+
+ <para>For a detailed set of instructions please see <ulink
+ url="https://wiki.samba.org/index.php/Spotlight">https://wiki.samba.org/index.php/Spotlight</ulink>.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/spotlight_backend.xml b/docs-xml/smbdotconf/misc/spotlight_backend.xml
new file mode 100644
index 0000000..0643fc1
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/spotlight_backend.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="spotlight backend"
+ context="S"
+ type="enum"
+ enumlist="enum_spotlight_backend"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Spotlight search backend. Available backends:
+
+ <itemizedlist>
+ <listitem><para><constant>noindex</constant> -
+ a backend that returns no results.
+ </para></listitem>
+
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem><para><constant>tracker</constant> -
+ Gnome Tracker.
+ </para></listitem>
+
+ <listitem><para><constant>elasticsearch</constant> -
+ a backend that uses JSON and REST over HTTP(s) to query an
+ Elasticsearch server.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+</description>
+<value type="default">noindex</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/statedirectory.xml b/docs-xml/smbdotconf/misc/statedirectory.xml
new file mode 100644
index 0000000..12481fc
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/statedirectory.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="state directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Usually, most of the TDB files are stored in the
+ <parameter moreinfo="none">lock directory</parameter>. Since
+ Samba 3.4.0, it is possible to differentiate between TDB files
+ with persistent data and TDB files with non-persistent data using
+ the <parameter moreinfo="none">state directory</parameter> and the
+ <parameter moreinfo="none">cache directory</parameter> options.
+ </para>
+
+ <para> This option specifies the directory where TDB files containing
+ important persistent data will be stored.
+ </para>
+</description>
+
+<value type="default">&pathconfig.STATEDIR;</value>
+<value type="example">/var/run/samba/locks/state</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usershareallowguests.xml b/docs-xml/smbdotconf/misc/usershareallowguests.xml
new file mode 100644
index 0000000..be210bf
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/usershareallowguests.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="usershare allow guests"
+ 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
+ of allowing people who can create a share the option of setting
+ <parameter moreinfo="none">guest ok = yes</parameter> in a share
+ definition. Due to its security sensitive nature, the default
+ is set to off.</para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usersharemaxshares.xml b/docs-xml/smbdotconf/misc/usersharemaxshares.xml
new file mode 100644
index 0000000..0d69bb8
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/usersharemaxshares.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="usershare max shares"
+ 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
+ usershare directory. If set to zero (the default) user defined shares are ignored.
+ </para>
+
+</description>
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usershareowneronly.xml b/docs-xml/smbdotconf/misc/usershareowneronly.xml
new file mode 100644
index 0000000..5b33492
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/usershareowneronly.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="usershare owner only"
+ 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
+ user defined share or not. If set to True (the default) then
+ smbd checks that the directory path being shared is owned by
+ the user who owns the usershare file defining this share and
+ refuses to create the share if not. If set to False then no
+ such check is performed and any directory path may be exported
+ regardless of who owns it.
+ </para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usersharepath.xml b/docs-xml/smbdotconf/misc/usersharepath.xml
new file mode 100644
index 0000000..99fea94
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/usersharepath.xml
@@ -0,0 +1,32 @@
+<samba:parameter name="usershare path"
+ context="G"
+ type="string"
+ substitution="1"
+ 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.
+ This directory must be owned by root, and have no access for
+ other, and be writable only by the group owner. In addition the
+ "sticky" bit must also be set, restricting rename and delete to
+ owners of a file (in the same way the /tmp directory is usually configured).
+ Members of the group owner of this directory are the users allowed to create
+ usershares.
+ </para>
+ <para>
+ For example, a valid usershare directory might be /usr/local/samba/lib/usershares,
+ set up as follows.
+ </para>
+ <para>
+ <programlisting>
+ ls -ld /usr/local/samba/lib/usershares/
+ drwxrwx--T 2 root power_users 4096 2006-05-05 12:27 /usr/local/samba/lib/usershares/
+ </programlisting>
+ </para>
+ <para>
+ In this case, only members of the group "power_users" can create user defined shares.
+ </para>
+
+</description>
+<value type="default">&pathconfig.STATEDIR;/usershares</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml b/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
new file mode 100644
index 0000000..4c236fe
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/usershareprefixallowlist.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="usershare prefix allow list"
+ context="G"
+ type="cmdlist"
+ 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.
+ If the pathname to be exported doesn't start with one of the strings in this
+ list, the user defined share will not be allowed. This allows the Samba
+ administrator to restrict the directories on the system that can be
+ exported by user defined shares.
+ </para>
+ <para>
+ If there is a "usershare prefix deny list" and also a
+ "usershare prefix allow list" the deny list is processed
+ first, followed by the allow list, thus leading to the most
+ restrictive interpretation.
+ </para>
+
+</description>
+<value type="default"></value>
+<value type="example">/home /data /space</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml b/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
new file mode 100644
index 0000000..c0e18a7
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/usershareprefixdenylist.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="usershare prefix deny list"
+ context="G"
+ type="cmdlist"
+ 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.
+ If the pathname exported starts with one of the strings in this
+ list the user defined share will not be allowed. Any pathname not
+ starting with one of these strings will be allowed to be exported
+ as a usershare. This allows the Samba administrator to restrict the
+ directories on the system that can be exported by user defined shares.
+ </para>
+ <para>
+ If there is a "usershare prefix deny list" and also a
+ "usershare prefix allow list" the deny list is processed
+ first, followed by the allow list, thus leading to the most
+ restrictive interpretation.
+ </para>
+
+</description>
+<value type="default"></value>
+<value type="example">/etc /dev /private</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/usersharetemplateshare.xml b/docs-xml/smbdotconf/misc/usersharetemplateshare.xml
new file mode 100644
index 0000000..3a74dcb
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/usersharetemplateshare.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="usershare template share"
+ 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
+ "cloned" from an existing share. If "usershare template share"
+ is set to the name of an existing share, then all usershares
+ created have their defaults set from the parameters set on this
+ share.
+ </para>
+ <para>
+ The target share may be set to be invalid for real file
+ sharing by setting the parameter "-valid = False" on the template
+ share definition. This causes it not to be seen as a real exported
+ share but to be able to be used as a template for usershares.
+ </para>
+
+</description>
+<value type="default"></value>
+<value type="example">template_share</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/utmp.xml b/docs-xml/smbdotconf/misc/utmp.xml
new file mode 100644
index 0000000..6382d46
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/utmp.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="utmp"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean parameter is only available if Samba has been configured and compiled
+ with the option <command moreinfo="none">--with-utmp</command>. If set to
+ <constant>yes</constant> then Samba will attempt to add utmp or utmpx records
+ (depending on the UNIX system) whenever a connection is made to a Samba server.
+ Sites may use this to record the user connecting to a Samba share.
+ </para>
+
+ <para>
+ Due to the requirements of the utmp record, we are required to create a unique
+ identifier for the incoming user. Enabling this option creates an n^2 algorithm
+ to find this number. This may impede performance on large installations.
+ </para>
+</description>
+
+<related>utmp directory</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/utmpdirectory.xml b/docs-xml/smbdotconf/misc/utmpdirectory.xml
new file mode 100644
index 0000000..96b45db
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/utmpdirectory.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="utmp directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter is only available if Samba has
+ been configured and compiled with the option <command moreinfo="none">
+ --with-utmp</command>. It specifies a directory pathname that is
+ used to store the utmp or utmpx files (depending on the UNIX system) that
+ record user connections to a Samba server. By default this is
+ not set, meaning the system will use whatever utmp file the
+ native system is set to use (usually
+ <filename moreinfo="none">/var/run/utmp</filename> on Linux).</para>
+</description>
+
+<related>utmp</related>
+
+<value type="default"><comment>Determined automatically</comment></value>
+<value type="example">/var/run/utmp</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/valid.xml b/docs-xml/smbdotconf/misc/valid.xml
new file mode 100644
index 0000000..8d86f9c
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/valid.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="-valid"
+ 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
+ valid and thus can be used. When this parameter is set to false,
+ the share will be in no way visible nor accessible.
+ </para>
+
+ <para>
+ This option should not be
+ used by regular users but might be of help to developers.
+ Samba uses this option internally to mark shares as deleted.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/volume.xml b/docs-xml/smbdotconf/misc/volume.xml
new file mode 100644
index 0000000..4f1be6a
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/volume.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="volume"
+ context="S"
+ type="string"
+ substitution="1"
+ 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
+ that insist on a particular volume label.</para>
+</description>
+
+<value type="default"><comment>the name of the share</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/volumeserialnumber.xml b/docs-xml/smbdotconf/misc/volumeserialnumber.xml
new file mode 100644
index 0000000..41cf2c2
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/volumeserialnumber.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="volume serial number"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This allows to override the volume serial number
+ (a 32bit value) reported for a share.</para>
+ <para>The special value <emphasis>-1</emphasis> (default) stands for
+ a unique number that is calculated for each share.</para>
+</description>
+
+<value type="default">-1</value>
+<value type="example">0xabcdefgh</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/widelinks.xml b/docs-xml/smbdotconf/misc/widelinks.xml
new file mode 100644
index 0000000..09f8aa5
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/widelinks.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="wide links"
+ context="S"
+ type="boolean"
+ 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
+ that point to areas within the directory tree exported by the
+ server are always allowed; this parameter controls access only
+ to areas that are outside the directory tree being exported.</para>
+
+ <para>Note: Turning this parameter on when UNIX extensions are enabled
+ will allow UNIX clients to create symbolic links on the share that
+ can point to files or directories outside restricted path exported
+ by the share definition. This can cause access to areas outside of
+ the share. Due to this problem, this parameter will be automatically
+ disabled (with a message in the log file) if the
+ <smbconfoption name="unix extensions"/> option is on.
+ </para>
+ <para>
+ See the parameter <smbconfoption name="allow insecure wide links"/>
+ if you wish to change this coupling between the two parameters.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/wspproperties.xml b/docs-xml/smbdotconf/misc/wspproperties.xml
new file mode 100644
index 0000000..45c420c
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/wspproperties.xml
@@ -0,0 +1,55 @@
+<samba:parameter name="wsp property file"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ <smbconfoption name="wsp property file"/> parameter.
+ This parameter specifies the file where additional WSP Windows Search Protocol properties
+ are stored. The format of the file is a csv consisting of 10 comma separated columns. The
+ first 3 columns are required, the other columns are desirable but not necessary.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Property Name</term>
+ <listitem><para>A property name e.g. System.ItemUrl.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>GUID</term>
+ <listitem><para>A guid that identifies the propertyset the property belongs to.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>prop ID</term>
+ <listitem><para>A number that together with the GUID uniquely identifies the property.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>inInverted Index</term>
+ <listitem><para>Set to TRUE is the property is indexed.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>isColumn</term>
+ <listitem><para>Set to TRUE if the property is one that can be returned in rows returned from WSP query.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>type</term>
+ <listitem><para>One of
+ <emphasis>Boolean</emphasis>,<emphasis>Buffer</emphasis>,<emphasis>Byte</emphasis>,<emphasis>DateTime</emphasis>,<emphasis>Double</emphasis>,<emphasis>Int32</emphasis>,<emphasis>String</emphasis>,<emphasis>UInt16</emphasis>,<emphasis>UInt32</emphasis>,<emphasis>UInt64</emphasis> </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>MaxSize</term>
+ <listitem><para>maximum size when stored.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Vector Property</term>
+ <listitem><para>TRUE if this is a multivalue property.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Description</term>
+ <listitem><para>Description of what the property is used for.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+
+</description>
+<value type="default"/>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/misc/wtmpdirectory.xml b/docs-xml/smbdotconf/misc/wtmpdirectory.xml
new file mode 100644
index 0000000..f1b5359
--- /dev/null
+++ b/docs-xml/smbdotconf/misc/wtmpdirectory.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="wtmp directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only available if Samba has been configured and compiled with the option <command moreinfo="none">
+ --with-utmp</command>. It specifies a directory pathname that is used to store the wtmp or wtmpx files (depending on
+ the UNIX system) that record user connections to a Samba server. The difference with the utmp directory is the fact
+ that user info is kept after a user has logged out.
+ </para>
+
+ <para>
+ By default this is not set, meaning the system will use whatever utmp file the native system is set to use (usually
+ <filename moreinfo="none">/var/run/wtmp</filename> on Linux).
+ </para>
+</description>
+
+<related>utmp</related>
+<value type="default"/>
+<value type="example">/var/log/wtmp</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/addportcommand.xml b/docs-xml/smbdotconf/printing/addportcommand.xml
new file mode 100644
index 0000000..c25794b
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/addportcommand.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="addport command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Samba 3.0.23 introduced support for adding printer ports
+ remotely using the Windows &quot;Add Standard TCP/IP Port Wizard&quot;.
+ This option defines an external program to be executed when
+ smbd receives a request to add a new Port to the system.
+ The script is passed two parameters:</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">port name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">device URI</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>The deviceURI is in the format of socket://&lt;hostname&gt;[:&lt;portnumber&gt;]
+ or lpd://&lt;hostname&gt;/&lt;queuename&gt;.</para>
+</description>
+
+<related>enum ports command</related>
+
+<value type="default"></value>
+<value type="example">/etc/samba/scripts/addport.sh</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/addprintercommand.xml b/docs-xml/smbdotconf/printing/addprintercommand.xml
new file mode 100644
index 0000000..954b437
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/addprintercommand.xml
@@ -0,0 +1,64 @@
+<samba:parameter name="addprinter command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With the introduction of MS-RPC based printing
+ support for Windows NT/2000 clients in Samba 2.2, The MS Add
+ Printer Wizard (APW) icon is now also available in the
+ &quot;Printers...&quot; folder displayed a share listing. The APW
+ allows for printers to be add remotely to a Samba or Windows
+ NT/2000 print server.</para>
+
+ <para>For a Samba host this means that the printer must be
+ physically added to the underlying printing system.
+ The <parameter moreinfo="none">addprinter command</parameter>
+ defines a script to be run which
+ will perform the necessary operations for adding the printer
+ to the print system and to add the appropriate service definition
+ to the <filename moreinfo="none">smb.conf</filename> file in order that it can be
+ shared by <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>.</para>
+
+ <para>The <parameter moreinfo="none">addprinter command</parameter> is
+ automatically invoked with the following parameter (in
+ order):</para>
+
+ <itemizedlist>
+ <listitem><para><parameter moreinfo="none">printer name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">share name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">port name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">driver name</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">location</parameter></para></listitem>
+ <listitem><para><parameter moreinfo="none">Windows 9x driver location</parameter></para></listitem>
+ </itemizedlist>
+
+ <para>All parameters are filled in from the PRINTER_INFO_2 structure sent
+ by the Windows NT/2000 client with one exception. The &quot;Windows 9x
+ driver location&quot; parameter is included for backwards compatibility
+ only. The remaining fields in the structure are generated from answers
+ to the APW questions.</para>
+
+ <para>Once the <parameter moreinfo="none">addprinter command</parameter> has
+ been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
+ smb.conf</filename> to determine if the share defined by the APW
+ exists. If the sharename is still invalid, then <command moreinfo="none">smbd
+ </command> will return an ACCESS_DENIED error to the client.</para>
+
+ <para>
+ The <parameter moreinfo="none">addprinter command</parameter> program
+ can output a single line of text,
+ which Samba will set as the port the new printer is connected to.
+ If this line isn't output, Samba won't reload its printer shares.
+ </para>
+
+</description>
+
+<related>deleteprinter command</related>
+<related>printing</related>
+<related>show add printer wizard</related>
+
+<value type="default"></value>
+<value type="example">/usr/bin/addprinter</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml b/docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml
new file mode 100644
index 0000000..bcb6985
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsconnectiontimeout.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="cups connection timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>cups</constant>.
+ </para>
+
+ <para>
+ If set, this option specifies the number of seconds that smbd will wait
+ whilst trying to contact to the CUPS server. The connection will fail
+ if it takes longer than this number of seconds.
+ </para>
+</description>
+
+<value type="default">30</value>
+<value type="example">60</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsencrypt.xml b/docs-xml/smbdotconf/printing/cupsencrypt.xml
new file mode 100644
index 0000000..8094abe
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsencrypt.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="cups encrypt"
+ context="G"
+ type="enum"
+ enumlist="enum_bool_auto"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/>
+ is set to <constant>cups</constant> and if you use CUPS newer than
+ 1.0.x.It is used to define whether or not Samba should use encryption
+ when talking to the CUPS server. Possible values are
+ <emphasis>auto</emphasis>, <emphasis>yes</emphasis> and
+ <emphasis>no</emphasis>
+ </para>
+
+ <para>
+ When set to auto we will try to do a TLS handshake on each CUPS
+ connection setup. If that fails, we will fall back to unencrypted
+ operation.
+ </para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsoptions.xml b/docs-xml/smbdotconf/printing/cupsoptions.xml
new file mode 100644
index 0000000..833ba30
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsoptions.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="cups options"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is
+ set to <constant>cups</constant>. Its value is a free form string of options
+ passed directly to the cups library.
+ </para>
+
+ <para>
+ You can pass any generic print option known to CUPS (as listed
+ in the CUPS "Software Users' Manual"). You can also pass any printer
+ specific option (as listed in "lpoptions -d printername -l")
+ valid for the target queue.
+ Multiple parameters should be space-delimited name/value pairs according to
+ the PAPI text option ABNF specification. Collection values
+ ("name={a=... b=... c=...}") are stored with the curley brackets intact.
+ </para>
+
+ <para>
+ You should set this parameter to <constant>raw</constant> if your CUPS server
+ <filename>error_log</filename> file contains messages such as
+ "Unsupported format 'application/octet-stream'" when printing from a Windows client
+ through Samba. It is no longer necessary to enable
+ system wide raw printing in <filename>/etc/cups/mime.{convs,types}</filename>.
+ </para>
+
+</description>
+
+<value type="default">""</value>
+<value type="example">"raw media=a4"</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/cupsserver.xml b/docs-xml/smbdotconf/printing/cupsserver.xml
new file mode 100644
index 0000000..c18c115
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/cupsserver.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="cups server"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>cups</constant>.
+ </para>
+
+ <para>
+ If set, this option overrides the ServerName option in the CUPS <filename>client.conf</filename>. This is
+ necessary if you have virtual samba servers that connect to different CUPS daemons.
+ </para>
+
+ <para>Optionally, a port can be specified by separating the server name
+ and port number with a colon. If no port was specified,
+ the default port for IPP (631) will be used.
+ </para>
+
+</description>
+
+<value type="default">""</value>
+<value type="example">mycupsserver</value>
+<value type="example">mycupsserver:1631</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/defaultdevmode.xml b/docs-xml/smbdotconf/printing/defaultdevmode.xml
new file mode 100644
index 0000000..f86de9b
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/defaultdevmode.xml
@@ -0,0 +1,37 @@
+<samba:parameter name="default devmode"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter is only applicable to <smbconfoption name="printable"/> services.
+ When smbd is serving Printer Drivers to Windows NT/2k/XP clients, each printer on the Samba
+ server has a Device Mode which defines things such as paper size and
+ orientation and duplex settings. The device mode can only correctly be
+ generated by the printer driver itself (which can only be executed on a
+ Win32 platform). Because smbd is unable to execute the driver code
+ to generate the device mode, the default behavior is to set this field
+ to NULL.
+ </para>
+
+ <para>Most problems with serving printer drivers to Windows NT/2k/XP clients
+ can be traced to a problem with the generated device mode. Certain drivers
+ will do things such as crashing the client's Explorer.exe with a NULL devmode.
+ However, other printer drivers can cause the client's spooler service
+ (spoolsv.exe) to die if the devmode was not created by the driver itself
+ (i.e. smbd generates a default devmode).
+ </para>
+
+ <para>This parameter should be used with care and tested with the printer
+ driver in question. It is better to leave the device mode to NULL
+ and let the Windows client set the correct values. Because drivers do not
+ do this all the time, setting <command moreinfo="none">default devmode = yes</command>
+ will instruct smbd to generate a default one.
+ </para>
+
+ <para>For more information on Windows NT/2k printing and Device Modes,
+ see the <ulink url="http://msdn.microsoft.com/">MSDN documentation</ulink>.
+</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/deleteprintercommand.xml b/docs-xml/smbdotconf/printing/deleteprintercommand.xml
new file mode 100644
index 0000000..6d70ddc
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/deleteprintercommand.xml
@@ -0,0 +1,36 @@
+<samba:parameter name="deleteprinter command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With the introduction of MS-RPC based printer
+ support for Windows NT/2000 clients in Samba 2.2, it is now
+ possible to delete a printer at run time by issuing the
+ DeletePrinter() RPC call.</para>
+
+ <para>For a Samba host this means that the printer must be
+ physically deleted from the underlying printing system. The
+ <smbconfoption name="deleteprinter command"/> defines a script to be run which
+ will perform the necessary operations for removing the printer
+ from the print system and from <filename moreinfo="none">smb.conf</filename>.
+ </para>
+
+ <para>The <smbconfoption name="deleteprinter command"/> is
+ automatically called with only one parameter: <smbconfoption name="printer name"/>.
+ </para>
+
+ <para>Once the <smbconfoption name="deleteprinter command"/> has
+ been executed, <command moreinfo="none">smbd</command> will reparse the <filename moreinfo="none">
+ smb.conf</filename> to check that the associated printer no longer exists.
+ If the sharename is still valid, then <command moreinfo="none">smbd
+ </command> will return an ACCESS_DENIED error to the client.</para>
+</description>
+
+<related>addprinter command</related>
+<related>printing</related>
+<related>show add printer wizard</related>
+
+<value type="default"></value>
+<value type="example">/usr/bin/removeprinter</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/disablespoolss.xml b/docs-xml/smbdotconf/printing/disablespoolss.xml
new file mode 100644
index 0000000..4710002
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/disablespoolss.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="disable spoolss"
+ context="G"
+ type="boolean"
+ function="_disable_spoolss"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Enabling this parameter will disable Samba's support
+ for the SPOOLSS set of MS-RPC's and will yield identical behavior
+ as Samba 2.0.x. Windows NT/2000 clients will downgrade to using
+ Lanman style printing commands. Windows 9x/ME will be unaffected by
+ the parameter. However, this will also disable the ability to upload
+ printer drivers to a Samba server via the Windows NT Add Printer
+ Wizard or by using the NT printer properties dialog window. It will
+ also disable the capability of Windows NT/2000 clients to download
+ print drivers from the Samba host upon demand.
+ <emphasis>Be very careful about enabling this parameter.</emphasis>
+</para>
+</description>
+
+<related>use client driver</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/enablespoolss.xml b/docs-xml/smbdotconf/printing/enablespoolss.xml
new file mode 100644
index 0000000..68e09bf
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/enablespoolss.xml
@@ -0,0 +1,12 @@
+<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>
+ <para>Inverted synonym for <smbconfoption name="disable spoolss"/>.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/enumportscommand.xml b/docs-xml/smbdotconf/printing/enumportscommand.xml
new file mode 100644
index 0000000..1258042
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/enumportscommand.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="enumports command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The concept of a &quot;port&quot; is fairly foreign
+ to UNIX hosts. Under Windows NT/2000 print servers, a port
+ is associated with a port monitor and generally takes the form of
+ a local port (i.e. LPT1:, COM1:, FILE:) or a remote port
+ (i.e. LPD Port Monitor, etc...). By default, Samba has only one
+ port defined--<constant>&quot;Samba Printer Port&quot;</constant>. Under
+ Windows NT/2000, all printers must have a valid port name.
+ If you wish to have a list of ports displayed (<command moreinfo="none">smbd
+ </command> does not use a port name for anything) other than
+ the default <constant>&quot;Samba Printer Port&quot;</constant>, you
+ can define <parameter moreinfo="none">enumports command</parameter> to point to
+ a program which should generate a list of ports, one per line,
+ to standard output. This listing will then be used in response
+ to the level 1 and 2 EnumPorts() RPC.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">/usr/bin/listports</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/forceprintername.xml b/docs-xml/smbdotconf/printing/forceprintername.xml
new file mode 100644
index 0000000..607d176
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/forceprintername.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="force printername"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When printing from Windows NT (or later),
+ each printer in <filename>smb.conf</filename> has two
+ associated names which can be used by the client. The first
+ is the sharename (or shortname) defined in smb.conf. This
+ is the only printername available for use by Windows 9x clients.
+ The second name associated with a printer can be seen when
+ browsing to the "Printers" (or "Printers and Faxes") folder
+ on the Samba server. This is referred to simply as the printername
+ (not to be confused with the <parameter>printer name</parameter> option).
+ </para>
+
+ <para>When assigning a new driver to a printer on a remote
+ Windows compatible print server such as Samba, the Windows client
+ will rename the printer to match the driver name just uploaded.
+ This can result in confusion for users when multiple
+ printers are bound to the same driver. To prevent Samba from
+ allowing the printer's printername to differ from the sharename
+ defined in smb.conf, set <parameter>force printername = yes</parameter>.
+ </para>
+
+ <para>Be aware that enabling this parameter may affect migrating
+ printers from a Windows server to Samba since Windows has no way to
+ force the sharename and printername to match.</para>
+
+ <para>It is recommended that this parameter's value not be changed
+ once the printer is in use by clients as this could cause a user
+ not be able to delete printer connections from their local Printers
+ folder.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/iprintserver.xml b/docs-xml/smbdotconf/printing/iprintserver.xml
new file mode 100644
index 0000000..16e3623
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/iprintserver.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="iprint server"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter is only applicable if <smbconfoption name="printing"/> is set to <constant>iprint</constant>.
+ </para>
+
+ <para>
+ If set, this option overrides the ServerName option in the CUPS <filename>client.conf</filename>. This is
+ necessary if you have virtual samba servers that connect to different CUPS daemons.
+ </para>
+</description>
+
+<value type="default">""</value>
+<value type="example">MYCUPSSERVER</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/loadprinters.xml b/docs-xml/smbdotconf/printing/loadprinters.xml
new file mode 100644
index 0000000..cc6dbaf
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/loadprinters.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="load printers"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>A boolean variable that controls whether all
+ printers in the printcap will be loaded for browsing by default.
+ See the <link linkend="PRINTERSSECT">printers</link> section for
+ more details.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lppausecommand.xml b/docs-xml/smbdotconf/printing/lppausecommand.xml
new file mode 100644
index 0000000..3aa134c
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lppausecommand.xml
@@ -0,0 +1,41 @@
+<samba:parameter name="lppause command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to stop printing or spooling
+ a specific print job.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name and job number to pause the print job. One way
+ of implementing this is by using job priorities, where jobs
+ having a too low priority won't be sent to the printer.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
+ the job number (an integer). On HPUX (see <parameter moreinfo="none">printing=hpux
+ </parameter>), if the <parameter moreinfo="none">-p%p</parameter> option is added
+ to the lpq command, the job will show up with the correct status, i.e.
+ if the job priority is lower than the set fence priority it will
+ have the PAUSED status, whereas if the priority is equal or higher it
+ will have the SPOOLED or PRINTING status.</para>
+
+ <para>Note that it is good practice to include the absolute path
+ in the lppause command as the PATH may not be available to the server.</para>
+
+ <para>Currently no default value is given to
+ this string, unless the value of the <smbconfoption name="printing"/>
+ parameter is <constant>SYSV</constant>, in which case the default is :
+ <command moreinfo="none">lp -i %p-%j -H hold</command> or if the value of the
+ <parameter moreinfo="none">printing</parameter> parameter is
+ <constant>SOFTQ</constant>, then the default is:
+ <command moreinfo="none">qstat -s -j%j -h</command>. </para>
+
+</description>
+
+<related>printing</related>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">/usr/bin/lpalt %p-%j -p0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lpqcachetime.xml b/docs-xml/smbdotconf/printing/lpqcachetime.xml
new file mode 100644
index 0000000..0b3670a
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lpqcachetime.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="lpq cache time"
+ 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
+ often. A separate cache is kept for each variation of the <command moreinfo="none">
+ lpq</command> command used by the system, so if you use different
+ <command moreinfo="none">lpq</command> commands for different users then they won't
+ share cache information.</para>
+
+ <para>The cache files are stored in <filename moreinfo="none">/tmp/lpq.xxxx</filename>
+ where xxxx is a hash of the <command moreinfo="none">lpq</command> command in use.</para>
+
+ <para>The default is 30 seconds, meaning that the cached results
+ of a previous identical <command moreinfo="none">lpq</command> command will be used
+ if the cached data is less than 30 seconds old. A large value may
+ be advisable if your <command moreinfo="none">lpq</command> command is very slow.</para>
+
+<para>A value of 0 will disable caching completely.</para>
+</description>
+
+<related>printing</related>
+
+<value type="default">30</value>
+<value type="example">10</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lpqcommand.xml b/docs-xml/smbdotconf/printing/lpqcommand.xml
new file mode 100644
index 0000000..f3c17f2
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lpqcommand.xml
@@ -0,0 +1,41 @@
+<samba:parameter name="lpq command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to obtain <command moreinfo="none">lpq
+ </command>-style printer status information.</para>
+
+ <para>This command should be a program or script which
+ takes a printer name as its only parameter and outputs printer
+ status information.</para>
+
+ <para>Currently nine styles of printer status information
+ are supported; BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, CUPS, and SOFTQ.
+ This covers most UNIX systems. You control which type is expected
+ using the <parameter moreinfo="none">printing =</parameter> option.</para>
+
+ <para>Some clients (notably Windows for Workgroups) may not
+ correctly send the connection number for the printer they are
+ requesting status information about. To get around this, the
+ server reports on the first printer service connected to by the
+ client. This only happens if the connection number sent is invalid.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. Otherwise it is placed at the end of the
+ command.</para>
+
+ <para>Note that it is good practice to include the absolute path
+ in the <parameter moreinfo="none">lpq command</parameter> as the <envar>$PATH
+ </envar> may not be available to the server. When compiled with
+ the CUPS libraries, no <parameter moreinfo="none">lpq command</parameter> is
+ needed because smbd will make a library call to obtain the
+ print queue listing.</para>
+</description>
+
+<related>printing</related>
+
+<value type="example">/usr/bin/lpq -P%p</value>
+<value type="default"><comment>determined by printing parameter</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lpresumecommand.xml b/docs-xml/smbdotconf/printing/lpresumecommand.xml
new file mode 100644
index 0000000..153ba76
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lpresumecommand.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="lpresume command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to restart or continue
+ printing or spooling a specific print job.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name and job number to resume the print job. See
+ also the <smbconfoption name="lppause command"/> parameter.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
+ the job number (an integer).</para>
+
+ <para>Note that it is good practice to include the absolute path
+ in the <parameter moreinfo="none">lpresume command</parameter> as the PATH may not
+ be available to the server.</para>
+
+ <para>See also the <smbconfoption name="printing"/> parameter.</para>
+
+ <para>Default: Currently no default value is given
+ to this string, unless the value of the <parameter moreinfo="none">printing</parameter>
+ parameter is <constant>SYSV</constant>, in which case the default is:</para>
+
+ <para><command moreinfo="none">lp -i %p-%j -H resume</command></para>
+
+ <para>or if the value of the <parameter moreinfo="none">printing</parameter> parameter
+ is <constant>SOFTQ</constant>, then the default is:</para>
+
+ <para><command moreinfo="none">qstat -s -j%j -r</command></para>
+</description>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">/usr/bin/lpalt %p-%j -p2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/lprmcommand.xml b/docs-xml/smbdotconf/printing/lprmcommand.xml
new file mode 100644
index 0000000..4b7f3dd
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/lprmcommand.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="lprm command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to delete a print job.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name and job number, and deletes the print job.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. A <parameter moreinfo="none">%j</parameter> is replaced with
+ the job number (an integer).</para>
+
+ <para>Note that it is good practice to include the absolute
+ path in the <parameter moreinfo="none">lprm command</parameter> as the PATH may not be
+ available to the server.</para>
+
+ <para>
+ Examples of use are:
+<programlisting>
+lprm command = /usr/bin/lprm -P%p %j
+
+or
+
+lprm command = /usr/bin/cancel %p-%j
+</programlisting>
+ </para>
+
+</description>
+<related>printing</related>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/maxprintjobs.xml b/docs-xml/smbdotconf/printing/maxprintjobs.xml
new file mode 100644
index 0000000..f37ff0a
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/maxprintjobs.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="max print jobs"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter limits the maximum number of
+ jobs allowable in a Samba printer queue at any given moment.
+ If this number is exceeded, <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will remote &quot;Out of Space&quot; to the client.
+ </para>
+</description>
+
+<value type="default">1000</value>
+<value type="example">5000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml b/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml
new file mode 100644
index 0000000..5cfd21f
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/maxreportedprintjobs.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="max reported print jobs"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter limits the maximum number of jobs displayed in a port monitor for
+ Samba printer queue at any given moment. If this number is exceeded, the excess
+ jobs will not be shown. A value of zero means there is no limit on the number of
+ print jobs reported.
+ </para>
+</description>
+
+<related>max print jobs</related>
+
+<value type="default">0</value>
+<value type="example">1000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/os2drivermap.xml b/docs-xml/smbdotconf/printing/os2drivermap.xml
new file mode 100644
index 0000000..c845f33
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/os2drivermap.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="os2 driver map"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The parameter is used to define the absolute
+ path to a file containing a mapping of Windows NT printer driver
+ names to OS/2 printer driver names. The format is:</para>
+
+ <para>&lt;nt driver name&gt; = &lt;os2 driver name&gt;.&lt;device name&gt;</para>
+
+ <para>For example, a valid entry using the HP LaserJet 5
+ printer driver would appear as <command moreinfo="none">HP LaserJet 5L = LASERJET.HP
+ LaserJet 5L</command>.</para>
+
+ <para>
+ The need for the file is due to the printer driver namespace problem described in
+ the chapter on Classical Printing in the Samba3-HOWTO book. For more
+ details on OS/2 clients, please refer to chapter on other clients in the Samba3-HOWTO book.
+ </para>
+</description>
+<value type="default"/>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printable.xml b/docs-xml/smbdotconf/printing/printable.xml
new file mode 100644
index 0000000..870d888
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printable.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="printable"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>print ok</synonym>
+<description>
+ <para>If this parameter is <constant>yes</constant>, then
+ clients may open, write to and submit spool files on the directory
+ specified for the service. </para>
+
+ <para>Note that a printable service will ALWAYS allow writing
+ to the service path (user privileges permitting) via the spooling
+ of print data. The <smbconfoption name="read only"/> parameter controls only non-printing access to
+ the resource.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printcapcachetime.xml b/docs-xml/smbdotconf/printing/printcapcachetime.xml
new file mode 100644
index 0000000..d5a4c80
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printcapcachetime.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="printcap cache time"
+ 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
+ subsystem is again asked for the known printers.
+ </para>
+
+ <para>Setting this parameter to 0 disables any rescanning for new
+ or removed printers after the initial startup.
+ </para>
+</description>
+
+
+<value type="default">750</value>
+<value type="example">600</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printcapname.xml b/docs-xml/smbdotconf/printing/printcapname.xml
new file mode 100644
index 0000000..3a65d23
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printcapname.xml
@@ -0,0 +1,54 @@
+<samba:parameter name="printcap name"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>printcap</synonym>
+<description>
+ <para>
+ This parameter may be used to override the compiled-in default printcap name used by the server (usually
+ <filename moreinfo="none"> /etc/printcap</filename>). See the discussion of the <link
+ linkend="PRINTERSSECT">[printers]</link> section above for reasons why you might want to do this.
+ </para>
+
+ <para>
+ To use the CUPS printing interface set <command moreinfo="none">printcap name = cups </command>. This should
+ be supplemented by an additional setting <smbconfoption name="printing">cups</smbconfoption> in the [global]
+ section. <command moreinfo="none">printcap name = cups</command> will use the &quot;dummy&quot; printcap
+ created by CUPS, as specified in your CUPS configuration file.
+ </para>
+
+ <para>
+ On System V systems that use <command moreinfo="none">lpstat</command> to
+ list available printers you can use <command moreinfo="none">printcap name = lpstat
+ </command> to automatically obtain lists of available printers. This
+ is the default for systems that define SYSV at configure time in
+ Samba (this includes most System V based systems). If <parameter moreinfo="none">
+ printcap name</parameter> is set to <command moreinfo="none">lpstat</command> on
+ these systems then Samba will launch <command moreinfo="none">lpstat -v</command> and
+ attempt to parse the output to obtain a printer list.
+ </para>
+
+ <para>
+ A minimal printcap file would look something like this:
+<programlisting format="linespecific">
+print1|My Printer 1
+print2|My Printer 2
+print3|My Printer 3
+print4|My Printer 4
+print5|My Printer 5
+</programlisting>
+ where the '|' separates aliases of a printer. The fact that the second alias has a space in
+ it gives a hint to Samba that it's a comment.
+ </para>
+
+ <note><para>
+ Under AIX the default printcap name is <filename moreinfo="none">/etc/qconfig</filename>. Samba will
+ assume the file is in AIX <filename moreinfo="none">qconfig</filename> format if the string <filename
+ moreinfo="none">qconfig</filename> appears in the printcap filename.
+ </para></note>
+
+</description>
+
+<value type="default">/etc/printcap</value>
+<value type="example">/etc/myprintcap</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printcommand.xml b/docs-xml/smbdotconf/printing/printcommand.xml
new file mode 100644
index 0000000..c84e45f
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printcommand.xml
@@ -0,0 +1,87 @@
+<samba:parameter name="print command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>After a print job has finished spooling to
+ a service, this command will be used via a <command moreinfo="none">system()</command>
+ call to process the spool file. Typically the command specified will
+ submit the spool file to the host's printing subsystem, but there
+ is no requirement that this be the case. The server will not remove
+ the spool file, so whatever command you specify should remove the
+ spool file when it has been processed, otherwise you will need to
+ manually remove old spool files.</para>
+
+ <para>The print command is simply a text string. It will be used
+ verbatim after macro substitutions have been made:</para>
+
+ <para>%s, %f - the path to the spool
+ file name</para>
+
+ <para>%p - the appropriate printer
+ name</para>
+
+ <para>%J - the job
+ name as transmitted by the client.</para>
+
+ <para>%c - The number of printed pages
+ of the spooled job (if known).</para>
+
+ <para>%z - the size of the spooled
+ print job (in bytes)</para>
+
+ <para>The print command <emphasis>MUST</emphasis> contain at least
+ one occurrence of <parameter moreinfo="none">%s</parameter> or <parameter moreinfo="none">%f
+ </parameter> - the <parameter moreinfo="none">%p</parameter> is optional. At the time
+ a job is submitted, if no printer name is supplied the <parameter moreinfo="none">%p
+ </parameter> will be silently removed from the printer command.</para>
+
+ <para>If specified in the [global] section, the print command given
+ will be used for any printable service that does not have its own
+ print command specified.</para>
+
+ <para>If there is neither a specified print command for a
+ printable service nor a global print command, spool files will
+ be created but not processed and (most importantly) not removed.</para>
+
+ <para>Note that printing may fail on some UNIXes from the
+ <constant>nobody</constant> account. If this happens then create
+ an alternative guest account that can print and set the <smbconfoption name="guest account"/>
+ in the [global] section.</para>
+
+ <para>You can form quite complex print commands by realizing
+ that they are just passed to a shell. For example the following
+ will log a print job, print the file, then remove it. Note that
+ ';' is the usual separator for command in shell scripts.</para>
+
+ <para><command moreinfo="none">print command = echo Printing %s &gt;&gt;
+ /tmp/print.log; lpr -P %p %s; rm %s</command></para>
+
+ <para>You may have to vary this command considerably depending
+ on how you normally print files on your system. The default for
+ the parameter varies depending on the setting of the <smbconfoption name="printing"/>
+ parameter.</para>
+
+ <para>Default: For <command moreinfo="none">printing = BSD, AIX, QNX, LPRNG
+ or PLP :</command></para>
+ <para><command moreinfo="none">print command = lpr -r -P%p %s</command></para>
+
+ <para>For <command moreinfo="none">printing = SYSV or HPUX :</command></para>
+ <para><command moreinfo="none">print command = lp -c -d%p %s; rm %s</command></para>
+
+ <para>For <command moreinfo="none">printing = SOFTQ :</command></para>
+ <para><command moreinfo="none">print command = lp -d%p -s %s; rm %s</command></para>
+
+ <para>For printing = CUPS : If SAMBA is compiled against
+ libcups, then <smbconfoption name="printcap">cups</smbconfoption>
+ uses the CUPS API to
+ submit jobs, etc. Otherwise it maps to the System V
+ commands with the -oraw option for printing, i.e. it
+ uses <command moreinfo="none">lp -c -d%p -oraw; rm %s</command>.
+ With <command moreinfo="none">printing = cups</command>,
+ and if SAMBA is compiled against libcups, any manually
+ set print command will be ignored.</para>
+</description>
+
+<value type="example">/usr/local/samba/bin/myprintscript %p %s</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printername.xml b/docs-xml/smbdotconf/printing/printername.xml
new file mode 100644
index 0000000..6b82ef2
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printername.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="printer name"
+ context="S"
+ type="string"
+ function="_printername"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <synonym>printer</synonym>
+<description>
+ <para>
+ This parameter specifies the name of the printer to which print jobs spooled through a printable service
+ will be sent.
+ </para>
+
+ <para>
+ If specified in the [global] section, the printer name given will be used for any printable service that
+ does not have its own printer name specified.
+ </para>
+
+ <para>
+ The default value of the <smbconfoption name="printer name"/> may be <literal>lp</literal> on many
+ systems.
+ </para>
+</description>
+
+<value type="default"></value>
+<value type="example">laserwriter</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printing.xml b/docs-xml/smbdotconf/printing/printing.xml
new file mode 100644
index 0000000..2e25621
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printing.xml
@@ -0,0 +1,45 @@
+<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>
+ <para>This parameters controls how printer status information is
+ interpreted on your system. It also affects the default values for
+ the <parameter moreinfo="none">print command</parameter>, <parameter
+ moreinfo="none">lpq command</parameter>, <parameter
+ moreinfo="none">lppause command </parameter>, <parameter
+ moreinfo="none">lpresume command</parameter>, and <parameter
+ moreinfo="none">lprm command</parameter> if specified in the
+ [global] section.</para>
+
+ <para>Currently nine printing styles are supported. They are
+ <constant>BSD</constant>, <constant>AIX</constant>,
+ <constant>LPRNG</constant>, <constant>PLP</constant>,
+ <constant>SYSV</constant>, <constant>HPUX</constant>,
+ <constant>QNX</constant>, <constant>SOFTQ</constant>,
+ <constant>CUPS</constant> and <constant>IPRINT</constant>.</para>
+
+ <para>Be aware that CUPS and IPRINT are only available if the CUPS
+ development library was available at the time Samba was compiled
+ or packaged.</para>
+
+ <para>To see what the defaults are for the other print
+ commands when using the various options use the <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> program.</para>
+
+ <para>This option can be set on a per printer basis. Please be
+ aware however, that you must place any of the various printing
+ commands (e.g. print command, lpq command, etc...) after defining
+ the value for the <parameter>printing</parameter> option since it will
+ reset the printing commands to default values.</para>
+
+ <para>See also the discussion in the <link linkend="PRINTERSSECT">
+ [printers]</link> section.</para>
+
+ <para>See <command moreinfo="none">testparm -v.</command> for the default
+ value on your system</para>
+</description>
+<value type="default"><comment>Depends on the operating system</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printjobusername.xml b/docs-xml/smbdotconf/printing/printjobusername.xml
new file mode 100644
index 0000000..06209f7
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printjobusername.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="printjob username"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies which user information will be
+ passed to the printing system. Usually, the username is sent,
+ but in some cases, e.g. the domain prefix is useful, too.</para>
+</description>
+
+<related>printing</related>
+
+<value type="example">%D\%U</value>
+<value type="default">%U</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/printnotifybackchannel.xml b/docs-xml/smbdotconf/printing/printnotifybackchannel.xml
new file mode 100644
index 0000000..576bf75
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/printnotifybackchannel.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="print notify backchannel"
+ 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
+ client firewall settings this can cause considerable timeouts
+ and will often fail, as there is no guarantee the client is even
+ running an SMB server. By default, the Samba print server will
+ not try to connect back to clients, and will treat corresponding
+ requests as if the connection back to the client failed.
+</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/queuepausecommand.xml b/docs-xml/smbdotconf/printing/queuepausecommand.xml
new file mode 100644
index 0000000..5dca456
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/queuepausecommand.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="queuepause command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to pause the printer queue.</para>
+
+ <para>This command should be a program or script which takes
+ a printer name as its only parameter and stops the printer queue,
+ such that no longer jobs are submitted to the printer.</para>
+
+ <para>This command is not supported by Windows for Workgroups,
+ but can be issued from the Printers window under Windows 95
+ and NT.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. Otherwise it is placed at the end of the command.
+ </para>
+
+ <para>Note that it is good practice to include the absolute
+ path in the command as the PATH may not be available to the
+ server.</para>
+</description>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">disable %p</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/queueresumecommand.xml b/docs-xml/smbdotconf/printing/queueresumecommand.xml
new file mode 100644
index 0000000..4a57333
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/queueresumecommand.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="queueresume command"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the command to be
+ executed on the server host in order to resume the printer queue. It
+ is the command to undo the behavior that is caused by the
+ previous parameter (<smbconfoption name="queuepause command"/>).</para>
+
+ <para>This command should be a program or script which takes
+ a printer name as its only parameter and resumes the printer queue,
+ such that queued jobs are resubmitted to the printer.</para>
+
+ <para>This command is not supported by Windows for Workgroups,
+ but can be issued from the Printers window under Windows 95
+ and NT.</para>
+
+ <para>If a <parameter moreinfo="none">%p</parameter> is given then the printer name
+ is put in its place. Otherwise it is placed at the end of the
+ command.</para>
+
+ <para>Note that it is good practice to include the absolute
+ path in the command as the PATH may not be available to the
+ server.</para>
+</description>
+
+<value type="default"><comment>determined by printing parameter</comment></value>
+<value type="example">enable %p</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/showaddprinterwizard.xml b/docs-xml/smbdotconf/printing/showaddprinterwizard.xml
new file mode 100644
index 0000000..14687b8
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/showaddprinterwizard.xml
@@ -0,0 +1,34 @@
+<samba:parameter name="show add printer wizard"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With the introduction of MS-RPC based printing support
+ for Windows NT/2000 client in Samba 2.2, a &quot;Printers...&quot; folder will
+ appear on Samba hosts in the share listing. Normally this folder will
+ contain an icon for the MS Add Printer Wizard (APW). However, it is
+ possible to disable this feature regardless of the level of privilege
+ of the connected user.</para>
+
+ <para>Under normal circumstances, the Windows NT/2000 client will
+ open a handle on the printer server with OpenPrinterEx() asking for
+ Administrator privileges. If the user does not have administrative
+ access on the print server (i.e is not root or has granted the
+ SePrintOperatorPrivilege), the OpenPrinterEx()
+ call fails and the client makes another open call with a request for
+ a lower privilege level. This should succeed, however the APW
+ icon will not be displayed.</para>
+
+ <para>Disabling the <parameter moreinfo="none">show add printer wizard</parameter>
+ parameter will always cause the OpenPrinterEx() on the server
+ to fail. Thus the APW icon will never be displayed.
+</para>
+<note><para>This does not prevent the same user from having
+ administrative privilege on an individual printer.</para></note>
+</description>
+
+<related>addprinter command</related>
+<related>deleteprinter command</related>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/spoolssarchitecture.xml b/docs-xml/smbdotconf/printing/spoolssarchitecture.xml
new file mode 100644
index 0000000..dae7390
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/spoolssarchitecture.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="spoolss: architecture"
+ 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
+ architecture. Samba's spoolss print server architecture can be changed using
+ this parameter.</para>
+</description>
+<value type="default">Windows x64</value>
+<value type="example">Windows NT x86</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/spoolssosversion.xml b/docs-xml/smbdotconf/printing/spoolssosversion.xml
new file mode 100644
index 0000000..1b57b69
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/spoolssosversion.xml
@@ -0,0 +1,80 @@
+<samba:parameter name="spoolss: os_major"
+ 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:
+ 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
+ </para>
+</description>
+<value type="default">5</value>
+<value type="example">6</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss: os_minor"
+ 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:
+ 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
+ </para>
+</description>
+<value type="default">0</value>
+<value type="example">1</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss: os_build"
+ 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:
+ 5.0.2195 (Windows 2000). The example is 6.1.7601 (Windows 2008 R2).
+ </para>
+</description>
+<value type="default">2195</value>
+<value type="example">7601</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss_client: os_major"
+ 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:
+ 6.1.7007 (Windows 7 and Windows Server 2008 R2).
+ </para>
+</description>
+<value type="default">6</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss_client: os_minor"
+ 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:
+ 6.1.7007 (Windows 7 and Windows Server 2008 R2).
+ </para>
+</description>
+<value type="default">1</value>
+</samba:parameter>
+
+<samba:parameter name="spoolss_client: os_build"
+ 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:
+ 6.1.7007 (Windows 7 and Windows Server 2008 R2).
+ </para>
+</description>
+<value type="default">7007</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/printing/useclientdriver.xml b/docs-xml/smbdotconf/printing/useclientdriver.xml
new file mode 100644
index 0000000..4d07604
--- /dev/null
+++ b/docs-xml/smbdotconf/printing/useclientdriver.xml
@@ -0,0 +1,39 @@
+<samba:parameter name="use client driver"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter applies only to Windows NT/2000
+ clients. It has no effect on Windows 95/98/ME clients. When
+ serving a printer to Windows NT/2000 clients without first installing
+ a valid printer driver on the Samba host, the client will be required
+ to install a local printer driver. From this point on, the client
+ will treat the print as a local printer and not a network printer
+ connection. This is much the same behavior that will occur
+ when <command moreinfo="none">disable spoolss = yes</command>.
+ </para>
+
+ <para>The differentiating factor is that under normal
+ circumstances, the NT/2000 client will attempt to open the network
+ printer using MS-RPC. The problem is that because the client
+ considers the printer to be local, it will attempt to issue the
+ OpenPrinterEx() call requesting access rights associated with the
+ logged on user. If the user possesses local administrator rights but
+ not root privilege on the Samba host (often the case), the
+ OpenPrinterEx() call will fail. The result is that the client will
+ now display an &quot;Access Denied; Unable to connect&quot; message
+ in the printer queue window (even though jobs may successfully be
+ printed). </para>
+
+ <para>If this parameter is enabled for a printer, then any attempt
+ to open the printer with the PRINTER_ACCESS_ADMINISTER right is mapped
+ to PRINTER_ACCESS_USE instead. Thus allowing the OpenPrinterEx()
+ call to succeed. <emphasis>This parameter MUST not be enabled
+ on a print share which has valid print driver installed on the Samba
+ server.</emphasis></para>
+</description>
+
+<related>disable spoolss</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/aclallowexecutealways.xml b/docs-xml/smbdotconf/protocol/aclallowexecutealways.xml
new file mode 100644
index 0000000..60ffb34
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/aclallowexecutealways.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="acl allow execute always"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean parameter controls the behaviour of <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> when receiving a protocol request of "open for execution"
+ from a Windows client.
+ With Samba 3.6 and older, the execution right in the ACL was not checked, so a client
+ could execute a file even if it did not have execute rights on the file. In Samba 4.0,
+ this has been fixed, so that by default, i.e. when this parameter is set to "False",
+ "open for execution" is now denied when execution permissions are not present.
+ </para>
+ <para>
+ If this parameter is set to "True", Samba does not check execute permissions on
+ "open for execution", thus re-establishing the behaviour of Samba 3.6.
+ This can be useful to smoothen upgrades from older Samba versions to 4.0 and newer.
+ This setting is not meant to be used as a permanent setting, but as a temporary relief:
+ It is recommended to fix the permissions in the ACLs and reset this parameter to the
+ default after a certain transition period.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml b/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
new file mode 100644
index 0000000..bfffcc0
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/aclcheckpermissions.xml
@@ -0,0 +1,33 @@
+<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
+ in a future version of Samba.
+ </para>
+ <para>This boolean parameter controls what <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> does on receiving a protocol request of "open for delete"
+ from a Windows client. If a Windows client doesn't have permissions to delete a file then they
+ expect this to be denied at open time. POSIX systems normally only detect restrictions on delete by
+ actually attempting to delete the file or directory. As Windows clients can (and do) "back out" a
+ delete request by unsetting the "delete on close" bit Samba cannot delete the file immediately
+ on "open for delete" request as we cannot restore such a deleted file. With this parameter set to
+ true (the default) then smbd checks the file system permissions directly on "open for delete" and denies the
+ request without actually deleting the file if the file system permissions would seem to deny it.
+ This is not perfect, as it's possible a user could have deleted a file without Samba being able to
+ check the permissions correctly, but it is close enough to Windows semantics for mostly correct
+ behaviour. Samba will correctly check POSIX ACL semantics in this case.
+ </para>
+ <para>If this parameter is set to "false" Samba doesn't check permissions on "open for delete"
+ and allows the open. If the user doesn't have permission to delete the file this will only be
+ discovered at close time, which is too late for the Windows user tools to display an error message
+ to the user. The symptom of this is files that appear to have been deleted "magically" re-appearing
+ on a Windows explorer refresh. This is an extremely advanced protocol option which should not
+ need to be changed. This parameter was introduced in its final form in 3.0.21, an earlier version
+ with slightly different semantics was introduced in 3.0.20. That older version is not documented here.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml b/docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml
new file mode 100644
index 0000000..9bb1e7d
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/aclmapfullcontrol.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="acl map full control"
+ 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>
+ <manvolnum>8</manvolnum></citerefentry> maps a POSIX ACE entry of "rwx" (read/write/execute), the maximum
+ allowed POSIX permission set, into a Windows ACL of "FULL CONTROL". If this parameter is set to true any POSIX
+ ACE entry of "rwx" will be returned in a Windows ACL as "FULL CONTROL", is this parameter is set to false any
+ POSIX ACE entry of "rwx" will be returned as the specific Windows ACL bits representing read, write and
+ execute.
+ </para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/addcfunctionallevel.xml b/docs-xml/smbdotconf/protocol/addcfunctionallevel.xml
new file mode 100644
index 0000000..ed2b76b
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/addcfunctionallevel.xml
@@ -0,0 +1,64 @@
+<samba:parameter name="ad dc functional level"
+ context="G"
+ type="enum"
+ function="ad_dc_functional_level"
+ enumlist="enum_ad_functional_level"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The value of the parameter (a string) is the Active
+ Directory functional level that this Domain Controller will claim
+ to support. </para>
+
+ <para>Possible values are :</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>2008_R2</constant>: Similar to Windows
+ 2008 R2 Functional Level</para>
+ </listitem>
+ <listitem>
+ <para><constant>2012</constant>: Similar to Windows
+ 2012 Functional Level</para>
+ </listitem>
+ <listitem>
+ <para><constant>2012_R2</constant>: Similar to Windows
+ 2012 R2 Functional Level</para>
+ </listitem>
+ <listitem>
+ <para><constant>2016</constant>: Similar to Windows
+ 2016 Functional Level</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Normally this option should not be set as Samba will operate
+ per the released functionality of the Samba Active Directory
+ Domain Controller. </para>
+
+ <para>However to access incomplete features in domain functional
+ level 2016 it may be useful to
+ set this value, prior to upgrading the domain functional level. </para>
+
+ <para>If this is set manually, the protection against mismatching
+ features between domain controllers is reduced, so all domain
+ controllers should be running the same version of Samba, to ensure
+ that behaviour as seen by the client is the same no matter which
+ DC is contacted.</para>
+
+ <para>Setting this to <constant>2016</constant> will allow
+ raising the domain functional level with <command>samba-tool
+ domain level raise --domain-level=2016</command> and provide
+ access to Samba's Kerberos Claims and Dynamic Access
+ Control feature.</para>
+
+ <warning><para> The Samba's Kerberos Claims and Dynamic Access
+ Control features enabled with <constant>2016</constant> are
+ incomplete in Samba 4.19. </para></warning>
+
+
+</description>
+
+<!-- DO NOT MODIFY without discussion: take care to only update this
+ default once Samba implements the core aspects of Active
+ Directory Domain and Forest Functional Level 2016 -->
+<value type="default">2008_R2</value>
+<value type="example">2016</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/cldapport.xml b/docs-xml/smbdotconf/protocol/cldapport.xml
new file mode 100644
index 0000000..3fcb2b3
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/cldapport.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="cldap port"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the port used by the CLDAP protocol.
+</para>
+</description>
+
+<value type="default">389</value>
+<value type="example">3389</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/clientipcmaxprotocol.xml b/docs-xml/smbdotconf/protocol/clientipcmaxprotocol.xml
new file mode 100644
index 0000000..408af50
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/clientipcmaxprotocol.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="client ipc max protocol"
+ context="G"
+ type="enum"
+ function="_client_ipc_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
+ protocol level that will be supported for IPC$ connections as DCERPC transport.</para>
+
+ <para>Normally this option should not be set as the automatic
+ negotiation phase in the SMB protocol takes care of choosing
+ the appropriate protocol.</para>
+
+ <para>The value <constant>default</constant> refers to the latest
+ supported protocol, currently <constant>SMB3_11</constant>.</para>
+
+ <para>See <smbconfoption name="client max protocol"/> for a full list
+ of available protocols. The values CORE, COREPLUS, LANMAN1, LANMAN2
+ are silently upgraded to NT1.</para>
+</description>
+
+<related>client ipc min protocol</related>
+<related>client min protocol</related>
+<related>client max protocol</related>
+
+<value type="default">default</value>
+<value type="example">SMB2_10</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/clientipcminprotocol.xml b/docs-xml/smbdotconf/protocol/clientipcminprotocol.xml
new file mode 100644
index 0000000..fc04b78
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/clientipcminprotocol.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="client ipc min protocol"
+ context="G"
+ type="enum"
+ function="_client_ipc_min_protocol"
+ enumlist="enum_protocol"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This setting controls the minimum protocol version that the
+ will be attempted to use for IPC$ connections as DCERPC transport.</para>
+
+ <para>Normally this option should not be set as the automatic
+ negotiation phase in the SMB protocol takes care of choosing
+ the appropriate protocol.</para>
+
+ <para>The value <constant>default</constant> refers to the higher value
+ of <constant>NT1</constant> and the effective value of
+ <smbconfoption name="client min protocol"/>.</para>
+
+ <para>See <smbconfoption name="client max protocol"/> for a full list
+ of available protocols. The values CORE, COREPLUS, LANMAN1, LANMAN2
+ are silently upgraded to NT1.</para>
+</description>
+
+<related>client ipc max protocol</related>
+<related>client min protocol</related>
+<related>client max protocol</related>
+<value type="default">default</value>
+<value type="example">SMB3_11</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml b/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
new file mode 100644
index 0000000..784123e
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/clientmaxprotocol.xml
@@ -0,0 +1,86 @@
+<samba:parameter name="client max protocol"
+ 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
+ protocol level that will be supported by the client.</para>
+
+ <para>Possible values are :</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>CORE</constant>: Earliest version. No
+ concept of user names.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>COREPLUS</constant>: Slight improvements on
+ CORE for efficiency.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>LANMAN1</constant>: First <emphasis>modern</emphasis>
+ version of the protocol. Long filename support.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>LANMAN2</constant>: Updates to Lanman1 protocol.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>NT1</constant>: Current up to date version of the protocol.
+ Used by Windows NT. Known as CIFS.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>SMB2</constant>: Re-implementation of the SMB protocol.
+ Used by Windows Vista and later versions of Windows. SMB2 has sub protocols available.</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>SMB2_02</constant>: The earliest SMB2 version.</para>
+ </listitem>
+ <listitem>
+ <para><constant>SMB2_10</constant>: Windows 7 SMB2 version.</para>
+ </listitem>
+ </itemizedlist>
+ <para>By default SMB2 selects the SMB2_10 variant.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>SMB3</constant>: The same as SMB2.
+ Used by Windows 8. SMB3 has sub protocols available.</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>SMB3_00</constant>: Windows 8 SMB3 version.</para>
+ </listitem>
+ <listitem>
+ <para><constant>SMB3_02</constant>: Windows 8.1 SMB3 version.</para>
+ </listitem>
+ <listitem>
+ <para><constant>SMB3_11</constant>: Windows 10 SMB3 version.</para>
+ </listitem>
+ </itemizedlist>
+ <para>By default SMB3 selects the SMB3_11 variant.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Normally this option should not be set as the automatic
+ negotiation phase in the SMB protocol takes care of choosing
+ the appropriate protocol.</para>
+
+ <para>The value <constant>default</constant> refers to <constant>SMB3_11</constant>.</para>
+
+ <para>IPC$ connections for DCERPC e.g. in winbindd, are handled by the
+ <smbconfoption name="client ipc max protocol"/> option.</para>
+</description>
+
+<related>server max protocol</related>
+<related>client min protocol</related>
+<related>client ipc min protocol</related>
+<related>client ipc max protocol</related>
+
+<value type="default">default</value>
+<value type="example">LANMAN1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/clientminprotocol.xml b/docs-xml/smbdotconf/protocol/clientminprotocol.xml
new file mode 100644
index 0000000..1eb07ad
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/clientminprotocol.xml
@@ -0,0 +1,32 @@
+<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
+ client will attempt to use.</para>
+
+ <para>Normally this option should not be set as the automatic
+ negotiation phase in the SMB protocol takes care of choosing
+ the appropriate protocol unless you connect to a legacy SMB1-only server.</para>
+
+ <para>See <related>client max protocol</related> for a full list
+ of available protocols.</para>
+
+ <para>IPC$ connections for DCERPC e.g. in winbindd, are handled by the
+ <smbconfoption name="client ipc min protocol"/> option.</para>
+
+ <para>Note that most command line tools support
+ --option='client min protocol=NT1', so it may not be required to
+ enable SMB1 protocols globally in smb.conf.</para>
+</description>
+
+<related>client max protocol</related>
+<related>server min protocol</related>
+<related>client ipc min protocol</related>
+<related>client ipc max protocol</related>
+
+<value type="default">SMB2_02</value>
+<value type="example">NT1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/clientusespnego.xml b/docs-xml/smbdotconf/protocol/clientusespnego.xml
new file mode 100644
index 0000000..6740b8c
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/clientusespnego.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="client use spnego"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.13 and
+ support for NTLMv2, NTLM and LanMan authentication outside NTLMSSP
+ will be removed in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>client use spnego = yes</command>
+ will be the enforced behaviour.</para>
+
+ <para> This variable controls whether Samba clients will try
+ to use Simple and Protected NEGOtiation (as specified by rfc2478) with
+ supporting servers (including WindowsXP, Windows2000 and Samba
+ 3.0) to agree upon an authentication
+ mechanism. This enables Kerberos authentication in particular.</para>
+
+ <para>When <smbconfoption name="client NTLMv2 auth"/> is also set to
+ <constant>yes</constant> extended security (SPNEGO) is required
+ in order to use NTLMv2 only within NTLMSSP. This behavior was
+ introduced with the patches for CVE-2016-2111.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml b/docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml
new file mode 100644
index 0000000..c6642b7
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/dcerpcendpointservers.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="dcerpc endpoint servers"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies which DCE/RPC endpoint servers should be run.</para>
+</description>
+
+<value type="default">epmapper, wkssvc, samr, netlogon, lsarpc, drsuapi, dssetup, unixinfo, browser, eventlog6, backupkey, dnsserver</value>
+<value type="example">rpcecho</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/defersharingviolations.xml b/docs-xml/smbdotconf/protocol/defersharingviolations.xml
new file mode 100644
index 0000000..353dd9d
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/defersharingviolations.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="defer sharing violations"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Windows allows specifying how a file will be shared with
+ other processes when it is opened. Sharing violations occur when
+ a file is opened by a different process using options that violate
+ the share settings specified by other processes. This parameter causes
+ smbd to act as a Windows server does, and defer returning a "sharing
+ violation" error message for up to one second, allowing the client
+ to close the file causing the violation in the meantime.
+ </para>
+
+ <para>UNIX by default does not have this behaviour.</para>
+
+ <para>
+ There should be no reason to turn off this parameter, as it is
+ designed to enable Samba to more correctly emulate Windows.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/dgramport.xml b/docs-xml/smbdotconf/protocol/dgramport.xml
new file mode 100644
index 0000000..b68c81f
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/dgramport.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="dgram port"
+ context="G"
+ 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>
+</description>
+<para>This parameter is deprecated, as it is not honoured in the
+majority of the code base.</para>
+<value type="default">138</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/disablenetbios.xml b/docs-xml/smbdotconf/protocol/disablenetbios.xml
new file mode 100644
index 0000000..925861f
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/disablenetbios.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="disable netbios"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Enabling this parameter will disable netbios support
+ in Samba. Netbios is the only available form of browsing in
+ Windows versions prior to Windows 2000. </para>
+
+ <note><para>Clients that only support netbios won't be able to
+ see your samba server when netbios support is disabled.
+ </para></note>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/dnsport.xml b/docs-xml/smbdotconf/protocol/dnsport.xml
new file mode 100644
index 0000000..20d39b2
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/dnsport.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="dns port"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies which ports the server should listen on for
+ DNS traffic.</para>
+
+ <para>It makes possible to use another DNS server as a front
+ and forward to Samba.</para>
+
+ <warning>
+ <para>Dynamic DNS updates may not be proxied by the front
+ DNS server when forwarding to Samba. Dynamic DNS update
+ proxying depends on the features of the other DNS server
+ used as a front.</para>
+ </warning>
+</description>
+
+<value type="default">53</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/durablehandles.xml b/docs-xml/smbdotconf/protocol/durablehandles.xml
new file mode 100644
index 0000000..4267b29
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/durablehandles.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="durable handles"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This boolean parameter controls
+ whether Samba can grant SMB2 durable file handles on a share.
+ </para>
+ <para>
+ Note that durable handles are only enabled if
+ <smbconfoption name="kernel oplocks">no</smbconfoption>,
+ <smbconfoption name="kernel share modes">no</smbconfoption>, and
+ <smbconfoption name="posix locking">no</smbconfoption>,
+ i.e. if the share is configured for CIFS/SMB2 only access,
+ not supporting interoperability features with local UNIX processes
+ or NFS operations.
+ </para>
+ <para>
+ Also note that, for the time being, durability is not granted
+ for a handle that has the delete on close flag set.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/easupport.xml b/docs-xml/smbdotconf/protocol/easupport.xml
new file mode 100644
index 0000000..f111a4c
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/easupport.xml
@@ -0,0 +1,40 @@
+<samba:parameter name="ea support"
+ 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>
+ <manvolnum>8</manvolnum></citerefentry> will allow clients to attempt to access extended
+ attributes on a share. In order to enable this parameter on a setup with default VFS modules:
+ </para>
+ <itemizedlist>
+ <listitem><para>Samba must have been built with extended attributes support.
+ </para></listitem>
+ <listitem><para>The underlying filesystem exposed by the share must support extended
+ attributes (e.g. the getfattr<manvolnum>1</manvolnum> / setfattr<manvolnum>1</manvolnum>
+ utilities must work).
+ </para></listitem>
+ <listitem><para>Access to extended user attributes must be allowed by the underlying
+ filesystem (e.g. when mounted with a system-dependent option like user_xattr on Linux).
+ </para></listitem>
+ </itemizedlist>
+ <para>
+ This option exposes the "user" attribute namespace from the underlying filesystem to
+ clients. In order to match Windows conventions, the namespace prefix ("user.") is
+ stripped from the attribute name on the client side. The handling of further attribute
+ namespaces (like "security", "system", or "trusted") is not affected by this option.
+ </para>
+ <para>
+ Note that the SMB protocol allows setting attributes whose value is 64K bytes long,
+ and that on NTFS, the maximum storage space for extended attributes per file is 64K.
+ On some filesystem the limits may be lower. Filesystems with too limited EA
+ space may experience unexpected weird effects.
+
+
+ The default has changed to yes in Samba release 4.9.0 and above to allow better Windows
+ fileserver compatibility in a default install.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/enableasusupport.xml b/docs-xml/smbdotconf/protocol/enableasusupport.xml
new file mode 100644
index 0000000..2f05b01
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/enableasusupport.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="enable asu support"
+ 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 accommodations such as creating a builtin [ADMIN$]
+ share that only supports IPC connections. The has been the default
+ behavior in smbd for many years. However, certain Microsoft applications
+ such as the Print Migrator tool require that the remote server support
+ an [ADMIN$] file share. Disabling this parameter allows for creating
+ an [ADMIN$] file share in smb.conf.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/eventloglist.xml b/docs-xml/smbdotconf/protocol/eventloglist.xml
new file mode 100644
index 0000000..6d0b400
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/eventloglist.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="eventlog list"
+ type="cmdlist"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option defines a list of log names that Samba will
+ report to the Microsoft EventViewer utility. The listed
+ eventlogs will be associated with tdb file on disk in the
+ <filename>$(statedir)/eventlog</filename>.
+ </para>
+
+ <para>
+ The administrator must use an external process to parse the normal
+ Unix logs such as <filename>/var/log/messages</filename>
+ and write then entries to the eventlog tdb files. Refer to the
+ eventlogadm(8) utility for how to write eventlog entries.
+ </para>
+</description>
+
+<value type="default"/>
+<value type="example">Security Application Syslog Apache</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/largereadwrite.xml b/docs-xml/smbdotconf/protocol/largereadwrite.xml
new file mode 100644
index 0000000..e7142d1
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/largereadwrite.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="large readwrite"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter determines whether or not
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> supports the new 64k
+ streaming read and write variant SMB requests introduced with
+ Windows 2000. Note that due to Windows 2000 client redirector bugs
+ this requires Samba to be running on a 64-bit capable operating
+ system such as IRIX, Solaris or a Linux 2.4 kernel. Can improve
+ performance by 10% with Windows 2000 clients. Defaults to on. Not as
+ tested as some other Samba code paths.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/lsaovernetlogon.xml b/docs-xml/smbdotconf/protocol/lsaovernetlogon.xml
new file mode 100644
index 0000000..d67be29
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/lsaovernetlogon.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="lsa over netlogon"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Setting this deprecated option will allow the RPC server
+ in the AD DC to answer the LSARPC interface on the
+ <command>\pipe\netlogon</command> IPC pipe.</para>
+
+ <para>When enabled, this matches the behaviour of Microsoft's
+ Windows, due to their internal implementation choices.</para>
+
+ <para>If it is disabled (the default), the AD DC can offer
+ improved performance, as the netlogon server is decoupled and
+ can run as multiple processes.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/mapaclinherit.xml b/docs-xml/smbdotconf/protocol/mapaclinherit.xml
new file mode 100644
index 0000000..c248a33
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/mapaclinherit.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="map acl inherit"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean parameter is only relevant for systems that do not support
+ standardized NFS4 ACLs but only a POSIX draft implementation of ACLs. Linux
+ is the only common UNIX system which does still not offer standardized NFS4
+ ACLs actually. On such systems this parameter controls whether
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will attempt to map the 'protected'
+ (don't inherit) flags of the Windows ACLs into an extended attribute called
+ user.SAMBA_PAI (POSIX draft ACL Inheritance). This parameter requires
+ support for extended attributes on the filesystem and allows the Windows
+ ACL editor to store (non-)inheritance information while NT ACLs are mapped
+ best-effort to the POSIX draft ACLs that the OS and filesystem implements.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/maxmux.xml b/docs-xml/smbdotconf/protocol/maxmux.xml
new file mode 100644
index 0000000..ab50001
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/maxmux.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="max mux"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the maximum number of
+ outstanding simultaneous SMB operations that Samba tells the client
+ it will allow. You should never need to set this parameter.</para>
+</description>
+
+<value type="default">50</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/maxttl.xml b/docs-xml/smbdotconf/protocol/maxttl.xml
new file mode 100644
index 0000000..c340ad1
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/maxttl.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="max ttl"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> what the default 'time to live'
+ of NetBIOS names should be (in seconds) when <command moreinfo="none">nmbd</command> is
+ requesting a name using either a broadcast packet or from a WINS server. You should
+ never need to change this parameter. The default is 3 days.</para>
+</description>
+<value type="default">259200</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/maxxmit.xml b/docs-xml/smbdotconf/protocol/maxxmit.xml
new file mode 100644
index 0000000..d7bd66c
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/maxxmit.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="max xmit"
+ context="G"
+ type="bytes"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the maximum packet size
+ that will be negotiated by Samba's
+ <citerefentry><refentrytitle>smbd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ for the SMB1 protocol. The default is 16644, which
+ matches the behavior of Windows 2000. A value below 2048 is likely to cause problems.
+ You should never need to change this parameter from its default value.
+</para>
+</description>
+
+<value type="default">16644</value>
+<value type="example">8192</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/minreceivefilesize.xml b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
new file mode 100644
index 0000000..ce0ea30
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/minreceivefilesize.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="min receivefile size"
+ type="bytes"
+ context="G"
+ 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
+SMBwriteX call on a non-signed SMB/CIFS connection greater than this value will not be processed in the normal way but will
+be passed to any underlying kernel recvfile or splice system call (if there is no such
+call Samba will emulate in user space). This allows zero-copy writes directly from network
+socket buffers into the filesystem buffer cache, if available. It may improve performance
+but user testing is recommended. If set to zero Samba processes SMBwriteX calls in the
+normal way. To enable POSIX large write support (SMB/CIFS writes up to 16Mb) this option must be
+nonzero. The maximum value is 128k. Values greater than 128k will be silently set to 128k.</para>
+<para>Note this option will have NO EFFECT if set on a SMB signed connection.</para>
+<para>The default is zero, which disables this option.</para>
+</description>
+
+<related>min receivefile size</related>
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/nameresolveorder.xml b/docs-xml/smbdotconf/protocol/nameresolveorder.xml
new file mode 100644
index 0000000..b85d060
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/nameresolveorder.xml
@@ -0,0 +1,70 @@
+<samba:parameter name="name resolve order"
+ context="G"
+ type="cmdlist"
+ handler="handle_name_resolve_order"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option is used by the programs in the Samba
+ suite to determine what naming services to use and in what order
+ to resolve host names to IP addresses. Its main purpose to is to
+ control how netbios name resolution is performed. The option takes a space
+ separated string of name resolution options.</para>
+
+ <para>The options are: &quot;lmhosts&quot;, &quot;host&quot;,
+ &quot;wins&quot; and &quot;bcast&quot;. They cause names to be
+ resolved as follows:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <constant>lmhosts</constant> : Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has
+ no name type attached to the NetBIOS name (see the manpage for lmhosts for details) then
+ any name type matches for lookup.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <constant>host</constant> : Do a standard host name to IP address resolution, using the system
+ <filename moreinfo="none">/etc/hosts </filename> or DNS lookups. This method of name resolution is
+ operating system depended for instance on IRIX or Solaris this may be controlled by the <filename
+ moreinfo="none">/etc/nsswitch.conf</filename> file. Note that this method is used only if the NetBIOS name
+ type being queried is the 0x20 (server) name type or 0x1c (domain controllers). The latter case is only
+ useful for active directory domains and results in a DNS query for the SRV RR entry matching
+ _ldap._tcp.domain.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><constant>wins</constant> : Query a name with
+ the IP address listed in the <smbconfoption name="WINSSERVER"><parameter moreinfo="none">
+ wins server</parameter></smbconfoption> parameter. If no WINS server has
+ been specified this method will be ignored.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>bcast</constant> : Do a broadcast on
+ each of the known local interfaces listed in the <smbconfoption name="interfaces"/>
+ parameter. This is the least reliable of the name resolution
+ methods as it depends on the target host being on a locally
+ connected subnet.</para>
+ </listitem>
+</itemizedlist>
+
+ <para>The example below will cause the local lmhosts file to be examined
+ first, followed by a broadcast attempt, followed by a normal
+ system hostname lookup.</para>
+
+ <para>When Samba is functioning in ADS security mode (<command moreinfo="none">security = ads</command>)
+ it is advised to use following settings for <parameter moreinfo="none">name resolve order</parameter>:</para>
+
+ <para><command moreinfo="none">name resolve order = wins bcast</command></para>
+
+ <para>DC lookups will still be done via DNS, but fallbacks to netbios names will
+ not inundate your DNS servers with needless queries for DOMAIN&lt;0x1c&gt; lookups.</para>
+
+</description>
+
+<value type="default">lmhosts wins host bcast</value>
+<value type="example">lmhosts bcast host</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/nbtport.xml b/docs-xml/smbdotconf/protocol/nbtport.xml
new file mode 100644
index 0000000..7070b98
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/nbtport.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="nbt port"
+ context="G"
+ 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
+ services traffic.</para>
+</description>
+
+<para>This parameter is deprecated, as it is not honoured in the
+majority of the code base.</para>
+<value type="default">137</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/ntaclsupport.xml b/docs-xml/smbdotconf/protocol/ntaclsupport.xml
new file mode 100644
index 0000000..f1577dd
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/ntaclsupport.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="nt acl support"
+ 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>
+ <manvolnum>8</manvolnum></citerefentry> will attempt to map
+ UNIX permissions into Windows NT access control lists. The UNIX
+ permissions considered are the traditional UNIX owner and
+ group permissions, as well as filesystem ACLs set on any files or
+ directories. This parameter was formally a global parameter in
+ releases prior to 2.2.2.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/ntpipesupport.xml b/docs-xml/smbdotconf/protocol/ntpipesupport.xml
new file mode 100644
index 0000000..907dee1
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/ntpipesupport.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="nt pipe support"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean parameter controls whether
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will allow Windows NT
+ clients to connect to the NT SMB specific <constant>IPC$</constant>
+ pipes. This is a developer debugging option and can be left
+ alone.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/ntstatussupport.xml b/docs-xml/smbdotconf/protocol/ntstatussupport.xml
new file mode 100644
index 0000000..07d3462
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/ntstatussupport.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="nt status support"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean parameter controls whether <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will negotiate NT specific status
+ support with Windows NT/2k/XP clients. This is a developer debugging option and should be left alone.
+ If this option is set to <constant>no</constant> then Samba offers
+ exactly the same DOS error codes that versions prior to Samba 2.2.3
+ reported.</para>
+
+ <para>You should not need to ever disable this parameter.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/readraw.xml b/docs-xml/smbdotconf/protocol/readraw.xml
new file mode 100644
index 0000000..a467f52
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/readraw.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="read raw"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is ignored if <smbconfoption name="async smb echo handler"/> is set,
+ because this feature is incompatible with raw read SMB requests</para>
+
+ <para>If enabled, raw reads allow reads of 65535 bytes in
+ one packet. This typically provides a major performance benefit for some very, very old clients.
+ </para>
+
+ <para>However, some clients either negotiate the allowable
+ block size incorrectly or are incapable of supporting larger block
+ sizes, and for these clients you may need to disable raw reads.</para>
+
+<para>In general this parameter should be viewed as a system tuning
+ tool and left severely alone.</para>
+</description>
+
+<value type="default">yes</value>
+
+<related>write raw</related>
+<related>async smb echo handler</related>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/rpcbigendian.xml b/docs-xml/smbdotconf/protocol/rpcbigendian.xml
new file mode 100644
index 0000000..5f7c5b6
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/rpcbigendian.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="rpc big endian"
+ context="G"
+ 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
+ transfer data in big endian.</para>
+
+ <para>If it is disabled, data will be transferred in little endian.</para>
+
+ <para>The behaviour is independent of the endianness of the host machine.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/rpcserverport.xml b/docs-xml/smbdotconf/protocol/rpcserverport.xml
new file mode 100644
index 0000000..0fd87d6
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/rpcserverport.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="rpc server port"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies which port the server should listen on for DCE/RPC over TCP/IP traffic.</para>
+ <para>This controls the default port for all protocols, except for NETLOGON.</para>
+ <para>If unset, the first available port from <smbconfoption name="rpc server dynamic port range"/> is used, e.g. 49152.</para>
+ <para>The NETLOGON server will use the next available port, e.g. 49153. To change this port use (eg) rpc server port:netlogon = 4000.</para>
+ <para>Furthermore, all RPC servers can have the port they use specified independenty, with (for example) rpc server port:drsuapi = 5000.</para>
+
+ <para>This option applies currently only when
+ <citerefentry><refentrytitle>samba</refentrytitle> <manvolnum>8</manvolnum></citerefentry>
+ runs as an active directory domain controller.</para>
+
+ <para>The default value 0 causes Samba to select the first available port from <smbconfoption name="rpc server dynamic port range"/>.</para>
+</description>
+
+<related>rpc server dynamic port range</related>
+
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/servermaxprotocol.xml b/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
new file mode 100644
index 0000000..815841d
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/servermaxprotocol.xml
@@ -0,0 +1,69 @@
+<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
+ protocol level that will be supported by the server.</para>
+
+ <para>Possible values are :</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>LANMAN1</constant>: First <emphasis>modern</emphasis>
+ version of the protocol. Long filename support.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>LANMAN2</constant>: Updates to Lanman1 protocol.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>NT1</constant>: Current up to date version of the protocol.
+ Used by Windows NT. Known as CIFS.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>SMB2</constant>: Re-implementation of the SMB protocol.
+ Used by Windows Vista and later versions of Windows. SMB2 has sub protocols available.</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>SMB2_02</constant>: The earliest SMB2 version.</para>
+ </listitem>
+ <listitem>
+ <para><constant>SMB2_10</constant>: Windows 7 SMB2 version.</para>
+ </listitem>
+ </itemizedlist>
+ <para>By default SMB2 selects the SMB2_10 variant.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>SMB3</constant>: The same as SMB2.
+ Used by Windows 8. SMB3 has sub protocols available.</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>SMB3_00</constant>: Windows 8 SMB3 version.</para>
+ </listitem>
+ <listitem>
+ <para><constant>SMB3_02</constant>: Windows 8.1 SMB3 version.</para>
+ </listitem>
+ <listitem>
+ <para><constant>SMB3_11</constant>: Windows 10 SMB3 version.</para>
+ </listitem>
+ </itemizedlist>
+ <para>By default SMB3 selects the SMB3_11 variant.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Normally this option should not be set as the automatic
+ negotiation phase in the SMB protocol takes care of choosing
+ the appropriate protocol.</para>
+</description>
+
+<related>server min protocol</related>
+<synonym>max protocol</synonym>
+<synonym>protocol</synonym>
+
+<value type="default">SMB3</value>
+<value type="example">LANMAN1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/serverminprotocol.xml b/docs-xml/smbdotconf/protocol/serverminprotocol.xml
new file mode 100644
index 0000000..1079eb8
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/serverminprotocol.xml
@@ -0,0 +1,23 @@
+<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>
+ <para>This setting controls the minimum protocol version that the server
+ will allow the client to use.</para>
+
+ <para>Normally this option should not be set as the automatic negotiation
+ phase in the SMB protocol takes care of choosing the appropriate
+ protocol unless you have legacy clients which are SMB1 capable only.</para>
+
+ <para>See <related>server max protocol</related> for a full list
+ of available protocols.</para>
+</description>
+
+<related>server max protocol</related>
+
+<value type="default">SMB2_02</value>
+<value type="example">NT1</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/servermultichannelsupport.xml b/docs-xml/smbdotconf/protocol/servermultichannelsupport.xml
new file mode 100644
index 0000000..1056271
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/servermultichannelsupport.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="server multi channel support"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean parameter controls whether
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will support
+ SMB3 multi-channel.
+ </para>
+ <para>This parameter was added with version 4.4.</para>
+ <para>
+ Note that this feature was still considered experimental up to 4.14.
+ </para>
+
+ <para>Due to dependencies to kernel APIs of Linux or FreeBSD, it's only possible
+ to use this feature on Linux and FreeBSD for now. For testing this restriction
+ can be overwritten by specifying <constant>force:server multi channel support=yes</constant>
+ in addition.</para>
+
+ <para>
+ This option is enabled by default starting with to 4.15 (on Linux and FreeBSD).
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/sharefakefscaps.xml b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml
new file mode 100644
index 0000000..11f4955
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="share:fake_fscaps"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ This is needed to support some special application that makes
+ QFSINFO calls to check whether we set the SPARSE_FILES bit
+ (0x40). If this bit is not set that particular application
+ refuses to work against
+ Samba. With <smbconfoption name="share:fake_fscaps">64</smbconfoption>
+ the SPARSE_FILES file system capability flag is set. Use other
+ decimal values to specify the bitmask you need to fake.
+ </para>
+
+</description>
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb1unixextensions.xml b/docs-xml/smbdotconf/protocol/smb1unixextensions.xml
new file mode 100644
index 0000000..b1fcf6b
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb1unixextensions.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="smb1 unix extensions"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>unix extensions</synonym>
+ <description>
+ <para>This boolean parameter controls whether Samba
+ implements the SMB1/CIFS UNIX extensions, as defined by HP.
+ These extensions enable Samba to better serve UNIX SMB1/CIFS clients
+ by supporting features such as symbolic links, hard links, etc...
+ These extensions require a similarly enabled client, and are of
+ no current use to Windows clients.</para>
+ <para>
+ Note if this parameter is turned on, the <smbconfoption name="wide links"/>
+ parameter will automatically be disabled.
+ </para>
+ <para>
+ See the parameter <smbconfoption name="allow insecure wide links"/>
+ if you wish to change this coupling between the two parameters.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb2_disable_lock_sequence_checking.xml b/docs-xml/smbdotconf/protocol/smb2_disable_lock_sequence_checking.xml
new file mode 100644
index 0000000..3a33b8b
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb2_disable_lock_sequence_checking.xml
@@ -0,0 +1,41 @@
+<samba:parameter name="smb2 disable lock sequence checking"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean parameter controls whether
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will disable
+ lock sequence checking even for multi-channel connections
+ as well as durable handles.
+ </para>
+
+ <para>The [MS-SMB2] specification (under 3.3.5.14 Receiving an SMB2 LOCK Request)
+ documents that a server should do lock sequence if Open.IsResilient or Open.IsDurable
+ or Open.IsPersistent is TRUE or if Connection.Dialect belongs to the SMB 3.x dialect
+ family and Connection.ServerCapabilities includes SMB2_GLOBAL_CAP_MULTI_CHANNEL.
+ </para>
+
+ <para>But Windows Server (at least up to v2004) only does these checks
+ for the Open.IsResilient and Open.IsPersistent.
+ That means they do not implement the behavior specified
+ in [MS-SMB2].</para>
+
+ <para>By default Samba behaves according to the specification
+ and implements lock sequence checking when multi-channel is used.</para>
+
+ <para>Warning: Only enable this option if existing clients can't
+ handle lock sequence checking for handles without Open.IsResilient and Open.IsPersistent.
+ And it turns out that the Windows Server behavior is required.</para>
+
+ <para>Note: it's likely that this option will be removed again
+ if future Windows versions change their behavior.</para>
+
+ <para>Note: Samba does not implement Open.IsResilient and Open.IsPersistent yet.</para>
+</description>
+
+<related>server multi channel support</related>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb2_disable_oplock_break_retry.xml b/docs-xml/smbdotconf/protocol/smb2_disable_oplock_break_retry.xml
new file mode 100644
index 0000000..1b67100
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb2_disable_oplock_break_retry.xml
@@ -0,0 +1,39 @@
+<samba:parameter name="smb2 disable oplock break retry"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean parameter controls whether
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will trigger
+ smb2 oplock break notification retries when using
+ <smbconfoption name="server multi channel support">yes</smbconfoption>.
+ </para>
+
+ <para>The [MS-SMB2] specification documents that a server should
+ send smb2 oplock break notification retries on all available channel
+ to the given client.</para>
+
+ <para>But Windows Server versions (at least up to 2019) do not send
+ smb2 oplock break notification retries on channel failures.
+ That means they do not implement the behavior specified
+ in [MS-SMB2].</para>
+
+ <para>By default Samba behaves according to the specification
+ and send smb2 oplock break notification retries.</para>
+
+ <para>Warning: Only enable this option if existing clients can't
+ handle possible retries and it turns out that the Windows Server
+ behavior is required.</para>
+
+ <para>Note: it's likely that this option gets removed again
+ if future Windows versions change their behavior.</para>
+
+ <para>Note: this only applies to oplocks and not SMB2 leases.</para>
+</description>
+
+<related>server multi channel support</related>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxcredits.xml b/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
new file mode 100644
index 0000000..90bc622
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb2maxcredits.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="smb2 max credits"
+ type="integer"
+ context="G"
+ 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
+that Samba tells the client it will allow. This is similar to the <smbconfoption name="max mux"/>
+parameter for SMB1. You should never need to set this parameter.
+</para>
+<para>The default is 8192 credits, which is the same as a Windows 2008R2 SMB2 server.</para>
+</description>
+
+<value type="default">8192</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxread.xml b/docs-xml/smbdotconf/protocol/smb2maxread.xml
new file mode 100644
index 0000000..01f9583
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb2maxread.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="smb2 max read"
+ type="bytes"
+ 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
+size that may be returned by a single SMB2 read call.
+</para>
+<para>The maximum is 8388608 bytes (8MiB), which is the same as a Windows Server 2012 r2.</para>
+<para>Please note that the default is 8MiB, but it's limit is based on the
+smb2 dialect (64KiB for SMB == 2.0, 8MiB for SMB >= 2.1 with LargeMTU).
+Large MTU is not supported over NBT (tcp port 139).</para>
+</description>
+
+<related>smb2 max write</related>
+<related>smb2 max trans</related>
+<value type="default">8388608</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxtrans.xml b/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
new file mode 100644
index 0000000..5586d3f
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb2maxtrans.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="smb2 max trans"
+ type="bytes"
+ 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
+size of buffer that may be used in querying file meta-data via QUERY_INFO and related SMB2 calls.
+</para>
+<para>The maximum is 8388608 bytes (8MiB), which is the same as a Windows Server 2012 r2.</para>
+<para>Please note that the default is 8MiB, but it's limit is based on the
+smb2 dialect (64KiB for SMB == 2.0, 1MiB for SMB >= 2.1 with LargeMTU).
+Large MTU is not supported over NBT (tcp port 139).</para>
+</description>
+
+<related>smb2 max read</related>
+<related>smb2 max write</related>
+<value type="default">8388608</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb2maxwrite.xml b/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
new file mode 100644
index 0000000..f895a04
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb2maxwrite.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="smb2 max write"
+ type="bytes"
+ 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
+size that may be sent to the server by a single SMB2 write call.
+</para>
+<para>The maximum is 8388608 bytes (8MiB), which is the same as a Windows Server 2012 r2.</para>
+<para>Please note that the default is 8MiB, but it's limit is based on the
+smb2 dialect (64KiB for SMB == 2.0, 8MiB for SMB => 2.1 with LargeMTU).
+Large MTU is not supported over NBT (tcp port 139).</para>
+</description>
+
+<related>smb2 max read</related>
+<related>smb2 max trans</related>
+<value type="default">8388608</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb3sharecaps.xml b/docs-xml/smbdotconf/protocol/smb3sharecaps.xml
new file mode 100644
index 0000000..add89f1
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb3sharecaps.xml
@@ -0,0 +1,202 @@
+<samba:parameter name="smb3 share cap:CONTINUOUS AVAILABILITY"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The SMB3 protocol introduced the SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY
+ flag. It means clients can have different expectations from the
+ server (or cluster of servers).
+ </para>
+
+ <para>
+ Note: this option only applies to disk shares.
+ </para>
+
+ <para>In a ctdb cluster shares are continuously available,
+ but windows clients mix this with the global persistent
+ handles support.
+ </para>
+
+ <para>Persistent handles are requested if
+ SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY is present
+ even without SMB2_CAP_PERSISTENT_HANDLES.
+ </para>
+
+ <para>And SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY is
+ required for SMB2_SHARE_CAP_CLUSTER to have
+ an effect.
+ </para>
+
+ <para>So we better don't announce this by default
+ until we support persistent handles.
+ </para>
+
+ <para>The <smbconfoption name="smb3 share cap:CONTINUOUS AVAILABILITY"/> option
+ can be used to force the announcement of SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY.
+ </para>
+
+ <para>
+ Warning: only use this if you know what you are doing!
+ </para>
+
+ <programlisting>
+ smb3 share cap:CONTINUOUS AVAILABILITY = yes
+ </programlisting>
+</description>
+<related>smb3 share cap:CLUSTER</related>
+</samba:parameter>
+
+<samba:parameter name="smb3 share cap:SCALE OUT"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The SMB3 protocol introduced the SMB2_SHARE_CAP_SCALEOUT
+ flag. It means clients can have different expectations from
+ cluster of multiple servers and alters the retry/reconnect
+ behavior.
+ </para>
+
+ <para>
+ Note: this option only applies to disk shares.
+ </para>
+
+ <para>In a ctdb cluster we have multiple active nodes,
+ so we announce SMB2_SHARE_CAP_SCALEOUT in a cluster.
+ </para>
+
+ <para>The <smbconfoption name="smb3 share cap:SCALE OUT"/> option
+ can be used to disable the announcement of SMB2_SHARE_CAP_SCALEOUT,
+ even if <smbconfoption name="clustering"/> is yes.
+ </para>
+
+ <programlisting>
+ clustering = yes
+ smb3 share cap: SCALE OUT = no
+ </programlisting>
+</description>
+<related>clustering</related>
+</samba:parameter>
+
+<samba:parameter name="smb3 share cap:CLUSTER"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The SMB3 protocol introduced the SMB2_SHARE_CAP_CLUSTER
+ flag. It means clients can expect that all cluster nodes
+ provide a witness service in order to use the [MS-SWN]
+ protocol to monitor the server cluster.
+ </para>
+
+ <para>
+ Note: this option only applies to disk shares.
+ </para>
+
+ <para>rpcd_witness is only active if
+ <citerefentry><refentrytitle>samba-dcerpcd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ is not started as on demand helper and only in a ctdb cluster.
+ </para>
+
+ <para>So we announce SMB2_SHARE_CAP_CLUSTER only if
+ <smbconfoption name="clustering"/> is yes and
+ <smbconfoption name="rpc start on demand helpers"/> is no.
+ </para>
+
+ <para>The <smbconfoption name="smb3 share cap:SCALE OUT"/> option
+ can be used to control the announcement of SMB2_SHARE_CAP_CLUSTER
+ independent of
+ <smbconfoption name="clustering"/> and
+ <smbconfoption name="rpc start on demand helpers"/>.
+ </para>
+
+ <para>Example to disable the announcement of SMB2_SHARE_CAP_CLUSTER:
+ </para>
+ <programlisting>
+ clustering = yes
+ rpc start on demand helpers = no
+ smb3 share cap: CLUSTER = no
+ </programlisting>
+
+ <para>Example to force the announcement of SMB2_SHARE_CAP_CLUSTER:
+ </para>
+ <programlisting>
+ smb3 share cap: CLUSTER = yes
+ </programlisting>
+
+ <para>Example to let Windows clients use the witness service,
+ see <smbconfoption name="smb3 share cap:CONTINUOUS AVAILABILITY"/> option
+ and USE AT YOUR OWN RISK!:
+ </para>
+
+ <programlisting>
+ clustering = yes
+ rpc start on demand helpers = no
+ # This is the default with the above:
+ # smb3 share cap: CLUSTER = yes
+ #
+ # Use at you own risk!
+ smb3 share cap: CONTINUOUS AVAILABILITY = yes
+ </programlisting>
+</description>
+<related>clustering</related>
+<related>rpc start on demand helpers</related>
+<related>smb3 share cap:CONTINUOUS AVAILABILITY</related>
+<related>smb3 share cap:ASYMMETRIC</related>
+</samba:parameter>
+
+<samba:parameter name="smb3 share cap:ASYMMETRIC"
+ context="S"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The SMB3_02 protocol introduced the SMB2_SHARE_CAP_ASYMMETRIC
+ flag. It means clients alters its behavior and uses
+ isolated transport connections and witness registrations for
+ the share. It means a client may connect to different
+ cluster nodes for individual shares and
+ <command>net witness share-move</command> can be used
+ to control the node usage.
+ </para>
+
+ <para>
+ Note: this option only applies to disk shares.
+ </para>
+
+ <para>Shares in a ctdb cluster are symmetric by design,
+ so we don't announce SMB2_SHARE_CAP_ASYMMETRIC by default.
+ </para>
+
+ <para>The <smbconfoption name="smb3 share cap:ASYMMETRIC"/> option
+ can be used to force the announcement of SMB2_SHARE_CAP_ASYMMETRIC.
+ </para>
+
+ <para>Example to force the announcement of SMB2_SHARE_CAP_ASYMMETRIC:
+ </para>
+
+ <programlisting>
+ smb3 share cap: ASYMMETRIC = yes
+ </programlisting>
+
+ <para>Example to let Windows clients use the witness service,
+ see <smbconfoption name="smb3 share cap:CONTINUOUS AVAILABILITY"/> option
+ and USE AT YOUR OWN RISK!:
+ </para>
+
+ <programlisting>
+ clustering = yes
+ rpc start on demand helpers = no
+ # This is the default with the above:
+ # smb3 share cap: CLUSTER = yes
+ #
+ # Use at you own risk!
+ smb3 share cap: CONTINUOUS AVAILABILITY = yes
+ smb3 share cap: ASYMMETRIC = yes
+ </programlisting>
+</description>
+<related>smb3 share cap:CLUSTER</related>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smb3unixextensions.xml b/docs-xml/smbdotconf/protocol/smb3unixextensions.xml
new file mode 100644
index 0000000..4c03199
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smb3unixextensions.xml
@@ -0,0 +1,9 @@
+<samba:parameter name="smb3 unix extensions"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>Experimental SMB 3.1.1 Unix Extensions.</para>
+ </description>
+ <value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/smbports.xml b/docs-xml/smbdotconf/protocol/smbports.xml
new file mode 100644
index 0000000..ec1df65
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/smbports.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="smb ports"
+ context="G"
+ type="cmdlist"
+ 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>
+</description>
+
+<value type="default">445 139</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/svcctllist.xml b/docs-xml/smbdotconf/protocol/svcctllist.xml
new file mode 100644
index 0000000..826bf70
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/svcctllist.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="svcctl list"
+ type="cmdlist"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option defines a list of init scripts that smbd
+ will use for starting and stopping Unix services via the Win32
+ ServiceControl API. This allows Windows administrators to
+ utilize the MS Management Console plug-ins to manage a
+ Unix server running Samba.</para>
+
+ <para>The administrator must create a directory
+ name <filename>svcctl</filename> in Samba's $(libdir)
+ and create symbolic links to the init scripts in
+ <filename>/etc/init.d/</filename>. The name of the links
+ must match the names given as part of the <parameter>svcctl list</parameter>.
+ </para>
+</description>
+
+<value type="default"/>
+<value type="example">cups postfix portmap httpd</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/timeserver.xml b/docs-xml/smbdotconf/protocol/timeserver.xml
new file mode 100644
index 0000000..ceefbd3
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/timeserver.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="time server"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter determines if <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> advertises itself as a time server to Windows
+clients.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/unicode.xml b/docs-xml/smbdotconf/protocol/unicode.xml
new file mode 100644
index 0000000..25810cd
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/unicode.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="unicode"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies whether the server and client should support unicode.</para>
+
+ <para>If this option is set to false, the use of ASCII will be forced.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/protocol/writeraw.xml b/docs-xml/smbdotconf/protocol/writeraw.xml
new file mode 100644
index 0000000..9a3d11f
--- /dev/null
+++ b/docs-xml/smbdotconf/protocol/writeraw.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="write raw"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is ignored if <smbconfoption name="async smb echo handler"/> is set,
+ because this feature is incompatible with raw write SMB requests</para>
+
+ <para>If enabled, raw writes allow writes of 65535 bytes in
+ one packet. This typically provides a major performance benefit for some very, very old clients.
+ </para>
+
+ <para>However, some clients either negotiate the allowable
+ block size incorrectly or are incapable of supporting larger block
+ sizes, and for these clients you may need to disable raw writes.</para>
+
+<para>In general this parameter should be viewed as a system tuning
+ tool and left severely alone.</para>
+</description>
+
+<value type="default">yes</value>
+
+<related>read raw</related>
+<related>async smb echo handler</related>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/rpc/rpcserverdynamicportrange.xml b/docs-xml/smbdotconf/rpc/rpcserverdynamicportrange.xml
new file mode 100644
index 0000000..e8d7268
--- /dev/null
+++ b/docs-xml/smbdotconf/rpc/rpcserverdynamicportrange.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="rpc server dynamic port range"
+ context="G"
+ type="string"
+ handler="handle_rpc_server_dynamic_port_range"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter tells the RPC server which port range it is
+ allowed to use to create a listening socket for LSA, SAM,
+ Netlogon and others without wellknown tcp ports.
+ The first value is the lowest number of the port
+ range and the second the highest.
+ </para>
+ <para>
+ This applies to RPC servers in all server roles.
+ </para>
+</description>
+
+<related>rpc server port</related>
+
+<value type="default">49152-65535</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/rpc/rpcstartondemandhelpers.xml b/docs-xml/smbdotconf/rpc/rpcstartondemandhelpers.xml
new file mode 100644
index 0000000..5f97381
--- /dev/null
+++ b/docs-xml/smbdotconf/rpc/rpcstartondemandhelpers.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="rpc start on demand helpers"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This global parameter determines if <command>samba-dcerpcd</command>
+ should be started on demand to service named pipe (np) DCE-RPC requests from
+ <command>smbd</command> or <command>winbindd</command>. This is the
+ normal case where no startup scripts have been modified to start
+ <command>samba-dcerpcd</command> as a daemon.
+ </para>
+ <para>
+ If <command>samba-dcerpcd</command> is started as a daemon
+ or via a system service manager such as systemd, this parameter
+ MUST be set to "no", otherwise <command>samba-dcerpcd</command>
+ will fail to start.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/accessbasedshareenum.xml b/docs-xml/smbdotconf/security/accessbasedshareenum.xml
new file mode 100644
index 0000000..4557465
--- /dev/null
+++ b/docs-xml/smbdotconf/security/accessbasedshareenum.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="access based share enum"
+ type="boolean"
+ context="S"
+ 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
+ to users who have read or write access to the share during share
+ enumeration (for example net view \\sambaserver). The share ACLs
+ which allow or deny the access to the share can be modified using
+ for example the <command moreinfo="none">sharesec</command> command
+ or using the appropriate Windows tools. This has
+ parallels to access based enumeration, the main difference being
+ that only share permissions are evaluated, and security
+ descriptors on files contained on the share are not used in
+ computing enumeration access rights.</para>
+ </description>
+ <value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/aclclaimsevaluation.xml b/docs-xml/smbdotconf/security/aclclaimsevaluation.xml
new file mode 100644
index 0000000..ab72617
--- /dev/null
+++ b/docs-xml/smbdotconf/security/aclclaimsevaluation.xml
@@ -0,0 +1,42 @@
+<samba:parameter name="acl claims evaluation"
+ context="G"
+ type="enum"
+ enumlist="enum_acl_claims_evaluation"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the way Samba handles evaluation of
+ security descriptors in Samba, with regards to Active
+ Directory Claims. AD Claims, introduced with Windows 2012,
+ are essentially administrator-defined key-value pairs that can
+ be set both in Active Directory (communicated via the Kerberos
+ PAC) and in the security descriptor themselves.
+ </para>
+
+ <para>Active Directory claims are new with Samba 4.20.
+ Because the claims are evaluated against a very flexible
+ expression language within the security descriptor, this option provides a mechanism
+ to disable this logic if required by the administrator.</para>
+
+ <para>This default behaviour is that claims evaluation is
+ enabled in the AD DC only. Additionally, claims evaluation on
+ the AD DC is only enabled if the DC functional level
+ is 2012 or later. See <smbconfoption name="ad dc functional
+ level"/>.</para>
+
+ <para>Possible values are :</para>
+ <itemizedlist>
+ <listitem>
+ <para><constant>AD DC only</constant>: Enabled for the Samba AD
+ DC (for DC functional level 2012 or higher).</para>
+ </listitem>
+ <listitem>
+ <para><constant>never</constant>: Disabled in all cases.
+ This option disables some but not all of the
+ Authentication Policies and Authentication Policy Silos features of
+ the Windows 2012R2 functional level in the AD DC.</para>
+ </listitem>
+ </itemizedlist>
+</description>
+
+<value type="default">AD DC only</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/aclflaginheritedcanonicalization.xml b/docs-xml/smbdotconf/security/aclflaginheritedcanonicalization.xml
new file mode 100644
index 0000000..b306b2b
--- /dev/null
+++ b/docs-xml/smbdotconf/security/aclflaginheritedcanonicalization.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="acl flag inherited canonicalization"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the way Samba handles client requests setting
+ the Security Descriptor of files and directories and the effect the
+ operation has on the Security Descriptor flag &quot;DACL
+ auto-inherited&quot; (DI). Generally, this flag is set on a file (or
+ directory) upon creation if the parent directory has DI set and also has
+ inheritable ACEs.
+ </para>
+
+ <para>On the other hand when a Security Descriptor is explicitly set on
+ a file, the DI flag is cleared, unless the flag &quot;DACL Inheritance
+ Required&quot; (DR) is also set in the new Security Descriptor (fwiw, DR is
+ never stored on disk).</para>
+
+ <para>This is the default behaviour when this option is enabled (the
+ default). When setting this option to <command>no</command>, the
+ resulting value of the DI flag on-disk is directly taken from the DI
+ value of the to-be-set Security Descriptor. This can be used so dump
+ tools like rsync that copy data blobs from xattrs that represent ACLs
+ created by the acl_xattr VFS module will result in copies of the ACL
+ that are identical to the source. Without this option, the copied ACLs
+ would all lose the DI flag if set on the source.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/aclgroupcontrol.xml b/docs-xml/smbdotconf/security/aclgroupcontrol.xml
new file mode 100644
index 0000000..eeec434
--- /dev/null
+++ b/docs-xml/smbdotconf/security/aclgroupcontrol.xml
@@ -0,0 +1,45 @@
+<samba:parameter name="acl group control"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ In a POSIX filesystem, only the owner of a file or directory and the superuser can modify the permissions
+ and ACLs on a file. If this parameter is set, then Samba overrides this restriction, and also allows the
+ <emphasis>primary group owner</emphasis> of a file or directory to modify the permissions and ACLs
+ on that file.
+ </para>
+ <para>
+ On a Windows server, groups may be the owner of a file or directory - thus allowing anyone in
+ that group to modify the permissions on it. This allows the delegation of security controls
+ on a point in the filesystem to the group owner of a directory and anything below it also owned
+ by that group. This means there are multiple people with permissions to modify ACLs on a file
+ or directory, easing manageability.
+ </para>
+ <para>
+ This parameter allows Samba to also permit delegation of the control over a point in the exported
+ directory hierarchy in much the same way as Windows. This allows all members of a UNIX group to
+ control the permissions on a file or directory they have group ownership on.
+ </para>
+
+ <para>
+ This parameter is best used with the <smbconfoption name="inherit owner"/> option and also
+ on a share containing directories with the UNIX <emphasis>setgid bit</emphasis> set
+ on them, which causes new files and directories created within it to inherit the group
+ ownership from the containing directory.
+ </para>
+
+ <para>
+ This parameter was deprecated in Samba 3.0.23, but re-activated in
+ Samba 3.0.31 and above, as it now only controls permission changes if the user
+ is in the owning primary group. It is now no longer equivalent to the
+ <parameter moreinfo="none">dos filemode</parameter> option.
+ </para>
+
+</description>
+
+<related>inherit owner</related>
+<related>inherit permissions</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/adminusers.xml b/docs-xml/smbdotconf/security/adminusers.xml
new file mode 100644
index 0000000..5e0f60c
--- /dev/null
+++ b/docs-xml/smbdotconf/security/adminusers.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="admin users"
+ context="S"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a list of users who will be granted
+ administrative privileges on the share. This means that they
+ will do all file operations as the super-user (root).</para>
+
+ <para>You should use this option very carefully, as any user in
+ this list will be able to do anything they like on the share,
+ irrespective of file permissions.</para>
+
+</description>
+
+<value type="default"/>
+<value type="example">jason</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/algorithmicridbase.xml b/docs-xml/smbdotconf/security/algorithmicridbase.xml
new file mode 100644
index 0000000..a5eba3c
--- /dev/null
+++ b/docs-xml/smbdotconf/security/algorithmicridbase.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="algorithmic rid base"
+ context="G"
+ 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
+ NT Security Identifiers.
+ </para>
+
+ <para>Setting this option to a larger value could be useful to sites
+ transitioning from WinNT and Win2k, as existing user and
+ group rids would otherwise clash with system users etc.
+ </para>
+
+ <para>All UIDs and GIDs must be able to be resolved into SIDs for
+ the correct operation of ACLs on the server. As such the algorithmic
+ mapping can't be 'turned off', but pushing it 'out of the way' should
+ resolve the issues. Users and groups can then be assigned 'low' RIDs
+ in arbitrary-rid supporting backends.
+ </para>
+</description>
+
+<value type="default">1000</value>
+<value type="example">100000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/allowdcerpcauthlevelconnect.xml b/docs-xml/smbdotconf/security/allowdcerpcauthlevelconnect.xml
new file mode 100644
index 0000000..8bccab3
--- /dev/null
+++ b/docs-xml/smbdotconf/security/allowdcerpcauthlevelconnect.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="allow dcerpc auth level connect"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls whether DCERPC services are allowed to
+ be used with DCERPC_AUTH_LEVEL_CONNECT, which provides authentication,
+ but no per message integrity nor privacy protection.</para>
+
+ <para>Some interfaces like samr, lsarpc and netlogon have a hard-coded default of
+ <constant>no</constant> and epmapper, mgmt and rpcecho have a hard-coded default of
+ <constant>yes</constant>.
+ </para>
+
+ <para>The behavior can be overwritten per interface name (e.g. lsarpc, netlogon, samr, srvsvc,
+ winreg, wkssvc ...) by using 'allow dcerpc auth level connect:interface = yes' as option.</para>
+
+ <para>This option is over-ridden by the implementation specific restrictions.
+ E.g. the drsuapi and backupkey protocols require DCERPC_AUTH_LEVEL_PRIVACY.
+ The dnsserver protocol requires DCERPC_AUTH_LEVEL_INTEGRITY.
+ </para>
+</description>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/allowtrusteddomains.xml b/docs-xml/smbdotconf/security/allowtrusteddomains.xml
new file mode 100644
index 0000000..3617210
--- /dev/null
+++ b/docs-xml/smbdotconf/security/allowtrusteddomains.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="allow trusted domains"
+ context="G"
+ 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
+ <constant>server</constant>, <constant>domain</constant> or <constant>ads</constant>.
+ If it is set to no, then attempts to connect to a resource from
+ a domain or workgroup other than the one which smbd is running
+ in will fail, even if that domain is trusted by the remote server
+ doing the authentication.</para>
+
+ <para>This is useful if you only want your Samba server to
+ serve resources to users in the domain it is a member of. As
+ an example, suppose that there are two domains DOMA and DOMB. DOMB
+ is trusted by DOMA, which contains the Samba server. Under normal
+ circumstances, a user with an account in DOMB can then access the
+ resources of a UNIX account with the same account name on the
+ Samba server even if they do not have an account in DOMA. This
+ can make implementing a security boundary difficult.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/binddnsdir.xml b/docs-xml/smbdotconf/security/binddnsdir.xml
new file mode 100644
index 0000000..a948cb5
--- /dev/null
+++ b/docs-xml/smbdotconf/security/binddnsdir.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="binddns dir"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>bind dns directory</synonym>
+<description>
+ <para>
+ This parameters defines the directory samba will use to store the configuration
+ files for bind, such as named.conf.
+
+ NOTE: The bind dns directory needs to be on the same mount point as the private
+ directory!
+ </para>
+</description>
+
+<value type="default">&pathconfig.BINDDNS_DIR;</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/checkpasswordscript.xml b/docs-xml/smbdotconf/security/checkpasswordscript.xml
new file mode 100644
index 0000000..18aa2c6
--- /dev/null
+++ b/docs-xml/smbdotconf/security/checkpasswordscript.xml
@@ -0,0 +1,43 @@
+<samba:parameter name="check password script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The name of a program that can be used to check password
+ complexity. The password is sent to the program's standard input.</para>
+
+ <para>The program must return 0 on a good password, or any other value
+ if the password is bad.
+ In case the password is considered weak (the program does not return 0) the
+ user will be notified and the password change will fail.</para>
+
+ <para>In Samba AD, this script will be run <emphasis>AS ROOT</emphasis> by
+ <citerefentry><refentrytitle>samba</refentrytitle> <manvolnum>8</manvolnum>
+ </citerefentry> without any substitutions.</para>
+
+ <para>Note that starting with Samba 4.11 the following environment variables are exported to the script:</para>
+
+ <itemizedlist>
+ <listitem><para>
+ SAMBA_CPS_ACCOUNT_NAME is always present and contains the sAMAccountName of user,
+ the is the same as the %u substitutions in the none AD DC case.
+ </para></listitem>
+
+ <listitem><para>
+ SAMBA_CPS_USER_PRINCIPAL_NAME is optional in the AD DC case if the userPrincipalName is present.
+ </para></listitem>
+
+ <listitem><para>
+ SAMBA_CPS_FULL_NAME is optional if the displayName is present.
+ </para></listitem>
+ </itemizedlist>
+
+ <para>Note: In the example directory is a sample program called <command moreinfo="none">crackcheck</command>
+ that uses cracklib to check the password quality.</para>
+
+</description>
+
+<value type="default"><comment>Disabled</comment></value>
+<value type="example">/usr/local/sbin/crackcheck</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientipcsigning.xml b/docs-xml/smbdotconf/security/clientipcsigning.xml
new file mode 100644
index 0000000..efbf17a
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientipcsigning.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="client ipc signing"
+ context="G"
+ type="enum"
+ function="_client_ipc_signing"
+ 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 for IPC$
+ connections as DCERPC transport. Possible values
+ are <emphasis>desired</emphasis>, <emphasis>required</emphasis>
+ and <emphasis>disabled</emphasis>.
+ </para>
+
+ <para>When set to required or default, SMB signing is mandatory.</para>
+
+ <para>When set to desired, SMB signing is offered, but not enforced and if set
+ to disabled, SMB signing is not offered either.</para>
+
+ <para>Connections from winbindd to Active Directory Domain Controllers
+ always enforce signing.</para>
+</description>
+
+<related>client signing</related>
+
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientlanmanauth.xml b/docs-xml/smbdotconf/security/clientlanmanauth.xml
new file mode 100644
index 0000000..60e1c86
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientlanmanauth.xml
@@ -0,0 +1,36 @@
+<samba:parameter name="client lanman auth"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.13 and
+ support for LanMan (as distinct from NTLM, NTLMv2 or
+ Kerberos) authentication as a client
+ will be removed in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>client NTLMv2 auth = yes</command>
+ will be the enforced behaviour.</para>
+
+ <para>This parameter determines whether or not <citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and other samba client
+ tools will attempt to authenticate itself to servers using the
+ weaker LANMAN password hash. If disabled, only server which support NT
+ password hashes (e.g. Windows NT/2000, Samba, etc... but not
+ Windows 95/98) will be able to be connected from the Samba client.</para>
+
+ <para>The LANMAN encrypted response is easily broken, due to its
+ case-insensitive nature, and the choice of algorithm. Clients
+ without Windows 95/98 servers are advised to disable
+ this option. </para>
+
+ <para>Disabling this option will also disable the <command
+ moreinfo="none">client plaintext auth</command> option.</para>
+
+ <para>Likewise, if the <command moreinfo="none">client ntlmv2
+ auth</command> parameter is enabled, then only NTLMv2 logins will be
+ attempted.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientntlmv2auth.xml b/docs-xml/smbdotconf/security/clientntlmv2auth.xml
new file mode 100644
index 0000000..9b47944
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientntlmv2auth.xml
@@ -0,0 +1,46 @@
+<samba:parameter name="client NTLMv2 auth"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.13 and
+ support for NTLM and LanMan (as distinct from NTLMv2 or
+ Kerberos authentication)
+ will be removed in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>client NTLMv2 auth = yes</command>
+ will be the enforced behaviour.</para>
+
+ <para>This parameter determines whether or not <citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will attempt to
+ authenticate itself to servers using the NTLMv2 encrypted password
+ response.</para>
+
+ <para>If enabled, only an NTLMv2 and LMv2 response (both much more
+ secure than earlier versions) will be sent. Older servers
+ (including NT4 &lt; SP4, Win9x and Samba 2.2) are not compatible with
+ NTLMv2 when not in an NTLMv2 supporting domain</para>
+
+ <para>Similarly, if enabled, NTLMv1, <command
+ moreinfo="none">client lanman auth</command> and <command
+ moreinfo="none">client plaintext auth</command>
+ authentication will be disabled. This also disables share-level
+ authentication. </para>
+
+ <para>If disabled, an NTLM response (and possibly a LANMAN response)
+ will be sent by the client, depending on the value of <command
+ moreinfo="none">client lanman auth</command>. </para>
+
+ <para>Note that Windows Vista and later versions already use
+ NTLMv2 by default, and some sites (particularly those following
+ 'best practice' security polices) only allow NTLMv2 responses, and
+ not the weaker LM or NTLM.</para>
+
+ <para>When <smbconfoption name="client use spnego"/> is also set to
+ <constant>yes</constant> extended security (SPNEGO) is required
+ in order to use NTLMv2 only within NTLMSSP. This behavior was
+ introduced with the patches for CVE-2016-2111.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientplaintextauth.xml b/docs-xml/smbdotconf/security/clientplaintextauth.xml
new file mode 100644
index 0000000..5a51c33
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientplaintextauth.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="client plaintext auth"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.13 and
+ support for plaintext (as distinct from NTLM, NTLMv2 or
+ Kerberos authentication)
+ will be removed in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>client plaintext auth = no</command>
+ will be the enforced behaviour.</para>
+
+ <para>Specifies whether a client should send a plaintext
+ password if the server does not support encrypted passwords.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
+
diff --git a/docs-xml/smbdotconf/security/clientprotection.xml b/docs-xml/smbdotconf/security/clientprotection.xml
new file mode 100644
index 0000000..347b004
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientprotection.xml
@@ -0,0 +1,51 @@
+<samba:parameter name="client protection"
+ context="G"
+ type="enum"
+ enumlist="enum_client_protection_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter defines which protection Samba client
+ tools should use by default.
+ </para>
+
+ <para>Possible client settings are:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>default</emphasis> - Use the individual
+ default values of the options:
+ <itemizedlist>
+ <listitem><para><parameter>client signing</parameter></para></listitem>
+ <listitem><para><parameter>client smb encrypt</parameter></para></listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis>plain</emphasis> - This will send
+ everything just as plaintext, signing or
+ encryption are turned off.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis>sign</emphasis> - This will enable
+ integrity checking.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis>encrypt</emphasis> - This will enable
+ integrity checks and force encryption for
+ privacy.
+ </para>
+ </listitem>
+ </itemizedlist>
+</description>
+
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientschannel.xml b/docs-xml/smbdotconf/security/clientschannel.xml
new file mode 100644
index 0000000..d124ad4
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientschannel.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="client schannel"
+ context="G"
+ type="enum"
+ enumlist="enum_bool_auto"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ This option is deprecated with Samba 4.8 and will be removed in future.
+ At the same time the default changed to yes, which will be the
+ hardcoded behavior in future.
+ </para>
+
+ <para>
+ This controls whether the client offers or even demands the use of the netlogon schannel.
+ <smbconfoption name="client schannel">no</smbconfoption> does not offer the schannel,
+ <smbconfoption name="client schannel">auto</smbconfoption> offers the schannel but does not
+ enforce it, and <smbconfoption name="client schannel">yes</smbconfoption> denies access
+ if the server is not able to speak netlogon schannel.
+ </para>
+
+ <para>Note that for active directory domains this is hardcoded to
+ <smbconfoption name="client schannel">yes</smbconfoption>.</para>
+
+ <para>This option is over-ridden by the <smbconfoption name="require strong key"/> option.</para>
+</description>
+<value type="default">yes</value>
+<value type="example">auto</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientsigning.xml b/docs-xml/smbdotconf/security/clientsigning.xml
new file mode 100644
index 0000000..bd92818
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientsigning.xml
@@ -0,0 +1,24 @@
+<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
+ are <emphasis>desired</emphasis>, <emphasis>required</emphasis>
+ and <emphasis>disabled</emphasis>.
+ </para>
+
+ <para>When set to desired or default, SMB signing is offered, but not enforced.</para>
+
+ <para>When set to required, SMB signing is mandatory and if set
+ to disabled, SMB signing is not offered either.</para>
+
+ <para>IPC$ connections for DCERPC e.g. in winbindd, are handled by the
+ <smbconfoption name="client ipc signing"/> option.</para>
+</description>
+
+<related>client ipc signing</related>
+
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientsmbencrypt.xml b/docs-xml/smbdotconf/security/clientsmbencrypt.xml
new file mode 100644
index 0000000..05df152
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientsmbencrypt.xml
@@ -0,0 +1,126 @@
+<samba:parameter name="client smb encrypt"
+ context="G"
+ type="enum"
+ enumlist="enum_smb_encryption_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter controls whether a client should try or is required
+ to use SMB encryption. It has different effects depending on whether
+ the connection uses SMB1 or SMB3:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ If the connection uses SMB1, then this option controls the use
+ of a Samba-specific extension to the SMB protocol introduced in
+ Samba 3.2 that makes use of the Unix extensions.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If the connection uses SMB2 or newer, then this option controls
+ the use of the SMB-level encryption that is supported in SMB
+ version 3.0 and above and available in Windows 8 and newer.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ This parameter can be set globally. Possible values are
+
+ <emphasis>off</emphasis>,
+ <emphasis>if_required</emphasis>,
+ <emphasis>desired</emphasis>,
+ and
+ <emphasis>required</emphasis>.
+ A special value is <emphasis>default</emphasis> which is
+ the implicit default setting of <emphasis>if_required</emphasis>.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term><emphasis>Effects for SMB1</emphasis></term>
+ <listitem>
+ <para>
+ The Samba-specific encryption of SMB1 connections is an
+ extension to the SMB protocol negotiated as part of the UNIX
+ extensions. SMB encryption uses the GSSAPI (SSPI on Windows)
+ ability to encrypt and sign every request/response in a SMB
+ protocol stream. When enabled it provides a secure method of
+ SMB/CIFS communication, similar to an ssh protected session, but
+ using SMB/CIFS authentication to negotiate encryption and
+ signing keys. Currently this is only supported smbclient of by
+ Samba 3.2 and newer. Windows does not support this feature.
+ </para>
+
+ <para>
+ When set to default, SMB encryption is probed, but not
+ enforced. When set to required, SMB encryption is required and
+ if set to disabled, SMB encryption can not be negotiated.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><emphasis>Effects for SMB3 and newer</emphasis></term>
+ <listitem>
+ <para>
+ Native SMB transport encryption is available in SMB version 3.0
+ or newer. It is only used by Samba if
+ <emphasis>client max protocol</emphasis> is set to
+ <emphasis>SMB3</emphasis> or newer.
+ </para>
+
+ <para>
+ These features can be controlled with settings of
+ <emphasis>client smb encrypt</emphasis> as follows:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Leaving it as default, explicitly setting
+ <emphasis>default</emphasis>, or setting it to
+ <emphasis>if_required</emphasis> globally will enable
+ negotiation of encryption but will not turn on
+ data encryption globally.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>desired</emphasis> globally
+ will enable negotiation and will turn on data encryption
+ on sessions and share connections for those servers
+ that support it.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>required</emphasis> globally
+ will enable negotiation and turn on data encryption
+ on sessions and share connections. Clients that do
+ not support encryption will be denied access to the
+ server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>off</emphasis> globally will
+ completely disable the encryption feature for all
+ connections.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</description>
+
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientsmbencryptionalgos.xml b/docs-xml/smbdotconf/security/clientsmbencryptionalgos.xml
new file mode 100644
index 0000000..78df3f9
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientsmbencryptionalgos.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="client smb3 encryption algorithms"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the availability and order of
+ encryption algorithms which are available for negotiation in the SMB3_11 dialect.
+ </para>
+ <para>It is also possible to remove individual algorithms from the default list,
+ by prefixing them with '-'. This can avoid having to specify a hardcoded list.
+ </para>
+ <para>Note: that the removal of AES-128-CCM from the list will result
+ in SMB3_00 and SMB3_02 being unavailable, as it is the default and only
+ available algorithm for these dialects.
+ </para>
+</description>
+
+<value type="default">AES-128-GCM, AES-128-CCM, AES-256-GCM, AES-256-CCM</value>
+<value type="example">AES-256-GCM</value>
+<value type="example">-AES-128-GCM -AES-128-CCM</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientsmbsigningalgos.xml b/docs-xml/smbdotconf/security/clientsmbsigningalgos.xml
new file mode 100644
index 0000000..f7c61f3
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientsmbsigningalgos.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="client smb3 signing algorithms"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the availability and order of
+ signing algorithms which are available for negotiation in the SMB3_11 dialect.
+ </para>
+ <para>It is also possible to remove individual algorithms from the default list,
+ by prefixing them with '-'. This can avoid having to specify a hardcoded list.
+ </para>
+ <para>Note: that the removal of AES-128-CMAC from the list will result
+ in SMB3_00 and SMB3_02 being unavailable, and the removal of HMAC-SHA256
+ will result in SMB2_02 and SMB2_10 being unavailable, as these are the default and only
+ available algorithms for these dialects.
+ </para>
+</description>
+
+<value type="default">AES-128-GMAC, AES-128-CMAC, HMAC-SHA256</value>
+<value type="example">AES-128-CMAC, HMAC-SHA256</value>
+<value type="example">-AES-128-CMAC</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientusekerberos.xml b/docs-xml/smbdotconf/security/clientusekerberos.xml
new file mode 100644
index 0000000..1ccf88e
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientusekerberos.xml
@@ -0,0 +1,49 @@
+<samba:parameter name="client use kerberos"
+ context="G"
+ type="enum"
+ function="_client_use_kerberos"
+ enumlist="enum_use_kerberos_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter determines whether Samba client tools will try
+ to authenticate using Kerberos. For Kerberos authentication you
+ need to use dns names instead of IP addresses when connecting
+ to a service.
+ </para>
+
+ <para>Possible option settings are:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>desired</emphasis> - Kerberos
+ authentication will be tried first and if it fails it
+ automatically fallback to NTLM.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis>required</emphasis> - Kerberos
+ authentication will be required. There will be no
+ fallback to NTLM or a different alternative.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis>off</emphasis> - Don't use
+ Kerberos, use NTLM instead or another
+ alternative.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ In case that weak cryptography is not allowed (e.g. FIPS mode)
+ the default will be forced to <emphasis>required</emphasis>.
+ </para>
+</description>
+
+<value type="default">desired</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml b/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
new file mode 100644
index 0000000..8e9edd2
--- /dev/null
+++ b/docs-xml/smbdotconf/security/clientusepsnegoprincipal.xml
@@ -0,0 +1,35 @@
+<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
+ <citerefentry><refentrytitle>smbclient</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and other samba components
+ acting as a client will attempt to use the server-supplied
+ principal sometimes given in the SPNEGO exchange.</para>
+
+ <para>If enabled, Samba can attempt to use Kerberos to contact
+ servers known only by IP address. Kerberos relies on names, so
+ ordinarily cannot function in this situation. </para>
+
+ <para>This is a VERY BAD IDEA for security reasons, and so this
+ parameter SHOULD NOT BE USED. It will be removed in a future
+ version of Samba.</para>
+
+ <para>If disabled, Samba will use the name used to look up the
+ server when asking the KDC for a ticket. This avoids situations
+ where a server may impersonate another, soliciting authentication
+ as one principal while being known on the network as another.
+ </para>
+
+ <para>Note that Windows XP SP2 and later versions already follow
+ this behaviour, and Windows Vista and later servers no longer
+ supply this 'rfc4178 hint' principal on the server side.</para>
+
+ <para>This parameter is deprecated in Samba 4.2.1 and will be removed
+ (along with the functionality) in a later release of Samba.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/createmask.xml b/docs-xml/smbdotconf/security/createmask.xml
new file mode 100644
index 0000000..06ee896
--- /dev/null
+++ b/docs-xml/smbdotconf/security/createmask.xml
@@ -0,0 +1,37 @@
+<samba:parameter name="create mask"
+ context="S"
+ type="octal"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+
+<synonym>create mode</synonym>
+<description>
+ <para>
+ When a file is created, the necessary permissions are calculated according to the mapping from DOS modes to
+ UNIX permissions, and the resulting UNIX mode is then bit-wise 'AND'ed with this parameter. This parameter may
+ be thought of as a bit-wise MASK for the UNIX modes of a file. Any bit <emphasis>not</emphasis> set here will
+ be removed from the modes set on a file when it is created.
+ </para>
+
+ <para>
+ The default value of this parameter removes the <literal>group</literal> and <literal>other</literal>
+ write and execute bits from the UNIX modes.
+ </para>
+
+ <para>
+ Following this Samba will bit-wise 'OR' the UNIX mode created from this parameter with the value of the
+ <smbconfoption name="force create mode"/> parameter which is set to 000 by default.
+ </para>
+
+ <para>
+ This parameter does not affect directory masks. See the parameter <smbconfoption name="directory mask"/>
+ for details.
+ </para>
+</description>
+
+<related>force create mode</related>
+<related>directory mode</related>
+<related>inherit permissions</related>
+
+<value type="default">0744</value>
+<value type="example">0775</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/debugencryption.xml b/docs-xml/smbdotconf/security/debugencryption.xml
new file mode 100644
index 0000000..5b51b4a
--- /dev/null
+++ b/docs-xml/smbdotconf/security/debugencryption.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="debug encryption"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ This option will make the smbd server and client code using
+ libsmb (smbclient, smbget, smbspool, ...) dump the Session Id,
+ the decrypted Session Key, the Signing Key, the Application Key,
+ the Encryption Key and the Decryption Key every time an SMB3+
+ session is established. This information will be printed in logs
+ at level 0.
+ </para>
+ <para>
+ Warning: access to these values enables the decryption of any
+ encrypted traffic on the dumped sessions. This option should
+ only be enabled for debugging purposes.
+ </para>
+ </description>
+
+ <value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/dedicatedkeytabfile.xml b/docs-xml/smbdotconf/security/dedicatedkeytabfile.xml
new file mode 100644
index 0000000..b7c2680
--- /dev/null
+++ b/docs-xml/smbdotconf/security/dedicatedkeytabfile.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="dedicated keytab file"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Specifies the absolute path to the kerberos keytab file when
+ <smbconfoption name="kerberos method"/> is set to "dedicated
+ keytab".
+ </para>
+</description>
+<related>kerberos method</related>
+<value type="default"/>
+<value type="example">/usr/local/etc/krb5.keytab</value>
+</samba:parameter>
+
diff --git a/docs-xml/smbdotconf/security/directorymask.xml b/docs-xml/smbdotconf/security/directorymask.xml
new file mode 100644
index 0000000..890092a
--- /dev/null
+++ b/docs-xml/smbdotconf/security/directorymask.xml
@@ -0,0 +1,33 @@
+<samba:parameter name="directory mask"
+ context="S"
+ type="octal"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>directory mode</synonym>
+<description>
+ <para>This parameter is the octal modes which are
+ used when converting DOS modes to UNIX modes when creating UNIX
+ directories.</para>
+
+ <para>When a directory is created, the necessary permissions are
+ calculated according to the mapping from DOS modes to UNIX permissions,
+ and the resulting UNIX mode is then bit-wise 'AND'ed with this
+ parameter. This parameter may be thought of as a bit-wise MASK for
+ the UNIX modes of a directory. Any bit <emphasis>not</emphasis> set
+ here will be removed from the modes set on a directory when it is
+ created.</para>
+
+ <para>The default value of this parameter removes the 'group'
+ and 'other' write bits from the UNIX mode, allowing only the
+ user who owns the directory to modify it.</para>
+
+ <para>Following this Samba will bit-wise 'OR' the UNIX mode
+ created from this parameter with the value of the <smbconfoption name="force directory mode"/> parameter.
+ This parameter is set to 000 by default (i.e. no extra mode bits are added).</para>
+</description>
+
+<related>force directory mode</related>
+<related>create mask</related>
+<related>inherit permissions</related>
+<value type="default">0755</value>
+<value type="example">0775</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/directorysecuritymask.xml b/docs-xml/smbdotconf/security/directorysecuritymask.xml
new file mode 100644
index 0000000..f02e4ff
--- /dev/null
+++ b/docs-xml/smbdotconf/security/directorysecuritymask.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="directory security mask"
+ 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.
+ </para>
+</description>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/encryptpasswords.xml b/docs-xml/smbdotconf/security/encryptpasswords.xml
new file mode 100644
index 0000000..4fdfa89
--- /dev/null
+++ b/docs-xml/smbdotconf/security/encryptpasswords.xml
@@ -0,0 +1,47 @@
+<samba:parameter name="encrypt passwords"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.11 and
+ support for plaintext (as distinct from NTLM, NTLMv2
+ or Kerberos authentication)
+ will be removed in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>encrypt passwords = yes</command>
+ will be the enforced behaviour.</para>
+ <para>This boolean controls whether encrypted passwords
+ will be negotiated with the client. Note that Windows NT 4.0 SP3 and
+ above and also Windows 98 will by default expect encrypted passwords
+ unless a registry entry is changed. To use encrypted passwords in
+ Samba see the chapter "User Database" in the Samba HOWTO Collection.
+ </para>
+
+ <para>
+ MS Windows clients that expect Microsoft encrypted passwords and that
+ do not have plain text password support enabled will be able to
+ connect only to a Samba server that has encrypted password support
+ enabled and for which the user accounts have a valid encrypted password.
+ Refer to the smbpasswd command man page for information regarding the
+ creation of encrypted passwords for user accounts.
+ </para>
+
+ <para>
+ The use of plain text passwords is NOT advised as support for this feature
+ is no longer maintained in Microsoft Windows products. If you want to use
+ plain text passwords you must set this parameter to no.
+ </para>
+
+ <para>In order for encrypted passwords to work correctly
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> must either
+ have access to a local <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry> file (see the <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> program for information on how to set up
+ and maintain this file), or set the <smbconfoption name="security">[domain|ads]</smbconfoption> parameter which
+ causes <command moreinfo="none">smbd</command> to authenticate against another
+ server.</para>
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/forcecreatemode.xml b/docs-xml/smbdotconf/security/forcecreatemode.xml
new file mode 100644
index 0000000..79e6e63
--- /dev/null
+++ b/docs-xml/smbdotconf/security/forcecreatemode.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="force create mode"
+ context="S"
+ type="octal"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies a set of UNIX mode bit
+ permissions that will <emphasis>always</emphasis> be set on a
+ file created by Samba. This is done by bitwise 'OR'ing these bits onto
+ the mode bits of a file that is being created. The default for this parameter is (in octal)
+ 000. The modes in this parameter are bitwise 'OR'ed onto the file
+ mode after the mask set in the <parameter moreinfo="none">create mask</parameter>
+ parameter is applied.</para>
+
+ <para>The example below would force all newly created files to have read and execute
+ permissions set for 'group' and 'other' as well as the
+ read/write/execute bits set for the 'user'.</para>
+
+</description>
+
+<related>create mask</related>
+<related>inherit permissions</related>
+
+<value type="default">0000</value>
+<value type="example">0755</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/forcedirectorymode.xml b/docs-xml/smbdotconf/security/forcedirectorymode.xml
new file mode 100644
index 0000000..aa8375a
--- /dev/null
+++ b/docs-xml/smbdotconf/security/forcedirectorymode.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="force directory mode"
+ context="S"
+ type="octal"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies a set of UNIX mode bit
+ permissions that will <emphasis>always</emphasis> be set on a directory
+ created by Samba. This is done by bitwise 'OR'ing these bits onto the
+ mode bits of a directory that is being created. The default for this
+ parameter is (in octal) 0000 which will not add any extra permission
+ bits to a created directory. This operation is done after the mode
+ mask in the parameter <parameter moreinfo="none">directory mask</parameter> is
+ applied.</para>
+
+ <para>The example below would force all created directories to have read and execute
+ permissions set for 'group' and 'other' as well as the
+ read/write/execute bits set for the 'user'.</para>
+</description>
+
+<value type="default">0000</value>
+<value type="example">0755</value>
+
+<related>directory mask</related>
+<related>inherit permissions</related>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml b/docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml
new file mode 100644
index 0000000..fbd8e16
--- /dev/null
+++ b/docs-xml/smbdotconf/security/forcedirectorysecuritymode.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="force directory security mode"
+ 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.
+ </para>
+</description>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/forcegroup.xml b/docs-xml/smbdotconf/security/forcegroup.xml
new file mode 100644
index 0000000..646f550
--- /dev/null
+++ b/docs-xml/smbdotconf/security/forcegroup.xml
@@ -0,0 +1,40 @@
+<samba:parameter name="force group"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>group</synonym>
+<description>
+ <para>This specifies a UNIX group name that will be
+ assigned as the default primary group for all users connecting
+ to this service. This is useful for sharing files by ensuring
+ that all access to files on service will use the named group for
+ their permissions checking. Thus, by assigning permissions for this
+ group to the files and directories within this service the Samba
+ administrator can restrict or allow sharing of these files.</para>
+
+ <para>In Samba 2.0.5 and above this parameter has extended
+ functionality in the following way. If the group name listed here
+ has a '+' character prepended to it then the current user accessing
+ the share only has the primary group default assigned to this group
+ if they are already assigned as a member of that group. This allows
+ an administrator to decide that only users who are already in a
+ particular group will create files with group ownership set to that
+ group. This gives a finer granularity of ownership assignment. For
+ example, the setting <filename moreinfo="none">force group = +sys</filename> means
+ that only users who are already in group sys will have their default
+ primary group assigned to sys when accessing this Samba share. All
+ other users will retain their ordinary primary group.</para>
+
+ <para>
+ If the <smbconfoption name="force user"/> parameter is also set the group specified in
+ <parameter moreinfo="none">force group</parameter> will override the primary group
+ set in <parameter moreinfo="none">force user</parameter>.</para>
+
+</description>
+
+<related>force user</related>
+
+<value type="default"/>
+<value type="example">agroup</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/forcesecuritymode.xml b/docs-xml/smbdotconf/security/forcesecuritymode.xml
new file mode 100644
index 0000000..5a9479e
--- /dev/null
+++ b/docs-xml/smbdotconf/security/forcesecuritymode.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="force security mode"
+ 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.
+ </para>
+</description>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/forceunknownacluser.xml b/docs-xml/smbdotconf/security/forceunknownacluser.xml
new file mode 100644
index 0000000..c5aec53
--- /dev/null
+++ b/docs-xml/smbdotconf/security/forceunknownacluser.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="force unknown acl user"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+
+<description>
+ <para>
+ If this parameter is set, a Windows NT ACL that contains an unknown SID (security descriptor, or
+ representation of a user or group id) as the owner or group owner of the file will be silently
+ mapped into the current UNIX uid or gid of the currently connected user.
+ </para>
+
+ <para>
+ This is designed to allow Windows NT clients to copy files and folders containing ACLs that were
+ created locally on the client machine and contain users local to that machine only (no domain
+ users) to be copied to a Samba server (usually with XCOPY /O) and have the unknown userid and
+ groupid of the file owner map to the current connected user. This can only be fixed correctly
+ when winbindd allows arbitrary mapping from any Windows NT SID to a UNIX uid or gid.
+ </para>
+
+ <para>
+ Try using this parameter when XCOPY /O gives an ACCESS_DENIED error.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/forceuser.xml b/docs-xml/smbdotconf/security/forceuser.xml
new file mode 100644
index 0000000..f3010a9
--- /dev/null
+++ b/docs-xml/smbdotconf/security/forceuser.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="force user"
+ type="string"
+ context="S"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This specifies a UNIX user name that will be
+ assigned as the default user for all users connecting to this service.
+ This is useful for sharing files. You should also use it carefully
+ as using it incorrectly can cause security problems.</para>
+
+ <para>This user name only gets used once a connection is established.
+ Thus clients still need to connect as a valid user and supply a
+ valid password. Once connected, all file operations will be performed
+ as the &quot;forced user&quot;, no matter what username the client connected
+ as. This can be very useful.</para>
+
+ <para>In Samba 2.0.5 and above this parameter also causes the
+ primary group of the forced user to be used as the primary group
+ for all file activity. Prior to 2.0.5 the primary group was left
+ as the primary group of the connecting user (this was a bug).</para>
+
+</description>
+
+<related>force group</related>
+<value type="default"/>
+<value type="example">auser</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/guestaccount.xml b/docs-xml/smbdotconf/security/guestaccount.xml
new file mode 100644
index 0000000..2914630
--- /dev/null
+++ b/docs-xml/smbdotconf/security/guestaccount.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="guest account"
+ context="G"
+ type="string"
+ 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
+ user has will be available to any client connecting to the guest service.
+ This user must exist in the password file, but does not require
+ a valid login. The user account &quot;ftp&quot; is often a good choice
+ for this parameter.
+ </para>
+
+ <para>On some systems the default guest account &quot;nobody&quot; may not
+ be able to print. Use another account in this case. You should test
+ this by trying to log in as your guest user (perhaps by using the
+ <command moreinfo="none">su -</command> command) and trying to print using the
+ system print command such as <command moreinfo="none">lpr(1)</command> or <command moreinfo="none">
+ lp(1)</command>.</para>
+
+ <para>This parameter does not accept % macros, because
+ many parts of the system require this value to be
+ constant for correct operation.</para>
+</description>
+<value type="default">nobody<comment>default can be changed at compile-time</comment></value>
+<value type="example">ftp</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/guestok.xml b/docs-xml/smbdotconf/security/guestok.xml
new file mode 100644
index 0000000..390f1c3
--- /dev/null
+++ b/docs-xml/smbdotconf/security/guestok.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="guest ok"
+ type="boolean"
+ context="S"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>public</synonym>
+<description>
+ <para>If this parameter is <constant>yes</constant> for
+ a service, then no password is required to connect to the service.
+ Privileges will be those of the <smbconfoption name="guest account"/>.</para>
+
+ <para>This parameter nullifies the benefits of setting
+ <smbconfoption name="restrict anonymous">2</smbconfoption>
+ </para>
+
+ <para>See the section below on <smbconfoption name="security"/> for more information about this option.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/guestonly.xml b/docs-xml/smbdotconf/security/guestonly.xml
new file mode 100644
index 0000000..5660162
--- /dev/null
+++ b/docs-xml/smbdotconf/security/guestonly.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="guest only"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>only guest</synonym>
+<description>
+ <para>If this parameter is <constant>yes</constant> for
+ a service, then only guest connections to the service are permitted.
+ This parameter will have no effect if <smbconfoption name="guest ok"/> is not set for the service.</para>
+
+ <para>See the section below on <smbconfoption name="security"/> for more information about this option.
+ </para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/hostsallow.xml b/docs-xml/smbdotconf/security/hostsallow.xml
new file mode 100644
index 0000000..8b4b622
--- /dev/null
+++ b/docs-xml/smbdotconf/security/hostsallow.xml
@@ -0,0 +1,62 @@
+<samba:parameter name="hosts allow"
+ context="S"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>allow hosts</synonym>
+<description>
+ <para>A synonym for this parameter is <smbconfoption name="allow hosts"/>.</para>
+
+ <para>This parameter is a comma, space, or tab delimited
+ set of hosts which are permitted to access a service.</para>
+
+ <para>If specified in the [global] section then it will
+ apply to all services, regardless of whether the individual
+ service has a different setting.</para>
+
+ <para>You can specify the hosts by name or IP number. For
+ example, you could restrict access to only the hosts on a
+ Class C subnet with something like <command>allow hosts = 150.203.5.</command>.
+ The full syntax of the list is described in the man
+ page <filename>hosts_access(5)</filename>. Note that this man
+ page may not be present on your system, so a brief description will
+ be given here also.</para>
+
+ <para>Note that the localhost address 127.0.0.1 will always
+ be allowed access unless specifically denied by a <smbconfoption name="hosts deny"/> option.</para>
+
+ <para>You can also specify hosts by network/netmask pairs and
+ by netgroup names if your system supports netgroups. The
+ <emphasis>EXCEPT</emphasis> keyword can also be used to limit a
+ wildcard list. The following examples may provide some help:</para>
+
+<para>Example 1: allow all IPs in 150.203.*.*; except one</para>
+
+ <para><command moreinfo="none">hosts allow = 150.203. EXCEPT 150.203.6.66</command></para>
+
+ <para>Example 2: allow hosts that match the given network/netmask</para>
+
+ <para><command moreinfo="none">hosts allow = 150.203.15.0/255.255.255.0</command></para>
+
+ <para>Example 3: allow a couple of hosts</para>
+
+ <para><command moreinfo="none">hosts allow = lapland, arvidsjaur</command></para>
+
+ <para>Example 4: allow only hosts in NIS netgroup &quot;foonet&quot;, but
+ deny access from one particular host</para>
+
+ <para><command moreinfo="none">hosts allow = @foonet</command></para>
+
+ <para><command moreinfo="none">hosts deny = pirate</command></para>
+
+ <note><para>Note that access still requires suitable user-level passwords.</para></note>
+
+ <para>See <citerefentry><refentrytitle>testparm</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry> for a way of testing your host access
+ to see if it does what you expect.</para>
+
+
+</description>
+
+<value type="example">150.203.5. myhost.mynet.edu.au</value>
+<value type="default"><comment>none (i.e., all hosts permitted access)</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/hostsdeny.xml b/docs-xml/smbdotconf/security/hostsdeny.xml
new file mode 100644
index 0000000..cd2f8de
--- /dev/null
+++ b/docs-xml/smbdotconf/security/hostsdeny.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="hosts deny"
+ context="S"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>deny hosts</synonym>
+<description>
+ <para>The opposite of <parameter moreinfo="none">hosts allow</parameter>
+ - hosts listed here are <emphasis>NOT</emphasis> permitted access to
+ services unless the specific services have their own lists to override
+ this one. Where the lists conflict, the <parameter moreinfo="none">allow</parameter>
+ list takes precedence.</para>
+
+ <para>
+ In the event that it is necessary to deny all by default, use the keyword
+ ALL (or the netmask <literal>0.0.0.0/0</literal>) and then explicitly specify
+ to the <smbconfoption name="hosts allow">hosts allow</smbconfoption> parameter those hosts
+ that should be permitted access.
+ </para>
+</description>
+
+<value type="default"><comment>none (i.e., no hosts specifically excluded)</comment></value>
+
+<value type="example">150.203.4. badhost.mynet.edu.au</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/inheritacls.xml b/docs-xml/smbdotconf/security/inheritacls.xml
new file mode 100644
index 0000000..4f1bf99
--- /dev/null
+++ b/docs-xml/smbdotconf/security/inheritacls.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="inherit acls"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter is only relevant for filesystems that
+ do not support standardized NFS4 ACLs but only a POSIX draft ACL
+ implementation and which implements default ACLs like most filesystems
+ on Linux. It can be used to ensure that if default ACLs
+ exist on parent directories, they are always honored when creating a
+ new file or subdirectory in these parent directories. The default
+ behavior is to use the unix mode specified when creating the directory.
+ Enabling this option sets the unix mode to 0777, thus guaranteeing that
+ the default directory ACLs are propagated.
+
+ Note that using the VFS modules acl_xattr or acl_tdb which store native
+ Windows as meta-data will automatically turn this option on for any
+ share for which they are loaded, as they require this option to emulate
+ Windows ACLs correctly.
+</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/inheritowner.xml b/docs-xml/smbdotconf/security/inheritowner.xml
new file mode 100644
index 0000000..c081e56
--- /dev/null
+++ b/docs-xml/smbdotconf/security/inheritowner.xml
@@ -0,0 +1,58 @@
+<samba:parameter name="inherit owner"
+ context="S"
+ type="enum"
+ enumlist="enum_inherit_owner_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The ownership of new files and directories
+ is normally governed by effective uid of the connected user.
+ This option allows the Samba administrator to specify that
+ the ownership for new files and directories should be controlled
+ by the ownership of the parent directory.</para>
+
+ <para>Valid options are:</para>
+ <itemizedlist>
+ <listitem><para><constant>no</constant> -
+ Both the Windows (SID) owner and the UNIX (uid) owner of the file are
+ governed by the identity of the user that created the file.
+ </para></listitem>
+
+ <listitem><para><constant>windows and unix</constant> -
+ The Windows (SID) owner and the UNIX (uid) owner of new files and
+ directories are set to the respective owner of the parent directory.
+ </para></listitem>
+
+ <listitem><para><constant>yes</constant> - a synonym for
+ <constant>windows and unix</constant>.
+ </para></listitem>
+
+ <listitem><para><constant>unix only</constant> -
+ Only the UNIX owner is set to the UNIX owner of the parent directory.
+ </para></listitem>
+ </itemizedlist>
+
+ <para>Common scenarios where this behavior is useful is in
+ implementing drop-boxes, where users can create and edit files but
+ not delete them and ensuring that newly created files in a user's
+ roaming profile directory are actually owned by the user.</para>
+
+ <para>The <constant>unix only</constant> option effectively
+ breaks the tie between the Windows owner of a file and the
+ UNIX owner. As a logical consequence, in this mode,
+ setting the Windows owner of a file does not modify the UNIX
+ owner. Using this mode should typically be combined with a
+ backing store that can emulate the full NT ACL model without
+ affecting the POSIX permissions, such as the acl_xattr
+ VFS module, coupled with
+ <smbconfoption name="acl_xattr:ignore system acls">yes</smbconfoption>.
+ This can be used to emulate folder quotas, when files are
+ exposed only via SMB (without UNIX extensions).
+ The UNIX owner of a directory is locally set
+ and inherited by all subdirectories and files, and they all
+ consume the same quota.</para>
+</description>
+
+<related>inherit permissions</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/inheritpermissions.xml b/docs-xml/smbdotconf/security/inheritpermissions.xml
new file mode 100644
index 0000000..9dda734
--- /dev/null
+++ b/docs-xml/smbdotconf/security/inheritpermissions.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="inherit permissions"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The permissions on new files and directories are normally governed by <smbconfoption name="create mask"/>,
+ <smbconfoption name="directory mask"/>, <smbconfoption name="force create mode"/> and <smbconfoption
+ name="force directory mode"/> but the boolean inherit permissions parameter overrides this.
+ </para>
+
+ <para>New directories inherit the mode of the parent directory,
+ including bits such as setgid.</para>
+
+ <para>
+ New files inherit their read/write bits from the parent directory. Their execute bits continue to be
+ determined by <smbconfoption name="map archive"/>, <smbconfoption name="map hidden"/> and <smbconfoption
+ name="map system"/> as usual.
+ </para>
+
+ <para>Note that the setuid bit is <emphasis>never</emphasis> set via
+ inheritance (the code explicitly prohibits this).</para>
+
+ <para>This can be particularly useful on large systems with
+ many users, perhaps several thousand, to allow a single [homes]
+ share to be used flexibly by each user.</para>
+</description>
+
+<related>create mask</related>
+<related>directory mask</related>
+<related>force create mode</related>
+<related>force directory mode</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/invalidusers.xml b/docs-xml/smbdotconf/security/invalidusers.xml
new file mode 100644
index 0000000..b2fb2b9
--- /dev/null
+++ b/docs-xml/smbdotconf/security/invalidusers.xml
@@ -0,0 +1,34 @@
+<samba:parameter name="invalid users"
+ context="S"
+ 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
+ to login to this service. This is really a <emphasis>paranoid</emphasis>
+ check to absolutely ensure an improper setting does not breach
+ your security.</para>
+
+ <para>A name starting with a '@' is interpreted as an NIS
+ netgroup first (if your system supports NIS), and then as a UNIX
+ group if the name was not found in the NIS netgroup database.</para>
+
+ <para>A name starting with '+' is interpreted only
+ by looking in the UNIX group database via the NSS getgrnam() interface. A name starting with
+ '&amp;' is interpreted only by looking in the NIS netgroup database
+ (this requires NIS to be working on your system). The characters
+ '+' and '&amp;' may be used at the start of the name in either order
+ so the value <parameter moreinfo="none">+&amp;group</parameter> means check the
+ UNIX group database, followed by the NIS netgroup database, and
+ the value <parameter moreinfo="none">&amp;+group</parameter> means check the NIS
+ netgroup database, followed by the UNIX group database (the
+ same as the '@' prefix).</para>
+
+ <para>The current servicename is substituted for <parameter moreinfo="none">%S</parameter>.
+ This is useful in the [homes] section.</para>
+</description>
+
+<related>valid users</related>
+
+<value type="default"><comment>no invalid users</comment></value>
+<value type="example">root fred admin @wheel</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/kdcdefaultdomainsupportedenctypes.xml b/docs-xml/smbdotconf/security/kdcdefaultdomainsupportedenctypes.xml
new file mode 100644
index 0000000..9846111
--- /dev/null
+++ b/docs-xml/smbdotconf/security/kdcdefaultdomainsupportedenctypes.xml
@@ -0,0 +1,42 @@
+<samba:parameter name="kdc default domain supported enctypes"
+ type="integer"
+ context="G"
+ handler="handle_kdc_default_domain_supported_enctypes"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Set the default value of <constant>msDS-SupportedEncryptionTypes</constant> for service accounts in Active Directory that are missing this value or where <constant>msDS-SupportedEncryptionTypes</constant> is set to 0.
+ </para>
+
+ <para>
+ This allows Samba administrators to match the configuration flexibility provided by the
+ <constant>HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\KDC\DefaultDomainSupportedEncTypes</constant> Registry Value on Windows.
+ </para>
+ <para>
+ Unlike the Windows registry key (which only takes an base-10 number), in Samba this may also be expressed in hexadecimal or as a list of Kerberos encryption type names.
+ </para>
+ <para>
+ Specified values are ORed together bitwise, and those currently supported consist of:
+ </para><itemizedlist>
+ <listitem>
+ <para><constant>arcfour-hmac-md5</constant>, <constant>rc4-hmac</constant>, <constant>0x4</constant>, or <constant>4</constant></para>
+ <para>Known on Windows as Kerberos RC4 encryption</para>
+ </listitem>
+ <listitem>
+ <para><constant>aes128-cts-hmac-sha1-96</constant>, <constant>aes128-cts</constant>, <constant>0x8</constant>, or <constant>8</constant></para>
+ <para>Known on Windows as Kerberos AES 128 bit encryption</para>
+ </listitem>
+ <listitem>
+ <para><constant>aes256-cts-hmac-sha1-96</constant>, <constant>aes256-cts</constant>, <constant>0x10</constant>, or <constant>16</constant></para>
+ <para>Known on Windows as Kerberos AES 256 bit encryption</para>
+ </listitem>
+ <listitem>
+ <para><constant>aes256-cts-hmac-sha1-96-sk</constant>, <constant>aes256-cts-sk</constant>, <constant>0x20</constant>, or <constant>32</constant></para>
+ <para>Allow AES session keys. When this is set, it indicates to the KDC that AES session keys can be used, even when <constant>aes256-cts</constant> and <constant>aes128-cts</constant> are not set. This allows use of AES keys against hosts otherwise only configured with RC4 for ticket keys (which is the default).</para>
+ </listitem>
+</itemizedlist>
+
+</description>
+
+<value type="default">0<comment>maps to what the software supports currently: arcfour-hmac-md5 aes256-cts-hmac-sha1-96-sk</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/kdcenablefast.xml b/docs-xml/smbdotconf/security/kdcenablefast.xml
new file mode 100644
index 0000000..e47ca3b
--- /dev/null
+++ b/docs-xml/smbdotconf/security/kdcenablefast.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="kdc enable fast"
+ type="boolean"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>With the Samba 4.16 the embedded Heimdal KDC brings
+ support for RFC6113 FAST, which wasn't available in
+ older Samba versions.</para>
+
+ <para>This option is mostly for testing and currently only applies
+ if the embedded Heimdal KDC is used.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/kdcforceenablerc4weaksessionkeys.xml b/docs-xml/smbdotconf/security/kdcforceenablerc4weaksessionkeys.xml
new file mode 100644
index 0000000..1cb46d7
--- /dev/null
+++ b/docs-xml/smbdotconf/security/kdcforceenablerc4weaksessionkeys.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="kdc force enable rc4 weak session keys"
+ type="boolean"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ <constant>RFC8429</constant> declares that
+ <constant>rc4-hmac</constant> Kerberos ciphers are weak and
+ there are known attacks on Active Directory use of this
+ cipher suite.
+ </para>
+ <para>
+ However for compatibility with Microsoft Windows this option
+ allows the KDC to assume that regardless of the value set in
+ a service account's
+ <constant>msDS-SupportedEncryptionTypes</constant> attribute
+ that a <constant>rc4-hmac</constant> Kerberos session key (as distinct from the ticket key, as
+ found in a service keytab) can be used if the potentially
+ older client requests it.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/kdcsupportedenctypes.xml b/docs-xml/smbdotconf/security/kdcsupportedenctypes.xml
new file mode 100644
index 0000000..5e028bb
--- /dev/null
+++ b/docs-xml/smbdotconf/security/kdcsupportedenctypes.xml
@@ -0,0 +1,40 @@
+<samba:parameter name="kdc supported enctypes"
+ type="integer"
+ context="G"
+ handler="handle_kdc_supported_enctypes"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ On an active directory domain controller, this is the list of supported encryption types for local running kdc.
+ </para>
+
+ <para>
+ This allows Samba administrators to remove support for weak/unused encryption types, similar
+ the configuration flexibility provided by the <constant>Network security: Configure encryption types allowed for Kerberos</constant>
+ GPO/Local Policies/Security Options Value, which results in the
+ <constant>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters\SupportedEncryptionTypes</constant> Registry Value on Windows.
+ </para>
+ <para>
+ Unlike the Windows registry key (which only takes an base-10 number), in Samba this may also be expressed as hexadecimal or a list of Kerberos encryption type names.
+ </para>
+ <para>
+ Specified values are ORed together bitwise, and those currently supported consist of:
+ </para><itemizedlist>
+ <listitem>
+ <para><constant>arcfour-hmac-md5</constant>, <constant>rc4-hmac</constant>, <constant>0x4</constant>, or <constant>4</constant></para>
+ <para>Known on Windows as Kerberos RC4 encryption</para>
+ </listitem>
+ <listitem>
+ <para><constant>aes128-cts-hmac-sha1-96</constant>, <constant>aes128-cts</constant>, <constant>0x8</constant>, or <constant>8</constant></para>
+ <para>Known on Windows as Kerberos AES 128 bit encryption</para>
+ </listitem>
+ <listitem>
+ <para><constant>aes256-cts-hmac-sha1-96</constant>, <constant>aes256-cts</constant>, <constant>0x10</constant>, or <constant>16</constant></para>
+ <para>Known on Windows as Kerberos AES 256 bit encryption</para>
+ </listitem>
+</itemizedlist>
+
+</description>
+
+<value type="default">0<comment>maps to what the software supports currently: arcfour-hmac-md5 aes128-cts-hmac-sha1-96 aes256-cts-hmac-sha1-96</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/kerberosencryptiontypes.xml b/docs-xml/smbdotconf/security/kerberosencryptiontypes.xml
new file mode 100644
index 0000000..a245af5
--- /dev/null
+++ b/docs-xml/smbdotconf/security/kerberosencryptiontypes.xml
@@ -0,0 +1,47 @@
+<samba:parameter name="kerberos encryption types"
+ context="G"
+ type="enum"
+ enumlist="enum_kerberos_encryption_types_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter determines the encryption types to use when operating
+ as a Kerberos client. Possible values are <emphasis>all</emphasis>,
+ <emphasis>strong</emphasis>, and <emphasis>legacy</emphasis>.
+ </para>
+
+ <para>Samba uses a Kerberos library (MIT or Heimdal) to obtain Kerberos
+ tickets. This library is normally configured outside of Samba, using
+ the krb5.conf file. This file may also include directives to configure
+ the encryption types to be used. However, Samba implements Active Directory
+ protocols and algorithms to locate a domain controller. In order to
+ force the Kerberos library into using the correct domain controller,
+ some Samba processes, such as
+ <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and
+ <citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>, build a private krb5.conf
+ file for use by the Kerberos library while being invoked from Samba.
+ This private file controls all aspects of the Kerberos library operation,
+ and this parameter controls how the encryption types are configured
+ within this generated file, and therefore also controls the encryption
+ types negotiable by Samba.
+ </para>
+
+ <para>When set to <constant>all</constant>, all active directory
+ encryption types are allowed.
+ </para>
+
+ <para>When set to <constant>strong</constant>, only AES-based encryption
+ types are offered. This can be used in hardened environments to prevent
+ downgrade attacks.
+ </para>
+
+ <para>When set to <constant>legacy</constant>, only RC4-HMAC-MD5
+ is allowed. AVOID using this option, because of
+ <ulink url="https://www.samba.org/samba/security/CVE-2022-37966.html">CVE-2022-37966</ulink> see
+ <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15237">https://bugzilla.samba.org/show_bug.cgi?id=15237</ulink>.
+ </para>
+</description>
+
+<value type="default">all</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/kerberosmethod.xml b/docs-xml/smbdotconf/security/kerberosmethod.xml
new file mode 100644
index 0000000..b7cd988
--- /dev/null
+++ b/docs-xml/smbdotconf/security/kerberosmethod.xml
@@ -0,0 +1,41 @@
+<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>
+ Controls how kerberos tickets are verified.
+ </para>
+
+ <para>Valid options are:</para>
+ <itemizedlist>
+ <listitem><para>secrets only - use only the secrets.tdb for
+ ticket verification (default)</para></listitem>
+
+ <listitem><para>system keytab - use only the system keytab
+ for ticket verification</para></listitem>
+
+ <listitem><para>dedicated keytab - use a dedicated keytab
+ for ticket verification</para></listitem>
+
+ <listitem><para>secrets and keytab - use the secrets.tdb
+ first, then the system keytab</para></listitem>
+ </itemizedlist>
+
+ <para>
+ The major difference between "system keytab" and "dedicated
+ keytab" is that the latter method relies on kerberos to find the
+ correct keytab entry instead of filtering based on expected
+ principals.
+ </para>
+
+ <para>
+ When the kerberos method is in "dedicated keytab" mode,
+ <smbconfoption name="dedicated keytab file"/> must be set to
+ specify the location of the keytab file.
+ </para>
+</description>
+<related>dedicated keytab file</related>
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/kpasswdport.xml b/docs-xml/smbdotconf/security/kpasswdport.xml
new file mode 100644
index 0000000..71cd337
--- /dev/null
+++ b/docs-xml/smbdotconf/security/kpasswdport.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="kpasswd port"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies which ports the Kerberos server should listen on for
+ password changes.</para>
+</description>
+
+<value type="default">464</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/krb5port.xml b/docs-xml/smbdotconf/security/krb5port.xml
new file mode 100644
index 0000000..06c7988
--- /dev/null
+++ b/docs-xml/smbdotconf/security/krb5port.xml
@@ -0,0 +1,10 @@
+<samba:parameter name="krb5 port"
+ context="G"
+ 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>
+</description>
+
+<value type="default">88</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/lanmanauth.xml b/docs-xml/smbdotconf/security/lanmanauth.xml
new file mode 100644
index 0000000..045e89d
--- /dev/null
+++ b/docs-xml/smbdotconf/security/lanmanauth.xml
@@ -0,0 +1,55 @@
+<samba:parameter name="lanman auth"
+ context="G"
+ type="boolean"
+ function="_lanman_auth"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.11 and
+ support for LanMan (as distinct from NTLM, NTLMv2 or
+ Kerberos authentication)
+ will be removed in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>lanman auth = no</command>
+ will be the enforced behaviour.</para>
+
+ <para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will attempt to
+ authenticate users or permit password changes
+ using the LANMAN password hash. If disabled, only clients which support NT
+ password hashes (e.g. Windows NT/2000 clients, smbclient, but not
+ Windows 95/98 or the MS DOS network client) will be able to
+ connect to the Samba host.</para>
+
+ <para>The LANMAN encrypted response is easily broken, due to its
+ case-insensitive nature, and the choice of algorithm. Servers
+ without Windows 95/98/ME or MS DOS clients are advised to disable
+ this option. </para>
+
+ <para>When this parameter is set to <value>no</value> this
+ will also result in sambaLMPassword in Samba's passdb being
+ blanked after the next password change. As a result of that
+ lanman clients won't be able to authenticate, even if lanman
+ auth is re-enabled later on.
+ </para>
+
+ <para>Unlike the <parameter moreinfo="none">encrypt
+ passwords</parameter> option, this parameter cannot alter client
+ behaviour, and the LANMAN response will still be sent over the
+ network. See the <command moreinfo="none">client lanman
+ auth</command> to disable this for Samba's clients (such as smbclient)</para>
+
+ <para>This parameter is overridden by <parameter moreinfo="none">ntlm
+ auth</parameter>, so unless that it is also set to
+ <constant>ntlmv1-permitted</constant> or <constant>yes</constant>,
+ then only NTLMv2 logins will be permitted and no LM hash will be
+ stored. All modern clients support NTLMv2, and but some older
+ clients require special configuration to use it.</para>
+
+ <para><emphasis>This parameter has no impact on the Samba AD DC,
+ LM authentication is always disabled and no LM password is ever
+ stored.</emphasis></para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/lognttokencommand.xml b/docs-xml/smbdotconf/security/lognttokencommand.xml
new file mode 100644
index 0000000..0ea269e
--- /dev/null
+++ b/docs-xml/smbdotconf/security/lognttokencommand.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="log nt token command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option can be set to a command that will be called when new nt
+ tokens are created.</para>
+
+ <para>This is only useful for development purposes.</para>
+</description>
+
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/maptoguest.xml b/docs-xml/smbdotconf/security/maptoguest.xml
new file mode 100644
index 0000000..c98086a
--- /dev/null
+++ b/docs-xml/smbdotconf/security/maptoguest.xml
@@ -0,0 +1,62 @@
+<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
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> what to do with user
+ login requests that don't match a valid UNIX user in some way.</para>
+
+ <para>The four settings are :</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><constant>Never</constant> - Means user login
+ requests with an invalid password are rejected. This is the
+ default.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>Bad User</constant> - Means user
+ logins with an invalid password are rejected, unless the username
+ does not exist, in which case it is treated as a guest login and
+ mapped into the <smbconfoption name="guest account"/>.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>Bad Password</constant> - Means user logins
+ with an invalid password are treated as a guest login and mapped
+ into the <smbconfoption name="guest account"/>. Note that
+ this can cause problems as it means that any user incorrectly typing
+ their password will be silently logged on as &quot;guest&quot; - and
+ will not know the reason they cannot access files they think
+ they should - there will have been no message given to them
+ that they got their password wrong. Helpdesk services will
+ <emphasis>hate</emphasis> you if you set the <parameter moreinfo="none">map to
+ guest</parameter> parameter this way :-).</para>
+ </listitem>
+ <listitem>
+ <para><constant>Bad Uid</constant> - Is only applicable when Samba is configured
+ in some type of domain mode security (security = {domain|ads}) and means that
+ user logins which are successfully authenticated but which have no valid Unix
+ user account (and smbd is unable to create one) should be mapped to the defined
+ guest account. This was the default behavior of Samba 2.x releases. Note that
+ if a member server is running winbindd, this option should never be required
+ because the nss_winbind library will export the Windows domain users and groups
+ to the underlying OS via the Name Service Switch interface.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Note that this parameter is needed to set up &quot;Guest&quot;
+ share services. This is because in these modes the name of the resource being
+ requested is <emphasis>not</emphasis> sent to the server until after
+ the server has successfully authenticated the client so the server
+ cannot make authentication decisions at the correct time (connection
+ to the share) for &quot;Guest&quot; shares. </para>
+</description>
+
+<value type="default">Never</value>
+<value type="example">Bad User</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/mindomainuid.xml b/docs-xml/smbdotconf/security/mindomainuid.xml
new file mode 100644
index 0000000..46ae795
--- /dev/null
+++ b/docs-xml/smbdotconf/security/mindomainuid.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="min domain uid"
+ type="integer"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The integer parameter specifies the minimum uid allowed when mapping a
+ local account to a domain account.
+ </para>
+
+ <para>
+ Note that this option interacts with the configured <emphasis>idmap ranges</emphasis>!
+ </para>
+</description>
+
+<value type="default">1000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/mitkdccommand.xml b/docs-xml/smbdotconf/security/mitkdccommand.xml
new file mode 100644
index 0000000..602f27d
--- /dev/null
+++ b/docs-xml/smbdotconf/security/mitkdccommand.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="mit kdc command"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option specifies the path to the MIT kdc binary.</para>
+
+ <para>If the KDC is not installed in the default location and wasn't
+ correctly detected during build then you should modify this variable and
+ point it to the correct binary.</para>
+</description>
+
+<value type="default">&pathconfig.MITKDCPATH;</value>
+<value type="example">/opt/mit/sbin/krb5kdc</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/nt_hash_store.xml b/docs-xml/smbdotconf/security/nt_hash_store.xml
new file mode 100644
index 0000000..d7ed705
--- /dev/null
+++ b/docs-xml/smbdotconf/security/nt_hash_store.xml
@@ -0,0 +1,70 @@
+<samba:parameter name="nt hash store"
+ context="G"
+ type="enum"
+ enumlist="enum_nt_hash_store"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter determines whether or not <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will, as an AD DC, attempt to
+ store the NT password hash used in NTLM and NTLMv2 authentication for
+ users in this domain. </para>
+
+ <para>If so configured, the Samba Active Directory Domain Controller,
+ will, except for trust accounts (computers, domain
+ controllers and inter-domain trusts) the
+ <emphasis>NOT store the NT hash</emphasis>
+ for new and changed accounts in the sam.ldb database.</para>
+
+ <para>This avoids the storage of an unsalted hash for these
+ user-created passwords. As a consequence the
+ <constant>arcfour-hmac-md5</constant> Kerberos key type is
+ also unavailable in the KDC for these users - thankfully
+ <emphasis>modern clients will select an AES based key
+ instead.</emphasis></para>
+
+ <para>NOTE: As the password history in Active Directory is
+ stored as an NT hash (and thus unavailable), a workaround is
+ used, relying instead on Kerberos password hash values.
+ This stores three passwords, the current, previous and second previous
+ password. This allows some checking against reuse. </para>
+
+ <para>However as these values are salted, changing the
+ sAMAccountName, userAccountControl or userPrincipalName of
+ an account will cause the salt to change. After the rare
+ combination of both a rename and a password change only the
+ current password will be recognised for password history
+ purposes.
+ </para>
+ <para>The available settings are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><constant>always</constant> - Always store the NT hash
+ (as machine accounts will also always store an NT hash,
+ a hash will be stored for all accounts).</para>
+
+ <para>This setting may be useful if <parameter
+ moreinfo="none">ntlm auth</parameter> is set to <constant>disabled</constant>
+ for a trial period</para>
+
+ </listitem>
+
+ <listitem>
+ <para><constant>never</constant> - Never store the NT hash
+ for user accounts, only for machine accounts</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>auto</constant> - Store an NT hash if <parameter
+ moreinfo="none">ntlm auth</parameter> is not set to <constant>disabled</constant>.
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+</description>
+
+<related>ntlm auth</related>
+<value type="default">always</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/ntlmauth.xml b/docs-xml/smbdotconf/security/ntlmauth.xml
new file mode 100644
index 0000000..7ea38a4
--- /dev/null
+++ b/docs-xml/smbdotconf/security/ntlmauth.xml
@@ -0,0 +1,87 @@
+<samba:parameter name="ntlm auth"
+ context="G"
+ type="enum"
+ enumlist="enum_ntlm_auth"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will attempt to
+ authenticate users using the NTLM encrypted password response for
+ this local passdb (SAM or account database). </para>
+
+ <para>If disabled, both NTLM and LanMan authentication against the
+ local passdb is disabled.</para>
+
+ <para>Note that these settings apply only to local users,
+ authentication will still be forwarded to and NTLM authentication
+ accepted against any domain we are joined to, and any trusted
+ domain, even if disabled or if NTLMv2-only is enforced here. To
+ control NTLM authentication for domain users, this option must
+ be configured on each DC.</para>
+
+ <para>By default with <command moreinfo="none">ntlm auth</command> set to
+ <constant>ntlmv2-only</constant> only NTLMv2 logins will be
+ permitted. All modern clients support NTLMv2 by default, but some older
+ clients will require special configuration to use it.</para>
+
+ <para>The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x.</para>
+
+ <para>The available settings are:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><constant>ntlmv1-permitted</constant>
+ (alias <constant>yes</constant>) - Allow NTLMv1 and above for all clients.</para>
+
+ <para>This is the required setting to enable the <parameter
+ moreinfo="none">lanman auth</parameter> parameter.</para>
+
+ </listitem>
+
+ <listitem>
+ <para><constant>ntlmv2-only</constant>
+ (alias <constant>no</constant>) - Do not allow NTLMv1 to be used,
+ but permit NTLMv2.</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>mschapv2-and-ntlmv2-only</constant> - Only
+ allow NTLMv1 when the client promises that it is providing
+ MSCHAPv2 authentication (such as the <command
+ moreinfo="none">ntlm_auth</command> tool).</para>
+ </listitem>
+
+ <listitem>
+ <para><constant>disabled</constant> - Do not accept NTLM (or
+ LanMan) authentication of any level, nor permit
+ NTLM password changes.</para>
+
+ <para><emphasis>WARNING:</emphasis> Both Microsoft Windows
+ and Samba <emphasis>Read Only Domain Controllers</emphasis>
+ (RODCs) convert a plain-text LDAP Simple Bind into an NTLMv2
+ authentication to forward to a full DC. Setting this option
+ to <constant>disabled</constant> will cause these forwarded
+ authentications to fail.</para>
+
+ <para>Additionally, for Samba acting as an Active Directory
+ Domain Controller, for user accounts, if <parameter moreinfo="none">nt hash store</parameter>
+ is set to the default setting of <constant>auto</constant>,
+ the <emphasis>NT hash will not be stored</emphasis>
+ in the sam.ldb database for new users and after a
+ password change.</para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ <para>The default changed from <constant>yes</constant> to
+ <constant>no</constant> with Samba 4.5. The default changed again
+ to <constant>ntlmv2-only</constant> with Samba 4.7, however the
+ behaviour is unchanged.</para>
+</description>
+
+<related>nt hash store</related>
+<related>lanman auth</related>
+<related>raw NTLMv2 auth</related>
+<value type="default">ntlmv2-only</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml b/docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml
new file mode 100644
index 0000000..18d70cf
--- /dev/null
+++ b/docs-xml/smbdotconf/security/ntpsigndsocketdirectory.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="ntp signd socket directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This setting controls the location of the socket that
+ the NTP daemon uses to communicate with Samba for
+ signing packets.</para>
+
+ <para>If a non-default path is specified here, then it is also necessary
+ to make NTP aware of the new path using the <constant>ntpsigndsocket</constant>
+ directive in <filename>ntp.conf</filename>.</para>
+</description>
+
+<value type="default">&pathconfig.NTP_SIGND_SOCKET_DIR;</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/nullpasswords.xml b/docs-xml/smbdotconf/security/nullpasswords.xml
new file mode 100644
index 0000000..49533f6
--- /dev/null
+++ b/docs-xml/smbdotconf/security/nullpasswords.xml
@@ -0,0 +1,14 @@
+<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>
+
+ <para>See also <citerefentry><refentrytitle>smbpasswd</refentrytitle>
+ <manvolnum>5</manvolnum></citerefentry>.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/obeypamrestrictions.xml b/docs-xml/smbdotconf/security/obeypamrestrictions.xml
new file mode 100644
index 0000000..92708ef
--- /dev/null
+++ b/docs-xml/smbdotconf/security/obeypamrestrictions.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="obey pam restrictions"
+ context="G"
+ 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
+ should obey PAM's account and session management directives. The
+ default behavior is to use PAM for clear text authentication only
+ and to ignore any account or session management. Note that Samba
+ always ignores PAM for authentication in the case of <smbconfoption
+ name="encrypt passwords">yes</smbconfoption>. The reason
+ is that PAM modules cannot support the challenge/response
+ authentication mechanism needed in the presence of SMB password encryption.
+</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml b/docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml
new file mode 100644
index 0000000..78d6ff1
--- /dev/null
+++ b/docs-xml/smbdotconf/security/oldpasswordallowedperiod.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="old password allowed period"
+ context="G"
+ 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>
+
+ <para>This parameter only applies when <smbconfoption name="server role"/> is set to Active Directory Domain Controller.</para>
+</description>
+
+<value type="default">60</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/pampasswordchange.xml b/docs-xml/smbdotconf/security/pampasswordchange.xml
new file mode 100644
index 0000000..92ab4ad
--- /dev/null
+++ b/docs-xml/smbdotconf/security/pampasswordchange.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="pam password change"
+ context="G"
+ 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
+ flag for Samba. If enabled, then PAM will be used for password
+ changes when requested by an SMB client instead of the program listed in
+ <smbconfoption name="passwd program"/>.
+ It should be possible to enable this without changing your
+ <smbconfoption name="passwd chat"/> parameter for most setups.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passdbbackend.xml b/docs-xml/smbdotconf/security/passdbbackend.xml
new file mode 100644
index 0000000..8265b3e
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passdbbackend.xml
@@ -0,0 +1,65 @@
+<samba:parameter name="passdb backend"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>This option allows the administrator to chose which backend
+ will be used for storing user and possibly group information. This allows
+ you to swap between different storage mechanisms without recompile. </para>
+
+ <para>The parameter value is divided into two parts, the backend's name, and a 'location'
+ string that has meaning only to that particular backed. These are separated
+ by a : character.</para>
+
+ <para>Available backends can include:
+ <itemizedlist>
+ <listitem>
+ <para><command moreinfo="none">smbpasswd</command> - The old plaintext passdb
+ backend. Some Samba features will not work if this passdb
+ backend is used. Takes a path to the smbpasswd file as an
+ optional argument.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><command moreinfo="none">tdbsam</command> - The TDB based password storage
+ backend. Takes a path to the TDB as an optional argument (defaults to passdb.tdb
+ in the <smbconfoption name="private dir"/> directory.</para>
+ </listitem>
+
+ <listitem>
+ <para><command moreinfo="none">ldapsam</command> - The LDAP based passdb
+ backend. Takes an LDAP URL as an optional argument (defaults to
+ <command moreinfo="none">ldap://localhost</command>)</para>
+
+ <para>LDAP connections should be secured where possible. This may be done using either
+ Start-TLS (see <smbconfoption name="ldap ssl"/>) or by
+ specifying <parameter moreinfo="none">ldaps://</parameter> in
+ the URL argument. </para>
+
+ <para>Multiple servers may also be specified in double-quotes.
+ Whether multiple servers are supported or not and the exact
+ syntax depends on the LDAP library you use.
+ </para>
+
+ </listitem>
+ </itemizedlist>
+
+ </para>
+ Examples of use are:
+<programlisting>
+passdb backend = tdbsam:/etc/samba/private/passdb.tdb
+
+or multi server LDAP URL with OpenLDAP library:
+
+passdb backend = ldapsam:"ldap://ldap-1.example.com ldap://ldap-2.example.com"
+
+or multi server LDAP URL with Netscape based LDAP library:
+
+passdb backend = ldapsam:"ldap://ldap-1.example.com ldap-2.example.com"
+</programlisting>
+</description>
+
+<value type="default">tdbsam</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passdbexpandexplicit.xml b/docs-xml/smbdotconf/security/passdbexpandexplicit.xml
new file mode 100644
index 0000000..41c8ea0
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passdbexpandexplicit.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="passdb expand explicit"
+ context="G"
+ 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
+ used to expand macros here, but this turned out to be a bug because the Windows client can expand a variable
+ %G_osver% in which %G would have been substituted by the user's primary group.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passwdchat.xml b/docs-xml/smbdotconf/security/passwdchat.xml
new file mode 100644
index 0000000..a04fc62
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passwdchat.xml
@@ -0,0 +1,57 @@
+<samba:parameter name="passwd chat"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This string controls the <emphasis>&quot;chat&quot;</emphasis>
+ conversation that takes places between <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> and the local password changing
+ program to change the user's password. The string describes a
+ sequence of response-receive pairs that <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> uses to determine what to send to the
+ <smbconfoption name="passwd program"/> and what to expect back. If the expected output is not
+ received then the password is not changed.</para>
+
+ <para>This chat sequence is often quite site specific, depending
+ on what local methods are used for password control.</para>
+
+ <para>Note that this parameter only is used if the <smbconfoption
+ name="unix password sync"/> parameter is set to <constant>yes</constant>. This sequence is
+ then called <emphasis>AS ROOT</emphasis> when the SMB password in the
+ smbpasswd file is being changed, without access to the old password
+ cleartext. This means that root must be able to reset the user's password without
+ knowing the text of the previous password.
+ </para>
+
+ <para>The string can contain the macro <parameter
+ moreinfo="none">%n</parameter> which is substituted
+ for the new password. The old password (<parameter
+ moreinfo="none">%o</parameter>) is only available when
+ <smbconfoption name="encrypt passwords"/> has been disabled.
+ The chat sequence can also contain the standard macros
+ \n, \r, \t and \s to give line-feed, carriage-return, tab
+ and space. The chat sequence string can also contain
+ a '*' which matches any sequence of characters. Double quotes can
+ be used to collect strings with spaces in them into a single
+ string.</para>
+
+ <para>If the send string in any part of the chat sequence is a full
+ stop &quot;.&quot;, then no string is sent. Similarly, if the
+ expect string is a full stop then no string is expected.</para>
+
+ <para>If the <smbconfoption name="pam password change"/> parameter is set to <constant>yes</constant>, the
+ chat pairs may be matched in any order, and success is determined by the PAM result, not any particular
+ output. The \n macro is ignored for PAM conversions.
+ </para>
+
+</description>
+
+<related>unix password sync</related>
+<related>passwd program</related>
+<related>passwd chat debug</related>
+<related>pam password change</related>
+
+<value type="default">*new*password* %n\n *new*password* %n\n *changed*</value>
+<value type="example">&quot;*Enter NEW password*&quot; %n\n &quot;*Reenter NEW password*&quot; %n\n &quot;*Password changed*&quot;</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passwdchatdebug.xml b/docs-xml/smbdotconf/security/passwdchatdebug.xml
new file mode 100644
index 0000000..0c3481e
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passwdchatdebug.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="passwd chat debug"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean specifies if the passwd chat script
+ parameter is run in <emphasis>debug</emphasis> mode. In this mode the
+ strings passed to and received from the passwd chat are printed
+ in the <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> log with a
+ <smbconfoption name="debug level"/>
+ of 100. This is a dangerous option as it will allow plaintext passwords
+ to be seen in the <command moreinfo="none">smbd</command> log. It is available to help
+ Samba admins debug their <parameter moreinfo="none">passwd chat</parameter> scripts
+ when calling the <parameter moreinfo="none">passwd program</parameter> and should
+ be turned off after this has been done. This option has no effect if the
+ <smbconfoption name="pam password change"/>
+ parameter is set. This parameter is off by default.</para>
+</description>
+
+<related>passwd chat</related>
+<related>pam password change</related>
+<related>passwd program</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passwdchattimeout.xml b/docs-xml/smbdotconf/security/passwdchattimeout.xml
new file mode 100644
index 0000000..74e8688
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passwdchattimeout.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="passwd chat timeout"
+ context="G"
+ 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
+ answer from a passwd chat script being run. Once the initial answer is received
+ the subsequent answers must be received in one tenth of this time. The default it
+ two seconds.</para>
+</description>
+
+<value type="default">2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passwdprogram.xml b/docs-xml/smbdotconf/security/passwdprogram.xml
new file mode 100644
index 0000000..e12cc8e
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passwdprogram.xml
@@ -0,0 +1,37 @@
+<samba:parameter name="passwd program"
+ context="G"
+ type="string"
+ substitution="1"
+ 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>
+ will be replaced with the user name. The user name is checked for
+ existence before calling the password changing program.</para>
+
+ <para>Also note that many passwd programs insist in <emphasis>reasonable
+ </emphasis> passwords, such as a minimum length, or the inclusion
+ of mixed case chars and digits. This can pose a problem as some clients
+ (such as Windows for Workgroups) uppercase the password before sending
+ it.</para>
+
+ <para><emphasis>Note</emphasis> that if the <parameter moreinfo="none">unix
+ password sync</parameter> parameter is set to <constant>yes
+ </constant> then this program is called <emphasis>AS ROOT</emphasis>
+ before the SMB password in the smbpasswd
+ file is changed. If this UNIX password change fails, then
+ <command moreinfo="none">smbd</command> will fail to change the SMB password also
+ (this is by design).</para>
+
+ <para>If the <parameter moreinfo="none">unix password sync</parameter> parameter
+ is set this parameter <emphasis>MUST USE ABSOLUTE PATHS</emphasis>
+ for <emphasis>ALL</emphasis> programs called, and must be examined
+ for security implications. Note that by default <parameter moreinfo="none">unix
+ password sync</parameter> is set to <constant>no</constant>.</para>
+ </description>
+
+ <related>unix password symc</related>
+
+ <value type="default"></value>
+<value type="example">/bin/passwd %u</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passwordhashgpgkeyids.xml b/docs-xml/smbdotconf/security/passwordhashgpgkeyids.xml
new file mode 100644
index 0000000..e53cdbe
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passwordhashgpgkeyids.xml
@@ -0,0 +1,45 @@
+<samba:parameter name="password hash gpg key ids"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If <command moreinfo="none">samba</command> is running as an
+ active directory domain controller, it is possible to store the
+ cleartext password of accounts in a PGP/OpenGPG encrypted form.</para>
+
+ <para>You can specify one or more recipients by key id or user id.
+ Note that 32bit key ids are not allowed, specify at least 64bit.</para>
+
+ <para>The value is stored as 'Primary:SambaGPG' in the
+ <command moreinfo="none">supplementalCredentials</command> attribute.</para>
+
+ <para>As password changes can occur on any domain controller,
+ you should configure this on each of them. Note that this feature is currently
+ available only on Samba domain controllers.</para>
+
+ <para>This option is only available if <command moreinfo="none">samba</command>
+ was compiled with <command moreinfo="none">gpgme</command> support.</para>
+
+ <para>You may need to export the <command moreinfo="none">GNUPGHOME</command>
+ environment variable before starting <command moreinfo="none">samba</command>.
+ <emphasis>It is strongly recommended to only store the public key in this
+ location. The private key is not used for encryption and should be
+ only stored where decryption is required.</emphasis></para>
+
+ <para>Being able to restore the cleartext password helps, when they need to be imported
+ into other authentication systems later (see <command moreinfo="none">samba-tool user getpassword</command>)
+ or you want to keep the passwords in sync with another system, e.g. an OpenLDAP server
+ (see <command moreinfo="none">samba-tool user syncpasswords</command>).</para>
+
+ <para>While this option needs to be configured on all domain controllers, the
+ <command moreinfo="none">samba-tool user syncpasswords</command> command should
+ run on a single domain controller only (typically the PDC-emulator).</para>
+</description>
+
+<related>unix password sync</related>
+
+<value type="default"></value>
+<value type="example">4952E40301FAB41A</value>
+<value type="example">selftest@samba.example.com</value>
+<value type="example">selftest@samba.example.com, 4952E40301FAB41A</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passwordhashuserpasswordschemes.xml b/docs-xml/smbdotconf/security/passwordhashuserpasswordschemes.xml
new file mode 100644
index 0000000..18a43f9
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passwordhashuserpasswordschemes.xml
@@ -0,0 +1,67 @@
+<samba:parameter name="password hash userPassword schemes"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+<para>This parameter determines whether or not
+<citerefentry><refentrytitle>samba</refentrytitle>
+<manvolnum>8</manvolnum></citerefentry> acting as an Active
+Directory Domain Controller will attempt to store additional
+passwords hash types for the user</para>
+
+<para>The values are stored as 'Primary:userPassword' in the
+<command moreinfo="none">supplementalCredentials</command>
+attribute. The value of this option is a hash type.</para>
+
+<para>The currently supported hash types are:</para>
+<itemizedlist>
+ <listitem>
+ <para><constant>CryptSHA256</constant></para>
+ </listitem>
+ <listitem>
+ <para><constant>CryptSHA512</constant></para>
+ </listitem>
+</itemizedlist>
+
+<para>Multiple instances of a hash type may be computed and stored.
+The password hashes are calculated using the
+<citerefentry><refentrytitle>crypt</refentrytitle>
+<manvolnum>3</manvolnum></citerefentry> call.
+The number of rounds used to compute the hash can be specified by adding
+':rounds=xxxx' to the hash type, i.e. CryptSHA512:rounds=4500 would calculate
+an SHA512 hash using 4500 rounds. If not specified the Operating System
+defaults for
+<citerefentry><refentrytitle>crypt</refentrytitle>
+<manvolnum>3</manvolnum></citerefentry> are used.
+</para>
+
+<para>As password changes can occur on any domain controller,
+you should configure this on each of them. Note that this feature is
+currently available only on Samba domain controllers.</para>
+
+<para>Currently the NT Hash of the password is recorded when these hashes
+are calculated and stored. When retrieving the hashes the current value of the
+NT Hash is checked against the stored NT Hash. This detects password changes
+that have not updated the password hashes. In this case
+<command moreinfo="none">samba-tool user</command> will ignore the stored
+hash values.
+</para>
+
+<para>Being able to obtain the hashed password helps, when
+they need to be imported into other authentication systems
+later (see <command moreinfo="none">samba-tool user
+getpassword</command>) or you want to keep the passwords in
+sync with another system, e.g. an OpenLDAP server (see
+<command moreinfo="none">samba-tool user
+syncpasswords</command>).</para>
+
+<related>unix password sync</related>
+
+</description>
+
+<value type="default"></value>
+<value type="example">CryptSHA256</value>
+<value type="example">CryptSHA256 CryptSHA512</value>
+<value type="example">CryptSHA256:rounds=5000 CryptSHA512:rounds=7000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/passwordserver.xml b/docs-xml/smbdotconf/security/passwordserver.xml
new file mode 100644
index 0000000..8bc2ecb
--- /dev/null
+++ b/docs-xml/smbdotconf/security/passwordserver.xml
@@ -0,0 +1,46 @@
+<samba:parameter name="password server"
+ context="G"
+ type="string"
+ 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>
+ it is possible to get Samba
+ to do all its username/password validation using a specific remote server.</para>
+
+ <para>Ideally, this option
+ <emphasis>should not</emphasis> be used, as the default '*' indicates to Samba
+ to determine the best DC to contact dynamically, just as all other hosts in an
+ AD domain do. This allows the domain to be maintained (addition
+ and removal of domain controllers) without modification to
+ the smb.conf file. The cryptographic protection on the authenticated RPC calls
+ used to verify passwords ensures that this default is safe.</para>
+
+ <para><emphasis>It is strongly recommended that you use the
+ default of '*'</emphasis>, however if in your particular
+ environment you have reason to specify a particular DC list, then
+ the list of machines in this option must be a list of names or IP
+ addresses of Domain controllers for the Domain. If you use the
+ default of '*', or list several hosts in the <parameter
+ moreinfo="none">password server</parameter> option then <command
+ moreinfo="none">smbd </command> will try each in turn till it
+ finds one that responds. This is useful in case your primary
+ server goes down.</para>
+
+ <para>If the list of servers contains both names/IP's and the '*'
+ character, the list is treated as a list of preferred
+ domain controllers, but an auto lookup of all remaining DC's
+ will be added to the list as well. Samba will not attempt to optimize
+ this list by locating the closest DC.</para>
+
+ <para>If parameter is a name, it is looked up using the
+ parameter <smbconfoption name="name resolve order"/> and so may resolved
+ by any method and order described in that parameter.</para>
+
+</description>
+
+<related>security</related>
+<value type="default">*</value>
+<value type="example">NT-PDC, NT-BDC1, NT-BDC2, *</value>
+<value type="example">windc.mydomain.com:389 192.168.1.101 *</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/preloadmodules.xml b/docs-xml/smbdotconf/security/preloadmodules.xml
new file mode 100644
index 0000000..7b77674
--- /dev/null
+++ b/docs-xml/smbdotconf/security/preloadmodules.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="preload modules"
+ type="cmdlist"
+ 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
+ the speed of smbd when reacting to new connections somewhat. </para>
+</description>
+
+<value type="default"></value>
+<value type="example">/usr/lib/samba/passdb/mysql.so</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/privatedir.xml b/docs-xml/smbdotconf/security/privatedir.xml
new file mode 100644
index 0000000..9abcb7e
--- /dev/null
+++ b/docs-xml/smbdotconf/security/privatedir.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="private dir"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>private directory</synonym>
+<description>
+ <para>This parameters defines the directory
+ smbd will use for storing such files as <filename moreinfo="none">smbpasswd</filename>
+ and <filename moreinfo="none">secrets.tdb</filename>.
+</para>
+</description>
+
+<value type="default">&pathconfig.PRIVATE_DIR;</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/rawntlmv2auth.xml b/docs-xml/smbdotconf/security/rawntlmv2auth.xml
new file mode 100644
index 0000000..c4d7554
--- /dev/null
+++ b/docs-xml/smbdotconf/security/rawntlmv2auth.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="raw NTLMv2 auth"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter has been deprecated since Samba 4.13 and
+ support for NTLMv2 authentication without NTLMSSP will be removed
+ in a future Samba release.</para>
+ <para>That is, in the future, the current default of
+ <command>raw NTLMv2 auth = no</command>
+ will be the enforced behaviour.</para>
+
+ <para>This parameter determines whether or not <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will allow SMB1 clients without
+ extended security (without SPNEGO) to use NTLMv2 authentication.</para>
+
+ <para>If this option, <command moreinfo="none">lanman auth</command>
+ and <command moreinfo="none">ntlm auth</command> are all disabled,
+ then only clients with SPNEGO support will be permitted.
+ That means NTLMv2 is only supported within NTLMSSP.</para>
+</description>
+
+<related>lanman auth</related>
+<related>ntlm auth</related>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/readlist.xml b/docs-xml/smbdotconf/security/readlist.xml
new file mode 100644
index 0000000..96f3746
--- /dev/null
+++ b/docs-xml/smbdotconf/security/readlist.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="read list"
+ context="S"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is a list of users that are given read-only access to a service. If the connecting user is in this list
+ then they will not be given write access, no matter what the <smbconfoption name="read only"/> option is set
+ to. The list can include group names using the syntax described in the <smbconfoption name="invalid users"/>
+ parameter.
+ </para>
+</description>
+<related>write list</related>
+<related>invalid users</related>
+
+<value type="default"></value>
+<value type="example">mary, @students</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/readonly.xml b/docs-xml/smbdotconf/security/readonly.xml
new file mode 100644
index 0000000..834633f
--- /dev/null
+++ b/docs-xml/smbdotconf/security/readonly.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="read only"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>An inverted synonym is <smbconfoption name="writeable"/>.</para>
+
+ <para>If this parameter is <constant>yes</constant>, then users
+ of a service may not create or modify files in the service's
+ directory.</para>
+
+ <para>Note that a printable service (<command moreinfo="none">printable = yes</command>)
+ will <emphasis>ALWAYS</emphasis> allow writing to the directory
+ (user privileges permitting), but only via spooling operations.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/renameuserscript.xml b/docs-xml/smbdotconf/security/renameuserscript.xml
new file mode 100644
index 0000000..2bfbea4
--- /dev/null
+++ b/docs-xml/smbdotconf/security/renameuserscript.xml
@@ -0,0 +1,33 @@
+<samba:parameter name="rename user script"
+ context="G"
+ type="string"
+ substitution="1"
+ 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>
+ <manvolnum>8</manvolnum></citerefentry> under special circumstances described below.
+ </para>
+
+ <para>
+ When a user with admin authority or SeAddUserPrivilege rights renames a user (e.g.: from the NT4 User Manager
+ for Domains), this script will be run to rename the POSIX user. Two variables, <literal>%uold</literal> and
+ <literal>%unew</literal>, will be substituted with the old and new usernames, respectively. The script should
+ return 0 upon successful completion, and nonzero otherwise.
+ </para>
+
+ <note><para>
+ The script has all responsibility to rename all the necessary data that is accessible in this posix method.
+ This can mean different requirements for different backends. The tdbsam and smbpasswd backends will take care
+ of the contents of their respective files, so the script is responsible only for changing the POSIX username, and
+ other data that may required for your circumstances, such as home directory. Please also consider whether or
+ not you need to rename the actual home directories themselves. The ldapsam backend will not make any changes,
+ because of the potential issues with renaming the LDAP naming attribute. In this case the script is
+ responsible for changing the attribute that samba uses (uid) for locating users, as well as any data that
+ needs to change for other applications using the same directory.
+ </para></note>
+
+</description>
+
+<value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/restrictanonymous.xml b/docs-xml/smbdotconf/security/restrictanonymous.xml
new file mode 100644
index 0000000..06abe7b
--- /dev/null
+++ b/docs-xml/smbdotconf/security/restrictanonymous.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="restrict anonymous"
+ type="integer"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The setting of this parameter determines whether SAMR and LSA
+ DCERPC services can be accessed anonymously. This corresponds
+ to the following Windows Server registry options:
+ </para>
+
+ <programlisting>
+ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\RestrictAnonymous
+ </programlisting>
+
+ <para>
+ The option also affects the browse option which is required by
+ legacy clients which rely on Netbios browsing. While modern
+ Windows version should be fine with restricting the access
+ there could still be applications relying on anonymous access.
+ </para>
+
+ <para>
+ Setting <smbconfoption name="restrict anonymous">1</smbconfoption>
+ will disable anonymous SAMR access.
+ </para>
+
+ <para>
+ Setting <smbconfoption name="restrict anonymous">2</smbconfoption>
+ will, in addition to restricting SAMR access, disallow anonymous
+ connections to the IPC$ share in general.
+ Setting <smbconfoption name="guest ok">yes</smbconfoption> on any share
+ will remove the security advantage.
+ </para>
+</description>
+
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/rootdirectory.xml b/docs-xml/smbdotconf/security/rootdirectory.xml
new file mode 100644
index 0000000..0eb7c15
--- /dev/null
+++ b/docs-xml/smbdotconf/security/rootdirectory.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="root directory"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>root</synonym>
+<synonym>root dir</synonym>
+<description>
+ <para>The server will <command moreinfo="none">chroot()</command> (i.e.
+ Change its root directory) to this directory on startup. This is
+ not strictly necessary for secure operation. Even without it the
+ server will deny access to files not in one of the service entries.
+ It may also check for, and deny access to, soft links to other
+ parts of the filesystem, or attempts to use &quot;..&quot; in file names
+ to access other directories (depending on the setting of the
+ <smbconfoption name="wide links"/> parameter).
+ </para>
+
+ <para>Adding a <parameter moreinfo="none">root directory</parameter> entry other
+ than &quot;/&quot; adds an extra level of security, but at a price. It
+ absolutely ensures that no access is given to files not in the
+ sub-tree specified in the <parameter moreinfo="none">root directory</parameter>
+ option, <emphasis>including</emphasis> some files needed for
+ complete operation of the server. To maintain full operability
+ of the server you will need to mirror some system files
+ into the <parameter moreinfo="none">root directory</parameter> tree. In particular
+ you will need to mirror <filename moreinfo="none">/etc/passwd</filename> (or a
+ subset of it), and any binaries or configuration files needed for
+ printing (if required). The set of files that must be mirrored is
+ operating system dependent.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">/homes/smb</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/sambakcccommand.xml b/docs-xml/smbdotconf/security/sambakcccommand.xml
new file mode 100644
index 0000000..af8a28a
--- /dev/null
+++ b/docs-xml/smbdotconf/security/sambakcccommand.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="samba kcc command"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option specifies the path to the Samba KCC command.
+ This script is used for replication topology replication.
+ </para>
+
+ <para>It should not be necessary to modify this option except
+ for testing purposes or if the <filename>samba_kcc</filename>
+ was installed in a non-default location.
+ </para>
+</description>
+
+<value type="default">&pathconfig.SCRIPTSBINDIR;/samba_kcc</value>
+<value type="example">/usr/local/bin/kcc</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/security.xml b/docs-xml/smbdotconf/security/security.xml
new file mode 100644
index 0000000..be2e9fd
--- /dev/null
+++ b/docs-xml/smbdotconf/security/security.xml
@@ -0,0 +1,105 @@
+<samba:parameter name="security"
+ 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="encrypt 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">
+ smb.conf</filename> file.</para>
+
+ <para>Unless <smbconfoption name="server role"/> is specified,
+ the default is <command moreinfo="none">security = user</command>, as this is
+ the most common setting, used for a standalone file server or a DC.</para>
+
+ <para>The alternatives to <command moreinfo="none">security = user</command> are
+ <command moreinfo="none">security = ads</command> or <command moreinfo="none">security = domain
+ </command>, which support joining Samba to a Windows domain</para>
+
+ <para>You should use <command moreinfo="none">security = user</command> and
+ <smbconfoption name="map to guest"/> if you
+ want to mainly setup shares without a password (guest shares). This
+ is commonly used for a shared printer server. </para>
+
+ <para>The different settings will now be explained.</para>
+
+
+ <para><anchor id="SECURITYEQUALSAUTO"/><emphasis>SECURITY = AUTO</emphasis></para>
+
+ <para>This is the default security setting in Samba, and causes Samba to consult
+ the <smbconfoption name="server role"/> parameter (if set) to determine the security mode.</para>
+
+ <para><anchor id="SECURITYEQUALSUSER"/><emphasis>SECURITY = USER</emphasis></para>
+
+ <para>If <smbconfoption name="server role"/> is not specified, this is the default security setting in Samba.
+ With user-level security a client must first &quot;log-on&quot; with a
+ valid username and password (which can be mapped using the <smbconfoption name="username map"/>
+ parameter). Encrypted passwords (see the <smbconfoption name="encrypt passwords"/> parameter) can also
+ be used in this security mode. Parameters such as <smbconfoption name="force user"/> and <smbconfoption
+ name="guest only"/> if set are then applied and
+ may change the UNIX user to use on this connection, but only after
+ the user has been successfully authenticated.</para>
+
+ <para><emphasis>Note</emphasis> that the name of the resource being
+ requested is <emphasis>not</emphasis> sent to the server until after
+ the server has successfully authenticated the client. This is why
+ guest shares don't work in user level security without allowing
+ the server to automatically map unknown users into the <smbconfoption name="guest account"/>.
+ See the <smbconfoption name="map to guest"/> parameter for details on doing this.</para>
+
+ <para><anchor id="SECURITYEQUALSDOMAIN"/><emphasis>SECURITY = DOMAIN</emphasis></para>
+
+ <para>This mode will only work correctly if <citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> has been used to add this
+ machine into a Windows NT Domain. It expects the <smbconfoption name="encrypt passwords"/>
+ parameter to be set to <constant>yes</constant>. In this
+ mode Samba will try to validate the username/password by passing
+ it to a Windows NT Primary or Backup Domain Controller, in exactly
+ the same way that a Windows NT Server would do.</para>
+
+ <para><emphasis>Note</emphasis> that a valid UNIX user must still
+ exist as well as the account on the Domain Controller to allow
+ Samba to have a valid UNIX account to map file access to.</para>
+
+ <para><emphasis>Note</emphasis> that from the client's point
+ of view <command moreinfo="none">security = domain</command> is the same
+ as <command moreinfo="none">security = user</command>. It only
+ affects how the server deals with the authentication,
+ it does not in any way affect what the client sees.</para>
+
+ <para><emphasis>Note</emphasis> that the name of the resource being
+ requested is <emphasis>not</emphasis> sent to the server until after
+ the server has successfully authenticated the client. This is why
+ guest shares don't work in user level security without allowing
+ the server to automatically map unknown users into the <smbconfoption name="guest account"/>.
+ See the <smbconfoption name="map to guest"/> parameter for details on doing this.</para>
+
+ <para>See also the <smbconfoption name="password server"/> parameter and
+ the <smbconfoption name="encrypt passwords"/> parameter.</para>
+
+ <para><anchor id="SECURITYEQUALSADS"/><emphasis>SECURITY = ADS</emphasis></para>
+
+ <para>In this mode, Samba will act as a domain member in an ADS realm. To operate
+ in this mode, the machine running Samba will need to have Kerberos installed
+ and configured and Samba will need to be joined to the ADS realm using the
+ net utility. </para>
+
+ <para>Note that this mode does NOT make Samba operate as a Active Directory Domain
+ Controller. </para>
+
+ <para>Note that this forces <smbconfoption name="require strong key">yes</smbconfoption>
+ and <smbconfoption name="client schannel">yes</smbconfoption> for the primary domain.</para>
+
+ <para>Read the chapter about Domain Membership in the HOWTO for details.</para>
+</description>
+
+<related>realm</related>
+<related>encrypt passwords</related>
+
+<value type="default">AUTO</value>
+<value type="example">DOMAIN</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/securitymask.xml b/docs-xml/smbdotconf/security/securitymask.xml
new file mode 100644
index 0000000..e535d32
--- /dev/null
+++ b/docs-xml/smbdotconf/security/securitymask.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="security mask"
+ 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.
+ </para>
+</description>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/serverrole.xml b/docs-xml/smbdotconf/security/serverrole.xml
new file mode 100644
index 0000000..4ea4e47
--- /dev/null
+++ b/docs-xml/smbdotconf/security/serverrole.xml
@@ -0,0 +1,96 @@
+<samba:parameter name="server role"
+ 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
+ server and is one of the most important settings in the <filename
+ moreinfo="none"> smb.conf</filename> file.</para>
+
+ <para>The default is <command moreinfo="none">server role = auto</command>, as causes
+ Samba to operate according to the <smbconfoption name="security"/> setting, or if not
+ specified as a simple file server that is not connected to any domain.</para>
+
+ <para>The alternatives are
+ <command moreinfo="none">server role = standalone</command> or <command moreinfo="none">server role = member server
+ </command>, which support joining Samba to a Windows domain, along with <command moreinfo="none">server role = domain controller</command>, which run Samba as a Windows domain controller.</para>
+
+ <para>You should use <command moreinfo="none">server role = standalone</command> and
+ <smbconfoption name="map to guest"/> if you
+ want to mainly setup shares without a password (guest shares). This
+ is commonly used for a shared printer server. </para>
+
+ <para><anchor id="AUTO"/><emphasis>SERVER ROLE = AUTO</emphasis></para>
+
+ <para>This is the default server role in Samba, and causes Samba to consult
+ the <smbconfoption name="security"/> parameter (if set) to determine the server role, giving compatible behaviours to previous Samba versions.</para>
+
+ <para><anchor id="STANDALONE"/><emphasis>SERVER ROLE = STANDALONE</emphasis></para>
+
+ <para>If <smbconfoption name="security"/> is also not specified, this is the default security setting in Samba.
+ In standalone operation, a client must first &quot;log-on&quot; with a
+ valid username and password (which can be mapped using the <smbconfoption name="username map"/>
+ parameter) stored on this machine. Encrypted passwords (see the <smbconfoption name="encrypt passwords"/> parameter) are by default
+ used in this security mode. Parameters such as <smbconfoption name="force user"/> and <smbconfoption
+ name="guest only"/> if set are then applied and
+ may change the UNIX user to use on this connection, but only after
+ the user has been successfully authenticated.</para>
+
+ <para><anchor id="MEMBER SERVER"/><emphasis>SERVER ROLE = MEMBER SERVER</emphasis></para>
+
+ <para>This mode will only work correctly if <citerefentry><refentrytitle>net</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> has been used to add this
+ machine into a Windows Domain. It expects the <smbconfoption name="encrypt passwords"/>
+ parameter to be set to <constant>yes</constant>. In this
+ mode Samba will try to validate the username/password by passing
+ it to a Windows or Samba Domain Controller, in exactly
+ the same way that a Windows Server would do.</para>
+
+ <para><emphasis>Note</emphasis> that a valid UNIX user must still
+ exist as well as the account on the Domain Controller to allow
+ Samba to have a valid UNIX account to map file access to. Winbind can provide this.</para>
+
+ <para><anchor id="PDC"/><emphasis>SERVER ROLE = CLASSIC PRIMARY DOMAIN CONTROLLER</emphasis></para>
+
+ <para>This mode of operation runs a classic Samba primary domain
+ controller, providing domain logon services to Windows and Samba
+ clients of an NT4-like domain. Clients must be joined to the domain to
+ create a secure, trusted path across the network. There must be
+ only one PDC per NetBIOS scope (typically a broadcast network or
+ clients served by a single WINS server).</para>
+
+ <para><anchor id="BDC"/><emphasis>SERVER ROLE = CLASSIC BACKUP DOMAIN CONTROLLER</emphasis></para>
+
+ <para>This mode of operation runs a classic Samba backup domain
+ controller, providing domain logon services to Windows and Samba
+ clients of an NT4-like domain. As a BDC, this allows
+ multiple Samba servers to provide redundant logon services to a
+ single NetBIOS scope.</para>
+
+ <para><anchor id="AD-DC"/><emphasis>SERVER ROLE = ACTIVE DIRECTORY DOMAIN CONTROLLER</emphasis></para>
+
+ <para>This mode of operation runs Samba as an active directory
+ domain controller, providing domain logon services to Windows and
+ Samba clients of the domain. This role requires special
+ configuration, see the <ulink
+ url="http://wiki.samba.org/index.php/Samba4/HOWTO">Samba4
+ HOWTO</ulink></para>
+
+ <para><anchor id="IPA-DC"/><emphasis>SERVER ROLE = IPA DOMAIN CONTROLLER</emphasis></para>
+
+ <para>This mode of operation runs Samba in a hybrid mode for IPA
+ domain controller, providing forest trust to Active Directory.
+ This role requires special configuration performed by IPA installers
+ and should not be used manually by any administrator.
+ </para>
+</description>
+
+<related>security</related>
+<related>realm</related>
+<related>encrypt passwords</related>
+
+<value type="default">AUTO</value>
+<value type="example">ACTIVE DIRECTORY DOMAIN CONTROLLER</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/serverschannel.xml b/docs-xml/smbdotconf/security/serverschannel.xml
new file mode 100644
index 0000000..5c69f0f
--- /dev/null
+++ b/docs-xml/smbdotconf/security/serverschannel.xml
@@ -0,0 +1,102 @@
+<samba:parameter name="server schannel"
+ context="G"
+ type="enum"
+ enumlist="enum_bool_auto"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ This option is deprecated and will be removed in future,
+ as it is a security problem if not set to "yes" (which will be
+ the hardcoded behavior in future).
+ </para>
+
+ <para><emphasis>Avoid using this option!</emphasis> Use explicit '<smbconfoption name="server require schannel:COMPUTERACCOUNT">no</smbconfoption>' instead!
+ </para>
+
+ <para>
+ Samba will log an error in the log files at log level 0
+ if legacy a client is rejected or allowed without an explicit,
+ '<smbconfoption name="server require schannel:COMPUTERACCOUNT">no</smbconfoption>' option
+ for the client. The message will indicate
+ the explicit '<smbconfoption name="server require schannel:COMPUTERACCOUNT">no</smbconfoption>'
+ line to be added, if the legacy client software requires it. (The log level can be adjusted with
+ '<smbconfoption name="CVE_2020_1472:error_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>
+ This allows admins to use "auto" only for a short grace period,
+ in order to collect the explicit
+ '<smbconfoption name="server require schannel:COMPUTERACCOUNT">no</smbconfoption>' options.
+ </para>
+
+ <para>
+ See <ulink url="https://www.samba.org/samba/security/CVE-2020-1472.html">CVE-2020-1472(ZeroLogon)</ulink>,
+ <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=14497">https://bugzilla.samba.org/show_bug.cgi?id=14497</ulink>.
+ </para>
+
+ <para>This option is over-ridden by the <smbconfoption name="server require schannel:COMPUTERACCOUNT"/> option.</para>
+
+ <para>This option is over-ridden by the effective value of 'yes' from
+ the '<smbconfoption name="server schannel require seal:COMPUTERACCOUNT"/>'
+ and/or '<smbconfoption name="server schannel require seal"/>' options.</para>
+
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
+
+<samba:parameter name="server require schannel:COMPUTERACCOUNT"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>If you still have legacy domain members, which required "server schannel = auto" before,
+ it is possible to specify explicit exception per computer account
+ by using 'server require schannel:COMPUTERACCOUNT = no' as option.
+ Note that COMPUTERACCOUNT has to be the sAMAccountName value of
+ the computer account (including the trailing '$' sign).
+ </para>
+
+ <para>
+ Samba will complain in the log files at log level 0,
+ about the security problem if the option is not set to "no",
+ but the related computer is actually using the netlogon
+ secure channel (schannel) feature.
+ (The log level can be adjusted with
+ '<smbconfoption name="CVE_2020_1472:warn_about_unused_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>
+ Samba will warn in the log files at log level 5,
+ if a setting is still needed for the specified computer account.
+ </para>
+
+ <para>
+ See <ulink url="https://www.samba.org/samba/security/CVE-2020-1472.html">CVE-2020-1472(ZeroLogon)</ulink>,
+ <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=14497">https://bugzilla.samba.org/show_bug.cgi?id=14497</ulink>.
+ </para>
+
+ <para>This option overrides the <smbconfoption name="server schannel"/> option.</para>
+
+ <para>This option is over-ridden by the effective value of 'yes' from
+ the '<smbconfoption name="server schannel require seal:COMPUTERACCOUNT"/>'
+ and/or '<smbconfoption name="server schannel require seal"/>' options.</para>
+ <para>Which means '<smbconfoption name="server require schannel:COMPUTERACCOUNT">no</smbconfoption>'
+ is only useful in combination with '<smbconfoption name="server schannel require seal:COMPUTERACCOUNT">no</smbconfoption>'</para>
+
+ <programlisting>
+ server require schannel:LEGACYCOMPUTER1$ = no
+ server require schannel seal:LEGACYCOMPUTER1$ = no
+ server require schannel:NASBOX$ = no
+ server require schannel seal:NASBOX$ = no
+ server require schannel:LEGACYCOMPUTER2$ = no
+ server require schannel seal:LEGACYCOMPUTER2$ = no
+ </programlisting>
+</description>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/serverschannelrequireseal.xml b/docs-xml/smbdotconf/security/serverschannelrequireseal.xml
new file mode 100644
index 0000000..0bec67d
--- /dev/null
+++ b/docs-xml/smbdotconf/security/serverschannelrequireseal.xml
@@ -0,0 +1,117 @@
+<samba:parameter name="server schannel require seal"
+ context="G"
+ type="boolean"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ This option is deprecated and will be removed in future,
+ as it is a security problem if not set to "yes" (which will be
+ the hardcoded behavior in future).
+ </para>
+
+ <para>
+ This option controls whether the netlogon server, will reject the usage
+ of netlogon secure channel without privacy/enryption.
+ </para>
+
+ <para>
+ The option is modelled after the registry key available on Windows.
+ </para>
+
+ <programlisting>
+ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\RequireSeal=2
+ </programlisting>
+
+ <para>
+ <emphasis>Avoid using this option!</emphasis> Use the per computer account specific option
+ '<smbconfoption name="server schannel require seal:COMPUTERACCOUNT"/>' instead!
+ Which is available with the patches for
+ <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">CVE-2022-38023</ulink>
+ see <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15240">https://bugzilla.samba.org/show_bug.cgi?id=15240</ulink>.
+ </para>
+
+ <para>
+ Samba will log an error in the log files at log level 0
+ if legacy a client is rejected or allowed without an explicit,
+ '<smbconfoption name="server schannel require seal:COMPUTERACCOUNT">no</smbconfoption>' option
+ for the client. The message will indicate
+ the explicit '<smbconfoption name="server schannel require seal:COMPUTERACCOUNT">no</smbconfoption>'
+ line to be added, if the legacy client software requires it. (The log level can be adjusted with
+ '<smbconfoption name="CVE_2022_38023:error_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>This allows admins to use "no" only for a short grace period,
+ in order to collect the explicit
+ '<smbconfoption name="server schannel require seal:COMPUTERACCOUNT">no</smbconfoption>' options.</para>
+
+ <para>
+ When set to 'yes' this option overrides the
+ '<smbconfoption name="server require schannel:COMPUTERACCOUNT"/>' and
+ '<smbconfoption name="server schannel"/>' options and implies
+ '<smbconfoption name="server require schannel:COMPUTERACCOUNT">yes</smbconfoption>'.
+ </para>
+
+ <para>
+ This option is over-ridden by the <smbconfoption name="server schannel require seal:COMPUTERACCOUNT"/> option.
+ </para>
+
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
+
+<samba:parameter name="server schannel require seal:COMPUTERACCOUNT"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ If you still have legacy domain members, which required "server schannel require seal = no" before,
+ it is possible to specify explicit exception per computer account
+ by using 'server schannel require seal:COMPUTERACCOUNT = no' as option.
+ Note that COMPUTERACCOUNT has to be the sAMAccountName value of
+ the computer account (including the trailing '$' sign).
+ </para>
+
+ <para>
+ Samba will log a complaint in the log files at log level 0
+ about the security problem if the option is set to "no",
+ but the related computer does not require it.
+ (The log level can be adjusted with
+ '<smbconfoption name="CVE_2022_38023:warn_about_unused_debug_level">1</smbconfoption>'
+ in order to complain only at a higher log level).
+ </para>
+
+ <para>
+ Samba will warn in the log files at log level 5,
+ if a setting is still needed for the specified computer account.
+ </para>
+
+ <para>
+ See <ulink url="https://www.samba.org/samba/security/CVE-2022-38023.html">CVE-2022-38023</ulink>,
+ <ulink url="https://bugzilla.samba.org/show_bug.cgi?id=15240">https://bugzilla.samba.org/show_bug.cgi?id=15240</ulink>.
+ </para>
+
+ <para>
+ This option overrides the '<smbconfoption name="server schannel require seal"/>' option.
+ </para>
+
+ <para>
+ When set to 'yes' this option overrides the
+ '<smbconfoption name="server require schannel:COMPUTERACCOUNT"/>' and
+ '<smbconfoption name="server schannel"/>' options and implies
+ '<smbconfoption name="server require schannel:COMPUTERACCOUNT">yes</smbconfoption>'.
+ </para>
+
+ <programlisting>
+ server require schannel seal:LEGACYCOMPUTER1$ = no
+ server require schannel seal:NASBOX$ = no
+ server require schannel seal:LEGACYCOMPUTER2$ = no
+ </programlisting>
+</description>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/serversigning.xml b/docs-xml/smbdotconf/security/serversigning.xml
new file mode 100644
index 0000000..0b7755a
--- /dev/null
+++ b/docs-xml/smbdotconf/security/serversigning.xml
@@ -0,0 +1,29 @@
+<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>
+
+ <para>This controls whether the client is allowed or required to use SMB1 and SMB2 signing. Possible values
+ are <emphasis>default</emphasis>, <emphasis>auto</emphasis>, <emphasis>mandatory</emphasis>
+ and <emphasis>disabled</emphasis>.
+ </para>
+
+ <para>By default, and when smb signing is set to
+ <emphasis>default</emphasis>, smb signing is required when
+ <smbconfoption name="server role"/> is <emphasis>active directory
+ domain controller</emphasis> and disabled otherwise.</para>
+
+ <para>When set to auto, SMB1 signing is offered, but not enforced.
+ When set to mandatory, SMB1 signing is required and if set
+ to disabled, SMB signing is not offered either.</para>
+
+ <para>For the SMB2 protocol, by design, signing cannot be disabled. In the case
+ where SMB2 is negotiated, if this parameter is set to <emphasis>disabled</emphasis>,
+ it will be treated as <emphasis>auto</emphasis>. Setting it to <emphasis>mandatory</emphasis>
+ will still require SMB2 clients to use signing.</para>
+</description>
+
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/serversmbencrypt.xml b/docs-xml/smbdotconf/security/serversmbencrypt.xml
new file mode 100644
index 0000000..5f38b46
--- /dev/null
+++ b/docs-xml/smbdotconf/security/serversmbencrypt.xml
@@ -0,0 +1,241 @@
+<samba:parameter name="server smb encrypt"
+ context="S"
+ type="enum"
+ enumlist="enum_smb_encryption_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This parameter controls whether a remote client is allowed or required
+ to use SMB encryption. It has different effects depending on whether
+ the connection uses SMB1 or SMB2 and newer:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ If the connection uses SMB1, then this option controls the use
+ of a Samba-specific extension to the SMB protocol introduced in
+ Samba 3.2 that makes use of the Unix extensions.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If the connection uses SMB2 or newer, then this option controls
+ the use of the SMB-level encryption that is supported in SMB
+ version 3.0 and above and available in Windows 8 and newer.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ This parameter can be set globally and on a per-share bases.
+ Possible values are
+
+ <emphasis>off</emphasis>,
+ <emphasis>if_required</emphasis>,
+ <emphasis>desired</emphasis>,
+ and
+ <emphasis>required</emphasis>.
+ A special value is <emphasis>default</emphasis> which is
+ the implicit default setting of <emphasis>if_required</emphasis>.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term><emphasis>Effects for SMB1</emphasis></term>
+ <listitem>
+ <para>
+ The Samba-specific encryption of SMB1 connections is an
+ extension to the SMB protocol negotiated as part of the UNIX
+ extensions. SMB encryption uses the GSSAPI (SSPI on Windows)
+ ability to encrypt and sign every request/response in a SMB
+ protocol stream. When enabled it provides a secure method of
+ SMB/CIFS communication, similar to an ssh protected session, but
+ using SMB/CIFS authentication to negotiate encryption and
+ signing keys. Currently this is only supported smbclient of by
+ Samba 3.2 and newer, and hopefully soon Linux CIFSFS and MacOS/X
+ clients. Windows clients do not support this feature.
+ </para>
+
+ <para>This may be set on a per-share
+ basis, but clients may chose to encrypt the entire session, not
+ just traffic to a specific share. If this is set to mandatory
+ then all traffic to a share <emphasis>must</emphasis>
+ be encrypted once the connection has been made to the share.
+ The server would return "access denied" to all non-encrypted
+ requests on such a share. Selecting encrypted traffic reduces
+ throughput as smaller packet sizes must be used (no huge UNIX
+ style read/writes allowed) as well as the overhead of encrypting
+ and signing all the data.
+ </para>
+
+ <para>
+ If SMB encryption is selected, Windows style SMB signing (see
+ the <smbconfoption name="server signing"/> option) is no longer
+ necessary, as the GSSAPI flags use select both signing and
+ sealing of the data.
+ </para>
+
+ <para>
+ When set to auto or default, SMB encryption is offered, but not
+ enforced. When set to mandatory, SMB encryption is required and
+ if set to disabled, SMB encryption can not be negotiated.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><emphasis>Effects for SMB2 and newer</emphasis></term>
+ <listitem>
+ <para>
+ Native SMB transport encryption is available in SMB version 3.0
+ or newer. It is only offered by Samba if
+ <emphasis>server max protocol</emphasis> is set to
+ <emphasis>SMB3</emphasis> or newer.
+ Clients supporting this type of encryption include
+ Windows 8 and newer,
+ Windows server 2012 and newer,
+ and smbclient of Samba 4.1 and newer.
+ </para>
+
+ <para>
+ The protocol implementation offers various options:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ The capability to perform SMB encryption can be
+ negotiated during protocol negotiation.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Data encryption can be enabled globally. In that case,
+ an encryption-capable connection will have all traffic
+ in all its sessions encrypted. In particular all share
+ connections will be encrypted.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Data encryption can also be enabled per share if not
+ enabled globally. For an encryption-capable connection,
+ all connections to an encryption-enabled share will be
+ encrypted.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Encryption can be enforced. This means that session
+ setups will be denied on non-encryption-capable
+ connections if data encryption has been enabled
+ globally. And tree connections will be denied for
+ non-encryption capable connections to shares with data
+ encryption enabled.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ These features can be controlled with settings of
+ <emphasis>server smb encrypt</emphasis> as follows:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Leaving it as default, explicitly setting
+ <emphasis>default</emphasis>, or setting it to
+ <emphasis>if_required</emphasis> globally will enable
+ negotiation of encryption but will not turn on
+ data encryption globally or per share.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>desired</emphasis> globally
+ will enable negotiation and will turn on data encryption
+ on sessions and share connections for those clients
+ that support it.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>required</emphasis> globally
+ will enable negotiation and turn on data encryption
+ on sessions and share connections. Clients that do
+ not support encryption will be denied access to the
+ server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>off</emphasis> globally will
+ completely disable the encryption feature for all
+ connections. Setting <parameter>server smb encrypt =
+ required</parameter> for individual shares (while it's
+ globally off) will deny access to this shares for all
+ clients.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>desired</emphasis> on a share
+ will turn on data encryption for this share for clients
+ that support encryption if negotiation has been
+ enabled globally.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>required</emphasis> on a share
+ will enforce data encryption for this share if
+ negotiation has been enabled globally. I.e. clients that
+ do not support encryption will be denied access to the
+ share.
+ </para>
+ <para>
+ Note that this allows per-share enforcing to be
+ controlled in Samba differently from Windows:
+ In Windows, <emphasis>RejectUnencryptedAccess</emphasis>
+ is a global setting, and if it is set, all shares with
+ data encryption turned on
+ are automatically enforcing encryption. In order to
+ achieve the same effect in Samba, one
+ has to globally set <emphasis>server smb encrypt</emphasis> to
+ <emphasis>if_required</emphasis>, and then set all shares
+ that should be encrypted to
+ <emphasis>required</emphasis>.
+ Additionally, it is possible in Samba to have some
+ shares with encryption <emphasis>required</emphasis>
+ and some other shares with encryption only
+ <emphasis>desired</emphasis>, which is not possible in
+ Windows.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Setting it to <emphasis>off</emphasis> or
+ <emphasis>if_required</emphasis> for a share has
+ no effect.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</description>
+
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/serversmbencryptionalgos.xml b/docs-xml/smbdotconf/security/serversmbencryptionalgos.xml
new file mode 100644
index 0000000..2dd2db9
--- /dev/null
+++ b/docs-xml/smbdotconf/security/serversmbencryptionalgos.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="server smb3 encryption algorithms"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the availability and order of
+ encryption algorithms which are available for negotiation in the SMB3_11 dialect.
+ </para>
+ <para>It is also possible to remove individual algorithms from the default list,
+ by prefixing them with '-'. This can avoid having to specify a hardcoded list.
+ </para>
+ <para>Note: that the removal of AES-128-CCM from the list will result
+ in SMB3_00 and SMB3_02 being unavailable, as it is the default and only
+ available algorithm for these dialects.
+ </para>
+</description>
+
+<value type="default">AES-128-GCM, AES-128-CCM, AES-256-GCM, AES-256-CCM</value>
+<value type="example">AES-256-GCM</value>
+<value type="example">-AES-128-GCM -AES-128-CCM</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/serversmbsigningalgos.xml b/docs-xml/smbdotconf/security/serversmbsigningalgos.xml
new file mode 100644
index 0000000..7884e60
--- /dev/null
+++ b/docs-xml/smbdotconf/security/serversmbsigningalgos.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="server smb3 signing algorithms"
+ context="G"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the availability and order of
+ signing algorithms which are available for negotiation in the SMB3_11 dialect.
+ </para>
+ <para>It is also possible to remove individual algorithms from the default list,
+ by prefixing them with '-'. This can avoid having to specify a hardcoded list.
+ </para>
+ <para>Note: that the removal of AES-128-CMAC from the list will result
+ in SMB3_00 and SMB3_02 being unavailable, and the removal of HMAC-SHA256
+ will result in SMB2_02 and SMB2_10 being unavailable, as these are the default and only
+ available algorithms for these dialects.
+ </para>
+</description>
+
+<value type="default">AES-128-GMAC, AES-128-CMAC, HMAC-SHA256</value>
+<value type="example">AES-128-CMAC, HMAC-SHA256</value>
+<value type="example">-AES-128-CMAC</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/smbencrypt.xml b/docs-xml/smbdotconf/security/smbencrypt.xml
new file mode 100644
index 0000000..6027120
--- /dev/null
+++ b/docs-xml/smbdotconf/security/smbencrypt.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="smb encrypt"
+ context="S"
+ type="enum"
+ enumlist="enum_smb_encryption_vals"
+ function="server_smb_encrypt"
+ synonym="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is a synonym for <smbconfoption name="server smb encrypt"/>.
+ </para>
+</description>
+
+<value type="default">default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/smbpasswdfile.xml b/docs-xml/smbdotconf/security/smbpasswdfile.xml
new file mode 100644
index 0000000..fab7037
--- /dev/null
+++ b/docs-xml/smbdotconf/security/smbpasswdfile.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="smb passwd file"
+ type="string"
+ context="G"
+ 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>
+
+ <para>
+ An example of use is:
+<programlisting>
+smb passwd file = /etc/samba/smbpasswd
+</programlisting>
+ </para>
+</description>
+
+<value type="default">&pathconfig.SMB_PASSWD_FILE;</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlscafile.xml b/docs-xml/smbdotconf/security/tlscafile.xml
new file mode 100644
index 0000000..bcbac62
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlscafile.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="tls cafile"
+ type="string"
+ context="G"
+ function="_tls_cafile"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This option can be set to a file (PEM format)
+ containing CA certificates of root CAs to trust to sign
+ certificates or intermediate CA certificates.</para>
+ <para>This path is relative to <smbconfoption name="private dir"/> if the path
+ does not start with a /.</para>
+ </description>
+
+ <related>tls certfile</related>
+ <related>tls crlfile</related>
+ <related>tls dh params file</related>
+ <related>tls enabled</related>
+ <related>tls keyfile</related>
+ <value type="default">tls/ca.pem</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlscertfile.xml b/docs-xml/smbdotconf/security/tlscertfile.xml
new file mode 100644
index 0000000..cf70954
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlscertfile.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="tls certfile"
+ type="string"
+ context="G"
+ function="_tls_certfile"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This option can be set to a file (PEM format)
+ containing the RSA certificate. </para>
+ <para>This path is relative to <smbconfoption name="private dir"/> if the path
+ does not start with a /.</para>
+</description>
+
+ <related>tls keyfile</related>
+ <related>tls crlfile</related>
+ <related>tls dh params file</related>
+ <related>tls enabled</related>
+ <related>tls cafile</related>
+ <value type="default">tls/cert.pem</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlscrlfile.xml b/docs-xml/smbdotconf/security/tlscrlfile.xml
new file mode 100644
index 0000000..1f42b85
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlscrlfile.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="tls crlfile"
+ type="string"
+ context="G"
+ function="_tls_crlfile"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This option can be set to a file containing a certificate
+ revocation list (CRL).</para>
+ <para>This path is relative to <smbconfoption name="private dir"/> if the path
+ does not start with a /.</para>
+</description>
+
+ <related>tls certfile</related>
+ <related>tls crlfile</related>
+ <related>tls dh params file</related>
+ <related>tls enabled</related>
+ <related>tls cafile</related>
+ <value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlsdhparamsfile.xml b/docs-xml/smbdotconf/security/tlsdhparamsfile.xml
new file mode 100644
index 0000000..5bf59aa
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlsdhparamsfile.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="tls dh params file"
+ type="string"
+ context="G"
+ function="_tls_dhpfile"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This option can be set to a file with Diffie-Hellman parameters
+ which will be used with DH ciphers.
+ </para>
+ <para>This path is relative to <smbconfoption name="private dir"/> if the path
+ does not start with a /.</para>
+</description>
+
+ <related>tls certfile</related>
+ <related>tls crlfile</related>
+ <related>tls cafile</related>
+ <related>tls enabled</related>
+ <related>tls keyfile</related>
+ <value type="default"></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlsenabled.xml b/docs-xml/smbdotconf/security/tlsenabled.xml
new file mode 100644
index 0000000..411b928
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlsenabled.xml
@@ -0,0 +1,10 @@
+<samba:parameter name="tls enabled"
+ type="boolean"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>If this option is set to <constant>yes</constant>, then Samba
+ will use TLS when possible in communication.</para>
+ </description>
+ <value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlskeyfile.xml b/docs-xml/smbdotconf/security/tlskeyfile.xml
new file mode 100644
index 0000000..9caa824
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlskeyfile.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="tls keyfile"
+ type="string"
+ context="G"
+ function="_tls_keyfile"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This option can be set to a file (PEM format)
+ containing the RSA private key. This file must be accessible without
+ a pass-phrase, i.e. it must not be encrypted.</para>
+ <para>This path is relative to <smbconfoption name="private dir"/> if the path
+ does not start with a /.</para>
+ </description>
+
+ <related>tls certfile</related>
+ <related>tls crlfile</related>
+ <related>tls dh params file</related>
+ <related>tls enabled</related>
+ <related>tls cafile</related>
+ <value type="default">tls/key.pem</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlspriority.xml b/docs-xml/smbdotconf/security/tlspriority.xml
new file mode 100644
index 0000000..471dc25
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlspriority.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="tls priority"
+ type="string"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This option can be set to a string describing the TLS protocols
+ to be supported in the parts of Samba that use GnuTLS, specifically
+ the AD DC.
+ </para>
+ <para>The string is appended to the default priority list of GnuTLS.</para>
+ <para>The valid options are described in the
+ <ulink url="http://gnutls.org/manual/html_node/Priority-Strings.html">GNUTLS
+ Priority-Strings documentation at http://gnutls.org/manual/html_node/Priority-Strings.html</ulink>
+ </para>
+ <para>The SSL3.0 protocol will be disabled.</para>
+ </description>
+
+ <value type="default">NORMAL:-VERS-SSL3.0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/tlsverifypeer.xml b/docs-xml/smbdotconf/security/tlsverifypeer.xml
new file mode 100644
index 0000000..4f47dd4
--- /dev/null
+++ b/docs-xml/smbdotconf/security/tlsverifypeer.xml
@@ -0,0 +1,47 @@
+<samba:parameter name="tls verify peer"
+ context="G"
+ type="enum"
+ enumlist="enum_tls_verify_peer_vals"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This controls if and how strict the client will verify the peer's certificate and name.
+ Possible values are (in increasing order):
+ <constant>no_check</constant>,
+ <constant>ca_only</constant>,
+ <constant>ca_and_name_if_available</constant>,
+ <constant>ca_and_name</constant>
+ and
+ <constant>as_strict_as_possible</constant>.</para>
+
+ <para>When set to <constant>no_check</constant> the certificate is not verified at
+ all, which allows trivial man in the middle attacks.
+ </para>
+
+ <para>When set to <constant>ca_only</constant> the certificate is verified to
+ be signed from a ca specified in the <smbconfoption name="tls ca file"/> option.
+ Setting <smbconfoption name="tls ca file"/> to a valid file is required.
+ The certificate lifetime is also verified. If the <smbconfoption name="tls crl file"/>
+ option is configured, the certificate is also verified against the ca crl.
+ </para>
+
+ <para>When set to <constant>ca_and_name_if_available</constant> all checks from
+ <constant>ca_only</constant> are performed. In addition, the peer hostname is verified
+ against the certificate's name, if it is provided by the application layer and
+ not given as an ip address string.
+ </para>
+
+ <para>When set to <constant>ca_and_name</constant> all checks from
+ <constant>ca_and_name_if_available</constant> are performed.
+ In addition the peer hostname needs to be provided and even an ip
+ address is checked against the certificate's name.
+ </para>
+
+ <para>When set to <constant>as_strict_as_possible</constant> all checks from
+ <constant>ca_and_name</constant> are performed. In addition the
+ <smbconfoption name="tls crl file"/> needs to be configured.
+ Future versions of Samba may implement additional checks.
+ </para>
+</description>
+
+<value type="default">as_strict_as_possible</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/unixpasswordsync.xml b/docs-xml/smbdotconf/security/unixpasswordsync.xml
new file mode 100644
index 0000000..89b0158
--- /dev/null
+++ b/docs-xml/smbdotconf/security/unixpasswordsync.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="unix password sync"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This boolean parameter controls whether Samba
+ attempts to synchronize the UNIX password with the SMB password
+ when the encrypted SMB password in the smbpasswd file is changed.
+ If this is set to <constant>yes</constant> the program specified in the <parameter moreinfo="none">passwd
+ program</parameter> parameter is called <emphasis>AS ROOT</emphasis> -
+ to allow the new UNIX password to be set without access to the
+ old UNIX password (as the SMB password change code has no
+ access to the old password cleartext, only the new).</para>
+
+ <para>This option has no effect if <command moreinfo="none">samba</command>
+ is running as an active directory domain controller, in that case have a
+ look at the <smbconfoption name="password hash gpg key ids"/> option and the
+ <command moreinfo="none">samba-tool user syncpasswords</command> command.</para>
+</description>
+
+<related>passwd program</related>
+<related>passwd chat</related>
+<related>password hash gpg key ids</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/usernamelevel.xml b/docs-xml/smbdotconf/security/usernamelevel.xml
new file mode 100644
index 0000000..f5248c0
--- /dev/null
+++ b/docs-xml/smbdotconf/security/usernamelevel.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="username level"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option helps Samba to try and 'guess' at
+ the real UNIX username, as many DOS clients send an all-uppercase
+ username. By default Samba tries all lowercase, followed by the
+ username with the first letter capitalized, and fails if the
+ username is not found on the UNIX machine.</para>
+
+ <para>If this parameter is set to non-zero the behavior changes.
+ This parameter is a number that specifies the number of uppercase
+ combinations to try while trying to determine the UNIX user name. The
+ higher the number the more combinations will be tried, but the slower
+ the discovery of usernames will be. Use this parameter when you have
+ strange usernames on your UNIX machine, such as <constant>AstrangeUser
+ </constant>.</para>
+
+ <para>This parameter is needed only on UNIX systems that have case
+ sensitive usernames.</para>
+</description>
+
+<value type="default">0</value>
+<value type="example">5</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/usernamemap.xml b/docs-xml/smbdotconf/security/usernamemap.xml
new file mode 100644
index 0000000..809a54c
--- /dev/null
+++ b/docs-xml/smbdotconf/security/usernamemap.xml
@@ -0,0 +1,130 @@
+<samba:parameter name="username map"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This option allows you to specify a file containing a mapping of usernames from the clients to the server.
+ This can be used for several purposes. The most common is to map usernames that users use on DOS or Windows
+ machines to those that the UNIX box uses. The other is to map multiple users to a single username so that they
+ can more easily share files.
+ </para>
+
+ <para>
+ Please note that for user mode security, the username map is applied prior to validating the user
+ credentials. Domain member servers (domain or ads) apply the username map after the user has been
+ successfully authenticated by the domain controller and require fully qualified entries in the map table (e.g.
+ biddle = <literal>DOMAIN\foo</literal>).
+ </para>
+
+ <para>
+ The map file is parsed line by line. Each line should contain a single UNIX username on the left then a '='
+ followed by a list of usernames on the right. The list of usernames on the right may contain names of the form
+ @group in which case they will match any UNIX username in that group. The special client name '*' is a
+ wildcard and matches any name. Each line of the map file may be up to 1023 characters long.
+ </para>
+
+ <para>
+ The file is processed on each line by taking the supplied username and comparing it with each username on the
+ right hand side of the '=' signs. If the supplied name matches any of the names on the right hand side then it
+ is replaced with the name on the left. Processing then continues with the next line.
+ </para>
+
+ <para>
+ If any line begins with a '#' or a ';' then it is ignored.
+ </para>
+
+ <para>
+ If any line begins with an '!' then the processing will stop after that line if a mapping was done by the
+ line. Otherwise mapping continues with every line being processed. Using '!' is most useful when you have a
+ wildcard mapping line later in the file.
+ </para>
+
+ <para>
+ For example to map from the name <constant>admin</constant> or <constant>administrator</constant> to the UNIX
+ name <constant> root</constant> you would use:
+<programlisting>
+<command moreinfo="none">root = admin administrator</command>
+</programlisting>
+ Or to map anyone in the UNIX group <constant>system</constant> to the UNIX name <constant>sys</constant> you would use:
+<programlisting>
+<command moreinfo="none">sys = @system</command>
+</programlisting>
+ </para>
+
+ <para>
+ You can have as many mappings as you like in a username map file.
+ </para>
+
+
+ <para>
+ If your system supports the NIS NETGROUP option then the netgroup database is checked before the <filename
+ moreinfo="none">/etc/group </filename> database for matching groups.
+ </para>
+
+ <para>
+ You can map Windows usernames that have spaces in them by using double quotes around the name. For example:
+<programlisting>
+<command moreinfo="none">tridge = &quot;Andrew Tridgell&quot;</command>
+</programlisting>
+ would map the windows username &quot;Andrew Tridgell&quot; to the unix username &quot;tridge&quot;.
+ </para>
+
+ <para>
+ The following example would map mary and fred to the unix user sys, and map the rest to guest. Note the use of the
+ '!' to tell Samba to stop processing if it gets a match on that line:
+<programlisting format="linespecific">
+!sys = mary fred
+guest = *
+</programlisting>
+ </para>
+
+ <para>
+ Note that the remapping is applied to all occurrences of usernames. Thus if you connect to \\server\fred and
+ <constant>fred</constant> is remapped to <constant>mary</constant> then you will actually be connecting to
+ \\server\mary and will need to supply a password suitable for <constant>mary</constant> not
+ <constant>fred</constant>. The only exception to this is the
+ username passed to a Domain Controller (if you have one). The DC will receive whatever username the client
+ supplies without modification.
+ </para>
+
+ <para>
+ Also note that no reverse mapping is done. The main effect this has is with printing. Users who have been
+ mapped may have trouble deleting print jobs as PrintManager under WfWg will think they don't own the print
+ job.
+ </para>
+
+ <para>
+ Samba versions prior to 3.0.8 would only support reading the fully qualified username
+ (e.g.: <literal>DOMAIN\user</literal>) from
+ the username map when performing a kerberos login from a client. However, when looking up a map entry for a
+ user authenticated by NTLM[SSP], only the login name would be used for matches. This resulted in inconsistent
+ behavior sometimes even on the same server.
+ </para>
+
+ <para>
+ The following functionality is obeyed in version 3.0.8 and later:
+ </para>
+
+ <para>
+ When performing local authentication, the username map is applied to the login name before attempting to authenticate
+ the connection.
+ </para>
+
+ <para>
+ When relying upon a external domain controller for validating authentication requests, smbd will apply the username map
+ to the fully qualified username (i.e. <literal>DOMAIN\user</literal>) only after the user has been successfully authenticated.
+ </para>
+
+ <para>
+ An example of use is:
+<programlisting>
+username map = /usr/local/samba/lib/users.map
+</programlisting>
+ </para>
+
+</description>
+
+<value type="default"><comment>no username map</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/usernamemapcachetime.xml b/docs-xml/smbdotconf/security/usernamemapcachetime.xml
new file mode 100644
index 0000000..974026c
--- /dev/null
+++ b/docs-xml/smbdotconf/security/usernamemapcachetime.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="username map cache time"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Mapping usernames with the <smbconfoption name="username map"/>
+ or <smbconfoption name="username map script"/>
+ features of Samba can be relatively expensive.
+ During login of a user, the mapping is done several times.
+ In particular, calling the <smbconfoption name="username map script"/>
+ can slow down logins if external databases have to be queried from
+ the script being called.
+ </para>
+
+ <para>
+ The parameter <smbconfoption name="username map cache time"/>
+ controls a mapping cache. It specifies the number of seconds a
+ mapping from the username map file or script is to be efficiently cached.
+ The default of 0 means no caching is done.
+ </para>
+</description>
+
+<value type="default">0</value>
+<value type="example">60</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/usernamemapscript.xml b/docs-xml/smbdotconf/security/usernamemapscript.xml
new file mode 100644
index 0000000..7123c53
--- /dev/null
+++ b/docs-xml/smbdotconf/security/usernamemapscript.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="username map script"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This script is a mutually exclusive alternative to the
+ <smbconfoption name="username map"/> parameter. This parameter
+ specifies an external program or script that must accept a single
+ command line option (the username transmitted in the authentication
+ request) and return a line on standard output (the name to which
+ the account should mapped). In this way, it is possible to store
+ username map tables in an LDAP directory services.
+ </para>
+</description>
+
+<value type="default"/>
+<value type="example">/etc/samba/scripts/mapusers.sh</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/validusers.xml b/docs-xml/smbdotconf/security/validusers.xml
new file mode 100644
index 0000000..0b681a1
--- /dev/null
+++ b/docs-xml/smbdotconf/security/validusers.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="valid users"
+ context="S"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is a list of users that should be allowed to login to this service. Names starting with
+ '@', '+' and '&amp;' are interpreted using the same rules as described in the
+ <parameter moreinfo="none">invalid users</parameter> parameter.
+ </para>
+
+ <para>
+ If this is empty (the default) then any user can login. If a username is in both this list
+ and the <parameter moreinfo="none">invalid users</parameter> list then access is denied
+ for that user.
+ </para>
+
+ <para>
+ The current servicename is substituted for <parameter moreinfo="none">%S</parameter>.
+ This is useful in the [homes] section.
+ </para>
+
+ <para><emphasis>Note: </emphasis>When used in the [global] section this
+ parameter may have unwanted side effects. For example: If samba is configured as a MASTER BROWSER (see
+ <parameter moreinfo="none">local master</parameter>,
+ <parameter moreinfo="none">os level</parameter>,
+ <parameter moreinfo="none">domain master</parameter>,
+ <parameter moreinfo="none">preferred master</parameter>) this option
+ will prevent workstations from being able to browse the network.
+ </para>
+
+</description>
+
+<related>invalid users</related>
+
+<value type="default"><comment>No valid users list (anyone can login) </comment></value>
+<value type="example">greg, @pcusers</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/writeable.xml b/docs-xml/smbdotconf/security/writeable.xml
new file mode 100644
index 0000000..5433849
--- /dev/null
+++ b/docs-xml/smbdotconf/security/writeable.xml
@@ -0,0 +1,14 @@
+<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>
+<synonym>write ok</synonym>
+<description>
+ <para>Inverted synonym for <smbconfoption name="read only"/>.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/security/writelist.xml b/docs-xml/smbdotconf/security/writelist.xml
new file mode 100644
index 0000000..a9b9e8b
--- /dev/null
+++ b/docs-xml/smbdotconf/security/writelist.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="write list"
+ context="S"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is a list of users that are given read-write access to a service. If the
+ connecting user is in this list then they will be given write access, no matter
+ what the <smbconfoption name="read only"/> option is set to. The list can
+ include group names using the @group syntax.
+ </para>
+
+ <para>
+ Note that if a user is in both the read list and the write list then they will be
+ given write access.
+ </para>
+
+</description>
+
+<related>read list</related>
+
+<value type="default"></value>
+<value type="example">admin, root, @staff</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/aiomaxthreads.xml b/docs-xml/smbdotconf/tuning/aiomaxthreads.xml
new file mode 100644
index 0000000..3afe989
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/aiomaxthreads.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="aio max threads"
+ type="integer"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The integer parameter specifies the maximum number of
+ threads each smbd process will create when doing parallel asynchronous IO
+ calls. If the number of outstanding calls is greater than this
+ number the requests will not be refused but go onto a queue
+ and will be scheduled in turn as outstanding requests complete.
+ </para>
+
+ <related>aio read size</related>
+ <related>aio write size</related>
+</description>
+
+<value type="default">100</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/aioreadsize.xml b/docs-xml/smbdotconf/tuning/aioreadsize.xml
new file mode 100644
index 0000000..5218f34
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/aioreadsize.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="aio read size"
+ context="S"
+ type="bytes"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If this integer parameter is set to a non-zero value,
+ Samba will read from files asynchronously when the request size is bigger
+ than this value. Note that it happens only for non-chained and non-chaining
+ reads.</para>
+ <para>The only reasonable values for this parameter are 0 (no async I/O) and
+ 1 (always do async I/O).</para>
+ <related>aio write size</related>
+</description>
+
+<value type="default">1</value>
+<value type="example">0<comment>Always do reads synchronously
+ </comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/aiowritebehind.xml b/docs-xml/smbdotconf/tuning/aiowritebehind.xml
new file mode 100644
index 0000000..d60af71
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/aiowritebehind.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="aio write behind"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If Samba has been built with asynchronous I/O support,
+ Samba will not wait until write requests are finished before returning
+ the result to the client for files listed in this parameter.
+ Instead, Samba will immediately return that the write
+ request has been finished successfully, no matter if the
+ operation will succeed or not. This might speed up clients without
+ aio support, but is really dangerous, because data could be lost
+ and files could be damaged.
+ </para>
+ <para>
+ The syntax is identical to the <smbconfoption name="veto files"/>
+ parameter.
+ </para>
+</description>
+
+<value type="default"/>
+<value type="example">/*.tmp/</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/aiowritesize.xml b/docs-xml/smbdotconf/tuning/aiowritesize.xml
new file mode 100644
index 0000000..029e1d1
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/aiowritesize.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="aio write size"
+ context="S"
+ type="bytes"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If this integer parameter is set to a non-zero value,
+ Samba will write to files asynchronously when the request size is bigger
+ than this value. Note that it happens only for non-chained and non-chaining
+ writes.</para>
+ <para>The only reasonable values for this parameter are 0 (no async I/O) and
+ 1 (always do async I/O).</para>
+ <para>Compared to <smbconfoption name="aio read size"/> this parameter has
+ a smaller effect, most writes should end up in the
+ file system cache. Writes that require space allocation might
+ benefit most from going asynchronous.</para>
+
+ <related>aio read size</related>
+</description>
+
+<value type="default">1</value>
+<value type="example">0<comment>Always do writes synchronously
+ </comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/allocationroundupsize.xml b/docs-xml/smbdotconf/tuning/allocationroundupsize.xml
new file mode 100644
index 0000000..08aa621
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/allocationroundupsize.xml
@@ -0,0 +1,28 @@
+<samba:parameter name="allocation roundup size"
+ context="S"
+ type="bytes"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter allows an administrator to tune the
+ allocation size reported to Windows clients. This is only
+ useful for old SMB1 clients because modern SMB dialects
+ eliminated that bottleneck and have better performance by
+ default. Using this parameter may cause
+ difficulties for some applications, e.g. MS Visual Studio.
+ If the MS Visual Studio compiler starts to crash with an
+ internal error, set this parameter to zero for this share.
+ Settings this parameter to a large value can also cause
+ small files to allocate more space on the disk than
+ needed.
+ </para>
+ <para>This parameter is deprecated and will be removed in
+ one of the next Samba releases.
+ </para>
+
+ <para>The integer parameter specifies the roundup size in bytes.</para>
+</description>
+
+<value type="default">0</value>
+<value type="example">1048576<comment>(to set it to the former default of 1 MiB)</comment></value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/asyncdnstimeout.xml b/docs-xml/smbdotconf/tuning/asyncdnstimeout.xml
new file mode 100644
index 0000000..522ef20
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/asyncdnstimeout.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="async dns timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The number of seconds the asynchronous DNS
+ resolver code in Samba will wait for responses.
+ Some of the Samba client library code uses internal
+ asynchronous DNS resolution for A and AAAA records
+ when trying to find Active Directory Domain controllers.
+ This value prevents this name resolution code from
+ waiting for DNS server timeouts.
+ </para>
+ <para>The minimum value of this parameter is clamped
+ at 1 second.</para>
+</description>
+
+<value type="default">10</value>
+<value type="example">20</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/blocksize.xml b/docs-xml/smbdotconf/tuning/blocksize.xml
new file mode 100644
index 0000000..8d0dd8c
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/blocksize.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="block size"
+ type="bytes"
+ context="S"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter controls the behavior of <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> when reporting disk free
+ sizes. By default, this reports a disk block size of 1024 bytes.
+ </para>
+
+ <para>Changing this parameter may have some effect on the
+ efficiency of client writes, this is not yet confirmed. This
+ parameter was added to allow advanced administrators to change
+ it (usually to a higher value) and test the effect it has on
+ client write performance without re-compiling the code. As this
+ is an experimental option it may be removed in a future release.
+ </para>
+
+ <para>Changing this option does not change the disk free reporting
+ size, just the block size unit reported to the client.
+ </para>
+</description>
+
+<value type="default">1024</value>
+<value type="example">4096</value>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/checkparentdirectorydeleteonclose.xml b/docs-xml/smbdotconf/tuning/checkparentdirectorydeleteonclose.xml
new file mode 100644
index 0000000..1de0609
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/checkparentdirectorydeleteonclose.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="check parent directory delete on close"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>A Windows SMB server prevents the client from creating files in a
+ directory that has the delete-on-close flag set. By default Samba doesn't
+ perform this check as this check is a quite expensive operation in Samba.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/deadtime.xml b/docs-xml/smbdotconf/tuning/deadtime.xml
new file mode 100644
index 0000000..77e0e5f
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/deadtime.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="deadtime"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The value of the parameter (a decimal integer)
+ represents the number of minutes of inactivity before a connection
+ is considered dead, and it is disconnected. The deadtime only takes
+ effect if the number of open files is zero.</para>
+
+ <para>This is useful to stop a server's resources being
+ exhausted by a large number of inactive connections.</para>
+
+ <para>Most clients have an auto-reconnect feature when a
+ connection is broken so in most cases this parameter should be
+ transparent to users.</para>
+
+ <para>Using this parameter with a timeout of a few minutes
+ is recommended for most systems.</para>
+
+ <para>A deadtime of zero indicates that no auto-disconnection
+ should be performed.</para>
+</description>
+
+<value type="default">10080</value>
+<value type="example">15</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/getwdcache.xml b/docs-xml/smbdotconf/tuning/getwdcache.xml
new file mode 100644
index 0000000..ec4d9ed
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/getwdcache.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="getwd cache"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a tuning option. When this is enabled a
+ caching algorithm will be used to reduce the time taken for getwd()
+ calls. This can have a significant impact on performance, especially
+ when the <smbconfoption name="wide links"/> parameter is set to <constant>no</constant>.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/hostnamelookups.xml b/docs-xml/smbdotconf/tuning/hostnamelookups.xml
new file mode 100644
index 0000000..03678e9
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/hostnamelookups.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="hostname lookups"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies whether samba should use (expensive)
+ hostname lookups or use the ip addresses instead. An example place
+ where hostname lookups are currently used is when checking
+ the <command moreinfo="none">hosts deny</command> and <command moreinfo="none">hosts allow</command>.
+ </para>
+</description>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/keepalive.xml b/docs-xml/smbdotconf/tuning/keepalive.xml
new file mode 100644
index 0000000..7fbe8cc
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/keepalive.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="keepalive"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The value of the parameter (an integer) represents
+ the number of seconds between <parameter moreinfo="none">keepalive</parameter>
+ packets. If this parameter is zero, no keepalive packets will be
+ sent. Keepalive packets, if sent, allow the server to tell whether
+ a client is still present and responding.</para>
+
+ <para>Keepalives should, in general, not be needed if the socket
+ has the SO_KEEPALIVE attribute set on it by default. (see <smbconfoption name="socket options"/>).
+Basically you should only use this option if you strike difficulties.</para>
+
+ <para>Please note this option only applies to SMB1 client connections, and
+ has no effect on SMB2 clients.</para>
+</description>
+
+<value type="default">300</value>
+<value type="example">600</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/maxconnections.xml b/docs-xml/smbdotconf/tuning/maxconnections.xml
new file mode 100644
index 0000000..1e3043b
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/maxconnections.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="max connections"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option allows the number of simultaneous connections to a service to be limited.
+ If <parameter moreinfo="none">max connections</parameter> is greater than 0 then connections
+ will be refused if this number of connections to the service are already open. A value
+ of zero mean an unlimited number of connections may be made.</para>
+
+ <para>Record lock files are used to implement this feature. The lock files will be stored in
+ the directory specified by the <smbconfoption name="lock directory"/> option.</para>
+</description>
+
+<value type="default">0</value>
+<value type="example">10</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/maxdisksize.xml b/docs-xml/smbdotconf/tuning/maxdisksize.xml
new file mode 100644
index 0000000..0361358
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/maxdisksize.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="max disk size"
+ context="G"
+ type="bytes"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option allows you to put an upper limit
+ on the apparent size of disks. If you set this option to 100
+ then all shares will appear to be not larger than 100 MB in
+ size.</para>
+
+ <para>Note that this option does not limit the amount of
+ data you can put on the disk. In the above case you could still
+ store much more than 100 MB on the disk, but if a client ever asks
+ for the amount of free disk space or the total disk size then the
+ result will be bounded by the amount specified in <parameter moreinfo="none">max
+ disk size</parameter>.</para>
+
+ <para>This option is primarily useful to work around bugs
+ in some pieces of software that can't handle very large disks,
+ particularly disks over 1GB in size.</para>
+
+ <para>A <parameter moreinfo="none">max disk size</parameter> of 0 means no limit.</para>
+</description>
+
+<value type="default">0</value>
+<value type="example">1000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/maxopenfiles.xml b/docs-xml/smbdotconf/tuning/maxopenfiles.xml
new file mode 100644
index 0000000..f873ef7
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/maxopenfiles.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="max open files"
+ type="integer"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter limits the maximum number of
+ open files that one <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> file
+ serving process may have open for a client at any one time.
+ This parameter can be set very high (16384) as Samba uses
+ only one bit per unopened file. Setting this parameter lower than
+ 16384 will cause Samba to complain and set this value back to
+ the minimum of 16384, as Windows 7 depends on this number of
+ open file handles being available.</para>
+
+ <para>The limit of the number of open files is usually set
+ by the UNIX per-process file descriptor limit rather than
+ this parameter so you should never need to touch this parameter.</para>
+</description>
+
+<value type="default">16384</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/maxsmbdprocesses.xml b/docs-xml/smbdotconf/tuning/maxsmbdprocesses.xml
new file mode 100644
index 0000000..f5b1e42
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/maxsmbdprocesses.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="max smbd processes"
+ type="integer"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter limits the maximum number of <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> processes concurrently running on a system and is intended
+ as a stopgap to prevent degrading service to clients in the event that the server has insufficient
+ resources to handle more than this number of connections. Remember that under normal operating
+ conditions, each user will have an <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> associated with him or her to handle connections to all
+ shares from a given host.</para>
+
+ <para>For a Samba ADDC running the standard process model this option
+ limits the number of processes forked to handle requests.
+ Currently new processes are only forked for ldap and netlogon
+ requests.
+ </para>
+
+</description>
+
+<value type="default">0</value>
+<value type="example">1000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/minprintspace.xml b/docs-xml/smbdotconf/tuning/minprintspace.xml
new file mode 100644
index 0000000..b5bba27
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/minprintspace.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="min print space"
+ context="S"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This sets the minimum amount of free disk
+ space that must be available before a user will be able to spool
+ a print job. It is specified in kilobytes. The default is 0, which
+ means a user can always spool a print job.</para>
+</description>
+
+<related>printing</related>
+<value type="default">0</value>
+<value type="example">2000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/namecachetimeout.xml b/docs-xml/smbdotconf/tuning/namecachetimeout.xml
new file mode 100644
index 0000000..4d29194
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/namecachetimeout.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="name cache timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies the number of seconds it takes before
+ entries in samba's hostname resolve cache time out. If
+ the timeout is set to 0. the caching is disabled.
+</para>
+</description>
+
+<value type="default">660</value>
+<value type="example">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/socketoptions.xml b/docs-xml/smbdotconf/tuning/socketoptions.xml
new file mode 100644
index 0000000..d2be514
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/socketoptions.xml
@@ -0,0 +1,104 @@
+<samba:parameter name="socket options"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ <warning>
+ <para>Modern server operating systems are tuned for high
+ network performance in the majority of situations; when you set socket
+ options you are overriding those settings. Linux in particular has an
+ auto-tuning mechanism for buffer sizes that will be disabled if you
+ specify a socket buffer size. This can potentially cripple your
+ TCP/IP stack.</para>
+
+ <para> Getting the socket options correct can make a big difference to
+ your performance, but getting them wrong can degrade it by just as
+ much. As with any other low level setting, if you must make changes
+ to it, make small changes and <emphasis>test</emphasis> the effect
+ before making any large changes.</para>
+ </warning>
+ </para>
+
+ <para>This option allows you to set socket options
+ to be used when talking with the client.</para>
+
+ <para>Socket options are controls on the networking layer
+ of the operating systems which allow the connection to be
+ tuned.</para>
+
+ <para>This option will typically be used to tune your Samba server
+ for optimal performance for your local network. There is no way
+ that Samba can know what the optimal parameters are for your net,
+ so you must experiment and choose them yourself. We strongly
+ suggest you read the appropriate documentation for your operating
+ system first (perhaps <command moreinfo="none">man
+ setsockopt</command> will help).</para>
+
+ <para>You may find that on some systems Samba will say
+ &quot;Unknown socket option&quot; when you supply an option. This means you
+ either incorrectly typed it or you need to add an include file
+ to includes.h for your OS. If the latter is the case please
+ send the patch to <ulink url="mailto:samba-technical@lists.samba.org">
+ samba-technical@lists.samba.org</ulink>.</para>
+
+ <para>Any of the supported socket options may be combined
+ in any way you like, as long as your OS allows it.</para>
+
+ <para>This is the list of socket options currently settable
+ using this option:</para>
+
+ <itemizedlist>
+ <listitem><para>SO_KEEPALIVE</para></listitem>
+ <listitem><para>SO_REUSEADDR</para></listitem>
+ <listitem><para>SO_BROADCAST</para></listitem>
+ <listitem><para>TCP_NODELAY</para></listitem>
+ <listitem><para>TCP_KEEPCNT *</para></listitem>
+ <listitem><para>TCP_KEEPIDLE *</para></listitem>
+ <listitem><para>TCP_KEEPINTVL *</para></listitem>
+ <listitem><para>IPTOS_LOWDELAY</para></listitem>
+ <listitem><para>IPTOS_THROUGHPUT</para></listitem>
+ <listitem><para>SO_REUSEPORT</para></listitem>
+ <listitem><para>SO_SNDBUF *</para></listitem>
+ <listitem><para>SO_RCVBUF *</para></listitem>
+ <listitem><para>SO_SNDLOWAT *</para></listitem>
+ <listitem><para>SO_RCVLOWAT *</para></listitem>
+ <listitem><para>SO_SNDTIMEO *</para></listitem>
+ <listitem><para>SO_RCVTIMEO *</para></listitem>
+ <listitem><para>TCP_FASTACK *</para></listitem>
+ <listitem><para>TCP_QUICKACK</para></listitem>
+ <listitem><para>TCP_NODELAYACK</para></listitem>
+ <listitem><para>TCP_KEEPALIVE_THRESHOLD *</para></listitem>
+ <listitem><para>TCP_KEEPALIVE_ABORT_THRESHOLD *</para></listitem>
+ <listitem><para>TCP_DEFER_ACCEPT *</para></listitem>
+ <listitem><para>TCP_USER_TIMEOUT *</para></listitem>
+ </itemizedlist>
+
+ <para>Those marked with a <emphasis>'*'</emphasis> take an integer
+ argument. The others can optionally take a 1 or 0 argument to enable
+ or disable the option, by default they will be enabled if you
+ don't specify 1 or 0.</para>
+
+ <para>To specify an argument use the syntax SOME_OPTION = VALUE
+ for example <command moreinfo="none">SO_SNDBUF = 8192</command>. Note that you must
+ not have any spaces before or after the = sign.</para>
+
+ <para>If you are on a local network then a sensible option
+ might be:</para>
+
+ <para><command moreinfo="none">socket options = IPTOS_LOWDELAY</command></para>
+
+ <para>If you have a local network then you could try:</para>
+
+ <para><command moreinfo="none">socket options = IPTOS_LOWDELAY TCP_NODELAY</command></para>
+
+ <para>If you are on a wide area network then perhaps try
+ setting IPTOS_THROUGHPUT. </para>
+
+ <para>Note that several of the options may cause your Samba
+ server to fail completely. Use these options with caution!</para>
+</description>
+
+<value type="default">TCP_NODELAY</value>
+<value type="example">IPTOS_LOWDELAY</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/strictallocate.xml b/docs-xml/smbdotconf/tuning/strictallocate.xml
new file mode 100644
index 0000000..bd867da
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/strictallocate.xml
@@ -0,0 +1,40 @@
+<samba:parameter name="strict allocate"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a boolean that controls the handling of
+ disk space allocation in the server. When this is set to <constant>yes</constant>
+ the server will change from UNIX behaviour of not committing real
+ disk storage blocks when a file is extended to the Windows behaviour
+ of actually forcing the disk system to allocate real storage blocks
+ when a file is created or extended to be a given size. In UNIX
+ terminology this means that Samba will stop creating sparse files.</para>
+
+ <para>This option is really designed for file systems that support
+ fast allocation of large numbers of blocks such as extent-based file systems.
+ On file systems that don't support extents (most notably ext3) this can
+ make Samba slower. When you work with large files over >100MB on file
+ systems without extents you may even run into problems with clients
+ running into timeouts.</para>
+
+ <para>When you have an extent based filesystem it's likely that we can make
+ use of unwritten extents which allows Samba to allocate even large amounts
+ of space very fast and you will not see any timeout problems caused by
+ strict allocate. With strict allocate in use you will also get much better
+ out of quota messages in case you use quotas. Another advantage of
+ activating this setting is that it will help to reduce file
+ fragmentation.</para>
+
+ <para>To give you an idea on which filesystems this setting might currently
+ be a good option for you: XFS, ext4, btrfs, ocfs2 on Linux and JFS2 on
+ AIX support unwritten extents. On Filesystems that do not support it,
+ preallocation is probably an expensive operation where you will see reduced
+ performance and risk to let clients run into timeouts when creating large
+ files. Examples are ext3, ZFS, HFS+ and most others, so be aware if you
+ activate this setting on those filesystems.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/strictrename.xml b/docs-xml/smbdotconf/tuning/strictrename.xml
new file mode 100644
index 0000000..91572f2
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/strictrename.xml
@@ -0,0 +1,34 @@
+<samba:parameter name="strict rename"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>By default a Windows SMB server prevents directory
+ renames when there are open file or directory handles below
+ it in the filesystem hierarchy. Historically Samba has always
+ allowed this as POSIX filesystem semantics require it.</para>
+
+ <para>This boolean parameter allows Samba to match the Windows
+ behavior. Setting this to "yes" is a very expensive change,
+ as it forces Samba to travers the entire open file handle
+ database on every directory rename request. In a clustered
+ Samba system the cost is even greater than the non-clustered
+ case.</para>
+
+ <para>When set to "no" smbd only checks the local process
+ the client is attached to for open files below a directory
+ being renamed, instead of checking for open files across all
+ smbd processes.</para>
+
+ <para>Because of the expense in fully searching the database,
+ the default is "no", and it is recommended to be left that way
+ unless a specific Windows application requires it to be changed.</para>
+
+ <para>If the client has requested UNIX extensions (POSIX
+ pathnames) then renames are always allowed and this parameter
+ has no effect.</para>
+
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/strictsync.xml b/docs-xml/smbdotconf/tuning/strictsync.xml
new file mode 100644
index 0000000..f2e3788
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/strictsync.xml
@@ -0,0 +1,40 @@
+<samba:parameter name="strict sync"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This parameter controls whether Samba honors a request
+ from an SMB client to ensure any outstanding operating system
+ buffer contents held in memory are safely written onto stable
+ storage on disk. If set to <constant>yes</constant>, which is
+ the default, then Windows applications can force the smbd server
+ to synchronize unwritten data onto the disk. If set to
+ <constant>no</constant> then smbd will ignore client
+ requests to synchronize unwritten data onto stable storage on
+ disk.</para>
+
+ <para>In Samba 4.7.0, the default for this parameter changed from
+ <constant>no</constant> to <constant>yes</constant> to better
+ match the expectations of SMB2/3 clients and improve application
+ safety when running against smbd.</para>
+
+ <para>The flush request from SMB2/3 clients is handled
+ asynchronously inside smbd, so leaving the parameter as the default
+ value of <constant>yes</constant> does not block the processing of
+ other requests to the smbd process.</para>
+
+ <para>Legacy Windows applications (such as the Windows 98 explorer
+ shell) seemed to confuse writing buffer contents to the operating
+ system with synchronously writing outstanding data onto stable storage
+ on disk. Changing this parameter to <constant>no</constant> means that
+ <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will ignore the Windows
+ applications request to synchronize unwritten data onto disk. Only
+ consider changing this if smbd is serving obsolete SMB1 Windows clients
+ prior to Windows XP (Windows 98 and below). There should be no need to
+ change this setting for normal operations.</para>
+</description>
+
+<related>sync always</related>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/syncalways.xml b/docs-xml/smbdotconf/tuning/syncalways.xml
new file mode 100644
index 0000000..9a095d5
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/syncalways.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="sync always"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a boolean parameter that controls
+ whether writes will always be written to stable storage before
+ the write call returns. If this is <constant>no</constant> then the server will be
+ guided by the client's request in each write call (clients can
+ set a bit indicating that a particular write should be synchronous).
+ If this is <constant>yes</constant> then every write will be followed by a <command moreinfo="none">fsync()
+ </command> call to ensure the data is written to disk. Note that
+ the <parameter moreinfo="none">strict sync</parameter> parameter must be set to
+ <constant>yes</constant> in order for this parameter to have
+ any effect.</para>
+</description>
+
+<related>strict sync</related>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/usemmap.xml b/docs-xml/smbdotconf/tuning/usemmap.xml
new file mode 100644
index 0000000..cbc18be
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/usemmap.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="use mmap"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This global parameter determines if the tdb internals of Samba can
+ depend on mmap working correctly on the running system. Samba requires a coherent
+ mmap/read-write system memory cache. Currently only OpenBSD and HPUX do not have such a
+ coherent cache, and on those platforms this parameter is overridden internally
+ to be effectively <constant>no</constant>. On all systems this parameter should be left alone. This
+ parameter is provided to help the Samba developers track down problems with
+ the tdb internal code.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/tuning/usesendfile.xml b/docs-xml/smbdotconf/tuning/usesendfile.xml
new file mode 100644
index 0000000..46255cd
--- /dev/null
+++ b/docs-xml/smbdotconf/tuning/usesendfile.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="use sendfile"
+ context="S"
+ type="boolean"
+ function="_use_sendfile"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If this parameter is <constant>yes</constant>, and the <constant>sendfile()</constant>
+ system call is supported by the underlying operating system, then some SMB read calls
+ (mainly ReadAndX and ReadRaw) will use the more efficient sendfile system call for files that
+ are exclusively oplocked. This may make more efficient use of the system CPU's
+ and cause Samba to be faster. Samba automatically turns this off for clients
+ that use protocol levels lower than NT LM 0.12 and when it detects a client is
+ Windows 9x (using sendfile from Linux will cause these clients to fail).
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/getquotacommand.xml b/docs-xml/smbdotconf/vfs/getquotacommand.xml
new file mode 100644
index 0000000..9422b7e
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/getquotacommand.xml
@@ -0,0 +1,58 @@
+<samba:parameter name="get quota command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The <command>get quota command</command> should only be used
+ whenever there is no operating system API available from the OS that
+ samba can use.</para>
+
+ <para>This option is only available Samba was compiled with
+ quotas support.</para>
+
+ <para>This parameter should specify the path to a script that
+ queries the quota information for the specified
+ user/group for the partition that
+ the specified directory is on.</para>
+
+ <para>Such a script is being given 3 arguments:</para>
+
+ <itemizedlist>
+ <listitem><para>directory</para></listitem>
+ <listitem><para>type of query</para></listitem>
+ <listitem><para>uid of user or gid of group</para></listitem>
+ </itemizedlist>
+
+ <para>The directory is actually mostly just "." - It needs to be
+ treated relatively to the current working directory that the script can
+ also query.</para>
+
+ <para>The type of query can be one of:</para>
+
+ <itemizedlist>
+ <listitem><para>1 - user quotas</para></listitem>
+ <listitem><para>2 - user default quotas (uid = -1)</para></listitem>
+ <listitem><para>3 - group quotas</para></listitem>
+ <listitem><para>4 - group default quotas (gid = -1)</para></listitem>
+ </itemizedlist>
+
+ <para>This script should print one line as output with spaces between the columns. The printed columns should be:
+ </para>
+
+ <itemizedlist>
+ <listitem><para>1 - quota flags (0 = no quotas, 1 = quotas enabled, 2 = quotas enabled and enforced)</para></listitem>
+ <listitem><para>2 - number of currently used blocks</para></listitem>
+ <listitem><para>3 - the softlimit number of blocks</para></listitem>
+ <listitem><para>4 - the hardlimit number of blocks</para></listitem>
+ <listitem><para>5 - currently used number of inodes</para></listitem>
+ <listitem><para>6 - the softlimit number of inodes</para></listitem>
+ <listitem><para>7 - the hardlimit number of inodes</para></listitem>
+ <listitem><para>8 (optional) - the number of bytes in a block(default is 1024)</para></listitem>
+ </itemizedlist>
+</description>
+
+<related>set quote command</related>
+<value type="default"></value>
+<value type="example">/usr/local/sbin/query_quota</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/hostmsdfs.xml b/docs-xml/smbdotconf/vfs/hostmsdfs.xml
new file mode 100644
index 0000000..e61b0f6
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/hostmsdfs.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="host msdfs"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>
+ If set to <constant>yes</constant>, Samba will act as a Dfs server, and allow Dfs-aware clients to browse
+ Dfs trees hosted on the server.
+ </para>
+
+ <para>
+ See also the <smbconfoption name="msdfs root"/> share level parameter. For more information on
+ setting up a Dfs tree on Samba, refer to the MSFDS chapter in the book Samba3-HOWTO.
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/msdfsproxy.xml b/docs-xml/smbdotconf/vfs/msdfsproxy.xml
new file mode 100644
index 0000000..55a410f
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/msdfsproxy.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="msdfs proxy"
+ context="S"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter indicates that the share is a
+ stand-in for another CIFS share whose location is specified by
+ the value of the parameter. When clients attempt to connect to
+ this share, they are redirected to one or multiple, comma separated
+ proxied shares using the SMB-Dfs protocol.</para>
+
+ <para>Only Dfs roots can act as proxy shares. Take a look at the
+ <smbconfoption name="msdfs root"/> and <smbconfoption name="host msdfs"/>
+ options to find out how to set up a Dfs root share.</para>
+</description>
+
+<value type="example">\otherserver\someshare,\otherserver2\someshare</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/msdfsroot.xml b/docs-xml/smbdotconf/vfs/msdfsroot.xml
new file mode 100644
index 0000000..d858599
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/msdfsroot.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="msdfs root"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If set to <constant>yes</constant>, Samba treats the
+ share as a Dfs root and allows clients to browse the
+ distributed file system tree rooted at the share directory.
+ Dfs links are specified in the share directory by symbolic
+ links of the form <filename>msdfs:serverA\\shareA,serverB\\shareB</filename>
+ and so on. For more information on setting up a Dfs tree on
+ Samba, refer to the MSDFS chapter in the Samba3-HOWTO book.</para>
+</description>
+
+<related>host msdfs</related>
+<value type="default">no</value>
+<para>See also <smbconfoption name="host msdfs"/></para>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/msdfsshufflereferrals.xml b/docs-xml/smbdotconf/vfs/msdfsshufflereferrals.xml
new file mode 100644
index 0000000..3461f3a
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/msdfsshufflereferrals.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="msdfs shuffle referrals"
+ context="S"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If set to <constant>yes</constant>, Samba will shuffle
+ Dfs referrals for a given Dfs link if multiple are available,
+ allowing for load balancing across clients. For more information
+ on setting up a Dfs tree on Samba, refer to the MSDFS chapter in
+ the Samba3-HOWTO book.</para>
+</description>
+
+<related>host msdfs</related>
+<related>msdfs root</related>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/ntvfshandler.xml b/docs-xml/smbdotconf/vfs/ntvfshandler.xml
new file mode 100644
index 0000000..c5fcf8c
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/ntvfshandler.xml
@@ -0,0 +1,27 @@
+<samba:parameter name="ntvfs handler"
+ context="S"
+ type="list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This specifies the NTVFS handlers for this share.</para>
+
+ <itemizedlist>
+ <listitem><para>unixuid: Sets up user credentials based on POSIX gid/uid.</para></listitem>
+ <listitem><para>cifs: Proxies a remote CIFS FS. Mainly useful for testing.</para></listitem>
+ <listitem><para>nbench: Filter module that saves data useful to the nbench benchmark suite.</para></listitem>
+ <listitem><para>ipc: Allows using SMB for inter process communication. Only used for the IPC$ share.</para></listitem>
+ <listitem><para>posix: Maps POSIX FS semantics to NT semantics</para></listitem>
+ <listitem><para>print: Allows printing over SMB. This is
+ LANMAN-style printing, not the be confused with the spoolss
+ DCE/RPC interface used by later versions of
+ Windows.</para></listitem>
+ </itemizedlist>
+
+ <para>Note that this option is only used when the NTVFS file server
+ is in use. It is not used with the (default)
+ s3fs file server.
+ </para>
+</description>
+
+<value type="default">unixuid, default</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/setquotacommand.xml b/docs-xml/smbdotconf/vfs/setquotacommand.xml
new file mode 100644
index 0000000..6ae6ef1
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/setquotacommand.xml
@@ -0,0 +1,46 @@
+<samba:parameter name="set quota command"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>The <command>set quota command</command> should only be used
+ whenever there is no operating system API available from the OS that
+ samba can use.</para>
+
+ <para>This option is only available if Samba was compiled with
+ quota support.</para>
+
+ <para>This parameter should specify the path to a script that
+ can set quota for the specified arguments.</para>
+
+ <para>The specified script should take the following arguments:</para>
+
+ <itemizedlist>
+ <listitem><para>1 - path to where the quota needs to be set.
+ This needs to be interpreted relative to the current working
+ directory that the script may also check for.</para></listitem>
+ <listitem><para>2 - quota type
+ <itemizedlist>
+ <listitem><para>1 - user quotas</para></listitem>
+ <listitem><para>2 - user default quotas (uid = -1)</para></listitem>
+ <listitem><para>3 - group quotas</para></listitem>
+ <listitem><para>4 - group default quotas (gid = -1)</para></listitem>
+ </itemizedlist></para></listitem>
+ <listitem><para>3 - id (uid for user, gid for group, -1 if N/A)</para></listitem>
+ <listitem><para>4 - quota state (0 = disable, 1 = enable, 2 = enable and enforce)</para></listitem>
+ <listitem><para>5 - block softlimit</para></listitem>
+ <listitem><para>6 - block hardlimit</para></listitem>
+ <listitem><para>7 - inode softlimit</para></listitem>
+ <listitem><para>8 - inode hardlimit</para></listitem>
+ <listitem><para>9(optional) - block size, defaults to 1024</para></listitem>
+ </itemizedlist>
+
+ <para>The script should output at least one line of data on success. And nothing on failure.</para>
+</description>
+
+<related>get quota command</related>
+
+<value type="default"></value>
+<value type="example">/usr/local/sbin/set_quota</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/vfs/vfsobjects.xml b/docs-xml/smbdotconf/vfs/vfsobjects.xml
new file mode 100644
index 0000000..f8f33b5
--- /dev/null
+++ b/docs-xml/smbdotconf/vfs/vfsobjects.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="vfs objects"
+ type="cmdlist"
+ context="S"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<synonym>vfs object</synonym>
+<description>
+ <para>This parameter specifies the backend names which
+ are used for Samba VFS I/O operations. By default, normal
+ disk I/O operations are used but these can be overloaded
+ with one or more VFS objects. Be aware that the definition of this
+ parameter will overwrite a possible previous definition of the
+ vfs objects parameter.</para> </description>
+
+<value type="default"/>
+<value type="example">extd_audit recycle</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/applygrouppolicies.xml b/docs-xml/smbdotconf/winbind/applygrouppolicies.xml
new file mode 100644
index 0000000..67baa0d
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/applygrouppolicies.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="apply group policies"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>This option controls whether winbind will execute the gpupdate
+ command defined in <smbconfoption name="gpo update command"/> on the
+ Group Policy update interval. The Group Policy update interval is
+ defined as every 90 minutes, plus a random offset between 0 and 30
+ minutes. This applies Group Policy Machine polices to the client or
+ KDC and machine policies to a server.
+ </para>
+
+</description>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/createkrb5conf.xml b/docs-xml/smbdotconf/winbind/createkrb5conf.xml
new file mode 100644
index 0000000..4054034
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/createkrb5conf.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="create krb5 conf"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ Setting this parameter to <value type="example">no</value> prevents
+ winbind from creating custom krb5.conf files. Winbind normally does
+ this because the krb5 libraries are not AD-site-aware and thus would
+ pick any domain controller out of potentially very many. Winbind
+ is site-aware and makes the krb5 libraries use a local DC by
+ creating its own krb5.conf files.
+ </para>
+ <para>
+ Preventing winbind from doing this might become necessary if you
+ have to add special options into your system-krb5.conf that winbind
+ does not see.
+ </para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/idmapbackend.xml b/docs-xml/smbdotconf/winbind/idmapbackend.xml
new file mode 100644
index 0000000..864a975
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/idmapbackend.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="idmap backend"
+ context="G"
+ type="string"
+ generated_function="0"
+ handler="handle_idmap_backend"
+ deprecated="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ The idmap backend provides a plugin interface for Winbind to use
+ varying backends to store SID/uid/gid mapping tables.
+ </para>
+
+ <para>
+ This option specifies the default backend that is used when no special
+ configuration set, but it is now deprecated in favour of the new
+ spelling <smbconfoption name="idmap config * : backend"/>.
+ </para>
+</description>
+
+<value type="default">tdb</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/idmapcachetime.xml b/docs-xml/smbdotconf/winbind/idmapcachetime.xml
new file mode 100644
index 0000000..87c6c56
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/idmapcachetime.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="idmap cache time"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the number of seconds that Winbind's
+ idmap interface will cache positive SID/uid/gid query results. By
+ default, Samba will cache these results for one week.
+ </para>
+</description>
+
+<value type="default">604800</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/idmapconfig.xml b/docs-xml/smbdotconf/winbind/idmapconfig.xml
new file mode 100644
index 0000000..f70f11d
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/idmapconfig.xml
@@ -0,0 +1,122 @@
+<samba:parameter name="idmap config DOMAIN : OPTION"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ ID mapping in Samba is the mapping between Windows SIDs and Unix user
+ and group IDs. This is performed by Winbindd with a configurable plugin
+ interface. Samba's ID mapping is configured by options starting with the
+ <smbconfoption name="idmap config"/> prefix.
+ An idmap option consists of the <smbconfoption name="idmap config"/>
+ prefix, followed by a domain name or the asterisk character (*),
+ a colon, and the name of an idmap setting for the chosen domain.
+ </para>
+
+ <para>
+ The idmap configuration is hence divided into groups, one group
+ for each domain to be configured, and one group with the
+ asterisk instead of a proper domain name, which specifies the
+ default configuration that is used to catch all domains that do
+ not have an explicit idmap configuration of their own.
+ </para>
+
+ <para>
+ There are three general options available:
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>backend = backend_name</term>
+ <listitem><para>
+ This specifies the name of the idmap plugin to use as the
+ SID/uid/gid backend for this domain. The standard backends are
+ tdb
+ (<citerefentry><refentrytitle>idmap_tdb</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>),
+ tdb2
+ (<citerefentry><refentrytitle>idmap_tdb2</refentrytitle> <manvolnum>8</manvolnum></citerefentry>),
+ ldap
+ (<citerefentry><refentrytitle>idmap_ldap</refentrytitle> <manvolnum>8</manvolnum></citerefentry>),
+ rid
+ (<citerefentry><refentrytitle>idmap_rid</refentrytitle> <manvolnum>8</manvolnum></citerefentry>),
+ hash
+ (<citerefentry><refentrytitle>idmap_hash</refentrytitle> <manvolnum>8</manvolnum></citerefentry>),
+ autorid
+ (<citerefentry><refentrytitle>idmap_autorid</refentrytitle> <manvolnum>8</manvolnum></citerefentry>),
+ ad
+ (<citerefentry><refentrytitle>idmap_ad</refentrytitle> <manvolnum>8</manvolnum></citerefentry>)
+ and nss
+ (<citerefentry><refentrytitle>idmap_nss</refentrytitle> <manvolnum>8</manvolnum></citerefentry>).
+ The corresponding manual pages contain the details, but
+ here is a summary.
+ </para>
+ <para>
+ The first three of these create mappings of their own using
+ internal unixid counters and store the mappings in a database.
+ These are suitable for use in the default idmap configuration.
+ The rid and hash backends use a pure algorithmic calculation
+ to determine the unixid for a SID. The autorid module is a
+ mixture of the tdb and rid backend. It creates ranges for
+ each domain encountered and then uses the rid algorithm for each
+ of these automatically configured domains individually.
+ The ad backend uses unix ids stored in Active Directory via
+ the standard schema extensions. The nss backend reverses
+ the standard winbindd setup and gets the unix ids via names
+ from nsswitch which can be useful in an ldap setup.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>range = low - high</term>
+ <listitem><para>
+ Defines the available matching uid and gid range for which the
+ backend is authoritative. For allocating backends, this also
+ defines the start and the end of the range for allocating
+ new unique IDs.
+ </para>
+ <para>
+ winbind uses this parameter to find the backend that is
+ authoritative for a unix ID to SID mapping, so it must be set
+ for each individually configured domain and for the default
+ configuration. The configured ranges must be mutually disjoint.
+ </para>
+ <para>
+ Note that the low value interacts with the <smbconfoption name="min domain uid"/> option!
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>read only = yes|no</term>
+ <listitem><para>
+ This option can be used to turn the writing backends
+ tdb, tdb2, and ldap into read only mode. This can be useful
+ e.g. in cases where a pre-filled database exists that should
+ not be extended automatically.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ The following example illustrates how to configure the <citerefentry>
+ <refentrytitle>idmap_ad</refentrytitle> <manvolnum>8</manvolnum>
+ </citerefentry> backend for the CORP domain and the
+ <citerefentry><refentrytitle>idmap_tdb</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> backend for all other
+ domains. This configuration assumes that the admin of CORP assigns
+ unix ids below 1000000 via the SFU extensions, and winbind is supposed
+ to use the next million entries for its own mappings from trusted
+ domains and for local groups for example.
+ </para>
+
+ <programlisting>
+ idmap config * : backend = tdb
+ idmap config * : range = 1000000-1999999
+
+ idmap config CORP : backend = ad
+ idmap config CORP : range = 1000-999999
+ </programlisting>
+
+</description>
+<related>min domain uid</related>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/idmapgid.xml b/docs-xml/smbdotconf/winbind/idmapgid.xml
new file mode 100644
index 0000000..1b576b2
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/idmapgid.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="idmap gid"
+ context="G"
+ 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>
+ <para>
+ The idmap gid parameter specifies the range of group ids
+ for the default idmap configuration. It is now deprecated
+ in favour of <smbconfoption name="idmap config * : range"/>.
+ </para>
+
+ <para>See the <smbconfoption name="idmap config"/> option.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">10000-20000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml b/docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml
new file mode 100644
index 0000000..32c4e1f
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/idmapnegativecachetime.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="idmap negative cache time"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the number of seconds that Winbind's
+ idmap interface will cache negative SID/uid/gid query results.
+ </para>
+</description>
+
+<value type="default">120</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/idmapuid.xml b/docs-xml/smbdotconf/winbind/idmapuid.xml
new file mode 100644
index 0000000..f666f61
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/idmapuid.xml
@@ -0,0 +1,21 @@
+<samba:parameter name="idmap uid"
+ type="string"
+ 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>
+ <para>
+ The idmap uid parameter specifies the range of user ids for
+ the default idmap configuration. It is now deprecated in favour
+ of <smbconfoption name="idmap config * : range"/>.
+ </para>
+
+ <para>See the <smbconfoption name="idmap config"/> option.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">10000-20000</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/includesystemkrb5conf.xml b/docs-xml/smbdotconf/winbind/includesystemkrb5conf.xml
new file mode 100644
index 0000000..3e53292
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/includesystemkrb5conf.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="include system krb5 conf"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ Setting this parameter to <value type="example">no</value> will prevent
+ winbind to include the system /etc/krb5.conf file into the krb5.conf file
+ it creates. See also <smbconfoption name="create krb5 conf"/>. This option
+ only applies to Samba built with MIT Kerberos.
+ </para>
+
+</description>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/netutralizent4emulation.xml b/docs-xml/smbdotconf/winbind/netutralizent4emulation.xml
new file mode 100644
index 0000000..247822e
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/netutralizent4emulation.xml
@@ -0,0 +1,18 @@
+<samba:parameter name="neutralize nt4 emulation"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls whether winbindd sends
+ the NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION flag in order to bypass
+ the NT4 emulation of a domain controller.</para>
+
+ <para>Typically you should not need set this.
+ It can be useful for upgrades from NT4 to AD domains.</para>
+
+ <para>The behavior can be controlled per netbios domain
+ by using 'neutralize nt4 emulation:NETBIOSDOMAIN = yes' as option.</para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/rejectmd5servers.xml b/docs-xml/smbdotconf/winbind/rejectmd5servers.xml
new file mode 100644
index 0000000..3bc4eaf
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/rejectmd5servers.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="reject md5 servers"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls whether winbindd requires support
+ for aes support for the netlogon secure channel.</para>
+
+ <para>The following flags will be required NETLOGON_NEG_ARCFOUR,
+ NETLOGON_NEG_SUPPORTS_AES, NETLOGON_NEG_PASSWORD_SET2 and NETLOGON_NEG_AUTHENTICATED_RPC.</para>
+
+ <para>You can set this to yes if all domain controllers support aes.
+ This will prevent downgrade attacks.</para>
+
+ <para>The behavior can be controlled per netbios domain
+ by using 'reject md5 servers:NETBIOSDOMAIN = no' as option.</para>
+
+ <para>The default changed from 'no' to 'yes, with the patches for CVE-2022-38023,
+ see https://bugzilla.samba.org/show_bug.cgi?id=15240</para>
+
+ <para>This option overrides the <smbconfoption name="require strong key"/> option.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/requirestrongkey.xml b/docs-xml/smbdotconf/winbind/requirestrongkey.xml
new file mode 100644
index 0000000..9c1c1d7
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/requirestrongkey.xml
@@ -0,0 +1,26 @@
+<samba:parameter name="require strong key"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls whether winbindd requires support
+ for md5 strong key support for the netlogon secure channel.</para>
+
+ <para>The following flags will be required NETLOGON_NEG_STRONG_KEYS,
+ NETLOGON_NEG_ARCFOUR and NETLOGON_NEG_AUTHENTICATED_RPC.</para>
+
+ <para>You can set this to no if some domain controllers only support des.
+ This might allows weak crypto to be negotiated, may via downgrade attacks.</para>
+
+ <para>The behavior can be controlled per netbios domain
+ by using 'require strong key:NETBIOSDOMAIN = no' as option.</para>
+
+ <para>Note for active directory domain this option is hardcoded to 'yes'</para>
+
+ <para>This option is over-ridden by the <smbconfoption name="reject md5 servers"/> option.</para>
+
+ <para>This option overrides the <smbconfoption name="client schannel"/> option.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/templatehomedir.xml b/docs-xml/smbdotconf/winbind/templatehomedir.xml
new file mode 100644
index 0000000..2801edf
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/templatehomedir.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="template homedir"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When filling out the user information for a Windows NT
+ user, the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon uses this
+ parameter to fill in the home directory for that user. If the
+ string <parameter moreinfo="none">%D</parameter> is present it
+ is substituted with the user's Windows NT domain name. If the
+ string <parameter moreinfo="none">%U</parameter> is present it
+ is substituted with the user's Windows NT user name.</para>
+</description>
+
+<value type="default">/home/%D/%U</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/templateshell.xml b/docs-xml/smbdotconf/winbind/templateshell.xml
new file mode 100644
index 0000000..891c424
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/templateshell.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="template shell"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When filling out the user information for a Windows NT
+ user, the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon uses this
+ parameter to fill in the login shell for that user.</para>
+</description>
+
+<value type="default">/bin/false</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindcachetime.xml b/docs-xml/smbdotconf/winbind/winbindcachetime.xml
new file mode 100644
index 0000000..2f69de3
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindcachetime.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="winbind cache time"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the number of
+ seconds the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon will cache
+ user and group information before querying a Windows NT server
+ again.</para>
+
+ <para>
+ This does not apply to authentication requests, these are always
+ evaluated in real time unless the <smbconfoption name="winbind
+ offline logon"/> option has been enabled.
+ </para>
+</description>
+
+<value type="default">300</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml b/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
new file mode 100644
index 0000000..7827d36
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="winbindd socket directory"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This setting controls the location of the winbind daemon's socket.</para>
+ <para>Except within automated test scripts, this should not be
+ altered, as the client tools (nss_winbind etc) do not honour
+ this parameter. Client tools must then be advised of the
+ altered path with the WINBINDD_SOCKET_DIR environment
+ variable.</para>
+</description>
+
+<value type="default">&pathconfig.WINBINDD_SOCKET_DIR;</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindenumgroups.xml b/docs-xml/smbdotconf/winbind/winbindenumgroups.xml
new file mode 100644
index 0000000..c3339e1
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindenumgroups.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="winbind enum groups"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>On large installations using <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> it may be necessary to suppress
+ the enumeration of groups through the <command moreinfo="none">setgrent()</command>,
+ <command moreinfo="none">getgrent()</command> and
+ <command moreinfo="none">endgrent()</command> group of system calls. If
+ the <parameter moreinfo="none">winbind enum groups</parameter> parameter is
+ <constant>no</constant>, calls to the <command moreinfo="none">getgrent()</command> system
+ call will not return any data. </para>
+
+<warning><para>Turning off group enumeration may cause some programs to behave oddly. </para></warning>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindenumusers.xml b/docs-xml/smbdotconf/winbind/winbindenumusers.xml
new file mode 100644
index 0000000..5ce53d6
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindenumusers.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="winbind enum users"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>On large installations using <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> it may be
+ necessary to suppress the enumeration of users through the <command moreinfo="none">setpwent()</command>,
+ <command moreinfo="none">getpwent()</command> and
+ <command moreinfo="none">endpwent()</command> group of system calls. If
+ the <parameter moreinfo="none">winbind enum users</parameter> parameter is
+ <constant>no</constant>, calls to the <command moreinfo="none">getpwent</command> system call
+ will not return any data. </para>
+
+<warning><para>Turning off user
+ enumeration may cause some programs to behave oddly. For
+ example, the finger program relies on having access to the
+ full user list when searching for matching
+ usernames. </para></warning>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindexpandgroups.xml b/docs-xml/smbdotconf/winbind/winbindexpandgroups.xml
new file mode 100644
index 0000000..5a05ecf
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindexpandgroups.xml
@@ -0,0 +1,35 @@
+<samba:parameter name="winbind expand groups"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls the maximum depth that winbindd
+ will traverse when flattening nested group memberships
+ of Windows domain groups. This is different from the
+ <smbconfoption name="winbind nested groups"/> option
+ which implements the Windows NT4 model of local group
+ nesting. The &quot;winbind expand groups&quot;
+ parameter specifically applies to the membership of
+ domain groups.</para>
+
+ <para>This option also affects the return of non nested
+ group memberships of Windows domain users. With the
+ new default "winbind expand groups = 0" winbind does
+ not query group memberships at all.</para>
+
+ <para>Be aware that a high value for this parameter can
+ result in system slowdown as the main parent winbindd daemon
+ must perform the group unrolling and will be unable to answer
+ incoming NSS or authentication requests during this time.</para>
+
+ <para>The default value was changed from 1 to 0 with Samba 4.2.
+ Some broken applications (including some implementations of
+ newgrp and sg) calculate the group memberships of
+ users by traversing groups, such applications will require
+ "winbind expand groups = 1". But the new default makes winbindd
+ more reliable as it doesn't require SAMR access to domain
+ controllers of trusted domains.</para>
+</description>
+
+<value type="default">0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindignoredomains.xml b/docs-xml/smbdotconf/winbind/winbindignoredomains.xml
new file mode 100644
index 0000000..af99222
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindignoredomains.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="winbind:ignore domains"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Allows one to enter a list of trusted domains winbind should
+ ignore (untrust). This can avoid the overhead of resources from
+ attempting to login to DCs that should not be communicated with.
+ </para>
+
+</description>
+<value type="default"></value>
+<value type="example">DOMAIN1, DOMAIN2</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindmaxclients.xml b/docs-xml/smbdotconf/winbind/winbindmaxclients.xml
new file mode 100644
index 0000000..847a588
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindmaxclients.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="winbind max clients"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the maximum number of clients
+ the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon can connect with.
+ The parameter is not a hard limit.
+ The <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon configures
+ itself to be able to accept at least that many connections,
+ and if the limit is reached, an attempt is made to disconnect
+ idle clients.
+ </para>
+</description>
+
+<value type="default">200</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml b/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
new file mode 100644
index 0000000..5cd846e
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindmaxdomainconnections.xml
@@ -0,0 +1,25 @@
+<samba:parameter name="winbind max domain connections"
+ context="G"
+ type="integer"
+ 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
+ connections that the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon should open to the
+ domain controller of one domain.
+ Setting this parameter to a value greater than 1 can improve
+ scalability with many simultaneous winbind requests,
+ some of which might be slow.
+ Changing this value requires a restart of winbindd.
+ </para>
+ <para>
+ Note that if <smbconfoption name="winbind offline logon"/> is set to
+ <constant>Yes</constant>, then only one
+ DC connection is allowed per domain, regardless of this setting.
+ </para>
+</description>
+
+<value type="default">1</value>
+<value type="example">10</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindnestedgroups.xml b/docs-xml/smbdotconf/winbind/winbindnestedgroups.xml
new file mode 100644
index 0000000..a4a03eb
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindnestedgroups.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="winbind nested groups"
+ context="G"
+ 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
+ groups. Nested groups are also called local groups or
+ aliases. They work like their counterparts in Windows: Nested
+ groups are defined locally on any machine (they are shared
+ between DC's through their SAM) and can contain users and
+ global groups from any trusted SAM. To be able to use nested
+ groups, you need to run nss_winbind.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindnormalizenames.xml b/docs-xml/smbdotconf/winbind/winbindnormalizenames.xml
new file mode 100644
index 0000000..362f488
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindnormalizenames.xml
@@ -0,0 +1,30 @@
+<samba:parameter name="winbind normalize names"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter controls whether winbindd will replace
+ whitespace in user and group names with an underscore (_) character.
+ For example, whether the name &quot;Space Kadet&quot; should be
+ replaced with the string &quot;space_kadet&quot;.
+ Frequently Unix shell scripts will have difficulty with usernames
+ contains whitespace due to the default field separator in the shell.
+ If your domain possesses names containing the underscore character,
+ this option may cause problems unless the name aliasing feature
+ is supported by your nss_info plugin.
+ </para>
+
+ <para>This feature also enables the name aliasing API which can
+ be used to make domain user and group names to a non-qualified
+ version. Please refer to the manpage for the configured
+ idmap and nss_info plugin for the specifics on how to configure
+ name aliasing for a specific configuration. Name aliasing takes
+ precedence (and is mutually exclusive) over the whitespace
+ replacement mechanism discussed previously.
+ </para>
+
+</description>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindnssinfo.xml b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
new file mode 100644
index 0000000..e6d17c2
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindnssinfo.xml
@@ -0,0 +1,38 @@
+<samba:parameter name="winbind nss info"
+ context="G"
+ type="cmdlist"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>This parameter is designed to control how Winbind retrieves Name
+ Service Information to construct a user's home directory and login shell.
+ Currently the following settings are available:
+
+ <itemizedlist>
+ <listitem>
+ <para><parameter moreinfo="none">template</parameter>
+ - The default, using the parameters of <parameter moreinfo="none">template
+ shell</parameter> and <parameter moreinfo="none">template homedir</parameter>)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para><parameter moreinfo="none">&lt;sfu | sfu20 | rfc2307 &gt;</parameter>
+ - When Samba is running in security = ads and your Active Directory
+ Domain Controller does support the Microsoft "Services for Unix" (SFU)
+ LDAP schema, winbind can retrieve the login shell and the home
+ directory attributes directly from your Directory Server. For SFU 3.0 or 3.5 simply choose
+ "sfu", if you use SFU 2.0 please choose "sfu20".</para>
+ <para>Note that for the idmap backend <refentrytitle>idmap_ad</refentrytitle>
+ you need to configure those settings in the idmap configuration section.
+ Make sure to consult the documentation of the idmap backend that you are using.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+</para>
+</description>
+
+<value type="default">template</value>
+<value type="example">sfu</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindofflinelogon.xml b/docs-xml/smbdotconf/winbind/winbindofflinelogon.xml
new file mode 100644
index 0000000..9cf1249
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindofflinelogon.xml
@@ -0,0 +1,17 @@
+<samba:parameter name="winbind offline logon"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>This parameter is designed to control whether Winbind should
+ allow one to login with the <parameter moreinfo="none">pam_winbind</parameter>
+ module using Cached Credentials. If enabled, winbindd will store user credentials
+ from successful logins encrypted in a local cache.
+ </para>
+
+</description>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml b/docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml
new file mode 100644
index 0000000..f26fd5e
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindreconnectdelay.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="winbind reconnect delay"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the number of
+ seconds the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon will wait between
+ attempts to contact a Domain controller for a domain that is
+ determined to be down or not contactable.</para>
+</description>
+
+<value type="default">30</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml b/docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml
new file mode 100644
index 0000000..f6bb738
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindrefreshtickets.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="winbind refresh tickets"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>This parameter is designed to control whether Winbind should refresh Kerberos Tickets
+ retrieved using the <parameter moreinfo="none">pam_winbind</parameter> module.
+
+</para>
+</description>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml b/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
new file mode 100644
index 0000000..8c7ec56
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="winbind request timeout"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies the number of
+ seconds the <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon will wait before
+ disconnecting either a client connection with no outstanding
+ requests (idle) or a client connection with a request that has
+ remained outstanding (hung) for longer than this number of seconds.</para>
+</description>
+
+<value type="default">60</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindrpconly.xml b/docs-xml/smbdotconf/winbind/winbindrpconly.xml
new file mode 100644
index 0000000..50795ac
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindrpconly.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="winbind rpc only"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+
+ <para>
+ Setting this parameter to <value type="example">yes</value> forces
+ winbindd to use RPC instead of LDAP to retrieve information from Domain
+ Controllers.
+ </para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindscantrusteddomains.xml b/docs-xml/smbdotconf/winbind/winbindscantrusteddomains.xml
new file mode 100644
index 0000000..12e94cb
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindscantrusteddomains.xml
@@ -0,0 +1,29 @@
+<samba:parameter name="winbind scan trusted domains"
+ context="G"
+ 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
+ <constant>domain</constant> or <constant>ads</constant>.
+ If it is set to yes, winbindd periodically tries to scan for new
+ trusted domains and adds them to a global list inside of winbindd.
+ The list can be extracted with <command>wbinfo --trusted-domains --verbose</command>.
+ Setting it to yes matches the behaviour of Samba 4.7 and older.</para>
+
+ <para>The construction of that global list is not reliable and often
+ incomplete in complex trust setups. In most situations the list is
+ not needed any more for winbindd to operate correctly.
+ E.g. for plain file serving via SMB using a simple idmap setup
+ with <constant>autorid</constant>, <constant>tdb</constant> or <constant>ad</constant>.
+ However some more complex setups require the list, e.g.
+ if you specify idmap backends for specific domains.
+ Some pam_winbind setups may also require the global list.</para>
+
+ <para>If you have a setup that doesn't require the global list, you should set
+ <smbconfoption name="winbind scan trusted domains">no</smbconfoption>.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindsealedpipes.xml b/docs-xml/smbdotconf/winbind/winbindsealedpipes.xml
new file mode 100644
index 0000000..016ac9b
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindsealedpipes.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="winbind sealed pipes"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option controls whether any requests from winbindd to domain controllers
+ pipe will be sealed. Disabling sealing can be useful for debugging
+ purposes.</para>
+
+ <para>The behavior can be controlled per netbios domain
+ by using 'winbind sealed pipes:NETBIOSDOMAIN = no' as option.</para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindseparator.xml b/docs-xml/smbdotconf/winbind/winbindseparator.xml
new file mode 100644
index 0000000..eda14f4
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindseparator.xml
@@ -0,0 +1,20 @@
+<samba:parameter name="winbind separator"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter allows an admin to define the character
+ used when listing a username of the form of <replaceable>DOMAIN
+ </replaceable>\<replaceable>user</replaceable>. This parameter
+ is only applicable when using the <filename moreinfo="none">pam_winbind.so</filename>
+ and <filename moreinfo="none">nss_winbind.so</filename> modules for UNIX services.
+ </para>
+
+ <para>Please note that setting this parameter to + causes problems
+ with group membership at least on glibc systems, as the character +
+ is used as a special character for NIS in /etc/group.</para>
+</description>
+
+<value type="default">\</value>
+<value type="example">+</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml b/docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml
new file mode 100644
index 0000000..186398e
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindusedefaultdomain.xml
@@ -0,0 +1,22 @@
+<samba:parameter name="winbind use default domain"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter specifies whether the
+ <citerefentry><refentrytitle>winbindd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> daemon should operate on users
+ without domain component in their username. Users without a domain
+ component are treated as is part of the winbindd server's own
+ domain. While this does not benefit Windows users, it makes SSH, FTP and
+ e-mail function in a way much closer to the way they
+ would in a native unix system.</para>
+ <para>This option should be avoided if possible. It can cause confusion
+ about responsibilities for a user or group. In many situations it is
+ not clear whether winbind or /etc/passwd should be seen as authoritative
+ for a user, likewise for groups.</para>
+</description>
+
+<value type="default">no</value>
+<value type="example">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbindusekrb5enterpriseprincipals.xml b/docs-xml/smbdotconf/winbind/winbindusekrb5enterpriseprincipals.xml
new file mode 100644
index 0000000..d30b7f3
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindusekrb5enterpriseprincipals.xml
@@ -0,0 +1,34 @@
+<samba:parameter name="winbind use krb5 enterprise principals"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>winbindd is able to get kerberos tickets for
+ pam_winbind with krb5_auth or wbinfo -K/--krb5auth=.
+ </para>
+
+ <para>winbindd (at least on a domain member) is never be able
+ to have a complete picture of the trust topology (which is managed by the DCs).
+ There might be uPNSuffixes and msDS-SPNSuffixes values,
+ which don't belong to any AD domain at all.
+ </para>
+
+ <para>With <smbconfoption name="winbind scan trusted domains">no</smbconfoption>
+ winbindd doesn't even get a complete picture of the topology.
+ </para>
+
+ <para>It is not really required to know about the trust topology.
+ We can just rely on the [K]DCs of our primary domain (e.g. PRIMARY.A.EXAMPLE.COM)
+ and use enterprise principals e.g. upnfromB@B.EXAMPLE.COM@PRIMARY.A.EXAMPLE.COM
+ and follow the WRONG_REALM referrals in order to find the correct DC.
+ The final principal might be userfromB@INTERNALB.EXAMPLE.PRIVATE.
+ </para>
+
+ <para>With <smbconfoption name="winbind use krb5 enterprise principals">yes</smbconfoption>
+ winbindd enterprise principals will be used.
+ </para>
+</description>
+
+<value type="default">yes</value>
+<value type="example">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/dnsproxy.xml b/docs-xml/smbdotconf/wins/dnsproxy.xml
new file mode 100644
index 0000000..75d4446
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/dnsproxy.xml
@@ -0,0 +1,24 @@
+<samba:parameter name="dns proxy"
+ context="G"
+ type="boolean"
+ function="wins_dns_proxy"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Specifies that <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> when acting as a WINS server and
+ finding that a NetBIOS name has not been registered, should treat the
+ NetBIOS name word-for-word as a DNS name and do a lookup with the DNS server
+ for that name on behalf of the name-querying client.</para>
+
+ <para>Note that the maximum length for a NetBIOS name is 15
+ characters, so the DNS name (or DNS alias) can likewise only be
+ 15 characters, maximum.</para>
+
+ <para><command moreinfo="none">nmbd</command> spawns a second copy of itself to do the
+ DNS name lookup requests, as doing a name lookup is a blocking
+ action.</para>
+</description>
+
+<related>wins support</related>
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/maxwinsttl.xml b/docs-xml/smbdotconf/wins/maxwinsttl.xml
new file mode 100644
index 0000000..2427eec
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/maxwinsttl.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="max wins ttl"
+ type="integer"
+ context="G"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option tells <citerefentry><refentrytitle>smbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> when acting as a WINS server
+ (<smbconfoption name="wins support">yes</smbconfoption>) what the maximum
+ 'time to live' of NetBIOS names that <command moreinfo="none">nmbd</command>
+ will grant will be (in seconds). You should never need to change this
+ parameter. The default is 6 days (518400 seconds).</para>
+</description>
+
+<related>min wins ttl</related>
+<value type="default">518400</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/minwinsttl.xml b/docs-xml/smbdotconf/wins/minwinsttl.xml
new file mode 100644
index 0000000..8991757
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/minwinsttl.xml
@@ -0,0 +1,15 @@
+<samba:parameter name="min wins ttl"
+ context="G"
+ type="integer"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This option tells <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry>
+ when acting as a WINS server (<smbconfoption name="wins support">yes</smbconfoption>) what the minimum 'time to live'
+ of NetBIOS names that <command moreinfo="none">nmbd</command> will grant will be (in
+ seconds). You should never need to change this parameter. The default
+ is 6 hours (21600 seconds).</para>
+</description>
+
+<value type="default">21600</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/nbtd-wins_prepend1bto1cqueries.xml b/docs-xml/smbdotconf/wins/nbtd-wins_prepend1bto1cqueries.xml
new file mode 100644
index 0000000..e8d548e
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/nbtd-wins_prepend1bto1cqueries.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="nbtd:wins_prepend1Bto1Cqueries"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Normally queries for 0x1C names (all logon servers for a domain)
+ will return the first address of the 0x1B names (domain master browser
+ and PDC) as first address in the result list. As many client only use
+ the first address in the list by default, all clients will use the same
+ server (the PDC). Windows servers have an option to disable this
+ behavior (since Windows 2000 Service Pack 2).
+ </para>
+</description>
+
+<value type="default">yes</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist.xml b/docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist.xml
new file mode 100644
index 0000000..2566062
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist.xml
@@ -0,0 +1,19 @@
+<samba:parameter name="nbtd:wins_wins_randomize1Clist"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>Normally queries for 0x1C names will return the addresses in the
+ same order as they're stored in the database, that means first all
+ addresses which have been directly registered at the local wins server
+ and then all addresses registered at other servers. Windows servers
+ have an option to change this behavior and randomize the returned
+ addresses. Set this parameter to "yes" and Samba will sort the
+ address list depending on the client address and the matching bits of
+ the addresses, the first address is randomized based on depending on
+ the "nbtd:wins_randomize1Clist_mask" parameter.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist_mask.xml b/docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist_mask.xml
new file mode 100644
index 0000000..ea3978c
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/nbtd-wins_randomize1clist_mask.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="nbtd:wins_randomize1Clist_mask"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If the "nbtd:wins_randomize1Clist" parameter is set to "yes",
+ then randomizing of the first returned address is based on the
+ specified netmask. If there are addresses which are in the same subnet
+ as the client address, the first returned address is randomly chosen
+ out them. Otherwise the first returned address is randomly chosen out
+ of all addresses.
+ </para>
+</description>
+
+<value type="default">255.255.255.0</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/winsdb-localowner.xml b/docs-xml/smbdotconf/wins/winsdb-localowner.xml
new file mode 100644
index 0000000..c5a674f
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/winsdb-localowner.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="winsdb:local_owner"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This specifies the address that is stored in the winsOwner attribute, of
+ locally registered winsRecord-objects.
+ The default is to use the ip-address of the first network interface.
+ </para>
+</description>
+
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/winsdb-nosync.xml b/docs-xml/smbdotconf/wins/winsdb-nosync.xml
new file mode 100644
index 0000000..d66aa09
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/winsdb-nosync.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="winsdb:dbnosync"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This parameter disables fsync() after changes of the WINS database.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/winshook.xml b/docs-xml/smbdotconf/wins/winshook.xml
new file mode 100644
index 0000000..3dcf5d7
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/winshook.xml
@@ -0,0 +1,58 @@
+<samba:parameter name="wins hook"
+ context="G"
+ type="string"
+ substitution="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>When Samba is running as a WINS server this
+ allows you to call an external program for all changes to the
+ WINS database. The primary use for this option is to allow the
+ dynamic update of external name resolution databases such as
+ dynamic DNS.</para>
+
+ <para>The wins hook parameter specifies the name of a script
+ or executable that will be called as follows:</para>
+
+ <para><command moreinfo="none">wins_hook operation name nametype ttl IP_list</command></para>
+
+ <itemizedlist>
+ <listitem>
+ <para>The first argument is the operation and is
+ one of &quot;add&quot;, &quot;delete&quot;, or
+ &quot;refresh&quot;. In most cases the operation
+ can be ignored as the rest of the parameters
+ provide sufficient information. Note that
+ &quot;refresh&quot; may sometimes be called when
+ the name has not previously been added, in that
+ case it should be treated as an add.</para>
+ </listitem>
+
+ <listitem>
+ <para>The second argument is the NetBIOS name. If the
+ name is not a legal name then the wins hook is not called.
+ Legal names contain only letters, digits, hyphens, underscores
+ and periods.</para>
+ </listitem>
+
+ <listitem>
+ <para>The third argument is the NetBIOS name
+ type as a 2 digit hexadecimal number. </para>
+ </listitem>
+
+ <listitem>
+ <para>The fourth argument is the TTL (time to live)
+ for the name in seconds.</para>
+ </listitem>
+
+ <listitem>
+ <para>The fifth and subsequent arguments are the IP
+ addresses currently registered for that name. If this list is
+ empty then the name should be deleted.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>An example script that calls the BIND dynamic DNS update
+ program <command moreinfo="none">nsupdate</command> is provided in the examples
+ directory of the Samba source code. </para>
+</description>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/winsproxy.xml b/docs-xml/smbdotconf/wins/winsproxy.xml
new file mode 100644
index 0000000..d240c21
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/winsproxy.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="wins proxy"
+ context="G"
+ type="boolean"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is a boolean that controls if <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> will respond to broadcast name
+ queries on behalf of other hosts. You may need to set this
+ to <constant>yes</constant> for some older clients.</para>
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/winsserver.xml b/docs-xml/smbdotconf/wins/winsserver.xml
new file mode 100644
index 0000000..d323b38
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/winsserver.xml
@@ -0,0 +1,34 @@
+<samba:parameter name="wins server"
+ context="G"
+ type="cmdlist"
+ function="wins_server_list"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This specifies the IP address (or DNS name: IP
+ address for preference) of the WINS server that <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> should register with. If you have a WINS server on
+ your network then you should set this to the WINS server's IP.</para>
+
+ <para>You should point this at your WINS server if you have a
+ multi-subnetted network.</para>
+
+ <para>If you want to work in multiple namespaces, you can
+ give every wins server a 'tag'. For each tag, only one
+ (working) server will be queried for a name. The tag should be
+ separated from the ip address by a colon.
+ </para>
+
+ <note><para>You need to set up Samba to point
+ to a WINS server if you have multiple subnets and wish cross-subnet
+ browsing to work correctly.</para></note>
+ <para>See the chapter in the Samba3-HOWTO on Network Browsing.</para>
+</description>
+
+<value type="default"></value>
+<value type="example">mary:192.9.200.1 fred:192.168.3.199 mary:192.168.2.61
+ <comment>For this example when querying a certain name, 192.19.200.1 will
+ be asked first and if that doesn't respond 192.168.2.61. If either
+ of those doesn't know the name 192.168.3.199 will be queried.</comment></value>
+
+<value type="example">192.9.200.1 192.168.2.61</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/winssupport.xml b/docs-xml/smbdotconf/wins/winssupport.xml
new file mode 100644
index 0000000..c1c7fed
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/winssupport.xml
@@ -0,0 +1,16 @@
+<samba:parameter name="wins support"
+ type="boolean"
+ context="G"
+ function="we_are_a_wins_server"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+ <description>
+ <para>This boolean controls if the <citerefentry><refentrytitle>nmbd</refentrytitle>
+ <manvolnum>8</manvolnum></citerefentry> process in Samba will act as a WINS server. You should
+ not set this to <constant>yes</constant> unless you have a multi-subnetted network and
+ you wish a particular <command moreinfo="none">nmbd</command> to be your WINS server.
+ Note that you should <emphasis>NEVER</emphasis> set this to <constant>yes</constant>
+ on more than one machine in your network.</para>
+
+</description>
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/wreplsrv-periodic_interval.xml b/docs-xml/smbdotconf/wins/wreplsrv-periodic_interval.xml
new file mode 100644
index 0000000..a3414e3
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/wreplsrv-periodic_interval.xml
@@ -0,0 +1,14 @@
+<samba:parameter name="wreplsrv:periodic_interval"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This maximum interval in seconds between 2 periodically scheduled runs
+ where we check for wins.ldb changes and do push notifications to our
+ push partners. Also wins_config.ldb changes are checked in that
+ interval and partner configuration reloads are done.
+ </para>
+</description>
+
+<value type="default">15</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/wreplsrv-propagate_name_releases.xml b/docs-xml/smbdotconf/wins/wreplsrv-propagate_name_releases.xml
new file mode 100644
index 0000000..9633150
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/wreplsrv-propagate_name_releases.xml
@@ -0,0 +1,23 @@
+<samba:parameter name="wreplsrv:propagate name releases"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>If this parameter is enabled, then
+ explicit (from the client) and implicit (via the scavenging) name releases
+ are propagated to the other servers directly, even if there are still other
+ addresses active, this applies to SPECIAL GROUP (2) and MULTIHOMED (3) entries.
+ Also the replication conflict merge algorithm for SPECIAL GROUP (2) entries
+ discards replica addresses where the address owner is the local server,
+ if the address was not stored locally before. The merge result is
+ propagated directly in case an address was discarded.
+ A Windows servers doesn't propagate name releases of SPECIAL GROUP (2)
+ and MULTIHOMED (3) entries directly, which means that Windows servers may
+ return different results to name queries for SPECIAL GROUP (2) and MULTIHOMED (3)
+ names. The option doesn't have much negative impact if Windows servers are
+ around, but be aware that they might return unexpected results.
+ </para>
+</description>
+
+<value type="default">no</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/wreplsrv-scavenging_interval.xml b/docs-xml/smbdotconf/wins/wreplsrv-scavenging_interval.xml
new file mode 100644
index 0000000..d05170e
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/wreplsrv-scavenging_interval.xml
@@ -0,0 +1,11 @@
+<samba:parameter name="wreplsrv:scavenging_interval"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is the interval in s between 2 scavenging runs which
+ clean up the WINS database and changes the states of expired name records.
+ Defaults to half of the value of wreplsrv:renew_interval.
+ </para>
+</description>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/wreplsrv-tombstone_extra_timeout.xml b/docs-xml/smbdotconf/wins/wreplsrv-tombstone_extra_timeout.xml
new file mode 100644
index 0000000..2320854
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/wreplsrv-tombstone_extra_timeout.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="wreplsrv:tombstone_extra_timeout"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is the time in s the server needs to be up till we'll remove
+ tombstone records from our database. Defaults to 3 days.
+ </para>
+</description>
+
+<value type="default">259200</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/wreplsrv-tombstone_interval.xml b/docs-xml/smbdotconf/wins/wreplsrv-tombstone_interval.xml
new file mode 100644
index 0000000..ee7d727
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/wreplsrv-tombstone_interval.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="wreplsrv:tombstone_interval"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is the interval in s till released records of the WINS
+ server become tombstone. Defaults to 6 days.
+ </para>
+</description>
+
+<value type="default">518400</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/wreplsrv-tombstone_timeout.xml b/docs-xml/smbdotconf/wins/wreplsrv-tombstone_timeout.xml
new file mode 100644
index 0000000..b17def9
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/wreplsrv-tombstone_timeout.xml
@@ -0,0 +1,12 @@
+<samba:parameter name="wreplsrv:tombstone_timeout"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is the interval in s till tombstone records are deleted from
+ the WINS database. Defaults to 1 day.
+ </para>
+</description>
+
+<value type="default">86400</value>
+</samba:parameter>
diff --git a/docs-xml/smbdotconf/wins/wreplsrv-verify_interval.xml b/docs-xml/smbdotconf/wins/wreplsrv-verify_interval.xml
new file mode 100644
index 0000000..1efd97b
--- /dev/null
+++ b/docs-xml/smbdotconf/wins/wreplsrv-verify_interval.xml
@@ -0,0 +1,13 @@
+<samba:parameter name="wreplsrv:verify_interval"
+ context="G"
+ type="string"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>This is the interval in s till we verify active replica records
+ with the owning WINS server. Unfortunately not implemented yet.
+ Defaults to 24 days.
+ </para>
+</description>
+
+<value type="default">2073600</value>
+</samba:parameter>