pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/chat/loudmouth loudmouth: update to 1.5.4.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3cc75f9393dd
branches:  trunk
changeset: 445596:3cc75f9393dd
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Mon Jan 25 23:10:00 2021 +0000

description:
loudmouth: update to 1.5.4.

This is a bug fix release.

diffstat:

 chat/loudmouth/Makefile                                 |    8 +-
 chat/loudmouth/PLIST                                    |   22 +-
 chat/loudmouth/distinfo                                 |   12 +-
 chat/loudmouth/patches/patch-loudmouth_lm-resolver.c    |   18 -
 chat/loudmouth/patches/patch-loudmouth_lm-ssl-openssl.c |  170 ----------------
 5 files changed, 11 insertions(+), 219 deletions(-)

diffs (269 lines):

diff -r 194f0811fdcc -r 3cc75f9393dd chat/loudmouth/Makefile
--- a/chat/loudmouth/Makefile   Mon Jan 25 21:39:48 2021 +0000
+++ b/chat/loudmouth/Makefile   Mon Jan 25 23:10:00 2021 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.51 2021/01/23 09:08:07 wiz Exp $
+# $NetBSD: Makefile,v 1.52 2021/01/25 23:10:00 wiz Exp $
 
-DISTNAME=      loudmouth-1.5.3
-PKGREVISION=   3
+DISTNAME=      loudmouth-1.5.4
 CATEGORIES=    chat
 MASTER_SITES=  https://mcabber.com/files/loudmouth/
 EXTRACT_SUFX=  .tar.bz2
@@ -20,6 +19,9 @@
 
 PKGCONFIG_OVERRIDE+=   loudmouth-1.0.pc.in
 
+# https://github.com/mcabber/loudmouth/issues/42
+BUILDLINK_TRANSFORM+=  rm:-Werror
+
 .include "../../converters/libiconv/buildlink3.mk"
 .include "../../devel/glib2/buildlink3.mk"
 .include "../../security/openssl/buildlink3.mk"
diff -r 194f0811fdcc -r 3cc75f9393dd chat/loudmouth/PLIST
--- a/chat/loudmouth/PLIST      Mon Jan 25 21:39:48 2021 +0000
+++ b/chat/loudmouth/PLIST      Mon Jan 25 23:10:00 2021 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.5 2016/09/19 17:13:18 jperkin Exp $
+@comment $NetBSD: PLIST,v 1.6 2021/01/25 23:10:00 wiz Exp $
 include/loudmouth-1.0/loudmouth/lm-connection.h
 include/loudmouth-1.0/loudmouth/lm-error.h
 include/loudmouth-1.0/loudmouth/lm-message-handler.h
@@ -10,23 +10,3 @@
 include/loudmouth-1.0/loudmouth/loudmouth.h
 lib/libloudmouth-1.la
 lib/pkgconfig/loudmouth-1.0.pc
-share/gtk-doc/html/loudmouth/ch01.html
-share/gtk-doc/html/loudmouth/home.png
-share/gtk-doc/html/loudmouth/index.html
-share/gtk-doc/html/loudmouth/index.sgml
-share/gtk-doc/html/loudmouth/left-insensitive.png
-share/gtk-doc/html/loudmouth/left.png
-share/gtk-doc/html/loudmouth/loudmouth-LmConnection.html
-share/gtk-doc/html/loudmouth/loudmouth-LmError.html
-share/gtk-doc/html/loudmouth/loudmouth-LmMessage.html
-share/gtk-doc/html/loudmouth/loudmouth-LmMessageHandler.html
-share/gtk-doc/html/loudmouth/loudmouth-LmMessageNode.html
-share/gtk-doc/html/loudmouth/loudmouth-LmProxy.html
-share/gtk-doc/html/loudmouth/loudmouth-LmSSL.html
-share/gtk-doc/html/loudmouth/loudmouth-Miscellaneous-Utility-Functions.html
-share/gtk-doc/html/loudmouth/loudmouth.devhelp2
-share/gtk-doc/html/loudmouth/right-insensitive.png
-share/gtk-doc/html/loudmouth/right.png
-share/gtk-doc/html/loudmouth/style.css
-share/gtk-doc/html/loudmouth/up-insensitive.png
-share/gtk-doc/html/loudmouth/up.png
diff -r 194f0811fdcc -r 3cc75f9393dd chat/loudmouth/distinfo
--- a/chat/loudmouth/distinfo   Mon Jan 25 21:39:48 2021 +0000
+++ b/chat/loudmouth/distinfo   Mon Jan 25 23:10:00 2021 +0000
@@ -1,8 +1,6 @@
-$NetBSD: distinfo,v 1.22 2021/01/23 09:08:07 wiz Exp $
+$NetBSD: distinfo,v 1.23 2021/01/25 23:10:00 wiz Exp $
 
