diff options
author | Samba Release Account <samba-bugs@samba.org> | 1996-07-07 12:36:18 +0000 |
---|---|---|
committer | Samba Release Account <samba-bugs@samba.org> | 1996-07-07 12:36:18 +0000 |
commit | b50ff657ddc29b81b4aa02a597e5affab197e4f2 (patch) | |
tree | 24cfb5b275e83601dc07cbe2f5f42401c01ec3fa /source/namebrowse.doc | |
parent | b6343dd09cdbc52677975405c2a85595ad152e8c (diff) | |
download | samba-b50ff657ddc29b81b4aa02a597e5affab197e4f2.tar.gz samba-b50ff657ddc29b81b4aa02a597e5affab197e4f2.tar.xz samba-b50ff657ddc29b81b4aa02a597e5affab197e4f2.zip |
tidied up: code shuffling and documentation.
created namedb*.c nameservresp.c nameservreply.c and namepacket.c
added modules to Makefile, downloading dan's current version first :-)
shuffled docs to match source
created more docs
fixed bug in announce_backup() discovered when going nameannounce.doc:
backup list requests to the master browser should be used when samba is
not a master browser; backup list requests to the primary domain
controller should be used when samba is not a primary domain controller.
fixed bug in sync_server: it would never send MasterAnnounce packets.
removed the code that ignored special browser names: these should only
be ignored (except 0x1b names) when broadcasted name queries are sent,
not when directed registration or directed queries are sent samba as a
WINS server. (note: exactly what's going on is still uncertain).
renamed NAME_QUERY_MST_SRV_CHK to NAME_QUERY_PDC_SRV_CHK (more accurate).
renamed NAME_STATUS_MST_SRV_CHK to NAME_STATUS_PDC_SRV_CHK (more accurate).
added secured WINS name registration: a new 'state' NAME_REGISTER_CHALLENGE;
functions send_name_response(), response_name_query_register(); added
sending of WAIT ACKNOWLEDGEMENT packet; added a reply_to_ip field to
the response record structure so that after the name query challenge,
you know who to inform of the outcome of that challenge.
note: these are all currently untested modifications (yikes!)
lkcl
Diffstat (limited to 'source/namebrowse.doc')
-rw-r--r-- | source/namebrowse.doc | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/source/namebrowse.doc b/source/namebrowse.doc new file mode 100644 index 00000000000..889abdacae9 --- /dev/null +++ b/source/namebrowse.doc @@ -0,0 +1,69 @@ +this module deals with queueing servers that samba must sync browse +lists with. it will always issue a name query immediately before +actually carrying out the NetServerEnum call, to ensure that time +is not wasted by a remote server's failure. + +this module was created to minimise the amount of NetServerEnum calls +that samba may be asked to perform, by maintaining the name of a server +for up to a minute after the NetServerEnum call was issued, and +disallowing further NetServerEnum calls to this remote server until +the entry is removed. + +samba can ask for a NetServerEnum call to be issued to grab a remote +server's list of servers and workgroups either in its capacity as +a primary domain controller (domain master browser), as a local +master browser. + +samba does not deal with becoming a backup master browser properly +at present. + + +/************************************************************************* + do_browser_lists() + *************************************************************************/ + +this function is responsible for finding an appropriate entry in the +sync browser cache, initiating a name query (which results in a +NetServerEnum call if there is a positive response), and then +removing all entries that have been actioned and have been around +for over a minute. + + +/************************************************************************* + start_sync_browse_entry() + *************************************************************************/ + +this function is responsible for initiating a name query. if a +positive response is received, then this will result in a +NetServerEnum api call. + +samba will only initiate this process if it is a master browser +for this workgroup. + + +/************************************************************************* + add_browser_entry() + *************************************************************************/ + +this function is responsible for adding a browser into the list of +servers to sync browse lists with. if the server entry has already +been added and syncing browse lists has already been initiated, it +will not be added again. + + +/************************************************************************* + expire_browse_cache() + *************************************************************************/ + +this function is responsible for removing entries that have had the +sync browse list initiated (whether that succeeded or not is beyond +this function's scope) and have been in the cache for a while. + + +/************************************************************************* + add_browse_entry() + *************************************************************************/ + +this function is responsible for adding a new entry into the list +of servers to sync browse lists with at some point in the near future. + |