s4-libads: Confirm newer functional levels in check_cldap_reply_required_flags()
[samba.git] / source3 / libads / cldap.c
index c44201ab8b58e968cc741a1724762f67ff41b193..623d98dcdf41661f2710076ec1c3d02d780afc0a 100644 (file)
@@ -82,6 +82,19 @@ bool check_cldap_reply_required_flags(uint32_t ret_flags,
        if (req_flags & DS_WRITABLE_REQUIRED)
                RETURN_ON_FALSE(ret_flags & NBT_SERVER_WRITABLE);
 
+       if (req_flags & DS_DIRECTORY_SERVICE_6_REQUIRED)
+               RETURN_ON_FALSE(ret_flags & (NBT_SERVER_SELECT_SECRET_DOMAIN_6
+                                            |NBT_SERVER_FULL_SECRET_DOMAIN_6));
+
+       if (req_flags & DS_DIRECTORY_SERVICE_8_REQUIRED)
+               RETURN_ON_FALSE(ret_flags & NBT_SERVER_DS_8);
+
+       if (req_flags & DS_DIRECTORY_SERVICE_9_REQUIRED)
+               RETURN_ON_FALSE(ret_flags & NBT_SERVER_DS_9);
+
+       if (req_flags & DS_DIRECTORY_SERVICE_10_REQUIRED)
+               RETURN_ON_FALSE(ret_flags & NBT_SERVER_DS_10);
+
        return true;
 }