1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-01 21:18:10 +03:00
Commit Graph

268 Commits

Author SHA1 Message Date
Volker Lendecke
bbbf9f13ad Fix bug 5681: Do not limit the number of network interfaces
Jeremy as far as I can see there is no real technical reason to limit the
number of interfaces. If you like this patch, can you please merge it to 3.4?
If you don't please tell me :-)

Thanks,

Volker
2009-05-18 13:38:55 +02:00
Stefan Metzmacher
b9f3a78169 s3:libsmb: move read_smb_send/recv() static in async_smb.c
metze
2009-05-13 18:27:50 +02:00
Jeremy Allison
ad9d64ee1b Clean up assignments to iov_base, ensure it's always cast to void *. This should quieten some warnings with picky compilers on the buildfarm.
Jeremy.
2009-05-12 11:45:37 -07:00
Volker Lendecke
5b7b47f015 Add getaddrinfo_send/recv 2009-05-01 12:30:59 +02:00
Volker Lendecke
dcda3ab8ca Reactivate get_socket_port 2009-04-12 14:51:15 +02:00
Günther Deschner
78951bd7f4 s3-util-sock: add ismyaddr() check in is_myname_or_ipaddr().
Guenther
2009-04-08 12:47:10 +02:00
Volker Lendecke
ad29104d3d Add read_smb_send/recv, dumping keepalives 2009-04-06 21:32:05 +02:00
Stefan Metzmacher
0dfdb7b911 s3:lib/util_sock: use sys_recv() instead of sys_read() on sockets
This ways the pcap support in socket wrapper sees the received data.

metze
2009-03-19 13:54:17 +01:00
Volker Lendecke
20cee26a3d Convert open_socket_out_defer to tevent_req 2009-03-16 19:32:01 +01:00
Volker Lendecke
cb9effdc63 Use tevent_wakeup_send in open_socket_out_defer 2009-03-16 18:49:54 +01:00
Simo Sorce
67d41d0fc7 Make struct tevent_req opaque
Move struct tevent_req in tevent_internal, and ad getters and setters
for private data and the callback function.
This patch also renames 'private_state' into 'data'. What is held in this
pointer is in fact data and not a state like enum tevent_req_state.
Calling it 'state' is confusing.

The functions addedd are:
tevent_req_set_callback() - sets req->async.fn and req->async.private_data
tevent_req_set_print_fn() - sets req->private_print
tevent_req_callback_data() - gets req->async.private_data
tevent_req_data() - gets rea->data

