1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-25 17:57:42 +03:00

Move existing samba4 documentation to Samba-docs trunk

(This used to be commit ee3dfdcf09d6a657cf7e7325f10aa3154867c351)
This commit is contained in:
Jelmer Vernooij 2005-05-05 22:38:51 +00:00 committed by Gerald W. Carter
parent 406ee13608
commit eb2c5fedfa
64 changed files with 11098 additions and 659 deletions

View File

@ -8,11 +8,12 @@ include Makefile.settings
# Docs to build
MAIN_DOCS = $(patsubst %/index.xml,%,$(wildcard */index.xml))
MANPAGES = $(wildcard $(MANPAGEDIR)/*.?.xml)
MANPAGES3 = $(wildcard $(MANPAGEDIR3)/*.?.xml)
MANPAGES4 = $(wildcard $(MANPAGEDIR4)/*.?.xml)
# Lists of files to process
LATEX_FIGURES = xslt/figures/caution.pdf xslt/figures/important.pdf xslt/figures/note.pdf xslt/figures/tip.pdf xslt/figures/warning.pdf
MANPAGES_PLUCKER = $(patsubst $(MANPAGEDIR)/%.xml,$(PLUCKERDIR)/%.pdb,$(MANPAGES))
MANPAGES_PLUCKER = $(patsubst $(MANPAGEDIR3)/%.xml,$(PLUCKERDIR)/%.pdb,$(MANPAGES3))
DATETIME := $(shell date +%Y%m%d%H%M%S)
@ -31,23 +32,24 @@ help:
@echo " release - Build the docs needed for a Samba release"
@echo " all - Build all docs that can be build using the utilities found by configure"
@echo " everything - Build all of the above"
@echo " pdf,tex,dvi,ps,manpages,txt,pearson,fo,htmlhelp - Build specific output format"
@echo " pdf,tex,dvi,ps,manpages{3,4},txt,pearson,fo,htmlhelp - Build specific output format"
@echo " html - Build multi-file HTML versions"
@echo " html-single - Build single-file HTML versions"
@echo " htmlman - Build HTML version of manpages"
@echo " htmlman3 - Build HTML version of manpages"
@echo " undocumented - Output list of undocumented smb.conf options"
@echo " samples - Extract examples"
@echo " files - Extract other files"
$(DOCBOOKDIR)/Samba-Guide.xml: $(filter-out Samba-Guide/index.xml,$(wildcard Samba-Guide/*.xml))
$(DOCBOOKDIR)/Samba-HOWTO-Collection.xml: $(filter-out Samba-HOWTO-Collection/index.xml,$(wildcard Samba-HOWTO-Collection/*.xml)) Samba-HOWTO-Collection-attributions.xml
Samba-HOWTO-Collection/manpages.xml: $(MANPAGEDIR)/smb.conf.5.xml
$(DOCBOOKDIR)/Samba-Developers-Guide.xml: $(filter-out Samba-Developers-Guide/index.xml,$(wildcard Samba-Developers-Guide/*.xml)) Samba-Developers-Guide-attributions.xml
Samba-HOWTO-Collection/manpages.xml: $(MANPAGEDIR3)/smb.conf.5.xml
$(DOCBOOKDIR)/Samba3-Developers-Guide.xml: $(filter-out Samba3-Developers-Guide/index.xml,$(wildcard Samba3-Developers-Guide/*.xml)) Samba3-Developers-Guide-attributions.xml
$(DOCBOOKDIR)/Samba4-HOWTO.xml: $(filter-out Samba4-HOWTO/index.xml,$(wildcard Samba4-HOWTO/*.xml)) Samba4-HOWTO-attributions.xml
# Pseudo targets
all: $(TARGETS)
everything: manpages pdf html-single html htmlman txt ps fo htmlhelp pearson
release: manpages htmlman html pdf
everything: manpages3 manpages4 pdf html-single html htmlman3 txt ps fo htmlhelp pearson
release: manpages3 htmlman3 html pdf
# Output format targets
pdf: $(patsubst %,$(PDFDIR)/%.pdf,$(MAIN_DOCS))
@ -60,11 +62,12 @@ fo-pdf: $(patsubst %,$(FOPDFDIR)/%.pdf,$(MAIN_DOCS))
tex: $(addsuffix .tex,$(MAIN_DOCS))
texi: $(patsubst %,$(TEXINFODIR)/%.texi,$(MAIN_DOCS))
texiinfo: $(patsubst %,$(TEXINFODIR)/%.info,$(MAIN_DOCS))
manpages: $(patsubst $(MANPAGEDIR)/%.xml,$(MANDIR)/%,$(MANPAGES))
manpages3: $(patsubst $(MANPAGEDIR3)/%.xml,$(OUTPUTDIR)/manpages-3/%,$(MANPAGES3))
manpages4: $(patsubst $(MANPAGEDIR4)/%.xml,$(OUTPUTDIR)/manpages-4/%,$(MANPAGES4))
pearson: $(PEARSONDIR)/Samba-HOWTO-Collection.xml
pearson-verify: $(PEARSONDIR)/Samba-HOWTO-Collection.report.html
plucker: $(patsubst %,$(PLUCKERDIR)/%.pdb,$(MAIN_DOCS))
htmlman: $(patsubst $(MANPAGEDIR)/%.xml,$(HTMLDIR)/%.html,$(MANPAGES)) $(HTMLDIR)/manpages.html
htmlman3: $(patsubst $(MANPAGEDIR3)/%.xml,$(HTMLDIR)/%.html,$(MANPAGES3)) $(HTMLDIR)/manpages.html
html-single: $(patsubst %,$(HTMLDIR)/%.html,$(MAIN_DOCS))
html: $(patsubst %,$(HTMLDIR)/%/index.html,$(MAIN_DOCS)) $(HTMLDIR)/index.html
htmlhelp: $(addprefix $(HTMLHELPDIR)/,$(MAIN_DOCS))
@ -76,7 +79,11 @@ $(DOCBOOKDIR)/%.xml: %/index.xml xslt/expand-sambadoc.xsl
mkdir -p $(@D)
$(XSLTPROC) --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --xinclude --output $@ xslt/expand-sambadoc.xsl $<
$(DOCBOOKDIR)/%.xml: $(MANPAGEDIR)/%.xml xslt/expand-sambadoc.xsl
$(DOCBOOKDIR)/manpages-3/%.xml: $(MANPAGEDIR3)/%.xml xslt/expand-sambadoc.xsl
mkdir -p $(@D)
$(XSLTPROC) --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ xslt/expand-sambadoc.xsl $<
$(DOCBOOKDIR)/manpages-4/%.xml: $(MANPAGEDIR4)/%.xml xslt/expand-sambadoc.xsl
mkdir -p $(@D)
$(XSLTPROC) --xinclude --stringparam latex.imagebasedir "$*/" --stringparam noreference 1 --output $@ xslt/expand-sambadoc.xsl $<
@ -229,7 +236,7 @@ $(TEXINFODIR)/%.info: $(TEXINFODIR)/%.texi
$(MAKEINFO) --no-validate --force -o $@ "$<"
# Manpages
$(MANPAGEDIR)/smb.conf.5.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/parameters.service.xml $(SMBDOTCONFDOC)/parameters.global.xml
$(MANPAGEDIR3)/smb.conf.5.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/parameters.service.xml $(SMBDOTCONFDOC)/parameters.global.xml
$(SMBDOTCONFDOC)/parameters.all.xml: $(shell find $(SMBDOTCONFDOC) -type f -name '*.xml' -mindepth 2 | sort -t/ -k3 | xargs) $(SMBDOTCONFDOC)/generate-file-list.sh
$(SMBDOTCONFDOC)/generate-file-list.sh $(SMBDOTCONFDOC) > $@
@ -240,7 +247,7 @@ $(SMBDOTCONFDOC)/parameters.global.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SM
$(SMBDOTCONFDOC)/parameters.service.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/generate-context.xsl
$(XSLTPROC) --xinclude --param smb.context "'S'" --output $(SMBDOTCONFDOC)/parameters.service.xml $(SMBDOTCONFDOC)/generate-context.xsl $<
$(MANDIR)/%: $(DOCBOOKDIR)/%.xml xslt/man.xsl
$(OUTPUTDIR)/%: $(DOCBOOKDIR)/%.xml xslt/man.xsl
mkdir -p $(@D)
$(XSLTPROC) --output $@ xslt/man.xsl $<

View File

@ -28,9 +28,9 @@ OUTPUTDIR = output
ARCHIVEDIR = archive
TEXINFODIR = $(OUTPUTDIR)/texi
SRCDIR = @SAMBASOURCEDIR@
MANDIR = $(OUTPUTDIR)/manpages-3
EPSTOPDF = @EPSTOPDF@
MANPAGEDIR = manpages-3
MANPAGEDIR3 = manpages-3
MANPAGEDIR4 = manpages-4
MAKEINDEX = @MAKEINDEX@
EXAMPLESDIR = $(OUTPUTDIR)/examples
SMBDOTCONFDOC = smbdotconf

View File

@ -6,6 +6,7 @@
!== Updates: Jelmer Vernooij, jelmer@samba.org, Aug, 2002
!== Updates: Jelmer Vernooij, jelmer@samba.org, Jun, 2003
!== Updates: Jelmer Vernooij, jelmer@samba.org, May, 2004
!== Updates: Jelmer Vernooij, jelmer@samba.org, May, 2005
Quick start
-----------

View File

@ -0,0 +1,4 @@
<chapter id="ad-dc">
<title>Active Directory - Domain Controller</title>
</chapter>

View File

@ -0,0 +1,4 @@
<chapter id="ad-member">
<title>Active Directory - Member</title>
</chapter>

View File

@ -0,0 +1,4 @@
<chapter id="authentication">
<title>Authentication</title>
</chapter>

View File

@ -0,0 +1,4 @@
<chapter id="cifsfs">
<title>CIFSFS</title>
</chapter>

View File

@ -0,0 +1,24 @@
<chapter id="compiling">
<title>Compiling</title>
<sect1>
<title>Downloading the source - Tar Ball</title>
</sect1>
<sect1>
<title>Downloading the source - Subversion</title>
</sect1>
<sect1>
<title>Compiling the source</title>
</sect1>
<sect1>
<title>Installing</title>
</sect1>
</chapter>

View File

@ -0,0 +1,5 @@
<chapter id="config">
<title>Configuration</title>
<para>Chapter describing Samba's configuration in detail.</para>
</chapter>

View File

@ -0,0 +1,4 @@
<chapter id="bdc">
<title>Backup Domain Controller</title>
</chapter>

View File

@ -0,0 +1,2 @@
<chapter id="domain-member">
</chapter>

View File

@ -0,0 +1 @@
<chapter id="domain-pdc"/>

View File

137
docs/Samba4-HOWTO/index.xml Normal file
View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<book id="Samba-HOWTO"
xmlns:xi="http://www.w3.org/2003/XInclude">
<title>The Official Samba-4 HOWTO</title>
<bookinfo>
<authorgroup>
<editor>&person.jelmer;</editor>
</authorgroup>
<pubdate><?latex \today ?></pubdate>
</bookinfo>
<?latex \setcounter{page}{5} ?>
<preface>
<title>Attribution</title>
<para>
<xi:include href="../Samba4-HOWTO-attributions.xml"/>
</para>
</preface>
<?latex \cleardoublepage ?>
<!-- Contents -->
<toc/>
<?latex \cleardoublepage ?>
<part>
<title>Introduction to SMB networks</title>
<para>Not everybody is already familiar with SMB networks and the jargon
used in such networks. This part describes the evolution of SMB,
how the protocol is structured and what Samba can be used for. </para>
<para>NT admins, already familiar with SMB networks, are probably only
interested in the chapter about Samba itself.</para>
<xi:include href="protocol.xml"/>
<xi:include href="samba.xml"/>
</part>
<part>
<title>Samba 4 Basics</title>
<para>FIXME</para>
<xi:include href="config.xml"/>
<xi:include href="ldb.xml"/>
</part>
<part>
<title>Network model</title>
<para>
A SMB server is used in a certain network type
(workgroup, domain, active directory) with a specific
role (stand-alone, primary domain controller, backup domain controller, etc) in that network. Samba has to be configured according to that role.
Each of the chapters in this part describes how to configure Samba
for a specific role.
</para>
</part>
<part>
<title>Network Model: Share-based security</title>
<xi:include href="security=share.xml"/>
</part>
<part>
<title>Network Model: User-based security</title>
<xi:include href="security=user.xml"/>
</part>
<part id="domain">
<title>Network Model: NT4-style domains</title>
<xi:include href="domain-pdc.xml"/>
<xi:include href="domain-bdc.xml"/>
<xi:include href="domain-member.xml"/>
</part>
<part id="ad">
<title>Network Model - Active Directory</title>
<xi:include href="ad-dc.xml"/>
<xi:include href="ad-member.xml"/>
</part>
<part>
<title>Common services</title>
<para>
Independent of the role the server has, it can provide services.
Examples of services are printing, user management, authentication, etc.
</para>
<xi:include href="shares.xml"/>
<xi:include href="printing.xml"/>
<xi:include href="auth.xml"/>
<xi:include href="registry.xml"/>
</part>
<part>
<title>Clients</title>
<para>Samba includes a number of different clients for accessing
SMB file, print and other services. Pretty much every service can
be access using a command-line utility, though there are several
GUI clients available as well.</para>
<xi:include href="smbclient.xml"/>
<xi:include href="cifsfs.xml"/>
<xi:include href="gui-clients.xml"/>
</part>
<part>
<title>Appendices</title>
<xi:include href="compiling.xml"/>
</part>
<lot/>
<?latex \include{gpl}?>
<!--<xi:include href="../Samba-HOWTO-Collection/glossary.xml"/>-->
<?latex \chaptermark{Subject index} ?>
<index/>
</book>

View File

@ -0,0 +1,11 @@
<chapter id="printing">
<title>Printing</title>
<!--FIXME: Some Windows printing background information -->
<sect1 id="unix">
<title>Unix printing types</title>
</sect1>
</chapter>

View File

@ -0,0 +1,204 @@
<chapter id="protocol">
<title>The SMB/CIFS protocol</title>
<!--
Some parts shamelessly borrowed from myself.
Original on http://jelmer.vernstok.nl/publications/cifs-developments.pdf
-->
<para>
"SMB" (also known as "CIFS") is a
file-sharing protocol that has been used since the mid-eighties.
Most people know SMB as the protocol behind the "Network Neighbourhood"
and remote printing in Windows.
</para>
<para>
Several parts of the protocol are not discussed in this chapter, such
as mailslots, browsing and dfs, to prevent it from getting too complex.
CIFS internals are documented in detail in <citation>Hertel, 2003</citation>.
</para>
<sect1>
<title>History</title>
<sect2>
<title>Invention by IBM</title>
<para>
SMB is not very old, but it has a long history of modifications and extensions.
The original protocol was meant to run over ``NetBIOS'', which was the
name of the DOS interface to a very simple LAN system developed by IBM.
NetBIOS was developed because SNA, IBM's other main
protocol at the time, was much too advanced for use in DOS.
</para>
<para>
The NetBIOS API in these days (early eighties) was nothing more then the
interface to a very simple link-layer protocol
over which several protocols, including SMB, were used. It could do reads and
writes to services on remote hosts, which were identified by case-insensitive
names, and discover all available hosts and services.
</para>
<para>
Dr. Barry Feigenbau, an IBM employee, invented the core of the original SMB protocol,
which he initially named after himself: ``BAF''. He later changed the name to
be ``SMB'' (for ``Server Message Block''). Every packet in the protocol
starts with a byte $0xFF$ and these three letters.
</para>
<para>
IBM, Microsoft, 3Com and Intel made up the rest of the initial protocol
together. The commands the protocol supported at this stage were basically
a mirror of the DOS File IO API calls, which meant the protocol wasn't very
efficient. The protocol also lacked authentication support. Everybody on the
network could do reads and writes, which meant this protocol
wasn't very suitable for large enterprises.
</para>
<para>
NetBIOS is an API that has had various implementations; there is
NetBIOS over TCP/IP (NBT), NetBIOS over IPX, NetBIOS over SNA and
even NetBIOS over DECNEt. Mostly used these days is
NetBIOS over TCP (NBT).
</para>
<para>
This is also were things are starting to get hairy. Since NetBIOS identifies
hosts by their name, NetBIOS clients had to start doing IP broadcasts to
figure out the IP of the host they had to connect to. Several schemes were
introduced to do name lookups crossing subnet boundaries, using name servers,
etc. We're basically emulating a NetBIOS LAN in order to be able to run SMB.
</para>
<para>
Doing NetBIOS over IP is not very sane, however, the NBT implementation itself
in Windows isn't very nice either. It has horrible
limits, special exceptions, several broken schemes for looking up
names (including two kinds of name servers). NetBIOS and NetBIOS over TCP/IP
are described in RFC1001 and RFC1002.
</para>
</sect2>
<sect2>
<title>The various incarnations of SMB</title>
<para>Over the years, several usage models for SMB have been developed. While SMB originally started out as a file sharing protocol, it was later extended to include support for network management and other network services
as well.</para>
<para>
One of the reasons for the various "upgrades" of the SMB
protocol is the fact that networks have become larger
and larger and with them the need for privilege separation
and scalability has increased.
</para>
<sect3>
<title>DOS</title>
<para>
The original model in which SMB was used was as a
simple file-sharing service in a NetBIOS-environment.
</para>
<para>
File sharing worked basically by specifying a list of directories that had
to be shared and what name they had to be shared under ("shares"). Eventually,
one could password-protect a share. At most one password per share could be set.
</para>
</sect3>
<sect3>
<title>Windows For Workgroups</title>
<para>
After the ``CORE'' dialect,
IBM and Microsoft implemented a new dialect known as ``LANMAN''.
This dialect was used by Windows for
Workgroups, OS/2 and Windows 9x which all know it under a different name. A
'virtual' file system was also added, which was used for doing remote function
calls (RAP, for ``Remote Administration Protocol'').
</para>
<para>
Computers are grouped into "Workgroups" in this model. Everybody is equal to
the others and there is no central point of control.
</para>
</sect3>
<sect3>
<title>Windows NT</title>
<para>
For Windows NT, yet another dialect was added, named 'NT'. The NT dialect
had it's own set of file I/O functions (similar to the NT File I/O API)
and it had support for yet another way of doing remote function calls:
DCE/RPC. RPC's are used for DCOM and several of the subsystems in NT
that can be accessed remotely (registry, printing, user management, logging
on, etc).
</para>
<para>
Windows NT works with a new concept for grouping computers called ``domains''<footnote>In the protocol, domains are actually an upgraded version of a workgroup</footnote>. Each computer is member of exactly one domain. There are several roles a computer can have in the domain: PDC (primary domain controller, the "manager" of the domain, that coordinates all authentication and authorization), BDC (Backup domain controller, in case the PDC goes down) or just a regular domain member. The PDC decides who is to be a member of the domain.
</para>
</sect3>
<sect3>
<title>Windows 2000</title>
<para>
In Windows NT 5 (marketing name: Windows 2000), NetBIOS-less SMB was
introduced. This means SMB is used directly over TCP port 445 instead of
via NetBIOS over TCP/IP. DNS
is used for looking up machine names.
</para>
<para>Windows 2000 was also the first operating system from Microsoft
that had support for Active Directory. Active Directory is very
similar to the "domain" concept used by NT4, though it
is implemented differently (using modified open protocols),
and has some additional features (one of the most important ones being decentralized).
</para>
<para>
Active directory no longer uses a central point of authority
and there are fewer limits to the size of a domain. Several
DC's can exist, so there is no longer a single point of
failure as well as better scalability.
</para>
</sect3>
</sect2>
<sect2>
<title>Samba versions and their support for the SMB models</title>
<sect3>
<title>Samba 2.2</title>
<para>Full CORE and Workgroup support. Somewhat basic
NT4-style support.</para>
</sect3>
<sect3>
<title>Samba 3.0</title>
<para>Full CORE and Workgroup support. Almost complete
NT4-style support.
</para>
</sect3>
<sect3>
<title>Samba 3.2</title>
<para>FIXME</para>
</sect3>
<sect3>
<title>Samba 4.0</title>
<para>Full CORE, Workgroup, NT4 and ADS support.</para>
</sect3>
</sect2>
</sect1>
</chapter>

View File

@ -0,0 +1,4 @@
<chapter id="registry">
<title>Registry</title>
</chapter>

View File

@ -0,0 +1,48 @@
<chapter id="samba">
<title>Samba</title>
<para>
Samba is an Open Source application that provides
an SMB implementation for POSIX-compatible
operating systems.
</para>
<para>
Providing support for a Windows-based file-sharing protocol
on POSIX servers sometimes requires mapping Windows semantics to
POSIX semantics.
</para>
<para>
Samba has always been catching up with Microsoft. Here is a list
of Samba releases and what they support (or will support).
</para>
<sect1>
<title>Samba 2.2</title>
<para>Full CORE and Workgroup support. Somewhat basic
NT4-style support.</para>
</sect1>
<sect1>
<title>Samba 3.0</title>
<para>Full CORE and Workgroup support. Almost complete
NT4-style support.
</para>
</sect1>
<sect1>
<title>Samba 3.2</title>
<para>FIXME</para>
</sect1>
<sect1>
<title>Samba 4.0</title>
<para>Full CORE, Workgroup, NT4 and ADS support.</para>
</sect1>
</chapter>

View File

@ -0,0 +1,8 @@
<chapter id="security=share">
<title>Share-based stand-alone server</title>
<para>
One of the simplest
</para>
</chapter>

View File

@ -0,0 +1,6 @@
<chapter id="security=user">
<title>User-based Stand-alone server</title>
<para></para>
</chapter>

View File

@ -0,0 +1,4 @@
<chapter id="smbclient">
<title>smbclient</title>
</chapter>

View File

@ -83,7 +83,7 @@ DOCS_DEFINE_TARGET(PS, LATEX, [PostScript versions], [ps])
DOCS_DEFINE_TARGET(HTML, ALL, [HTML versions], [html])
DOCS_DEFINE_TARGET(HTMLHELP, ALL, [HTML Help versions], [htmlhelp])
DOCS_DEFINE_TARGET(HTMLMAN, ALL, [HTML versions of the manpages], [htmlman])
DOCS_DEFINE_TARGET(MANPAGES, ALL, [manpages], [manpages])
DOCS_DEFINE_TARGET(MANPAGES, ALL, [manpages], [manpages3 manpages4])
DOCS_DEFINE_TARGET(PEARSON, ALL, [pearson-compatible XML], [pearson])
DOCS_DEFINE_TARGET(PLUCKER, HTML, [plucker versions], [plucker])
DOCS_DEFINE_TARGET(VALIDATE, ALL, [validating docbook output], [])

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,158 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="gentest.1">
<refmeta>
<refentrytitle>gentest</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gentest</refname>
<refpurpose>Run random generic SMB operations against two SMB servers
and show the differences in behavior</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gentest</command>
<arg choice="req">//server1/share1</arg>
<arg choice="req">//server2/share2</arg>
<arg choice="req">-U user%pass</arg>
<arg choice="req">-U user%pass</arg>
<arg choice="opt">-s seed</arg>
<arg choice="opt">-o numops</arg>
<arg choice="opt">-a</arg>
<arg choice="opt">-A</arg>
<arg choice="opt">-i FILE</arg>
<arg choice="opt">-O</arg>
<arg choice="opt">-S FILE</arg>
<arg choice="opt">-L</arg>
<arg choice="opt">-F</arg>
<arg choice="opt">-C</arg>
<arg choice="opt">-X</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para><application>gentest</application> is a utility for
detecting differences in behaviour between SMB servers.
It will run a random set of generic operations against
<parameter>//server1/share1</parameter> and then the same
random set against <parameter>//server2/share2</parameter>
and display the differences in the responses it gets.
</para>
<para>
This utility is used by the Samba team to find differences in
behaviour between Samba and Windows servers.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-U user%pass</term>
<listitem><para>
Specify the user and password to use when logging on
on the shares. This parameter is mandatory and has to
be specified twice.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-s seed</term>
<listitem><para>
Seed the random number generator with the specified value.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-o numops</term>
<listitem><para>Set the number of operations to perform.</para></listitem>
</varlistentry>
<varlistentry>
<term>-a</term>
<listitem><para>Print the operations that are performed. </para></listitem>
</varlistentry>
<varlistentry>
<term>-A</term>
<listitem><para>Backtrack to find minimal number of operations
required to make the response to a certain call differ.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-i FILE</term>
<listitem><para>
Specify a file containing the names of fields that
have to be ignored (such as time fields). See
below for a description of the file format.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-O</term>
<listitem><para>Enable oplocks.</para></listitem>
</varlistentry>
<varlistentry>
<term>-S FILE</term>
<listitem><para>Set preset seeds file. The default is <filename>gentest_seeds.dat</filename>.</para></listitem>
</varlistentry>
<varlistentry>
<term>-L</term>
<listitem><para>Use preset seeds</para></listitem>
</varlistentry>
<varlistentry>
<term>-F</term>
<listitem><para>Fast reconnect (just close files)</para></listitem>
</varlistentry>
<varlistentry>
<term>-C</term>
<listitem><para>Continuous analysis mode</para></listitem>
</varlistentry>
<varlistentry>
<term>-X</term>
<listitem><para>Analyse even when the test succeeded.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>Samba</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>gentest was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="gregedit.1">
<refmeta>
<refentrytitle>gregedit</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gregedit</refname>
<refpurpose>Windows registry file viewer for GTK+</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gregedit</command>
<arg choice="opt">--help</arg>
<arg choice="opt">--backend=BACKEND</arg>
<arg choice="opt">--credentials=CREDENTIALS</arg>
<arg choice="opt">location</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>gregedit is a GTK+ frontend to the Windows registry file support
in Samba4. It currently supports NT4 file, 9x file, gconf, remote
Windows registries and a file system backend.
</para>
<para>gregedit tries to imitate the Windows regedit.exe program as much
as possible.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>--help</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>--backend BACKEND</term>
<listitem><para>Name of backend to load. Possible values are:
w95, nt4, gconf, dir and rpc. The default is <emphasis>dir</emphasis>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--credentials=CREDENTIALS</term>
<listitem><para>
Credentials to use, if any. Password should be separated from user name by a percent sign.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
&man.registry.backends;
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>This manpage and gregedit were written by Jelmer Vernooij. </para>
</refsect1>
</refentry>

120
docs/manpages-4/ldb.7.xml Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ldb.7">
<refmeta>
<refentrytitle>ldb</refentrytitle>
<manvolnum>7</manvolnum>
</refmeta>
<refnamediv>
<refname>ldb</refname>
<refpurpose>Lightweight DataBase</refpurpose>
</refnamediv>
<refsect1>
<title>DESCRIPTION</title>
<para>Ldb is a library providing simple LDAP-like database system that
can use either tdb or LDAP as its backend. It's internal API is similar to
that of LDAP.</para>
<para>ldb is used heavily in Samba 4. It's aim is to provide a LDAP-like
database system at all times, even when no LDAP server is available.
</para>
</refsect1>
<refsect1>
<title>LDB URLS</title>
<para>FIXME</para>
</refsect1>
<refsect1>
<title>FUNCTIONS</title>
<variablelist>
<varlistentry><term>ldb_connect(2)</term>
<listitem><para>
Connect to an LDAP server or local LDB database stored in TDB.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_close(2)</term>
<listitem><para>
Close connection to the server.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_search(2)</term>
<listitem><para>
Search for specified attributes of records that match a LDAP-like search string.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_search_free(2)</term>
<listitem><para>
Free search results.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_add(2)</term>
<listitem><para>
Add records.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_modify(2)</term>
<listitem><para>
Modify records.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_delete(2)</term>
<listitem><para>
Delete records.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_errstring(2)</term>
<listitem><para>
Return extended error information from last call.
</para></listitem>
</varlistentry>
<varlistentry><term>ldb_casefold(2)</term>
<listitem><para>
Casefold a string.
</para></listitem>
</varlistentry>
<!-- FIXME -->
</variablelist>
</refsect1>
<refsect1>
<title>PERFORMANCE</title>
<para>FIXME</para>
</refsect1>
<refsect1>
<title>COMPATIBILITY WITH LDAP</title>
<para>FIXME</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ldap</para>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>ldb was written by Andrew Tridgell. </para>
<para>This manpage was written by Jelmer Vernooij. </para>
</refsect1>
</refentry>

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ldbadd.1">
<refmeta>
<refentrytitle>ldbadd</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ldbadd</refname>
<refpurpose>Command-line utility for adding records to an LDB</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldbadd</command>
<arg choice="opt">-h</arg>
<arg choice="opt">-H LDB-URL</arg>
<arg choice="opt">ldif-file1</arg>
<arg choice="opt">ldif-file2</arg>
<arg choice="opt">...</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>ldbadd adds records to an ldb(7) database. It reads
the ldif(5) files specified on the command line and adds
the records from these files to the LDB database, which is specified
by the -H option or the LDB_URL environment variable.
</para>
<para>If - is specified as a ldb file, the ldif input is read from
standard input.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>-H &lt;ldb-url&gt;</term>
<listitem><para>
LDB URL to connect to. See ldb(7) for details.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry><term>LDB_URL</term>
<listitem><para>LDB URL to connect to (can be overrided by using the
-H command-line option.)</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ldb(7), ldbmodify, ldbdel, ldif(5)</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>ldbadd was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ldbdel.1">
<refmeta>
<refentrytitle>ldbdel</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ldbdel</refname>
<refpurpose>Command-line program for deleting LDB records</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldbdel</command>
<arg choice="opt">-h</arg>
<arg choice="opt">-H LDB-URL</arg>
<arg choice="opt">dn</arg>
<arg choice="opt">...</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>ldbdel deletes records from an ldb(7) database.
It deletes the records identified by the dn's specified
on the command-line. </para>
<para>ldbdel uses either the database that is specified with
the -H option or the database specified by the LDB_URL environment
variable.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>-H &lt;ldb-url&gt;</term>
<listitem><para>
LDB URL to connect to. See ldb(7) for details.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry><term>LDB_URL</term>
<listitem><para>LDB URL to connect to (can be overrided by using the
-H command-line option.)</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ldb(7), ldbmodify, ldbadd, ldif(5)</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>ldbdel was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ldbedit.1">
<refmeta>
<refentrytitle>ldbedit</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ldbedit</refname>
<refpurpose>Edit LDB databases using your favorite editor</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldbedit</command>
<arg choice="opt">-h</arg>
<arg choice="opt">-s base|one|sub</arg>
<arg choice="opt">-b basedn</arg>
<arg chioce="opt">-a</arg>
<arg choice="opt">-e editor</arg>
<arg choice="opt">-H LDB-URL</arg>
<arg choice="opt">expression</arg>
<arg choice="opt">attributes</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>ldbedit is a utility that allows you to edit LDB files using
your favorite editor. ldbedit generates an LDIF file based on
your query, allows you to edit it and then merges it back
into the LDB database.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>-H &lt;ldb-url&gt;</term>
<listitem><para>
LDB URL to connect to. See ldb(7) for details.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-s one|sub|base</term>
<listitem><para>Search scope to use. One-level, subtree or base.</para></listitem>
</varlistentry>
<varlistentry>
<term>-a</term>
<listitem><para>Edit all records. </para></listitem>
</varlistentry>
<varlistentry>
<term>-e editor</term>
<listitem><para>Specify the editor that should be used (overrides
the VISUAL and EDITOR environment variables).</para></listitem>
</varlistentry>
<varlistentry>
<term>-b basedn</term>
<listitem><para>Specify Base DN to use.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry><term>LDB_URL</term>
<listitem><para>LDB URL to connect to (can be overrided by using the
-H command-line option.)</para></listitem>
</varlistentry>
<varlistentry><term>VISUAL and EDITOR</term>
<listitem><para>Environment variables used to determine what
editor to use. If VISUAL isn't set, EDITOR is used.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ldb(7), ldbmodify, ldbdel, ldif(5)</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>ldbedit was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ldbmodify.1">
<refmeta>
<refentrytitle>ldbmodify</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ldbmodify</refname>
<refpurpose>Modify records in a LDB database</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldbmodify</command>
<arg choice="opt">-H LDB-URL</arg>
<arg choice="opt">ldif-file</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>
ldbmodify changes, adds and deletes records in a LDB database.
The changes that should be made to the LDB database are read from
the specified LDIF-file. If - is specified as the filename, input is read from stdin.
</para>
<para>For now, see ldapmodify(1) for details on the LDIF file format.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-H &lt;ldb-url&gt;</term>
<listitem><para>
LDB URL to connect to. See ldb(7) for details.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry><term>LDB_URL</term>
<listitem><para>LDB URL to connect to (can be overrided by using the
-H command-line option.)</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ldb(7), ldbedit</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>ldbmodify was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ldbrename.1">
<refmeta>
<refentrytitle>ldbrename</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ldbrename</refname>
<refpurpose>Edit LDB databases using your favorite editor</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldbrename</command>
<arg choice="opt">-h</arg>
<arg choice="opt">-o options</arg>
<arg choice="req">olddn</arg>
<arg choice="req">newdb</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>ldbrename is a utility that allows you to rename trees in
an LDB database based by DN. This utility takes
two arguments: the original
DN name of the top element and the DN to change it to.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>-H &lt;ldb-url&gt;</term>
<listitem><para>
LDB URL to connect to. See ldb(7) for details.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-o options</term>
<listitem><para>Extra ldb options, such as
modules.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry><term>LDB_URL</term>
<listitem><para>LDB URL to connect to (can be overrided by using the
-H command-line option.)</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ldb(7), ldbmodify, ldbdel, ldif(5)</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>ldbrename was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ldbsearch.1">
<refmeta>
<refentrytitle>ldbsearch</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ldbsearch</refname>
<refpurpose>Search for records in a LDB database</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ldbsearch</command>
<arg choice="opt">-h</arg>
<arg choice="opt">-s base|one|sub</arg>
<arg choice="opt">-b basedn</arg>
<arg chioce="opt">-i</arg>
<arg choice="opt">-H LDB-URL</arg>
<arg choice="opt">expression</arg>
<arg choice="opt">attributes</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>ldbsearch searches a LDB database for records matching the
specified expression (see the ldapsearch(1) manpage for
a description of the expression format). For each
record, the specified attributes are printed.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>-H &lt;ldb-url&gt;</term>
<listitem><para>
LDB URL to connect to. See ldb(7) for details.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-s one|sub|base</term>
<listitem><para>Search scope to use. One-level, subtree or base.</para></listitem>
</varlistentry>
<varlistentry>
<term>-i</term>
<listitem><para>Read search expressions from stdin. </para></listitem>
</varlistentry>
<varlistentry>
<term>-b basedn</term>
<listitem><para>Specify Base DN to use.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry><term>LDB_URL</term>
<listitem><para>LDB URL to connect to (can be overrided by using the
-H command-line option.)</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ldb(7), ldbedit</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>ldbsearch was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="locktest.1">
<refmeta>
<refentrytitle>locktest</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>locktest</refname>
<refpurpose>Find differences in locking between two SMB servers</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>locktest</command>
<arg choice="req">//server1/share1</arg>
<arg choice="req">//server2/share2</arg>
<arg choice="opt">-U user%pass</arg>
<arg choice="opt">-U user%pass</arg>
<arg choice="opt">-s seed</arg>
<arg choice="opt">-o numops</arg>
<arg choice="opt">-a</arg>
<arg choice="opt">-O</arg>
<arg choice="opt">-E</arg>
<arg choice="opt">-Z</arg>
<arg choice="opt">-R range</arg>
<arg choice="opt">-B base</arg>
<arg choice="opt">-M min</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para><application>locktest</application> is a utility for
detecting differences in behaviour in locking between SMB servers.
It will run a random set of locking operations against
<parameter>//server1/share1</parameter> and then the same
random set against <parameter>//server2/share2</parameter>
and display the differences in the responses it gets.
</para>
<para>
This utility is used by the Samba team to find differences in
behaviour between Samba and Windows servers.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-U user%pass</term>
<listitem><para>
Specify the user and password to use when logging on
on the shares. This parameter can be specified twice
(once for the first server, once for the second).
</para></listitem>
</varlistentry>
<varlistentry>
<term>-s seed</term>
<listitem><para>
Seed the random number generator with the specified value.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-o numops</term>
<listitem><para>Set the number of operations to perform.</para></listitem>
</varlistentry>
<varlistentry>
<term>-a</term>
<listitem><para>Print the operations that are performed. </para></listitem>
</varlistentry>
<varlistentry>
<term>-A</term>
<listitem><para>Backtrack to find minimal number of operations
required to make the response to a certain call differ.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-O</term>
<listitem><para>Enable oplocks.</para></listitem>
</varlistentry>
<varlistentry>
<term>-u</term>
<listitem><para>Hide unlock fails.</para></listitem>
</varlistentry>
<varlistentry>
<term>-E</term>
<listitem><para>enable exact error code checking</para></listitem>
</varlistentry>
<varlistentry>
<term>-Z</term>
<listitem><para>enable the zero/zero lock</para></listitem>
</varlistentry>
<varlistentry>
<term>-R range</term>
<listitem><para>set lock range</para></listitem>
</varlistentry>
<varlistentry>
<term>-B base</term>
<listitem><para>set lock base</para></listitem>
</varlistentry>
<varlistentry>
<term>-M min</term>
<listitem><para>set min lock length</para></listitem>
</varlistentry>
<varlistentry>
<term>-k</term>
<listitem><para>Use kerberos</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>Samba</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>locktest was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="masktest.1">
<refmeta>
<refentrytitle>masktest</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>masktest</refname>
<refpurpose>Find differences in wildcard matching between
Samba's implementation and that of a remote server.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>masktest</command>
<arg choice="req">//server/share</arg>
<arg choice="opt">-U user%pass</arg>
<arg choice="opt">-d debuglevel</arg>
<arg choice="opt">-W workgroup</arg>
<arg choice="opt">-n numloops</arg>
<arg choice="opt">-s seed</arg>
<arg choice="opt">-a</arg>
<arg choice="opt">-E</arg>
<arg choice="opt">-M max protocol</arg>
<arg choice="opt">-f filechars</arg>
<arg choice="opt">-m maskchars</arg>
<arg choice="opt">-v</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para><application>masktest</application> is a utility for
detecting differences in behaviour between Samba's
own implementation and that of a remote server.
It will run generate random filenames/masks and
check if these match the same files they do on the remote file as
they do on the local server. It will display any differences it finds.
</para>
<para>
This utility is used by the Samba team to find differences in
behaviour between Samba and Windows servers.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-U user%pass</term>
<listitem><para>
Specify the user and password to use when logging on
on the shares. This parameter can be specified twice
(once for the first server, once for the second).
</para></listitem>
</varlistentry>
<varlistentry>
<term>-s seed</term>
<listitem><para>
Seed the random number generator with the specified value.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-n numops</term>
<listitem><para>Set the number of operations to perform.</para></listitem>
</varlistentry>
<varlistentry>
<term>-a</term>
<listitem><para>Print the operations that are performed. </para></listitem>
</varlistentry>
<varlistentry>
<term>-M max_protocol</term>
<listitem><para>
Maximum protocol to use.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-f</term>
<listitem><para>Specify characters that can be used
when generating file names. Default: abcdefghijklm.</para></listitem>
</varlistentry>
<varlistentry>
<term>-E</term>
<listitem><para>Abort when difference in behaviour is found.</para></listitem>
</varlistentry>
<varlistentry>
<term>-m maskchars</term>
<listitem><para>Specify characters used for wildcards.</para></listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem><para>Be verbose</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>Samba</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>masktest was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ndrdump.1">
<refmeta>
<refentrytitle>ndrdump</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ndrdump</refname>
<refpurpose>DCE/RPC Packet Parser and Dumper</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ndrdump</command>
<arg choice="opt">-c context</arg>
<arg choice="req">pipe</arg>
<arg choice="req">function</arg>
<arg choice="req">in|out</arg>
<arg choice="req">filename</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>ndrdump</command>
<arg choice="opt">pipe</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>ndrdump</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>ndrdump tries to parse the specified <replaceable>filename</replaceable>
using Samba's parser for the specified pipe and function. The
third argument should be
either <emphasis>in</emphasis> or <emphasis>out</emphasis>, depending
on whether the data should be parsed as a request or a reply.</para>
<para>Running ndrdump without arguments will list the pipes for which
parsers are available.</para>
<para>Running ndrdump with one argument will list the functions that
Samba can parse for the specified pipe.</para>
<para>The primary function of ndrdump is debugging Samba's internal
DCE/RPC parsing functions. The file being parsed is usually
one exported by ethereal's <quote>Export selected packet bytes</quote>
function.</para>
<para>The context argument can be used to load context data from the request
packet when parsing reply packets (such as array lengths).</para>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>ethereal, pidl</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>ndrdump was written by Andrew Tridgell. </para>
<para>This manpage was written by Jelmer Vernooij. </para>
</refsect1>
</refentry>

View File

@ -0,0 +1,269 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="ntlm-auth.1">
<refmeta>
<refentrytitle>ntlm_auth</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>ntlm_auth</refname>
<refpurpose>tool to allow external access to Winbind's NTLM authentication function</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ntlm_auth</command>
<arg choice="opt">-d debuglevel</arg>
<arg choice="opt">-l logdir</arg>
<arg choice="opt">-s &lt;smb config file&gt;</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
<manvolnum>7</manvolnum></citerefentry> suite.</para>
<para><command>ntlm_auth</command> is a helper utility that authenticates
users using NT/LM authentication. It returns 0 if the users is authenticated
successfully and 1 if access was denied. ntlm_auth uses winbind to access
the user and authentication data for a domain. This utility
is only indended to be used by other programs (currently squid).
</para>
</refsect1>
<refsect1>
<title>OPERATIONAL REQUIREMENTS</title>
<para>
The <citerefentry><refentrytitle>winbindd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> daemon must be operational
for many of these commands to function.</para>
<para>Some of these commands also require access to the directory
<filename>winbindd_privileged</filename> in
<filename>$LOCKDIR</filename>. This should be done either by running
this command as root or providing group access
to the <filename>winbindd_privileged</filename> directory. For
security reasons, this directory should not be world-accessable. </para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>--helper-protocol=PROTO</term>
<listitem><para>
Operate as a stdio-based helper. Valid helper protocols are:
</para>
<variablelist>
<varlistentry>
<term>squid-2.4-basic</term>
<listitem><para>
Server-side helper for use with Squid 2.4's basic (plaintext)
authentication. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>squid-2.5-basic</term>
<listitem><para>
Server-side helper for use with Squid 2.5's basic (plaintext)
authentication. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>squid-2.5-ntlmssp</term>
<listitem><para>
Server-side helper for use with Squid 2.5's NTLMSSP
authentication. </para>
<para>Requires access to the directory
<filename>winbindd_privileged</filename> in
<filename>$LOCKDIR</filename>. The protocol used is
described here: <ulink
url="http://devel.squid-cache.org/ntlm/squid_helper_protocol.html">http://devel.squid-cache.org/ntlm/squid_helper_protocol.html</ulink>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ntlmssp-client-1</term>
<listitem><para>
Cleint-side helper for use with arbitary external
programs that may wish to use Samba's NTLMSSP
authentication knowlege. </para>
<para>This helper is a client, and as such may be run by any
user. The protocol used is
effectivly the reverse of the previous protocol.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>gss-spnego</term>
<listitem><para>
Server-side helper that implements GSS-SPNEGO. This
uses a protocol that is almost the same as
<command>squid-2.5-ntlmssp</command>, but has some
subtle differences that are undocumented outside the
source at this stage.
</para>
<para>Requires access to the directory
<filename>winbindd_privileged</filename> in
<filename>$LOCKDIR</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>gss-spnego-client</term>
<listitem><para>
Client-side helper that implements GSS-SPNEGO. This
also uses a protocol similar to the above helpers, but
is currently undocumented.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>--username=USERNAME</term>
<listitem><para>
Specify username of user to authenticate
</para></listitem>
</varlistentry>
<varlistentry>
<term>--domain=DOMAIN</term>
<listitem><para>
Specify domain of user to authenticate
</para></listitem>
</varlistentry>
<varlistentry>
<term>--workstation=WORKSTATION</term>
<listitem><para>
Specify the workstation the user authenticated from
</para></listitem>
</varlistentry>
<varlistentry>
<term>--challenge=STRING</term>
<listitem><para>NTLM challenge (in HEXADECIMAL)</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--lm-response=RESPONSE</term>
<listitem><para>LM Response to the challenge (in HEXADECIMAL)</para></listitem>
</varlistentry>
<varlistentry>
<term>--nt-response=RESPONSE</term>
<listitem><para>NT or NTLMv2 Response to the challenge (in HEXADECIMAL)</para></listitem>
</varlistentry>
<varlistentry>
<term>--password=PASSWORD</term>
<listitem><para>User's plaintext password</para><para>If
not specified on the command line, this is prompted for when
required. </para></listitem>
</varlistentry>
<varlistentry>
<term>--request-lm-key</term>
<listitem><para>Retreive LM session key</para></listitem>
</varlistentry>
<varlistentry>
<term>--request-nt-key</term>
<listitem><para>Request NT key</para></listitem>
</varlistentry>
<varlistentry>
<term>--diagnostics</term>
<listitem><para>Perform Diagnostics on the authentication
chain. Uses the password from <command>--password</command>
or prompts for one.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--require-membership-of={SID|Name}</term>
<listitem><para>Require that a user be a member of specified
group (either name or SID) for authentication to succeed.</para>
</listitem>
</varlistentry>
&popt.common.samba;
&stdarg.help;
</variablelist>
</refsect1>
<refsect1>
<title>EXAMPLE SETUP</title>
<para>To setup ntlm_auth for use by squid 2.5, with both basic and
NTLMSSP authentication, the following
should be placed in the <filename>squid.conf</filename> file.
<programlisting>
auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
</programlisting></para>
<note><para>This example assumes that ntlm_auth has been installed into your
path, and that the group permissions on
<filename>winbindd_privileged</filename> are as described above.</para></note>
<para>To setup ntlm_auth for use by squid 2.5 with group limitation in addition to the above
example, the following should be added to the <filename>squid.conf</filename> file.
<programlisting>
auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of='WORKGROUP\Domain Users'
auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of='WORKGROUP\Domain Users'
</programlisting></para>
</refsect1>
<refsect1>
<title>TROUBLESHOOTING</title>
<para>If you're experiencing problems with authenticating Internet Explorer running
under MS Windows 9X or Millenium Edition against ntlm_auth's NTLMSSP authentication
helper (--helper-protocol=squid-2.5-ntlmssp), then please read
<ulink url="http://support.microsoft.com/support/kb/articles/Q239/8/69.ASP">
the Microsoft Knowledge Base article #239869 and follow instructions described there</ulink>.
</para>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 3.0 of the Samba
suite.</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>The original Samba software and related utilities
were created by Andrew Tridgell. Samba is now developed
by the Samba Team as an Open Source project similar
to the way the Linux kernel is developed.</para>
<para>The ntlm_auth manpage was written by Jelmer Vernooij and
Andrew Bartlett.</para>
</refsect1>
</refentry>

516
docs/manpages-4/pidl.1.xml Normal file
View File

@ -0,0 +1,516 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="pidl.1">
<refmeta>
<refentrytitle>pidl</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>pidl</refname>
<refpurpose>IDL Compiler written in Perl</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>pidl</command>
<arg choice="opt">--help</arg>
<arg choice="opt">--output OUTNAME</arg>
<arg choice="opt">--parse</arg>
<arg choice="opt">--dump</arg>
<arg choice="opt">--header</arg>
<arg choice="opt">--parser</arg>
<arg choice="opt">--server</arg>
<arg choice="opt">--template</arg>
<arg choice="opt">--eparser</arg>
<arg choice="opt">--diff</arg>
<arg choice="opt">--keep</arg>
<arg choice="req">idlfile</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>pidl is an IDL compiler written in Perl that aims to be somewhat
compatible with the midl compiler. IDL stands for
"Interface Definition Language".</para>
<para>pidl can generate stubs for DCE/RPC server code, DCE/RPC
client code and ethereal dissectors for DCE/RPC traffic.</para>
<para>IDL compilers like <emphasis>pidl</emphasis> take a description
of an interface as their input and use it to generate C
(though support for other languages may be added later) code that
can use these interfaces, pretty print data sent
using these interfaces, or even generate ethereal
dissectors that can parse data sent over the
wire by these interfaces. </para>
<para>pidl takes IDL files in the same format that is used by midl,
converts it to a .pidl file (which contains pidl's internal representation of the interface) and can then generate whatever output you need.
.pidl files should be used for debugging purposes only. Write your
interface definitions in (midl) .idl format.
</para>
<para>
The goal of pidl is to implement a IDL compiler that can be used
while developing the RPC subsystem in Samba (for
both marshalling/un-marshalling and debugging purposes).</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>--help</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>--output OUTNAME</term>
<listitem><para>Write output files to OUTNAME.*, e.g.
OUTNAME.pidl. If --output is not used, the name of
the input IDL file is used without the extension and the dot
before the extension.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--parse</term>
<listitem><para>
Tell pidl the files specified are (midl-style) IDL files.</para></listitem>
</varlistentry>
<varlistentry>
<term>--dump</term>
<listitem><para>
Convert .pidl files to (midl-style) IDL files. FIle will be named OUTNAME.idl.</para></listitem>
</varlistentry>
<varlistentry>
<term>--header</term>
<listitem><para>
Generate a C header file for the specified interface. File will be named OUTNAME.h.</para></listitem>
</varlistentry>
<varlistentry>
<term>--parser</term>
<listitem><para>
Generate a C file capable of parsing data sent using the interface.
File will be named OUTNAME.c.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--server</term>
<listitem><para>
Generate boilerplate for the RPC server that implements
the interface. Generates OUTNAME_s.c</para></listitem>
</varlistentry>
<varlistentry>
<term>--template</term>
<listitem><para>
Generate stubs for a RPC server that implements
the interface. Output will be written to stdout.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--eparser</term>
<listitem><para>
Generate an Ethereal dissector (in C) for the interface. Output will
be written to packet-dcerpc-OUTNAME.c.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--diff</term>
<listitem><para>
Convert an IDL file to a pidl file and then back to a
IDL file and see if there are any differences with the
original IDL file. Useful for debugging pidl.</para></listitem>
</varlistentry>
<varlistentry>
<term>--keep</term>
<listitem><para>
Tell pidl to keep the pidl files (used as intermediate files
between the IDL files and the parser/server/etc code). Useful
for debugging pidl.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>SYNTAX</title>
<para>IDL files are always preprocessed using the C preprocessor.</para>
<para>Each IDL file describes exactly one interface. Interfaces
can contain several C-like function definitions.</para>
<para>Pretty much everything in an interface (the interface itself,
functions, parameters) can have attributes (or properties
whatever name you give them). Attributes
always prepend the element they apply to and are surrounded
by square brackets ([]). Multiple attributes
are separated by comma's; arguments to attributes are
specified between parentheses. </para>
<para>See the section COMPATIBILITY for the list of attributes that
pidl supports.</para>
<para>C-style comments can be used.</para>
</refsect1>
<refsect1>
<title>MIDL TYPES</title>
<para>
pidl uses slightly different types to midl by default. The following
defines in your MS IDL may make things easier to use the same IDL on
both platforms.
</para>
<programlisting>
#define unistr [string] wchar_t *
#define uint8 char
#define uint16 short
#define uint32 long
#define HYPER_T hyper
</programlisting>
<para>
Let's look at the multiple ways you can encode an array.
</para>
<refsect2>
<title>CONFORMANT ARRAYS</title>
<para>
A conformant array is one with that ends in [*] or []. The strange
things about conformant arrays are:
</para>
<simplelist>
<member>they can only appear as the last element of a structure</member>
<member>the array size appears before the structure itself on the wire. </member>
</simplelist>
<para>
So, in this example:
</para>
<programlisting>
typedef struct {
long abc;
long count;
long foo;
[size_is(count)] long s[*];
} Struct1;
</programlisting>
<para>
it appears like this:
</para>
<programlisting>
[size_is] [abc] [count] [foo] [s...]
</programlisting>
<para>
the first [size_is] field is the allocation size of the array, and
occurs before the array elements and even before the structure
alignment.
</para>
<para>
Note that size_is() can refer to a constant, but that doesn't change
the wire representation. It does not make the array a fixed array.
</para>
<para>
midl.exe would write the above array as the following C header:
</para>
<programlisting>
typedef struct {
long abc;
long count;
long foo;
long s[1];
} Struct1;
</programlisting>
<para>
pidl takes a different approach, and writes it like this:
</para>
<programlisting>
typedef struct {
long abc;
long count;
long foo;
long *s;
} Struct1;
</programlisting>
</refsect2>
<refsect2>
<title>VARYING ARRAYS</title>
<para>
A varying array looks like this:
</para>
<programlisting>
typedef struct {
long abc;
long count;
long foo;
[size_is(count)] long *s;
} Struct1;
</programlisting>
<para>
This will look like this on the wire:
</para>
<programlisting>
[abc] [count] [foo] [PTR_s] [count] [s...]
</programlisting>
</refsect2>
<refsect2>
<title>FIXED ARRAYS</title>
<para>
A fixed array looks like this:
</para>
<programlisting>
typedef struct {
long s[10];
} Struct1;
</programlisting>
<para>
The NDR representation looks just like 10 separate long
declarations. The array size is not encoded on the wire.
</para>
<para>
pidl also supports "inline" arrays, which are not part of the IDL/NDR
standard. These are declared like this:
</para>
<programlisting>
typedef struct {
uint32 foo;
uint32 count;
uint32 bar;
long s[count];
} Struct1;
</programlisting>
<para>
This appears like this:
</para>
<programlisting>
[foo] [count] [bar] [s...]
</programlisting>
<para>
Fixed arrays are an extension added to support some of the strange
embedded structures in security descriptors and spoolss.
</para>
</refsect2>
</refsect1>
<refsect1>
<title>COMPATIBILITY WITH MIDL</title>
<refsect2>
<title>Asynchronous communication</title>
<!--FIXME-->
</refsect2>
<refsect2>
<title>Typelibs (.tlb files)</title>
<!-- FIXME -->
</refsect2>
<refsect2>
<title>Pointers</title>
<para>Pidl does not support "full" pointers in the DCE meaning of the word. However, its "unique" pointer is compatible with MIDL's full ("ptr") pointer support. </para>
<para>Pidl does not assume all top level pointers for functions are
"ref".</para>
</refsect2>
<refsect2>
<title>Datagram support</title>
<para>ncadg is not supported yet.</para>
</refsect2>
<refsect2>
<title>Supported properties (attributes is the MIDL term)</title>
<para>
in, out, ref, length_is, switch_is, size_is, uuid, case, default, string, unique, ptr, pointer_default, v1_enum, object, helpstring, range, local, call_as, endpoint, switch_type, progid, coclass, iid_is.
</para>
</refsect2>
<refsect2>
<title>PIDL Specific properties</title>
<variablelist>
<varlistentry><term>public</term>
<listitem><para>
The [public] property on a structure or union is a pidl extension that
forces the generated pull/push functions to be non-static. This allows
you to declare types that can be used between modules. If you don't
specify [public] then pull/push functions for other than top-level
functions are declared static.
</para></listitem>
</varlistentry>
<varlistentry><term>noprint</term>
<listitem><para>
The [noprint] property is a pidl extension that allows you to specify
that pidl should not generate a ndr_print_*() function for that
structure or union. This is used when you wish to define your own
print function that prints a structure in a nicer manner. A good
example is the use of [noprint] on dom_sid, which allows the
pretty-printing of SIDs.
</para></listitem>
</varlistentry>
<varlistentry><term>value</term>
<listitem><para>
The [value(expression)] property is a pidl extension that allows you
to specify the value of a field when it is put on the wire. This
allows fields that always have a well-known value to be automatically
filled in, thus making the API more programmer friendly. The
expression can be any C expression, although if you refer to variables
in the current structure you will need to dereference them with
r->. See samr_Name as a good example.
</para></listitem>
</varlistentry>
<varlistentry><term>relative</term>
<listitem><para>
The [relative] property can be supplied on a pointer. When it is used
it declares the pointer as a spoolss style "relative" pointer, which
means it appears on the wire as an offset within the current
encapsulating structure. This is not part of normal IDL/NDR, but it is
a very useful extension as it avoids the manual encoding of many
complex structures.
</para></listitem>
</varlistentry>
<varlistentry><term>subcontext(length)</term>
<listitem><para>
Specifies that a size of <replaceable>length</replaceable>
bytes should be read, followed by a blob of that size,
which will be parsed as NDR.
</para></listitem>
</varlistentry>
<varlistentry><term>flag</term>
<listitem><para>
Specify boolean options, mostly used for
low-level NDR options. Several options
can be specified using the | character.
Note that flags are inherited by substructures!
</para></listitem>
</varlistentry>
<varlistentry><term>nodiscriminant</term>
<listitem><para>
The [nodiscriminant] property on a union means that the usual uint16
discriminent field at the start of the union on the wire is
omitted. This is not normally allowed in IDL/NDR, but is used for some
spoolss structures.
</para></listitem>
</varlistentry>
<varlistentry><term>align</term>
<listitem><para>
Force the alignment of the field this attribute is placed
on to the number of bytes specified.
</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
<title>Unsupported MIDL properties</title>
<para>aggregatable, appobject, async_uuid, bindable, control, cpp_quote, defaultbind, defaultcollelem, defaultvalue, defaultvtable, dispinterface, displaybind, dual, entry, first_is, helpcontext, helpfile, helpstringcontext, helpstringdll, hidden, idl_module, idl_quote, id, immediatebind, importlib, import, include, includelib, last_is, lcid, licensed, max_is, module, ms_union, no_injected_text, nonbrowsable, noncreatable, nonextensible, odl, oleautomation, optional, pragma, propget, propputref, propput, readonly, requestedit, restricted, retval, source, transmit_as, uidefault, usesgetlasterror, vararg, vi_progid, wire_marshal. </para>
</refsect2>
</refsect1>
<refsect1>
<title>BUGS</title>
<itemizedlist>
<listitem><para>Input should be validated better.</para></listitem>
</itemizedlist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para><ulink url="http://msdn.microsoft.com/library/en-us/rpc/rpc/field_attributes.asp">Field Attributes [Remote Procedure Call]</ulink>, ethereal</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>pidl was written by Andrew Tridgell, Stefan Metzmacher, Tim
Potter and Jelmer Vernooij. </para>
<para>This manpage was written by Andrew Tridgell and Jelmer Vernooij. </para>
</refsect1>
</refentry>

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="regdiff.1">
<refmeta>
<refentrytitle>regdiff</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>regdiff</refname>
<refpurpose>Diff program for Windows registry files</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>regdiff</command>
<arg choice="opt">--help</arg>
<arg choice="opt">--backend=BACKEND</arg>
<arg choice="opt">--backend=BACKEND</arg>
<arg choice="opt">--credentials=CREDENTIALS</arg>
<arg choice="opt">--credentials=CREDENTIALS</arg>
<arg choice="opt">location</arg>
<arg choice="opt">location</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>regdiff compares two Windows registry files key by key
and value by value and generates a text file that contains the
differences between the two files.</para>
<para>A file generated by regdiff can later be applied to a
registry file by the regpatch utility. </para>
<para>regdiff and regpatch use the same file format as
the regedit32.exe utility from Windows.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>--help</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>--backend BACKEND</term>
<listitem><para>Name of backend to load. Possible values are:
w95, nt4, gconf, dir and rpc. The default is <emphasis>dir</emphasis>.
</para>
<para>
This argument can be specified twice: once for the first
registry file and once for the second.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--credentials=CREDENTIALS</term>
<listitem><para>
Credentials to use, if any. Password should be separated from user name by a percent sign.
</para>
<para>
This argument can be specified twice: once for the first
registry file and once for the second.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
&man.registry.backends;
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>gregedit, regshell, regpatch, regtree, samba, patch, diff</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>This manpage and regdiff were written by Jelmer Vernooij. </para>
</refsect1>
</refentry>

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="regpatch.1">
<refmeta>
<refentrytitle>regpatch</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>regpatch</refname>
<refpurpose>Applies registry patches to registry files</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>regpatch</command>
<arg choice="opt">--help</arg>
<arg choice="opt">--backend=BACKEND</arg>
<arg choice="opt">--credentials=CREDENTIALS</arg>
<arg choice="opt">location</arg>
<arg choice="opt">patch-file</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>The regpatch utility applies registry patches to Windows registry
files. The patch files should have the same format as is being used
by the regdiff utility and regedit32.exe from Windows.</para>
<para>If no patch file is specified on the command line,
regpatch attempts to read it from standard input.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>--help</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>--backend BACKEND</term>
<listitem><para>Name of backend to load. Possible values are:
w95, nt4, gconf, dir and rpc. The default is <emphasis>dir</emphasis>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--credentials=CREDENTIALS</term>
<listitem><para>
Credentials to use, if any. Password should be separated from user name by a percent sign.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
&man.registry.backends;
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>regdiff, regtree, regshell, gregedit, samba, diff, patch</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>This manpage and regpatch were written by Jelmer Vernooij. </para>
</refsect1>
</refentry>

View File

@ -0,0 +1,188 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="regshell.1">
<refmeta>
<refentrytitle>regshell</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>regshell</refname>
<refpurpose>Windows registry file browser using readline</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>regshell</command>
<arg choice="opt">--help</arg>
<arg choice="opt">--backend=BACKEND</arg>
<arg choice="opt">--credentials=CREDENTIALS</arg>
<arg choice="opt">location</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>
regshell is a utility that lets you browse thru a Windows registry
file as if you were using a regular unix shell to browse thru a
file system.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>--help</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>--backend BACKEND</term>
<listitem><para>Name of backend to load. Possible values are:
w95, nt4, gconf, dir and rpc. The default is <emphasis>dir</emphasis>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--credentials=CREDENTIALS</term>
<listitem><para>
Credentials to use, if any. Password should be separated from user name by a percent sign.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>COMMANDS</title>
<variablelist>
<varlistentry>
<term>ck|cd &lt;keyname&gt;</term>
<listitem><para>
Go to the specified subkey.
</para></listitem>
</varlistentry>
<varlistentry>
<term>ch|predef [predefined-key-name]</term>
<listitem><para>
Go to the specified predefined key.
</para></listitem>
</varlistentry>
<varlistentry>
<term>list|ls</term>
<listitem><para>
List subkeys and values of the current key.
</para></listitem>
</varlistentry>
<varlistentry>
<term>mkkey|mkdir &lt;keyname&gt;</term>
<listitem><para>
Create a key with the specified <replaceable>keyname</replaceable> as a subkey of the current key.
</para></listitem>
</varlistentry>
<varlistentry>
<term>rmval|rm &lt;valname&gt;</term>
<listitem><para>
Delete the specified value.
</para></listitem>
</varlistentry>
<varlistentry>
<term>rmkey|rmdir &lt;keyname&gt;</term>
<listitem><para>
Delete the specified subkey recursively.
</para></listitem>
</varlistentry>
<varlistentry>
<term>pwd|pwk</term>
<listitem><para>Print the full name of the current key.</para></listitem>
</varlistentry>
<varlistentry>
<term>set|update</term>
<listitem><para>Update the value of a key value. Not implemented at the moment.</para></listitem>
</varlistentry>
<varlistentry>
<term>help|?</term>
<listitem><para>Print a list of available commands.</para></listitem>
</varlistentry>
<varlistentry>
<term>exit|quit</term>
<listitem><para>Leave regshell.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
&man.registry.backends;
<refsect1>
<title>EXAMPLES</title>
<para>Browsing thru a nt4 registry file</para>
<screen>
<userinput>regshell -b nt4 NTUSER.DAT</userinput>
$$$PROTO.HIV> <userinput>ls</userinput>
K AppEvents
K Console
K Control Panel
K Environment
K Identities
K Keyboard Layout
K Network
K Printers
K Software
K UNICODE Program Groups
K Windows 3.1 Migration Status
$$$PROTO.HIV> <userinput>exit</userinput>
</screen>
<para>Listing the subkeys of HKEY_CURRENT_USER\AppEvents on a remote computer:</para>
<screen>
<userinput>regshell --remote=ncacn_np:aurelia -c "jelmer%secret"</userinput>
HKEY_CURRENT_MACHINE> <userinput>predef HKEY_CURRENT_USER</userinput>
HKEY_CURRENT_USER> <userinput>cd AppEvents</userinput>
Current path is: HKEY_CURRENT_USER\AppEvents
HKEY_CURRENT_USER\AppEvents> <userinput>ls</userinput>
K EventLabels
K Schemes
HKEY_CURRENT_USER\AppEvents> <userinput>exit</userinput>
</screen>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>regtree, regdiff, regpatch, gregedit, samba</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>This manpage and regshell were written by Jelmer Vernooij. </para>
</refsect1>
</refentry>

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="regtree.1">
<refmeta>
<refentrytitle>regtree</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>regtree</refname>
<refpurpose>Text-mode registry viewer</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>regtree</command>
<arg choice="opt">--help</arg>
<arg choice="opt">--backend=BACKEND</arg>
<arg choice="opt">--fullpath</arg>
<arg choice="opt">--no-values</arg>
<arg choice="opt">--credentials=CREDENTIALS</arg>
<arg choice="opt">location</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>The regtree utility prints out all the contents of a
Windows registry file. Subkeys are printed with one level
more indentation then their parents. </para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>--help</term>
<listitem><para>
Show list of available options.</para></listitem>
</varlistentry>
<varlistentry>
<term>--backend BACKEND</term>
<listitem><para>Name of backend to load. Possible values are:
w95, nt4, gconf, dir and rpc. The default is <emphasis>dir</emphasis>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>--credentials=CREDENTIALS</term>
<listitem><para>
Credentials to use, if any. Password should be separated from user name by a percent sign.</para></listitem>
</varlistentry>
<varlistentry>
<term>--fullpath</term>
<listitem><para>
Print the full path to each key instead of only its name.
</para>
</listitem>
</varlistentry>
<varlistentry><term>--no-values</term>
<listitem><para>Don't print values, just keys.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
&man.registry.backends;
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>gregedit, regshell, regdiff, regpatch, samba</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>This manpage and regtree were written by Jelmer Vernooij. </para>
</refsect1>
</refentry>

View File

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
<refentry id="smbtorture.1">
<refmeta>
<refentrytitle>smbtorture</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>smbtorture</refname>
<refpurpose>Run a series of tests against a SMB server</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>smbtorture</command>
</cmdsynopsis>
<cmdsynopsis>
<command>smbtorture</command>
<arg choice="req">//server/share</arg>
<arg choice="opt">-d debuglevel</arg>
<arg choice="opt">-U user%pass</arg>
<arg choice="opt">-k</arg>
<arg choice="opt">-N numprocs</arg>
<arg choice="opt">-n netbios_name</arg>
<arg choice="opt">-W workgroup</arg>
<arg choice="opt">-o num_operations</arg>
<arg choice="opt">-e num files(entries)</arg>
<arg choice="opt">-O socket_options</arg>
<arg choice="opt">-m maximum_protocol</arg>
<arg choice="opt">-L</arg>
<arg choice="opt">-c CLIENT.TXT</arg>
<arg choice="opt">-t timelimit</arg>
<arg choice="opt">-C filename</arg>
<arg choice="opt">-A</arg>
<arg choice="opt">-p port</arg>
<arg choice="opt">-s seed</arg>
<arg choice="opt">-f max_failures</arg>
<arg choice="opt">-X</arg>
TEST1 TEST2 ...
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>smbtorture is a testsuite that runs several tests
against a SMB server. All tests are known to succeed
against a Windows 2003 server (?). Smbtorture's primary
goal is finding differences in implementations of the SMB protocol
and testing SMB servers.
</para>
<para>Any number of tests can be specified
on the command-line. If no tests are specified, all tests
are run. </para>
<para>If no arguments are specified at all, all available options
and tests are listed.</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry><term>-d debuglevel</term>
<listitem><para>Use the specified Samba debug level. A higher debug level
means more output.</para></listitem>
</varlistentry>
<varlistentry><term>-U user%pass</term>
<listitem><para>Use the specified username/password combination when logging in to a remote server.</para></listitem>
</varlistentry>
<varlistentry><term>-k</term>
<listitem><para>Use kerberos when authenticating.</para></listitem>
</varlistentry>
<varlistentry><term>-W workgroup</term>
<listitem><para>Use specified name as our workgroup name.</para></listitem>
</varlistentry>
<varlistentry><term>-n netbios_name</term>
<listitem><para>Use specified name as our NetBIOS name.</para></listitem>
</varlistentry>
<varlistentry><term>-O socket_options</term>
<listitem><para>Use specified socket options, equivalent of the smb.conf option <quote>socket options</quote>. See the smb.conf(5) manpage for details.</para></listitem>
</varlistentry>
<varlistentry><term>-m max_protocol</term>
<listitem><para>Specify the maximum SMB dialect that should be used. Possible values are: CORE, COREPLUS, LANMAN1, LANMAN2, NT1</para></listitem>
</varlistentry>
<varlistentry><term>-s seed</term>
<listitem><para>Initialize the randomizer using <replaceable>seed</replaceable> as seed.</para></listitem>
</varlistentry>
<varlistentry><term>-L</term>
<listitem><para>Use oplocks.</para></listitem>
</varlistentry>
<varlistentry><term>-X</term>
<listitem><para>Enable dangerous tests. Use with care! This might crash your server...</para></listitem>
</varlistentry>
<varlistentry><term>-t timelimit</term>
<listitem><para>Specify the NBENCH time limit in seconds. Defaults to 600.</para></listitem>
</varlistentry>
<varlistentry><term>-p ports</term>
<listitem><para>Specify ports to connect to.</para></listitem>
</varlistentry>
<varlistentry><term>-c file</term>
<listitem><para>Read NBENCH commands from <replaceable>file</replaceable> instead of from CLIENT.TXT.</para></listitem>
</varlistentry>
<varlistentry><term>-A</term>
<listitem><para>Show not just OK or FAILED but more detailed
output. Used only by DENY test at the moment.</para></listitem>
</varlistentry>
<varlistentry><term>-C filename</term>
<listitem><para>Load a list of UNC names from the specified filename. Smbtorture instances will connect to a random host from this list.</para></listitem>
</varlistentry>
<varlistentry><term>-N numprocs</term>
<listitem><para>Specify number of smbtorture processes to launch.</para></listitem>
</varlistentry>
<varlistentry><term>-o num_operations</term>
<listitem><para>Number of times some operations should be tried before assuming they're output is consistent (default:100).</para></listitem>
</varlistentry>
<varlistentry><term>-e num_files</term>
<listitem><para>Number of entries to use in certain tests (such as creating X files) (default: 1000).</para></listitem>
</varlistentry>
<varlistentry><term>-f max_failures</term>
<listitem><para>Number of failures before aborting a test (default: 1).</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4.0 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>Samba</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
&man.credits.samba;
<para>smbtorture was written by Andrew Tridgell.</para>
<para>This manpage was written by Jelmer Vernooij.</para>
</refsect1>
</refentry>