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

347 Commits

Author SHA1 Message Date
Volker Lendecke
809e5ea5ba s3: Fix some type-punned warnings 2011-06-19 14:03:52 +02:00
Volker Lendecke
f811e894c4 s3: Add name_resolve_bcast_send/recv 2011-06-19 14:03:51 +02:00
Volker Lendecke
bc3261f0c5 s3: Fix a memleak in name_resolve_bcast
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sun Jun 19 12:40:55 CEST 2011 on sn-devel-104
2011-06-19 12:40:55 +02:00
Volker Lendecke
c118bcf755 s3: Use resolve_wins_send/recv in resolve_wins
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sun Jun 12 18:19:41 CEST 2011 on sn-devel-104
2011-06-12 18:19:41 +02:00
Volker Lendecke
0dfcf3ef78 s3: Add resolve_wins_send/recv 2011-06-12 17:07:48 +02:00
Volker Lendecke
12c3c35596 s3: Add query_wins_list_send/recv 2011-06-12 17:07:48 +02:00
Volker Lendecke
f0994c7495 s3: Fix IO_TIMEOUT handling for wins queries 2011-06-12 17:07:47 +02:00
Volker Lendecke
ebf04d79ab s3: Remove "struct ip_service" from resolve_wins 2011-06-12 17:07:47 +02:00
Andrew Bartlett
d5e6a47f06 s3-talloc Change TALLOC_P() to talloc()
Using the standard macro makes it easier to move code into common, as
TALLOC_P isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
3d15137653 s3-talloc Change TALLOC_ARRAY() to talloc_array()
Using the standard macro makes it easier to move code into common, as
TALLOC_ARRAY isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
73b377432c s3-talloc Change TALLOC_REALLOC_ARRAY() to talloc_realloc()
Using the standard macro makes it easier to move code into common, as
TALLOC_REALLOC_ARRAY isn't standard talloc.

Andrew Bartlett
2011-06-09 12:40:08 +02:00
Volker Lendecke
56eab757d0 s3: Remove unused variables
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue Jun  7 00:42:51 CEST 2011 on sn-devel-104
2011-06-07 00:42:51 +02:00
Volker Lendecke
2d90a89942 s3: Make name_resolve_bcast do parallel lookups to all interfaces 2011-06-05 14:08:00 +02:00
Volker Lendecke
fbe7b47c34 s3: Add name_queries_send/recv 2011-06-05 14:08:00 +02:00
Volker Lendecke
30be9fe554 s3: Make&use set_socket_addr_v4
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sat May 14 18:57:57 CEST 2011 on sn-devel-104
2011-05-14 18:57:57 +02:00
Jeremy Allison
02af307585 More simple const fixes. 2011-05-05 23:56:07 +02:00
Volker Lendecke
7febcb5ffe s3: Filter out duplicates in name_query()
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Wed May  4 00:03:47 CEST 2011 on sn-devel-104
2011-05-04 00:03:47 +02:00
Volker Lendecke
8da8c36b53 s3: Tune broadcast namequeries for unique names
If we get a unique name via a broadcast query, there's no point in waiting the
full timeout. A unique name is just what its name says: unique. No point in
waiting longer.

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue May  3 00:57:24 CEST 2011 on sn-devel-104
2011-05-03 00:57:24 +02:00
Volker Lendecke
d87427973c s3: Make name_resolve_bcast return sockaddr_storage
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sat Apr 30 20:40:46 CEST 2011 on sn-devel-104
2011-04-30 20:40:46 +02:00
Günther Deschner
50883cfeb4 s3-tevent: only include ../lib/util/tevent wrappers where needed.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Fri Apr 29 14:00:30 CEST 2011 on sn-devel-104
2011-04-29 14:00:30 +02:00
Andrew Bartlett
e130dec97b s3-libsmb Use 'resolv:hosts file' as a DNS emulation when specified.
This allows make test to operate without making real DNS calls.

Andrew Bartlett
2011-04-27 11:40:18 +10:00
Volker Lendecke
80c395aef4 s3: Remove unused code
This is done in name_query_send these days

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Mon Apr 25 19:24:58 CEST 2011 on sn-devel-104
2011-04-25 19:24:58 +02:00
Volker Lendecke
a3d35ac44b s3: Move setting the name_query timeout
An async caller might want a different timeout behaviour
2011-04-25 18:39:20 +02:00
Günther Deschner
ab36d597e7 s3-messages: make ndr_messaging.h part of messages.h.
Guenther
2011-03-30 01:13:09 +02:00
Günther Deschner
2473c2fb1b s3-libsmb: put namequery headers to nmblib.h
We might find a better name for it and merge other namequery related things as
well here...

