Darwin-Streaming-Server/WebAdmin/NetSSLeay/SSLeay.c
Darren VanBuren 849723c9cf Add even more of the source
This should be about everything needed to build so far?
2017-03-07 17:14:16 -08:00

3847 lines
91 KiB
C

/*
*
* @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 <sampo@iki.fi>
* 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 <openssl/err.h>
#include <openssl/lhash.h>
#include <openssl/buffer.h>
#include <openssl/ssl.h>
/* 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;
}