diff options
-rw-r--r-- | docs/docbook/devdoc/dev-doc.sgml | 2 | ||||
-rw-r--r-- | docs/docbook/devdoc/printing.sgml | 14 | ||||
-rw-r--r-- | docs/docbook/devdoc/wins.sgml | 79 |
3 files changed, 88 insertions, 7 deletions
diff --git a/docs/docbook/devdoc/dev-doc.sgml b/docs/docbook/devdoc/dev-doc.sgml index 965d7a1ea8..5191ddcb93 100644 --- a/docs/docbook/devdoc/dev-doc.sgml +++ b/docs/docbook/devdoc/dev-doc.sgml @@ -9,6 +9,7 @@ <!ENTITY Tracing SYSTEM "Tracing.sgml"> <!ENTITY cifsntdomain SYSTEM "cifsntdomain.sgml"> <!ENTITY printing SYSTEM "printing.sgml"> +<!ENTITY wins SYSTEM "wins.sgml"> ]> <book id="Samba-Developer-Documentation"> @@ -60,5 +61,6 @@ url="http://www.fsf.org/licenses/gpl.txt">http://www.fsf.org/licenses/gpl.txt</u &Tracing; &cifsntdomain; &printing; +&wins; </book> diff --git a/docs/docbook/devdoc/printing.sgml b/docs/docbook/devdoc/printing.sgml index c95d5460b7..8259fead5f 100644 --- a/docs/docbook/devdoc/printing.sgml +++ b/docs/docbook/devdoc/printing.sgml @@ -23,7 +23,7 @@ of certain features of Windows client printing. <sect1> <title> -Printing Interface to Various Backends +Printing Interface to Various Back ends </title> <para> @@ -39,11 +39,11 @@ in <filename>printing.h</filename>. <listitem><para>delete a job from the queue</para></listitem> <listitem><para>pause a job in the print queue</para></listitem> <listitem><para>result a paused print job in the queue</para></listitem> - <listitem><para>submit a jobn to the print queue</para></listitem> + <listitem><para>submit a job to the print queue</para></listitem> </itemizedlist> <para> -Currently there are only two printing backend implementations +Currently there are only two printing back end implementations defined. </para> @@ -75,7 +75,7 @@ queue contents displayed to clients will be diminished as well. </para> <para> -The list of currently opened print queue TDB's can eb found +The list of currently opened print queue TDB's can be found be examining the list of tdb_print_db structures ( see print_db_head in printing.c ). A queue TDB is opened using the wrapper function printing.c:get_print_db_byname(). The function ensures that smbd @@ -125,7 +125,7 @@ the id reported by lpq. <para> In order to match a 32-bit Windows jobid onto a 16-bit lanman print job -id, smbd uses an in memory TDB to match the former to a number approriate +id, smbd uses an in memory TDB to match the former to a number appropriate for old lanman clients. </para> @@ -180,8 +180,8 @@ clients and not the actual listing from the "lpq command". The NT_DEVICEMODE stored as part of the printjob structure is used to store a pointer to a non-default DeviceMode associated with the print job. The pointer will be non-null when the client included a Device -Mode in the OpePrinterEx() call and subsequently submitted a job for -printing on that sam handle. If the client did not include a Device +Mode in the OpenPrinterEx() call and subsequently submitted a job for +printing on that same handle. If the client did not include a Device Mode in the OpenPrinterEx() request, the nt_devmode field is NULL and the job has the printer's device mode associated with it by default. </para> diff --git a/docs/docbook/devdoc/wins.sgml b/docs/docbook/devdoc/wins.sgml new file mode 100644 index 0000000000..4b5f1e07c4 --- /dev/null +++ b/docs/docbook/devdoc/wins.sgml @@ -0,0 +1,79 @@ +<chapter id="wins"> +<chapterinfo> + <author> + <firstname>Gerald</firstname><surname>Carter</surname> + </author> + <pubdate>October 2002</pubdate> +</chapterinfo> + + +<title>Samba WINS Internals</title> + + +<sect1> +<title>WINS Failover</title> + + +<para> +The current Samba codebase possesses the capability to use groups of WINS +servers that share a common namespace for NetBIOS name registration and +resolution. The formal parameter syntax is +</para> + +<para><programlisting> + WINS_SERVER_PARAM = SERVER [ SEPARATOR SERVER_LIST ] + WINS_SERVER_PARAM = "wins server" + SERVER = ADDR[:TAG] + ADDR = ip_addr | fqdn + TAG = string + SEPARATOR = comma | \s+ + SERVER_LIST = SERVER [ SEPARATOR SERVER_LIST ] +</programlisting></para> + +<para> +A simple example of a valid wins server setting is +</para> + +<para><programlisting> +[global] + wins server = 192.168.1.2 192.168.1.3 +</programlisting></para> + +<para> +In the event that no TAG is defined in for a SERVER in the list, smbd assigns a default +TAG of "*". A TAG is used to group servers of a shared NetBIOS namespace together. Upon +startup, nmbd will attempt to register the netbios name value with one server in each +tagged group. +</para> + +<para> +An example using tags to group WINS servers together is show here. Note that the use of +interface names in the tags is only by convention and is not a technical requirement. +</para> + + +<para><programlisting> +[global] + wins server = 192.168.1.2:eth0 192.1:eth0 192.168.2.2:eth1 +</programlisting></para> + +<para> +Using this configuration, nmbd would attempt to registry the server's NetBIOS name +with one WINS server in each group. Because the "eth0" group has two servers, the +second server would only be used when a registration (or resolution) request to +the first server in that group timed out. +</para> + +<para> +NetBIOS name resolution follows a similar pattern as name registration. When resolving +a NetBIOS name via WINS, smbd and other Samba programs will attempt to query a single WINS +server in a tagged group until either a positive response is obtained at least once or +until a server from every tagged group has responded negatively to the name query request. +If a timeout occurs when querying a specific WINS server, that server is marked as down to +prevent further timeouts and the next server in the WINS group is contacted. Once marked as +dead, Samba will not attempt to contact that server for name registration/resolution queries +for a period of 10 minutes. +</para> + +</sect1> +</chapter> |