/*++ /* NAME /* tlsproxy 3h /* SUMMARY /* tlsproxy internal interfaces /* SYNOPSIS /* #include /* DESCRIPTION /* .nf /* * Utility library. */ #include #include /* * TLS library. */ #include /* * Internal interface. */ typedef struct { int flags; /* see below */ int req_flags; /* request flags, see tls_proxy.h */ char *service; /* argv[0] */ VSTREAM *plaintext_stream; /* local peer: postscreen(8), etc. */ NBBIO *plaintext_buf; /* plaintext buffer */ int ciphertext_fd; /* remote peer */ EVENT_NOTIFY_FN ciphertext_timer; /* kludge */ int timeout; /* read/write time limit */ char *remote_endpt; /* printable remote endpoint */ char *server_id; /* cache management */ TLS_SESS_STATE *tls_context; /* llibtls state */ int ssl_last_err; /* TLS I/O state */ } TLSP_STATE; #define TLSP_FLAG_DO_HANDSHAKE (1<<0) extern TLSP_STATE *tlsp_state_create(const char *, VSTREAM *); extern void tlsp_state_free(TLSP_STATE *); /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /*--*/