]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
dsdb/common: add dsdb_dc_functional_level() helper
authorStefan Metzmacher <metze@samba.org>
Thu, 23 Dec 2021 10:34:02 +0000 (11:34 +0100)
committerJoseph Sutton <jsutton@samba.org>
Fri, 24 Dec 2021 02:16:33 +0000 (02:16 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
source4/dsdb/common/util.c

index 9b4afa452153db65d4b774cbdda79ed385d38bd4..5da75f2d28f48018153d2f66cbdcbbecc9001bf1 100644 (file)
@@ -3841,6 +3841,21 @@ int dsdb_forest_functional_level(struct ldb_context *ldb)
        return *forestFunctionality;
 }
 
+/*
+ * This detects and returns the DC functional level (DS_DOMAIN_FUNCTION_*)
+ */
+int dsdb_dc_functional_level(struct ldb_context *ldb)
+{
+       int *dcFunctionality =
+               talloc_get_type(ldb_get_opaque(ldb, "domainFunctionality"), int);
+       if (!dcFunctionality) {
+               /* this is expected during initial provision */
+               DEBUG(4,(__location__ ": WARNING: domainControllerFunctionality not setup\n"));
+               return DS_DOMAIN_FUNCTION_2008_R2;
+       }
+       return *dcFunctionality;
+}
+
 /*
   set a GUID in an extended DN structure
  */