blob: 872069c1f425ebc4c10741214fdc13e29b9f033b [file] [log] [blame]
/*
* 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.
*/
#include "tcn.h"
#include "ssl_private.h"
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyNone)(TCN_STDARGS) {
return SSL_VERIFY_NONE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyPeer)(TCN_STDARGS) {
return SSL_VERIFY_PEER;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyFailIfNoPeerCert)(TCN_STDARGS) {
return SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslVerifyClientOnce)(TCN_STDARGS) {
return SSL_VERIFY_CLIENT_ONCE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpCipherServerPreference)(TCN_STDARGS) {
return SSL_OP_CIPHER_SERVER_PREFERENCE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoSSLv2)(TCN_STDARGS) {
return SSL_OP_NO_SSLv2;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoSSLv3)(TCN_STDARGS) {
return SSL_OP_NO_SSLv3;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv1)(TCN_STDARGS) {
return SSL_OP_NO_TLSv1;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv11)(TCN_STDARGS) {
return SSL_OP_NO_TLSv1_1;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTLSv12)(TCN_STDARGS) {
return SSL_OP_NO_TLSv1_2;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoTicket)(TCN_STDARGS) {
return SSL_OP_NO_TICKET;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslOpNoCompression)(TCN_STDARGS) {
return SSL_OP_NO_COMPRESSION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSessCacheOff)(TCN_STDARGS) {
return SSL_SESS_CACHE_OFF;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSessCacheServer)(TCN_STDARGS) {
return SSL_SESS_CACHE_SERVER;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslStConnect)(TCN_STDARGS) {
return SSL_ST_CONNECT;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslStAccept)(TCN_STDARGS) {
return SSL_ST_ACCEPT;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeEnablePartialWrite)(TCN_STDARGS) {
return SSL_MODE_ENABLE_PARTIAL_WRITE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeAcceptMovingWriteBuffer)(TCN_STDARGS) {
return SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslModeReleaseBuffers)(TCN_STDARGS) {
return SSL_MODE_RELEASE_BUFFERS;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslSendShutdown)(TCN_STDARGS) {
return SSL_SENT_SHUTDOWN;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslReceivedShutdown)(TCN_STDARGS) {
return SSL_RECEIVED_SHUTDOWN;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorNone)(TCN_STDARGS) {
return SSL_ERROR_NONE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorSSL)(TCN_STDARGS) {
return SSL_ERROR_SSL;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantRead)(TCN_STDARGS) {
return SSL_ERROR_WANT_READ;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantWrite)(TCN_STDARGS) {
return SSL_ERROR_WANT_WRITE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantX509Lookup)(TCN_STDARGS) {
return SSL_ERROR_WANT_X509_LOOKUP;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorSyscall)(TCN_STDARGS) {
return SSL_ERROR_SYSCALL;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorZeroReturn)(TCN_STDARGS) {
return SSL_ERROR_ZERO_RETURN;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantConnect)(TCN_STDARGS) {
return SSL_ERROR_WANT_CONNECT;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, sslErrorWantAccept)(TCN_STDARGS) {
return SSL_ERROR_WANT_ACCEPT;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagAlwaysCheckSubject)(TCN_STDARGS) {
#ifdef X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT
return X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT;
#else
return 0;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagDisableWildCards)(TCN_STDARGS) {
#ifdef X509_CHECK_FLAG_NO_WILD_CARDS
return X509_CHECK_FLAG_NO_WILD_CARDS;
#else
return 0;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagNoPartialWildCards)(TCN_STDARGS) {
#ifdef X509_CHECK_FLAG_NO_PARTIAL_WILD_CARDS
return X509_CHECK_FLAG_NO_PARTIAL_WILD_CARDS;
#else
return 0;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509CheckFlagMultiLabelWildCards)(TCN_STDARGS) {
#ifdef X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS
return X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS;
#else
return 0;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vOK)(TCN_STDARGS) {
return X509_V_OK;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnspecified)(TCN_STDARGS) {
#ifdef X509_V_ERR_UNSPECIFIED
return X509_V_ERR_UNSPECIFIED;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetIssuerCert)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetCrl)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_GET_CRL;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecryptCertSignature)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecryptCrlSignature)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToDecodeIssuerPublicKey)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertSignatureFailure)(TCN_STDARGS) {
return X509_V_ERR_CERT_SIGNATURE_FAILURE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlSignatureFailure)(TCN_STDARGS) {
return X509_V_ERR_CRL_SIGNATURE_FAILURE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertNotYetValid)(TCN_STDARGS) {
return X509_V_ERR_CERT_NOT_YET_VALID;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertHasExpired)(TCN_STDARGS) {
return X509_V_ERR_CERT_HAS_EXPIRED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlNotYetValid)(TCN_STDARGS) {
return X509_V_ERR_CRL_NOT_YET_VALID;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlHasExpired)(TCN_STDARGS) {
return X509_V_ERR_CRL_HAS_EXPIRED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCertNotBeforeField)(TCN_STDARGS) {
return X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCertNotAfterField)(TCN_STDARGS) {
return X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCrlLastUpdateField)(TCN_STDARGS) {
return X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrErrorInCrlNextUpdateField)(TCN_STDARGS) {
return X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrOutOfMem)(TCN_STDARGS) {
return X509_V_ERR_OUT_OF_MEM;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDepthZeroSelfSignedCert)(TCN_STDARGS) {
return X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSelfSignedCertInChain)(TCN_STDARGS) {
return X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetIssuerCertLocally)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToVerifyLeafSignature)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertChainTooLong)(TCN_STDARGS) {
return X509_V_ERR_CERT_CHAIN_TOO_LONG;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertRevoked)(TCN_STDARGS) {
return X509_V_ERR_CERT_REVOKED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidCa)(TCN_STDARGS) {
return X509_V_ERR_INVALID_CA;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPathLengthExceeded)(TCN_STDARGS) {
return X509_V_ERR_PATH_LENGTH_EXCEEDED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidPurpose)(TCN_STDARGS) {
return X509_V_ERR_INVALID_PURPOSE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertUntrusted)(TCN_STDARGS) {
return X509_V_ERR_CERT_UNTRUSTED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCertRejected)(TCN_STDARGS) {
return X509_V_ERR_CERT_REJECTED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSubjectIssuerMismatch)(TCN_STDARGS) {
return X509_V_ERR_SUBJECT_ISSUER_MISMATCH;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrAkidSkidMismatch)(TCN_STDARGS) {
return X509_V_ERR_AKID_SKID_MISMATCH;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrAkidIssuerSerialMismatch)(TCN_STDARGS) {
return X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoCertSign)(TCN_STDARGS) {
return X509_V_ERR_KEYUSAGE_NO_CERTSIGN;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnableToGetCrlIssuer)(TCN_STDARGS) {
return X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnhandledCriticalExtension)(TCN_STDARGS) {
return X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoCrlSign)(TCN_STDARGS) {
return X509_V_ERR_KEYUSAGE_NO_CRL_SIGN;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnhandledCriticalCrlExtension)(TCN_STDARGS) {
return X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidNonCa)(TCN_STDARGS) {
return X509_V_ERR_INVALID_NON_CA;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrProxyPathLengthExceeded)(TCN_STDARGS) {
return X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrKeyUsageNoDigitalSignature)(TCN_STDARGS) {
return X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrProxyCertificatesNotAllowed)(TCN_STDARGS) {
return X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidExtension)(TCN_STDARGS) {
return X509_V_ERR_INVALID_EXTENSION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrInvalidPolicyExtension)(TCN_STDARGS) {
return X509_V_ERR_INVALID_POLICY_EXTENSION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrNoExplicitPolicy)(TCN_STDARGS) {
return X509_V_ERR_NO_EXPLICIT_POLICY;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDifferntCrlScope)(TCN_STDARGS) {
return X509_V_ERR_DIFFERENT_CRL_SCOPE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedExtensionFeature)(TCN_STDARGS) {
return X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnnestedResource)(TCN_STDARGS) {
return X509_V_ERR_UNNESTED_RESOURCE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPermittedViolation)(TCN_STDARGS) {
return X509_V_ERR_PERMITTED_VIOLATION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrExcludedViolation)(TCN_STDARGS) {
return X509_V_ERR_EXCLUDED_VIOLATION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSubtreeMinMax)(TCN_STDARGS) {
return X509_V_ERR_SUBTREE_MINMAX;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrApplicationVerification)(TCN_STDARGS) {
return X509_V_ERR_APPLICATION_VERIFICATION;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedConstraintType)(TCN_STDARGS) {
return X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedConstraintSyntax)(TCN_STDARGS) {
return X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrUnsupportedNameSyntax)(TCN_STDARGS) {
return X509_V_ERR_UNSUPPORTED_NAME_SYNTAX;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrCrlPathValidationError)(TCN_STDARGS) {
return X509_V_ERR_CRL_PATH_VALIDATION_ERROR;
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrPathLoop)(TCN_STDARGS) {
#ifdef X509_V_ERR_PATH_LOOP
return X509_V_ERR_PATH_LOOP;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidVersion)(TCN_STDARGS) {
#ifdef X509_V_ERR_SUITE_B_INVALID_VERSION
return X509_V_ERR_SUITE_B_INVALID_VERSION;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidAlgorithm)(TCN_STDARGS) {
#ifdef X509_V_ERR_SUITE_B_INVALID_ALGORITHM
return X509_V_ERR_SUITE_B_INVALID_ALGORITHM;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidCurve)(TCN_STDARGS) {
#ifdef X509_V_ERR_SUITE_B_INVALID_CURVE
return X509_V_ERR_SUITE_B_INVALID_CURVE;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBInvalidSignatureAlgorithm)(TCN_STDARGS) {
#ifdef X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM
return X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBLosNotAllowed)(TCN_STDARGS) {
#ifdef X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED
return X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrSuiteBCannotSignP384WithP256)(TCN_STDARGS) {
#ifdef X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256
return X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrHostnameMismatch)(TCN_STDARGS) {
#ifdef X509_V_ERR_HOSTNAME_MISMATCH
return X509_V_ERR_HOSTNAME_MISMATCH;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrEmailMismatch)(TCN_STDARGS) {
#ifdef X509_V_ERR_EMAIL_MISMATCH
return X509_V_ERR_EMAIL_MISMATCH;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrIpAddressMismatch)(TCN_STDARGS) {
#ifdef X509_V_ERR_IP_ADDRESS_MISMATCH
return X509_V_ERR_IP_ADDRESS_MISMATCH;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}
TCN_IMPLEMENT_CALL(jint, NativeStaticallyReferencedJniMethods, x509vErrDaneNoMatch)(TCN_STDARGS) {
#ifdef X509_V_ERR_DANE_NO_MATCH
return X509_V_ERR_DANE_NO_MATCH;
#else
return TCN_X509_V_ERR_UNSPECIFIED;
#endif
}