From 97f0b8d9c964fd67bd652eaa41a883305876710f Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Thu, 27 Sep 2012 01:27:50 -0700 Subject: [PATCH 12/20] drs-replica-info: level_not_supported is wrong when we do support (partialy the level) --- source4/dsdb/kcc/kcc_drs_replica_info.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/source4/dsdb/kcc/kcc_drs_replica_info.c b/source4/dsdb/kcc/kcc_drs_replica_info.c index 8075242..0b6b82a 100644 --- a/source4/dsdb/kcc/kcc_drs_replica_info.c +++ b/source4/dsdb/kcc/kcc_drs_replica_info.c @@ -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", -- 1.7.9.5