This way it is much simpler to keep API/ABI compatibility in the future.
2009-03-02 11:02:09 -05:00
Volker Lendecke
6cdcfa3fc1 Remove a temporary debug message -- sorry 2009-02-26 13:26:12 +01:00
Volker Lendecke
a777b4d501 Convert open_socket_out to tevent_req 2009-02-26 13:04:34 +01:00
Volker Lendecke
39976035eb Convert async_connect to tevent_req 2009-02-24 20:40:47 +01:00
Tim Prouty
1696298aad s3 async: Fix the build on systems that have ETIMEDOUT but not ETIME
Fallback on EAGAIN
2009-02-09 13:23:44 -08:00
Kai Blin
c3b9b6c8aa async_sock: Use unix errnos instead of NTSTATUS
This also switches wb_reqtrans to use wbcErr instead of NTSTATUS as it would
be pointless to convert to errno first and to wbcErr later.
2009-02-09 08:36:08 +01:00
Volker Lendecke
d3f9b0fab6 Next step disentangling async_req from NTSTATUS
Now I need to document this :-)
2009-02-02 20:15:03 +01:00
Volker Lendecke
c14b7e648b Split up async_req into a generic and a NTSTATUS specific part 2009-02-01 19:05:39 +01:00
Volker Lendecke
0dbd396862 Add a macro async_req_setup()
This streamlines setting up a multi-step async request a bit
2009-01-18 16:45:07 +01:00
Jeremy Allison
fb904194c9 "First thing, kill all the language lawyers" :-). Ensure possible insane compilers
can't kill us later.
Jeremy.
2009-01-16 11:55:01 -08:00
Jeremy Allison
354a2e03ab Fix bug #6040 - Calling Samba print server with an aliased DNS-name fails.
Jeremy.
2009-01-15 10:29:34 -08:00
Volker Lendecke
fe56659442 Remove a duplicated comment 2009-01-04 18:03:23 +01:00
Volker Lendecke
0cc63c6416 Add open_socket_out_defer_send/recv 2009-01-04 16:42:40 +01:00
Volker Lendecke
19b783cce9 Async wrapper for open_socket_out_send/recv 2009-01-04 16:42:40 +01:00
Volker Lendecke
fafb9ecc61 open_socket_out is always used with SOCK_STREAM, remove argument "type" 2009-01-03 19:22:06 +01:00
Volker Lendecke
afd70855b7 Make write_data use write_data_iov 2008-12-29 13:24:28 +01:00
Volker Lendecke
82a152fcf9 Add write_data_iov 2008-12-29 13:24:27 +01:00
Dan Sledz
2f17be1f57 s3: Use DEBUGADD instead of DEBUG to avoid printing the header 2008-12-15 23:30:50 -08:00
Tim Prouty
1eb743ab8e s3: Change sockaddr util function names for consistency
Also eliminates name conflicts with OneFS system libraries
2008-12-03 10:40:20 -08:00
Jelmer Vernooij
22f566c39b Move set_sockaddr_port to libutil. 2008-10-23 21:08:13 +02:00
Jelmer Vernooij
fe36fe8c3e Use common net utility code (address and sockaddr manipulation). 2008-10-23 20:41:15 +02:00
Jelmer Vernooij
d6a5476ee7 Use sockaddr_storage only where we rely on the size, use sockaddr
otherwise (to clarify we can also pass in structs smaller than
sockaddr_storage, such as sockaddr_in).
2008-10-23 19:53:15 +02:00
Jelmer Vernooij
aa982895e5 Add data_blob_string_const_null() function that includes the terminating
null byte and use it in Samba 3.

This matches the behaviour prior to my data_blob changes.
2008-10-13 05:20:26 +02:00
Steven Danneman
304554115a Cleanup of DC enumeration in get_dcs()
This is a fix for a few small inefficiencies/bugs in the get_dcs() path.

* because the third add_one_dc_unique() loop was outside the ADS check all DCs
  returned from the non-sitename lookup were being tacked onto the dc_name_ip
  list twice.
* add_one_dc_unique() now checks if the given IP address already exists before
  adding it to the list, making the returned list actually unique
* added more thorough doxygen comment headers
(This used to be commit cb2d488e1d)
2008-09-04 11:50:25 -07:00
Zach Loafman
06d0790c07 Fix various build warnings
This fixes various build warnings on our platform. I'm sure I haven't
caught them all, but it's a start.
(This used to be commit 6b73f259cb)
2008-07-22 15:00:48 +02:00
Zach Loafman
272690bda8 Minor style correction
Set sin[6]_family instead of ss_family in in[6]_addr_to_sockaddr_storage
so that assignments look like they're going to the same place.
(This used to be commit 3d19112f64)
2008-07-08 15:58:19 -07:00
Jeremy Allison
d36434f312 Security fix for CVE-2008-1105: Boundary failure when parsing SMB responses
can result in a buffer overrun.
Jeremy.
(This used to be commit 23b825e9d2)
2008-05-28 09:31:42 -07:00
Björn Jacke
b6e9fffaa2 increase log level for this failed setsockopt call. EINVAL is a normal error on Solaris when we do this on an already resetted connection.
(This used to be commit 42bc4ff7fd)
2008-04-07 11:49:54 +02:00
Gerald W. Carter
f4f0d39bfa Fix a bug in the output from print_canonical_sockaddr() fix from 36f8bafbd3dee66a8....
Make sure that IPv4 addresses are not enclised in []'s.
(This used to be commit 4ddf58dbdc)
2008-03-26 16:58:27 -05:00
Gerald (Jerry) Carter
22d7cd6605 Ignore port when pulling IP addr from struct sockaddr_storage.
Linux man page states that getaddinfo() will leave the port
uninitialized when passing in NULL for the service name.  So we
can't really trust that anymore.  I doubt non-default KDC ports
are an issues so just drop the port from the generated krb5.conf.
AIX exhibits this bug the most.
(This used to be commit 36f8bafbd3)
2008-03-24 17:25:13 -05:00
Volker Lendecke
a5e1910f82 Fix Coverity ID 567
Jeremy, please push it if you like it and mark the bug as fixed on the Coverity
site.

