File: ssl_port.h

package info (click to toggle)
netkit-ftp-ssl 0.17.23%2B0.2-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 1,800 kB
  • ctags: 2,086
  • sloc: ansic: 6,308; makefile: 93; sh: 8
file content (86 lines) | stat: -rw-r--r-- 2,539 bytes parent folder | download | duplicates (16)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/* ssl_port.h    - standard porting things 
 *
 * The modifications to support SSLeay were done by Tim Hudson
 * tjh@mincom.oz.au
 *
 * You can do whatever you like with these patches except pretend that
 * you wrote them. 
 *
 * Email ssl-users-request@mincom.oz.au to get instructions on how to
 * join the mailing list that discusses SSLeay and also these patches.
 *
 */

#ifndef HEADER_SSL_PORT_H
#define HEADER_SSL_PORT_H

#ifdef USE_SSL

#include <stdio.h>

#define OLDPROTO NOPROTO
#undef NOPROTO
#define NOPROTO
#include <openssl/buffer.h>
#undef NOPROTO
#define NOPROTO OLDPROTO

#include <openssl/x509.h>
#include <openssl/ssl.h>
#include <openssl/err.h>

extern SSL *ssl_con;
extern SSL_CTX *ssl_ctx;
extern int ssl_debug_flag;
extern int ssl_only_flag;
extern int ssl_active_flag;
extern int ssl_verify_flag;
extern int ssl_secure_flag;
extern int ssl_enabled;

extern int ssl_encrypt_data;
extern SSL *ssl_data_con;
extern int ssl_data_active_flag;

extern char *my_ssl_cert_file;
extern char *my_ssl_key_file;
extern int ssl_certsok_flag;

extern int set_ssl_trace(SSL *s);

extern FILE *cin, *cout;

#define is_ssl_fd(X,Y)    ( (SSL_get_fd((X))==0) || \
                            (SSL_get_fd((X))==1) || \
                            (SSL_get_fd((X))==pdata) || \
			    (SSL_get_fd((X))==(Y)) \
			  )

#define is_ssl_fp(X,Y)    ( ( (SSL_get_fd((X))==0) && (fileno((Y))==0) ) || \
                            ( (SSL_get_fd((X))==1) && (fileno((Y))==1) ) || \
                            ( (SSL_get_fd((X))==pdata) && \
			    			  (fileno((Y))==pdata) ) || \
			    (SSL_get_fd((X))==fileno(Y)) \
			  )

/* these macros make things much easier to handle ... */

#define FFLUSH(X)         (ssl_active_flag && (((X)==cin)||((X)==cout)) ? 1 : fflush((X)) )

#define GETC(X)           (ssl_active_flag && (((X)==cin)||((X)==cout)) ? ssl_getc(ssl_con) : getc((X)) )

#define DATAGETC(X)       (ssl_data_active_flag && ((fileno(X)==data)||(fileno(X)==pdata)) ? ssl_getc(ssl_data_con) : getc((X)) )
#define DATAPUTC(X,Y)     (ssl_data_active_flag && ((fileno(Y)==data)||(fileno(Y)==pdata)) ? ssl_putc(ssl_data_con,(X)) : putc((X),(Y)) )
#define DATAFLUSH(X)      (ssl_data_active_flag && ((fileno(X)==data)||(fileno(X)==pdata)) ? ssl_putc_flush(ssl_data_con) : fflush((X)) )

#else

#define GETC(X)           getc((X))
#define DATAGETC(X)       getc((X))
#define DATAPUTC(X,Y)     putc((X),(Y))
#define DATAFLUSH(X)      fflush((X))
#define FFLUSH(X)         fflush((X))

#endif /* USE_SSL */

#endif /*  HEADER_SSL_PORT_H */