changeset 445:13c7b9a82f1f stable-2

Merge from release-2.0
author David Demelier <markand@malikania.fr>
date Sun, 02 Jul 2017 08:10:40 +0200
parents ef6e0eaae6c1 (current diff) edeb5210fe81 (diff)
children f3c27790d0d1 8be634087c72
files
diffstat 10 files changed, 46 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsigs	Tue Mar 07 12:20:43 2017 +0100
+++ b/.hgsigs	Sun Jul 02 08:10:40 2017 +0200
@@ -4,3 +4,4 @@
 ef19e4c406cf9611650fe25354170485ab27b819 0 iQEcBAABCAAGBQJYGI4KAAoJEKHa+bhAI/MfdlIH/jP3ktybzbMISVHeZOx5Kd6sQYyEQP5u0StQ3Sgj/oV+tqn3UWrTypKXJZWeI1yb3KYtHfcmP8l/nKeN0Zz3c05qh+J+MuBCoBNL1yP8ZHqarKrhPjkoC5OQoUgegsMEOcCBK7j8VXmSJ5DUXpn1Drd9dQ7qKE3fu84knHWe0ViVThbFFQsqBv5DQOgA+Pl5GN1JzeMWo/hWHjHldrsFC2xOeDJNuJ42RgmFmKaj7MHO9Nsu6aLZwDzkZvoImPzsO/AAQsrqAHC2um85LptCsWZ3LFw8aC1UqmlvvcdXLivChHs0+Qwr9VrGGlcaZ8mLaD4ucCG2LUR9EjmtwOCkJvc=
 13097484da5145f5e83705aed9288c3f3d745375 0 iQEzBAABCAAdFiEEvr8S/JLqYAXrLA5Xodr5uEAj8x8FAliRvf0ACgkQodr5uEAj8x/MbQf7B8PnmQLQvB5URnAZiPQlxUwV/ueu1g2ygZaMv3shop9PQBDUHEkVso+kivGDrIhX+E94JeNno3L+FMaNigOHS67x2ycoaerk89COcTIfj426KyvBSJ/nP5m8Sx3AnXXjuqV83blQCOhi99lNE1o3Zw9UX9IwhIjZnLX6o48ybEhbh/DeXQ/qw4KIbqhA4LjE+UNndf0zDCgSN9DJXw3kUejRCNb7ygP/zkbnhpuM5prdzjHFsrAlGCtTAebB2Aq7oAn/ZYIJclh38E2j89fFxUbz8wg5JtXJBUQ2a4oGtByM6aKD8zXUMgTRHc/EfLvjlL8EoOZG8HkUM+kMcgPGDw==
 033d85c3c81e053368714174c22b692d99b03c24 0 iQEcBAABCAAGBQJYvpdpAAoJEKHa+bhAI/MfD68H/RSos3CKE1SU4n3iz0Y005J39nKVwYia8i4EPb1chuVS2qxiYISYCGHcmnALkIGYek8nSzEYAH6EoMoWnUz5WSYGuV0X5KH6722J+kgRlYn3l8ZgIt+cgOBfZh+91JCyIPSDRBCD3qF2bTXsgweX9F/iqWWRGIBcYLm/qw8YDaroiTm2kF9Txzs1VtJrLGLaltsndRj3v1sWyAeVD8xuKiF8v+zB1vZQQi75wSrhyovdQf13dy+GDUwqMZnZu+O9hTeq+mxIijGf+WXFLsBZ4Myxi1UNq5HAKO6kKKNMWdNnMqasL6VNx6D7dtDEJ1RV8DgbGsKUDFb957mdvLRFBr8=
