1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-09-29 04:25:55 -04:00

Feature: Allow reloading TLS key on the fly

This commit is contained in:
Philipp Schafft 2016-10-20 09:38:53 +00:00
parent a6eb48e44d
commit 1d39b657da
3 changed files with 9 additions and 0 deletions

View File

@ -39,6 +39,7 @@
#include "yp.h" #include "yp.h"
#include "fserve.h" #include "fserve.h"
#include "stats.h" #include "stats.h"
#include "connection.h"
#define CATMODULE "CONFIG" #define CATMODULE "CONFIG"
#define CONFIG_DEFAULT_LOCATION "Earth" #define CONFIG_DEFAULT_LOCATION "Earth"
@ -636,6 +637,7 @@ void config_reread_config(void)
config_set_config(&new_config); config_set_config(&new_config);
config = config_get_config_unlocked(); config = config_get_config_unlocked();
restart_logging(config); restart_logging(config);
connection_reread_config(config);
yp_recheck_config(config); yp_recheck_config(config);
fserve_recheck_mime_types(config); fserve_recheck_mime_types(config);
stats_global(config); stats_global(config);

View File

@ -107,6 +107,7 @@ static matchfile_t *banned_ip, *allowed_ip;
rwlock_t _source_shutdown_rwlock; rwlock_t _source_shutdown_rwlock;
static void _handle_connection(void); static void _handle_connection(void);
static void get_ssl_certificate(ice_config_t *config);
void connection_initialize(void) void connection_initialize(void)
{ {
@ -142,6 +143,11 @@ void connection_shutdown(void)
_initialized = 0; _initialized = 0;
} }
void connection_reread_config(struct ice_config_tag *config)
{
get_ssl_certificate(config);
}
static unsigned long _next_connection_id(void) static unsigned long _next_connection_id(void)
{ {
unsigned long id; unsigned long id;

View File

@ -49,6 +49,7 @@ typedef struct connection_tag
void connection_initialize(void); void connection_initialize(void);
void connection_shutdown(void); void connection_shutdown(void);
void connection_reread_config(struct ice_config_tag *config);
void connection_accept_loop(void); void connection_accept_loop(void);
int connection_setup_sockets(struct ice_config_tag *config); int connection_setup_sockets(struct ice_config_tag *config);
void connection_close(connection_t *con); void connection_close(connection_t *con);