Thanks,

Volker
(This used to be commit 2fd2542370)
2008-03-16 12:23:44 -07:00
Michael Adam
e9c2515df0 Eliminate tons of build warnings on non-IPV6 system.
Michael
(This used to be commit ee4810099c)
2008-02-29 13:35:16 +01:00
Volker Lendecke
3176392878 Fix some warnings
warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result
(This used to be commit ad37b7b0ae)
2008-02-25 16:09:26 +01:00
Tim Potter
abf8465659 Fix possible close of invalid fd if call to socket() returns -1.
(This used to be commit f7d2f69299)
2008-02-20 17:58:50 -08:00
Volker Lendecke
abe2fd7697 Fix a debug message
(This used to be commit 24aa3518ae)
2008-02-05 22:22:03 +01:00
Volker Lendecke
b42a5d68a3 Convert read_data() to NTSTATUS
(This used to be commit af40b71023)
2008-02-02 11:03:23 +01:00
Volker Lendecke
88c27f83d4 Convert receive_smb_raw to NTSTATUS
(This used to be commit ba771bd858)
2008-02-02 11:03:23 +01:00
Volker Lendecke
6ddfa6ae77 read_socket_with_timeout_ntstatus->read_socket_with_timeout
(This used to be commit 90554799af)
2008-02-02 11:03:22 +01:00
Volker Lendecke
5e43eeb1b6 Get rid of read_socket_with_timeout
(This used to be commit f9c8ac83ff)
2008-02-02 11:03:22 +01:00
Volker Lendecke
9f6e983d0b Convert read_smb_length to return NTSTATUS
(This used to be commit 5750c3a51b)
2008-02-02 11:03:21 +01:00
Volker Lendecke
0afbfa4284 Convert read_smb_length_return_keepalive to return NTSTATUS
(This used to be commit 73a79a957a)
2008-02-02 11:03:21 +01:00
Volker Lendecke
3e5b98555b Convert read_smb_length_return_keepalive to read_socket_with_timeout_ntstatus
(This used to be commit 59e8f22f36)
2008-02-02 11:03:21 +01:00
Volker Lendecke
3f970f91c2 Add read_socket_with_timeout_ntstatus
(This used to be commit 546ca0414a)
2008-02-02 11:03:21 +01:00
Volker Lendecke
680a0f0c69 Fix a typo
(This used to be commit 1efdef08ae)
2008-02-01 23:32:51 +01:00
Volker Lendecke
e2ad28509c Tiny simplification
(This used to be commit e78f6872bf)
2008-01-25 20:55:51 +01:00
Volker Lendecke
31a6f80784 Remove a pointless while loop
(This used to be commit f591bd68ea)
2008-01-25 20:55:51 +01:00
Volker Lendecke
9344628bef More read_data -> read_socket_with_timeout
(This used to be commit f1d7de462c)
2008-01-24 09:41:22 +01:00
Volker Lendecke
a925a53f61 read_socket_with_timeout has timeout=0 handling
(This used to be commit 7101026061)
2008-01-23 17:09:10 +01:00
Kai Blin
36e3e75e06 util_sock: Don't return a pointer to freed memory.
Fix a bug in my bugfix. Thanks to vl for spotting that one.
(This used to be commit 24f68b90cc)
2008-01-21 18:02:24 +01:00
Kai Blin
7b6a439efe util_sock: Fix memcache bug in get_mydnsfullname.
get_mydnsfullname relied on memcache_add(); memcache_lookup() working.
When run from ntlm_auth, the global_cache variable in memcache is NULL, so
the add and lookup both fail. In that case, just return the result of the
getaddrinfo call.

