1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

52 Commits

Author SHA1 Message Date
Andrew Tridgell
1812dca0ae s4-ipv6: only listen on V4 addresses in the NBT server
NBT doesn't do IPv6
2011-06-06 12:26:10 +10:00
Andrew Bartlett
22cb631b4f s4-interfaces Rename interfaces code so not to conflict with source3/
The iface_count, iface_n_bcast, and load_interfaces functions
conflicted with functions of the same name in source3, so the source4
functions were renamed.  Hopefully we can actually wrap one around the
other in future.

Andrew Bartlett
2011-05-08 12:57:04 +02:00
Andrew Tridgell
6b266b85cf s4-loadparm: 2nd half of lp_ to lpcfg_ conversion
this converts all callers that use the Samba4 loadparm lp_ calling
convention to use the lpcfg_ prefix.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-16 18:24:27 +10:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Andrew Tridgell
fae84f98e3 libutil: moved the networking defines to util_net.h
These were causing thousands of warnings on solaris8
2010-03-26 17:36:02 +11:00
Stefan Metzmacher
cd5e43b327 nbt_server: fix crash bug, the wins client interface may not have a nbtsock
metze
(from samba4wins tree 8035601da7c7e8b65fe1d82c2654c412fa169338)
2009-01-19 07:05:50 +01:00
Stefan Metzmacher
a5b3975cf7 nbt_server: redirect incoming response packets to the correct interface
We may send requests packets (WACK challenges or similar things)
via a different udp socket than the socket we receive the
matching response. We need to setup an unexpected handler
on the nbt sockets and redirect responses to the correct
nbt_socket. (By redirect I mean we use the correct
nbt_socket structure, we're *not* resending the packet
with sendto() via the kernel...)

metze
(from samba4wins tree 7ce8e705e5a9aabb787d17fbec7a078d9d6780dc)
2009-01-19 07:05:44 +01:00
Stefan Metzmacher
c97df0d892 nbt_server: add some debug messages which show the used interfaces addresses
metze
(from samba4wins tree 8eb30add7c95672a85b4084b4a3dbfa78db820c4)
2009-01-19 07:05:26 +01:00
Stefan Metzmacher
ee8f481d94 winsserver: we need to ignore duplicated name register requests.
This fixes the following bug:

While we reply with a WACK response to a client.
Instead of waiting for the final reply some
windows client just resends the request using
the same name_trn_id in the nbt_name_packet.
We handled this as a new request and send a
WACK response (and the challenges) again.
Then the first request gets its final success
response, but the when we try to send the success
for the "second" request we notice that
the record was changed in between and we return
an error.

Windows 2003 (and I assume all other versions as well)
detect the packet is just a resent of a currently pending
request and ignores it.

So we now keep a list of all pending WINS name register
requests which result in a WACK response. On each incoming
name register request we search through the list to find
duplicate requests and ignore them. In theory we should
do that for all requests, but name register requests
are the only requests we response async and only
if we have to go via the WACK code path.

