<?xml version="1.0" encoding="UTF-8"?>
<!--
 *   Licensed to the Apache Software Foundation (ASF) under one
 *   or more contributor license agreements.  See the NOTICE file
 *   distributed with this work for additional information
 *   regarding copyright ownership.  The ASF licenses this file
 *   to you under the Apache License, Version 2.0 (the
 *   "License"); you may not use this file except in compliance
 *   with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing,
 *   software distributed under the License is distributed on an
 *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *   KIND, either express or implied.  See the License for the
 *   specific language governing permissions and limitations
 *   under the License.
 *
-->
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.1.xsd">
    <!-- Suppress OWASP warnings about openldap serverside vulnerabilities, not applicable here. -->
    <suppress>
        <notes><![CDATA[
      file name: accelerator-api-1.0-RC41.jar
      ]]></notes>
        <gav regex="true">^org\.openldap:accelerator-api:.*$</gav>
        <cpe>cpe:/a:openldap:openldap</cpe>
    </suppress>
    <suppress>
        <notes><![CDATA[
      file name: accelerator-impl-1.0-RC41.jar
      ]]></notes>
        <gav regex="true">^org\.openldap:accelerator-impl:.*$</gav>
        <cpe>cpe:/a:openldap:openldap</cpe>
    </suppress>
</suppressions>