<!--
  ~ Copyright (c) 2020, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
  ~
  ~ WSO2 Inc. 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.
  -->

<FindBugsFilter>
    <Match>
        <Bug pattern="CRLF_INJECTION_LOGS" />
    </Match>
    <Match>
        <Bug pattern="FORMAT_STRING_MANIPULATION" />
    </Match>
    <Match>
        <Bug pattern="JAXRS_ENDPOINT" />
    </Match>
    <!-- Excluded since this bug is fixed in Java 8+ versions :
    https://find-sec-bugs.github.io/bugs.htm#WEAK_FILENAMEUTILS -->
    <Match>
        <Bug pattern="WEAK_FILENAMEUTILS" />
    </Match>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.application.management.common.ApplicationManagementConstants" />
            <Bug pattern="HARD_CODE_PASSWORD" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.keystore.management.v1.core.KeyStoreService" />
            <Bug pattern="PATH_TRAVERSAL_IN" />
        </Match>
    </FindBugsFilter>
    <!-- Excluded since false positive. -->
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.configs.common.SchemaConfigParser" />
            <Bug pattern="PATH_TRAVERSAL_IN" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.rest.api.server.challenge.v1.core.ServerChallengeService" />
            <Method name="patchChallengeSet" />
            <Bug pattern="IMPROPER_UNICODE" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.application.management.v1.core.functions.application.ServiceProviderToApiModel" />
            <Method name="isResidentSp" />
            <Bug pattern="IMPROPER_UNICODE" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.application.management.v1.core.functions.application.UpdateAuthenticationSequence" />
            <Method name="isRevertToDefaultSequence" />
            <Bug pattern="IMPROPER_UNICODE" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.tenant.management.v1.core.ServerTenantManagementService" />
            <Method name="createTenantInfoBean" />
            <Bug pattern="IMPROPER_UNICODE" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.tenant.management.v1.core.ServerTenantManagementService" />
            <Method name="validateInputAgainstCode" />
            <Bug pattern="IMPROPER_UNICODE" />
        </Match>
    </FindBugsFilter>

    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.rest.api.server.claim.management.v1.core.ServerClaimManagementService" />
            <Method name="validateAttributeMappings" />
            <Bug pattern="IMPROPER_UNICODE" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.application.management.v1.core.functions.Utils" />
            <Method name="deepCopyApplication" />
            <Bug pattern="OBJECT_DESERIALIZATION" />
        </Match>
    </FindBugsFilter>
    <FindBugsFilter>
        <Match>
            <Class name="org.wso2.carbon.identity.api.server.script.library.v1.core.ServerScriptLibrariesService" />
            <Or>
                <Method name="addScriptLibrary" />
                <Method name="updateScriptLibrary" />
            </Or>
            <Bug pattern="PATH_TRAVERSAL_IN" />
        </Match>
    </FindBugsFilter>
</FindBugsFilter>