sslproc: send the certftp method on rehash

This commit is contained in:
Simon Arlott 2016-04-25 19:22:10 +01:00
parent f7b0c4b3d8
commit 93ad89b232
No known key found for this signature in database
GPG key ID: C8975F2043CA5D24

View file

@ -69,8 +69,9 @@ struct _ssl_ctl
char version[256]; 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_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; static rb_dlink_list ssl_daemons;
@ -337,11 +338,7 @@ start_ssldaemon(int count)
rb_close(P1); rb_close(P1);
ctl = allocate_ssl_daemon(F1, P2, pid); ctl = allocate_ssl_daemon(F1, P2, pid);
if(ircd_ssl_ok) if(ircd_ssl_ok)
{ ssld_update_config_one(ctl);
send_certfp_method(ctl, ConfigFileEntry.certfp_method);
send_new_ssl_certs_one(ctl);
}
ssl_read_ctl(ctl->F, ctl); ssl_read_ctl(ctl->F, ctl);
ssl_do_pipe(P2, ctl); ssl_do_pipe(P2, ctl);
@ -723,15 +720,22 @@ send_new_ssl_certs_one(ssl_ctl_t * ctl)
} }
static void static void
send_certfp_method(ssl_ctl_t *ctl, int method) send_certfp_method(ssl_ctl_t *ctl)
{ {
char buf[5]; char buf[5];
buf[0] = 'F'; 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)); 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 void
ssld_update_config(void) ssld_update_config(void)
{ {
@ -740,11 +744,10 @@ ssld_update_config(void)
RB_DLINK_FOREACH(ptr, ssl_daemons.head) RB_DLINK_FOREACH(ptr, ssl_daemons.head)
{ {
ssl_ctl_t *ctl = ptr->data; ssl_ctl_t *ctl = ptr->data;
send_new_ssl_certs_one(ctl); ssld_update_config_one(ctl);
} }
} }
ssl_ctl_t * ssl_ctl_t *
start_ssld_accept(rb_fde_t * sslF, rb_fde_t * plainF, uint32_t id) start_ssld_accept(rb_fde_t * sslF, rb_fde_t * plainF, uint32_t id)
{ {