1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-09 20:59:11 +03:00
Commit Graph

297 Commits

Author SHA1 Message Date
265e4dfbb6 s3: bug #6967: Prevent glibc error on net ads join:
talloc()ed memory should not be SAFE_FREE()ed.

Signed-off-by: Jim McDonough <jmcd@samba.org>
2009-12-04 12:43:27 -05:00
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
14c1362034 Fix some nonempty blank lines 2009-05-31 12:16:34 +02:00
3194ad2838 Add smbldap_pull_sid 2009-05-28 10:52:04 +02:00
b6981e79df samba3/ldb: Update the ldb_dn API to match that of the Samba 4 LDB:
* ldb_dn_new() now takes an initial DN string
 * ldb_dn_string_compose() -> ldb_dn_new_fmt()
 * dummy ldb_dn_validate(), since LDB DNs in the current implementation
   are always valid if they could be created.
2009-04-23 18:27:32 +02:00
9b64073cf7 ldb/samba3: Support event context argument to ldb_init().
This argument is ignored (Samba3's LDB is synchronous) but having it
there is useful for API compatibility with the LDB used by Samba 4 and
available on some systems.
2009-04-23 18:27:31 +02:00
e7466d0207 Add comment explaining the previous fix.
Jeremy.
2009-04-22 03:03:04 -07:00
265ffe01f2 Fix bug #6279 - winbindd crash. Cope with LDAP libraries returning LDAP_SUCCESS but not returning a result.
Jeremy
2009-04-22 02:58:24 -07:00
3b3e21bd9b Convert Samba3 to use the common lib/util/charset API
This removes calls to push_*_allocate() and pull_*_allocate(), as well
as convert_string_allocate, as they are not in the common API

To allow transition to a common charcnv in future, provide Samba4-like
strupper functions in source3/lib/charcnv.c

(the actual implementation remains distinct, but the API is now shared)

Andrew Bartlett
2009-04-14 12:53:56 +10:00
d71dec9259 s3-libads: avoid NULL talloc context with ads_get_dn().
Guenther
2009-04-07 01:17:30 +02:00
2050187673 s3:libads Make ads_get_dn() take a talloc context
Also remove ads_memfree(), which was only ever a wrapper around
SAFE_FREE, used only to free the DN from ads_get_ds().

This actually makes libgpo more consistant, as it mixed a talloc and a
malloc based string on the same element.

Andrew Bartlett

Signed-off-by: Günther Deschner <gd@samba.org>
2009-04-06 15:54:41 +02:00
3f9daf434a s3/libads: Change "ldap ssl:ads" parameter to "ldap ssl ads".
Karolin
2009-02-05 15:55:14 +01:00
27408de533 s3: fix bug #6073: prevent ads_connect() from using SSL unless explicitly requested
This fixes "net ads join".
It copes with the changed default "ldap ssl = start tls".
A new boolean option "ldap ssl : ads" is added to allow for
explicitly requesting ssl with  ads.

Michael
2009-01-29 13:23:06 +01:00
073e9f42f0 ads_connect: Return immediately on a failed GC connection.
ads_connect_gc() feeds an explicit server to ads_connect().  However, if the
resulting connection fails, the latter function was attempting to find a DC
on its own and continuing the connection.  This resulting in GC searches being
sent over a connection using port 389 which would fail when using the base
search suffix outside of the domain naming context.

The fix is to fail immediately in ads_connect() since the GC lookup ordering
is handled already in ads_connect_gc().
2009-01-16 12:15:33 -06:00
b143938b8a Fix more asprintf errors and error code paths.
Jeremy.
2008-12-23 11:27:19 -08:00
17efebde11 s3:libads/ldap.c: store the dc name in the saf cache as in all other places
metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit 543fa85a71)
2008-12-13 11:42:36 +01:00
a8040d5965 s3:libads/ldap.c: if the client belongs to no site at all any dc is the closest
metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit f86ef9b53a)
2008-12-13 11:42:36 +01:00
2f27ffc4a2 s3:libads/ldap.c: pass the real workgroup name to get_dc_name()
metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit c2d4a84abe)
2008-12-13 11:42:36 +01:00
7f779450cb s3: libads: use get_dc_name() instead of get_sorted_dc_list() in the LDAP case
We use get_dc_name() for LDAP because it generates the selfwritten
krb5.conf with the correct kdc addresses and sets KRB5_CONFIG.

For CLDAP we need to use get_sorted_dc_list() to avoid recursion.

