<?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.3.xsd">
  <!-- add supressions for false-positives detected by OWASP Dependency Check -->
  <suppress>
    <notes>
      apache:http_server is not used.
    </notes>
    <cpe>cpe:/a:apache:http_server</cpe>
  </suppress>
  <suppress>
    <notes>pulsar-zookeeper-utils gets mixed with zookeeper.</notes>
    <gav regex="true">org\.apache\.pulsar:.*</gav>
    <cpe>cpe:/a:apache:zookeeper</cpe>
  </suppress>
  <suppress>
    <notes>pulsar-package-bookkeeper-storage gets mixed with bookkeeper.</notes>
    <gav regex="true">org\.apache\.pulsar:.*</gav>
    <cpe>cpe:/a:apache:bookkeeper</cpe>
  </suppress>
  <suppress>
    <notes>kubernetes client doesn't contain CVE-2020-8554</notes>
    <gav regex="true">io\.kubernetes:.*</gav>
    <cve>CVE-2020-8554</cve>
  </suppress>
  <suppress>
    <notes>avro doesn't contain CVE-2019-17195</notes>
    <gav regex="true">org\.apache\.avro:.*</gav>
    <cve>CVE-2019-17195</cve>
  </suppress>
  <suppress>
    <notes>CVE-2021-43045 affects only .NET distro, see https://github.com/apache/avro/pull/1357</notes>
    <gav regex="true">org\.apache\.avro:.*</gav>
    <cve>CVE-2021-43045</cve>
  </suppress>
  <suppress base="true">
    <notes><![CDATA[
        FP per #3889
        ]]></notes>
    <packageUrl regex="true">^pkg:maven/io\.netty/netty\-tcnative\-classes@.*$</packageUrl>
    <cpe>cpe:/a:netty:netty</cpe>
  </suppress>
</suppressions>