-SHA1 (loudmouth-1.5.3.tar.bz2) = a69ef9a57e0ae993340921e73ada27979850db04
-RMD160 (loudmouth-1.5.3.tar.bz2) = aba3fc803a87e334b09987e27a5f841a46761dd8
-SHA512 (loudmouth-1.5.3.tar.bz2) = ab6b16b4e644b69cdb7d8df1753d1bb5b43c2f1e76944e639339169b332e1b5c6a4246053c5b8a579ee9b53c845cef610b0040dfdffeb857180b6bab71adfcce
-Size (loudmouth-1.5.3.tar.bz2) = 375974 bytes
-SHA1 (patch-loudmouth_lm-resolver.c) = c16eb618dded2158bceac511a96c0b7535177b80
-SHA1 (patch-loudmouth_lm-ssl-openssl.c) = 0aa1d4795579881b2633e620ff4267e78ea478fb
+SHA1 (loudmouth-1.5.4.tar.bz2) = b105bfebbbb9e24c3afc4a48b2fe4c40be4ef62f
+RMD160 (loudmouth-1.5.4.tar.bz2) = 689e9055a8f675afdef624a0ab4c26f45d3f5277
+SHA512 (loudmouth-1.5.4.tar.bz2) = 49a08f0130b9ee56f07586d244504c81242723865a136b03e1049f32b1aa1e6c49e9b76b38f0cfb812ef4c66f73b7d83914a58e9a93e0496207e06c2b5efa9d8
+Size (loudmouth-1.5.4.tar.bz2) = 361323 bytes
diff -r 194f0811fdcc -r 3cc75f9393dd chat/loudmouth/patches/patch-loudmouth_lm-resolver.c
--- a/chat/loudmouth/patches/patch-loudmouth_lm-resolver.c      Mon Jan 25 21:39:48 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-$NetBSD: patch-loudmouth_lm-resolver.c,v 1.2 2020/06/29 23:35:51 gutteridge Exp $
-
-Fix a build breakage on non-x86 NetBSD architectures where arpa/
-nameser_compat.h was being unnecessarily included (without additional
-dependent macros being defined, as nameser.h takes care of when it's
-included first). https://github.com/mcabber/loudmouth/pull/39
-
---- loudmouth/lm-resolver.c.orig       2016-02-14 17:05:11.000000000 +0000
-+++ loudmouth/lm-resolver.c
-@@ -21,7 +21,7 @@
- #include <string.h>
- 
- /* Needed on Mac OS X */
--#if HAVE_ARPA_NAMESER_COMPAT_H
-+#if defined(__APPLE__) && HAVE_ARPA_NAMESER_COMPAT_H
- #include <arpa/nameser_compat.h>
- #endif
- 
diff -r 194f0811fdcc -r 3cc75f9393dd chat/loudmouth/patches/patch-loudmouth_lm-ssl-openssl.c
--- a/chat/loudmouth/patches/patch-loudmouth_lm-ssl-openssl.c   Mon Jan 25 21:39:48 2021 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-$NetBSD: patch-loudmouth_lm-ssl-openssl.c,v 1.1 2021/01/23 09:08:07 wiz Exp $
-
-From 792d8bd529f5dc0577dcc28c5f31b6a437d970fa Mon Sep 17 00:00:00 2001
-From: tmp170422 <tmp131110%ya.ru@localhost>
-Date: Sat, 22 Apr 2017 18:30:57 +0300
-Subject: [PATCH] Fix an issue with wildcard domain names in CN
-
-When CN contains wildcards, the SAN list would be checked against corrupt server name.
----
- loudmouth/lm-ssl-openssl.c | 121 +++++++++++++++++++++----------------
- 1 file changed, 69 insertions(+), 52 deletions(-)
-
-https://github.com/mcabber/loudmouth/commit/792d8bd529f5dc0577dcc28c5f31b6a437d970fa.patch
-
-with a manual compilation fix (missing ')')
-
---- loudmouth/lm-ssl-openssl.c.orig    2016-02-14 17:05:11.000000000 +0000
-+++ loudmouth/lm-ssl-openssl.c
-@@ -118,11 +118,35 @@ ssl_verify_cb (int preverify_ok, X509_ST
-     return 1;
- }
- 
-+static gboolean
-+ssl_match_domain_name (const gchar *server, const gchar *domain)
-+{
-+    if (domain[0]=='*' && domain[1]=='.') {
-+        /* leftmost part wildcard */
-+        ++domain;
-+
-+        if (strchr(domain, '*') != NULL) {
-+            /* multiple wildcards not allowed */
-+            return FALSE;
-+        }
-+
-+        server = strchr(server, '.'); /* eat the leftmost part */
-+        if (server == NULL) {
-+            return FALSE;
-+        }
-+
-+        /* fall thru for wildcard match */
-+    }
-+
-+    return (!strcasecmp(server, domain));
-+}
-+
- /* side effect: fills the ssl->fingerprint buffer */
- static gboolean
- ssl_verify_certificate (LmSSL *ssl, const gchar *server)
- {
-     gboolean retval = TRUE;
-+    gboolean match_result = FALSE;
-     LmSSLBase *base;
-     long verify_res;
-     int rc;
-@@ -219,70 +243,63 @@ ssl_verify_certificate (LmSSL *ssl, cons
- 
-     /* FWB: deprecated call, can only get first entry */
-     if (X509_NAME_get_text_by_NID(crt_subj, NID_commonName, cn, LM_SSL_CN_MAX) > 0) {
--        gchar *domain = cn;
- 
-         g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-                "%s: server = '%s', cn = '%s'\n",
-                __FILE__, server, cn);
- 
--        if (domain != NULL) {
--
--            if ((cn[0] == '*') && (cn[1] == '.')) {
--                /*
--                 * FWB: huh? ever tested?
--                 * server="sub.domain.tld";
--                 * cn="*.domain.tld";
--                 * domain=strstr(cn, server); ???
--                 */
--                /* domain = strstr (cn, server); */
--                server = strchr(server, '.') + 1;
--                domain = cn + 2;
--            }
--
--            if (strncasecmp (server, domain, LM_SSL_CN_MAX) != 0) {
--                /* FWB: CN doesn't match, try SANs */
--                int subject_alt_names_nb = -1;
--                int san_result = 0;
--                int san_counter;
--                STACK_OF(GENERAL_NAME) *subject_alt_names = NULL;
--
--                /* g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, "%s: CN does not match server name\n", __FILE__); */
--                // Try to extract the names within the SAN extension from the certificate
--                subject_alt_names = X509_get_ext_d2i((X509 *) srv_crt, NID_subject_alt_name, NULL, NULL);
--                if (subject_alt_names != NULL) {
--
--                    // Check each name within the extension
--                    subject_alt_names_nb = sk_GENERAL_NAME_num(subject_alt_names);
--                    for (san_counter=0; san_counter<subject_alt_names_nb; san_counter++) {
--                        const GENERAL_NAME *current_name = sk_GENERAL_NAME_value(subject_alt_names, san_counter);
--                        if (current_name->type == GEN_DNS) {
--                            // Current name is a DNS name, let's check it, it's ASCII
--                            if (strcasecmp(server, (char *)current_name->d.dNSName->data) == 0) {
--                                g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, "%s: found SAN '%s' - MATCH\n", __FILE__, current_name->d.dNSName->data);
--                                san_result = 1; /* break; */
--                            } else {
--                                g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, "%s: found SAN '%s'\n", __FILE__, current_name->d.dNSName->data);
--                            }
--                        }
--                    }
--
--                }
--                sk_GENERAL_NAME_pop_free(subject_alt_names, GENERAL_NAME_free);
--                if (!san_result) goto cn_and_san_mismatch;
--            } /* SAN */
-+        if (cn != NULL && ssl_match_domain_name(server, cn)) {
-+            match_result = TRUE;
-         } else {
--            cn_and_san_mismatch:
--            if (base->func (ssl,
--                            LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,
--                            base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
--                retval = FALSE;
--            }
-+            /* g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, "%s: CN does not match server name\n", __FILE__); */
-         }
-     } else {
-         g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-                "X509_NAME_get_text_by_NID() failed");
-     }
- 
-+    /* RFC6125: "...However, it is perfectly acceptable for the subject field to be empty,
-+     * as long as the certificate contains a subject alternative name ("subjectAltName")
-+     * extension that includes at least one subjectAltName entry"
-+     */
-+    if (!match_result) {
-+        /* FWB: CN doesn't match, try SANs */
-+        int subject_alt_names_nb = -1;
-+        int san_counter;
-+        STACK_OF(GENERAL_NAME) *subject_alt_names = NULL;
-+
-+        // Try to extract the names within the SAN extension from the certificate
-+        subject_alt_names = X509_get_ext_d2i((X509 *) srv_crt, NID_subject_alt_name, NULL, NULL);
-+        if (subject_alt_names != NULL) {
-+
-+            // Check each name within the extension
-+            subject_alt_names_nb = sk_GENERAL_NAME_num(subject_alt_names);
-+            for (san_counter=0; san_counter<subject_alt_names_nb; san_counter++) {
-+                const GENERAL_NAME *current_name = sk_GENERAL_NAME_value(subject_alt_names, san_counter);
-+                if (current_name->type == GEN_DNS) {
-+                    // Current name is a DNS name, let's check it, it's ASCII
-+                    if (ssl_match_domain_name(server, (const char *)current_name->d.dNSName->data)) {
-+                        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, "%s: found SAN '%s' - MATCH\n", __FILE__, current_name->d.dNSName->data);
-+                        match_result = TRUE; /* break; */
-+                    } else {
-+                        g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL, "%s: found SAN '%s'\n", __FILE__, current_name->d.dNSName->data);
-+                    }
-+                }
-+            }
-+
-+        }
-+
-+        sk_GENERAL_NAME_pop_free(subject_alt_names, GENERAL_NAME_free);
-+    }
-+
-+    if (!match_result) {
-+        if (base->func (ssl,
-+                        LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH,
-+                        base->func_data) != LM_SSL_RESPONSE_CONTINUE) {
-+            retval = FALSE;
-+        }
-+    }
-+
-     g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_SSL,
-            "%s:\n\tIssuer: %s\n\tSubject: %s\n\tFor: %s\n",
-            __FILE__,



Home | Main Index | Thread Index | Old Index