Guenther
2011-03-30 01:13:09 +02:00
Volker Lendecke
fec0baacb6 s3: Make is_zero_addr take a sockaddr_storage
All callers had to cast this anyway

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Sun Feb 27 11:02:53 CET 2011 on sn-devel-104
2011-02-27 11:02:53 +01:00
Günther Deschner
65bb6b3524 s3: move some stuff out of smb.h to better locations.
Guenther
2011-02-09 22:51:23 +01:00
Günther Deschner
3294ccbb6d netlogon: move netlogon helpers to ../libcli/netlogon.
Guenther
2011-01-07 15:02:24 +01:00
Volker Lendecke
2672101cc4 s3: Remove some unused code 2011-01-07 13:28:07 +01:00
Volker Lendecke
6ba4bddb61 s3: Make name_query use /tmp/.nmbd/unexpected 2011-01-07 13:28:05 +01:00
Volker Lendecke
a32f021d66 s3: Make node_status_query use /tmp/.nmbd/unexpected 2011-01-07 13:28:04 +01:00
Volker Lendecke
77a9b0e265 s3: Add nb_trans_send/recv
This does an async port 137 transaction: It connects to /tmp/.nmbd/unexpected,
sends out the query and then waits for a reply on both the socket as well as
data from /tmp/.nmbd/unexpected. Every packet is passed through a validator. If
that returns true, the packet received is finally accepted.
2011-01-07 13:28:04 +01:00
Volker Lendecke
cbd5e4e16b s3: Add sock_packet_read
Read packets from both a socket and from /tmp/.nmbd/unexpected simultaneously
2011-01-07 13:28:04 +01:00
Volker Lendecke
d05fb4b7b7 s3: Fix two uninitialized variables
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Thu Dec 30 12:52:47 CET 2010 on sn-devel-104
2010-12-30 12:52:47 +01:00
Volker Lendecke
4622812a41 s3: Make name_query return NTSTATUS
Also use talloc for the result

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue Dec 28 18:21:05 CET 2010 on sn-devel-104
2010-12-28 18:21:05 +01:00
Volker Lendecke
5717114318 s3: Make node_status_query return NTSTATUS
Also make the result talloc'ed

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue Dec 28 13:46:59 CET 2010 on sn-devel-104
2010-12-28 13:46:59 +01:00
Volker Lendecke
e1ab3c3470 s3: Remove an ancient typedef 2010-12-28 12:59:11 +01:00
Volker Lendecke
b0ff97d8d3 s3: Fix some typos 2010-12-28 12:59:11 +01:00
Stefan Metzmacher
2c657d8705 s3:libsmb/namequery.c: don't leak 'pserver'
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Dec 22 09:54:31 CET 2010 on sn-devel-104
2010-12-22 09:54:30 +01:00
Jeremy Allison
52f2520648 Fix the unexpected.tdb database problem. Change nmbd to store the
transaction id of packets it was requested to send via a client, and
only store replies that match these ids. On the client side change
clients to always attempt to ask nmbd first for name_query and
node_status calls, and then fall back to doing socket calls if
we can't talk to nmbd (either nmbd is not running, or we're not
root and cannot open the messaging tdb's). Fix readers of unexpected.tdb
to delete packets they've successfully read.

This should fix a long standing problem of unexpected.tdb
growing out of control in noisy NetBIOS envioronments with
lots of bradcasts, yet still allow unprivileged client apps
to work mostly as well as they already did (nmblookup for
example) in an environment when nmbd isn't running.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sun Nov 14 05:22:45 UTC 2010 on sn-devel-104
2010-11-14 05:22:45 +00:00
Björn Jacke
10eefd85c9 s3: fix order of arguments in nsec_time_diff call 2010-09-17 13:49:11 +02:00
Björn Jacke
aada719694 s3: use nsec_time_diff instead of TspecDiff 2010-09-16 21:38:20 +02:00
Björn Jacke
0ca6a73d01 s3: use monotonic clock for time deltas in namequery functions 2010-08-31 10:26:13 +02:00
Günther Deschner
56538be6af s3-libads: move ads_dns out of main includes.
Guenther
2010-07-01 23:20:40 +02:00
Günther Deschner
fbb7814f91 s3: only use netlogon/nbt header when needed.
Guenther
2010-05-31 11:32:37 +02:00
Simo Sorce
61b7a24f16 s3 move the sitename cache in its own file 2010-02-23 12:46:26 -05:00
Andrew Tridgell
7347ca359d s3-libsmb: use TYPESAFE_QSORT() in namequery code
This one was a bit trickier. I'd appreciate it if someone else can
look over this.
2010-02-14 18:44:20 +11:00
Stefan Metzmacher
30a1bc3650 s3:nmbd: also listen explicit on the subnet broadcast addresses
And send replies always via the unicast address of the subnet.

