diff --git a/gateway/enforcer/Dockerfile b/gateway/enforcer/Dockerfile index 62ed13dfb..ecf65f38e 100644 --- a/gateway/enforcer/Dockerfile +++ b/gateway/enforcer/Dockerfile @@ -14,117 +14,138 @@ # limitations under the License. # ----------------------------------------------------------------------- -FROM ubuntu:22.04 - -ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' - -# Upgrade Ubuntu Dependencies -RUN apt-get update \ - && apt-get upgrade -y - -# install JDK Dependencies -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl wget ca-certificates fontconfig locales \ - && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ - && locale-gen en_US.UTF-8 \ - && rm -rf /var/lib/apt/lists/* - -ENV JAVA_VERSION jdk-17.0.8.1+1 - -RUN set -eux; \ - ARCH="$(dpkg --print-architecture)"; \ - case "${ARCH}" in \ - amd64|i386:x86-64) \ - ESUM='ab68857594792474a3049ede09ea1178e42df29803a6a41be771794f571b2d4e'; \ - BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jre_x64_linux_hotspot_17.0.8.1_1.tar.gz'; \ - ;; \ - aarch64|arm64) \ - ESUM='0a1c5c9ee9d20832c87bd1e99a4c4a96947b59bb35c72683fe895d705f202737'; \ - BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.8.1_1.tar.gz'; \ - ;; \ - *) \ - echo "Unsupported arch: ${ARCH}"; \ - exit 1; \ - ;; \ - esac; \ - curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ - echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ - mkdir -p /opt/java/openjdk; \ - cd /opt/java/openjdk; \ - tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ - rm -rf /tmp/openjdk.tar.gz; - -ENV JAVA_HOME=/opt/java/openjdk \ - PATH="/opt/java/openjdk/bin:$PATH" - -LABEL maintainer="WSO2 Docker Maintainers " - -ENV LANG=C.UTF-8 - -ARG APK_USER=wso2 -ARG APK_USER_ID=10001 -ARG APK_USER_GROUP=wso2 -ARG APK_USER_GROUP_ID=10001 -ARG APK_USER_HOME=/home/${APK_USER} -ARG GRPC_HEALTH_PROBE_PATH=/bin/grpc_health_probe -ARG TARGETARCH -ARG APK_VERSION=1.1.0-SNAPSHOT - -ENV VERSION=${APK_VERSION} -ENV JAVA_OPTS="" -ENV ENFORCER_HOME=${APK_USER_HOME} -ARG CHECKSUM_AMD64="7e564681110ee4563637457b91e42f62f96b79618a835bb05ae2305acdcc3db0" -ARG CHECKSUM_ARM64="3759148e22a494149a4abae269adee0d20c428b966683426e2319f9047da521d" -ENV ENFORCER_PRIVATE_KEY_PATH=/home/wso2/security/keystore/mg.key -ENV ENFORCER_PUBLIC_CERT_PATH=/home/wso2/security/keystore/mg.pem -ENV TRUSTED_CA_CERTS_PATH=/home/wso2/security/truststore -ENV ADAPTER_HOST_NAME=adapter -ENV ADAPTER_HOST=adapter -ENV ADAPTER_XDS_PORT=18000 -ENV COMMON_CONTROLLER_HOST_NAME=common-controller -ENV COMMON_CONTROLLER_HOST=common-controller -ENV COMMON_CONTROLLER_XDS_PORT=18002 -ENV ENFORCER_LABEL="default" -ENV XDS_MAX_MSG_SIZE=4194304 -ENV XDS_MAX_RETRIES=3 -#todo update the connection string -ENV APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=;IngestionEndpoint=https://westus2-2.in.applicationinsights.azure.com/ - -ARG MOTD="\n\ - Welcome to WSO2 Docker Resources \n\ - --------------------------------- \n\ - This Docker container comprises of a WSO2 product, which is under the Apache License, Version 2.0. \n\ - Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n" - -RUN \ - apt-get update && apt-get dist-upgrade -y && apt-get autoclean -y && apt-get autoremove -y -RUN \ - groupadd --system -g ${APK_USER_GROUP_ID} ${APK_USER_GROUP} \ - && useradd --system --create-home --home-dir ${APK_USER_HOME} --no-log-init -g ${APK_USER_GROUP} -u ${APK_USER_ID} ${APK_USER} \ - && mkdir ${APK_USER_HOME}/logs && mkdir -p ${APK_USER_HOME}/lib/dropins \ - && chown -R ${APK_USER}:${APK_USER_GROUP} ${APK_USER_HOME} \ - && echo '[ ! -z "${TERM}" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc; echo "${MOTD}" > /etc/motd - -RUN \ - wget -q https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/v0.4.24/grpc_health_probe-linux-${TARGETARCH} \ - && mv grpc_health_probe-linux-${TARGETARCH} ${GRPC_HEALTH_PROBE_PATH}\ - && if [ "${TARGETARCH}" = "amd64" ]; then echo "${CHECKSUM_AMD64} ${GRPC_HEALTH_PROBE_PATH}" | sha256sum -c -; fi - -RUN \ - chmod +x ${GRPC_HEALTH_PROBE_PATH} \ - && chown ${APK_USER}:${APK_USER_GROUP} ${GRPC_HEALTH_PROBE_PATH} \ - && chgrp -R 0 ${APK_USER_HOME} \ - && chmod -R g=u ${APK_USER_HOME} - -WORKDIR ${APK_USER_HOME} -USER ${APK_USER_ID} - -COPY resources/lib lib/ -COPY resources/conf/log4j2.properties conf/log4j2.properties -COPY resources/security security -COPY resources/check_health.sh . - -#todo add applicationinsights.json file and point it to the appInsightsAgent jar -#Add the agent using JVM arg -javaagent:/home/wso2/conf/applicationinsights-agent-3.1.1.jar -#Add the config file using System property -Dapplicationinsights.configuration.file=/home/wso2/conf/applicationinsights.json -CMD java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="${ENFORCER_HOME}/logs/heap-dump.hprof" $JAVA_OPTS -Dlog4j.configurationFile="${ENFORCER_HOME}/conf/log4j2.properties" -DtracingEnabled="true" -jar lib/enforcer-${VERSION}.jar + FROM ghcr.io/graalvm/native-image-community:17-ol8 as build + + LABEL maintainer="WSO2 Docker Maintainers " + + ENV LANG=C.UTF-8 + + ARG APK_USER=wso2 + ARG APK_USER_ID=10001 + ARG APK_USER_GROUP=wso2 + ARG APK_USER_GROUP_ID=10001 + ARG APK_USER_HOME=/home/${APK_USER} + ARG GRPC_HEALTH_PROBE_PATH=/bin/grpc_health_probe + ARG TARGETARCH + ARG APK_VERSION=1.1.0-SNAPSHOT + + ENV VERSION=${APK_VERSION} + + WORKDIR /app/build + + COPY resources/lib/enforcer-${VERSION}.jar . + + RUN native-image -jar enforcer-${VERSION}.jar -H:Name=enforcer --no-fallback + + FROM ubuntu:22.04 + + ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + + # Upgrade Ubuntu Dependencies + RUN apt-get update \ + && apt-get upgrade -y + + # install JDK Dependencies + RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl wget ca-certificates fontconfig locales \ + && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ + && locale-gen en_US.UTF-8 \ + && rm -rf /var/lib/apt/lists/* + + # ENV JAVA_VERSION jdk-17.0.8.1+1 + + # RUN set -eux; \ + # ARCH="$(dpkg --print-architecture)"; \ + # case "${ARCH}" in \ + # amd64|i386:x86-64) \ + # ESUM='ab68857594792474a3049ede09ea1178e42df29803a6a41be771794f571b2d4e'; \ + # BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jre_x64_linux_hotspot_17.0.8.1_1.tar.gz'; \ + # ;; \ + # aarch64|arm64) \ + # ESUM='0a1c5c9ee9d20832c87bd1e99a4c4a96947b59bb35c72683fe895d705f202737'; \ + # BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.8.1_1.tar.gz'; \ + # ;; \ + # *) \ + # echo "Unsupported arch: ${ARCH}"; \ + # exit 1; \ + # ;; \ + # esac; \ + # curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ + # echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ + # mkdir -p /opt/java/openjdk; \ + # cd /opt/java/openjdk; \ + # tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ + # rm -rf /tmp/openjdk.tar.gz; + + # ENV JAVA_HOME=/opt/java/openjdk \ + # PATH="/opt/java/openjdk/bin:$PATH" + + + ARG APK_USER=wso2 + ARG APK_USER_ID=10001 + ARG APK_USER_GROUP=wso2 + ARG APK_USER_GROUP_ID=10001 + ARG APK_USER_HOME=/home/${APK_USER} + ARG GRPC_HEALTH_PROBE_PATH=/bin/grpc_health_probe + ARG TARGETARCH + ARG APK_VERSION=1.1.0-SNAPSHOT + + ENV VERSION=${APK_VERSION} + ENV JAVA_OPTS="" + ENV ENFORCER_HOME=${APK_USER_HOME} + ARG CHECKSUM_AMD64="7e564681110ee4563637457b91e42f62f96b79618a835bb05ae2305acdcc3db0" + ARG CHECKSUM_ARM64="3759148e22a494149a4abae269adee0d20c428b966683426e2319f9047da521d" + ENV ENFORCER_PRIVATE_KEY_PATH=/home/wso2/security/keystore/mg.key + ENV ENFORCER_PUBLIC_CERT_PATH=/home/wso2/security/keystore/mg.pem + ENV TRUSTED_CA_CERTS_PATH=/home/wso2/security/truststore + ENV ADAPTER_HOST_NAME=adapter + ENV ADAPTER_HOST=adapter + ENV ADAPTER_XDS_PORT=18000 + ENV COMMON_CONTROLLER_HOST_NAME=common-controller + ENV COMMON_CONTROLLER_HOST=common-controller + ENV COMMON_CONTROLLER_XDS_PORT=18002 + ENV ENFORCER_LABEL="default" + ENV XDS_MAX_MSG_SIZE=4194304 + ENV XDS_MAX_RETRIES=3 + #todo update the connection string + ENV APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=;IngestionEndpoint=https://westus2-2.in.applicationinsights.azure.com/ + + ARG MOTD="\n\ + Welcome to WSO2 Docker Resources \n\ + --------------------------------- \n\ + This Docker container comprises of a WSO2 product, which is under the Apache License, Version 2.0. \n\ + Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n" + + RUN \ + apt-get update && apt-get dist-upgrade -y && apt-get autoclean -y && apt-get autoremove -y + RUN \ + groupadd --system -g ${APK_USER_GROUP_ID} ${APK_USER_GROUP} \ + && useradd --system --create-home --home-dir ${APK_USER_HOME} --no-log-init -g ${APK_USER_GROUP} -u ${APK_USER_ID} ${APK_USER} \ + && mkdir ${APK_USER_HOME}/logs && mkdir -p ${APK_USER_HOME}/lib/dropins \ + && chown -R ${APK_USER}:${APK_USER_GROUP} ${APK_USER_HOME} \ + && echo '[ ! -z "${TERM}" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc; echo "${MOTD}" > /etc/motd + + RUN \ + wget -q https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/v0.4.24/grpc_health_probe-linux-${TARGETARCH} \ + && mv grpc_health_probe-linux-${TARGETARCH} ${GRPC_HEALTH_PROBE_PATH}\ + && if [ "${TARGETARCH}" = "amd64" ]; then echo "${CHECKSUM_AMD64} ${GRPC_HEALTH_PROBE_PATH}" | sha256sum -c -; fi + + RUN \ + chmod +x ${GRPC_HEALTH_PROBE_PATH} \ + && chown ${APK_USER}:${APK_USER_GROUP} ${GRPC_HEALTH_PROBE_PATH} \ + && chgrp -R 0 ${APK_USER_HOME} \ + && chmod -R g=u ${APK_USER_HOME} + + WORKDIR ${APK_USER_HOME} + USER ${APK_USER_ID} + + COPY --from=build /app/build/enforcer lib/ + COPY resources/conf/log4j2.properties conf/log4j2.properties + COPY resources/security security + COPY resources/check_health.sh . + + #todo add applicationinsights.json file and point it to the appInsightsAgent jar + #Add the agent using JVM arg -javaagent:/home/wso2/conf/applicationinsights-agent-3.1.1.jar + #Add the config file using System property -Dapplicationinsights.configuration.file=/home/wso2/conf/applicationinsights.json + CMD ./lib/enforcer $JAVA_OPTS -Dlog4j.configurationFile="${ENFORCER_HOME}/conf/log4j2.properties" -DtracingEnabled="true" + \ No newline at end of file diff --git a/gateway/enforcer/org.wso2.apk.enforcer.commons/build.gradle b/gateway/enforcer/org.wso2.apk.enforcer.commons/build.gradle index 28bbec357..4e91a5d84 100644 --- a/gateway/enforcer/org.wso2.apk.enforcer.commons/build.gradle +++ b/gateway/enforcer/org.wso2.apk.enforcer.commons/build.gradle @@ -30,6 +30,11 @@ dependencies { implementation libs.json.simple implementation libs.commons.lang3 implementation libs.gson + implementation group: 'org.bouncycastle', name: 'bcpkix-jdk18on', version: "1.78" + implementation group: 'org.bouncycastle', name: 'bcprov-jdk18on', version: "1.78" + implementation group: 'org.bouncycastle', name: 'bcutil-jdk18on', version: "1.78" + implementation group: 'org.bouncycastle', name: 'bctls-jdk18on', version: "1.78" + compileOnly group: 'org.graalvm.nativeimage', name: 'svm', version: "22.2.0" implementation project(':org.wso2.apk.enforcer.analytics.publishers') annotationProcessor('org.apache.logging.log4j:log4j-core:2.19.0') } diff --git a/gateway/enforcer/org.wso2.apk.enforcer.commons/src/main/java/org/wso2/apk/enforcer/commons/svm/BouncyCastleFeature.java b/gateway/enforcer/org.wso2.apk.enforcer.commons/src/main/java/org/wso2/apk/enforcer/commons/svm/BouncyCastleFeature.java new file mode 100644 index 000000000..24ab15031 --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer.commons/src/main/java/org/wso2/apk/enforcer/commons/svm/BouncyCastleFeature.java @@ -0,0 +1,22 @@ +package org.wso2.apk.enforcer.commons.svm; + +import org.bouncycastle.jce.provider.BouncyCastleProvider; +import org.bouncycastle.jsse.provider.BouncyCastleJsseProvider; +import org.graalvm.nativeimage.hosted.Feature; +import org.graalvm.nativeimage.hosted.RuntimeClassInitialization; + +import java.security.Security; + +/** + * This is a class used in GraalVM to register BC as the security provider at runtime. + */ +public class BouncyCastleFeature implements Feature { + + @Override + public void afterRegistration(AfterRegistrationAccess access) { + RuntimeClassInitialization.initializeAtBuildTime("org.bouncycastle"); + Security.addProvider(new BouncyCastleProvider()); + Security.addProvider(new BouncyCastleJsseProvider()); + } + +} diff --git a/gateway/enforcer/org.wso2.apk.enforcer/build.gradle b/gateway/enforcer/org.wso2.apk.enforcer/build.gradle index 21fdfe75c..152a74138 100644 --- a/gateway/enforcer/org.wso2.apk.enforcer/build.gradle +++ b/gateway/enforcer/org.wso2.apk.enforcer/build.gradle @@ -93,7 +93,7 @@ dependencies { implementation libs.commons.lang3 implementation libs.openfeign.feign.gson implementation libs.openfeign.feign.slf4j - + implementation 'org.bouncycastle:bcprov-jdk18on:1.78.1' test { implementation libs.junit implementation libs.mockito.inline diff --git a/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/jni-config.json b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/jni-config.json new file mode 100644 index 000000000..f68386238 --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/jni-config.json @@ -0,0 +1,100 @@ +[ +{ + "name":"[B" +}, +{ + "name":"[Lcom.sun.management.internal.DiagnosticCommandArgumentInfo;" +}, +{ + "name":"[Lcom.sun.management.internal.DiagnosticCommandInfo;" +}, +{ + "name":"[Ljava.lang.String;" +}, +{ + "name":"com.sun.management.internal.DiagnosticCommandArgumentInfo", + "methods":[{"name":"","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","boolean","boolean","int"] }] +}, +{ + "name":"com.sun.management.internal.DiagnosticCommandInfo", + "methods":[{"name":"","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","java.util.List"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.Buffer" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateCallbackTask", + "methods":[{"name":"","parameterTypes":["long","byte[]","byte[][]","io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateCallback"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateVerifierTask", + "methods":[{"name":"","parameterTypes":["long","byte[][]","java.lang.String","io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateVerifier"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.Library" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.NativeStaticallyReferencedJniMethods" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSL" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLContext" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethodDecryptTask", + "methods":[{"name":"","parameterTypes":["long","byte[]","io.grpc.netty.shaded.io.netty.internal.tcnative.AsyncSSLPrivateKeyMethod"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethodSignTask", + "methods":[{"name":"","parameterTypes":["long","int","byte[]","io.grpc.netty.shaded.io.netty.internal.tcnative.AsyncSSLPrivateKeyMethod"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethodTask", + "fields":[{"name":"resultBytes"}] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLSession" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLTask", + "fields":[{"name":"complete"}, {"name":"returnValue"}] +}, +{ + "name":"java.lang.Boolean", + "methods":[{"name":"getBoolean","parameterTypes":["java.lang.String"] }] +}, +{ + "name":"java.lang.Exception" +}, +{ + "name":"java.lang.IllegalArgumentException" +}, +{ + "name":"java.lang.NullPointerException" +}, +{ + "name":"java.lang.OutOfMemoryError" +}, +{ + "name":"java.lang.SecurityManager", + "fields":[{"name":"initialized"}] +}, +{ + "name":"java.lang.String", + "methods":[{"name":"","parameterTypes":["byte[]"] }, {"name":"getBytes","parameterTypes":[] }] +}, +{ + "name":"java.util.Arrays", + "methods":[{"name":"asList","parameterTypes":["java.lang.Object[]"] }] +}, +{ + "name":"org.wso2.apk.enforcer.server.AuthServer", + "methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }] +}, +{ + "name":"sun.management.VMManagementImpl", + "fields":[{"name":"compTimeMonitoringSupport"}, {"name":"currentThreadCpuTimeSupport"}, {"name":"objectMonitorUsageSupport"}, {"name":"otherThreadCpuTimeSupport"}, {"name":"remoteDiagnosticCommandsSupport"}, {"name":"synchronizerUsageSupport"}, {"name":"threadAllocatedMemorySupport"}, {"name":"threadContentionMonitoringSupport"}] +} +] diff --git a/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/native-image.properties b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/native-image.properties new file mode 100644 index 000000000..a5551ab67 --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/native-image.properties @@ -0,0 +1,22 @@ +Args = --features=org.wso2.apk.enforcer.commons.svm.BouncyCastleFeature \ + --initialize-at-build-time=org.apache.logging.log4j \ + --initialize-at-build-time=org.slf4j \ + --initialize-at-build-time=org.apache.logging.slf4j.Log4jMarkerFactory \ + --initialize-at-build-time=org.apache.logging.slf4j.Log4jLoggerFactory \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.handler.ssl.OpenSsl \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.channel.epoll.Epoll \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoop \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.channel.epoll.Native \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventArray \ + -H:ClassInitialization=org.bouncycastle.jcajce.provider.drbg.DRBG\$Default:rerun,org.bouncycastle.jcajce.provider.drbg.DRBG\$NonceAndIV:rerun \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.channel.unix.IovArray \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.channel.unix.Errors \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethod \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.internal.tcnative.SSL \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateVerifier \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateCompressionAlgo \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.internal.tcnative.AsyncSSLPrivateKeyMethod \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.channel.unix.Limits \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.handler.ssl.ReferenceCountedOpenSslEngine \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.handler.ssl.OpenSslAsyncPrivateKeyMethod \ + --initialize-at-run-time=io.grpc.netty.shaded.io.netty.handler.ssl.OpenSslPrivateKeyMethod \ No newline at end of file diff --git a/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/predefined-classes-config.json b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/predefined-classes-config.json new file mode 100644 index 000000000..847895071 --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/predefined-classes-config.json @@ -0,0 +1,7 @@ +[ + { + "type":"agent-extracted", + "classes":[ + ] + } +] diff --git a/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/proxy-config.json b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/proxy-config.json new file mode 100644 index 000000000..b481999f9 --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/proxy-config.json @@ -0,0 +1,6 @@ +[ + { + "interfaces":["org.wso2.apk.enforcer.subscription.SubscriptionValidationDataRetrievalRestClient"] + } + ] + \ No newline at end of file diff --git a/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/reflect-config.json b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/reflect-config.json new file mode 100644 index 000000000..3ffd72bb0 --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/reflect-config.json @@ -0,0 +1,1318 @@ +[ + { + "name":"[B" + }, + { + "name":"[C" + }, + { + "name":"[D" + }, + { + "name":"[F" + }, + { + "name":"[I" + }, + { + "name":"[J" + }, + { + "name":"[Ljava.lang.String;" + }, + { + "name":"[Ljavax.management.openmbean.CompositeData;" + }, + { + "name":"[Lsun.security.pkcs.SignerInfo;" + }, + { + "name":"[S" + }, + { + "name":"[Z" + }, + { + "name":"android.app.Application" + }, + { + "name":"com.google.common.util.concurrent.AbstractFuture", + "fields":[{"name":"listeners"}, {"name":"value"}, {"name":"waiters"}] + }, + { + "name":"com.google.common.util.concurrent.AbstractFuture$Waiter", + "fields":[{"name":"next"}, {"name":"thread"}] + }, + { + "name":"com.google.protobuf.Any", + "methods":[{"name":"getTypeUrl","parameterTypes":[] }, {"name":"getTypeUrlBytes","parameterTypes":[] }, {"name":"getValue","parameterTypes":[] }, {"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"com.google.protobuf.Any$Builder", + "methods":[{"name":"clearTypeUrl","parameterTypes":[] }, {"name":"clearValue","parameterTypes":[] }, {"name":"getTypeUrl","parameterTypes":[] }, {"name":"getTypeUrlBytes","parameterTypes":[] }, {"name":"getValue","parameterTypes":[] }, {"name":"setTypeUrl","parameterTypes":["java.lang.String"] }, {"name":"setTypeUrlBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setValue","parameterTypes":["com.google.protobuf.ByteString"] }] + }, + { + "name":"com.google.protobuf.ExtensionRegistry", + "methods":[{"name":"getEmptyRegistry","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.AESCipher$General", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.AESKeyGenerator", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.ARCFOURCipher", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.DESCipher", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.DESedeCipher", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.DHParameters", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.GaloisCounterMode$AESGCM", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.HmacCore$HmacSHA256", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.PBES2Core$HmacSHA256AndAES_256", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.PBES2Parameters$General", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.PBES2Parameters$HmacSHA256AndAES_256", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.TlsKeyMaterialGenerator", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.TlsMasterSecretGenerator", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.crypto.provider.TlsPrfGenerator$V12", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"com.sun.jndi.dns.DnsContextFactory" + }, + { + "name":"com.sun.management.GarbageCollectorMXBean", + "queryAllPublicMethods":true + }, + { + "name":"com.sun.management.GcInfo", + "queryAllPublicMethods":true + }, + { + "name":"com.sun.management.HotSpotDiagnosticMXBean", + "queryAllPublicMethods":true + }, + { + "name":"com.sun.management.ThreadMXBean", + "queryAllPublicMethods":true + }, + { + "name":"com.sun.management.UnixOperatingSystemMXBean", + "queryAllPublicMethods":true + }, + { + "name":"com.sun.management.VMOption", + "queryAllPublicMethods":true + }, + { + "name":"com.sun.management.internal.GarbageCollectorExtImpl", + "queryAllPublicConstructors":true + }, + { + "name":"com.sun.management.internal.HotSpotDiagnostic", + "queryAllPublicConstructors":true + }, + { + "name":"com.sun.management.internal.HotSpotThreadImpl", + "queryAllPublicConstructors":true + }, + { + "name":"com.sun.management.internal.OperatingSystemImpl", + "queryAllPublicConstructors":true + }, + { + "name":"io.envoyproxy.envoy.config.core.v3.ControlPlane", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"io.envoyproxy.envoy.service.discovery.v3.DiscoveryResponse", + "methods":[{"name":"getCanary","parameterTypes":[] }, {"name":"getControlPlane","parameterTypes":[] }, {"name":"getNonce","parameterTypes":[] }, {"name":"getNonceBytes","parameterTypes":[] }, {"name":"getResources","parameterTypes":["int"] }, {"name":"getResourcesCount","parameterTypes":[] }, {"name":"getResourcesList","parameterTypes":[] }, {"name":"getTypeUrl","parameterTypes":[] }, {"name":"getTypeUrlBytes","parameterTypes":[] }, {"name":"getVersionInfo","parameterTypes":[] }, {"name":"getVersionInfoBytes","parameterTypes":[] }, {"name":"hasControlPlane","parameterTypes":[] }] + }, + { + "name":"io.envoyproxy.envoy.service.discovery.v3.DiscoveryResponse$Builder", + "methods":[{"name":"addResources","parameterTypes":["com.google.protobuf.Any"] }, {"name":"clearCanary","parameterTypes":[] }, {"name":"clearControlPlane","parameterTypes":[] }, {"name":"clearNonce","parameterTypes":[] }, {"name":"clearResources","parameterTypes":[] }, {"name":"clearTypeUrl","parameterTypes":[] }, {"name":"clearVersionInfo","parameterTypes":[] }, {"name":"getCanary","parameterTypes":[] }, {"name":"getControlPlane","parameterTypes":[] }, {"name":"getControlPlaneBuilder","parameterTypes":[] }, {"name":"getNonce","parameterTypes":[] }, {"name":"getNonceBytes","parameterTypes":[] }, {"name":"getResources","parameterTypes":["int"] }, {"name":"getResourcesBuilder","parameterTypes":["int"] }, {"name":"getResourcesCount","parameterTypes":[] }, {"name":"getResourcesList","parameterTypes":[] }, {"name":"getTypeUrl","parameterTypes":[] }, {"name":"getTypeUrlBytes","parameterTypes":[] }, {"name":"getVersionInfo","parameterTypes":[] }, {"name":"getVersionInfoBytes","parameterTypes":[] }, {"name":"hasControlPlane","parameterTypes":[] }, {"name":"setCanary","parameterTypes":["boolean"] }, {"name":"setControlPlane","parameterTypes":["io.envoyproxy.envoy.config.core.v3.ControlPlane"] }, {"name":"setNonce","parameterTypes":["java.lang.String"] }, {"name":"setNonceBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setResources","parameterTypes":["int","com.google.protobuf.Any"] }, {"name":"setTypeUrl","parameterTypes":["java.lang.String"] }, {"name":"setTypeUrlBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setVersionInfo","parameterTypes":["java.lang.String"] }, {"name":"setVersionInfoBytes","parameterTypes":["com.google.protobuf.ByteString"] }] + }, + { + "name":"io.grpc.census.InternalCensusStatsAccessor" + }, + { + "name":"io.grpc.census.InternalCensusTracingAccessor" + }, + { + "name":"io.grpc.internal.DnsNameResolver" + }, + { + "name":"io.grpc.internal.DnsNameResolver$JdkAddressResolver" + }, + { + "name":"io.grpc.internal.DnsNameResolver$Resolve" + }, + { + "name":"io.grpc.internal.DnsNameResolverProvider" + }, + { + "name":"io.grpc.internal.JndiResourceResolverFactory", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"io.grpc.internal.PickFirstLoadBalancerProvider" + }, + { + "name":"io.grpc.internal.SerializingExecutor", + "fields":[{"name":"runState"}] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.AbstractNettyHandler", + "methods":[{"name":"channelActive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler", + "methods":[{"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"close","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"write","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.NettyServer$1" + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.NettyServerHandler", + "methods":[{"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"close","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"write","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.ProtocolNegotiators$ClientTlsHandler" + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.ProtocolNegotiators$GrpcNegotiationHandler", + "methods":[{"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.ProtocolNegotiators$ProtocolNegotiationHandler", + "methods":[{"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.ProtocolNegotiators$ServerTlsHandler", + "methods":[{"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.ProtocolNegotiators$WaitUntilActiveHandler", + "methods":[{"name":"channelActive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }] + }, + { + "name":"io.grpc.netty.shaded.io.grpc.netty.WriteBufferingAndExceptionHandler", + "methods":[{"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"close","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"connect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, {"name":"flush","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"write","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.bootstrap.ServerBootstrap$1" + }, + { + "name":"io.grpc.netty.shaded.io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor", + "methods":[{"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.buffer.AbstractByteBufAllocator", + "queryAllDeclaredMethods":true + }, + { + "name":"io.grpc.netty.shaded.io.netty.buffer.AbstractReferenceCountedByteBuf", + "fields":[{"name":"refCnt"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.AbstractChannelHandlerContext", + "fields":[{"name":"handlerState"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.ChannelDuplexHandler", + "methods":[{"name":"bind","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"close","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"connect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"deregister","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"disconnect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"flush","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"read","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"write","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.ChannelInboundHandlerAdapter", + "methods":[{"name":"channelActive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"channelReadComplete","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRegistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelUnregistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelWritabilityChanged","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, {"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.ChannelInitializer", + "methods":[{"name":"channelRegistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.ChannelOutboundBuffer", + "fields":[{"name":"totalPendingSize"}, {"name":"unwritable"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.DefaultChannelConfig", + "fields":[{"name":"autoRead"}, {"name":"writeBufferWaterMark"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline", + "fields":[{"name":"estimatorHandle"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext", + "methods":[{"name":"bind","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"channelActive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"channelReadComplete","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRegistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelUnregistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelWritabilityChanged","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"close","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"connect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"deregister","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"disconnect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, {"name":"flush","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"read","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"write","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.DefaultChannelPipeline$TailContext", + "methods":[{"name":"channelActive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"channelReadComplete","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRegistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelUnregistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelWritabilityChanged","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, {"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.DefaultFileRegion" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.SimpleChannelInboundHandler", + "methods":[{"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.Epoll", + "methods":[{"name":"isAvailable","parameterTypes":[] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.EpollDomainSocketChannel" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoop" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoopGroup", + "methods":[{"name":"","parameterTypes":["int","java.util.concurrent.ThreadFactory"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.EpollServerSocketChannel", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.EpollSocketChannel", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.NativeDatagramPacketArray$NativeDatagramPacket" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.socket.nio.NioServerSocketChannel", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.unix.DatagramSocketAddress" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.unix.DomainDatagramSocketAddress" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.unix.Errors" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.unix.FileDescriptor", + "fields":[{"name":"state"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.unix.PeerCredentials" + }, + { + "name":"io.grpc.netty.shaded.io.netty.channel.unix.Socket" + }, + { + "name":"io.grpc.netty.shaded.io.netty.handler.codec.ByteToMessageDecoder", + "methods":[{"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2ConnectionHandler", + "methods":[{"name":"bind","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"channelReadComplete","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelWritabilityChanged","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"connect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"deregister","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"disconnect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"flush","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"read","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.handler.logging.LoggingHandler", + "methods":[{"name":"bind","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"channelActive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRead","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"channelReadComplete","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelRegistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelUnregistered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelWritabilityChanged","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"close","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"connect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"deregister","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"disconnect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, {"name":"flush","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"userEventTriggered","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object"] }, {"name":"write","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler", + "methods":[{"name":"bind","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"channelActive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelInactive","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"channelReadComplete","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"close","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"connect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.net.SocketAddress","java.net.SocketAddress","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"deregister","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"disconnect","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }, {"name":"exceptionCaught","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Throwable"] }, {"name":"flush","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"read","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }, {"name":"write","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext","java.lang.Object","io.grpc.netty.shaded.io.netty.channel.ChannelPromise"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateCallback" + }, + { + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.CertificateCallbackTask" + }, + { + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLContext" + }, + { + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethodDecryptTask" + }, + { + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethodSignTask" + }, + { + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLPrivateKeyMethodTask" + }, + { + "name":"io.grpc.netty.shaded.io.netty.internal.tcnative.SSLTask" + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.AbstractReferenceCounted", + "fields":[{"name":"refCnt"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.DefaultAttributeMap", + "fields":[{"name":"attributes"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.Recycler$DefaultHandle", + "fields":[{"name":"state"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.ReferenceCountUtil", + "queryAllDeclaredMethods":true + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.ResourceLeakDetector$DefaultResourceLeak", + "fields":[{"name":"droppedRecords"}, {"name":"head"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.concurrent.DefaultPromise", + "fields":[{"name":"result"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable" + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor", + "fields":[{"name":"state"}, {"name":"threadProperties"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$4" + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.NativeLibraryUtil", + "methods":[{"name":"loadLibrary","parameterTypes":["java.lang.String","boolean"] }] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.ThreadExecutorMap$2" + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields", + "fields":[{"name":"producerLimit"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields", + "fields":[{"name":"consumerIndex"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields", + "fields":[{"name":"producerIndex"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueConsumerIndexField", + "fields":[{"name":"consumerIndex"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerIndexField", + "fields":[{"name":"producerIndex"}] + }, + { + "name":"io.grpc.netty.shaded.io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerLimitField", + "fields":[{"name":"producerLimit"}] + }, + { + "name":"io.grpc.override.ContextStorageOverride" + }, + { + "name":"io.grpc.stub.ClientCalls" + }, + { + "name":"io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider" + }, + { + "name":"io.perfmark.impl.SecretPerfMarkImpl$PerfMarkImpl" + }, + { + "name":"jakarta.servlet.Servlet" + }, + { + "name":"java.io.FileDescriptor" + }, + { + "name":"java.io.IOException" + }, + { + "name":"java.io.ObjectInputStream", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.Boolean", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.Byte", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.Character", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.Class", + "methods":[{"name":"getRecordComponents","parameterTypes":[] }, {"name":"isRecord","parameterTypes":[] }] + }, + { + "name":"java.lang.Deprecated", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.Double", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.Exception" + }, + { + "name":"java.lang.Float", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.IllegalArgumentException" + }, + { + "name":"java.lang.Integer", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.Long", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.NullPointerException" + }, + { + "name":"java.lang.OutOfMemoryError" + }, + { + "name":"java.lang.ProcessHandle", + "methods":[{"name":"current","parameterTypes":[] }, {"name":"pid","parameterTypes":[] }] + }, + { + "name":"java.lang.RuntimeException" + }, + { + "name":"java.lang.Short", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.StackTraceElement", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.String", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.Thread", + "fields":[{"name":"threadLocalRandomProbe"}] + }, + { + "name":"java.lang.Void", + "fields":[{"name":"TYPE"}] + }, + { + "name":"java.lang.management.BufferPoolMXBean", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.ClassLoadingMXBean", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.CompilationMXBean", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.LockInfo", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.ManagementFactory", + "methods":[{"name":"getRuntimeMXBean","parameterTypes":[] }] + }, + { + "name":"java.lang.management.ManagementPermission", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] + }, + { + "name":"java.lang.management.MemoryMXBean", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.MemoryManagerMXBean", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.MemoryPoolMXBean", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.MemoryUsage", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.MonitorInfo", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.management.PlatformLoggingMXBean", + "queryAllPublicMethods":true, + "methods":[{"name":"getLoggerLevel","parameterTypes":["java.lang.String"] }, {"name":"getLoggerNames","parameterTypes":[] }, {"name":"getParentLoggerName","parameterTypes":["java.lang.String"] }, {"name":"setLoggerLevel","parameterTypes":["java.lang.String","java.lang.String"] }] + }, + { + "name":"java.lang.management.RuntimeMXBean", + "queryAllPublicMethods":true, + "methods":[{"name":"getInputArguments","parameterTypes":[] }] + }, + { + "name":"java.lang.management.ThreadInfo", + "queryAllPublicMethods":true + }, + { + "name":"java.lang.reflect.RecordComponent", + "methods":[{"name":"getName","parameterTypes":[] }, {"name":"getType","parameterTypes":[] }] + }, + { + "name":"java.math.BigDecimal" + }, + { + "name":"java.math.BigInteger" + }, + { + "name":"java.net.Inet4AddressImpl" + }, + { + "name":"java.net.InetAddress" + }, + { + "name":"java.net.InetAddress$CachedAddresses" + }, + { + "name":"java.net.InetAddress$NameServiceAddresses" + }, + { + "name":"java.net.InetAddress$PlatformNameService" + }, + { + "name":"java.net.InetSocketAddress", + "methods":[{"name":"getHostString","parameterTypes":[] }] + }, + { + "name":"java.net.PortUnreachableException" + }, + { + "name":"java.nio.Bits", + "fields":[{"name":"UNALIGNED"}] + }, + { + "name":"java.nio.Buffer", + "fields":[{"name":"address"}] + }, + { + "name":"java.nio.ByteBuffer", + "methods":[{"name":"alignedSlice","parameterTypes":["int"] }] + }, + { + "name":"java.nio.DirectByteBuffer", + "methods":[{"name":"","parameterTypes":["long","int"] }] + }, + { + "name":"java.nio.channels.ClosedChannelException" + }, + { + "name":"java.nio.channels.FileChannel" + }, + { + "name":"java.nio.channels.spi.SelectorProvider", + "methods":[{"name":"openServerSocketChannel","parameterTypes":["java.net.ProtocolFamily"] }, {"name":"openSocketChannel","parameterTypes":["java.net.ProtocolFamily"] }] + }, + { + "name":"java.security.AlgorithmParametersSpi" + }, + { + "name":"java.security.KeyStoreSpi" + }, + { + "name":"java.security.SecureRandomParameters" + }, + { + "name":"java.security.interfaces.RSAPrivateKey" + }, + { + "name":"java.security.interfaces.RSAPublicKey" + }, + { + "name":"java.sql.Date" + }, + { + "name":"java.util.Date" + }, + { + "name":"java.util.PropertyPermission", + "methods":[{"name":"","parameterTypes":["java.lang.String","java.lang.String"] }] + }, + { + "name":"java.util.ServiceLoader", + "methods":[{"name":"load","parameterTypes":["java.lang.Class","java.lang.ClassLoader"] }] + }, + { + "name":"java.util.concurrent.Executors$RunnableAdapter" + }, + { + "name":"java.util.concurrent.FutureTask" + }, + { + "name":"java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask" + }, + { + "name":"java.util.concurrent.ThreadPoolExecutor" + }, + { + "name":"java.util.concurrent.ThreadPoolExecutor$Worker" + }, + { + "name":"java.util.concurrent.atomic.AtomicBoolean", + "fields":[{"name":"value"}] + }, + { + "name":"java.util.concurrent.atomic.AtomicMarkableReference", + "fields":[{"name":"pair"}] + }, + { + "name":"java.util.concurrent.atomic.AtomicReference", + "fields":[{"name":"value"}] + }, + { + "name":"java.util.concurrent.atomic.LongAdder", + "queryAllPublicConstructors":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"add","parameterTypes":["long"] }, {"name":"sum","parameterTypes":[] }] + }, + { + "name":"java.util.concurrent.atomic.Striped64", + "fields":[{"name":"base"}, {"name":"cellsBusy"}] + }, + { + "name":"java.util.logging.LogManager", + "methods":[{"name":"getLoggingMXBean","parameterTypes":[] }] + }, + { + "name":"java.util.logging.LoggingMXBean", + "queryAllPublicMethods":true + }, + { + "name":"javax.management.MBeanOperationInfo", + "queryAllPublicMethods":true, + "methods":[{"name":"getSignature","parameterTypes":[] }] + }, + { + "name":"javax.management.MBeanServerBuilder", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"javax.management.ObjectName" + }, + { + "name":"javax.management.StandardEmitterMBean", + "methods":[{"name":"cacheMBeanInfo","parameterTypes":["javax.management.MBeanInfo"] }, {"name":"getCachedMBeanInfo","parameterTypes":[] }, {"name":"getMBeanInfo","parameterTypes":[] }] + }, + { + "name":"javax.management.openmbean.CompositeData" + }, + { + "name":"javax.management.openmbean.OpenMBeanOperationInfoSupport" + }, + { + "name":"javax.management.openmbean.TabularData" + }, + { + "name":"javax.naming.directory.InitialDirContext" + }, + { + "name":"javax.net.ssl.SSLEngine", + "methods":[{"name":"getApplicationProtocol","parameterTypes":[] }, {"name":"getHandshakeApplicationProtocol","parameterTypes":[] }, {"name":"getHandshakeApplicationProtocolSelector","parameterTypes":[] }, {"name":"setHandshakeApplicationProtocolSelector","parameterTypes":["java.util.function.BiFunction"] }] + }, + { + "name":"javax.net.ssl.SSLParameters", + "methods":[{"name":"setApplicationProtocols","parameterTypes":["java.lang.String[]"] }] + }, + { + "name":"javax.security.auth.x500.X500Principal", + "fields":[{"name":"thisX500Name"}], + "methods":[{"name":"","parameterTypes":["sun.security.x509.X500Name"] }] + }, + { + "name":"javax.servlet.Servlet" + }, + { + "name":"jdk.internal.misc.Unsafe", + "methods":[{"name":"getUnsafe","parameterTypes":[] }] + }, + { + "name":"jdk.management.jfr.ConfigurationInfo", + "queryAllPublicMethods":true + }, + { + "name":"jdk.management.jfr.EventTypeInfo", + "queryAllPublicMethods":true + }, + { + "name":"jdk.management.jfr.FlightRecorderMXBean", + "queryAllPublicMethods":true + }, + { + "name":"jdk.management.jfr.FlightRecorderMXBeanImpl", + "queryAllPublicConstructors":true, + "methods":[{"name":"cacheMBeanInfo","parameterTypes":["javax.management.MBeanInfo"] }, {"name":"getCachedMBeanInfo","parameterTypes":[] }, {"name":"getMBeanInfo","parameterTypes":[] }, {"name":"getNotificationInfo","parameterTypes":[] }] + }, + { + "name":"jdk.management.jfr.RecordingInfo", + "queryAllPublicMethods":true + }, + { + "name":"jdk.management.jfr.SettingDescriptorInfo", + "queryAllPublicMethods":true + }, + { + "name":"libcore.io.Memory" + }, + { + "name":"org.apache.commons.logging.LogFactory" + }, + { + "name":"org.apache.commons.logging.impl.WeakHashtable", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.apache.commons.pool2.impl.DefaultEvictionPolicy", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.apache.commons.pool2.impl.DefaultPooledObjectInfo", + "queryAllPublicMethods":true + }, + { + "name":"org.apache.commons.pool2.impl.GenericObjectPoolMXBean", + "queryAllPublicMethods":true + }, + { + "name":"org.apache.logging.log4j.core.config.AppenderControlArraySet", + "fields":[{"name":"appenderArray"}] + }, + { + "name":"org.apache.logging.log4j.core.impl.Log4jContextFactory", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.apache.logging.log4j.jcl.LogFactoryImpl", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.apache.logging.log4j.message.DefaultFlowMessageFactory", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.apache.logging.log4j.message.ReusableMessageFactory", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.apache.logging.log4j.util.internal.DefaultObjectInputFilter" + }, + { + "name":"org.bouncycastle.jsse.provider.BouncyCastleJsseProvider" + }, + { + "name":"org.eclipse.jetty.alpn.ALPN" + }, + { + "name":"org.eclipse.jetty.npn.NextProtoNego" + }, + { + "name":"org.osgi.framework.Bundle" + }, + { + "name":"org.robolectric.Robolectric" + }, + { + "name":"org.wso2.apk.enforcer.commons.logging.CustomJsonLayout" + }, + { + "name":"org.wso2.apk.enforcer.commons.logging.ErrorLogPatternConverter" + }, + { + "name":"org.wso2.apk.enforcer.config.EnforcerConfig", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.APIKeyIssuerDto", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.AnalyticsDTO", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.AnalyticsReceiverConfigDTO", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.AuthServiceConfigurationDto", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.CacheDto", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.ClientConfigDto", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.ManagementCredentialsDto", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.MetricsDTO", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.MutualSSLDto", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.SoapErrorResponseConfigDto", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.ThreadPoolConfig", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.config.dto.TracingDTO", + "allDeclaredFields":true + }, + { + "name":"org.wso2.apk.enforcer.discovery.ConfigDiscoveryClient" + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.Api", + "methods":[{"name":"getApiDefinitionFile","parameterTypes":[] }, {"name":"getApiLifeCycleState","parameterTypes":[] }, {"name":"getApiLifeCycleStateBytes","parameterTypes":[] }, {"name":"getApiType","parameterTypes":[] }, {"name":"getApiTypeBytes","parameterTypes":[] }, {"name":"getApplicationSecurity","parameterTypes":[] }, {"name":"getBackendJWTTokenInfo","parameterTypes":[] }, {"name":"getBasePath","parameterTypes":[] }, {"name":"getBasePathBytes","parameterTypes":[] }, {"name":"getClientCertificates","parameterTypes":["int"] }, {"name":"getClientCertificatesCount","parameterTypes":[] }, {"name":"getClientCertificatesList","parameterTypes":[] }, {"name":"getDefaultInstance","parameterTypes":[] }, {"name":"getDisableAuthentications","parameterTypes":[] }, {"name":"getDisableScopes","parameterTypes":[] }, {"name":"getEndpointSecurity","parameterTypes":["int"] }, {"name":"getEndpointSecurityCount","parameterTypes":[] }, {"name":"getEndpointSecurityList","parameterTypes":[] }, {"name":"getEndpoints","parameterTypes":[] }, {"name":"getEnvType","parameterTypes":[] }, {"name":"getEnvTypeBytes","parameterTypes":[] }, {"name":"getEnvironment","parameterTypes":[] }, {"name":"getEnvironmentBytes","parameterTypes":[] }, {"name":"getGraphqlComplexityInfo","parameterTypes":["int"] }, {"name":"getGraphqlComplexityInfoCount","parameterTypes":[] }, {"name":"getGraphqlComplexityInfoList","parameterTypes":[] }, {"name":"getId","parameterTypes":[] }, {"name":"getIdBytes","parameterTypes":[] }, {"name":"getMutualSSL","parameterTypes":[] }, {"name":"getMutualSSLBytes","parameterTypes":[] }, {"name":"getOrganizationId","parameterTypes":[] }, {"name":"getOrganizationIdBytes","parameterTypes":[] }, {"name":"getResources","parameterTypes":["int"] }, {"name":"getResourcesCount","parameterTypes":[] }, {"name":"getResourcesList","parameterTypes":[] }, {"name":"getSubscriptionValidation","parameterTypes":[] }, {"name":"getSystemAPI","parameterTypes":[] }, {"name":"getTier","parameterTypes":[] }, {"name":"getTierBytes","parameterTypes":[] }, {"name":"getTitle","parameterTypes":[] }, {"name":"getTitleBytes","parameterTypes":[] }, {"name":"getTransportSecurity","parameterTypes":[] }, {"name":"getVersion","parameterTypes":[] }, {"name":"getVersionBytes","parameterTypes":[] }, {"name":"getVhost","parameterTypes":[] }, {"name":"getVhostBytes","parameterTypes":[] }, {"name":"hasBackendJWTTokenInfo","parameterTypes":[] }, {"name":"hasEndpoints","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.Api$Builder", + "methods":[{"name":"addClientCertificates","parameterTypes":["org.wso2.apk.enforcer.discovery.api.Certificate"] }, {"name":"addEndpointSecurity","parameterTypes":["org.wso2.apk.enforcer.discovery.api.SecurityInfo"] }, {"name":"addGraphqlComplexityInfo","parameterTypes":["org.wso2.apk.enforcer.discovery.api.GraphqlComplexity"] }, {"name":"addResources","parameterTypes":["org.wso2.apk.enforcer.discovery.api.Resource"] }, {"name":"clearApiDefinitionFile","parameterTypes":[] }, {"name":"clearApiLifeCycleState","parameterTypes":[] }, {"name":"clearApiType","parameterTypes":[] }, {"name":"clearApplicationSecurity","parameterTypes":[] }, {"name":"clearBackendJWTTokenInfo","parameterTypes":[] }, {"name":"clearBasePath","parameterTypes":[] }, {"name":"clearClientCertificates","parameterTypes":[] }, {"name":"clearDisableAuthentications","parameterTypes":[] }, {"name":"clearDisableScopes","parameterTypes":[] }, {"name":"clearEndpointSecurity","parameterTypes":[] }, {"name":"clearEndpoints","parameterTypes":[] }, {"name":"clearEnvType","parameterTypes":[] }, {"name":"clearEnvironment","parameterTypes":[] }, {"name":"clearGraphqlComplexityInfo","parameterTypes":[] }, {"name":"clearId","parameterTypes":[] }, {"name":"clearMutualSSL","parameterTypes":[] }, {"name":"clearOrganizationId","parameterTypes":[] }, {"name":"clearResources","parameterTypes":[] }, {"name":"clearSubscriptionValidation","parameterTypes":[] }, {"name":"clearSystemAPI","parameterTypes":[] }, {"name":"clearTier","parameterTypes":[] }, {"name":"clearTitle","parameterTypes":[] }, {"name":"clearTransportSecurity","parameterTypes":[] }, {"name":"clearVersion","parameterTypes":[] }, {"name":"clearVhost","parameterTypes":[] }, {"name":"getApiDefinitionFile","parameterTypes":[] }, {"name":"getApiLifeCycleState","parameterTypes":[] }, {"name":"getApiLifeCycleStateBytes","parameterTypes":[] }, {"name":"getApiType","parameterTypes":[] }, {"name":"getApiTypeBytes","parameterTypes":[] }, {"name":"getApplicationSecurity","parameterTypes":[] }, {"name":"getBackendJWTTokenInfo","parameterTypes":[] }, {"name":"getBackendJWTTokenInfoBuilder","parameterTypes":[] }, {"name":"getBasePath","parameterTypes":[] }, {"name":"getBasePathBytes","parameterTypes":[] }, {"name":"getClientCertificates","parameterTypes":["int"] }, {"name":"getClientCertificatesBuilder","parameterTypes":["int"] }, {"name":"getClientCertificatesCount","parameterTypes":[] }, {"name":"getClientCertificatesList","parameterTypes":[] }, {"name":"getDisableAuthentications","parameterTypes":[] }, {"name":"getDisableScopes","parameterTypes":[] }, {"name":"getEndpointSecurity","parameterTypes":["int"] }, {"name":"getEndpointSecurityBuilder","parameterTypes":["int"] }, {"name":"getEndpointSecurityCount","parameterTypes":[] }, {"name":"getEndpointSecurityList","parameterTypes":[] }, {"name":"getEndpoints","parameterTypes":[] }, {"name":"getEndpointsBuilder","parameterTypes":[] }, {"name":"getEnvType","parameterTypes":[] }, {"name":"getEnvTypeBytes","parameterTypes":[] }, {"name":"getEnvironment","parameterTypes":[] }, {"name":"getEnvironmentBytes","parameterTypes":[] }, {"name":"getGraphqlComplexityInfo","parameterTypes":["int"] }, {"name":"getGraphqlComplexityInfoBuilder","parameterTypes":["int"] }, {"name":"getGraphqlComplexityInfoCount","parameterTypes":[] }, {"name":"getGraphqlComplexityInfoList","parameterTypes":[] }, {"name":"getId","parameterTypes":[] }, {"name":"getIdBytes","parameterTypes":[] }, {"name":"getMutualSSL","parameterTypes":[] }, {"name":"getMutualSSLBytes","parameterTypes":[] }, {"name":"getOrganizationId","parameterTypes":[] }, {"name":"getOrganizationIdBytes","parameterTypes":[] }, {"name":"getResources","parameterTypes":["int"] }, {"name":"getResourcesBuilder","parameterTypes":["int"] }, {"name":"getResourcesCount","parameterTypes":[] }, {"name":"getResourcesList","parameterTypes":[] }, {"name":"getSubscriptionValidation","parameterTypes":[] }, {"name":"getSystemAPI","parameterTypes":[] }, {"name":"getTier","parameterTypes":[] }, {"name":"getTierBytes","parameterTypes":[] }, {"name":"getTitle","parameterTypes":[] }, {"name":"getTitleBytes","parameterTypes":[] }, {"name":"getTransportSecurity","parameterTypes":[] }, {"name":"getVersion","parameterTypes":[] }, {"name":"getVersionBytes","parameterTypes":[] }, {"name":"getVhost","parameterTypes":[] }, {"name":"getVhostBytes","parameterTypes":[] }, {"name":"hasBackendJWTTokenInfo","parameterTypes":[] }, {"name":"hasEndpoints","parameterTypes":[] }, {"name":"setApiDefinitionFile","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setApiLifeCycleState","parameterTypes":["java.lang.String"] }, {"name":"setApiLifeCycleStateBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setApiType","parameterTypes":["java.lang.String"] }, {"name":"setApiTypeBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setApplicationSecurity","parameterTypes":["boolean"] }, {"name":"setBackendJWTTokenInfo","parameterTypes":["org.wso2.apk.enforcer.discovery.api.BackendJWTTokenInfo"] }, {"name":"setBasePath","parameterTypes":["java.lang.String"] }, {"name":"setBasePathBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setClientCertificates","parameterTypes":["int","org.wso2.apk.enforcer.discovery.api.Certificate"] }, {"name":"setDisableAuthentications","parameterTypes":["boolean"] }, {"name":"setDisableScopes","parameterTypes":["boolean"] }, {"name":"setEndpointSecurity","parameterTypes":["int","org.wso2.apk.enforcer.discovery.api.SecurityInfo"] }, {"name":"setEndpoints","parameterTypes":["org.wso2.apk.enforcer.discovery.api.EndpointCluster"] }, {"name":"setEnvType","parameterTypes":["java.lang.String"] }, {"name":"setEnvTypeBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setEnvironment","parameterTypes":["java.lang.String"] }, {"name":"setEnvironmentBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setGraphqlComplexityInfo","parameterTypes":["int","org.wso2.apk.enforcer.discovery.api.GraphqlComplexity"] }, {"name":"setId","parameterTypes":["java.lang.String"] }, {"name":"setIdBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setMutualSSL","parameterTypes":["java.lang.String"] }, {"name":"setMutualSSLBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setOrganizationId","parameterTypes":["java.lang.String"] }, {"name":"setOrganizationIdBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setResources","parameterTypes":["int","org.wso2.apk.enforcer.discovery.api.Resource"] }, {"name":"setSubscriptionValidation","parameterTypes":["boolean"] }, {"name":"setSystemAPI","parameterTypes":["boolean"] }, {"name":"setTier","parameterTypes":["java.lang.String"] }, {"name":"setTierBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setTitle","parameterTypes":["java.lang.String"] }, {"name":"setTitleBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setTransportSecurity","parameterTypes":["boolean"] }, {"name":"setVersion","parameterTypes":["java.lang.String"] }, {"name":"setVersionBytes","parameterTypes":["com.google.protobuf.ByteString"] }, {"name":"setVhost","parameterTypes":["java.lang.String"] }, {"name":"setVhostBytes","parameterTypes":["com.google.protobuf.ByteString"] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.BackendJWTTokenInfo", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.Certificate", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.EndpointCluster", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.GraphqlComplexity", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.Resource", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.api.SecurityInfo", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Analytics", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Cache", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.CertStore", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Config", + "methods":[{"name":"getAnalytics","parameterTypes":[] }, {"name":"getAuthService","parameterTypes":[] }, {"name":"getCache","parameterTypes":[] }, {"name":"getDefaultInstance","parameterTypes":[] }, {"name":"getFilters","parameterTypes":["int"] }, {"name":"getFiltersCount","parameterTypes":[] }, {"name":"getFiltersList","parameterTypes":[] }, {"name":"getHttpClient","parameterTypes":[] }, {"name":"getJwtGenerator","parameterTypes":[] }, {"name":"getKeystore","parameterTypes":[] }, {"name":"getManagement","parameterTypes":[] }, {"name":"getMandateInternalKeyValidation","parameterTypes":[] }, {"name":"getMandateSubscriptionValidation","parameterTypes":[] }, {"name":"getMetrics","parameterTypes":[] }, {"name":"getSecurity","parameterTypes":[] }, {"name":"getSoap","parameterTypes":[] }, {"name":"getTracing","parameterTypes":[] }, {"name":"getTruststore","parameterTypes":[] }, {"name":"hasAnalytics","parameterTypes":[] }, {"name":"hasAuthService","parameterTypes":[] }, {"name":"hasCache","parameterTypes":[] }, {"name":"hasHttpClient","parameterTypes":[] }, {"name":"hasJwtGenerator","parameterTypes":[] }, {"name":"hasKeystore","parameterTypes":[] }, {"name":"hasManagement","parameterTypes":[] }, {"name":"hasMetrics","parameterTypes":[] }, {"name":"hasSecurity","parameterTypes":[] }, {"name":"hasSoap","parameterTypes":[] }, {"name":"hasTracing","parameterTypes":[] }, {"name":"hasTruststore","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Config$Builder", + "methods":[{"name":"addFilters","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Filter"] }, {"name":"clearAnalytics","parameterTypes":[] }, {"name":"clearAuthService","parameterTypes":[] }, {"name":"clearCache","parameterTypes":[] }, {"name":"clearFilters","parameterTypes":[] }, {"name":"clearHttpClient","parameterTypes":[] }, {"name":"clearJwtGenerator","parameterTypes":[] }, {"name":"clearKeystore","parameterTypes":[] }, {"name":"clearManagement","parameterTypes":[] }, {"name":"clearMandateInternalKeyValidation","parameterTypes":[] }, {"name":"clearMandateSubscriptionValidation","parameterTypes":[] }, {"name":"clearMetrics","parameterTypes":[] }, {"name":"clearSecurity","parameterTypes":[] }, {"name":"clearSoap","parameterTypes":[] }, {"name":"clearTracing","parameterTypes":[] }, {"name":"clearTruststore","parameterTypes":[] }, {"name":"getAnalytics","parameterTypes":[] }, {"name":"getAnalyticsBuilder","parameterTypes":[] }, {"name":"getAuthService","parameterTypes":[] }, {"name":"getAuthServiceBuilder","parameterTypes":[] }, {"name":"getCache","parameterTypes":[] }, {"name":"getCacheBuilder","parameterTypes":[] }, {"name":"getFilters","parameterTypes":["int"] }, {"name":"getFiltersBuilder","parameterTypes":["int"] }, {"name":"getFiltersCount","parameterTypes":[] }, {"name":"getFiltersList","parameterTypes":[] }, {"name":"getHttpClient","parameterTypes":[] }, {"name":"getHttpClientBuilder","parameterTypes":[] }, {"name":"getJwtGenerator","parameterTypes":[] }, {"name":"getJwtGeneratorBuilder","parameterTypes":[] }, {"name":"getKeystore","parameterTypes":[] }, {"name":"getKeystoreBuilder","parameterTypes":[] }, {"name":"getManagement","parameterTypes":[] }, {"name":"getManagementBuilder","parameterTypes":[] }, {"name":"getMandateInternalKeyValidation","parameterTypes":[] }, {"name":"getMandateSubscriptionValidation","parameterTypes":[] }, {"name":"getMetrics","parameterTypes":[] }, {"name":"getMetricsBuilder","parameterTypes":[] }, {"name":"getSecurity","parameterTypes":[] }, {"name":"getSecurityBuilder","parameterTypes":[] }, {"name":"getSoap","parameterTypes":[] }, {"name":"getSoapBuilder","parameterTypes":[] }, {"name":"getTracing","parameterTypes":[] }, {"name":"getTracingBuilder","parameterTypes":[] }, {"name":"getTruststore","parameterTypes":[] }, {"name":"getTruststoreBuilder","parameterTypes":[] }, {"name":"hasAnalytics","parameterTypes":[] }, {"name":"hasAuthService","parameterTypes":[] }, {"name":"hasCache","parameterTypes":[] }, {"name":"hasHttpClient","parameterTypes":[] }, {"name":"hasJwtGenerator","parameterTypes":[] }, {"name":"hasKeystore","parameterTypes":[] }, {"name":"hasManagement","parameterTypes":[] }, {"name":"hasMetrics","parameterTypes":[] }, {"name":"hasSecurity","parameterTypes":[] }, {"name":"hasSoap","parameterTypes":[] }, {"name":"hasTracing","parameterTypes":[] }, {"name":"hasTruststore","parameterTypes":[] }, {"name":"setAnalytics","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Analytics"] }, {"name":"setAuthService","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Service"] }, {"name":"setCache","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Cache"] }, {"name":"setFilters","parameterTypes":["int","org.wso2.apk.enforcer.discovery.config.enforcer.Filter"] }, {"name":"setHttpClient","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.HttpClient"] }, {"name":"setJwtGenerator","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.JWTGenerator"] }, {"name":"setKeystore","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.CertStore"] }, {"name":"setManagement","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Management"] }, {"name":"setMandateInternalKeyValidation","parameterTypes":["boolean"] }, {"name":"setMandateSubscriptionValidation","parameterTypes":["boolean"] }, {"name":"setMetrics","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Metrics"] }, {"name":"setSecurity","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Security"] }, {"name":"setSoap","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Soap"] }, {"name":"setTracing","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.Tracing"] }, {"name":"setTruststore","parameterTypes":["org.wso2.apk.enforcer.discovery.config.enforcer.CertStore"] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Filter", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.HttpClient", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.JWTGenerator", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Management", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Metrics", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Security", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Service", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Soap", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.config.enforcer.Tracing", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.service.config.ConfigDiscoveryServiceGrpc$ConfigDiscoveryServiceBlockingStub" + }, + { + "name":"org.wso2.apk.enforcer.discovery.subscription.JWTIssuer", + "methods":[{"name":"newBuilder","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.subscription.JWTIssuerList", + "methods":[{"name":"getDefaultInstance","parameterTypes":[] }, {"name":"getList","parameterTypes":["int"] }, {"name":"getListCount","parameterTypes":[] }, {"name":"getListList","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.discovery.subscription.JWTIssuerList$Builder", + "methods":[{"name":"addList","parameterTypes":["org.wso2.apk.enforcer.discovery.subscription.JWTIssuer"] }, {"name":"clearList","parameterTypes":[] }, {"name":"getList","parameterTypes":["int"] }, {"name":"getListBuilder","parameterTypes":["int"] }, {"name":"getListCount","parameterTypes":[] }, {"name":"getListList","parameterTypes":[] }, {"name":"setList","parameterTypes":["int","org.wso2.apk.enforcer.discovery.subscription.JWTIssuer"] }] + }, + { + "name":"org.wso2.apk.enforcer.jwks.JWKSRequestHandler", + "methods":[{"name":"channelReadComplete","parameterTypes":["io.grpc.netty.shaded.io.netty.channel.ChannelHandlerContext"] }] + }, + { + "name":"org.wso2.apk.enforcer.server.AuthServer" + }, + { + "name":"org.wso2.apk.enforcer.subscription.ApplicationDto", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.ApplicationKeyMappingDTO", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.ApplicationKeyMappingDtoList", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.ApplicationListDto", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.ApplicationMappingDto", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.ApplicationMappingDtoList", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.SubscribedAPIDto", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.SubscriptionDto", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.SubscriptionListDto", + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"org.wso2.apk.enforcer.subscription.SubscriptionValidationDataRetrievalRestClient", + "queryAllPublicMethods":true + }, + { + "name":"redis.clients.jedis.JedisPool", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.ClassLoadingImpl", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.CompilationImpl", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.ManagementFactoryHelper$1", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.ManagementFactoryHelper$PlatformLoggingImpl", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.MemoryImpl", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.MemoryManagerImpl", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.MemoryPoolImpl", + "queryAllPublicConstructors":true + }, + { + "name":"sun.management.RuntimeImpl", + "queryAllPublicConstructors":true + }, + { + "name":"sun.misc.SharedSecrets" + }, + { + "name":"sun.misc.Unsafe", + "allDeclaredFields":true, + "methods":[{"name":"arrayBaseOffset","parameterTypes":["java.lang.Class"] }, {"name":"arrayIndexScale","parameterTypes":["java.lang.Class"] }, {"name":"copyMemory","parameterTypes":["long","long","long"] }, {"name":"copyMemory","parameterTypes":["java.lang.Object","long","java.lang.Object","long","long"] }, {"name":"getAndAddLong","parameterTypes":["java.lang.Object","long","long"] }, {"name":"getAndSetObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] }, {"name":"getBoolean","parameterTypes":["java.lang.Object","long"] }, {"name":"getByte","parameterTypes":["long"] }, {"name":"getByte","parameterTypes":["java.lang.Object","long"] }, {"name":"getDouble","parameterTypes":["java.lang.Object","long"] }, {"name":"getFloat","parameterTypes":["java.lang.Object","long"] }, {"name":"getInt","parameterTypes":["long"] }, {"name":"getInt","parameterTypes":["java.lang.Object","long"] }, {"name":"getLong","parameterTypes":["long"] }, {"name":"getLong","parameterTypes":["java.lang.Object","long"] }, {"name":"getObject","parameterTypes":["java.lang.Object","long"] }, {"name":"invokeCleaner","parameterTypes":["java.nio.ByteBuffer"] }, {"name":"objectFieldOffset","parameterTypes":["java.lang.reflect.Field"] }, {"name":"putBoolean","parameterTypes":["java.lang.Object","long","boolean"] }, {"name":"putByte","parameterTypes":["long","byte"] }, {"name":"putByte","parameterTypes":["java.lang.Object","long","byte"] }, {"name":"putDouble","parameterTypes":["java.lang.Object","long","double"] }, {"name":"putFloat","parameterTypes":["java.lang.Object","long","float"] }, {"name":"putInt","parameterTypes":["long","int"] }, {"name":"putInt","parameterTypes":["java.lang.Object","long","int"] }, {"name":"putLong","parameterTypes":["long","long"] }, {"name":"putLong","parameterTypes":["java.lang.Object","long","long"] }, {"name":"putObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] }, {"name":"storeFence","parameterTypes":[] }] + }, + { + "name":"sun.misc.VM" + }, + { + "name":"sun.nio.ch.SelectorImpl", + "fields":[{"name":"publicSelectedKeys"}, {"name":"selectedKeys"}] + }, + { + "name":"sun.reflect.Reflection" + }, + { + "name":"sun.security.pkcs12.PKCS12KeyStore", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.DSA$SHA224withDSA", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.DSA$SHA256withDSA", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.JavaKeyStore$DualFormatJKS", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.JavaKeyStore$JKS", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.NativePRNG", + "methods":[{"name":"","parameterTypes":[] }, {"name":"","parameterTypes":["java.security.SecureRandomParameters"] }] + }, + { + "name":"sun.security.provider.SHA", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.SHA2$SHA224", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.SHA2$SHA256", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.SHA5$SHA384", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.SHA5$SHA512", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.X509Factory", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.provider.certpath.PKIXCertPathValidator", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.rsa.PSSParameters", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.rsa.RSAKeyFactory$Legacy", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.rsa.RSAPSSSignature", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.rsa.RSASignature$SHA224withRSA", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.rsa.RSASignature$SHA256withRSA", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.ssl.KeyManagerFactoryImpl$SunX509", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.ssl.SSLContextImpl$TLSContext", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory", + "methods":[{"name":"","parameterTypes":[] }] + }, + { + "name":"sun.security.util.ObjectIdentifier" + }, + { + "name":"sun.security.x509.AuthorityInfoAccessExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.AuthorityKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.BasicConstraintsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.CRLDistributionPointsExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.CertificateExtensions" + }, + { + "name":"sun.security.x509.CertificatePoliciesExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.ExtendedKeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.IssuerAlternativeNameExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.KeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.NetscapeCertTypeExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.PrivateKeyUsageExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.SubjectAlternativeNameExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name":"sun.security.x509.SubjectKeyIdentifierExtension", + "methods":[{"name":"","parameterTypes":["java.lang.Boolean","java.lang.Object"] }] + }, + { + "name": "org.apache.logging.log4j.util.Strings", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allDeclaredFields": true + }, + { + "name": "org.apache.logging.log4j.status.StatusLogger", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allDeclaredFields": true + }, + { + "name": "org.apache.logging.slf4j.Log4jLoggerFactory", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allDeclaredFields": true + }, + { + "name": "org.slf4j.impl.StaticLoggerBinder", + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allDeclaredFields": true + } + ] + \ No newline at end of file diff --git a/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/resource-config.json b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/resource-config.json new file mode 100644 index 000000000..eb2950f87 --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/resource-config.json @@ -0,0 +1,35 @@ +{ + "resources":{ + "includes":[{ + "pattern":"\\QMETA-INF/native/libio_grpc_netty_shaded_netty_tcnative_linux_x86_64.so\\E" + }, { + "pattern":"\\QMETA-INF/native/libio_grpc_netty_shaded_netty_transport_native_epoll_x86_64.so\\E" + }, { + "pattern":"\\QMETA-INF/org/apache/logging/log4j/core/config/plugins/Log4j2Plugins.dat\\E" + }, { + "pattern":"\\QMETA-INF/services/io.grpc.LoadBalancerProvider\\E" + }, { + "pattern":"\\QMETA-INF/services/io.grpc.NameResolverProvider\\E" + }, { + "pattern":"\\QMETA-INF/services/org.apache.commons.logging.LogFactory\\E" + }, { + "pattern":"\\QMETA-INF/services/org.apache.logging.log4j.core.util.ContextDataProvider\\E" + }, { + "pattern":"\\QMETA-INF/services/org.apache.logging.log4j.spi.Provider\\E" + }, { + "pattern":"\\QMETA-INF/services/org.apache.logging.log4j.util.PropertySource\\E" + }, { + "pattern":"\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E" + }, { + "pattern":"\\Qmozilla/public-suffix-list.txt\\E" + }, { + "pattern":"\\Qorg/apache/http/client/version.properties\\E" + }, { + "pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt67b/nfkc.nrm\\E" + }, { + "pattern":"java.base:\\Qjdk/internal/icu/impl/data/icudt67b/uprops.icu\\E" + }, { + "pattern":"java.base:\\Qsun/net/idn/uidna.spp\\E" + }]}, + "bundles":[] +} diff --git a/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/serialization-config.json b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/serialization-config.json new file mode 100644 index 000000000..d211a585d --- /dev/null +++ b/gateway/enforcer/org.wso2.apk.enforcer/src/main/resources/META-INF/native-image/org.wso2.apk.org.wso2.apk.enforcer/serialization-config.json @@ -0,0 +1,115 @@ +[ +{ + "name":"[Lcom.sun.management.internal.DiagnosticCommandArgumentInfo;" +}, +{ + "name":"[Lcom.sun.management.internal.DiagnosticCommandInfo;" +}, +{ + "name":"com.sun.management.internal.DiagnosticCommandArgumentInfo", + "methods":[{"name":"","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","boolean","boolean","int"] }] +}, +{ + "name":"com.sun.management.internal.DiagnosticCommandInfo", + "methods":[{"name":"","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","java.util.List"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.ChannelException" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.DefaultFileRegion", + "fields":[{"name":"file"}, {"name":"transferred"}] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.LinuxSocket" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.Native" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.NativeDatagramPacketArray$NativeDatagramPacket", + "fields":[{"name":"count"}, {"name":"memoryAddress"}, {"name":"recipientAddr"}, {"name":"recipientAddrLen"}, {"name":"recipientPort"}, {"name":"recipientScopeId"}, {"name":"segmentSize"}, {"name":"senderAddr"}, {"name":"senderAddrLen"}, {"name":"senderPort"}, {"name":"senderScopeId"}] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.epoll.NativeStaticallyReferencedJniMethods" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.Buffer" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.DatagramSocketAddress", + "methods":[{"name":"","parameterTypes":["byte[]","int","int","int","io.grpc.netty.shaded.io.netty.channel.unix.DatagramSocketAddress"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.DomainDatagramSocketAddress", + "methods":[{"name":"","parameterTypes":["byte[]","int","io.grpc.netty.shaded.io.netty.channel.unix.DomainDatagramSocketAddress"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.ErrorsStaticallyReferencedJniMethods" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.FileDescriptor" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.LimitsStaticallyReferencedJniMethods" +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.PeerCredentials", + "methods":[{"name":"","parameterTypes":["int","int","int[]"] }] +}, +{ + "name":"io.grpc.netty.shaded.io.netty.channel.unix.Socket" +}, +{ + "name":"java.io.FileDescriptor", + "fields":[{"name":"fd"}] +}, +{ + "name":"java.io.IOException" +}, +{ + "name":"java.lang.Boolean", + "methods":[{"name":"getBoolean","parameterTypes":["java.lang.String"] }] +}, +{ + "name":"java.lang.OutOfMemoryError" +}, +{ + "name":"java.lang.RuntimeException" +}, +{ + "name":"java.lang.SecurityManager", + "fields":[{"name":"initialized"}] +}, +{ + "name":"java.net.InetSocketAddress", + "methods":[{"name":"","parameterTypes":["java.lang.String","int"] }] +}, +{ + "name":"java.net.PortUnreachableException" +}, +{ + "name":"java.nio.Buffer", + "fields":[{"name":"limit"}, {"name":"position"}], + "methods":[{"name":"limit","parameterTypes":[] }, {"name":"position","parameterTypes":[] }] +}, +{ + "name":"java.nio.DirectByteBuffer" +}, +{ + "name":"java.nio.channels.ClosedChannelException", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "name":"java.util.Arrays", + "methods":[{"name":"asList","parameterTypes":["java.lang.Object[]"] }] +}, +{ + "name":"sun.management.VMManagementImpl", + "fields":[{"name":"compTimeMonitoringSupport"}, {"name":"currentThreadCpuTimeSupport"}, {"name":"objectMonitorUsageSupport"}, {"name":"otherThreadCpuTimeSupport"}, {"name":"remoteDiagnosticCommandsSupport"}, {"name":"synchronizerUsageSupport"}, {"name":"threadAllocatedMemorySupport"}, {"name":"threadContentionMonitoringSupport"}] +}, +{ + "name":"sun.nio.ch.FileChannelImpl", + "fields":[{"name":"fd"}] +} +] \ No newline at end of file diff --git a/libs.versions.toml b/libs.versions.toml index 100dd115a..41bca6618 100644 --- a/libs.versions.toml +++ b/libs.versions.toml @@ -110,6 +110,7 @@ mockito-core = {module = "org.mockito:mockito-core", version.ref = "mockito"} xml-apis = {module = "xml-apis:xml-apis", version.ref = "xml-apis"} mock-server-netty = {module = "org.mock-server:mockserver-netty", version.ref = "mock-server-netty"} mockito-inline = {module = "org.mockito:mockito-inline", version.ref = "mockito-inline"} +bouncycastle = {module = "org.bouncycastle:bcpkix-jdk18on", version = "1.78.1"} [plugins] openapi-generator-plugin = {id = "org.openapi.generator", version.ref = "openapi-generator-plugin"}