drs-replica-info: level_not_supported is wrong when we do support (partialy the level)
authorMatthieu Patou <mat@matws.net>
Thu, 27 Sep 2012 08:27:50 +0000 (01:27 -0700)
committerMatthieu Patou <mat@matws.net>
Mon, 8 Oct 2012 04:51:02 +0000 (21:51 -0700)
source4/dsdb/kcc/kcc_drs_replica_info.c

index 8075242eb0e9e4205aaffd4a81bea0351d5a9c99..0b6b82ad5633fd0c73f3b21b3ab8dd51d2707fbc 100644 (file)
@@ -862,35 +862,39 @@ NTSTATUS kccdrs_replica_get_info(struct irpc_message *msg,
                                                             ldb_dn_new(mem_ctx, samdb, object_dn_str));
                break;
        case DRSUAPI_DS_REPLICA_INFO_CURSORS3: /* On MS-DRSR it is DS_REPL_INFO_CURSORS_3_FOR_NC */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1: /* On MS-DRSR it is DS_REPL_INFO_UPTODATE_VECTOR_V1 */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA: /* On MS-DRSR it is DS_REPL_INFO_METADATA_FOR_OBJ */
-               status = WERR_INVALID_LEVEL;
+               /*
+                * It should be too complicated to filter the metadata2 to remove the additional data
+                * as metadata2 is a superset of metadata
+                */
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2: /* On MS-DRSR it is DS_REPL_INFO_METADATA_FOR_OBJ */
                status = kccdrs_replica_get_info_obj_metadata2(mem_ctx, samdb, req, reply,
                                                               ldb_dn_new(mem_ctx, samdb, object_dn_str), base_index);
                break;
        case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA: /* On MS-DRSR it is DS_REPL_INFO_METADATA_FOR_ATTR_VALUE */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2: /* On MS-DRSR it is DS_REPL_INFO_METADATA_2_FOR_ATTR_VALUE */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES: /* On MS-DRSR it is DS_REPL_INFO_KCC_DSA_CONNECT_FAILURES */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES: /* On MS-DRSR it is DS_REPL_INFO_KCC_LINK_FAILURES */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS: /* On MS-DRSR it is DS_REPL_INFO_CLIENT_CONTEXTS */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS: /* On MS-DRSR it is DS_REPL_INFO_SERVER_OUTGOING_CALLS */
-               status = WERR_INVALID_LEVEL;
+               status = WERR_NOT_SUPPORTED;
                break;
        default:
                DEBUG(1,(__location__ ": Unsupported DsReplicaGetInfo info_type %u\n",