The branch, master has been updated
       via  303089f... s4:dsdb/common/util.c - provide a call which returns the 
forest function level
       via  3b1d74f... libds/common/flags.h - fix a comment's typo
       via  e53fc12... s4:dsdb/common/util.c - use LDB constants whenever 
possible
      from  75adca6... libcli/auth Make the source3/ implementation of the 
NTLMSSP server common

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


- Log -----------------------------------------------------------------
commit 303089f5b8ced9fb80ed76cb0205f0cdf11fc530
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Mon Aug 9 19:52:00 2010 +0200

    s4:dsdb/common/util.c - provide a call which returns the forest function 
level
    
    Sooner or later we'll need this too since not all operations depend only on 
the
    current's domain function level (see the MS-ADTS docs).

commit 3b1d74f4b677842a0cbe16ba29be7d672c07b87c
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Mon Aug 9 19:48:03 2010 +0200

    libds/common/flags.h - fix a comment's typo

commit e53fc1228f12ff2ce2c84936e38fef3b5ae311c4
Author: Matthias Dieter Wallnöfer <[email protected]>
Date:   Mon Aug 9 19:45:45 2010 +0200

    s4:dsdb/common/util.c - use LDB constants whenever possible

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

Summary of changes:
 libds/common/flags.h       |    2 +-
 source4/dsdb/common/util.c |   33 +++++++++++++++++++++++----------
 2 files changed, 24 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libds/common/flags.h b/libds/common/flags.h
index be1e839..021db2a 100644
--- a/libds/common/flags.h
+++ b/libds/common/flags.h
@@ -172,7 +172,7 @@
 
 /* "domainFunctionality", "forestFunctionality" and 
"domainControllerFunctionality" in the rootDSE */
 #define DS_DOMAIN_FUNCTION_2000                0
-#define DS_DOMAIN_FUNCTION_2003_MIXED  1 /* Not a valid/meaningfulxs
+#define DS_DOMAIN_FUNCTION_2003_MIXED  1 /* Not a valid/meaningful
                                           * domainControllerFunctionality
                                           * Level */
 #define DS_DOMAIN_FUNCTION_2003                2
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c
index 52ba81d..7c5fd8a 100644
--- a/source4/dsdb/common/util.c
+++ b/source4/dsdb/common/util.c
@@ -1831,7 +1831,7 @@ bool samdb_is_pdc(struct ldb_context *ldb)
        }
 
        ret = ldb_search(ldb, tmp_ctx, &dom_res, ldb_get_default_basedn(ldb), 
LDB_SCOPE_BASE, dom_attrs, NULL);
-       if (ret) {
+       if (ret != LDB_SUCCESS) {
                DEBUG(1,("Searching for fSMORoleOwner in %s failed: %s\n", 
                         ldb_dn_get_linearized(ldb_get_default_basedn(ldb)), 
                         ldb_errstring(ldb)));
@@ -1877,7 +1877,7 @@ bool samdb_is_gc(struct ldb_context *ldb)
 
        /* Query cn=ntds settings,.... */
        ret = ldb_search(ldb, tmp_ctx, &res, samdb_ntds_settings_dn(ldb), 
LDB_SCOPE_BASE, attrs, NULL);
-       if (ret) {
+       if (ret != LDB_SUCCESS) {
                talloc_free(tmp_ctx);
                return false;
        }
@@ -1903,7 +1903,7 @@ int samdb_search_for_parent_domain(struct ldb_context 
*ldb, TALLOC_CTX *mem_ctx,
        TALLOC_CTX *local_ctx;
        struct ldb_dn *sdn = dn;
        struct ldb_result *res = NULL;
-       int ret = 0;
+       int ret = LDB_SUCCESS;
        const char *attrs[] = { NULL };
 
        local_ctx = talloc_new(mem_ctx);
@@ -2350,7 +2350,7 @@ struct ldb_dn *samdb_domain_to_dn(struct ldb_context 
*ldb, TALLOC_CTX *mem_ctx,
                                            domain_ref_attrs,
                                            
"(&(nETBIOSName=%s)(objectclass=crossRef))", 
                                            escaped_domain);
-       if (ret_domain != 0) {
+       if (ret_domain != LDB_SUCCESS) {
                return NULL;
        }
 
@@ -2361,7 +2361,7 @@ struct ldb_dn *samdb_domain_to_dn(struct ldb_context 
*ldb, TALLOC_CTX *mem_ctx,
                                                LDB_SCOPE_BASE,
                                                domain_ref2_attrs,
                                                "(objectclass=domain)");
-               if (ret_domain != 0) {
+               if (ret_domain != LDB_SUCCESS) {
                        return NULL;
                }
 
@@ -2895,7 +2895,7 @@ int samdb_ntds_options(struct ldb_context *ldb, uint32_t 
*options)
        }
 
        ret = ldb_search(ldb, tmp_ctx, &res, samdb_ntds_settings_dn(ldb), 
LDB_SCOPE_BASE, attrs, NULL);
-       if (ret) {
+       if (ret != LDB_SUCCESS) {
                goto failed;
        }
 
@@ -2922,7 +2922,7 @@ const char* samdb_ntds_object_category(TALLOC_CTX 
*tmp_ctx, struct ldb_context *
        struct ldb_result *res;
 
        ret = ldb_search(ldb, tmp_ctx, &res, samdb_ntds_settings_dn(ldb), 
LDB_SCOPE_BASE, attrs, NULL);
-       if (ret) {
+       if (ret != LDB_SUCCESS) {
                goto failed;
        }
 
@@ -2965,8 +2965,7 @@ const char *samdb_cn_to_lDAPDisplayName(TALLOC_CTX 
*mem_ctx, const char *cn)
 }
 
 /*
-  return domain functional level
-  returns DS_DOMAIN_FUNCTION_*
+ * This detects and returns the domain functional level (DS_DOMAIN_FUNCTION_*)
  */
 int dsdb_functional_level(struct ldb_context *ldb)
 {
@@ -2980,6 +2979,20 @@ int dsdb_functional_level(struct ldb_context *ldb)
 }
 
 /*
+ * This detects and returns the forest functional level (DS_DOMAIN_FUNCTION_*)
+ */
+int dsdb_forest_functional_level(struct ldb_context *ldb)
+{
+       int *forestFunctionality =
+               talloc_get_type(ldb_get_opaque(ldb, "forestFunctionality"), 
int);
+       if (!forestFunctionality) {
+               DEBUG(0,(__location__ ": WARNING: forestFunctionality not 
setup\n"));
+               return DS_DOMAIN_FUNCTION_2000;
+       }
+       return *forestFunctionality;
+}
+
+/*
   set a GUID in an extended DN structure
  */
 int dsdb_set_extended_dn_guid(struct ldb_dn *dn, const struct GUID *guid, 
const char *component_name)
@@ -3209,7 +3222,7 @@ int dsdb_find_nc_root(struct ldb_context *samdb, 
TALLOC_CTX *mem_ctx, struct ldb
 
        ret = ldb_search(samdb, tmp_ctx, &root_res,
                         ldb_dn_new(tmp_ctx, samdb, ""), LDB_SCOPE_BASE, 
root_attrs, NULL);
-       if (ret) {
+       if (ret != LDB_SUCCESS) {
                DEBUG(1,("Searching for namingContexts in rootDSE failed: 
%s\n", ldb_errstring(samdb)));
                talloc_free(tmp_ctx);
                return ret;


-- 
Samba Shared Repository

Reply via email to