82 #define TLSPROXY_INIT_TIMEOUT 10
84 static char *psc_tlsp_service = 0;
88 static void psc_starttls_finish(
int event,
void *context)
90 const char *myname =
"psc_starttls_finish";
97 msg_info(
"%s: send client handle on proxy socket %d"
98 " for smtp socket %d from [%s]:%s flags=%s",
131 "454 4.7.0 TLS not available due to local problem\r\n");
143 msg_warn(
"%s sending file handle to %s service",
149 "454 4.7.0 TLS not available due to local problem\r\n");
179 starttls_state->
resume_event(event, (
void *) smtp_state);
180 myfree((
void *) starttls_state);
187 const char *myname =
"psc_starttls_open";
191 static VSTRING *remote_endpt = 0;
193 if (psc_tlsp_service == 0) {
204 msg_warn(
"connect to %s service: %m", psc_tlsp_service);
206 "454 4.7.0 TLS not available due to local problem\r\n");
211 msg_info(
"%s: send client name/address on proxy socket %d"
212 " for smtp socket %d from [%s]:%s flags=%s",
235 msg_warn(
"error sending request to %s service: %m", psc_tlsp_service);
238 "454 4.7.0 TLS not available due to local problem\r\n");
#define TLSPROXY_INIT_TIMEOUT
#define RECV_ATTR_INT(name, val)
EVENT_NOTIFY_FN resume_event
#define MAIL_ATTR_TIMEOUT
#define PSC_READ_EVENT_REQUEST(fd, action, context, timeout)
char * var_tlsproxy_service
int vstream_fclose(VSTREAM *stream)
#define VSTREAM_PURGE_BOTH
void msg_warn(const char *fmt,...)
VSTRING * vstring_alloc(ssize_t len)
#define MAIL_ATTR_REMOTE_ENDPT
VSTRING * vstring_sprintf(VSTRING *vp, const char *format,...)
#define SEND_ATTR_INT(name, val)
void(* EVENT_NOTIFY_FN)(int, void *)
#define MAIL_ATTR_SERVER_ID
int vstream_fflush(VSTREAM *stream)
char * concatenate(const char *arg0,...)
#define TLS_PROXY_FLAG_ROLE_SERVER
#define PSC_STATE_FLAG_USING_TLS
time_t event_request_timer(EVENT_NOTIFY_TIME_FN callback, void *context, int delay)
#define vstream_fileno(vp)
#define CA_VSTREAM_CTL_END
void psc_starttls_open(PSC_STATE *smtp_state, EVENT_NOTIFY_FN resume_event)
#define MAIL_SERVICE_SMTPD
void vstream_control(VSTREAM *stream, int name,...)
void event_disable_readwrite(int fd)
int psc_normal_cmd_time_limit
int vstream_fpurge(VSTREAM *stream, int direction)
int event_cancel_timer(EVENT_NOTIFY_TIME_FN callback, void *context)
VSTREAM * tlsproxy_stream
#define CA_VSTREAM_CTL_SWAP_FD(v)
#define SEND_ATTR_STR(name, val)
const char * psc_print_state_flags(int, const char *)
#define MAIL_CLASS_PRIVATE
VSTREAM * smtp_client_stream
VSTREAM * vstream_fdopen(int fd, int flags)
void * mymalloc(ssize_t len)
void msg_info(const char *fmt,...)