[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Fri Feb 11 05:09:01 MST 2011


The branch, master has been updated
       via  8015514 s3-waf: use bld.env.HAVE_LDAP in some more places, hopefully fixes the builds w/o ldap.
       via  1bad50f s3-waf: rework the way SMBLDAP subsystem is built a little.
       via  d08ddf0 waf: substitute '/' in -D static defines as well.
       via  e4bf692 s3-libsmb: fix ifdef check in ads_dc_name.
       via  c7d0850 s3-libnet: fix a WITH_ADS / HAVE_ADS mismatch.
       via  f076c76 s3-libads: make ads_guess_service_principal static.
      from  16229e4 s3: Avoid a select call per smb

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 8015514c5b19acf37e6121eefdc8464fb89e60c2
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

commit 1bad50f648fff0a145d56bf3094c14b6e0845fa2
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

commit d08ddf08a8f008909e3cf4ff1c1933566f1ec275
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

commit e4bf69285b25f709740fc688b304e2f000112380
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

commit c7d0850ee8d938c8742d62cc887ed784ec8b1b25
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

commit f076c76260f24e15be11394ea0bb9456564dda49
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

-----------------------------------------------------------------------

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 8f002c8..188c2dd 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 cb5cdcb..a201979 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