metze
(from samba4wins tree 382e7d384b70d03e9f81c7bb353afaed288d80f0)
2009-01-19 07:05:21 +01:00
Jelmer Vernooij
9565999755 Fix include paths to new location of libutil. 2008-10-11 21:31:42 +02:00
Günther Deschner
13a3971438 s4-nbt: use private_data instead of private.
Guenther
2008-09-23 09:37:24 +02:00
Jelmer Vernooij
c38c2765d1 Remove yet more uses of global_loadparm.
(This used to be commit e01c1e87c0fe9709df7eb5b863f7ce85564174cd)
2008-02-21 17:17:37 +01:00
Jelmer Vernooij
6f2252dace r26401: Don't cache interfaces context in libnetif.
(This used to be commit 9f975417cc66bfd4589da38bfd23731dbe0e6153)
2007-12-21 05:49:32 +01:00
Jelmer Vernooij
c5bf20c5fe r26325: Remove use of global_loadparm in netif.
(This used to be commit e452cb28594f23add7c00247ed39e8323aea78a6)
2007-12-21 05:48:37 +01:00
Jelmer Vernooij
c9f0011bc5 r26265: Use task-provided loadparm context in nbt and rpc servers.
(This used to be commit 75cb7676fd97767ff0f78c7a17acc8574e297e6f)
2007-12-21 05:47:39 +01:00
Jelmer Vernooij
b09047b78e r25624: Remove ipv4_addr hack. Only causes 4 extra includes of system/network.h because we stripped down includes.
(This used to be commit 262c1c23a61f1f4fae13e0a61179fe98b682cecf)
2007-12-21 05:43:00 +01:00
Jelmer Vernooij
cac2379a2f r25546: Convert to standard bool type.
(This used to be commit ac83dbf199fd442fc994d43a6e5e9fda8d4c88b6)
2007-10-10 15:07:52 -05:00
Jelmer Vernooij
37d53832a4 r25398: Parse loadparm context to all lp_*() functions.
(This used to be commit 3fcc960839c6e5ca4de2c3c042f12f369ac5f238)
2007-10-10 15:07:25 -05:00
Jelmer Vernooij
ffeee68e4b r25026: Move param/param.h out of includes.h
(This used to be commit abe8349f9b4387961ff3665d8c589d61cd2edf31)
2007-10-10 15:05:38 -05:00
Andrew Tridgell
0479a2f1cb r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
(This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10 14:59:12 -05:00
Jelmer Vernooij
0329d755a7 r17930: Merge noinclude branch:
* Move dlinklist.h, smb.h to subsystem-specific directories
 * Clean up ads.h and move what is left of it to dsdb/
   (only place where it's used)
(This used to be commit f7afa1cb77f3cfa7020b57de12e6003db7cfcc42)
2007-10-10 14:16:54 -05:00
Stefan Metzmacher
a2eca9174c r17586: merge lib/netif into lib/socket and use -lnsl -lsocket on the
configure check for the interfaces.

should fix the build on some old sun boxes

metze
(This used to be commit f20e251bfd9f1eb7ce5c00739631b1625a2aa467)
2007-10-10 14:15:39 -05:00
Stefan Metzmacher
767685e9fd r14709: allways use the unicast socket of the interface, when reply to DGRAM
requests...

this fixes a bug where I thought windows would try KRB5 via broadcast...

metze
(This used to be commit 0e7b224294ce6a3b5bbdc284181ab496a5a0c058)
2007-10-10 13:59:11 -05:00
Jelmer Vernooij
4ac2be9958 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
(This used to be commit 122835876748a3eaf5e8d31ad1abddab9acb8781)
2007-10-10 13:52:24 -05:00
Andrew Tridgell
048704a7e5 r13505: allow servers to bind to non-broadcast interfaces. Servers now
specifically ask for iface_n_bcast() and have to check if it returns
NULL, in which case it is a non-broadcast interface
(This used to be commit d004e250b6710251ea089ac242775481f13b5c2b)
2007-10-10 13:51:56 -05:00
Stefan Metzmacher
eead6d310b r13007: let our winsclient code register multihomed records with
our winsserver and don't defend our local name against
our own register packets...

this won gave quite confusing logmessages...

metze
(This used to be commit 31ce24d7b1d2945c45c4f5d6376d5041df8b6982)
2007-10-10 13:51:17 -05:00
Andrew Bartlett
f55ea8bb3d r12804: This patch reworks the Samba4 sockets layer to use a socket_address
structure that is more generic than just 'IP/port'.

It now passes make test, and has been reviewed and updated by
metze. (Thankyou *very* much).

This passes 'make test' as well as kerberos use (not currently in the
testsuite).

The original purpose of this patch was to have Samba able to pass a
socket address stucture from the BSD layer into the kerberos routines
and back again.   It also removes nbt_peer_addr, which was being used
for a similar purpose.

It is a large change, but worthwhile I feel.

Andrew Bartlett
(This used to be commit 88198c4881d8620a37086f80e4da5a5b71c5bbb2)
2007-10-10 13:49:57 -05:00
Stefan Metzmacher
ab8cd4470c r12607: fix the build
metze
(This used to be commit 5cc955bf5400a415e462853cff47a69ef206a548)
2007-10-10 13:49:03 -05:00
Stefan Metzmacher
8faa1f4f9a r12577: filter the loopback addresses like this 127.*.*.* and not only 127.0.0.1
metze
(This used to be commit 3b32d8b6b6565d8c5b3f7e653fdc385cc8cb96ef)
2007-10-10 13:48:56 -05:00
Andrew Tridgell
1984ba6ee9 r12535: - simplify string list handling in a couple of places using str_list_add()
- don't reply with 127.0.0.1 in NBT or WINS name queries unless the
  query came in on the loopback interface. Otherwise clients can end
  up talking to themselves, which is not very productive :-)
(This used to be commit df00f8b3428c6d1254e66275c90ae4025cb52c47)
2007-10-10 13:47:53 -05:00
Stefan Metzmacher
ac4ee3e20b r12440: fix crash bugs
metze
(This used to be commit c7049f8bb60d075921e1ac4d04bf1a216cd0a5f2)
2007-10-10 13:47:39 -05:00
Andrew Tridgell
cbb7a47cf2 r11711: fixed the nbt server to use the right interface for outgoing requests
(This used to be commit d87df5fe8e37d3daa3d9cb575450d756dc3d3c8f)
2007-10-10 13:46:16 -05:00
Stefan Metzmacher
fccbbf3546 r10997: r11980@SERNOX (orig r10037): metze | 2005-09-05 14:21:40 +0200
add struct nbt_peer_socket and use it instead of passing const char *addr, uint16 port everyhwere

 (tridge: can you review this please, (make test works)

 metze
(This used to be commit a599d7a4ae881c94be2c2d908a398838549942bb)
2007-10-10 13:39:52 -05:00
Andrew Tridgell
c7304b3ab8 r8285: generate some real stats in the nbt server for the irpc client code to look at
(This used to be commit 73643884a3c76de5a738a28054a168fdb008a9f8)
2007-10-10 13:19:31 -05:00
Andrew Tridgell
b0ca8ed455 r6247: added the server side code for receiving mailslot requests, and
parsing incoming netlogon requests. No replies are sent yet.
(This used to be commit 3b34df6a674cd2aeddc354cdadae3f0e1c000d45)
2007-10-10 13:11:28 -05:00
Andrew Tridgell
a47cb58c2f r6184: the beginnings of the libcli/dgram/ library, and the dgram
server. Currently just listens on port 138 and parses the packets
(using IDL like the rest of NBT). This allows me to develop the
structures and test with real packets
(This used to be commit 10d64a525349ff96695ad961a3cfeb5bc7c8844f)
2007-10-10 13:11:24 -05:00
Andrew Tridgell
0487eee93a r5346: - a bit more preparation for the WINS server going in
- 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-10 13:09:44 -05:00
Andrew Tridgell
30ce2c49c5 r5329: made the nbt server case sensitive
(This used to be commit 895071881920a5d6726f377f4367b588deabfb03)
2007-10-10 13:09:43 -05:00
Andrew Tridgell
bed7c9ec32 r5304: removed lib/socket/socket.h from includes.h
(This used to be commit b902ea546d2d1327b23f40ddaeeaa8e7e3662454)
2007-10-10 13:09:39 -05:00
Andrew Tridgell
b9bb7f596d r5294: - added a separate NBT-WINS test for WINS operations (register, 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-10 13:09:37 -05:00
Andrew Tridgell
998c856d90 r5276: - added support for NBT_OPCODE_REFRESH2 (type 0x9)
- 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-10 13:09:36 -05:00
Andrew Tridgell
fcb78064bf r5260: - show an error message on nmblookup failure
- always try to enable broadcast on nbt name sockets (this matches
  samba3 behaviour better)
(This used to be commit 919bc14e7bbc04479cf11f7a7fd4c5e46616ef46)
2007-10-10 13:09:35 -05:00
Andrew Tridgell
d09311baa7 r5259: make sure we give the ip of the interface that a name query comes in
on as the first IP in a multi-homed reply
(This used to be commit a9128f6544d56a637e28430cbd2907acbb978281)
2007-10-10 13:09:35 -05:00
Andrew Tridgell
a75e9a3ee9 r5251: - renamed the nbtd server side structures to have a nbtd_ prefix, to
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-10 13:09:34 -05:00
Andrew Tridgell
1b27d0ce12 r5212: added checking for receiving our own packets as broadcasts
(This used to be commit 290dbd8cdcfa6a897647768dcbbd03f22fc7cf36)
2007-10-10 13:09:31 -05:00
Andrew Tridgell
9eb33fc212 r5211: added broadcast name defense against both registration and refresh
requests
(This used to be commit 9eafe2cacaef64384febe6bb0938294f7c1ee6bf)
2007-10-10 13:09:31 -05:00
Andrew Tridgell
bd22848ad8 r5210: changed server side nbt functions to be prefixed with nbtd_ instead of
nbt_, so as to more clearly separate them from the client code in
libcli/nbt/
(This used to be commit b07a7e35f26204055a99abf72438b5cd7ec35d3b)
2007-10-10 13:09:31 -05:00
Andrew Tridgell
dc35a0eb4f r5196: fixed sily bug (that metze found)
(This used to be commit 180f29f9e05e75e8ed32d010bc0c57a55ea9d843)
2007-10-10 13:09:30 -05:00
Andrew Tridgell
906ca09578 r5172: actually bind to the right address for the wildcard interface ....
(This used to be commit 7720d247fed3343a5bf39b2eedf34604f9203a37)
2007-10-10 13:09:28 -05:00
Andrew Tridgell
77cdd7c0ff r5171: added support for "bind interfaces only" in nbtd. The solution was to
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-10 13:09:28 -05:00