]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - ssld/ssld.c
libratbox: Use the server SSL certificate on outgoing connections.
[irc/rqf/shadowircd.git] / ssld / ssld.c
index b28520da8dd785e1116134fe7aebaab3666d51d1..9870b70e119e845f4a371657f55b008a58bdff71 100644 (file)
@@ -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;