metze

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit d2f7f81f4d)
2008-12-13 11:42:34 +01:00
26461a72da s3:libads/ldap.c: return an error instead of crashing when no realm is given
The bug was triggered by "net ads info -S 127.8.7.6" (where 127.8.7.6 doesn't ex
and "disable netbios = yes".

metze

Signed-off-by: Michael Adam <obnox@samba.org>
2008-11-24 15:23:50 +01:00
6d59be1e6d Fix extended DN parse error when AD object does not have a SID.
Some AD objects, like Exchange Public Folders, can be members of Security
Groups but do not have a SID attribute.  This patch adds more granular return
errors to ads_get_sid_from_extended_dn().  Callers can now determine if a parse
error occured because of bad input, or the DN was valid but contained no SID.

I updated all callers to ignore SIDless objects when appropriate.

Also did some cleanup to the out paths of lookup_usergroups_memberof()
2008-11-18 13:02:21 -08:00
9a7900fb38 Whitespace and >80 column cleanups. 2008-11-18 13:02:20 -08:00
1f3e4f39c5 Use GUID_string rather than smb_uuid_string(). 2008-10-14 02:26:18 +02:00
d5a11f9679 fix build warnings.
Guenther
2008-10-13 00:40:57 +02:00
218f482fbf Use common strlist implementation in Samba 3 and Samba 4. 2008-10-12 00:56:56 +02:00
9eea6929e3 Fix an uninitialized variable found by the IBM Checker 2008-10-04 22:15:03 +02:00
f07431f5ba s3-nbt: use the new generated nbt.
Guenther
2008-09-24 03:34:23 +02:00
825f06c3f9 libads: remove unused vars.
Guenther
(This used to be commit ea9fc3bea3)
2008-08-20 22:07:40 +02:00
9ff1ffcbee libads: Add API call to connect to a global catalog server.
Extends ads_connect() to a new call ads_connect_gc() which connects on port
3268 rather than port 389.  Also makes ads_try_connect() static and
only used internally to ldap.c
(This used to be commit f4c37dbe2c)
2008-06-27 10:26:11 -04:00
7b1f015675 libads: add ads_connect_user_creds() that won't overwrite given user creds.
Guenther
(This used to be commit 026018c9f1)
2008-06-24 23:37:49 +02:00
0447e6a0a7 libads: add ads_get_machine_kvno() to make ads_get_kvno() a bit more generic.
Guenther
(This used to be commit cb7ace209c)
2008-06-17 19:54:09 +02:00
3688eeafa3 libads: fix logic error in ads_get_kvno().
Guenther
(This used to be commit 132b038581)
2008-06-17 19:51:14 +02:00
aaa2a4f447 Revert "Fix a memleak in ads_find_dc() in case get_sorted_dc_list() fails"
This reverts commit df8d089bc6.
(This used to be commit 342f885820)
2008-06-17 12:20:54 +02:00
d261e16cfd Fix a memleak in ads_find_dc() in case get_sorted_dc_list() fails
This is really not a proper place to fix this, but as get_gc_list() and friends
are about to be replaced anyway, just work around the broken existing API
(This used to be commit df8d089bc6)
2008-06-05 10:56:18 +02:00
fb37f15600 Cleanup size_t return values in callers of convert_string_allocate
This patch is the second iteration of an inside-out conversion to cleanup
functions in charcnv.c returning size_t == -1 to indicate failure.
(This used to be commit 6b189dabc5)
2008-05-20 22:40:13 +02:00
eeb126a379 libads/cldap: store client sitename also keyed by dns domain name.
Guenther
(This used to be commit 0388b2f0cc)
2008-05-15 16:38:32 +02:00
847d385f7b Fix Bug #5465 (joining with createcomputer=ou1/ou2/ou3).
Guenther
(This used to be commit f3251ba03a)
2008-05-14 23:53:23 +02:00
cdd9913c4a cldap: let ads_cldap_netlogon() return all possible cldap replies.
Guenther
(This used to be commit 6f9d5e1cc9)
2008-05-09 14:59:18 +02:00
778a5414b1 Fix bug 5419: memory leak in ads_do_search_all_args() when enumerating 1000s of entries
The ads_do_search_all_args() function attempts to string together several
LDAPMessage structures, returned across several paged ldap requests, into a
single LDAPMessage structure.  It does this by pulling entries off the second
LDAPMessage structure and appending them to the first via the OpenLDAP specific
ldap_add_result_entry() call.

The problem with this approach is it skips non-entry messages such as the
result, and controls.  These messages are leaked.

The short term solution as suggested by Volker is to replace the ads_*_entry()
calls with ads_*_message() calls so we don't leak any messages.

This fixes the leak but doesn't remove the dependence on the OpenLDAP specific
implementation of ldap_add_result_entry().
(This used to be commit f1a5405409)
2008-04-26 08:11:20 -07:00
bcbac69d1a cldap: avoid duplicate definitions so remove ads_cldap.h.
Guenther
(This used to be commit 538eefe22a)
2008-04-21 20:21:40 +02:00
1dd7ab38e7 cldap: add talloc context to ads_cldap_netlogon().
Guenther
(This used to be commit 4cee7b1bd5)
2008-04-21 20:21:40 +02:00
ba98dd4989 libads: Use libnbt for CLDAP reply parsing.
Guenther
(This used to be commit 751f3064a5)
2008-04-21 20:21:39 +02:00
33a3766f03 Add ads_check_ou_dn().
Guenther
(This used to be commit 380e9d26db)
2008-03-28 16:43:59 +01:00
561fb9daa4 Fix Coverity ID 487
(This used to be commit 22cee9c1af)
2008-03-23 19:44:55 +01:00
e06aa46b9f Coverity fixes
(This used to be commit 3fc85d2259)
2008-03-17 20:52:25 +01:00
b361956942 str_list_free is not needed anymore
(This used to be commit feddc1447d)
2008-02-04 21:05:41 +01:00
2762b9a975 Always pass a TALLOC_CTX to str_list_make and str_list_copy
(This used to be commit e2c9fc4cf5)
2008-02-04 20:57:49 +01:00
6c764172e5 When running with debug level > 10, dump ads_struct in ads_connect().
Guenther
(This used to be commit 2dd7c64fa8)
2008-01-31 11:05:25 +01:00
f89fa0a6f8 Do not ignore provided machine_name in ads_get_upn().
Guenther
(This used to be commit ddc1307844)
2008-01-08 14:07:01 +01:00
4aba7475ef Re-Indent function ldap_open_with_timeout().
This reverts commit #cafda34783f0961c9b463803c19cfcb69f836e3f .

I just learned (the hard way) that these indeted functions
are not indented by accident but that the intention of this
is to not include the prototype into proto.h.

Michael
(This used to be commit 2e5d01b214)
2008-01-04 22:56:10 +01:00