X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/09fb2d185d735d5e64272a21d00f2674a90112ba..b869e117f01851f05ff6d02b65b2719e829057a7:/src/sslproc.c diff --git a/src/sslproc.c b/src/sslproc.c index a886b66..178fde3 100644 --- a/src/sslproc.c +++ b/src/sslproc.c @@ -408,7 +408,7 @@ ssl_process_certfp(ssl_ctl_t * ctl, ssl_ctl_buf_t * ctl_buf) struct Client *client_p; int32_t fd; uint8_t *certfp; - char certfp_string[RB_SSL_CERTFP_LEN * 2 + 1]; + char *certfp_string; int i; if(ctl_buf->buflen != 5 + RB_SSL_CERTFP_LEN) @@ -419,10 +419,12 @@ ssl_process_certfp(ssl_ctl_t * ctl, ssl_ctl_buf_t * ctl_buf) client_p = find_cli_fd_hash(fd); if(client_p == NULL) return; + rb_free(client_p->certfp); + certfp_string = rb_malloc(RB_SSL_CERTFP_LEN * 2 + 1); for(i = 0; i < RB_SSL_CERTFP_LEN; i++) rb_snprintf(certfp_string + 2 * i, 3, "%02x", certfp[i]); - sendto_one_notice(client_p, ":*** Your client certificate fingerprint is: %s", certfp_string); + client_p->certfp = certfp_string; } static void