# HG changeset patch # User David Demelier # Date 1482401864 -3600 # Node ID 94b18a90e8f7608c416d6efc9416ffbdfd1c0ff1 # Parent 6a6513d184c3c46f38709fb2dfe3309220c76014 Misc: fix build without SSL diff -r 6a6513d184c3 -r 94b18a90e8f7 irccdctl/main.cpp --- a/irccdctl/main.cpp Thu Dec 22 12:55:23 2016 +0100 +++ b/irccdctl/main.cpp Thu Dec 22 11:17:44 2016 +0100 @@ -145,7 +145,11 @@ address = net::resolveOne(host, port, domain, SOCK_STREAM); if ((it = sc.find("ssl")) != sc.end() && util::isBoolean(it->value())) +#if defined(WITH_SSL) client = std::make_unique(); +#else + throw std::runtime_error("SSL disabled"); +#endif else client = std::make_unique(); } diff -r 6a6513d184c3 -r 94b18a90e8f7 libcommon/CMakeLists.txt --- a/libcommon/CMakeLists.txt Thu Dec 22 12:55:23 2016 +0100 +++ b/libcommon/CMakeLists.txt Thu Dec 22 11:17:44 2016 +0100 @@ -51,6 +51,8 @@ ${libcommon_SOURCE_DIR}/CMakeLists.txt ${HEADERS} ${SOURCES} + FLAGS + $<$:NET_NO_SSL> LIBRARIES extern-fmt extern-json diff -r 6a6513d184c3 -r 94b18a90e8f7 libirccd/irccd/config.cpp --- a/libirccd/irccd/config.cpp Thu Dec 22 12:55:23 2016 +0100 +++ b/libirccd/irccd/config.cpp Thu Dec 22 11:17:44 2016 +0100 @@ -193,7 +193,11 @@ if (pkey.empty()) return std::make_shared(address, port, mode); +#if defined(WITH_SSL) return std::make_shared(pkey, cert, address, port, mode); +#else + throw std::invalid_argument("transport: SSL disabled"); +#endif } std::shared_ptr loadTransportUnix(const ini::Section &sc) diff -r 6a6513d184c3 -r 94b18a90e8f7 libirccd/irccd/transport.cpp --- a/libirccd/irccd/transport.cpp Thu Dec 22 12:55:23 2016 +0100 +++ b/libirccd/irccd/transport.cpp Thu Dec 22 11:17:44 2016 +0100 @@ -270,6 +270,8 @@ * ------------------------------------------------------------------ */ +#if defined(WITH_SSL) + void TransportClientTls::handshake() { try { @@ -357,6 +359,8 @@ } } +#endif // !WITH_SSL + /* * TransportServerIp * ------------------------------------------------------------------ @@ -395,6 +399,8 @@ * ------------------------------------------------------------------ */ +#if defined(WITH_SSL) + TransportServerTls::TransportServerTls(const std::string &pkey, const std::string &cert, const std::string &address, @@ -411,6 +417,8 @@ return std::make_unique(m_privatekey, m_cert, *this, m_socket.accept()); } +#endif // !WITH_SSL + /* * TransportServerLocal * ------------------------------------------------------------------ diff -r 6a6513d184c3 -r 94b18a90e8f7 libirccd/irccd/transport.hpp --- a/libirccd/irccd/transport.hpp Thu Dec 22 12:55:23 2016 +0100 +++ b/libirccd/irccd/transport.hpp Thu Dec 22 11:17:44 2016 +0100 @@ -182,6 +182,8 @@ * ------------------------------------------------------------------ */ +#if defined(WITH_SSL) + /** * \brief TLS version of transport client. */ @@ -235,6 +237,8 @@ IRCCD_EXPORT void sync(fd_set &in, fd_set &out) override; }; +#endif // !WITH_SSL + /* * TransportServer * ------------------------------------------------------------------ @@ -348,6 +352,8 @@ std::uint8_t mode = v4); }; +#if defined(WITH_SSL) + /** * \brief TLS over IP transport. */ @@ -378,6 +384,8 @@ IRCCD_EXPORT std::unique_ptr accept() override; }; +#endif // !WITH_SSL + #if !defined(IRCCD_SYSTEM_WINDOWS) /** diff -r 6a6513d184c3 -r 94b18a90e8f7 libirccdctl/irccd/client.cpp --- a/libirccdctl/irccd/client.cpp Thu Dec 22 12:55:23 2016 +0100 +++ b/libirccdctl/irccd/client.cpp Thu Dec 22 11:17:44 2016 +0100 @@ -458,6 +458,8 @@ * ------------------------------------------------------------------ */ +#if defined(WITH_SSL) + void TlsClient::handshake() { try { @@ -548,4 +550,6 @@ Client::sync(in, out); } +#endif // !WITH_SSL + } // !irccd diff -r 6a6513d184c3 -r 94b18a90e8f7 libirccdctl/irccd/client.hpp --- a/libirccdctl/irccd/client.hpp Thu Dec 22 12:55:23 2016 +0100 +++ b/libirccdctl/irccd/client.hpp Thu Dec 22 11:17:44 2016 +0100 @@ -270,6 +270,8 @@ virtual void sync(fd_set &in, fd_set &out); }; +#if defined(WITH_SSL) + /** * \brief TLS over IP connection. */ @@ -315,6 +317,8 @@ void sync(fd_set &in, fd_set &out) override; }; +#endif // !WITH_SSL + } // !irccd #endif // !IRCCD_CLIENT_HPP