X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/661f21491758a04e3ae8413f0360f80bb6cc3310..6ec1ddabff92d9af0a2f671b56310db417cc71eb:/ssld/ssld.c?ds=sidebyside diff --git a/ssld/ssld.c b/ssld/ssld.c index b28520d..9870b70 100644 --- a/ssld/ssld.c +++ b/ssld/ssld.c @@ -575,7 +575,7 @@ static void conn_mod_read_cb(rb_fde_t *fd, void *data) { conn_t *conn = data; - const char *err = remote_closed; + const char *err; int length; if(conn == NULL) return; @@ -679,8 +679,16 @@ static void ssl_process_accept_cb(rb_fde_t *F, int status, struct sockaddr *addr, rb_socklen_t len, void *data) { conn_t *conn = data; + char buf[5 + RB_SSL_CERTFP_LEN]; + if(status == RB_OK) { + if(rb_get_ssl_certfp(F, &buf[5])) + { + buf[0] = 'F'; + int32_to_buf(&buf[1], conn->id); + mod_cmd_write_queue(conn->ctl, buf, sizeof buf); + } conn_mod_read_cb(conn->mod_fd, conn); conn_plain_read_cb(conn->plain_fd, conn); return;