[SCM] Samba Shared Repository - branch v3-6-test updated
Günther Deschner
gd at samba.org
Fri Feb 11 05:57:25 MST 2011
The branch, v3-6-test has been updated
via 41906e2 s3-waf: use bld.env.HAVE_LDAP in some more places, hopefully fixes the builds w/o ldap.
via 8a95c44 s3-waf: rework the way SMBLDAP subsystem is built a little.
via 8fa7d4e waf: substitute '/' in -D static defines as well.
via 071c2fe s3-libsmb: fix ifdef check in ads_dc_name.
via a83db7e s3-libnet: fix a WITH_ADS / HAVE_ADS mismatch.
via 168bb60 s3-libads: make ads_guess_service_principal static.
from feb446a s3: Avoid a select call per smb
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test
- Log -----------------------------------------------------------------
commit 41906e2907142cd3328219dbe21519109d84ca9d
Author: Günther Deschner <gd at samba.org>
Date: Fri Feb 11 12:09:25 2011 +0100
s3-waf: use bld.env.HAVE_LDAP in some more places, hopefully fixes the builds w/o ldap.
Guenther
Autobuild-User: Günther Deschner <gd at samba.org>
Autobuild-Date: Fri Feb 11 13:08:38 CET 2011 on sn-devel-104
(cherry picked from commit 8015514c5b19acf37e6121eefdc8464fb89e60c2)
commit 8a95c44ef7cf3be361c01511dfddc7d41b677730
Author: Günther Deschner <gd at samba.org>
Date: Fri Feb 11 12:07:39 2011 +0100
s3-waf: rework the way SMBLDAP subsystem is built a little.
Guenther
(cherry picked from commit 1bad50f648fff0a145d56bf3094c14b6e0845fa2)
commit 8fa7d4e7ae57f668691e61fab68e81371fb3e5bf
Author: Günther Deschner <gd at samba.org>
Date: Fri Feb 11 12:05:10 2011 +0100
waf: substitute '/' in -D static defines as well.
Tridge, please check.
Guenther
(cherry picked from commit d08ddf08a8f008909e3cf4ff1c1933566f1ec275)
commit 071c2fefbde566d699ffd6af3e9491c248851e01
Author: Günther Deschner <gd at samba.org>
Date: Fri Feb 11 11:16:08 2011 +0100
s3-libsmb: fix ifdef check in ads_dc_name.
We are accessing an LDAP structure here, so we better check that LDAP support
was there as well as Kerberos support.
Guenther
(cherry picked from commit e4bf69285b25f709740fc688b304e2f000112380)
commit a83db7edb121eebb5243f9a1dfd6ec0058f0e7e1
Author: Günther Deschner <gd at samba.org>
Date: Fri Feb 11 11:14:57 2011 +0100
s3-libnet: fix a WITH_ADS / HAVE_ADS mismatch.
Guenther
(cherry picked from commit c7d0850ee8d938c8742d62cc887ed784ec8b1b25)
commit 168bb60b658d7b39a1480b915001402b5ad57412
Author: Günther Deschner <gd at samba.org>
Date: Fri Feb 11 11:14:27 2011 +0100
s3-libads: make ads_guess_service_principal static.
Guenther
(cherry picked from commit f076c76260f24e15be11394ea0bb9456564dda49)
-----------------------------------------------------------------------
Summary of changes:
buildtools/wafsamba/samba_deps.py | 6 ++-
source3/libads/ads_proto.h | 2 -
source3/libads/sasl.c | 69 +++++++++++++++++++++++++++++++++++++
source3/libads/util.c | 69 -------------------------------------
source3/libnet/libnet_join.c | 20 +++++-----
source3/libsmb/namequery_dc.c | 2 +-
source3/passdb/wscript_build | 2 +-
source3/winbindd/wscript_build | 20 ++++++-----
source3/wscript | 3 +-
source3/wscript_build | 8 ++---
10 files changed, 100 insertions(+), 101 deletions(-)
Changeset truncated at 500 lines:
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index c405fee..f397b6d 100644
--- a/buildtools/wafsamba/samba_deps.py
+++ b/buildtools/wafsamba/samba_deps.py
@@ -214,9 +214,11 @@ def add_init_functions(self):
cflags = getattr(self, 'samba_cflags', [])[:]
if modules == []:
- cflags.append('-DSTATIC_%s_MODULES=%s' % (sname.replace('-','_'), sentinal))
+ sname = sname.replace('-','_')
+ sname = sname.replace('/','_')
+ cflags.append('-DSTATIC_%s_MODULES=%s' % (sname, sentinal))
if sentinal == 'NULL':
- cflags.append('-DSTATIC_%s_MODULES_PROTO' % sname.replace('-','_'))
+ cflags.append('-DSTATIC_%s_MODULES_PROTO' % sname)
self.ccflags = cflags
return
diff --git a/source3/libads/ads_proto.h b/source3/libads/ads_proto.h
index 6fbd3aa..040825e 100644
--- a/source3/libads/ads_proto.h
+++ b/source3/libads/ads_proto.h
@@ -152,5 +152,3 @@ ADS_STATUS ads_setup_sasl_wrapping(ADS_STRUCT *ads,
/* The following definitions come from libads/util.c */
ADS_STATUS ads_change_trust_account_password(ADS_STRUCT *ads, char *host_principal);
-ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads,
- char **returned_principal);
diff --git a/source3/libads/sasl.c b/source3/libads/sasl.c
index 2ba3474..e7daa8a 100644
--- a/source3/libads/sasl.c
+++ b/source3/libads/sasl.c
@@ -644,6 +644,75 @@ static void ads_free_service_principal(struct ads_service_principal *p)
ZERO_STRUCTP(p);
}
+
+static ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads,
+ char **returned_principal)
+{
+ char *princ = NULL;
+
+ if (ads->server.realm && ads->server.ldap_server) {
+ char *server, *server_realm;
+
+ server = SMB_STRDUP(ads->server.ldap_server);
+ server_realm = SMB_STRDUP(ads->server.realm);
+
+ if (!server || !server_realm) {
+ SAFE_FREE(server);
+ SAFE_FREE(server_realm);
+ return ADS_ERROR(LDAP_NO_MEMORY);
+ }
+
+ strlower_m(server);
+ strupper_m(server_realm);
+ if (asprintf(&princ, "ldap/%s@%s", server, server_realm) == -1) {
+ SAFE_FREE(server);
+ SAFE_FREE(server_realm);
+ return ADS_ERROR(LDAP_NO_MEMORY);
+ }
+
+ SAFE_FREE(server);
+ SAFE_FREE(server_realm);
+
+ if (!princ) {
+ return ADS_ERROR(LDAP_NO_MEMORY);
+ }
+ } else if (ads->config.realm && ads->config.ldap_server_name) {
+ char *server, *server_realm;
+
+ server = SMB_STRDUP(ads->config.ldap_server_name);
+ server_realm = SMB_STRDUP(ads->config.realm);
+
+ if (!server || !server_realm) {
+ SAFE_FREE(server);
+ SAFE_FREE(server_realm);
+ return ADS_ERROR(LDAP_NO_MEMORY);
+ }
+
+ strlower_m(server);
+ strupper_m(server_realm);
+ if (asprintf(&princ, "ldap/%s@%s", server, server_realm) == -1) {
+ SAFE_FREE(server);
+ SAFE_FREE(server_realm);
+ return ADS_ERROR(LDAP_NO_MEMORY);
+ }
+
+ SAFE_FREE(server);
+ SAFE_FREE(server_realm);
+
+ if (!princ) {
+ return ADS_ERROR(LDAP_NO_MEMORY);
+ }
+ }
+
+ if (!princ) {
+ return ADS_ERROR(LDAP_PARAM_ERROR);
+ }
+
+ *returned_principal = princ;
+
+ return ADS_SUCCESS;
+}
+
static ADS_STATUS ads_generate_service_principal(ADS_STRUCT *ads,
const char *given_principal,
struct ads_service_principal *p)
diff --git a/source3/libads/util.c b/source3/libads/util.c
index 44b4c78..6a6b42a 100644
--- a/source3/libads/util.c
+++ b/source3/libads/util.c
@@ -53,73 +53,4 @@ failed:
SAFE_FREE(password);
return ret;
}
-
-ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads,
- char **returned_principal)
-{
- char *princ = NULL;
-
- if (ads->server.realm && ads->server.ldap_server) {
- char *server, *server_realm;
-
- server = SMB_STRDUP(ads->server.ldap_server);
- server_realm = SMB_STRDUP(ads->server.realm);
-
- if (!server || !server_realm) {
- SAFE_FREE(server);
- SAFE_FREE(server_realm);
- return ADS_ERROR(LDAP_NO_MEMORY);
- }
-
- strlower_m(server);
- strupper_m(server_realm);
- if (asprintf(&princ, "ldap/%s@%s", server, server_realm) == -1) {
- SAFE_FREE(server);
- SAFE_FREE(server_realm);
- return ADS_ERROR(LDAP_NO_MEMORY);
- }
-
- SAFE_FREE(server);
- SAFE_FREE(server_realm);
-
- if (!princ) {
- return ADS_ERROR(LDAP_NO_MEMORY);
- }
- } else if (ads->config.realm && ads->config.ldap_server_name) {
- char *server, *server_realm;
-
- server = SMB_STRDUP(ads->config.ldap_server_name);
- server_realm = SMB_STRDUP(ads->config.realm);
-
- if (!server || !server_realm) {
- SAFE_FREE(server);
- SAFE_FREE(server_realm);
- return ADS_ERROR(LDAP_NO_MEMORY);
- }
-
- strlower_m(server);
- strupper_m(server_realm);
- if (asprintf(&princ, "ldap/%s@%s", server, server_realm) == -1) {
- SAFE_FREE(server);
- SAFE_FREE(server_realm);
- return ADS_ERROR(LDAP_NO_MEMORY);
- }
-
- SAFE_FREE(server);
- SAFE_FREE(server_realm);
-
- if (!princ) {
- return ADS_ERROR(LDAP_NO_MEMORY);
- }
- }
-
- if (!princ) {
- return ADS_ERROR(LDAP_PARAM_ERROR);
- }
-
- *returned_principal = princ;
-
- return ADS_SUCCESS;
-}
-
#endif
diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c
index 6c85608..22278ba 100644
--- a/source3/libnet/libnet_join.c
+++ b/source3/libnet/libnet_join.c
@@ -102,7 +102,7 @@ static void libnet_unjoin_set_error_string(TALLOC_CTX *mem_ctx,
va_end(args);
}
-#ifdef WITH_ADS
+#ifdef HAVE_ADS
/****************************************************************
****************************************************************/
@@ -642,7 +642,7 @@ static ADS_STATUS libnet_join_post_processing_ads(TALLOC_CTX *mem_ctx,
return ADS_SUCCESS;
}
-#endif /* WITH_ADS */
+#endif /* HAVE_ADS */
/****************************************************************
Store the machine password and domain SID
@@ -1710,7 +1710,7 @@ static WERROR libnet_join_post_processing(TALLOC_CTX *mem_ctx,
saf_join_store(r->out.dns_domain_name, r->in.dc_name);
}
-#ifdef WITH_ADS
+#ifdef HAVE_ADS
if (r->out.domain_is_ad &&
!(r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_UNSECURE)) {
ADS_STATUS ads_status;
@@ -1720,7 +1720,7 @@ static WERROR libnet_join_post_processing(TALLOC_CTX *mem_ctx,
return WERR_GENERAL_FAILURE;
}
}
-#endif /* WITH_ADS */
+#endif /* HAVE_ADS */
libnet_join_add_dom_rids_to_builtins(r->out.domain_sid);
@@ -1928,9 +1928,9 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,
NTSTATUS status;
WERROR werr;
struct cli_state *cli = NULL;
-#ifdef WITH_ADS
+#ifdef HAVE_ADS
ADS_STATUS ads_status;
-#endif /* WITH_ADS */
+#endif /* HAVE_ADS */
if (!r->in.dc_name) {
struct netr_DsRGetDCNameInfo *info;
@@ -1971,7 +1971,7 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,
goto done;
}
-#ifdef WITH_ADS
+#ifdef HAVE_ADS
if (r->out.domain_is_ad && r->in.account_ou &&
!(r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_UNSECURE)) {
@@ -1991,7 +1991,7 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,
r->in.join_flags &= ~WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE;
}
-#endif /* WITH_ADS */
+#endif /* HAVE_ADS */
if ((r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_UNSECURE) &&
(r->in.join_flags & WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED)) {
@@ -2149,7 +2149,7 @@ static WERROR libnet_DomainUnjoin(TALLOC_CTX *mem_ctx,
W_ERROR_HAVE_NO_MEMORY(r->in.dc_name);
}
-#ifdef WITH_ADS
+#ifdef HAVE_ADS
/* for net ads leave, try to delete the account. If it works,
no sense in disabling. If it fails, we can still try to
disable it. jmcd */
@@ -2176,7 +2176,7 @@ static WERROR libnet_DomainUnjoin(TALLOC_CTX *mem_ctx,
return WERR_OK;
}
}
-#endif /* WITH_ADS */
+#endif /* HAVE_ADS */
/* The WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE flag really means
"disable". */
diff --git a/source3/libsmb/namequery_dc.c b/source3/libsmb/namequery_dc.c
index 5d44719..23850e3 100644
--- a/source3/libsmb/namequery_dc.c
+++ b/source3/libsmb/namequery_dc.c
@@ -101,7 +101,7 @@ static bool ads_dc_name(const char *domain,
continue;
}
-#ifdef HAVE_KRB5
+#ifdef HAVE_ADS
if (is_our_primary_domain(domain) && (ads->config.flags & NBT_SERVER_KDC)) {
if (ads_closest_dc(ads)) {
/* We're going to use this KDC for this realm/domain.
diff --git a/source3/passdb/wscript_build b/source3/passdb/wscript_build
index 4a41fe5..be381c8 100644
--- a/source3/passdb/wscript_build
+++ b/source3/passdb/wscript_build
@@ -23,7 +23,7 @@ bld.SAMBA_MODULE('pdb_ldap',
source=PDB_LDAP_SRC,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldap'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldap'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldap') and bld.env.HAVE_LDAP)
bld.SAMBA_MODULE('pdb_ads',
subsystem='pdb',
diff --git a/source3/winbindd/wscript_build b/source3/winbindd/wscript_build
index fd4bdad..bb2ae3f 100644
--- a/source3/winbindd/wscript_build
+++ b/source3/winbindd/wscript_build
@@ -28,7 +28,8 @@ bld.SAMBA_SUBSYSTEM('idmap',
bld.SAMBA_SUBSYSTEM('IDMAP_ADEX',
source=IDMAP_ADEX_SRC,
- vars=locals())
+ vars=locals(),
+ enabled=bld.env.HAVE_LDAP)
bld.SAMBA_SUBSYSTEM('IDMAP_HASH',
source=IDMAP_HASH_SRC,
@@ -36,7 +37,8 @@ bld.SAMBA_SUBSYSTEM('IDMAP_HASH',
bld.SAMBA_SUBSYSTEM('IDMAP_AD',
source=IDMAP_AD_SRC,
- vars=locals())
+ vars=locals(),
+ enabled=bld.env.HAVE_LDAP)
bld.SAMBA_MODULE('idmap_ad',
subsystem='idmap',
@@ -44,7 +46,7 @@ bld.SAMBA_MODULE('idmap_ad',
deps='IDMAP_AD',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad' and bld.env.HAVE_LDAP))
bld.SAMBA_MODULE('idmap_rid',
subsystem='idmap',
@@ -65,7 +67,7 @@ bld.SAMBA_MODULE('idmap_ldap',
source=IDMAP_LDAP_SRC,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ldap'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ldap'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ldap') and bld.env.HAVE_LDAP)
bld.SAMBA_MODULE('idmap_nss',
subsystem='idmap',
@@ -102,7 +104,7 @@ bld.SAMBA_MODULE('idmap_adex',
deps='IDMAP_ADEX',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_adex'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_adex'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_adex') and bld.env.HAVE_LDAP)
bld.SAMBA_MODULE('idmap_autorid',
subsystem='idmap',
@@ -132,7 +134,7 @@ bld.SAMBA_MODULE('nss_info_adex',
deps='IDMAP_ADEX',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_adex'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_adex'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_adex') and bld.env.HAVE_LDAP)
bld.SAMBA_MODULE('nss_info_hash',
subsystem='nss_info',
@@ -148,7 +150,7 @@ bld.SAMBA_MODULE('nss_info_rfc2307',
deps='IDMAP_AD',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.env.HAVE_LDAP)
bld.SAMBA_MODULE('nss_info_sfu20',
subsystem='nss_info',
@@ -156,7 +158,7 @@ bld.SAMBA_MODULE('nss_info_sfu20',
deps='IDMAP_AD',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.env.HAVE_LDAP)
bld.SAMBA_MODULE('nss_info_sfu',
subsystem='nss_info',
@@ -164,4 +166,4 @@ bld.SAMBA_MODULE('nss_info_sfu',
deps='IDMAP_AD',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.env.HAVE_LDAP)
diff --git a/source3/wscript b/source3/wscript
index cbc7cd3..3957fca 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -572,8 +572,7 @@ msg.msg_acctrightslen = sizeof(fd);
if conf.CONFIG_SET('HAVE_LDAP_INIT'):
conf.DEFINE('HAVE_LDAP', '1')
conf.DEFINE('LDAP_DEPRECATED', '1')
- conf.env['SMBLDAP'] = 'lib/smbldap.c'
- conf.env['SMBLDAPUTIL'] = 'lib/smbldap_util.c'
+ conf.env['HAVE_LDAP'] = '1'
else:
conf.SET_TARGET_TYPE('ldap', 'EMPTY')
conf.SET_TARGET_TYPE('lber', 'EMPTY')
diff --git a/source3/wscript_build b/source3/wscript_build
index fde1d17..8d10b7a 100644
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -11,10 +11,7 @@ TDB_LIB_SRC = '''
TDB_VALIDATE_SRC = '''lib/tdb_validate.c'''
-SMBLDAP = bld.env.SMBLDAP or ""
-SMBLDAPUTIL = bld.env.SMBLDAPUTIL or ""
-
-SMBLDAP_SRC = '''${SMBLDAP} ${SMBLDAPUTIL}'''
+SMBLDAP_SRC = '''lib/smbldap.c lib/smbldap_util.c'''
VERSION_SRC = '''lib/version.c'''
@@ -880,7 +877,8 @@ bld.SAMBA_SUBSYSTEM('SECRETS',
bld.SAMBA_SUBSYSTEM('SMBLDAP',
source=SMBLDAP_SRC,
deps='ldap lber',
- vars=locals())
+ vars=locals(),
+ enabled=bld.env.HAVE_LDAP)
bld.SAMBA_SUBSYSTEM('LIBADS',
source=LIBADS_SRC,
--
Samba Shared Repository
More information about the samba-cvs
mailing list