Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(917)

Unified Diff: java/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods.java

Issue 2842333002: Updated netty-tcnative to version 2.0.0.Final (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « java/io/netty/internal/tcnative/Library.java ('k') | java/io/netty/internal/tcnative/SSL.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: java/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods.java
diff --git a/java/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods.java b/java/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods.java
new file mode 100644
index 0000000000000000000000000000000000000000..9aed4fd2d62c4f2e1efc14e857bd787b95646009
--- /dev/null
+++ b/java/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2017 The Netty Project
+ *
+ * The Netty Project licenses this file to you under the Apache License,
+ * version 2.0 (the "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+package io.netty.internal.tcnative;
+
+/**
+ * This class is necessary to break the following cyclic dependency:
+ * <ol>
+ * <li>JNI_OnLoad</li>
+ * <li>JNI Calls FindClass because RegisterNatives (used to register JNI methods) requires a class</li>
+ * <li>FindClass loads the class, but static members variables of that class attempt to call a JNI method which has not
+ * yet been registered.</li>
+ * <li>{@link java.lang.UnsatisfiedLinkError} is thrown because native method has not yet been registered.</li>
+ * </ol>
+ * <strong>Static members which call JNI methods must not be declared in this class!</strong>
+ */
+final class NativeStaticallyReferencedJniMethods {
+ private NativeStaticallyReferencedJniMethods() {
+ }
+
+ /**
+ * Options that may impact security and may be set by default as defined in:
+ * <a href="https://www.openssl.org/docs/man1.0.1/ssl/SSL_CTX_set_options.html">SSL Docs</a>.
+ */
+ static native int sslOpCipherServerPreference();
+ static native int sslOpNoSSLv2();
+ static native int sslOpNoSSLv3();
+ static native int sslOpNoTLSv1();
+ static native int sslOpNoTLSv11();
+ static native int sslOpNoTLSv12();
+ static native int sslOpNoTicket();
+
+ /**
+ * Options not defined in the OpenSSL docs but may impact security.
+ */
+ static native int sslOpNoCompression();
+
+ /* Only support OFF and SERVER for now */
+ static native int sslSessCacheOff();
+ static native int sslSessCacheServer();
+
+ static native int sslStConnect();
+ static native int sslStAccept();
+
+ static native int sslModeEnablePartialWrite();
+ static native int sslModeAcceptMovingWriteBuffer();
+ static native int sslModeReleaseBuffers();
+
+ static native int sslSendShutdown();
+ static native int sslReceivedShutdown();
+ static native int sslErrorNone();
+ static native int sslErrorSSL();
+ static native int sslErrorWantRead();
+ static native int sslErrorWantWrite();
+ static native int sslErrorWantX509Lookup();
+ static native int sslErrorSyscall();
+ static native int sslErrorZeroReturn();
+ static native int sslErrorWantConnect();
+ static native int sslErrorWantAccept();
+
+ static native int x509CheckFlagAlwaysCheckSubject();
+ static native int x509CheckFlagDisableWildCards();
+ static native int x509CheckFlagNoPartialWildCards();
+ static native int x509CheckFlagMultiLabelWildCards();
+
+ /* x509 certificate verification errors */
+ static native int x509vOK();
+ static native int x509vErrUnspecified();
+ static native int x509vErrUnableToGetIssuerCert();
+ static native int x509vErrUnableToGetCrl();
+ static native int x509vErrUnableToDecryptCertSignature();
+ static native int x509vErrUnableToDecryptCrlSignature();
+ static native int x509vErrUnableToDecodeIssuerPublicKey();
+ static native int x509vErrCertSignatureFailure();
+ static native int x509vErrCrlSignatureFailure();
+ static native int x509vErrCertNotYetValid();
+ static native int x509vErrCertHasExpired();
+ static native int x509vErrCrlNotYetValid();
+ static native int x509vErrCrlHasExpired();
+ static native int x509vErrErrorInCertNotBeforeField();
+ static native int x509vErrErrorInCertNotAfterField();
+ static native int x509vErrErrorInCrlLastUpdateField();
+ static native int x509vErrErrorInCrlNextUpdateField();
+ static native int x509vErrOutOfMem();
+ static native int x509vErrDepthZeroSelfSignedCert();
+ static native int x509vErrSelfSignedCertInChain();
+ static native int x509vErrUnableToGetIssuerCertLocally();
+ static native int x509vErrUnableToVerifyLeafSignature();
+ static native int x509vErrCertChainTooLong();
+ static native int x509vErrCertRevoked();
+ static native int x509vErrInvalidCa();
+ static native int x509vErrPathLengthExceeded();
+ static native int x509vErrInvalidPurpose();
+ static native int x509vErrCertUntrusted();
+ static native int x509vErrCertRejected();
+ static native int x509vErrSubjectIssuerMismatch();
+ static native int x509vErrAkidSkidMismatch();
+ static native int x509vErrAkidIssuerSerialMismatch();
+ static native int x509vErrKeyUsageNoCertSign();
+ static native int x509vErrUnableToGetCrlIssuer();
+ static native int x509vErrUnhandledCriticalExtension();
+ static native int x509vErrKeyUsageNoCrlSign();
+ static native int x509vErrUnhandledCriticalCrlExtension();
+ static native int x509vErrInvalidNonCa();
+ static native int x509vErrProxyPathLengthExceeded();
+ static native int x509vErrKeyUsageNoDigitalSignature();
+ static native int x509vErrProxyCertificatesNotAllowed();
+ static native int x509vErrInvalidExtension();
+ static native int x509vErrInvalidPolicyExtension();
+ static native int x509vErrNoExplicitPolicy();
+ static native int x509vErrDifferntCrlScope();
+ static native int x509vErrUnsupportedExtensionFeature();
+ static native int x509vErrUnnestedResource();
+ static native int x509vErrPermittedViolation();
+ static native int x509vErrExcludedViolation();
+ static native int x509vErrSubtreeMinMax();
+ static native int x509vErrApplicationVerification();
+ static native int x509vErrUnsupportedConstraintType();
+ static native int x509vErrUnsupportedConstraintSyntax();
+ static native int x509vErrUnsupportedNameSyntax();
+ static native int x509vErrCrlPathValidationError();
+ static native int x509vErrPathLoop();
+ static native int x509vErrSuiteBInvalidVersion();
+ static native int x509vErrSuiteBInvalidAlgorithm();
+ static native int x509vErrSuiteBInvalidCurve();
+ static native int x509vErrSuiteBInvalidSignatureAlgorithm();
+ static native int x509vErrSuiteBLosNotAllowed();
+ static native int x509vErrSuiteBCannotSignP384WithP256();
+ static native int x509vErrHostnameMismatch();
+ static native int x509vErrEmailMismatch();
+ static native int x509vErrIpAddressMismatch();
+ static native int x509vErrDaneNoMatch();
+}
« no previous file with comments | « java/io/netty/internal/tcnative/Library.java ('k') | java/io/netty/internal/tcnative/SSL.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698