Hi,

I was doing a smoke-test with Windows Server 2016 after receiving
several requests from users (mainly about IDMU deprecation) and find out
that WS 2016 reports a higher Domain Compatibility level.

Even though that Windows Server release is not officially out yet and
the documentation hasn't been amended yet at:
    https://msdn.microsoft.com/en-us/library/cc223272.aspx
I think we could merge this patch without breaking anything.
>From 6af263f425c4c54fc01aeeb3bbc47366b2b6a82b Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhro...@redhat.com>
Date: Wed, 6 Apr 2016 15:26:15 +0200
Subject: [PATCH] AD: Recognize Windows Server 2016

Even though at this time the MSDN documentation at:
    https://msdn.microsoft.com/en-us/library/cc223272.aspx
still claims that "7" is a value of DS_BEHAVIOR_WINTHRESHOLD, testing
with Windows Server 2016 Preview already shows that server reporting a
new value of Domain Controller Functionality.
---
 src/providers/ldap/sdap.c | 6 ++++--
 src/providers/ldap/sdap.h | 3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/providers/ldap/sdap.c b/src/providers/ldap/sdap.c
index 
888cbb509f7daa998fe8f4a35c3da62835524418..686f726667aa862bfbac74ae41621d4f9115282f
 100644
--- a/src/providers/ldap/sdap.c
+++ b/src/providers/ldap/sdap.c
@@ -1347,6 +1347,7 @@ int sdap_get_server_opts_from_rootdse(TALLOC_CTX *memctx,
             case DS_BEHAVIOR_WIN2008R2:
             case DS_BEHAVIOR_WIN2012:
             case DS_BEHAVIOR_WIN2012R2:
+            case DS_BEHAVIOR_WIN2016:
                 opts->dc_functional_level = dc_level;
                 DEBUG(SSSDBG_CONF_SETTINGS,
                       "Setting AD compatibility level to [%d]\n",
@@ -1354,8 +1355,9 @@ int sdap_get_server_opts_from_rootdse(TALLOC_CTX *memctx,
                 break;
             default:
                 DEBUG(SSSDBG_MINOR_FAILURE,
-                      "Received invalid value for AD compatibility level. "
-                      "Using the lowest-common compatibility level\n");
+                      "Received invalid value [%d] for AD compatibility level. 
"
+                      "Using the lowest-common compatibility level\n",
+                      dc_level);
                 opts->dc_functional_level = DS_BEHAVIOR_WIN2003;
             }
         } else if (ret != ENOENT) {
diff --git a/src/providers/ldap/sdap.h b/src/providers/ldap/sdap.h
index 
44b8cfb1c971e059db5d8a12613db9c0e67d13a6..10c8ff6e068fba4ff75f8202c9ffe0f52aa2750a
 100644
--- a/src/providers/ldap/sdap.h
+++ b/src/providers/ldap/sdap.h
@@ -391,7 +391,8 @@ enum dc_functional_level {
     DS_BEHAVIOR_WIN2008 = 3,
     DS_BEHAVIOR_WIN2008R2 = 4,
     DS_BEHAVIOR_WIN2012 = 5,
-    DS_BEHAVIOR_WIN2012R2 = 6
+    DS_BEHAVIOR_WIN2012R2 = 6,
+    DS_BEHAVIOR_WIN2016 = 7,
 };
 
 struct sdap_domain {
-- 
2.4.11

_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org

Reply via email to