This behavior is off by default (as before)
and can be enabled with "nmbd:bind explicit broadcast = yes".

metze
2010-02-08 18:35:10 +01:00
Andrew Bartlett
b5ce97511a libcli/nbt Move more of lmhosts lookup into common code
This aims to eventually share this with Samba4.

Andrew Bartlett
2009-11-04 14:58:25 +11:00
Andrew Bartlett
668470c992 libcli:nbt make the lmhosts parsing code and dependicies common
This starts the process to have Samba4 use lmhosts.

Andrew Bartlett
2009-09-15 07:42:54 -07:00
Jeremy Allison
5d05d22999 Added prefer_ipv4 bool parameter to resolve_name().
W2K3 DC's can have IPv6 addresses but won't serve
krb5/ldap or cldap on those addresses. Make sure when
we're asking for DC's we prefer IPv4.
If you have an IPv6-only network this prioritizing code
will be a no-op. And if you have a mixed network then you
need to prioritize IPv4 due to W2K3 DC's.
Jeremy.
2009-07-28 11:51:58 -07:00
Volker Lendecke
3edcd55bf1 Remove gencache_init/shutdown
gencache_get/set/del/iterate call gencache_init() internally anyway. And we've
been very lazy calling gencache_shutdown, so this seems not really required.
2009-07-15 10:55:20 +02:00
Derrell Lipman
641e12561a [FIX Bug 6235] domain enumeration breaks if master browser has space in name
Jeremy: please review to ensure this doesn't appear to break anything

The function name_status_find() is documented as used for finding a server's
name given its IP address. It was, however, looking for the first matching
name which could be a group name at times. This fix ensures that group names
are skipped when scanning for a matching name.

Derrell
2009-04-27 09:34:25 -04:00
Volker Lendecke
c5cc27c493 Interesting C compiler you have there... :-) 2009-02-19 00:52:34 +01:00
Jeremy Allison
c9295c93d1 Fix coverity CID-602. Possible use of uninitialized var.
Jeremy.
2009-02-18 15:45:49 -08:00
Ted Percival
189a85dd68 Probably fixes a crash during name resolution when log level >= 10
and libc segfaults if printf is passed NULL for a "%s" arg
(eg. Solaris).
2009-02-03 14:25:31 -08:00
Stefan Metzmacher
895c40d03a s3:libsmb/namequery.c: add saf_join_store() function
saf_join_store() should be called after a successful
domain join, the affinity to the dc used at join time
has a larger ttl, to avoid problems with delayed replication.

metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit 80e74a27c5)
2008-12-13 11:42:35 +01:00
Stefan Metzmacher
0c43f96330 s3: libsmb/namequery: fallback to returning all dcs, when none is available in the requested site
It could happen that all dcs in a site are unavailable
(some sites have only one dc) and then we need to fallback
to get all dcs.

metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit c127367b1d)
2008-12-13 11:42:35 +01: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
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
Volker Lendecke
d3def9a18c Revert "Pass NULL to gencache_get when we are not interested in the timeout value"
This reverts commit 16062dfc3d.
(This used to be commit 114ca85775)
2008-07-11 17:53:25 +02:00
Volker Lendecke
962beb2872 Pass NULL to gencache_get when we are not interested in the timeout value
(This used to be commit 16062dfc3d)
2008-07-03 15:17:58 +02:00
Jeremy Allison
48a2a3780b More correct fix (hopefully :-) for any memory leaks.
Jerry promised to check :-). Vl also please review.
Jeremy.
(This used to be commit 8abc6e7421)
2008-06-05 14:27:26 -07:00
Günther Deschner
aba7809188 build: fix the build.
Guenther
(This used to be commit 09a0001063)
2008-04-22 00:06:57 +02:00
Volker Lendecke
394150d269 Make use of ZERO_STRUCT instead of memset in namequery.c
(This used to be commit 4f1d49615e)
2008-04-14 13:13:46 +02:00
Volker Lendecke
e2ab1a0f98 Fix Coverity ID 555
(This used to be commit 44122f06d0)
2008-03-15 22:30:25 +01:00
Günther Deschner
d06559c1e6 Make resolve_ads() static.
Guenther
(This used to be commit 57dc747136)
2008-01-16 16:06:15 +01:00
Jeremy Allison
76d904e6d8 Fix CID 470. resolve_order can't be NULL here so simplify code.
Jeremy.
(This used to be commit 2e75f3ecdf)
2008-01-12 00:05:07 -08:00
Jeremy Allison
e3e16928c0 Allow cliconnect to loop through multiple ip addresses
for a server. We should have been doing this for a while,
but it's more critical with IPv6.
Original patch fixed up by James.
Jeremy.
(This used to be commit 5c7f7629a9)
2007-12-12 09:42:58 -08:00
Jeremy Allison
8596a1b609 Ensure we have a non-null flags. Pointed out by Andreas Schneider <anschneider@suse.de>.
Jeremy.
(This used to be commit cafde6c372)
2007-12-10 15:06:31 -08:00
Jeremy Allison
921bbc1331 Fix errors from next_token conversion. Spotted by
Andreas Schneider <anschneider@suse.de>.
Jeremy.
(This used to be commit b40efc2fe6)
2007-12-10 14:21:28 -08:00
Jeremy Allison
7faee02d0d Remove the char[1024] strings from dynconfig. Replace
them with malloc'ing accessor functions. Should save a
lot of static space :-).
Jeremy.
(This used to be commit 52dc5eaef2)
2007-12-10 11:30:37 -08:00
James Peach
39f0e6d22c Specifically ask for IP4 addresses if we don't have IP6 support.
(This used to be commit 4786654992)
2007-12-09 14:01:57 -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
Volker Lendecke
78c6ee0090 Remove some globals
(This used to be commit 31d0a846db)
2007-12-05 14:39:07 +01:00
Jeremy Allison
762fde90a0 Remove pstrings from namequery.c.
Jeremy.
(This used to be commit 71ccd0c42e)
2007-11-27 23:10:20 -08:00
Jeremy Allison
9a41314ce8 Remove pstring from nmbd.
Jeremy.
(This used to be commit a317f70c22)
2007-11-19 15:15:09 -08:00
Jeremy Allison
e2d0526c97 Change our DNS code to cope with AAAA records. A6 records
look like a nightmare to use, so ignore them for now.
Jeremy.
(This used to be commit 814daded90)
2007-10-29 13:34:00 -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
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
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
13bf4c4bb7 Fix a crash in resolve_hosts() caused by an out-of-bounds array reference.
(This used to be commit fd28d09a95)
2007-10-19 15:08:40 -05:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3c)
2007-10-18 17:40:25 -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
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 Carter
5221ebb299 r25407: Revert Longhorn join patch as it is not correct for the 3.2 tree.
The translate_name() used by cli_session_setup_spnego() cann rely
Winbindd since it is needed by the join process (and hence before
Winbind can be run).
(This used to be commit 00a93ed336)
2007-10-10 12:31:03 -05:00
Gerald Carter
3529156971 r25400: Windows 2008 (Longhorn) Interop fixes for AD specific auth2 flags,
and client fixes.  Patch from Todd Stetcher <todd.stetcher@isilon.com>.
(This used to be commit 8304ccba73)
2007-10-10 12:31:02 -05:00
Günther Deschner
22cf5a3f80 r24739: With resolve_ads() allow to query for PDCs as well.
Also add dns query functions to find GCs and DCs by GUID.

Guenther
(This used to be commit cc469157f6)
2007-10-10 12:30:16 -05:00
Günther Deschner
1c72c4c360 r24737: Remove older TODO: Convert internal_resolve_name() and friends to NTSTATUS.
Guenther
(This used to be commit 8300aac494)
2007-10-10 12:30:16 -05:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc)
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 407e6e695b)
2007-10-10 12:28:20 -05:00
Volker Lendecke
254e1ad28b r23710: Remove some code duplication, we do have a random number generator
(This used to be commit afd7febd98)
2007-10-10 12:23:47 -05:00
James Peach
8a22b1f0ea r22417: Refactor the various daemon run-mode options to make the semantics
of the various flags explicit.
(This used to be commit 19c929c633)
2007-10-10 12:19:33 -05:00
Günther Deschner
e9c294b926 r20874: We need to distinguish client sitenames per realm. We were overwriting
the stored client sitename with the sitename from each sucessfull CLDAP
connection.

Guenther
(This used to be commit 6a13e878b5)
2007-10-10 12:17:16 -05:00
Günther Deschner
e65d9b4598 r20861: We only use sitespecific DNS lookups when looking for DCs or KDCs, not
for a PDC.