+ae054128f365f9c91aa0f112a0b2c4c99265c00a 0 iQEcBAABAgAGBQJZWI5EAAoJEKHa+bhAI/MfWOIIAK7paY/J/qmm8tWi1zz981MqaJbXaL0+uLZCWNDXp3WjC237IHPa3bhLf5NL5bU4UnVwpBJSx9Sow4jrHZckuDSx+1I1cRoPngvsHDwo6YnekYHF2XX4ZI7NFQ+3D/IDYx+PQEKbQmw/XzxLGAfDzMLLo6mLfL8I/zak4fMprQ309Ka0lvsTdxiAzimYYVRN6MRVhVyv3udxQRGVU+waNCwzgfFZTjFHacFjBkY7PQWdVdtuf5uRyOiVF5HpBFf/Xi8eyfkRwRwKsSqsphkXPJctu8xeF9AYtu5/9x+T5L8SPK4fST1dRLdq0TZUFPhU/mgcVXiiqXpOagNQolKdjW0=
--- a/.hgtags	Tue Mar 07 12:20:43 2017 +0100
+++ b/.hgtags	Sun Jul 02 08:10:40 2017 +0200
@@ -4,3 +4,4 @@
 d37069bcbbab340c122a4f6fbb028c02996cc143 2.0.3
 a8b0353ac831ef6cb9be9f92a634252a680169b0 2.1.0
 4022c5fa8b7c62b461380bc9a6cb150fe6a53186 2.1.1
+315460895f853f525f2a5427109a6a05436429d7 2.1.2
--- a/CHANGES.md	Tue Mar 07 12:20:43 2017 +0100
+++ b/CHANGES.md	Sun Jul 02 08:10:40 2017 +0200
@@ -1,6 +1,14 @@
 IRC Client Daemon CHANGES
 =========================
 