Jeremy, please check.
(This used to be commit 1db41ff525)
2008-01-21 13:28:06 +01:00
Jeremy Allison
bd8abea49f Fix IPv6 bug #5204, which caused krb5 DNS lookups
for a name '[<ipv6 addr>'.
Jeremy.
(This used to be commit f2aa921505)
2008-01-16 13:21:46 -08:00
Jeremy Allison
9254bb4ef1 Refactor the crypto code after a very helpful conversation
with Volker. Mostly making sure we have data on the incoming
packet type, not stored in the smb header.
Jeremy.
(This used to be commit c4e5a50504)
2008-01-04 12:56:23 -08:00
Volker Lendecke
149e86b842 Trivial simplification
... things you come across when you review code
(This used to be commit 1e006bcfb1)
2008-01-03 10:24:45 +01:00
Jeremy Allison
cc957c7f6d Convert the little caches in util_sock.c to use
the singleton memcache. Vl please check (passes
make valgrindtest).
Jeremy.
(This used to be commit a4d613cde8)
2008-01-02 17:37:39 -08:00
Jeremy Allison
afc93255d1 Add SMB encryption. Still fixing client decrypt but
negotiation works.
Jeremy.
(This used to be commit d78045601a)
2007-12-26 17:12:36 -08:00
James Peach
daba3f8b54 Fix connect(2) callers to use correct sockaddr size.
Some systems (eg Mac OSX 10.5) require the length passed to match
the socket address family. This introduces sys_connect() that does
the right thing, and replaces all uses oc connect(2) with sys_connect().

Note that there are some LGPL callers that still call connect(2)
directly.
(This used to be commit e1bfdc17c4)
2007-12-09 13:28:00 -08:00
Jeremy Allison
42cfffae80 Remove next_token - all uses must now be next_token_talloc.
No more temptations to use static length strings.
Jeremy.
(This used to be commit ec003f3936)
2007-12-07 17:32:32 -08:00
Jeremy Allison
dc9237d231 Doh ! Don't use #else when #endif is needed.
Jeremy.
(This used to be commit a04e916b89)
2007-11-21 10:31:18 -08:00
Jeremy Allison
e68bbe3548 Add set_sockaddr_port function for winbindd.
Jeremy.
(This used to be commit 4b47052694)
2007-11-21 10:10:52 -08:00
Jeremy Allison
acb829ecc3 Add MAX_DNS_NAME_LENGTH, remove more pstrings.
Jeremy.
(This used to be commit a1725f4ff7)
2007-11-15 18:27:26 -08:00
Jeremy Allison
91c1933e67 Remove a pstring.
Jeremy.
(This used to be commit c0412b5d13)
2007-11-11 21:45:55 -08:00
Jeremy Allison
d40e47db4b Remove more fstring/pstring bad useage. Go talloc !
Jeremy.
(This used to be commit 2a0173743d)
2007-11-08 17:25:45 -08:00
Jeremy Allison
e501c0cd44 Unify the name and addr cache for client_name to
make threading easier ultimately.
Jeremy.
(This used to be commit 48e0725cd6)
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 255c2adf7b)
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 b5e37af251)
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 5ab76b58c0)
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 08ee4314a9)
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 963fc76852)
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 35aaa36f82)
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 62b5ca3334)
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 95d01279a5)
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 e848506c85)
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 d50d14c300)
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 638579d75a)
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 4d7badb0c4)
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 11c03b75dd)
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 2e92418a13)
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 a3f7db3d30)
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 f109f82622)
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 e6609cab73)
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 9aa9ecd8cc)
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 98e154c312)
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 620785df4e)
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 4a56b697b6)
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 a1166e9e65)
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 3403c6c330)
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 baf1f52e34)
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 3f6bd0e1ec)
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 5c6c8e1fe9)
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 2827bbe0f8)
2007-10-10 12:31:14 -05:00