# HG changeset patch # User David Demelier # Date 1549536169 -3600 # Node ID 963feffc07fe85b02063ccff82d126f77a5d421b # Parent 6cc8f27447eec0129a89efe0aca550d3b0492246 irccd: fix invalid server load from json diff -r 6cc8f27447ee -r 963feffc07fe libirccd-daemon/irccd/daemon/server_util.cpp --- a/libirccd-daemon/irccd/daemon/server_util.cpp Tue Feb 05 20:24:00 2019 +0100 +++ b/libirccd-daemon/irccd/daemon/server_util.cpp Thu Feb 07 11:42:49 2019 +0100 @@ -178,14 +178,19 @@ if (!ipv4 || !ipv6) throw server_error(server_error::invalid_family); - toggle(sv, server::options::ipv4, *ipv4); - toggle(sv, server::options::ipv6, *ipv6); - toggle(sv, server::options::auto_rejoin, *auto_rejoin); - toggle(sv, server::options::join_invite, *join_invite); - toggle(sv, server::options::ssl, *ssl); + if (ipv4) + toggle(sv, server::options::ipv4, *ipv4); + if (ipv6) + toggle(sv, server::options::ipv6, *ipv6); + if (auto_rejoin) + toggle(sv, server::options::auto_rejoin, *auto_rejoin); + if (join_invite) + toggle(sv, server::options::join_invite, *join_invite); + if (ssl) + toggle(sv, server::options::ssl, *ssl); #if !defined(IRCCD_HAVE_SSL) - if ((server::get_options() & server::options::ssl) == server::options::ssl) + if ((sv.get_options() & server::options::ssl) == server::options::ssl) throw server_error(server_error::ssl_disabled); #endif