Guenther
(This used to be commit 0944c78610)
2007-10-10 12:17:14 -05:00
Jeremy Allison
bfd099e148 r20857: Silence gives assent :-). Checking in the fix for
site support in a network where many DC's are down.
I heard via Volker there is still a bug w.r.t the
wrong site being chosen with trusted domains but
we'll have to layer that fix on top of this.
Gd - complain if this doesn't work for you.
Jeremy.
(This used to be commit 97e248f89a)
2007-10-10 12:17:14 -05:00
Volker Lendecke
395d304f22 r20604: Fix two memleaks, Coverity ID 337, merge to 3_0_24
(This used to be commit 44f9d25a90)
2007-10-10 12:16:57 -05:00
Volker Lendecke
3ab9f619d8 r20603: Slightly simplify logic
(This used to be commit e4dea0e647)
2007-10-10 12:16:57 -05:00
Gerald Carter
8fa0a80b49 r19754: * When using a krb5 session setup, we don't fill in the server_name
string the clis_state struct.  So call saf_store() after we
  have the short domain name in the lsa_query_inof_policy code.

* Remove unused server string in saf_delete()
(This used to be commit 3eddae2f20)
2007-10-10 12:15:53 -05:00
Günther Deschner
c9567f2f22 r19652: Trying to track down which caller tries to store a 0 length domain name
in the affinity cache (which happens all the time here).

Guenther
(This used to be commit 45d6d30076)
2007-10-10 12:15:44 -05:00
Günther Deschner
06ea7f144a r19243: Fix debug statement.
Guenther
(This used to be commit 4b9d79147a)
2007-10-10 12:15:25 -05:00
Jeremy Allison
6410f02fe5 r18199: Allow winbindd to delete a saf_ entry if it knows
it can't talk to it.
Jeremy.
(This used to be commit 7385a076f8)
2007-10-10 11:51:15 -05:00
Jeremy Allison
380c4183ee r18007: Ensure we don't namecache KDC entries with port 88
as a generic DC (that should be the LDAP port).
Jeremy.
(This used to be commit f16b41c3c9)
2007-10-10 11:39:47 -05:00
Jeremy Allison
0f1bc28744 r18006: Actually a smaller change than it looks. Leverage
the get_dc_list code to get the _kerberos. names
for site support. This way we don't depend on one
KDC to do ticket refresh. Even though we know it's
up when we add it, it may go down when we're trying
to refresh.
Jeremy.
(This used to be commit 77fe2a3d74)
2007-10-10 11:39:47 -05:00
Jeremy Allison
2abab7ee6d r17928: Implement the basic store for CLDAP sitename
support when looking up DC's. On every CLDAP
call store the returned client sitename (if
present, delete store if not) in gencache with
infinate timeout. On AD DNS DC lookup, try looking
for sitename DC's first, only try generic if
sitename DNS lookup failed.
I still haven't figured out yet how to ensure
we fetch the sitename with a CLDAP query before
doing the generic DC list lookup. This code is
difficult to understand. I'll do some experiments
and backtraces tomorrow to try and work out where
to force a CLDAP site query first.
Jeremy.
(This used to be commit ab3f0c5b1e)
2007-10-10 11:38:59 -05:00
Jeremy Allison
a08ca7a0a0 r17900: Fix from Michael Adam <ma@sernet.de> - make internal_resolve_name
do what it's supposed to.
Jeremy.
(This used to be commit 4b7387a054)
2007-10-10 11:38:57 -05:00
Volker Lendecke
c52b3fb89f r17881: Another microstep towards better error reporting: Make get_sorted_dc_list
return NTSTATUS.

If we want to differentiate different name resolution problems we might want
to introduce yet another error class for Samba-internal errors. Things like no
route to host to the WINS server, a DNS server explicitly said host not found
etc might be worth passing up.

Because we can not stash everything into the existing NT_STATUS codes, what
about a Samba-specific error class like NT_STATUS_DOS and NT_STATUS_LDAP?

