<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<refentry id="testparm">

<refmeta>
	<refentrytitle>testparm</refentrytitle>
	<manvolnum>1</manvolnum>
</refmeta>


<refnamediv>
	<refname>testparm</refname>
	<refpurpose>check an smb.conf configuration file for 
	internal correctness</refpurpose>
</refnamediv>

<refsynopsisdiv>
	<cmdsynopsis>
		<command>testparm</command>
		<arg choice="opt">-s</arg>
		<arg choice="opt">-h</arg>
		<arg choice="opt">-L &lt;servername&gt;</arg>
		<arg choice="req">config filename</arg>
		<arg choice="opt">hostname  hostIP</arg>
	</cmdsynopsis>
</refsynopsisdiv>

<refsect1>
	<title>DESCRIPTION</title>

	<para>This tool is part of the <ulink url="samba.7.html">
	Samba</ulink> suite.</para>

	<para><command>testparm</command> is a very simple test program 
	to check an <command>smbd</command> configuration file for 
	internal correctness. If this program reports no problems, you 
	can use the configuration file with confidence that <command>smbd
	</command> will successfully load the configuration file.</para>


	<para>Note that this is <emphasis>NOT</emphasis> a guarantee that 
	the services specified in the configuration file will be 
	available or will operate as expected. </para>

	<para>If the optional host name and host IP address are 
	specified on the command line, this test program will run through 
	the service entries reporting whether the specified host
	has access to each service. </para>

	<para>If <command>testparm</command> finds an error in the <filename>
	smb.conf</filename> file it returns an exit code of 1 to the calling 
	program, else it returns an exit code of 0. This allows shell scripts 
	to test the output from <command>testparm</command>.</para>
</refsect1>

<refsect1>
	<title>OPTIONS</title>

	<variablelist>
		<varlistentry>
		<term>-s</term>
		<listitem><para>Without this option, <command>testparm</command> 
		will prompt for a carriage return after printing the service 
		names and before dumping the service definitions.</para></listitem>
		</varlistentry>
		
		
		<varlistentry>
		<term>-h</term>
		<listitem><para>Print usage message </para></listitem>
		</varlistentry>
		
		
		<varlistentry>
		<term>-L servername</term>
		<listitem><para>Sets the value of the %L macro to <replaceable>servername</replaceable>.
		This is useful for testing include files specified with the 
		%L macro. </para></listitem>
		</varlistentry>


		<varlistentry>
		<term>configfilename</term>
		<listitem><para>This is the name of the configuration file 
		to check. If this parameter is not present then the 
		default <filename>smb.conf</filename> file will be checked. 	
		</para></listitem>
		</varlistentry>


		<varlistentry>
		<term>hostname</term>
		<listitem><para>If this parameter and the following are 
		specified, then <command>testparm</command> will examine the <parameter>hosts
		allow</parameter> and <parameter>hosts deny</parameter> 
		parameters in the <filename>smb.conf</filename> file to 
		determine if the hostname with this IP address would be
		allowed access to the <command>smbd</command> server.  If 
		this parameter is supplied, the hostIP parameter must also
		be supplied.</para></listitem>
		</varlistentry>


		<varlistentry>
		<term>hostIP</term>
		<listitem><para>This is the IP address of the host specified 
		in the previous parameter.  This address must be supplied 
		if the hostname parameter is supplied. </para></listitem>
		</varlistentry>
	</variablelist>
</refsect1>

<refsect1>
	<title>FILES</title>

	<variablelist>
		<varlistentry>
		<term><filename>smb.conf</filename></term>
		<listitem><para>This is usually the name of the configuration 
		file used by <command>smbd</command>. 
		</para></listitem>
		</varlistentry>
	</variablelist>
</refsect1>

<refsect1>
	<title>DIAGNOSTICS</title>

	<para>The program will issue a message saying whether the 
	configuration file loaded OK or not. This message may be preceded by 
	errors and warnings if the file did not load. If the file was 
	loaded OK, the program then dumps all known service details 
	to stdout. </para>
</refsect1>


<refsect1>
	<title>VERSION</title>

	<para>This man page is correct for version 2.2 of 
	the Samba suite.</para>
</refsect1>

<refsect1>
	<title>SEE ALSO</title>
	<para><ulink url="smb.conf.5.html"><filename>smb.conf(5)</filename></ulink>, 
	<ulink url="smbd.8.html"><command>smbd(8)</command></ulink>
	</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 original Samba man pages were written by Karl Auer. 
	The man page sources were converted to YODL format (another 
	excellent piece of Open Source software, available at
	<ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
	ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
	release by Jeremy Allison.  The conversion to DocBook for 
	Samba 2.2 was done by Gerald Carter</para>
</refsect1>

</refentry>

