source: trunk/third/kermit/ck_ssl.h @ 20081

Revision 20081, 4.1 KB checked in by zacheiss, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20080, which included commits to RCS files with non-trunk default branches.
Line 
1/*
2  C K _ S S L . H --  OpenSSL Interface Header for C-Kermit
3
4  Copyright (C) 1985, 2001,
5    Trustees of Columbia University in the City of New York.
6    All rights reserved.  See the C-Kermit COPYING.TXT file or the
7    copyright text in the ckcmai.c module for disclaimer and permissions.
8
9  Author:  Jeffrey E Altman (jaltman@columbia.edu)
10*/
11
12#ifdef CK_SSL
13#ifndef CK_ANSIC
14#define NOPROTO
15#endif /* CK_ANSIC */
16
17#ifdef COMMENT                          /* Not for C-Kermit 7.1 */
18#ifdef KRB5
19#ifndef NOSSLK5
20#ifndef SSL_KRB5
21#define SSL_KRB5
22#endif /* SSL_KRB5 */
23#endif /* NOSSLK5 */
24#endif /* KRB5 */
25#endif /* COMMENT */
26
27#ifdef OS2
28#ifndef ZLIB
29#define ZLIB
30#endif /* ZLIB */
31#endif /* OS2 */
32
33#ifdef ZLIB
34#include <openssl/comp.h>
35#endif /* ZLIB */
36/* We place the following to avoid loading openssl/mdc2.h since it
37 * relies on the OpenSSL des.h.  Since we do not need the MDC2
38 * definitions there is no reason to have it included by openssl/evp.h
39 */
40#define OPENSSL_NO_MDC2
41#include <openssl/des.h>
42#include <openssl/ssl.h>
43#include <openssl/x509v3.h>
44#include <openssl/rand.h>
45#include <openssl/x509_vfy.h>
46#include <openssl/err.h>
47#include <openssl/pem.h>
48#include <openssl/bn.h>
49#include <openssl/blowfish.h>
50#include <openssl/dh.h>
51#include <openssl/rc4.h>
52#include <openssl/cast.h>
53#include <openssl/dsa.h>
54#include <openssl/rsa.h>
55#include <openssl/md5.h>
56#include <openssl/sha.h>
57#include <openssl/evp.h>
58#include <openssl/hmac.h>
59#ifdef SSL_KRB5
60#include <openssl/kssl.h>
61#endif /* SSL_KRB5 */
62
63extern BIO *bio_err;
64extern SSL *ssl_con;
65extern SSL_CTX *ssl_ctx;
66extern int ssl_debug_flag;
67extern int ssl_only_flag;
68extern int ssl_active_flag;
69extern int ssl_verify_flag;
70extern int ssl_verbose_flag;
71extern int ssl_certsok_flag;
72extern int ssl_dummy_flag;
73extern int ssl_verify_depth;
74
75extern char *ssl_rsa_cert_file;
76extern char *ssl_rsa_cert_chain_file;
77extern char *ssl_rsa_key_file;
78extern char *ssl_dsa_cert_file;
79extern char *ssl_dsa_cert_chain_file;
80extern char *ssl_dh_key_file;
81extern char *ssl_cipher_list;
82extern char *ssl_crl_file;
83extern char *ssl_crl_dir;
84extern char *ssl_verify_file;
85extern char *ssl_verify_dir;
86extern char *ssl_dh_param_file;
87extern char *ssl_rnd_file;
88
89extern SSL_CTX *tls_ctx;
90extern SSL *tls_con;
91extern int tls_only_flag;
92extern int tls_active_flag;
93extern int x509_cert_valid;
94extern X509_STORE *crl_store;
95
96#ifndef NOHTTP
97extern SSL_CTX *tls_http_ctx;
98extern SSL *tls_http_con;
99extern int tls_http_active_flag;
100#endif /* NOHTTP */
101
102extern int ssl_initialized;
103
104_PROTOTYP(VOID ssl_once_init,(void));
105_PROTOTYP(int ssl_tn_init,(int));
106_PROTOTYP(int ssl_http_init,(char *));
107_PROTOTYP(int ck_ssl_http_client,(int,char *));
108_PROTOTYP(int ssl_display_connect_details,(SSL *,int,int));
109_PROTOTYP(int ssl_server_verify_callback,(int, X509_STORE_CTX *));
110_PROTOTYP(int ssl_client_verify_callback,(int, X509_STORE_CTX *));
111_PROTOTYP(int ssl_reply,(int, unsigned char *, int));
112_PROTOTYP(int ssl_is,(unsigned char *, int));
113_PROTOTYP(int ck_ssl_incoming,(int));
114_PROTOTYP(int ck_ssl_outgoing,(int));
115_PROTOTYP(int tls_is_user_valid,(SSL *, const char *));
116_PROTOTYP(char * ssl_get_dnsName,(SSL *));
117_PROTOTYP(char * ssl_get_commonName,(SSL *));
118_PROTOTYP(char * ssl_get_issuer_name,(SSL *));
119_PROTOTYP(char * ssl_get_subject_name,(SSL *));
120_PROTOTYP(int ssl_get_client_finished,(char *, int));
121_PROTOTYP(int ssl_get_server_finished,(char *, int));
122_PROTOTYP(int ssl_passwd_callback,(char *, int, int, VOID *));
123_PROTOTYP(VOID ssl_client_info_callback,(const SSL *,int, int));
124_PROTOTYP(int ssl_anonymous_cipher,(SSL * ssl));
125_PROTOTYP(int tls_load_certs,(SSL_CTX * ctx, SSL * con, int server));
126_PROTOTYP(int ssl_verify_crl,(int, X509_STORE_CTX *));
127_PROTOTYP(int tls_is_krb5,(int));
128_PROTOTYP(int X509_userok,(X509 *,const char *));
129_PROTOTYP(int ck_X509_save_cert_to_user_store,(X509 *));
130#ifdef OS2
131#include "ckosslc.h"
132#include "ckossl.h"
133#endif /* OS2 */
134
135#define SSL_CLIENT 0
136#define SSL_SERVER 1
137#define SSL_HTTP   2
138
139#define SSL_ERR_BFSZ 4096
140
141#ifdef SSL_KRB5
142#define DEFAULT_CIPHER_LIST "HIGH:MEDIUM:LOW:+KRB5:+ADH:+EXP"
143#else
144#define DEFAULT_CIPHER_LIST "HIGH:MEDIUM:LOW:+ADH:+EXP"
145#endif /* SSL_KRB5 */
146#endif /* CK_SSL */
Note: See TracBrowser for help on using the repository browser.