Volker
(This used to be commit 60a166f034)
2007-10-10 11:38:57 -05:00
Gerald Carter
8cac7c1399 r17795: Finally track down the "ads_connect: Interrupted system call"
error.  Fix our DNS SRV lookup code to deal with multi-homed hosts.
We were noly remembering one IP address per host from the Additional
records section in the SRV response which could have been an unreachable
address.
(This used to be commit 899179d2b9)
2007-10-10 11:38:47 -05:00
Gerald Carter
fddeed8adb r17760: The DNS SRV lookup already sorts by priority and weight so don't
use the generic IP list sort in get_sorted_dc_list().
(This used to be commit 03a767539d)
2007-10-10 11:38:47 -05:00
Andrew Tridgell
f2faf11204 r17124: fixed a bug which caused resolve_ads() to spin forever if one of the
DCs isn't resolvable in DNS. The fix is to leave that DC out of the
returned list of DCs. I think the original code intended that anyway,
just didn't quite get it right ('i' wasn't incremented in that code
path, so the loop didn't terminate)
(This used to be commit d7ec9f3cc0)
2007-10-10 11:38:13 -05:00
James Peach
39c7fe679e r15611: Remove used but uninitialised variable "count".
(This used to be commit 71fd0d3de4)
2007-10-10 11:17:03 -05:00
Gerald Carter
2c029a8b96 r15543: New implementation of 'net ads join' to be more like Windows XP.
The motivating factor is to not require more privileges for
the user account than Windows does when joining a domain.

The points of interest are

* net_ads_join() uses same rpc mechanisms as net_rpc_join()
* Enable CLDAP queries for filling in the majority of the
  ADS_STRUCT->config information
* Remove ldap_initialized() from sam/idmap_ad.c and
  libads/ldap.c
* Remove some unnecessary fields from ADS_STRUCT
* Manually set the dNSHostName and servicePrincipalName attribute
  using the machine account after the join

Thanks to Guenther and Simo for the review.

Still to do:

* Fix the userAccountControl for DES only systems
* Set the userPrincipalName in order to support things like
  'kinit -k' (although we might be able to just use the sAMAccountName
  instead)
* Re-add support for pre-creating the machine account in
  a specific OU
(This used to be commit 4c4ea7b20f)
2007-10-10 11:16:57 -05:00
Gerald Carter
af086da4ec r15462: replace the use of OpenLDAP's ldap_domain2hostlist() for
locating AD DC's with out own DNS SRV queries.
Testing on Linux and Solaris.
(This used to be commit cf71f88a3c)
2007-10-10 11:16:49 -05:00
Volker Lendecke
03b32953cf r13987: Fix Coverity bug # 74. This tool is good...
Thanks,

Volker
(This used to be commit 86f62484dd)
2007-10-10 11:11:03 -05:00
Jeremy Allison
894358a8f3 r13915: Fixed a very interesting class of realloc() bugs found by Coverity.
realloc can return NULL in one of two cases - (1) the realloc failed,
(2) realloc succeeded but the new size requested was zero, in which
case this is identical to a free() call.

The error paths dealing with these two cases should be different,
but mostly weren't. Secondly the standard idiom for dealing with
realloc when you know the new size is non-zero is the following :

 tmp = realloc(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

However, there were *many* *many* places in Samba where we were
using the old (broken) idiom of :

 p = realloc(p, size)
 if (!p) {
    return error;
 }

which will leak the memory pointed to by p on realloc fail.

This commit (hopefully) fixes all these cases by moving to
a standard idiom of :

 p = SMB_REALLOC(p, size)
 if (!p) {
    return error;
 }

Where if the realloc returns null due to the realloc failing
or size == 0 we *guarentee* that the storage pointed to by p
has been freed. This allows me to remove a lot of code that
was dealing with the standard (more verbose) method that required
a tmp pointer. This is almost always what you want. When a
realloc fails you never usually want the old memory, you
want to free it and get into your error processing asap.

For the 11 remaining cases where we really do need to keep the
old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR,
which can be used as follows :

 tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size);
 if (!tmp) {
    SAFE_FREE(p);
    return error;
 } else {
    p = tmp;
 }

SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the
pointer p, even on size == 0 or realloc fail. All this is
done by a hidden extra argument to Realloc(), BOOL free_old_on_error
which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR
macros (and their array counterparts).

It remains to be seen what this will do to our Coverity bug count :-).

