3847 lines
91 KiB
C
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;
|
|
}
|
|
|