Lines Matching refs:c
20 static ssize_t ssl_read(conn *c, void *buf, size_t count);
21 static ssize_t ssl_sendmsg(conn *c, struct msghdr *msg, int flags);
22 static ssize_t ssl_write(conn *c, void *buf, size_t count);
40 void *ssl_accept(conn *c, int sfd, bool *fail) { in ssl_accept() argument
42 if (c->ssl_enabled) { in ssl_accept()
43 assert(IS_TCP(c->transport) && settings.ssl_enabled); in ssl_accept()
65 if (c->ssl_enabled == MC_SSL_ENABLED_NOPEER) { in ssl_accept()
68 } else if (c->ssl_enabled == MC_SSL_ENABLED_PEER) { in ssl_accept()
86 NULL, c->sfd, strerror(errno)); in ssl_accept()
93 NULL, c->sfd, ssl_err); in ssl_accept()
125 const unsigned char *ssl_get_peer_cn(conn *c, int *len) { in ssl_get_peer_cn() argument
126 if (!c->ssl) { in ssl_get_peer_cn()
131 X509 *cert = SSL_get_peer_certificate(c->ssl); in ssl_get_peer_cn()
161 static ssize_t ssl_read(conn *c, void *buf, size_t count) { in ssl_read() argument
162 assert (c != NULL); in ssl_read()
167 ssize_t ret = SSL_read(c->ssl, buf, count); in ssl_read()
169 int err = SSL_get_error(c->ssl, ret); in ssl_read()
177 LOGGER_LOG(c->thread->l, LOG_CONNEVENTS, LOGGER_CONNECTION_TLSERROR, in ssl_read()
178 NULL, c->sfd, strerror(errno)); in ssl_read()
184 LOGGER_LOG(c->thread->l, LOG_CONNEVENTS, LOGGER_CONNECTION_TLSERROR, in ssl_read()
185 NULL, c->sfd, ssl_err); in ssl_read()
200 static ssize_t ssl_write(conn *c, void *buf, size_t count) { in ssl_write() argument
201 assert (c != NULL); in ssl_write()
203 ssize_t ret = SSL_write(c->ssl, buf, count); in ssl_write()
205 int err = SSL_get_error(c->ssl, ret); in ssl_write()
213 LOGGER_LOG(c->thread->l, LOG_CONNEVENTS, LOGGER_CONNECTION_TLSERROR, in ssl_write()
214 NULL, c->sfd, strerror(errno)); in ssl_write()
220 LOGGER_LOG(c->thread->l, LOG_CONNEVENTS, LOGGER_CONNECTION_TLSERROR, in ssl_write()
221 NULL, c->sfd, ssl_err); in ssl_write()
234 static ssize_t ssl_sendmsg(conn *c, struct msghdr *msg, int flags) { in ssl_sendmsg() argument
235 assert (c != NULL); in ssl_sendmsg()
242 assert(c->ssl_wbuf); in ssl_sendmsg()
249 assert(pthread_equal(c->thread->thread_id, pthread_self()) != 0); in ssl_sendmsg()
251 char *bp = c->ssl_wbuf; in ssl_sendmsg()
265 return ssl_write(c, c->ssl_wbuf, bytes); in ssl_sendmsg()
363 void ssl_init_conn(conn *c, void *ssl_in) { in ssl_init_conn() argument
366 c->ssl = (SSL*)ssl; in ssl_init_conn()
367 c->read = ssl_read; in ssl_init_conn()
368 c->sendmsg = ssl_sendmsg; in ssl_init_conn()
369 c->write = ssl_write; in ssl_init_conn()
370 SSL_set_info_callback(c->ssl, ssl_callback); in ssl_init_conn()