Jeremy.
(This used to be commit 1d710d06a2)
2007-10-10 11:10:59 -05:00
Jeremy Allison
2d3946b8c4 r13893: Fix for Coverity issue CID #164. The first one that I don't
think is a direct bug, but some code that needs clarification :-).
Jeremy.
(This used to be commit 61901a3f10)
2007-10-10 11:10:59 -05:00
Jeremy Allison
42df51222b r13889: Fix resource leak on error path. Coverity bug CID #73.
Jeremy.
(This used to be commit 46e1098092)
2007-10-10 11:10:58 -05:00
Jeremy Allison
2268658171 r13322: Fix warning time_t != int.
Jeremy.
(This used to be commit 6196446a03)
2007-10-10 11:06:24 -05:00
Gerald Carter
855e02f164 r13310: first round of server affinity patches for winbindd & net ads join
(This used to be commit 6c3480f9ae)
2007-10-10 11:06:23 -05:00
Jeremy Allison
19ca97a70f r7882: Looks like a large patch - but what it actually does is make Samba
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
(This used to be commit 9506b8e145)
2007-10-10 10:58:00 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
(This used to be commit 620f2e608f)
2007-10-10 10:53:32 -05:00
Volker Lendecke
24d3605d99 r3843: If a connection to a DC is requested, open connections simultaeneously to all
DCs found. The first one to reply wins.

Volker
(This used to be commit 84ac54aef2)
2007-10-10 10:53:20 -05:00
Gerald Carter
0e1de2d773 r3264: fix lmhosts lookup so that we don't say we found something when we really didn't
(This used to be commit c7036f8246)
2007-10-10 10:53:03 -05:00
Volker Lendecke
98ed2ecc1c r3143: Allow for multiple DC's to be named as #1c names in lmhosts.
Volker
(This used to be commit 2af98ec054)
2007-10-10 10:53:02 -05:00
Gerald Carter
13720fbb3e r2770: oops; internal_resolve_name() should stay static in 3.0
(This used to be commit 316302ca4a)
2007-10-10 10:52:52 -05:00
Gerald Carter
31441aaa13 r2768: BUG 1519: save the hostname used in the open_printer_ex() for later reuse when filling in the spolss replies (also gets rid of get_called_name()
(This used to be commit 57db8ca91f)
2007-10-10 10:52:52 -05:00
Jeremy Allison
f5b4721d6d r1326: Modification to get_dc_list to check negative cache. From "Joe Meadows" <jameadows@webopolis.com>.
Jeremy.
(This used to be commit 4cc38b8aea)
2007-10-10 10:52:06 -05:00
Richard Sharpe
0374be5d93 r248: Add support for printing out the MAC address on nmblookup.
(This used to be commit bf9f02be5f)
2007-10-10 10:51:16 -05:00
Jeremy Allison
6b9dbbcd24 Modified fix for bugid #784. Based on a patch from moriyama@miraclelinux.com (MORIYAMA Masayuki).
Don't use nstrings to hold workgroup and netbios names. The problem with them is that MB netbios
and workgroup names in unix charset (particularly utf8) may be up to 3x bigger than the name
when represented in dos charset (ie. cp932). So go back to using fstrings for these but
translate into nstrings (ie. 16 byte length values) for transport on the wire.
Jeremy.
(This used to be commit b4ea493599)
2004-03-13 02:16:21 +00:00
Jeremy Allison
fd2d4f87d4 First part of patch from moriyama@miraclelinux.com (MORIYAMA Masayuki) to
fix up netbios names with mb strings. Includes reformat of libsmb/nmblib.c
so it's readable.
Jeremy.
(This used to be commit 966e49a48c)
2004-03-13 00:28:53 +00:00
Andrew Bartlett
e45c217a14 Make get_dc_list static - we only ask for a sorted list externally.
Andrew Bartlett
(This used to be commit e10e176c83)
2004-02-08 00:54:32 +00:00
Gerald Carter
b085f0f08e * allow dns lookups to be disabled for DOMAIN#1c (and #1b)
names
* fix some a mispelled variable name
(This used to be commit bca702c976)
2004-01-13 19:42:53 +00:00
Andrew Bartlett
f1f24c7c6f Romve debugging assertions (oops...)
Andrew Bartlett
(This used to be commit 7e75a6d681)
2004-01-09 02:47:35 +00:00
Andrew Bartlett
9e1c7dd516 Add a new type of name lookup 'ads'. This seperates this from normal
hostname lookups, and ensures that we don't lookup 'short' (ie NetBIOS)
domain names in DNS.

Andrew Bartlett
(This used to be commit 35f6347a73)
2004-01-09 02:38:58 +00:00
Jeremy Allison
ee17580c85 Make intent to return only one address clear.
Jeremy.
(This used to be commit d3d0353bae)
2003-12-09 02:29:27 +00:00
Jeremy Allison
94f59f5492 More tuning from cachegrind. Change most trim_string() calls to trim_char(0,
as that's what they do. Fix string_replace() to fast-path ascii.
Jeremy.
(This used to be commit f35e9a8b90)
2003-09-05 19:59:55 +00:00
Gerald Carter
d304a61cc7 fix bug #190; WINS server was getting marked as dead when it was not.
(This used to be commit fa354f3cee)
2003-07-03 04:54:49 +00:00
Gerald Carter
f51d769dd3 large change:
*)  consolidates the dc location routines again (dns
    and netbios)  get_dc_list() or get_sorted_dc_list()
    is the authoritative means of locating DC's again.

    (also inludes a flag to get_dc_list() to define
     if this should be a DNS only lookup or not)

    (however, if you set "name resolve order = hosts wins"
     you could still get DNS queries for domain name IFF
     ldap_domain2hostlist() fails.  The answer?  Fix your DNS
     setup)

*)  enabled DOMAIN<0x1c> lookups to be funneled through
    resolve_hosts resulting in a call to ldap_domain2hostlist()
    if lp_security() == SEC_ADS

