1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

296 Commits

Author SHA1 Message Date
Jeremy Allison
e501c0cd44 Unify the name and addr cache for client_name to
make threading easier ultimately.
Jeremy.
(This used to be commit 48e0725cd6bb976ca799e6b8464c94aeffb1672b)
2007-11-07 12:48:58 -08:00
Jeremy Allison
36441da424 Remove the horror that was the global smb_rw_error.
Each cli struct has it's own local copy of this variable,
so use that in client code. In the smbd server, add one
static to smbd/proccess.c and use that inside smbd. Fix
a bunch of places where smb_rw_error could be set by
calling read_data() in places where we weren't reading
from the SMB client socket (ie. winbindd).
Jeremy.
(This used to be commit 255c2adf7b6ef30932b5bb9f142ccef4a5d3d0db)
2007-11-05 11:12:56 -08:00
Jeremy Allison
536a9e7922 Don't alloc struct iface_struct nics[MAX_INTERFACES]; (128 entries)
on the stack - use talloc.
Jeremy
(This used to be commit b5e37af251a26648b0e4f59ca548c5374399175e)
2007-11-04 22:20:04 -08:00
Jeremy Allison
6a2a27076f This should really be a cond_set_smb_read_error().
Jeremy.
(This used to be commit 5ab76b58c00dde89b56060482f5cdc5d0c6c56cb)
2007-11-04 22:14:19 -08:00
Jeremy Allison
85ff0b2d75 Don't use 0 when we mean SMB_READ_OK.
Jeremy.
(This used to be commit 08ee4314a9e25700288f4ea1af22ee1732dfea61)
2007-11-04 22:12:31 -08:00
Jeremy Allison
5b0b4f23ef Remove most of the remaining globals out of lib/util_sock.c.
I have a plan for dealing with the remaining..... Watch
this space.
Jeremy.
(This used to be commit 963fc7685212689f02b3adcc05b4273ee5c382d4)
2007-11-03 23:20:10 -07:00
Jeremy Allison
51a0354d75 Remove more static data from lib/util_sock.c and
callers.
Jeremy.
(This used to be commit 35aaa36f82c70964cee5d0778eb04547b226dd3f)
2007-11-03 22:34:46 -07:00
Jeremy Allison
56aa420195 Missed one case where I need to pass down addrlen.
Jeremy
(This used to be commit 62b5ca3334598aec3304d21118f67702afc3854a)
2007-11-03 20:27:59 -07:00
Jeremy Allison
25074433f4 I can't get away without a 'length' arg. :-).
Jeremy.
(This used to be commit 95d01279a5def709d0a5d5ae7224d6286006d120)
2007-11-03 18:41:26 -07:00
Jeremy Allison
6658165d5e Stop get_peer_addr() and client_addr() from using global
statics. Part of my library cleanups.
Jeremy.
(This used to be commit e848506c858bd16706c1d7f6b4b032005512b8ac)
2007-11-03 18:15:45 -07:00
Jeremy Allison
73d4079680 Remove the smb_read_error global variable and replace
it with accessor functions. "One global or pstring a day...." :-).
Jeremy.
(This used to be commit d50d14c300abc83b7015718ec48acc8b3227a273)
2007-11-03 15:12:42 -07:00
Jeremy Allison
a45c91ec6a Ensure we use the correct socklen_t values for bind() for
Solaris.
Jeremy.
(This used to be commit 638579d75a2aa00836dc4c0c772381b775944b16)
2007-11-02 14:22:19 -07:00
Jeremy Allison
e075b3692b Fix Solaris by ensuring we use the IPv4 or IPv6 length
in any getnameinfo calls.
Jeremy
(This used to be commit 4d7badb0c44f287034f58d9a412e662c0fbecdc9)
2007-11-02 10:25:34 -07:00
Jeremy Allison
c3250149e1 Add new parameter, "min receivefile size" (by default set
to zero). If non-zero, writeX calls greater than this
value will be left in the socket buffer for later handling
with recvfile (or userspace equivalent). Definition of
recvfile for your system is left as an exercise for
the reader (I'm working on getting splice working :-).
Jeremy.
(This used to be commit 11c03b75ddbcb6e36b231bb40a1773d1c550621c)
2007-10-30 16:22:24 -07:00
Jeremy Allison
d4307679b9 Change all occurrences of zero_addr(&ss,AF_INET) to
zero_addr(&ss). All current uses were always of the
AF_INET form, so simplify the call. If in the future
we need to zero an addr to AF_INET6 this can be
done separately.
Jeremy.
(This used to be commit 2e92418a138bf2738b77b7e0fcb2fa37ad84fc0c)
2007-10-27 20:29:36 -07:00
Jeremy Allison
fc91aa6988 Move the horrible hack for link local addresses out of namequery.c
and into util_sock.c. is_ipaddress() now copes with link:local:v6%ifname
addresses, as does interpret_string_addr().
Jeremy
(This used to be commit a3f7db3d30ced566c8340696914f1be3293a9c5b)
2007-10-26 16:03:20 -07:00
Jeremy Allison
e054affb7b Fix bug in writing names into gencache
as well as 2 typos where AF_INET6 was mistypes as AF_INET.
JERRY YOU NEED THESE FIXES.
Fixes smbclient -L localhost -U%
Bugs reported by Kukks (thanks kukks).
Jeremy.
(This used to be commit f109f82622ca30ae2360e8300152e90b9587ffd8)
2007-10-25 19:07:25 -07:00
Jeremy Allison
6128d116b3 Fix resolve name to resolve IPv6 addresses of link-local%ifaddr
Jeremy.
(This used to be commit e6609cab732d5cd5cc9a5ae50aee15147f2ec6ec)
2007-10-25 18:28:36 -07:00
Jeremy Allison
d58398bd23 When doing reverse lookups actually look up the name, not
just the numeric address (doh!) :-).
Jeremy.
(This used to be commit 9aa9ecd8cc29d055d78f16b8fb2156ec04063c42)
2007-10-25 16:14:52 -07:00
Jeremy Allison
f88b7a076b This is a large patch (sorry). Migrate from struct in_addr
to struct sockaddr_storage in most places that matter (ie.
not the nmbd and NetBIOS lookups). This passes make test
on an IPv4 box, but I'll have to do more work/testing on
IPv6 enabled boxes. This should now give us a framework
for testing and finishing the IPv6 migration. It's at
the state where someone with a working IPv6 setup should
(theorecically) be able to type :
smbclient //ipv6-address/share
and have it work.
Jeremy.
(This used to be commit 98e154c3125d5732c37a72d74b0eb5cd7b6155fd)
2007-10-24 14:16:54 -07:00
Gerald (Jerry) Carter
80b7bcb5fb Add test for "struct in6_addr" to the HAVE_IPV6 configure test.
Also make use of "if defined(HAVE_IPV6)" rather than testing for
AF_INET6 since this is not sufficient on HP-UX 11.11 to ensure
a working IPv6 implementation.
(This used to be commit 620785df4e57b72471ff0315e22e0d2f28a2b1a5)
2007-10-19 13:09:26 -07:00
Jeremy Allison
666f50b01f Move to protocol independent code in most of lib/util_sock.c
We don't use gethostbyname any more except in one case where
we're looking for host aliases (I don't know how to do that
with getaddrinfo yet). New function should be getaddrinfo().
Next step will be fixing lib/access.c, and then changing
libsmb/namequery.c to cope with IPv6 address returns.
Jeremy.
(This used to be commit 4a56b697b6adcf095e25895c4a9ba3192ed34124)
2007-10-15 16:11:48 -07:00
Jeremy Allison
6c8225445b Dummy formatting commit to check I've set up my home git
correctly.
(This used to be commit a1166e9e651f4acdcf7926c5d8e9cf0c9108fe71)
2007-10-12 21:50:41 -07:00
Jeremy Allison
e9cf3a8ca2 Convert get_peer_addr() to IPv6. Only is_myname_or_ipaddr()
lefto to do then I can fix the lib/access.c functions.
Jeremy.
(This used to be commit 3403c6c330b886c86d6d856c3ffc13b043fd6fc1)
2007-10-12 13:38:04 -07:00
Jeremy Allison
cb5436bcc3 Add const to the get_peer_addr() and get_socket_addr()
calls. Use the IPv6 varient for get_peer_addr().
Jeremy.
(This used to be commit baf1f52e34ae2465a7a34be1065da29ed97e7bea)
2007-10-11 15:36:13 -07:00
Jeremy Allison
8e54530b52 Add start of IPv6 implementation. Currently most of this is avoiding
IPv6 in winbindd, but moves most of the socket functions that were
wrongly in lib/util.c into lib/util_sock.c and provides generic
IPv4/6 independent versions of most things. Still lots of work
to do, but now I can see how I'll fix the access check code.
Nasty part that remains is the name resolution code which is
used to returning arrays of in_addr structs.
Jeremy.
(This used to be commit 3f6bd0e1ec5cc6670f3d08f76fc2cd94c9cd1a08)
2007-10-10 18:25:16 -07:00
Gerald (Jerry) Carter
e5a951325a [GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch.
(This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab)
2007-10-10 15:34:30 -05:00
Jeremy Allison
f7055aef17 r25565: Fix unintended consequence change for IPv6 noticed
by Volker. We used to return 0.0.0.0 for the text
address of an uninitialized socket - ensure we
still do so. Once uninitialized address is as
good as any other.
Jeremy.
(This used to be commit 2827bbe0f853d413b6fcb0eb676048c041cea713)
2007-10-10 12:31:14 -05:00
Jeremy Allison
3dbb3d4c26 r25510: Now we're returning the port instead of using a global,
remember to use ntohs. Hopefully will fix the build farm.
Jeremy.
(This used to be commit 5174acccb589edbfbe4ba633f4178f7200d7d6c4)
2007-10-10 12:31:11 -05:00
Jeremy Allison
0d87820380 r25492: Start adding IPv6 compatible code to lib/util_sock.c and deal with
the ripple effects this causes. utmp has to change etc. Remove some
global varables and store address/port in the unexpected db.
Jeremy.
(This used to be commit 18c6a2211d9e25233d01715b3f78977edcd6d869)
2007-10-10 12:31:09 -05:00
Jeremy Allison
31adfe3446 r25473: Reformatting only. Prepare for new ip functions.
Jeremy.
(This used to be commit 2a8f3dd55074eeb3d96a1b478981780651bbe88b)
2007-10-10 12:31:06 -05:00
Volker Lendecke
cc6a41017c r23997: Check in the infrastructure for getting rid of the global InBuffer/OutBuffer
The complete history of this patch can be found under
http://www.samba.org/~vlendec/inbuf-checkin/.

Jeremy, Jerry: If possible I would like to see this in 3.2.0. I'm only
checking into 3_2 at the moment, as it currently will slow down operations for
all non-converted (i.e. all at this moment) operations, as it will copy the
talloc'ed inbuf over the global InBuffer. It will need quite a bit of effort
to convert everything necessary for the normal operations an XP box does.

I have patches for negprot, session setup, tcon_and_X, open_and_X, close. More
to come, but I would appreciate some help here.

Volker
(This used to be commit 5594af2b208c860d3f4b453af6a649d9e4295d1c)
2007-10-10 12:28:53 -05:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
Jeremy Allison
05ee952d10 r22926: Don't use <=0, use < 0 to allow keepalives to propagate up.
Jeremy.
(This used to be commit bf0313629e16c27461b028d3ea49185e99fc4d9c)
2007-10-10 12:22:09 -05:00
Jeremy Allison
51101a9450 r22923: Fix runaway smbd now receive_smb_raw() returns a ssize_t not a BOOL.
Jeremy.
(This used to be commit 9204f1741bbdd693351b61ac1810dd722cfbf233)
2007-10-10 12:22:08 -05:00
Jeremy Allison
32106b2395 r22920: Add in the UNIX capability for 24-bit readX, as discussed
with the Apple guys and Linux kernel guys. Still looking
at how to do writeX as there's no recvfile().
Jeremy.
(This used to be commit a53268fb2082de586e2df250d8ddfcff53379102)
2007-10-10 12:22:08 -05:00
Jeremy Allison
a6fa4b4e56 r22181: Fix for EISCON in open_any_socket_out from William Jojo
for bug #3632.
Jeremy.
(This used to be commit 7979a5a350739150a9c7077f2c35d9512d8596e4)
2007-10-10 12:19:19 -05:00
Jeremy Allison
34dac35e48 r21990: Stop messing with the signing engine just because
we're encrypted. This will make further changes and
spec much more clear.
Jeremy.
(This used to be commit ffa3a5c508a494d22e8ee3ada424a6517ddf8923)
2007-10-10 12:18:57 -05:00
Jeremy Allison
8c395be5e5 r21922: Fixed the build by rather horrid means. I really need
to restructure libsmb/smb_signing.c so it isn't in
the base libs path but lives in libsmb instead (like
smb_seal.c does).
Jeremy.
(This used to be commit 1b828f051d0782201f697de15ff973bd6b097d5b)
2007-10-10 12:18:49 -05:00
Jeremy Allison
7ccf45684a r21880: Make client and server calls into encryption code symetrical,
depending on encryption context pointer.
Jeremy.
(This used to be commit d3f3ced6c8a03d971143baf878158d671dfcbc3b)
2007-10-10 12:18:43 -05:00
Jeremy Allison
c48b610b51 r21876: Start adding in the seal implementation - prototype code
for the server side enc. (doesn't break anything).
I'll keep updating this until I've got NTLM seal working
on both client and server, then add in the gss level
seal.
Jeremy.
(This used to be commit 530ac29abf23e920baa549e7cec55199edd8bd74)
2007-10-10 12:18:42 -05:00
Jeremy Allison
ecd496f066 r21865: Add in the stubs for SMB transport encryption. Will flesh
these out as I implement. Don't add to SAMBA_3_0_25, this
is experimental code.
NFSv4 you're now officially on notice... :-).
Jeremy.
(This used to be commit 5bfe638f2172e272741997100ee5ae8ff280494d)
2007-10-10 12:18:40 -05:00
Jeremy Allison
050534827f r20148: Forgot to merge. Ensure open_any_socket_out()
is safe from signals.
Jeremy.
(This used to be commit c264a0aa4a83a3d47db33446b16a8766bc14824f)
2007-10-10 12:16:27 -05:00
Jeremy Allison
0648638fef r15700: Make nmbd udp sockets non-blocking to prevent problem
with select returning true but no data being available.
Fix for bug #3779.
Jeremy.
(This used to be commit e5787cf75b2e7d50f551f34f28d280c27b0aa134)
2007-10-10 11:17:08 -05:00
Jeremy Allison
f895fcf109 r15672: Fix for bug #3783. winbindd_cm.c calls open_any_socket_out()
to make connections to ports 445 or 139 on the DC it's trying
to contact. It calls sys_select() on the non-blocking sockets,
not sys_select_intr(). This is a mistake (I believe) as it allows
a signal to early terminate the connection attempts - whereas
sys_select_intr() will ignore signals until we get back to
the main processing loop where they'll be handled correctly.
This change means winbindd_cm will not early terminate if it
gets a message whilst trying to connect to DC's.
Gunther, Volker and Jerry please review (but I think this
is correct).
Jeremy.
(This used to be commit 24aaa486771f797d35ea6b0711c12cd3e663dd8c)
2007-10-10 11:17:06 -05:00
Jeremy Allison
fc13f28417 r15030: On a performace hunt... Remove as many extraneous
memset's as possible.
Jeremy.
(This used to be commit 1217ed392b75aa8bfefa9c3f1ec5fa3bba841ee0)
2007-10-10 11:15:58 -05:00
James Peach
d67b72a0f2 r12953: Support the TCP_FASTACK socket option if it is available. Note that this will
not acutally help, but it is good to be complete.
(This used to be commit 2163e4b6b453ebf1fefc64e74890300108bbf8f6)
2007-10-10 11:06:09 -05:00
Jeremy Allison
2efcdb2fb8 r7591: Don't call getpeeraddr on a disconnected socket.
Jeremy.
(This used to be commit a9cd218eb607066a65818b534ec5e3ecb55da4cf)
2007-10-10 10:57:15 -05:00
Jeremy Allison
33a4c0b5a1 r7554: Refactor very messy code in util_sock.c Remove write_socket_data/read_socket_data
as they do nothing that write_socket/read_socket don't do. Add a more useful
error message when read_socket/write_socket error out on the main client fd
for a process (ie. try and list the IP of the client that errored).
Jeremy.
(This used to be commit cbd7578e7c226e6a8002542141b914ed4c7a8269)
2007-10-10 10:57:13 -05:00