From d20be2e868015266ef3b33f353e1c9a2e6d6b7e1 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Mon, 30 Sep 2002 21:55:17 +0000 Subject: * adding some notes on the wins failover stuff * fixing some typos after running printing.sgml through ispell --- docs/docbook/devdoc/dev-doc.sgml | 2 + docs/docbook/devdoc/printing.sgml | 14 +++---- docs/docbook/devdoc/wins.sgml | 79 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 7 deletions(-) create mode 100644 docs/docbook/devdoc/wins.sgml diff --git a/docs/docbook/devdoc/dev-doc.sgml b/docs/docbook/devdoc/dev-doc.sgml index 965d7a1ea88..5191ddcb93e 100644 --- a/docs/docbook/devdoc/dev-doc.sgml +++ b/docs/docbook/devdoc/dev-doc.sgml @@ -9,6 +9,7 @@ + ]> @@ -60,5 +61,6 @@ url="http://www.fsf.org/licenses/gpl.txt">http://www.fsf.org/licenses/gpl.txt diff --git a/docs/docbook/devdoc/printing.sgml b/docs/docbook/devdoc/printing.sgml index c95d5460b7c..8259fead5f1 100644 --- a/docs/docbook/devdoc/printing.sgml +++ b/docs/docbook/devdoc/printing.sgml @@ -23,7 +23,7 @@ of certain features of Windows client printing. -Printing Interface to Various Backends +Printing Interface to Various Back ends @@ -39,11 +39,11 @@ in printing.h. delete a job from the queue pause a job in the print queue result a paused print job in the queue - submit a jobn to the print queue + submit a job to the print queue -Currently there are only two printing backend implementations +Currently there are only two printing back end implementations defined. @@ -75,7 +75,7 @@ queue contents displayed to clients will be diminished as well. -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. 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. @@ -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. diff --git a/docs/docbook/devdoc/wins.sgml b/docs/docbook/devdoc/wins.sgml new file mode 100644 index 00000000000..4b5f1e07c4a --- /dev/null +++ b/docs/docbook/devdoc/wins.sgml @@ -0,0 +1,79 @@ + + + + GeraldCarter + + October 2002 + + + +Samba WINS Internals + + + +WINS Failover + + + +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 + + + + 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 ] + + + +A simple example of a valid wins server setting is + + + +[global] + wins server = 192.168.1.2 192.168.1.3 + + + +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. + + + +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. + + + + +[global] + wins server = 192.168.1.2:eth0 192.1:eth0 192.168.2.2:eth1 + + + +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. + + + +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. + + + + -- cgit v1.2.1