+irccd 2.1.2 2017-06-02
+----------------------
+
+  - Fix SSL initialization error in libircclient (#653),
+  - Fix various SSL warnings (#652),
+  - Fix build on Linux with musl (#649),
+  - Fix case sensitivity in hangman and roulette (#642).
+
 irccd 2.1.1 2017-03-07
 ----------------------
 
--- a/cmake/IrccdVersion.cmake	Tue Mar 07 12:20:43 2017 +0100
+++ b/cmake/IrccdVersion.cmake	Sun Jul 02 08:10:40 2017 +0200
@@ -19,7 +19,7 @@
 # Irccd version.
 set(IRCCD_VERSION_MAJOR "2")
 set(IRCCD_VERSION_MINOR "1")
-set(IRCCD_VERSION_PATCH "1")
+set(IRCCD_VERSION_PATCH "2")
 set(IRCCD_VERSION "${IRCCD_VERSION_MAJOR}.${IRCCD_VERSION_MINOR}.${IRCCD_VERSION_PATCH}")
 set(IRCCD_VERSION_SHLIB "2")
 
@@ -32,6 +32,6 @@
 # IRCCD_RELEASE_DATE_DAY        2 digits (01 = first day of month)
 #
 set(IRCCD_RELEASE_DATE_YEAR 2017)
-set(IRCCD_RELEASE_DATE_MONTH 03)
-set(IRCCD_RELEASE_DATE_DAY 07)
+set(IRCCD_RELEASE_DATE_MONTH 06)
+set(IRCCD_RELEASE_DATE_DAY 02)
 set(IRCCD_RELEASE_DATE "${IRCCD_RELEASE_DATE_YEAR}-${IRCCD_RELEASE_DATE_MONTH}-${IRCCD_RELEASE_DATE_DAY}")
--- a/extern/libircclient/src/ssl.c	Tue Mar 07 12:20:43 2017 +0100
+++ b/extern/libircclient/src/ssl.c	Sun Jul 02 08:10:40 2017 +0200
@@ -122,9 +122,11 @@
 	if ( !ssl_context )
 		return LIBIRC_ERR_SSL_INIT_FAILED;
 
+#if 0
 	// Disable SSLv2 as it is unsecure
 	if ( (SSL_CTX_set_options( ssl_context, SSL_OP_NO_SSLv2) & SSL_OP_NO_SSLv2) == 0 )
 		return LIBIRC_ERR_SSL_INIT_FAILED;
+#endif
 
 	// Enable only strong ciphers
 	if ( SSL_CTX_set_cipher_list( ssl_context, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH" ) != 1 )
--- a/libcommon/irccd/fs.cpp	Tue Mar 07 12:20:43 2017 +0100
+++ b/libcommon/irccd/fs.cpp	Sun Jul 02 08:10:40 2017 +0200
@@ -41,6 +41,7 @@
 #   include <sys/types.h>
 #   include <dirent.h>
 #   include <unistd.h>
+#   include <climits>
 #endif
 
 #include "fs.hpp"
--- a/libcommon/irccd/net.hpp	Tue Mar 07 12:20:43 2017 +0100
+++ b/libcommon/irccd/net.hpp	Sun Jul 02 08:10:40 2017 +0200
@@ -502,6 +502,7 @@
 #include <openssl/err.h>
 #include <openssl/evp.h>
 #include <openssl/ssl.h>
+#include <openssl/opensslv.h>
 
 #endif // !NET_NO_SSL
 
@@ -609,6 +610,14 @@
 #    include <poll.h>
 #endif
 
+#if !defined(NET_NO_SSL)
+#   if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#       define NET_SSL_DEFAULT_METHOD TLS_method
+#   else
+#       define NET_SSL_DEFAULT_METHOD TLSv1_method
+#   endif
+#endif
+
 namespace irccd {
 
 /**
@@ -2125,7 +2134,7 @@
      * \param mode the mode
      * \param method the method
      */
-    TlsSocket(TcpSocket &&sock, Mode mode = Server, const SSL_METHOD *method = TLSv1_method())
+    TlsSocket(TcpSocket &&sock, Mode mode = Server, const SSL_METHOD *method = NET_SSL_DEFAULT_METHOD())
         : Socket(std::move(sock))
         , m_mustclose(true)
     {
@@ -2141,7 +2150,7 @@
      * \param mode the mode
      * \param method the method
      */
-    TlsSocket(TcpSocket &sock, Mode mode = Server, const SSL_METHOD *method = TLSv1_method())
+    TlsSocket(TcpSocket &sock, Mode mode = Server, const SSL_METHOD *method = NET_SSL_DEFAULT_METHOD())
         : Socket(sock.handle())
     {
         create(mode, method);
--- a/plugins/hangman/hangman.js	Tue Mar 07 12:20:43 2017 +0100
+++ b/plugins/hangman/hangman.js	Sun Jul 02 08:10:40 2017 +0200
@@ -329,6 +329,8 @@
 
 function onCommand(server, origin, channel, message)
 {
+    channel = channel.toLowerCase();
+
     var game = Hangman.find(server, channel);
     var kw = {
         channel: channel,
@@ -361,6 +363,8 @@
 
 function onMessage(server, origin, channel, message)
 {
+    channel = channel.toLowerCase();
+
     var game = Hangman.find(server, channel);
 
     if (!game)
--- a/plugins/roulette/roulette.js	Tue Mar 07 12:20:43 2017 +0100
+++ b/plugins/roulette/roulette.js	Sun Jul 02 08:10:40 2017 +0200
@@ -126,6 +126,8 @@
 
 function onCommand(server, origin, channel)
 {
+    channel = channel.toLowerCase();
+
     var kw = {
         channel: channel,
         command: server.info().commandChar + Plugin.info().name,
--- a/tests/plugin-hangman/main.cpp	Tue Mar 07 12:20:43 2017 +0100
+++ b/tests/plugin-hangman/main.cpp	Sun Jul 02 08:10:40 2017 +0200
@@ -198,6 +198,19 @@
     ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last());
 }
 
+TEST_F(HangmanTest, caseInsensitive)
+{
+    load();
+
+    m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""});
+    m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#HANGMAN", "s"});
+    ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last());
+    m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#HaNGMaN", "k"});
+    ASSERT_EQ("#hangman:wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k", m_server->last());
+    m_plugin->onMessage(m_irccd, MessageEvent{m_server, "francis!francis@localhost", "#hAngmAn", "k"});
+    ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last());
+}
+
 TEST_F(HangmanTest, query)
 {
     load();