From: Matthieu Patou Date: Thu, 27 Sep 2012 08:27:50 +0000 (-0700) Subject: drs-replica-info: level_not_supported is wrong when we do support (partialy the level) X-Git-Tag: ldb-1.1.14~350 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=97f0b8d9c964fd67bd652eaa41a883305876710f;p=thirdparty%2Fsamba.git drs-replica-info: level_not_supported is wrong when we do support (partialy the level) --- diff --git a/source4/dsdb/kcc/kcc_drs_replica_info.c b/source4/dsdb/kcc/kcc_drs_replica_info.c index 8075242eb0e..0b6b82ad563 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",