*)  enables name cache for winbind ADS backend

*)  enable the negative connection cache for winbind
    ADS backend

*)  removes some old dead code

*)  consolidates some duplicate code

*)  moves the internal_name_resolve() to use an IP/port pair
    to deal with SRV RR dns replies.  The namecache code
    also supports the IP:port syntax now as well.

*)  removes 'ads server' and moves the functionality back
    into 'password server' (which can support "hostname:port"
    syntax now but works fine with defaults depending on
    the value of lp_security())
(This used to be commit d7f7fcda42)
2003-06-25 17:41:05 +00:00
Gerald Carter
f36c96d59c * s/get_dc_name/rpc_dc_name/g (revert a previous change)
* move back to qsort() for sorting IP address in get_dc_list()

* remove dc_name_cache in cm_get_dc_name() since it slowed
  things down more than it helped.  I've made a note of where
  to add in the negative connection cache in the ads code.
  Will come back to that.

* fix rpcclient to use PRINTER_ALL_ACCESS for set printer (instead
  of MAX_ALLOWED)

* only enumerate domain local groups in our domain

* simplify ldap search for seqnum in winbindd's rpc backend
(This used to be commit f8cab8635b)
2003-06-23 19:05:23 +00:00
Jeremy Allison
292a51eda1 Forward port the app-head changes for dc name cache into 3.0.
Jeremy.
(This used to be commit 8bcc3116a2)
2003-06-13 21:03:15 +00:00
Volker Lendecke
7f0740b7c0 Revert a patch that somehow slipped in...
Volker
(This used to be commit 6cde3d4d65)
2003-05-08 08:12:57 +00:00
Volker Lendecke
d1da999e0a This puts real netlogon connection caching to winbind. This becomes
important once we start doing schannel, as there would be a lot more
roundtrips for the second PIPE open and bind. With this patch logging
in to a member server is a matter of two (three if you count the
ack...) packets between us and the DC.

Volker
(This used to be commit 5b3cb7725a)
2003-05-08 08:02:52 +00:00
Jeremy Allison
d45fe965ef Writable string const fixes.
Jeremy.
(This used to be commit c832e95c2f)
2003-03-05 01:30:15 +00:00
Jeremy Allison
3fe0de1fcf Correctly check for inet_addr fail. Patch from gregor.7@osu.edu.
Jeremy.
(This used to be commit 01f6b26945)
2003-02-17 21:19:00 +00:00
Andrew Bartlett
863e9ca2c6 Merge from HEAD - mimir's new gencache based namecache code.
Andrew Bartlett
(This used to be commit f79324f730)
2003-01-04 08:48:15 +00:00
Gerald Carter
779ec8d3cf [merge] remove assert(count ==1) for multi-homed PDCs; CR 1277
(This used to be commit 18799c115b)
2002-12-04 19:01:01 +00:00
Jeremy Allison
0694e965fb Doing janitorial duty for tpot - memory leak fix.
Jeremy.
(This used to be commit 7acf959421)
2002-12-04 18:39:50 +00:00
Jeremy Allison
d047db2807 Fixup of ordered cleanup of get_dc_list - bug found by Dominik 'Aeneas' Schnitzer <dominik@schnitzer.at>
Jeremy.
(This used to be commit 15185ac437)
2002-12-01 00:45:07 +00:00
Gerald Carter
3ab6fcc5c6 [merge from APP_HEAD]
90% fix for CR 1076.  The password server parameter will no take things
like

        password server = DC1 *

which means to contact DC1 first and the go to auto lookup if it
fails.


jerry
(This used to be commit 016ef8b36b)
2002-11-23 14:52:34 +00:00