/* * * @APPLE_LICENSE_HEADER_START@ * * Copyright (c) 1999-2008 Apple Inc. All Rights Reserved. * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in * compliance with the License. Please obtain a copy of the License at * http://www.opensource.apple.com/apsl/ and read it before using this * file. * * The Original Code and all software distributed under the License are * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. * Please see the License for the specific language governing rights and * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ */ /* * This file was generated automatically by xsubpp version 1.9507 from the * contents of SSLeay.xs. Do not edit this file, edit SSLeay.xs instead. * * ANY CHANGES MADE HERE WILL BE LOST! * */ //#line 1 "SSLeay.xs" /* SSLeay.xs - Perl module for using Eric Young's implementation of SSL * * Copyright (c) 1996-1999 Sampo Kellomaki * All Rights Reserved. * * 19.6.1998, Maintenance release to sync with SSLeay-0.9.0, --Sampo * 24.6.1998, added write_partial to support ssl_write_all in more * memory efficient way. --Sampo * 8.7.1998, Added SSL_(CTX)?_set_options and associated constants. * 31.3.1999, Tracking OpenSSL-0.9.2b changes, dropping support for * earlier versions * 30.7.1999, Tracking OpenSSL-0.9.3a changes, --Sampo * * The distribution and use of this module are subject to the conditions * listed in COPYRIGHT file at the root of Eric Young's SSLeay-0.9.0 * distribution (i.e. free, but mandatory attribution and NO WARRANTY). Removed, perhaps permanently? int SSL_add_session(ctx,ses) SSL_CTX * ctx SSL_SESSION * ses int SSL_remove_session(ctx,ses) SSL_CTX * ctx SSL_SESSION * ses void SSL_flush_sessions(ctx,tm) SSL_CTX * ctx SInt32 tm */ #ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #ifdef __cplusplus } #endif /* OpenSSL-0.9.3a has some strange warning about this in * openssl/des.h */ #undef _ #include #include #include #include /* Debugging output */ #if 0 #define PR(s) printf(s); #define PRN(s,n) printf("'%s' (%d)\n",s,n); #define SEX_DEBUG 1 #else #define PR(s) #define PRN(s,n) #undef SEX_DEBUG #endif // Remove warnings #ifdef dNOOP #undef dNOOP #define dNOOP NOOP #endif extern void RAND_seed (char * buf, int len); extern int RAND_load_file(char * file_name, int how_much); extern void RAND_cleanup(void); extern int RAND_write_file(char * file_name); // end remove warnings /* xsub automagically generated constant evaluator function */ static double constant(name, arg) char *name; int arg; { errno = 0; switch (*name) { case 'A': if (strEQ(name, "AT_MD5_WITH_RSA_ENCRYPTION")) #ifdef SSL_AT_MD5_WITH_RSA_ENCRYPTION return SSL_AT_MD5_WITH_RSA_ENCRYPTION; #else goto not_there; #endif break; case 'B': break; case 'C': if (strEQ(name, "CB_ACCEPT_EXIT")) #ifdef SSL_CB_ACCEPT_EXIT return SSL_CB_ACCEPT_EXIT; #else goto not_there; #endif if (strEQ(name, "CB_ACCEPT_LOOP")) #ifdef SSL_CB_ACCEPT_LOOP return SSL_CB_ACCEPT_LOOP; #else goto not_there; #endif if (strEQ(name, "CB_CONNECT_EXIT")) #ifdef SSL_CB_CONNECT_EXIT return SSL_CB_CONNECT_EXIT; #else goto not_there; #endif if (strEQ(name, "CB_CONNECT_LOOP")) #ifdef SSL_CB_CONNECT_LOOP return SSL_CB_CONNECT_LOOP; #else goto not_there; #endif if (strEQ(name, "CK_DES_192_EDE3_CBC_WITH_MD5")) #ifdef SSL_CK_DES_192_EDE3_CBC_WITH_MD5 return SSL_CK_DES_192_EDE3_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CK_DES_192_EDE3_CBC_WITH_SHA")) #ifdef SSL_CK_DES_192_EDE3_CBC_WITH_SHA return SSL_CK_DES_192_EDE3_CBC_WITH_SHA; #else goto not_there; #endif if (strEQ(name, "CK_DES_64_CBC_WITH_MD5")) #ifdef SSL_CK_DES_64_CBC_WITH_MD5 return SSL_CK_DES_64_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CK_DES_64_CBC_WITH_SHA")) #ifdef SSL_CK_DES_64_CBC_WITH_SHA return SSL_CK_DES_64_CBC_WITH_SHA; #else goto not_there; #endif if (strEQ(name, "CK_DES_64_CFB64_WITH_MD5_1")) #ifdef SSL_CK_DES_64_CFB64_WITH_MD5_1 return SSL_CK_DES_64_CFB64_WITH_MD5_1; #else goto not_there; #endif if (strEQ(name, "CK_IDEA_128_CBC_WITH_MD5")) #ifdef SSL_CK_IDEA_128_CBC_WITH_MD5 return SSL_CK_IDEA_128_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CK_NULL")) #ifdef SSL_CK_NULL return SSL_CK_NULL; #else goto not_there; #endif if (strEQ(name, "CK_NULL_WITH_MD5")) #ifdef SSL_CK_NULL_WITH_MD5 return SSL_CK_NULL_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CK_RC2_128_CBC_EXPORT40_WITH_MD5")) #ifdef SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 return SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CK_RC2_128_CBC_WITH_MD5")) #ifdef SSL_CK_RC2_128_CBC_WITH_MD5 return SSL_CK_RC2_128_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CK_RC4_128_EXPORT40_WITH_MD5")) #ifdef SSL_CK_RC4_128_EXPORT40_WITH_MD5 return SSL_CK_RC4_128_EXPORT40_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CK_RC4_128_WITH_MD5")) #ifdef SSL_CK_RC4_128_WITH_MD5 return SSL_CK_RC4_128_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "CLIENT_VERSION")) #ifdef SSL_CLIENT_VERSION return SSL_CLIENT_VERSION; #else goto not_there; #endif if (strEQ(name, "CT_X509_CERTIFICATE")) #ifdef SSL_CT_X509_CERTIFICATE return SSL_CT_X509_CERTIFICATE; #else goto not_there; #endif break; case 'D': break; case 'E': break; case 'F': if (strEQ(name, "FILETYPE_ASN1")) #ifdef SSL_FILETYPE_ASN1 return SSL_FILETYPE_ASN1; #else goto not_there; #endif if (strEQ(name, "FILETYPE_PEM")) #ifdef SSL_FILETYPE_PEM return SSL_FILETYPE_PEM; #else goto not_there; #endif if (strEQ(name, "F_CLIENT_CERTIFICATE")) #ifdef SSL_F_CLIENT_CERTIFICATE return SSL_F_CLIENT_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "F_CLIENT_HELLO")) #ifdef SSL_F_CLIENT_HELLO return SSL_F_CLIENT_HELLO; #else goto not_there; #endif if (strEQ(name, "F_CLIENT_MASTER_KEY")) #ifdef SSL_F_CLIENT_MASTER_KEY return SSL_F_CLIENT_MASTER_KEY; #else goto not_there; #endif if (strEQ(name, "F_D2I_SSL_SESSION")) #ifdef SSL_F_D2I_SSL_SESSION return SSL_F_D2I_SSL_SESSION; #else goto not_there; #endif if (strEQ(name, "F_GET_CLIENT_FINISHED")) #ifdef SSL_F_GET_CLIENT_FINISHED return SSL_F_GET_CLIENT_FINISHED; #else goto not_there; #endif if (strEQ(name, "F_GET_CLIENT_HELLO")) #ifdef SSL_F_GET_CLIENT_HELLO return SSL_F_GET_CLIENT_HELLO; #else goto not_there; #endif if (strEQ(name, "F_GET_CLIENT_MASTER_KEY")) #ifdef SSL_F_GET_CLIENT_MASTER_KEY return SSL_F_GET_CLIENT_MASTER_KEY; #else goto not_there; #endif if (strEQ(name, "F_GET_SERVER_FINISHED")) #ifdef SSL_F_GET_SERVER_FINISHED return SSL_F_GET_SERVER_FINISHED; #else goto not_there; #endif if (strEQ(name, "F_GET_SERVER_HELLO")) #ifdef SSL_F_GET_SERVER_HELLO return SSL_F_GET_SERVER_HELLO; #else goto not_there; #endif if (strEQ(name, "F_GET_SERVER_VERIFY")) #ifdef SSL_F_GET_SERVER_VERIFY return SSL_F_GET_SERVER_VERIFY; #else goto not_there; #endif if (strEQ(name, "F_I2D_SSL_SESSION")) #ifdef SSL_F_I2D_SSL_SESSION return SSL_F_I2D_SSL_SESSION; #else goto not_there; #endif if (strEQ(name, "F_READ_N")) #ifdef SSL_F_READ_N return SSL_F_READ_N; #else goto not_there; #endif if (strEQ(name, "F_REQUEST_CERTIFICATE")) #ifdef SSL_F_REQUEST_CERTIFICATE return SSL_F_REQUEST_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "F_SERVER_HELLO")) #ifdef SSL_F_SERVER_HELLO return SSL_F_SERVER_HELLO; #else goto not_there; #endif if (strEQ(name, "F_SSL_ACCEPT")) #ifdef SSL_F_SSL_ACCEPT return SSL_F_SSL_ACCEPT; #else goto not_there; #endif if (strEQ(name, "F_SSL_CERT_NEW")) #ifdef SSL_F_SSL_CERT_NEW return SSL_F_SSL_CERT_NEW; #else goto not_there; #endif if (strEQ(name, "F_SSL_CONNECT")) #ifdef SSL_F_SSL_CONNECT return SSL_F_SSL_CONNECT; #else goto not_there; #endif if (strEQ(name, "F_SSL_ENC_DES_CBC_INIT")) #ifdef SSL_F_SSL_ENC_DES_CBC_INIT return SSL_F_SSL_ENC_DES_CBC_INIT; #else goto not_there; #endif if (strEQ(name, "F_SSL_ENC_DES_CFB_INIT")) #ifdef SSL_F_SSL_ENC_DES_CFB_INIT return SSL_F_SSL_ENC_DES_CFB_INIT; #else goto not_there; #endif if (strEQ(name, "F_SSL_ENC_DES_EDE3_CBC_INIT")) #ifdef SSL_F_SSL_ENC_DES_EDE3_CBC_INIT return SSL_F_SSL_ENC_DES_EDE3_CBC_INIT; #else goto not_there; #endif if (strEQ(name, "F_SSL_ENC_IDEA_CBC_INIT")) #ifdef SSL_F_SSL_ENC_IDEA_CBC_INIT return SSL_F_SSL_ENC_IDEA_CBC_INIT; #else goto not_there; #endif if (strEQ(name, "F_SSL_ENC_NULL_INIT")) #ifdef SSL_F_SSL_ENC_NULL_INIT return SSL_F_SSL_ENC_NULL_INIT; #else goto not_there; #endif if (strEQ(name, "F_SSL_ENC_RC2_CBC_INIT")) #ifdef SSL_F_SSL_ENC_RC2_CBC_INIT return SSL_F_SSL_ENC_RC2_CBC_INIT; #else goto not_there; #endif if (strEQ(name, "F_SSL_ENC_RC4_INIT")) #ifdef SSL_F_SSL_ENC_RC4_INIT return SSL_F_SSL_ENC_RC4_INIT; #else goto not_there; #endif if (strEQ(name, "F_SSL_GET_NEW_SESSION")) #ifdef SSL_F_SSL_GET_NEW_SESSION return SSL_F_SSL_GET_NEW_SESSION; #else goto not_there; #endif if (strEQ(name, "F_SSL_MAKE_CIPHER_LIST")) #ifdef SSL_F_SSL_MAKE_CIPHER_LIST return SSL_F_SSL_MAKE_CIPHER_LIST; #else goto not_there; #endif if (strEQ(name, "F_SSL_NEW")) #ifdef SSL_F_SSL_NEW return SSL_F_SSL_NEW; #else goto not_there; #endif if (strEQ(name, "F_SSL_READ")) #ifdef SSL_F_SSL_READ return SSL_F_SSL_READ; #else goto not_there; #endif if (strEQ(name, "F_SSL_RSA_PRIVATE_DECRYPT")) #ifdef SSL_F_SSL_RSA_PRIVATE_DECRYPT return SSL_F_SSL_RSA_PRIVATE_DECRYPT; #else goto not_there; #endif if (strEQ(name, "F_SSL_RSA_PUBLIC_ENCRYPT")) #ifdef SSL_F_SSL_RSA_PUBLIC_ENCRYPT return SSL_F_SSL_RSA_PUBLIC_ENCRYPT; #else goto not_there; #endif if (strEQ(name, "F_SSL_SESSION_NEW")) #ifdef SSL_F_SSL_SESSION_NEW return SSL_F_SSL_SESSION_NEW; #else goto not_there; #endif if (strEQ(name, "F_SSL_SESSION_PRINT_FP")) #ifdef SSL_F_SSL_SESSION_PRINT_FP return SSL_F_SSL_SESSION_PRINT_FP; #else goto not_there; #endif if (strEQ(name, "F_SSL_SET_CERTIFICATE")) #ifdef SSL_F_SSL_SET_CERTIFICATE return SSL_F_SSL_SET_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "F_SSL_SET_FD")) #ifdef SSL_F_SSL_SET_FD return SSL_F_SSL_SET_FD; #else goto not_there; #endif if (strEQ(name, "F_SSL_SET_RFD")) #ifdef SSL_F_SSL_SET_RFD return SSL_F_SSL_SET_RFD; #else goto not_there; #endif if (strEQ(name, "F_SSL_SET_WFD")) #ifdef SSL_F_SSL_SET_WFD return SSL_F_SSL_SET_WFD; #else goto not_there; #endif if (strEQ(name, "F_SSL_STARTUP")) #ifdef SSL_F_SSL_STARTUP return SSL_F_SSL_STARTUP; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_CERTIFICATE")) #ifdef SSL_F_SSL_USE_CERTIFICATE return SSL_F_SSL_USE_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_CERTIFICATE_ASN1")) #ifdef SSL_F_SSL_USE_CERTIFICATE_ASN1 return SSL_F_SSL_USE_CERTIFICATE_ASN1; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_CERTIFICATE_FILE")) #ifdef SSL_F_SSL_USE_CERTIFICATE_FILE return SSL_F_SSL_USE_CERTIFICATE_FILE; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_PRIVATEKEY")) #ifdef SSL_F_SSL_USE_PRIVATEKEY return SSL_F_SSL_USE_PRIVATEKEY; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_PRIVATEKEY_ASN1")) #ifdef SSL_F_SSL_USE_PRIVATEKEY_ASN1 return SSL_F_SSL_USE_PRIVATEKEY_ASN1; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_PRIVATEKEY_FILE")) #ifdef SSL_F_SSL_USE_PRIVATEKEY_FILE return SSL_F_SSL_USE_PRIVATEKEY_FILE; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_RSAPRIVATEKEY")) #ifdef SSL_F_SSL_USE_RSAPRIVATEKEY return SSL_F_SSL_USE_RSAPRIVATEKEY; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_RSAPRIVATEKEY_ASN1")) #ifdef SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 return SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1; #else goto not_there; #endif if (strEQ(name, "F_SSL_USE_RSAPRIVATEKEY_FILE")) #ifdef SSL_F_SSL_USE_RSAPRIVATEKEY_FILE return SSL_F_SSL_USE_RSAPRIVATEKEY_FILE; #else goto not_there; #endif if (strEQ(name, "F_WRITE_PENDING")) #ifdef SSL_F_WRITE_PENDING return SSL_F_WRITE_PENDING; #else goto not_there; #endif break; case 'G': break; case 'H': break; case 'I': break; case 'J': break; case 'K': break; case 'L': break; case 'M': if (strEQ(name, "MAX_MASTER_KEY_LENGTH_IN_BITS")) #ifdef SSL_MAX_MASTER_KEY_LENGTH_IN_BITS return SSL_MAX_MASTER_KEY_LENGTH_IN_BITS; #else goto not_there; #endif if (strEQ(name, "MAX_RECORD_LENGTH_2_BYTE_HEADER")) #ifdef SSL_MAX_RECORD_LENGTH_2_BYTE_HEADER return SSL_MAX_RECORD_LENGTH_2_BYTE_HEADER; #else goto not_there; #endif if (strEQ(name, "MAX_RECORD_LENGTH_3_BYTE_HEADER")) #ifdef SSL_MAX_RECORD_LENGTH_3_BYTE_HEADER return SSL_MAX_RECORD_LENGTH_3_BYTE_HEADER; #else goto not_there; #endif if (strEQ(name, "MAX_SSL_SESSION_ID_LENGTH_IN_BYTES")) #ifdef SSL_MAX_SSL_SESSION_ID_LENGTH_IN_BYTES return SSL_MAX_SSL_SESSION_ID_LENGTH_IN_BYTES; #else goto not_there; #endif if (strEQ(name, "MIN_RSA_MODULUS_LENGTH_IN_BYTES")) #ifdef SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES return SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES; #else goto not_there; #endif if (strEQ(name, "MT_CLIENT_CERTIFICATE")) #ifdef SSL_MT_CLIENT_CERTIFICATE return SSL_MT_CLIENT_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "MT_CLIENT_FINISHED")) #ifdef SSL_MT_CLIENT_FINISHED return SSL_MT_CLIENT_FINISHED; #else goto not_there; #endif if (strEQ(name, "MT_CLIENT_HELLO")) #ifdef SSL_MT_CLIENT_HELLO return SSL_MT_CLIENT_HELLO; #else goto not_there; #endif if (strEQ(name, "MT_CLIENT_MASTER_KEY")) #ifdef SSL_MT_CLIENT_MASTER_KEY return SSL_MT_CLIENT_MASTER_KEY; #else goto not_there; #endif if (strEQ(name, "MT_ERROR")) #ifdef SSL_MT_ERROR return SSL_MT_ERROR; #else goto not_there; #endif if (strEQ(name, "MT_REQUEST_CERTIFICATE")) #ifdef SSL_MT_REQUEST_CERTIFICATE return SSL_MT_REQUEST_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "MT_SERVER_FINISHED")) #ifdef SSL_MT_SERVER_FINISHED return SSL_MT_SERVER_FINISHED; #else goto not_there; #endif if (strEQ(name, "MT_SERVER_HELLO")) #ifdef SSL_MT_SERVER_HELLO return SSL_MT_SERVER_HELLO; #else goto not_there; #endif if (strEQ(name, "MT_SERVER_VERIFY")) #ifdef SSL_MT_SERVER_VERIFY return SSL_MT_SERVER_VERIFY; #else goto not_there; #endif break; case 'N': if (strEQ(name, "NOTHING")) #ifdef SSL_NOTHING return SSL_NOTHING; #else goto not_there; #endif break; case 'O': if (strEQ(name, "OP_MICROSOFT_SESS_ID_BUG")) #ifdef SSL_OP_MICROSOFT_SESS_ID_BUG return SSL_OP_MICROSOFT_SESS_ID_BUG; #else goto not_there; #endif if (strEQ(name, "OP_NETSCAPE_CHALLENGE_BUG")) #ifdef SSL_OP_NETSCAPE_CHALLENGE_BUG return SSL_OP_NETSCAPE_CHALLENGE_BUG; #else goto not_there; #endif if (strEQ(name, "OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG")) #ifdef SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG return SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG; #else goto not_there; #endif if (strEQ(name, "OP_SSLREF2_REUSE_CERT_TYPE_BUG")) #ifdef SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG return SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG; #else goto not_there; #endif if (strEQ(name, "OP_MICROSOFT_BIG_SSLV3_BUFFER")) #ifdef SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER return SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER; #else goto not_there; #endif if (strEQ(name, "OP_MSIE_SSLV2_RSA_PADDING")) #ifdef SSL_OP_MSIE_SSLV2_RSA_PADDING return SSL_OP_MSIE_SSLV2_RSA_PADDING; #else goto not_there; #endif if (strEQ(name, "OP_SSLEAY_080_CLIENT_DH_BUG")) #ifdef SSL_OP_SSLEAY_080_CLIENT_DH_BUG return SSL_OP_SSLEAY_080_CLIENT_DH_BUG; #else goto not_there; #endif if (strEQ(name, "OP_TLS_D5_BUG")) #ifdef SSL_OP_TLS_D5_BUG return SSL_OP_TLS_D5_BUG; #else goto not_there; #endif if (strEQ(name, "OP_SINGLE_DH_USE")) #ifdef SSL_OP_SINGLE_DH_USE return SSL_OP_SINGLE_DH_USE; #else goto not_there; #endif if (strEQ(name, "OP_EPHEMERAL_RSA")) #ifdef SSL_OP_EPHEMERAL_RSA return SSL_OP_EPHEMERAL_RSA; #else goto not_there; #endif if (strEQ(name, "OP_NETSCAPE_CA_DN_BUG")) #ifdef SSL_OP_NETSCAPE_CA_DN_BUG return SSL_OP_NETSCAPE_CA_DN_BUG; #else goto not_there; #endif if (strEQ(name, "OP_NON_EXPORT_FIRST")) #ifdef SSL_OP_NON_EXPORT_FIRST return SSL_OP_NON_EXPORT_FIRST; #else goto not_there; #endif if (strEQ(name, "OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG")) #ifdef SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG return SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG; #else goto not_there; #endif if (strEQ(name, "OP_NO_SSLv2")) #ifdef SSL_OP_NO_SSLv2 return SSL_OP_NO_SSLv2; #else goto not_there; #endif if (strEQ(name, "OP_NO_SSLv3")) #ifdef SSL_OP_NO_SSLv3 return SSL_OP_NO_SSLv3; #else goto not_there; #endif if (strEQ(name, "OP_NO_TLSv1")) #ifdef SSL_OP_NO_TLSv1 return SSL_OP_NO_TLSv1; #else goto not_there; #endif if (strEQ(name, "OP_ALL")) #ifdef SSL_OP_ALL return SSL_OP_ALL; #else goto not_there; #endif case 'P': if (strEQ(name, "PE_BAD_CERTIFICATE")) #ifdef SSL_PE_BAD_CERTIFICATE return SSL_PE_BAD_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "PE_NO_CERTIFICATE")) #ifdef SSL_PE_NO_CERTIFICATE return SSL_PE_NO_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "PE_NO_CIPHER")) #ifdef SSL_PE_NO_CIPHER return SSL_PE_NO_CIPHER; #else goto not_there; #endif if (strEQ(name, "PE_UNSUPPORTED_CERTIFICATE_TYPE")) #ifdef SSL_PE_UNSUPPORTED_CERTIFICATE_TYPE return SSL_PE_UNSUPPORTED_CERTIFICATE_TYPE; #else goto not_there; #endif break; case 'Q': break; case 'R': if (strEQ(name, "READING")) #ifdef SSL_READING return SSL_READING; #else goto not_there; #endif if (strEQ(name, "RWERR_BAD_MAC_DECODE")) #ifdef SSL_RWERR_BAD_MAC_DECODE return SSL_RWERR_BAD_MAC_DECODE; #else goto not_there; #endif if (strEQ(name, "RWERR_BAD_WRITE_RETRY")) #ifdef SSL_RWERR_BAD_WRITE_RETRY return SSL_RWERR_BAD_WRITE_RETRY; #else goto not_there; #endif if (strEQ(name, "RWERR_INTERNAL_ERROR")) #ifdef SSL_RWERR_INTERNAL_ERROR return SSL_RWERR_INTERNAL_ERROR; #else goto not_there; #endif if (strEQ(name, "R_BAD_AUTHENTICATION_TYPE")) #ifdef SSL_R_BAD_AUTHENTICATION_TYPE return SSL_R_BAD_AUTHENTICATION_TYPE; #else goto not_there; #endif if (strEQ(name, "R_BAD_CHECKSUM")) #ifdef SSL_R_BAD_CHECKSUM return SSL_R_BAD_CHECKSUM; #else goto not_there; #endif if (strEQ(name, "R_BAD_MAC_DECODE")) #ifdef SSL_R_BAD_MAC_DECODE return SSL_R_BAD_MAC_DECODE; #else goto not_there; #endif if (strEQ(name, "R_BAD_RESPONSE_ARGUMENT")) #ifdef SSL_R_BAD_RESPONSE_ARGUMENT return SSL_R_BAD_RESPONSE_ARGUMENT; #else goto not_there; #endif if (strEQ(name, "R_BAD_SSL_FILETYPE")) #ifdef SSL_R_BAD_SSL_FILETYPE return SSL_R_BAD_SSL_FILETYPE; #else goto not_there; #endif if (strEQ(name, "R_BAD_SSL_SESSION_ID_LENGTH")) #ifdef SSL_R_BAD_SSL_SESSION_ID_LENGTH return SSL_R_BAD_SSL_SESSION_ID_LENGTH; #else goto not_there; #endif if (strEQ(name, "R_BAD_STATE")) #ifdef SSL_R_BAD_STATE return SSL_R_BAD_STATE; #else goto not_there; #endif if (strEQ(name, "R_BAD_WRITE_RETRY")) #ifdef SSL_R_BAD_WRITE_RETRY return SSL_R_BAD_WRITE_RETRY; #else goto not_there; #endif if (strEQ(name, "R_CHALLENGE_IS_DIFFERENT")) #ifdef SSL_R_CHALLENGE_IS_DIFFERENT return SSL_R_CHALLENGE_IS_DIFFERENT; #else goto not_there; #endif if (strEQ(name, "R_CIPHER_CODE_TOO_LONG")) #ifdef SSL_R_CIPHER_CODE_TOO_LONG return SSL_R_CIPHER_CODE_TOO_LONG; #else goto not_there; #endif if (strEQ(name, "R_CIPHER_TABLE_SRC_ERROR")) #ifdef SSL_R_CIPHER_TABLE_SRC_ERROR return SSL_R_CIPHER_TABLE_SRC_ERROR; #else goto not_there; #endif if (strEQ(name, "R_CONECTION_ID_IS_DIFFERENT")) #ifdef SSL_R_CONECTION_ID_IS_DIFFERENT return SSL_R_CONECTION_ID_IS_DIFFERENT; #else goto not_there; #endif if (strEQ(name, "R_INVALID_CHALLENGE_LENGTH")) #ifdef SSL_R_INVALID_CHALLENGE_LENGTH return SSL_R_INVALID_CHALLENGE_LENGTH; #else goto not_there; #endif if (strEQ(name, "R_NO_CERTIFICATE_SET")) #ifdef SSL_R_NO_CERTIFICATE_SET return SSL_R_NO_CERTIFICATE_SET; #else goto not_there; #endif if (strEQ(name, "R_NO_CERTIFICATE_SPECIFIED")) #ifdef SSL_R_NO_CERTIFICATE_SPECIFIED return SSL_R_NO_CERTIFICATE_SPECIFIED; #else goto not_there; #endif if (strEQ(name, "R_NO_CIPHER_LIST")) #ifdef SSL_R_NO_CIPHER_LIST return SSL_R_NO_CIPHER_LIST; #else goto not_there; #endif if (strEQ(name, "R_NO_CIPHER_MATCH")) #ifdef SSL_R_NO_CIPHER_MATCH return SSL_R_NO_CIPHER_MATCH; #else goto not_there; #endif if (strEQ(name, "R_NO_CIPHER_WE_TRUST")) #ifdef SSL_R_NO_CIPHER_WE_TRUST return SSL_R_NO_CIPHER_WE_TRUST; #else goto not_there; #endif if (strEQ(name, "R_NO_PRIVATEKEY")) #ifdef SSL_R_NO_PRIVATEKEY return SSL_R_NO_PRIVATEKEY; #else goto not_there; #endif if (strEQ(name, "R_NO_PUBLICKEY")) #ifdef SSL_R_NO_PUBLICKEY return SSL_R_NO_PUBLICKEY; #else goto not_there; #endif if (strEQ(name, "R_NO_READ_METHOD_SET")) #ifdef SSL_R_NO_READ_METHOD_SET return SSL_R_NO_READ_METHOD_SET; #else goto not_there; #endif if (strEQ(name, "R_NO_WRITE_METHOD_SET")) #ifdef SSL_R_NO_WRITE_METHOD_SET return SSL_R_NO_WRITE_METHOD_SET; #else goto not_there; #endif if (strEQ(name, "R_NULL_SSL_CTX")) #ifdef SSL_R_NULL_SSL_CTX return SSL_R_NULL_SSL_CTX; #else goto not_there; #endif if (strEQ(name, "R_PEER_DID_NOT_RETURN_A_CERTIFICATE")) #ifdef SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE return SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "R_PEER_ERROR")) #ifdef SSL_R_PEER_ERROR return SSL_R_PEER_ERROR; #else goto not_there; #endif if (strEQ(name, "R_PEER_ERROR_CERTIFICATE")) #ifdef SSL_R_PEER_ERROR_CERTIFICATE return SSL_R_PEER_ERROR_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "R_PEER_ERROR_NO_CIPHER")) #ifdef SSL_R_PEER_ERROR_NO_CIPHER return SSL_R_PEER_ERROR_NO_CIPHER; #else goto not_there; #endif if (strEQ(name, "R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE")) #ifdef SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE return SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE; #else goto not_there; #endif if (strEQ(name, "R_PERR_ERROR_NO_CERTIFICATE")) #ifdef SSL_R_PERR_ERROR_NO_CERTIFICATE return SSL_R_PERR_ERROR_NO_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "R_PUBLIC_KEY_ENCRYPT_ERROR")) #ifdef SSL_R_PUBLIC_KEY_ENCRYPT_ERROR return SSL_R_PUBLIC_KEY_ENCRYPT_ERROR; #else goto not_there; #endif if (strEQ(name, "R_PUBLIC_KEY_IS_NOT_RSA")) #ifdef SSL_R_PUBLIC_KEY_IS_NOT_RSA return SSL_R_PUBLIC_KEY_IS_NOT_RSA; #else goto not_there; #endif if (strEQ(name, "R_PUBLIC_KEY_NO_RSA")) #ifdef SSL_R_PUBLIC_KEY_NO_RSA return SSL_R_PUBLIC_KEY_NO_RSA; #else goto not_there; #endif if (strEQ(name, "R_READ_WRONG_PACKET_TYPE")) #ifdef SSL_R_READ_WRONG_PACKET_TYPE return SSL_R_READ_WRONG_PACKET_TYPE; #else goto not_there; #endif if (strEQ(name, "R_REVERSE_KEY_ARG_LENGTH_IS_WRONG")) #ifdef SSL_R_REVERSE_KEY_ARG_LENGTH_IS_WRONG return SSL_R_REVERSE_KEY_ARG_LENGTH_IS_WRONG; #else goto not_there; #endif if (strEQ(name, "R_REVERSE_MASTER_KEY_LENGTH_IS_WRONG")) #ifdef SSL_R_REVERSE_MASTER_KEY_LENGTH_IS_WRONG return SSL_R_REVERSE_MASTER_KEY_LENGTH_IS_WRONG; #else goto not_there; #endif if (strEQ(name, "R_REVERSE_SSL_SESSION_ID_LENGTH_IS_WRONG")) #ifdef SSL_R_REVERSE_SSL_SESSION_ID_LENGTH_IS_WRONG return SSL_R_REVERSE_SSL_SESSION_ID_LENGTH_IS_WRONG; #else goto not_there; #endif if (strEQ(name, "R_SHORT_READ")) #ifdef SSL_R_SHORT_READ return SSL_R_SHORT_READ; #else goto not_there; #endif if (strEQ(name, "R_SSL_SESSION_ID_IS_DIFFERENT")) #ifdef SSL_R_SSL_SESSION_ID_IS_DIFFERENT return SSL_R_SSL_SESSION_ID_IS_DIFFERENT; #else goto not_there; #endif if (strEQ(name, "R_UNABLE_TO_EXTRACT_PUBLIC_KEY")) #ifdef SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY return SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY; #else goto not_there; #endif if (strEQ(name, "R_UNDEFINED_INIT_STATE")) #ifdef SSL_R_UNDEFINED_INIT_STATE return SSL_R_UNDEFINED_INIT_STATE; #else goto not_there; #endif if (strEQ(name, "R_UNKNOWN_REMOTE_ERROR_TYPE")) #ifdef SSL_R_UNKNOWN_REMOTE_ERROR_TYPE return SSL_R_UNKNOWN_REMOTE_ERROR_TYPE; #else goto not_there; #endif if (strEQ(name, "R_UNKNOWN_STATE")) #ifdef SSL_R_UNKNOWN_STATE return SSL_R_UNKNOWN_STATE; #else goto not_there; #endif if (strEQ(name, "R_UNSUPORTED_CIPHER")) #ifdef SSL_R_UNSUPORTED_CIPHER return SSL_R_UNSUPORTED_CIPHER; #else goto not_there; #endif if (strEQ(name, "R_WRONG_PUBLIC_KEY_TYPE")) #ifdef SSL_R_WRONG_PUBLIC_KEY_TYPE return SSL_R_WRONG_PUBLIC_KEY_TYPE; #else goto not_there; #endif if (strEQ(name, "R_X509_LIB")) #ifdef SSL_R_X509_LIB return SSL_R_X509_LIB; #else goto not_there; #endif break; case 'S': if (strEQ(name, "SERVER_VERSION")) #ifdef SSL_SERVER_VERSION return SSL_SERVER_VERSION; #else goto not_there; #endif if (strEQ(name, "SESSION_ASN1_VERSION")) #ifdef SSL_SESSION_ASN1_VERSION return SSL_SESSION_ASN1_VERSION; #else goto not_there; #endif if (strEQ(name, "ST_ACCEPT")) #ifdef SSL_ST_ACCEPT return SSL_ST_ACCEPT; #else goto not_there; #endif if (strEQ(name, "ST_BEFORE")) #ifdef SSL_ST_BEFORE return SSL_ST_BEFORE; #else goto not_there; #endif if (strEQ(name, "ST_CLIENT_START_ENCRYPTION")) #ifdef SSL_ST_CLIENT_START_ENCRYPTION return SSL_ST_CLIENT_START_ENCRYPTION; #else goto not_there; #endif if (strEQ(name, "ST_CONNECT")) #ifdef SSL_ST_CONNECT return SSL_ST_CONNECT; #else goto not_there; #endif if (strEQ(name, "ST_GET_CLIENT_FINISHED_A")) #ifdef SSL_ST_GET_CLIENT_FINISHED_A return SSL_ST_GET_CLIENT_FINISHED_A; #else goto not_there; #endif if (strEQ(name, "ST_GET_CLIENT_FINISHED_B")) #ifdef SSL_ST_GET_CLIENT_FINISHED_B return SSL_ST_GET_CLIENT_FINISHED_B; #else goto not_there; #endif if (strEQ(name, "ST_GET_CLIENT_HELLO_A")) #ifdef SSL_ST_GET_CLIENT_HELLO_A return SSL_ST_GET_CLIENT_HELLO_A; #else goto not_there; #endif if (strEQ(name, "ST_GET_CLIENT_HELLO_B")) #ifdef SSL_ST_GET_CLIENT_HELLO_B return SSL_ST_GET_CLIENT_HELLO_B; #else goto not_there; #endif if (strEQ(name, "ST_GET_CLIENT_MASTER_KEY_A")) #ifdef SSL_ST_GET_CLIENT_MASTER_KEY_A return SSL_ST_GET_CLIENT_MASTER_KEY_A; #else goto not_there; #endif if (strEQ(name, "ST_GET_CLIENT_MASTER_KEY_B")) #ifdef SSL_ST_GET_CLIENT_MASTER_KEY_B return SSL_ST_GET_CLIENT_MASTER_KEY_B; #else goto not_there; #endif if (strEQ(name, "ST_GET_SERVER_FINISHED_A")) #ifdef SSL_ST_GET_SERVER_FINISHED_A return SSL_ST_GET_SERVER_FINISHED_A; #else goto not_there; #endif if (strEQ(name, "ST_GET_SERVER_FINISHED_B")) #ifdef SSL_ST_GET_SERVER_FINISHED_B return SSL_ST_GET_SERVER_FINISHED_B; #else goto not_there; #endif if (strEQ(name, "ST_GET_SERVER_HELLO_A")) #ifdef SSL_ST_GET_SERVER_HELLO_A return SSL_ST_GET_SERVER_HELLO_A; #else goto not_there; #endif if (strEQ(name, "ST_GET_SERVER_HELLO_B")) #ifdef SSL_ST_GET_SERVER_HELLO_B return SSL_ST_GET_SERVER_HELLO_B; #else goto not_there; #endif if (strEQ(name, "ST_GET_SERVER_VERIFY_A")) #ifdef SSL_ST_GET_SERVER_VERIFY_A return SSL_ST_GET_SERVER_VERIFY_A; #else goto not_there; #endif if (strEQ(name, "ST_GET_SERVER_VERIFY_B")) #ifdef SSL_ST_GET_SERVER_VERIFY_B return SSL_ST_GET_SERVER_VERIFY_B; #else goto not_there; #endif if (strEQ(name, "ST_INIT")) #ifdef SSL_ST_INIT return SSL_ST_INIT; #else goto not_there; #endif if (strEQ(name, "ST_OK")) #ifdef SSL_ST_OK return SSL_ST_OK; #else goto not_there; #endif if (strEQ(name, "ST_READ_BODY")) #ifdef SSL_ST_READ_BODY return SSL_ST_READ_BODY; #else goto not_there; #endif if (strEQ(name, "ST_READ_HEADER")) #ifdef SSL_ST_READ_HEADER return SSL_ST_READ_HEADER; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_CERTIFICATE_A")) #ifdef SSL_ST_SEND_CLIENT_CERTIFICATE_A return SSL_ST_SEND_CLIENT_CERTIFICATE_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_CERTIFICATE_B")) #ifdef SSL_ST_SEND_CLIENT_CERTIFICATE_B return SSL_ST_SEND_CLIENT_CERTIFICATE_B; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_CERTIFICATE_C")) #ifdef SSL_ST_SEND_CLIENT_CERTIFICATE_C return SSL_ST_SEND_CLIENT_CERTIFICATE_C; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_CERTIFICATE_D")) #ifdef SSL_ST_SEND_CLIENT_CERTIFICATE_D return SSL_ST_SEND_CLIENT_CERTIFICATE_D; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_FINISHED_A")) #ifdef SSL_ST_SEND_CLIENT_FINISHED_A return SSL_ST_SEND_CLIENT_FINISHED_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_FINISHED_B")) #ifdef SSL_ST_SEND_CLIENT_FINISHED_B return SSL_ST_SEND_CLIENT_FINISHED_B; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_HELLO_A")) #ifdef SSL_ST_SEND_CLIENT_HELLO_A return SSL_ST_SEND_CLIENT_HELLO_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_HELLO_B")) #ifdef SSL_ST_SEND_CLIENT_HELLO_B return SSL_ST_SEND_CLIENT_HELLO_B; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_MASTER_KEY_A")) #ifdef SSL_ST_SEND_CLIENT_MASTER_KEY_A return SSL_ST_SEND_CLIENT_MASTER_KEY_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_CLIENT_MASTER_KEY_B")) #ifdef SSL_ST_SEND_CLIENT_MASTER_KEY_B return SSL_ST_SEND_CLIENT_MASTER_KEY_B; #else goto not_there; #endif if (strEQ(name, "ST_SEND_REQUEST_CERTIFICATE_A")) #ifdef SSL_ST_SEND_REQUEST_CERTIFICATE_A return SSL_ST_SEND_REQUEST_CERTIFICATE_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_REQUEST_CERTIFICATE_B")) #ifdef SSL_ST_SEND_REQUEST_CERTIFICATE_B return SSL_ST_SEND_REQUEST_CERTIFICATE_B; #else goto not_there; #endif if (strEQ(name, "ST_SEND_REQUEST_CERTIFICATE_C")) #ifdef SSL_ST_SEND_REQUEST_CERTIFICATE_C return SSL_ST_SEND_REQUEST_CERTIFICATE_C; #else goto not_there; #endif if (strEQ(name, "ST_SEND_REQUEST_CERTIFICATE_D")) #ifdef SSL_ST_SEND_REQUEST_CERTIFICATE_D return SSL_ST_SEND_REQUEST_CERTIFICATE_D; #else goto not_there; #endif if (strEQ(name, "ST_SEND_SERVER_FINISHED_A")) #ifdef SSL_ST_SEND_SERVER_FINISHED_A return SSL_ST_SEND_SERVER_FINISHED_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_SERVER_FINISHED_B")) #ifdef SSL_ST_SEND_SERVER_FINISHED_B return SSL_ST_SEND_SERVER_FINISHED_B; #else goto not_there; #endif if (strEQ(name, "ST_SEND_SERVER_HELLO_A")) #ifdef SSL_ST_SEND_SERVER_HELLO_A return SSL_ST_SEND_SERVER_HELLO_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_SERVER_HELLO_B")) #ifdef SSL_ST_SEND_SERVER_HELLO_B return SSL_ST_SEND_SERVER_HELLO_B; #else goto not_there; #endif if (strEQ(name, "ST_SEND_SERVER_VERIFY_A")) #ifdef SSL_ST_SEND_SERVER_VERIFY_A return SSL_ST_SEND_SERVER_VERIFY_A; #else goto not_there; #endif if (strEQ(name, "ST_SEND_SERVER_VERIFY_B")) #ifdef SSL_ST_SEND_SERVER_VERIFY_B return SSL_ST_SEND_SERVER_VERIFY_B; #else goto not_there; #endif if (strEQ(name, "ST_SERVER_START_ENCRYPTION")) #ifdef SSL_ST_SERVER_START_ENCRYPTION return SSL_ST_SERVER_START_ENCRYPTION; #else goto not_there; #endif if (strEQ(name, "ST_X509_GET_CLIENT_CERTIFICATE")) #ifdef SSL_ST_X509_GET_CLIENT_CERTIFICATE return SSL_ST_X509_GET_CLIENT_CERTIFICATE; #else goto not_there; #endif if (strEQ(name, "ST_X509_GET_SERVER_CERTIFICATE")) #ifdef SSL_ST_X509_GET_SERVER_CERTIFICATE return SSL_ST_X509_GET_SERVER_CERTIFICATE; #else goto not_there; #endif break; case 'T': #if 0 if (strEQ(name, "TXT_DES_192_EDE3_CBC_WITH_MD5")) #ifdef SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 return SSL_TXT_DES_192_EDE3_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "TXT_DES_192_EDE3_CBC_WITH_SHA")) #ifdef SSL_TXT_DES_192_EDE3_CBC_WITH_SHA return SSL_TXT_DES_192_EDE3_CBC_WITH_SHA; #else goto not_there; #endif if (strEQ(name, "TXT_DES_64_CBC_WITH_MD5")) #ifdef SSL_TXT_DES_64_CBC_WITH_MD5 return SSL_TXT_DES_64_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "TXT_DES_64_CBC_WITH_SHA")) #ifdef SSL_TXT_DES_64_CBC_WITH_SHA return SSL_TXT_DES_64_CBC_WITH_SHA; #else goto not_there; #endif if (strEQ(name, "TXT_DES_64_CFB64_WITH_MD5_1")) #ifdef SSL_TXT_DES_64_CFB64_WITH_MD5_1 return SSL_TXT_DES_64_CFB64_WITH_MD5_1; #else goto not_there; #endif if (strEQ(name, "TXT_IDEA_128_CBC_WITH_MD5")) #ifdef SSL_TXT_IDEA_128_CBC_WITH_MD5 return SSL_TXT_IDEA_128_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "TXT_NULL")) #ifdef SSL_TXT_NULL return SSL_TXT_NULL; #else goto not_there; #endif if (strEQ(name, "TXT_NULL_WITH_MD5")) #ifdef SSL_TXT_NULL_WITH_MD5 return SSL_TXT_NULL_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "TXT_RC2_128_CBC_EXPORT40_WITH_MD5")) #ifdef SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 return SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "TXT_RC2_128_CBC_WITH_MD5")) #ifdef SSL_TXT_RC2_128_CBC_WITH_MD5 return SSL_TXT_RC2_128_CBC_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "TXT_RC4_128_EXPORT40_WITH_MD5")) #ifdef SSL_TXT_RC4_128_EXPORT40_WITH_MD5 return SSL_TXT_RC4_128_EXPORT40_WITH_MD5; #else goto not_there; #endif if (strEQ(name, "TXT_RC4_128_WITH_MD5")) #ifdef SSL_TXT_RC4_128_WITH_MD5 return SSL_TXT_RC4_128_WITH_MD5; #else goto not_there; #endif #endif break; case 'U': break; case 'V': if (strEQ(name, "VERIFY_CLIENT_ONCE")) #ifdef SSL_VERIFY_CLIENT_ONCE return SSL_VERIFY_CLIENT_ONCE; #else goto not_there; #endif if (strEQ(name, "VERIFY_FAIL_IF_NO_PEER_CERT")) #ifdef SSL_VERIFY_FAIL_IF_NO_PEER_CERT return SSL_VERIFY_FAIL_IF_NO_PEER_CERT; #else goto not_there; #endif if (strEQ(name, "VERIFY_NONE")) #ifdef SSL_VERIFY_NONE return SSL_VERIFY_NONE; #else goto not_there; #endif if (strEQ(name, "VERIFY_PEER")) #ifdef SSL_VERIFY_PEER return SSL_VERIFY_PEER; #else goto not_there; #endif break; case 'W': if (strEQ(name, "WRITING")) #ifdef SSL_WRITING return SSL_WRITING; #else goto not_there; #endif break; case 'X': if (strEQ(name, "X509_LOOKUP")) #ifdef SSL_X509_LOOKUP return SSL_X509_LOOKUP; #else goto not_there; #endif break; case 'Y': break; case 'Z': break; } errno = EINVAL; return 0; not_there: errno = ENOENT; return 0; } /* ============= callback stuff ============== */ static SV * ssleay_verify_callback = (SV*)NULL; static int ssleay_verify_callback_glue (int ok, X509_STORE_CTX* ctx) { dSP ; int count,res; ENTER ; SAVETMPS; PRN("verify callback glue", ok); PUSHMARK(sp); XPUSHs(sv_2mortal(newSViv(ok))); XPUSHs(sv_2mortal(newSViv((int)ctx))); PUTBACK ; if (ssleay_verify_callback == NULL) croak ("Net::SSLeay: verify_callback called, but not " "set to point to any perl function.\n"); PR("About to call verify callback.\n"); count = perl_call_sv(ssleay_verify_callback, G_SCALAR); PR("Returned from verify callback.\n"); SPAGAIN; if (count != 1) croak ( "Net::SSLeay: verify_callback " "perl function did not return a scalar.\n"); res = POPi ; PUTBACK ; FREETMPS ; LEAVE ; return POPi; } static SV * ssleay_ctx_verify_callback = (SV*)NULL; static int ssleay_ctx_verify_callback_glue (int ok, X509_STORE_CTX* ctx) { dSP ; int count,res; ENTER ; SAVETMPS; PRN("ctx verify callback glue", ok); PUSHMARK(sp); XPUSHs(sv_2mortal(newSViv(ok))); XPUSHs(sv_2mortal(newSViv((int)ctx))); PUTBACK ; if (ssleay_ctx_verify_callback == NULL) croak ("Net::SSLeay: ctx_verify_callback called, but not " "set to point to any perl function.\n"); PR("About to call ctx verify callback.\n"); count = perl_call_sv(ssleay_ctx_verify_callback, G_SCALAR); PR("Returned from ctx verify callback.\n"); SPAGAIN; if (count != 1) croak ( "Net::SSLeay: ctx_verify_callback " "perl function did not return a scalar.\n"); res = POPi ; PUTBACK ; FREETMPS ; LEAVE ; return POPi; } #line 1537 "SSLeay.c" XS(XS_Net__SSLeay_constant) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::constant(name, arg)"); { char * name = (char *)SvPV(ST(0),PL_na); int arg = (int)SvIV(ST(1)); double RETVAL; dXSTARG; RETVAL = constant(name, arg); XSprePUSH; PUSHn((double)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_hello) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::hello()"); { int RETVAL; dXSTARG; #line 1539 "SSLeay.xs" PR("\tSSLeay Hello World!\n"); RETVAL = 1; #line 1566 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } #define REM1 "============= SSL CONTEXT functions ==============" XS(XS_Net__SSLeay_CTX_new) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_new()"); { SSL_CTX * RETVAL; dXSTARG; #line 1549 "SSLeay.xs" RETVAL = SSL_CTX_new (SSLv23_method()); #line 1583 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_v2_new) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_v2_new()"); { SSL_CTX * RETVAL; dXSTARG; #line 1556 "SSLeay.xs" RETVAL = SSL_CTX_new (SSLv2_method()); #line 1599 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_v3_new) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_v3_new()"); { SSL_CTX * RETVAL; dXSTARG; #line 1563 "SSLeay.xs" RETVAL = SSL_CTX_new (SSLv3_method()); #line 1615 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_v23_new) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_v23_new()"); { SSL_CTX * RETVAL; dXSTARG; #line 1570 "SSLeay.xs" RETVAL = SSL_CTX_new (SSLv23_method()); #line 1631 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_free) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_free(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); SSL_CTX_free(ctx); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_CTX_add_session) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_add_session(ctx, ses)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_add_session(ctx, ses); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_remove_session) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_remove_session(ctx, ses)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_remove_session(ctx, ses); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_flush_sessions) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_flush_sessions(ctx, tm)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); SInt32 tm = (SInt32)SvIV(ST(1)); SSL_CTX_flush_sessions(ctx, tm); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_CTX_set_default_verify_paths) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_set_default_verify_paths(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_set_default_verify_paths(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_load_verify_locations) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_load_verify_locations(ctx, CAfile, CApath)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); char * CAfile = (char *)SvPV(ST(1),PL_na); char * CApath = (char *)SvPV(ST(2),PL_na); int RETVAL; dXSTARG; #line 1603 "SSLeay.xs" RETVAL = SSL_CTX_load_verify_locations (ctx, CAfile?(*CAfile?CAfile:NULL):NULL, CApath?(*CApath?CApath:NULL):NULL ); #line 1730 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_set_verify) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_set_verify(ctx, mode, callback)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int mode = (int)SvIV(ST(1)); SV * callback = ST(2); #line 1616 "SSLeay.xs" if (ssleay_ctx_verify_callback == (SV*)NULL) { ssleay_ctx_verify_callback = newSVsv(callback); } else { SvSetSV (ssleay_ctx_verify_callback, callback); } if (SvTRUE(ssleay_ctx_verify_callback)) { SSL_CTX_set_verify(ctx,mode,&ssleay_ctx_verify_callback_glue); } else { SSL_CTX_set_verify(ctx,mode,NULL); } #line 1756 "SSLeay.c" } XSRETURN_EMPTY; } #define REM10 "============= SSL functions ==============" XS(XS_Net__SSLeay_new) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::new(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); SSL * RETVAL; dXSTARG; RETVAL = SSL_new(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_free) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::free(s)"); { SSL * s = (SSL *)SvIV(ST(0)); SSL_free(s); } XSRETURN_EMPTY; } #if 0 /* this seems to be gone in 0.9.0 */ #define XSubPPtmpAAAA 1 XS(XS_Net__SSLeay_debug) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::debug(file)"); { char * file = (char *)SvPV(ST(0),PL_na); SSL_debug(file); } XSRETURN_EMPTY; } #endif XS(XS_Net__SSLeay_accept) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::accept(s)"); { SSL * s = (SSL *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_accept(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_clear) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::clear(s)"); { SSL * s = (SSL *)SvIV(ST(0)); SSL_clear(s); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_connect) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::connect(s)"); { SSL * s = (SSL *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_connect(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } #if defined(WIN32) #define XSubPPtmpAAAB 1 XS(XS_Net__SSLeay_set_fd) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_fd(s, fd)"); { SSL * s = (SSL *)SvIV(ST(0)); int fd = (int)SvIV(ST(1)); int RETVAL; dXSTARG; #line 1664 "SSLeay.xs" RETVAL = SSL_set_fd(s,_get_osfhandle(fd)); #line 1868 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_rfd) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_rfd(s, fd)"); { SSL * s = (SSL *)SvIV(ST(0)); int fd = (int)SvIV(ST(1)); int RETVAL; dXSTARG; #line 1673 "SSLeay.xs" RETVAL = SSL_set_rfd(s,_get_osfhandle(fd)); #line 1886 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_wfd) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_wfd(s, fd)"); { SSL * s = (SSL *)SvIV(ST(0)); int fd = (int)SvIV(ST(1)); int RETVAL; dXSTARG; #line 1682 "SSLeay.xs" RETVAL = SSL_set_wfd(s,_get_osfhandle(fd)); #line 1904 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } #else #define XSubPPtmpAAAC 1 XS(XS_Net__SSLeay_set_fd) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_fd(s, fd)"); { SSL * s = (SSL *)SvIV(ST(0)); int fd = (int)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_set_fd(s, fd); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_rfd) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_rfd(s, fd)"); { SSL * s = (SSL *)SvIV(ST(0)); int fd = (int)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_set_rfd(s, fd); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_wfd) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_wfd(s, fd)"); { SSL * s = (SSL *)SvIV(ST(0)); int fd = (int)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_set_wfd(s, fd); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } #endif XS(XS_Net__SSLeay_get_fd) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_fd(s)"); { SSL * s = (SSL *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_get_fd(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_read) { dXSARGS; if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::read(s, max=sizeof(buf))"); { SSL * s = (SSL *)SvIV(ST(0)); #line 1713 "SSLeay.xs" char buf[32768]; #line 1990 "SSLeay.c" int max; #line 1717 "SSLeay.xs" int got; #line 1994 "SSLeay.c" if (items < 2) max = sizeof(buf); else { max = (int)SvIV(ST(1)); } #line 1719 "SSLeay.xs" ST(0) = sv_newmortal(); /* Undefined to start with */ if ((got = SSL_read(s, buf, max)) >= 0) sv_setpvn( ST(0), buf, got); #line 2005 "SSLeay.c" } XSRETURN(1); } XS(XS_Net__SSLeay_write) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::write(s, buf)"); { SSL * s = (SSL *)SvIV(ST(0)); #line 1727 "SSLeay.xs" STRLEN len; #line 2019 "SSLeay.c" char * buf = SvPV( ST(1), len); int RETVAL; dXSTARG; #line 1731 "SSLeay.xs" RETVAL = SSL_write (s, buf, (int)len); #line 2025 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_write_partial) { dXSARGS; if (items != 4) Perl_croak(aTHX_ "Usage: Net::SSLeay::write_partial(s, from, count, buf)"); { SSL * s = (SSL *)SvIV(ST(0)); int from = (int)SvIV(ST(1)); int count = (int)SvIV(ST(2)); #line 1741 "SSLeay.xs" STRLEN len; #line 2042 "SSLeay.c" char * buf = SvPV( ST(3), len); int RETVAL; dXSTARG; #line 1745 "SSLeay.xs" /* if (SvROK( ST(3) )) { SV* t = SvRV( ST(3) ); buf = SvPV( t, len); } else buf = SvPV( ST(3), len); */ PRN("write_partial from",from); PRN(&buf[from],len); PRN("write_partial count",count); len -= from; if (len < 0) { croak("from beyound end of buffer"); RETVAL = -1; } else RETVAL = SSL_write (s, &(buf[from]), (count<=len)?count:len); #line 2063 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_RSAPrivateKey) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_RSAPrivateKey(s, rsa)"); { SSL * s = (SSL *)SvIV(ST(0)); RSA * rsa = (RSA *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_use_RSAPrivateKey(s, rsa); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_RSAPrivateKey_ASN1) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_RSAPrivateKey_ASN1(s, d, len)"); { SSL * s = (SSL *)SvIV(ST(0)); unsigned char * d = (unsigned char *)SvPV(ST(1),PL_na); SInt32 len = (SInt32)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_use_RSAPrivateKey_ASN1(s, d, len); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_RSAPrivateKey_file) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_RSAPrivateKey_file(s, file, type)"); { SSL * s = (SSL *)SvIV(ST(0)); char * file = (char *)SvPV(ST(1),PL_na); int type = (int)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_use_RSAPrivateKey_file(s, file, type); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_use_RSAPrivateKey_file) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_use_RSAPrivateKey_file(ctx, file, type)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); char * file = (char *)SvPV(ST(1),PL_na); int type = (int)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_use_RSAPrivateKey_file(ctx, file, type); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_PrivateKey) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_PrivateKey(s, pkey)"); { SSL * s = (SSL *)SvIV(ST(0)); EVP_PKEY * pkey = (EVP_PKEY *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_use_PrivateKey(s, pkey); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_PrivateKey_ASN1) { dXSARGS; if (items != 4) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_PrivateKey_ASN1(pk, s, d, len)"); { int pk = (int)SvIV(ST(0)); SSL * s = (SSL *)SvIV(ST(1)); unsigned char * d = (unsigned char *)SvPV(ST(2),PL_na); SInt32 len = (SInt32)SvIV(ST(3)); int RETVAL; dXSTARG; RETVAL = SSL_use_PrivateKey_ASN1(pk, s, d, len); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_PrivateKey_file) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_PrivateKey_file(s, file, type)"); { SSL * s = (SSL *)SvIV(ST(0)); char * file = (char *)SvPV(ST(1),PL_na); int type = (int)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_use_PrivateKey_file(s, file, type); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_use_PrivateKey_file) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_use_PrivateKey_file(ctx, file, type)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); char * file = (char *)SvPV(ST(1),PL_na); int type = (int)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_use_PrivateKey_file(ctx, file, type); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_certificate) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_certificate(s, x)"); { SSL * s = (SSL *)SvIV(ST(0)); X509 * x = (X509 *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_use_certificate(s, x); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_certificate_ASN1) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_certificate_ASN1(s, d, len)"); { SSL * s = (SSL *)SvIV(ST(0)); unsigned char * d = (unsigned char *)SvPV(ST(1),PL_na); SInt32 len = (SInt32)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_use_certificate_ASN1(s, d, len); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_use_certificate_file) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::use_certificate_file(s, file, type)"); { SSL * s = (SSL *)SvIV(ST(0)); char * file = (char *)SvPV(ST(1),PL_na); int type = (int)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_use_certificate_file(s, file, type); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_use_certificate_file) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_use_certificate_file(ctx, file, type)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); char * file = (char *)SvPV(ST(1),PL_na); int type = (int)SvIV(ST(2)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_use_certificate_file(ctx, file, type); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_state_string) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::state_string(s)"); { SSL * s = (SSL *)SvIV(ST(0)); char * RETVAL; dXSTARG; RETVAL = SSL_state_string(s); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_rstate_string) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::rstate_string(s)"); { SSL * s = (SSL *)SvIV(ST(0)); char * RETVAL; dXSTARG; RETVAL = SSL_rstate_string(s); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_state_string_long) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::state_string_long(s)"); { SSL * s = (SSL *)SvIV(ST(0)); char * RETVAL; dXSTARG; RETVAL = SSL_state_string_long(s); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_rstate_string_long) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::rstate_string_long(s)"); { SSL * s = (SSL *)SvIV(ST(0)); char * RETVAL; dXSTARG; RETVAL = SSL_rstate_string_long(s); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_get_time) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_time(ses)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); SInt32 RETVAL; dXSTARG; RETVAL = SSL_get_time(ses); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_time) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_time(ses, t)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); SInt32 t = (SInt32)SvIV(ST(1)); SInt32 RETVAL; dXSTARG; RETVAL = SSL_set_time(ses, t); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_get_timeout) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_timeout(ses)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); SInt32 RETVAL; dXSTARG; RETVAL = SSL_get_timeout(ses); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_timeout) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_timeout(ses, t)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); SInt32 t = (SInt32)SvIV(ST(1)); SInt32 RETVAL; dXSTARG; RETVAL = SSL_set_timeout(ses, t); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_copy_session_id) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::copy_session_id(to, from)"); { SSL * to = (SSL *)SvIV(ST(0)); SSL * from = (SSL *)SvIV(ST(1)); SSL_copy_session_id(to, from); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_set_read_ahead) { dXSARGS; if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_read_ahead(s, yes=1)"); { SSL * s = (SSL *)SvIV(ST(0)); int yes; if (items < 2) yes = 1; else { yes = (int)SvIV(ST(1)); } SSL_set_read_ahead(s, yes); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_get_read_ahead) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_read_ahead(s)"); { SSL * s = (SSL *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_get_read_ahead(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_pending) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::pending(s)"); { SSL * s = (SSL *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_pending(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_set_cipher_list) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_set_cipher_list(s, str)"); { SSL_CTX * s = (SSL_CTX *)SvIV(ST(0)); char * str = (char *)SvPV(ST(1),PL_na); int RETVAL; dXSTARG; RETVAL = SSL_CTX_set_cipher_list(s, str); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_get_cipher_list) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_cipher_list(s, n)"); { SSL * s = (SSL *)SvIV(ST(0)); int n = (int)SvIV(ST(1)); char * RETVAL; dXSTARG; RETVAL = SSL_get_cipher_list(s, n); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_set_cipher_list) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_cipher_list(s, str)"); { SSL * s = (SSL *)SvIV(ST(0)); char * str = (char *)SvPV(ST(1),PL_na); int RETVAL; dXSTARG; RETVAL = SSL_set_cipher_list(s, str); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_get_cipher) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_cipher(s)"); { SSL * s = (SSL *)SvIV(ST(0)); char * RETVAL; dXSTARG; RETVAL = SSL_get_cipher(s); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_get_shared_ciphers) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_shared_ciphers(s, buf, len)"); { SSL * s = (SSL *)SvIV(ST(0)); char * buf = (char *)SvPV(ST(1),PL_na); int len = (int)SvIV(ST(2)); char * RETVAL; dXSTARG; RETVAL = SSL_get_shared_ciphers(s, buf, len); sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_get_peer_certificate) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_peer_certificate(s)"); { SSL * s = (SSL *)SvIV(ST(0)); X509 * RETVAL; dXSTARG; RETVAL = SSL_get_peer_certificate(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_verify) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_verify(s, mode, callback)"); { SSL * s = (SSL *)SvIV(ST(0)); int mode = (int)SvIV(ST(1)); SV * callback = ST(2); #line 1922 "SSLeay.xs" if (ssleay_verify_callback == (SV*)NULL) ssleay_verify_callback = newSVsv(callback); else SvSetSV (ssleay_verify_callback, callback); if (SvTRUE(ssleay_verify_callback)) { SSL_set_verify(s,mode,&ssleay_verify_callback_glue); } else { SSL_set_verify(s,mode,NULL); } #line 2599 "SSLeay.c" } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_set_bio) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_bio(s, rbio, wbio)"); { SSL * s = (SSL *)SvIV(ST(0)); BIO * rbio = (BIO *)SvIV(ST(1)); BIO * wbio = (BIO *)SvIV(ST(2)); SSL_set_bio(s, rbio, wbio); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_get_rbio) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_rbio(s)"); { SSL * s = (SSL *)SvIV(ST(0)); BIO * RETVAL; dXSTARG; RETVAL = SSL_get_rbio(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_get_wbio) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_wbio(s)"); { SSL * s = (SSL *)SvIV(ST(0)); BIO * RETVAL; dXSTARG; RETVAL = SSL_get_wbio(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_SESSION_new) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::SESSION_new()"); { SSL_SESSION * RETVAL; dXSTARG; RETVAL = SSL_SESSION_new(); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_SESSION_print) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::SESSION_print(fp, ses)"); { BIO * fp = (BIO *)SvIV(ST(0)); SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_SESSION_print(fp, ses); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_SESSION_free) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::SESSION_free(ses)"); { SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(0)); SSL_SESSION_free(ses); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_i2d_SSL_SESSION) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::i2d_SSL_SESSION(in, pp)"); { SSL_SESSION * in = (SSL_SESSION *)SvIV(ST(0)); unsigned char * pp = (unsigned char *)SvPV(ST(1),PL_na); int RETVAL; dXSTARG; RETVAL = i2d_SSL_SESSION(in, &pp); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_session) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_session(to, ses)"); { SSL * to = (SSL *)SvIV(ST(0)); SSL_SESSION * ses = (SSL_SESSION *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = SSL_set_session(to, ses); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_d2i_SSL_SESSION) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::d2i_SSL_SESSION(a, pp, length)"); { SSL_SESSION * a = (SSL_SESSION *)SvIV(ST(0)); unsigned char * pp = (unsigned char *)SvPV(ST(1),PL_na); SInt32 length = (SInt32)SvIV(ST(2)); SSL_SESSION * RETVAL; dXSTARG; RETVAL = d2i_SSL_SESSION(&a, &pp, length); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } #define REM30 "SSLeay-0.9.0 defines these as macros. I expand them here for safety's sake" XS(XS_Net__SSLeay_get_session) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_session(s)"); { SSL * s = (SSL *)SvIV(ST(0)); SSL_SESSION * RETVAL; dXSTARG; RETVAL = SSL_get_session(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_get_certificate) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_certificate(s)"); { SSL * s = (SSL *)SvIV(ST(0)); X509 * RETVAL; dXSTARG; RETVAL = SSL_get_certificate(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_get_SSL_CTX) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_SSL_CTX(s)"); { SSL * s = (SSL *)SvIV(ST(0)); SSL_CTX * RETVAL; dXSTARG; RETVAL = SSL_get_SSL_CTX(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_ctrl) { dXSARGS; if (items != 4) Perl_croak(aTHX_ "Usage: Net::SSLeay::ctrl(ssl, cmd, larg, parg)"); { SSL * ssl = (SSL *)SvIV(ST(0)); int cmd = (int)SvIV(ST(1)); SInt32 larg = (SInt32)SvIV(ST(2)); char * parg = (char *)SvPV(ST(3),PL_na); SInt32 RETVAL; dXSTARG; RETVAL = SSL_ctrl(ssl, cmd, larg, parg); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_ctrl) { dXSARGS; if (items != 4) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_ctrl(ctx, cmd, larg, parg)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int cmd = (int)SvIV(ST(1)); SInt32 larg = (SInt32)SvIV(ST(2)); char * parg = (char *)SvPV(ST(3),PL_na); SInt32 RETVAL; dXSTARG; RETVAL = SSL_CTX_ctrl(ctx, cmd, larg, parg); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_get_options) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::get_options(ssl)"); { SSL * ssl = (SSL *)SvIV(ST(0)); SInt32 RETVAL; dXSTARG; RETVAL = SSL_get_options(ssl); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_set_options) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::set_options(ssl, op)"); { SSL * ssl = (SSL *)SvIV(ST(0)); UInt32 op = (UInt32)SvUV(ST(1)); SSL_set_options(ssl, op); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_CTX_get_options) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_get_options(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); SInt32 RETVAL; dXSTARG; RETVAL = SSL_CTX_get_options(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_set_options) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_set_options(ctx, op)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); UInt32 op = (UInt32)SvUV(ST(1)); SSL_CTX_set_options(ctx, op); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_CTX_sessions) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sessions(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); LHASH * RETVAL; dXSTARG; #line 2025 "SSLeay.xs" /* NOTE: This should be deprecated. Corresponding macro was removed from ssl.h as of 0.9.2 */ if (ctx == NULL) croak("NULL SSL context passed as argument."); RETVAL = ctx -> sessions; #line 2908 "SSLeay.c" XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_number) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_number(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); UInt32 RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_number(ctx); XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_connect) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_connect(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_connect(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_connect_good) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_connect_good(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_connect_good(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_connect_renegotiate) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_connect_renegotiate(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_connect_renegotiate(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_accept) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_accept(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_accept(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_accept_renegotiate) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_accept_renegotiate(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_accept_renegotiate(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_accept_good) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_accept_good(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_accept_good(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_hits) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_hits(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_hits(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_cb_hits) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_cb_hits(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_cb_hits(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_misses) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_misses(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_misses(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_timeouts) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_timeouts(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_timeouts(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_cache_full) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_cache_full(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_cache_full(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_get_cache_size) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_get_cache_size(ctx)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_CTX_sess_get_cache_size(ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_CTX_sess_set_cache_size) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::CTX_sess_set_cache_size(ctx, size)"); { SSL_CTX * ctx = (SSL_CTX *)SvIV(ST(0)); int size = (int)SvIV(ST(1)); SSL_CTX_sess_set_cache_size(ctx, size); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_want) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::want(s)"); { SSL * s = (SSL *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_want(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_state) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::state(s)"); { SSL * s = (SSL *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = SSL_state(s); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_BIO_f_ssl) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::BIO_f_ssl()"); { BIO_METHOD * RETVAL; dXSTARG; RETVAL = BIO_f_ssl(); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_ERR_get_error) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_get_error()"); { UInt32 RETVAL; dXSTARG; RETVAL = ERR_get_error(); XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_ERR_peek_error) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_peek_error()"); { UInt32 RETVAL; dXSTARG; RETVAL = ERR_peek_error(); XSprePUSH; PUSHu((UV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_ERR_put_error) { dXSARGS; if (items != 5) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_put_error(lib, func, reason, file, line)"); { int lib = (int)SvIV(ST(0)); int func = (int)SvIV(ST(1)); int reason = (int)SvIV(ST(2)); char * file = (char *)SvPV(ST(3),PL_na); int line = (int)SvIV(ST(4)); ERR_put_error(lib, func, reason, file, line); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_ERR_clear_error) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_clear_error()"); { ERR_clear_error(); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_ERR_error_string) { dXSARGS; if (items < 1 || items > 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_error_string(error, buf=NULL)"); { UInt32 error = (UInt32)SvUV(ST(0)); char * buf; char * RETVAL; dXSTARG; if (items < 2) buf = NULL; else { buf = (char *)SvPV(ST(1),PL_na); } #line 2121 "SSLeay.xs" RETVAL = ERR_error_string(error,buf); #line 3260 "SSLeay.c" sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG; } XSRETURN(1); } XS(XS_Net__SSLeay_load_error_strings) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::load_error_strings()"); { SSL_load_error_strings(); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_ERR_load_crypto_strings) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_load_crypto_strings()"); { ERR_load_crypto_strings(); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_SSLeay_add_ssl_algorithms) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::SSLeay_add_ssl_algorithms()"); { SSLeay_add_ssl_algorithms(); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_ERR_load_SSL_strings) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::ERR_load_SSL_strings()"); { ERR_load_SSL_strings(); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_RAND_seed) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::RAND_seed(buf)"); { #line 2140 "SSLeay.xs" STRLEN len; #line 3322 "SSLeay.c" char * buf = SvPV( ST(1), len); #line 2144 "SSLeay.xs" RAND_seed (buf, (int)len); #line 3326 "SSLeay.c" } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_RAND_cleanup) { dXSARGS; if (items != 0) Perl_croak(aTHX_ "Usage: Net::SSLeay::RAND_cleanup()"); { RAND_cleanup(); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_RAND_load_file) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::RAND_load_file(file_name, how_much)"); { char * file_name = (char *)SvPV(ST(0),PL_na); int how_much = (int)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = RAND_load_file(file_name, how_much); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_RAND_write_file) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::RAND_write_file(file_name)"); { char * file_name = (char *)SvPV(ST(0),PL_na); int RETVAL; dXSTARG; RETVAL = RAND_write_file(file_name); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } #define REM40 "Minimal X509 stuff..., this is a bit ugly and should be put in its own modules Net::SSLeay::X509.pm" XS(XS_Net__SSLeay_X509_get_issuer_name) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_get_issuer_name(cert)"); { X509 * cert = (X509 *)SvIV(ST(0)); X509_NAME * RETVAL; dXSTARG; RETVAL = X509_get_issuer_name(cert); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_get_subject_name) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_get_subject_name(cert)"); { X509 * cert = (X509 *)SvIV(ST(0)); X509_NAME * RETVAL; dXSTARG; RETVAL = X509_get_subject_name(cert); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_NAME_oneline) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_NAME_oneline(name)"); { X509_NAME * name = (X509_NAME *)SvIV(ST(0)); #line 2172 "SSLeay.xs" char buf[32768]; #line 3418 "SSLeay.c" #line 2174 "SSLeay.xs" ST(0) = sv_newmortal(); /* Undefined to start with */ if (X509_NAME_oneline(name, buf, sizeof(buf))) sv_setpvn( ST(0), buf, strlen(buf)); #line 3423 "SSLeay.c" } XSRETURN(1); } XS(XS_Net__SSLeay_X509_STORE_CTX_get_current_cert) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_STORE_CTX_get_current_cert(x509_store_ctx)"); { X509_STORE_CTX * x509_store_ctx = (X509_STORE_CTX *)SvIV(ST(0)); X509 * RETVAL; dXSTARG; RETVAL = X509_STORE_CTX_get_current_cert(x509_store_ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_STORE_CTX_get_ex_data) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_STORE_CTX_get_ex_data(x509_store_ctx, idx)"); { X509_STORE_CTX * x509_store_ctx = (X509_STORE_CTX *)SvIV(ST(0)); int idx = (int)SvIV(ST(1)); void * RETVAL; dXSTARG; RETVAL = X509_STORE_CTX_get_ex_data(x509_store_ctx, idx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_STORE_CTX_get_error) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_STORE_CTX_get_error(x509_store_ctx)"); { X509_STORE_CTX * x509_store_ctx = (X509_STORE_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = X509_STORE_CTX_get_error(x509_store_ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_STORE_CTX_get_error_depth) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_STORE_CTX_get_error_depth(x509_store_ctx)"); { X509_STORE_CTX * x509_store_ctx = (X509_STORE_CTX *)SvIV(ST(0)); int RETVAL; dXSTARG; RETVAL = X509_STORE_CTX_get_error_depth(x509_store_ctx); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_STORE_CTX_set_ex_data) { dXSARGS; if (items != 3) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_STORE_CTX_set_ex_data(x509_store_ctx, idx, data)"); { X509_STORE_CTX * x509_store_ctx = (X509_STORE_CTX *)SvIV(ST(0)); int idx = (int)SvIV(ST(1)); void * data = INT2PTR(void *,SvIV(ST(2))); int RETVAL; dXSTARG; RETVAL = X509_STORE_CTX_set_ex_data(x509_store_ctx, idx, data); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_STORE_CTX_set_error) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_STORE_CTX_set_error(x509_store_ctx, s)"); { X509_STORE_CTX * x509_store_ctx = (X509_STORE_CTX *)SvIV(ST(0)); int s = (int)SvIV(ST(1)); X509_STORE_CTX_set_error(x509_store_ctx, s); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_X509_STORE_CTX_set_cert) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_STORE_CTX_set_cert(x509_store_ctx, x)"); { X509_STORE_CTX * x509_store_ctx = (X509_STORE_CTX *)SvIV(ST(0)); X509 * x = (X509 *)SvIV(ST(1)); X509_STORE_CTX_set_cert(x509_store_ctx, x); } XSRETURN_EMPTY; } XS(XS_Net__SSLeay_X509_get_notBefore) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_get_notBefore(cert)"); { X509 * cert = (X509 *)SvIV(ST(0)); ASN1_UTCTIME * RETVAL; dXSTARG; RETVAL = X509_get_notBefore(cert); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_X509_get_notAfter) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::X509_get_notAfter(cert)"); { X509 * cert = (X509 *)SvIV(ST(0)); ASN1_UTCTIME * RETVAL; dXSTARG; RETVAL = X509_get_notAfter(cert); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_P_ASN1_UTCTIME_put2string) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::P_ASN1_UTCTIME_put2string(tm)"); { ASN1_UTCTIME * tm = (ASN1_UTCTIME *)SvIV(ST(0)); #line 2225 "SSLeay.xs" BIO *bp; int i; char buffer[256]; #line 3582 "SSLeay.c" #line 2229 "SSLeay.xs" bp = BIO_new(BIO_s_mem()); ASN1_UTCTIME_print(bp,tm); i = BIO_read(bp,buffer,255); buffer[i] = '\0'; ST(0) = sv_newmortal(); /* Undefined to start with */ if ( i > 0 ) sv_setpvn( ST(0), buffer, i ); BIO_free(bp); #line 3592 "SSLeay.c" } XSRETURN(1); } XS(XS_Net__SSLeay_EVP_PKEY_copy_parameters) { dXSARGS; if (items != 2) Perl_croak(aTHX_ "Usage: Net::SSLeay::EVP_PKEY_copy_parameters(to, from)"); { EVP_PKEY * to = (EVP_PKEY *)SvIV(ST(0)); EVP_PKEY * from = (EVP_PKEY *)SvIV(ST(1)); int RETVAL; dXSTARG; RETVAL = EVP_PKEY_copy_parameters(to, from); XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } XS(XS_Net__SSLeay_PEM_get_string_X509) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::PEM_get_string_X509(x509)"); { X509 * x509 = (X509 *)SvIV(ST(0)); #line 2247 "SSLeay.xs" BIO *bp; int i; char buffer[8196]; #line 3625 "SSLeay.c" #line 2251 "SSLeay.xs" bp = BIO_new(BIO_s_mem()); PEM_write_bio_X509(bp,x509); i = BIO_read(bp,buffer,8195); buffer[i] = '\0'; ST(0) = sv_newmortal(); /* Undefined to start with */ if ( i > 0 ) sv_setpvn( ST(0), buffer, i ); BIO_free(bp); #line 3635 "SSLeay.c" } XSRETURN(1); } XS(XS_Net__SSLeay_MD5) { dXSARGS; if (items != 1) Perl_croak(aTHX_ "Usage: Net::SSLeay::MD5(data)"); { #line 2263 "SSLeay.xs" STRLEN len; unsigned char md[MD5_DIGEST_LENGTH]; unsigned char * ret; #line 3650 "SSLeay.c" unsigned char * data = (unsigned char *) SvPV( ST(0), len); #line 2269 "SSLeay.xs" ret = MD5(data,len,md); if (ret!=NULL) { XSRETURN_PV((char *) md); } else { XSRETURN_UNDEF; } #line 3659 "SSLeay.c" } XSRETURN_EMPTY; } #define REM_EOF "/* EOF - SSLeay.xs */" #ifdef __cplusplus extern "C" #endif XS(boot_Net__SSLeay) { dXSARGS; char* file = __FILE__; items = items; XS_VERSION_BOOTCHECK ; newXSproto("Net::SSLeay::constant", XS_Net__SSLeay_constant, file, "$$"); newXSproto("Net::SSLeay::hello", XS_Net__SSLeay_hello, file, ""); newXSproto("Net::SSLeay::CTX_new", XS_Net__SSLeay_CTX_new, file, ""); newXSproto("Net::SSLeay::CTX_v2_new", XS_Net__SSLeay_CTX_v2_new, file, ""); newXSproto("Net::SSLeay::CTX_v3_new", XS_Net__SSLeay_CTX_v3_new, file, ""); newXSproto("Net::SSLeay::CTX_v23_new", XS_Net__SSLeay_CTX_v23_new, file, ""); newXSproto("Net::SSLeay::CTX_free", XS_Net__SSLeay_CTX_free, file, "$"); newXSproto("Net::SSLeay::CTX_add_session", XS_Net__SSLeay_CTX_add_session, file, "$$"); newXSproto("Net::SSLeay::CTX_remove_session", XS_Net__SSLeay_CTX_remove_session, file, "$$"); newXSproto("Net::SSLeay::CTX_flush_sessions", XS_Net__SSLeay_CTX_flush_sessions, file, "$$"); newXSproto("Net::SSLeay::CTX_set_default_verify_paths", XS_Net__SSLeay_CTX_set_default_verify_paths, file, "$"); newXSproto("Net::SSLeay::CTX_load_verify_locations", XS_Net__SSLeay_CTX_load_verify_locations, file, "$$$"); newXSproto("Net::SSLeay::CTX_set_verify", XS_Net__SSLeay_CTX_set_verify, file, "$$$"); newXSproto("Net::SSLeay::new", XS_Net__SSLeay_new, file, "$"); newXSproto("Net::SSLeay::free", XS_Net__SSLeay_free, file, "$"); #if XSubPPtmpAAAA newXSproto("Net::SSLeay::debug", XS_Net__SSLeay_debug, file, "$"); #endif newXSproto("Net::SSLeay::accept", XS_Net__SSLeay_accept, file, "$"); newXSproto("Net::SSLeay::clear", XS_Net__SSLeay_clear, file, "$"); newXSproto("Net::SSLeay::connect", XS_Net__SSLeay_connect, file, "$"); #if XSubPPtmpAAAB newXSproto("Net::SSLeay::set_fd", XS_Net__SSLeay_set_fd, file, "$$"); newXSproto("Net::SSLeay::set_rfd", XS_Net__SSLeay_set_rfd, file, "$$"); newXSproto("Net::SSLeay::set_wfd", XS_Net__SSLeay_set_wfd, file, "$$"); #endif #if XSubPPtmpAAAC newXSproto("Net::SSLeay::set_fd", XS_Net__SSLeay_set_fd, file, "$$"); newXSproto("Net::SSLeay::set_rfd", XS_Net__SSLeay_set_rfd, file, "$$"); newXSproto("Net::SSLeay::set_wfd", XS_Net__SSLeay_set_wfd, file, "$$"); #endif newXSproto("Net::SSLeay::get_fd", XS_Net__SSLeay_get_fd, file, "$"); newXSproto("Net::SSLeay::read", XS_Net__SSLeay_read, file, "$;$"); newXSproto("Net::SSLeay::write", XS_Net__SSLeay_write, file, "$$"); newXSproto("Net::SSLeay::write_partial", XS_Net__SSLeay_write_partial, file, "$$$$"); newXSproto("Net::SSLeay::use_RSAPrivateKey", XS_Net__SSLeay_use_RSAPrivateKey, file, "$$"); newXSproto("Net::SSLeay::use_RSAPrivateKey_ASN1", XS_Net__SSLeay_use_RSAPrivateKey_ASN1, file, "$$$"); newXSproto("Net::SSLeay::use_RSAPrivateKey_file", XS_Net__SSLeay_use_RSAPrivateKey_file, file, "$$$"); newXSproto("Net::SSLeay::CTX_use_RSAPrivateKey_file", XS_Net__SSLeay_CTX_use_RSAPrivateKey_file, file, "$$$"); newXSproto("Net::SSLeay::use_PrivateKey", XS_Net__SSLeay_use_PrivateKey, file, "$$"); newXSproto("Net::SSLeay::use_PrivateKey_ASN1", XS_Net__SSLeay_use_PrivateKey_ASN1, file, "$$$$"); newXSproto("Net::SSLeay::use_PrivateKey_file", XS_Net__SSLeay_use_PrivateKey_file, file, "$$$"); newXSproto("Net::SSLeay::CTX_use_PrivateKey_file", XS_Net__SSLeay_CTX_use_PrivateKey_file, file, "$$$"); newXSproto("Net::SSLeay::use_certificate", XS_Net__SSLeay_use_certificate, file, "$$"); newXSproto("Net::SSLeay::use_certificate_ASN1", XS_Net__SSLeay_use_certificate_ASN1, file, "$$$"); newXSproto("Net::SSLeay::use_certificate_file", XS_Net__SSLeay_use_certificate_file, file, "$$$"); newXSproto("Net::SSLeay::CTX_use_certificate_file", XS_Net__SSLeay_CTX_use_certificate_file, file, "$$$"); newXSproto("Net::SSLeay::state_string", XS_Net__SSLeay_state_string, file, "$"); newXSproto("Net::SSLeay::rstate_string", XS_Net__SSLeay_rstate_string, file, "$"); newXSproto("Net::SSLeay::state_string_long", XS_Net__SSLeay_state_string_long, file, "$"); newXSproto("Net::SSLeay::rstate_string_long", XS_Net__SSLeay_rstate_string_long, file, "$"); newXSproto("Net::SSLeay::get_time", XS_Net__SSLeay_get_time, file, "$"); newXSproto("Net::SSLeay::set_time", XS_Net__SSLeay_set_time, file, "$$"); newXSproto("Net::SSLeay::get_timeout", XS_Net__SSLeay_get_timeout, file, "$"); newXSproto("Net::SSLeay::set_timeout", XS_Net__SSLeay_set_timeout, file, "$$"); newXSproto("Net::SSLeay::copy_session_id", XS_Net__SSLeay_copy_session_id, file, "$$"); newXSproto("Net::SSLeay::set_read_ahead", XS_Net__SSLeay_set_read_ahead, file, "$;$"); newXSproto("Net::SSLeay::get_read_ahead", XS_Net__SSLeay_get_read_ahead, file, "$"); newXSproto("Net::SSLeay::pending", XS_Net__SSLeay_pending, file, "$"); newXSproto("Net::SSLeay::CTX_set_cipher_list", XS_Net__SSLeay_CTX_set_cipher_list, file, "$$"); newXSproto("Net::SSLeay::get_cipher_list", XS_Net__SSLeay_get_cipher_list, file, "$$"); newXSproto("Net::SSLeay::set_cipher_list", XS_Net__SSLeay_set_cipher_list, file, "$$"); newXSproto("Net::SSLeay::get_cipher", XS_Net__SSLeay_get_cipher, file, "$"); newXSproto("Net::SSLeay::get_shared_ciphers", XS_Net__SSLeay_get_shared_ciphers, file, "$$$"); newXSproto("Net::SSLeay::get_peer_certificate", XS_Net__SSLeay_get_peer_certificate, file, "$"); newXSproto("Net::SSLeay::set_verify", XS_Net__SSLeay_set_verify, file, "$$$"); newXSproto("Net::SSLeay::set_bio", XS_Net__SSLeay_set_bio, file, "$$$"); newXSproto("Net::SSLeay::get_rbio", XS_Net__SSLeay_get_rbio, file, "$"); newXSproto("Net::SSLeay::get_wbio", XS_Net__SSLeay_get_wbio, file, "$"); newXSproto("Net::SSLeay::SESSION_new", XS_Net__SSLeay_SESSION_new, file, ""); newXSproto("Net::SSLeay::SESSION_print", XS_Net__SSLeay_SESSION_print, file, "$$"); newXSproto("Net::SSLeay::SESSION_free", XS_Net__SSLeay_SESSION_free, file, "$"); newXSproto("Net::SSLeay::i2d_SSL_SESSION", XS_Net__SSLeay_i2d_SSL_SESSION, file, "$$"); newXSproto("Net::SSLeay::set_session", XS_Net__SSLeay_set_session, file, "$$"); newXSproto("Net::SSLeay::d2i_SSL_SESSION", XS_Net__SSLeay_d2i_SSL_SESSION, file, "$$$"); newXSproto("Net::SSLeay::get_session", XS_Net__SSLeay_get_session, file, "$"); newXSproto("Net::SSLeay::get_certificate", XS_Net__SSLeay_get_certificate, file, "$"); newXSproto("Net::SSLeay::get_SSL_CTX", XS_Net__SSLeay_get_SSL_CTX, file, "$"); newXSproto("Net::SSLeay::ctrl", XS_Net__SSLeay_ctrl, file, "$$$$"); newXSproto("Net::SSLeay::CTX_ctrl", XS_Net__SSLeay_CTX_ctrl, file, "$$$$"); newXSproto("Net::SSLeay::get_options", XS_Net__SSLeay_get_options, file, "$"); newXSproto("Net::SSLeay::set_options", XS_Net__SSLeay_set_options, file, "$$"); newXSproto("Net::SSLeay::CTX_get_options", XS_Net__SSLeay_CTX_get_options, file, "$"); newXSproto("Net::SSLeay::CTX_set_options", XS_Net__SSLeay_CTX_set_options, file, "$$"); newXSproto("Net::SSLeay::CTX_sessions", XS_Net__SSLeay_CTX_sessions, file, "$"); newXSproto("Net::SSLeay::CTX_sess_number", XS_Net__SSLeay_CTX_sess_number, file, "$"); newXSproto("Net::SSLeay::CTX_sess_connect", XS_Net__SSLeay_CTX_sess_connect, file, "$"); newXSproto("Net::SSLeay::CTX_sess_connect_good", XS_Net__SSLeay_CTX_sess_connect_good, file, "$"); newXSproto("Net::SSLeay::CTX_sess_connect_renegotiate", XS_Net__SSLeay_CTX_sess_connect_renegotiate, file, "$"); newXSproto("Net::SSLeay::CTX_sess_accept", XS_Net__SSLeay_CTX_sess_accept, file, "$"); newXSproto("Net::SSLeay::CTX_sess_accept_renegotiate", XS_Net__SSLeay_CTX_sess_accept_renegotiate, file, "$"); newXSproto("Net::SSLeay::CTX_sess_accept_good", XS_Net__SSLeay_CTX_sess_accept_good, file, "$"); newXSproto("Net::SSLeay::CTX_sess_hits", XS_Net__SSLeay_CTX_sess_hits, file, "$"); newXSproto("Net::SSLeay::CTX_sess_cb_hits", XS_Net__SSLeay_CTX_sess_cb_hits, file, "$"); newXSproto("Net::SSLeay::CTX_sess_misses", XS_Net__SSLeay_CTX_sess_misses, file, "$"); newXSproto("Net::SSLeay::CTX_sess_timeouts", XS_Net__SSLeay_CTX_sess_timeouts, file, "$"); newXSproto("Net::SSLeay::CTX_sess_cache_full", XS_Net__SSLeay_CTX_sess_cache_full, file, "$"); newXSproto("Net::SSLeay::CTX_sess_get_cache_size", XS_Net__SSLeay_CTX_sess_get_cache_size, file, "$"); newXSproto("Net::SSLeay::CTX_sess_set_cache_size", XS_Net__SSLeay_CTX_sess_set_cache_size, file, "$$"); newXSproto("Net::SSLeay::want", XS_Net__SSLeay_want, file, "$"); newXSproto("Net::SSLeay::state", XS_Net__SSLeay_state, file, "$"); newXSproto("Net::SSLeay::BIO_f_ssl", XS_Net__SSLeay_BIO_f_ssl, file, ""); newXSproto("Net::SSLeay::ERR_get_error", XS_Net__SSLeay_ERR_get_error, file, ""); newXSproto("Net::SSLeay::ERR_peek_error", XS_Net__SSLeay_ERR_peek_error, file, ""); newXSproto("Net::SSLeay::ERR_put_error", XS_Net__SSLeay_ERR_put_error, file, "$$$$$"); newXSproto("Net::SSLeay::ERR_clear_error", XS_Net__SSLeay_ERR_clear_error, file, ""); newXSproto("Net::SSLeay::ERR_error_string", XS_Net__SSLeay_ERR_error_string, file, "$;$"); newXSproto("Net::SSLeay::load_error_strings", XS_Net__SSLeay_load_error_strings, file, ""); newXSproto("Net::SSLeay::ERR_load_crypto_strings", XS_Net__SSLeay_ERR_load_crypto_strings, file, ""); newXSproto("Net::SSLeay::SSLeay_add_ssl_algorithms", XS_Net__SSLeay_SSLeay_add_ssl_algorithms, file, ""); newXSproto("Net::SSLeay::ERR_load_SSL_strings", XS_Net__SSLeay_ERR_load_SSL_strings, file, ""); newXSproto("Net::SSLeay::RAND_seed", XS_Net__SSLeay_RAND_seed, file, "$"); newXSproto("Net::SSLeay::RAND_cleanup", XS_Net__SSLeay_RAND_cleanup, file, ""); newXSproto("Net::SSLeay::RAND_load_file", XS_Net__SSLeay_RAND_load_file, file, "$$"); newXSproto("Net::SSLeay::RAND_write_file", XS_Net__SSLeay_RAND_write_file, file, "$"); newXSproto("Net::SSLeay::X509_get_issuer_name", XS_Net__SSLeay_X509_get_issuer_name, file, "$"); newXSproto("Net::SSLeay::X509_get_subject_name", XS_Net__SSLeay_X509_get_subject_name, file, "$"); newXSproto("Net::SSLeay::X509_NAME_oneline", XS_Net__SSLeay_X509_NAME_oneline, file, "$"); newXSproto("Net::SSLeay::X509_STORE_CTX_get_current_cert", XS_Net__SSLeay_X509_STORE_CTX_get_current_cert, file, "$"); newXSproto("Net::SSLeay::X509_STORE_CTX_get_ex_data", XS_Net__SSLeay_X509_STORE_CTX_get_ex_data, file, "$$"); newXSproto("Net::SSLeay::X509_STORE_CTX_get_error", XS_Net__SSLeay_X509_STORE_CTX_get_error, file, "$"); newXSproto("Net::SSLeay::X509_STORE_CTX_get_error_depth", XS_Net__SSLeay_X509_STORE_CTX_get_error_depth, file, "$"); newXSproto("Net::SSLeay::X509_STORE_CTX_set_ex_data", XS_Net__SSLeay_X509_STORE_CTX_set_ex_data, file, "$$$"); newXSproto("Net::SSLeay::X509_STORE_CTX_set_error", XS_Net__SSLeay_X509_STORE_CTX_set_error, file, "$$"); newXSproto("Net::SSLeay::X509_STORE_CTX_set_cert", XS_Net__SSLeay_X509_STORE_CTX_set_cert, file, "$$"); newXSproto("Net::SSLeay::X509_get_notBefore", XS_Net__SSLeay_X509_get_notBefore, file, "$"); newXSproto("Net::SSLeay::X509_get_notAfter", XS_Net__SSLeay_X509_get_notAfter, file, "$"); newXSproto("Net::SSLeay::P_ASN1_UTCTIME_put2string", XS_Net__SSLeay_P_ASN1_UTCTIME_put2string, file, "$"); newXSproto("Net::SSLeay::EVP_PKEY_copy_parameters", XS_Net__SSLeay_EVP_PKEY_copy_parameters, file, "$$"); newXSproto("Net::SSLeay::PEM_get_string_X509", XS_Net__SSLeay_PEM_get_string_X509, file, "$"); newXSproto("Net::SSLeay::MD5", XS_Net__SSLeay_MD5, file, "$"); /* Initialisation Section */ #if XSubPPtmpAAAA #endif #if XSubPPtmpAAAB #endif #if XSubPPtmpAAAC #endif #line 3815 "SSLeay.c" /* End of Initialisation Section */ XSRETURN_YES; }