summaryrefslogtreecommitdiff
path: root/source4/nbt_server/interfaces.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r5346: - a bit more preparation for the WINS server going inAndrew Tridgell1-11/+6
- more NBT packet asserts, to ensure that incoming requests have all the elements we depend on - open the WINS database at startup if we are configured as a WINS server - split out the nbtd server reply packet generation code so it can be shared by the WINS server - re-did the logic of what is answered by the WINS server and what by the B node server. It now always tries to answer by the B node, and only "recurses" to the WINS server for names that are not found. (This used to be commit 5613e6b8ad9b32639caf5055f793dbc4d0a2fc19)
2007-10-10r5329: made the nbt server case sensitiveAndrew Tridgell1-1/+1
(This used to be commit 895071881920a5d6726f377f4367b588deabfb03)
2007-10-10r5304: removed lib/socket/socket.h from includes.hAndrew Tridgell1-0/+1
(This used to be commit b902ea546d2d1327b23f40ddaeeaa8e7e3662454)
2007-10-10r5294: - added a separate NBT-WINS test for WINS operations (register, ↵Andrew Tridgell1-4/+4
refresh, release and query) - change the iface_n_*() functions to return a "const char *" instead of a "struct ipv4_addr" I think that in general we should move towards "const char *" for all IP addresses, as this makes IPv6 much easier, and is also easier to debug. Andrew, when you get a chance, could you fix some of the auth code to use strings for IPs ? - return a NTSTATUS error on bad name queries and node status instead of using rcode. This makes the calling code simpler. - added low level name release code in libcli/nbt/ - use a real IP in the register and wins nbt torture tests, as w2k3 WINS server silently rejects some operations that don't come from the IP being used (eg. it says "yes" to a release, but does not in fact release the name) (This used to be commit bb1ab11d8e0ea0bd9ae34aebeb565d36fe4b495f)
2007-10-10r5276: - added support for NBT_OPCODE_REFRESH2 (type 0x9)Andrew Tridgell1-12/+13
- when registering with a WINS server, initially use multi-homed registration, then switch to name refresh requests. Send refresh requests only to the WINS server that responded to our registration. If that server goes away, then start the registration from scratch. This makes registration more robust to WINS server failure. - send WINS registration requests out on our first interface rather than an unbound interface, to avoid the problem of WACK replies being sent to the wrong port (w2k3 WINS server does this) (This used to be commit f7712ac7468184c07b3e3c10cb7b847ad1791dd2)
2007-10-10r5260: - show an error message on nmblookup failureAndrew Tridgell1-3/+0
- always try to enable broadcast on nbt name sockets (this matches samba3 behaviour better) (This used to be commit 919bc14e7bbc04479cf11f7a7fd4c5e46616ef46)
2007-10-10r5259: make sure we give the ip of the interface that a name query comes inAndrew Tridgell1-6/+23
on as the first IP in a multi-homed reply (This used to be commit a9128f6544d56a637e28430cbd2907acbb978281)
2007-10-10r5251: - renamed the nbtd server side structures to have a nbtd_ prefix, toAndrew Tridgell1-10/+68
be consistent with the function names - added WINS client support to the NBT server. It will do initial WINS registration, and WINS refresh, automatically failing over to secondary WINS servers and handling multi-homed servers where we need to register multiple IPs. - added support for multi-homed name query replies, which are essential for multi-homed registration as the WINS server will query us to ensure we have the names when doing the secondary IPs in multi-homed registration (This used to be commit a1553fa8054dc7d33f5d77f8f95d3ffd90392b2a)
2007-10-10r5212: added checking for receiving our own packets as broadcastsAndrew Tridgell1-0/+6
(This used to be commit 290dbd8cdcfa6a897647768dcbbd03f22fc7cf36)
2007-10-10r5211: added broadcast name defense against both registration and refreshAndrew Tridgell1-0/+13
requests (This used to be commit 9eafe2cacaef64384febe6bb0938294f7c1ee6bf)
2007-10-10r5210: changed server side nbt functions to be prefixed with nbtd_ instead ofAndrew Tridgell1-20/+21
nbt_, so as to more clearly separate them from the client code in libcli/nbt/ (This used to be commit b07a7e35f26204055a99abf72438b5cd7ec35d3b)
2007-10-10r5196: fixed sily bug (that metze found)Andrew Tridgell1-1/+1
(This used to be commit 180f29f9e05e75e8ed32d010bc0c57a55ea9d843)
2007-10-10r5172: actually bind to the right address for the wildcard interface ....Andrew Tridgell1-2/+4
(This used to be commit 7720d247fed3343a5bf39b2eedf34604f9203a37)
2007-10-10r5171: added support for "bind interfaces only" in nbtd. The solution was toAndrew Tridgell1-57/+68
bind twice on each interface, once using the broadcast address and once using the specific IP. We then only listen on the wildcard address if we don't have "bind interface only" set. This also happens to simplify the code that finds the right interface for an incoming request. (This used to be commit b3edf17281c5d82abb40dab817bf2de43f9f6c3f)
2007-10-10r5114: the nbtd task can now act as a basic B-node server. It registers itsAndrew Tridgell1-9/+88
names on the network and answers name queries. Lots of details are still missing, but at least this now means you don't need a Samba3 nmbd to use Samba4. missing pieces include: - name registrations should be "shout 3 times, then demand" - no WINS server yet - no master browser code (This used to be commit d7d31fdc6670f026f96b50e51a4de19f0b920e5b)
2007-10-10r5108: the beginnings of a nbtd server for Samba4. Currently just displaysAndrew Tridgell1-0/+88
the packets it receives, but it at least shows how the server structure will work. To implement it I extended the libcli/nbt/ library to allow for an incoming packet handler to be registered. That allows the nbt client library to be used for low level processing of the nbtd server packets. Other changes: - made the socket library always set SO_REUSEADDR when binding to an interface, to ensure that restarts of a server don't have to wait for a couple of minutes. - made the nbt port configurable. Defaults to 137, but other ports will be useful for testing. (This used to be commit 2fedca6adfd4df9e85cc86896dfa79630777a917)