From 93ad89b232b86f94d6288452a5d8cd3cac795653 Mon Sep 17 00:00:00 2001 From: Simon Arlott Date: Mon, 25 Apr 2016 19:22:10 +0100 Subject: [PATCH] sslproc: send the certftp method on rehash --- ircd/sslproc.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/ircd/sslproc.c b/ircd/sslproc.c index 2f92c2b1..efe3d764 100644 --- a/ircd/sslproc.c +++ b/ircd/sslproc.c @@ -69,8 +69,9 @@ struct _ssl_ctl char version[256]; }; +static void ssld_update_config_one(ssl_ctl_t *ctl); static void send_new_ssl_certs_one(ssl_ctl_t * ctl); -static void send_certfp_method(ssl_ctl_t *ctl, int method); +static void send_certfp_method(ssl_ctl_t *ctl); static rb_dlink_list ssl_daemons; @@ -337,11 +338,7 @@ start_ssldaemon(int count) rb_close(P1); ctl = allocate_ssl_daemon(F1, P2, pid); if(ircd_ssl_ok) - { - send_certfp_method(ctl, ConfigFileEntry.certfp_method); - send_new_ssl_certs_one(ctl); - - } + ssld_update_config_one(ctl); ssl_read_ctl(ctl->F, ctl); ssl_do_pipe(P2, ctl); @@ -723,15 +720,22 @@ send_new_ssl_certs_one(ssl_ctl_t * ctl) } static void -send_certfp_method(ssl_ctl_t *ctl, int method) +send_certfp_method(ssl_ctl_t *ctl) { char buf[5]; buf[0] = 'F'; - uint32_to_buf(&buf[1], method); + uint32_to_buf(&buf[1], ConfigFileEntry.certfp_method); ssl_cmd_write_queue(ctl, NULL, 0, buf, sizeof(buf)); } +static void +ssld_update_config_one(ssl_ctl_t *ctl) +{ + send_certfp_method(ctl); + send_new_ssl_certs_one(ctl); +} + void ssld_update_config(void) { @@ -740,11 +744,10 @@ ssld_update_config(void) RB_DLINK_FOREACH(ptr, ssl_daemons.head) { ssl_ctl_t *ctl = ptr->data; - send_new_ssl_certs_one(ctl); + ssld_update_config_one(ctl); } } - ssl_ctl_t * start_ssld_accept(rb_fde_t * sslF, rb_fde_t * plainF, uint32_t id) {