public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/glib2] cve-2026-58016-f44: Use GnuTLS to implement GHmac (thanks to Colin Walters)
@ 2026-08-11 10:37 Michael Catanzaro
0 siblings, 0 replies; only message in thread
From: Michael Catanzaro @ 2026-08-11 10:37 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/glib2
Branch : cve-2026-58016-f44
Commit : f52f413589ce4a1e698957767d490e46e95f75a1
Author : Michael Catanzaro <mcatanzaro@gnome.org>
Date : 2020-11-10T16:52:14-06:00
Stats : +678/-1 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/glib2/c/f52f413589ce4a1e698957767d490e46e95f75a1?branch=cve-2026-58016-f44
Log:
Use GnuTLS to implement GHmac (thanks to Colin Walters)
---
diff --git a/glib2.spec b/glib2.spec
index f2f97d7..4e5f51e 100644
--- a/glib2.spec
+++ b/glib2.spec
@@ -1,6 +1,6 @@
Name: glib2
Version: 2.67.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: A library of handy utility functions
License: LGPLv2+
@@ -10,6 +10,12 @@ Source0: http://download.gnome.org/sources/glib/2.67/glib-%{version}.tar.xz
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1728
Patch0: 1728.patch
+# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/903
+Patch1: gnutls-hmac.patch
+
+# For gnutls-hmac.patch
+BuildRequires: pkgconfig(gnutls)
+
BuildRequires: chrpath
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -217,6 +223,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%{_datadir}/installed-tests
%changelog
+* Tue Nov 10 2020 Michael Catanzaro <mcatanzaro@redhat.com> - 2.67.0-3
+- Use GnuTLS to implement GHmac (thanks to Colin Walters)
+
* Wed Nov 04 2020 Michael Catanzaro <mcatanzaro@redhat.com> - 2.67.0-2
- Backport fix for GSocketClient crash
diff --git a/gnutls-hmac.patch b/gnutls-hmac.patch
new file mode 100644
index 0000000..8860632
--- /dev/null
+++ b/gnutls-hmac.patch
@@ -0,0 +1,668 @@
+From afb5735506e2ed1c638a8c916aa3748bf0615f32 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Fri, 7 Jun 2019 18:44:43 +0000
+Subject: [PATCH 1/2] ghmac: Split off wrapper functions into ghmac-utils.c
+
+Prep for adding a GnuTLS HMAC implementation; these are just
+utility functions that call the "core" API.
+---
+ glib/ghmac-utils.c | 145 +++++++++++++++++++++++++++++++++++++++++++++
+ glib/ghmac.c | 112 ----------------------------------
+ glib/meson.build | 1 +
+ 3 files changed, 146 insertions(+), 112 deletions(-)
+ create mode 100644 glib/ghmac-utils.c
+
+diff --git a/glib/ghmac-utils.c b/glib/ghmac-utils.c
+new file mode 100644
+index 000000000..a17359ff1
+--- /dev/null
++++ b/glib/ghmac-utils.c
+@@ -0,0 +1,145 @@
++/* ghmac.h - data hashing functions
++ *
++ * Copyright (C) 2011 Collabora Ltd.
++ * Copyright (C) 2019 Red Hat, Inc.
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this library; if not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "config.h"
++
++#include <string.h>
++
++#include "ghmac.h"
++
++#include "glib/galloca.h"
++#include "gatomic.h"
++#include "gslice.h"
++#include "gmem.h"
++#include "gstrfuncs.h"
++#include "gtestutils.h"
++#include "gtypes.h"
++#include "glibintl.h"
++
++/**
++ * g_compute_hmac_for_data:
++ * @digest_type: a #GChecksumType to use for the HMAC
++ * @key: (array length=key_len): the key to use in the HMAC
++ * @key_len: the length of the key
++ * @data: (array length=length): binary blob to compute the HMAC of
++ * @length: length of @data
++ *
++ * Computes the HMAC for a binary @data of @length. This is a
++ * convenience wrapper for g_hmac_new(), g_hmac_get_string()
++ * and g_hmac_unref().
++ *
++ * The hexadecimal string returned will be in lower case.
++ *
++ * Returns: the HMAC of the binary data as a string in hexadecimal.
++ * The returned string should be freed with g_free() when done using it.
++ *
++ * Since: 2.30
++ */
++gchar *
++g_compute_hmac_for_data (GChecksumType digest_type,
++ const guchar *key,
++ gsize key_len,
++ const guchar *data,
++ gsize length)
++{
++ GHmac *hmac;
++ gchar *retval;
++
++ g_return_val_if_fail (length == 0 || data != NULL, NULL);
++
++ hmac = g_hmac_new (digest_type, key, key_len);
++ if (!hmac)
++ return NULL;
++
++ g_hmac_update (hmac, data, length);
++ retval = g_strdup (g_hmac_get_string (hmac));
++ g_hmac_unref (hmac);
++
++ return retval;
++}
++
++/**
++ * g_compute_hmac_for_bytes:
++ * @digest_type: a #GChecksumType to use for the HMAC
++ * @key: the key to use in the HMAC
++ * @data: binary blob to compute the HMAC of
++ *
++ * Computes the HMAC for a binary @data. This is a
++ * convenience wrapper for g_hmac_new(), g_hmac_get_string()
++ * and g_hmac_unref().
++ *
++ * The hexadecimal string returned will be in lower case.
++ *
++ * Returns: the HMAC of the binary data as a string in hexadecimal.
++ * The returned string should be freed with g_free() when done using it.
++ *
++ * Since: 2.50
++ */
++gchar *
++g_compute_hmac_for_bytes (GChecksumType digest_type,
++ GBytes *key,
++ GBytes *data)
++{
++ gconstpointer byte_data;
++ gsize length;
++ gconstpointer key_data;
++ gsize key_len;
++
++ g_return_val_if_fail (data != NULL, NULL);
++ g_return_val_if_fail (key != NULL, NULL);
++
++ byte_data = g_bytes_get_data (data, &length);
++ key_data = g_bytes_get_data (key, &key_len);
++ return g_compute_hmac_for_data (digest_type, key_data, key_len, byte_data, length);
++}
++
++
++/**
++ * g_compute_hmac_for_string:
++ * @digest_type: a #GChecksumType to use for the HMAC
++ * @key: (array length=key_len): the key to use in the HMAC
++ * @key_len: the length of the key
++ * @str: the string to compute the HMAC for
++ * @length: the length of the string, or -1 if the string is nul-terminated
++ *
++ * Computes the HMAC for a string.
++ *
++ * The hexadecimal string returned will be in lower case.
++ *
++ * Returns: the HMAC as a hexadecimal string.
++ * The returned string should be freed with g_free()
++ * when done using it.
++ *
++ * Since: 2.30
++ */
++gchar *
++g_compute_hmac_for_string (GChecksumType digest_type,
++ const guchar *key,
++ gsize key_len,
++ const gchar *str,
++ gssize length)
++{
++ g_return_val_if_fail (length == 0 || str != NULL, NULL);
++
++ if (length < 0)
++ length = strlen (str);
++
++ return g_compute_hmac_for_data (digest_type, key, key_len,
++ (const guchar *) str, length);
++}
+diff --git a/glib/ghmac.c b/glib/ghmac.c
+index 49fd272f0..4f181f21f 100644
+--- a/glib/ghmac.c
++++ b/glib/ghmac.c
+@@ -329,115 +329,3 @@ g_hmac_get_digest (GHmac *hmac,
+ g_checksum_update (hmac->digesto, buffer, len);
+ g_checksum_get_digest (hmac->digesto, buffer, digest_len);
+ }
+-
+-/**
+- * g_compute_hmac_for_data:
+- * @digest_type: a #GChecksumType to use for the HMAC
+- * @key: (array length=key_len): the key to use in the HMAC
+- * @key_len: the length of the key
+- * @data: (array length=length): binary blob to compute the HMAC of
+- * @length: length of @data
+- *
+- * Computes the HMAC for a binary @data of @length. This is a
+- * convenience wrapper for g_hmac_new(), g_hmac_get_string()
+- * and g_hmac_unref().
+- *
+- * The hexadecimal string returned will be in lower case.
+- *
+- * Returns: the HMAC of the binary data as a string in hexadecimal.
+- * The returned string should be freed with g_free() when done using it.
+- *
+- * Since: 2.30
+- */
+-gchar *
+-g_compute_hmac_for_data (GChecksumType digest_type,
+- const guchar *key,
+- gsize key_len,
+- const guchar *data,
+- gsize length)
+-{
+- GHmac *hmac;
+- gchar *retval;
+-
+- g_return_val_if_fail (length == 0 || data != NULL, NULL);
+-
+- hmac = g_hmac_new (digest_type, key, key_len);
+- if (!hmac)
+- return NULL;
+-
+- g_hmac_update (hmac, data, length);
+- retval = g_strdup (g_hmac_get_string (hmac));
+- g_hmac_unref (hmac);
+-
+- return retval;
+-}
+-
+-/**
+- * g_compute_hmac_for_bytes:
+- * @digest_type: a #GChecksumType to use for the HMAC
+- * @key: the key to use in the HMAC
+- * @data: binary blob to compute the HMAC of
+- *
+- * Computes the HMAC for a binary @data. This is a
+- * convenience wrapper for g_hmac_new(), g_hmac_get_string()
+- * and g_hmac_unref().
+- *
+- * The hexadecimal string returned will be in lower case.
+- *
+- * Returns: the HMAC of the binary data as a string in hexadecimal.
+- * The returned string should be freed with g_free() when done using it.
+- *
+- * Since: 2.50
+- */
+-gchar *
+-g_compute_hmac_for_bytes (GChecksumType digest_type,
+- GBytes *key,
+- GBytes *data)
+-{
+- gconstpointer byte_data;
+- gsize length;
+- gconstpointer key_data;
+- gsize key_len;
+-
+- g_return_val_if_fail (data != NULL, NULL);
+- g_return_val_if_fail (key != NULL, NULL);
+-
+- byte_data = g_bytes_get_data (data, &length);
+- key_data = g_bytes_get_data (key, &key_len);
+- return g_compute_hmac_for_data (digest_type, key_data, key_len, byte_data, length);
+-}
+-
+-
+-/**
+- * g_compute_hmac_for_string:
+- * @digest_type: a #GChecksumType to use for the HMAC
+- * @key: (array length=key_len): the key to use in the HMAC
+- * @key_len: the length of the key
+- * @str: the string to compute the HMAC for
+- * @length: the length of the string, or -1 if the string is nul-terminated
+- *
+- * Computes the HMAC for a string.
+- *
+- * The hexadecimal string returned will be in lower case.
+- *
+- * Returns: the HMAC as a hexadecimal string.
+- * The returned string should be freed with g_free()
+- * when done using it.
+- *
+- * Since: 2.30
+- */
+-gchar *
+-g_compute_hmac_for_string (GChecksumType digest_type,
+- const guchar *key,
+- gsize key_len,
+- const gchar *str,
+- gssize length)
+-{
+- g_return_val_if_fail (length == 0 || str != NULL, NULL);
+-
+- if (length < 0)
+- length = strlen (str);
+-
+- return g_compute_hmac_for_data (digest_type, key, key_len,
+- (const guchar *) str, length);
+-}
+diff --git a/glib/meson.build b/glib/meson.build
+index aaf40a218..b3bf067c7 100644
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -253,6 +253,7 @@ glib_sources = files(
+ 'ggettext.c',
+ 'ghash.c',
+ 'ghmac.c',
++ 'ghmac-utils.c',
+ 'ghook.c',
+ 'ghostutils.c',
+ 'giochannel.c',
+--
+2.28.0
+
+
+From 703e63f9d8b3ea4f26f41f0d2287b301025a73cc Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Fri, 7 Jun 2019 19:36:54 +0000
+Subject: [PATCH 2/2] Add a gnutls backend for GHmac
+
+For RHEL we want apps to use FIPS-certified crypto libraries,
+and HMAC apparently counts as "keyed" and hence needs to
+be validated.
+
+Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1630260
+Replaces: https://gitlab.gnome.org/GNOME/glib/merge_requests/897
+
+This is a build-time option that backs the GHmac API with GnuTLS.
+Most distributors ship glib-networking built with GnuTLS, and
+most apps use glib-networking, so this isn't a net-new library
+in most cases.
+
+mcatanzaro note: I've updated Colin's original patch to implement
+g_hmac_copy() using gnutls_hmac_copy(), which didn't exist when Colin
+developed this patch. I also decided it should be enabled by default.
+---
+ glib/gchecksum.c | 9 ++-
+ glib/gchecksumprivate.h | 32 ++++++++
+ glib/ghmac-gnutls.c | 164 ++++++++++++++++++++++++++++++++++++++++
+ glib/ghmac.c | 3 +
+ glib/meson.build | 10 ++-
+ meson.build | 7 ++
+ meson_options.txt | 5 ++
+ 7 files changed, 224 insertions(+), 6 deletions(-)
+ create mode 100644 glib/gchecksumprivate.h
+ create mode 100644 glib/ghmac-gnutls.c
+
+diff --git a/glib/gchecksum.c b/glib/gchecksum.c
+index f8a3f9ab8..b391a6264 100644
+--- a/glib/gchecksum.c
++++ b/glib/gchecksum.c
+@@ -20,7 +20,7 @@
+
+ #include <string.h>
+
+-#include "gchecksum.h"
++#include "gchecksumprivate.h"
+
+ #include "gslice.h"
+ #include "gmem.h"
+@@ -173,9 +173,9 @@ sha_byte_reverse (guint32 *buffer,
+ }
+ #endif /* G_BYTE_ORDER == G_BIG_ENDIAN */
+
+-static gchar *
+-digest_to_string (guint8 *digest,
+- gsize digest_len)
++gchar *
++gchecksum_digest_to_string (guint8 *digest,
++ gsize digest_len)
+ {
+ gsize i, len = digest_len * 2;
+ gchar *retval;
+@@ -194,6 +194,7 @@ digest_to_string (guint8 *digest,
+
+ return retval;
+ }
++#define digest_to_string gchecksum_digest_to_string
+
+ /*
+ * MD5 Checksum
+diff --git a/glib/gchecksumprivate.h b/glib/gchecksumprivate.h
+new file mode 100644
+index 000000000..86c7a3b61
+--- /dev/null
++++ b/glib/gchecksumprivate.h
+@@ -0,0 +1,32 @@
++/* gstdioprivate.h - Private GLib stdio functions
++ *
++ * Copyright 2017 Руслан Ижбулатов
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this library; if not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef __G_CHECKSUMPRIVATE_H__
++#define __G_CHECKSUMPRIVATE_H__
++
++#include "gchecksum.h"
++
++G_BEGIN_DECLS
++
++gchar *
++gchecksum_digest_to_string (guint8 *digest,
++ gsize digest_len);
++
++G_END_DECLS
++
++#endif
+\ No newline at end of file
+diff --git a/glib/ghmac-gnutls.c b/glib/ghmac-gnutls.c
+new file mode 100644
+index 000000000..f1a74a849
+--- /dev/null
++++ b/glib/ghmac-gnutls.c
+@@ -0,0 +1,164 @@
++/* ghmac.h - data hashing functions
++ *
++ * Copyright (C) 2011 Collabora Ltd.
++ * Copyright (C) 2019 Red Hat, Inc.
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Lesser General Public
++ * License as published by the Free Software Foundation; either
++ * version 2.1 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this library; if not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "config.h"
++
++#include <string.h>
++#include <gnutls/crypto.h>
++
++#include "ghmac.h"
++
++#include "glib/galloca.h"
++#include "gatomic.h"
++#include "gslice.h"
++#include "gmem.h"
++#include "gstrfuncs.h"
++#include "gchecksumprivate.h"
++#include "gtestutils.h"
++#include "gtypes.h"
++#include "glibintl.h"
++
++#ifndef HAVE_GNUTLS
++#error "build configuration error"
++#endif
++
++struct _GHmac
++{
++ int ref_count;
++ GChecksumType digest_type;
++ gnutls_hmac_hd_t hmac;
++ gchar *digest_str;
++};
++
++GHmac *
++g_hmac_new (GChecksumType digest_type,
++ const guchar *key,
++ gsize key_len)
++{
++ gnutls_mac_algorithm_t algo;
++ GHmac *hmac = g_slice_new0 (GHmac);
++ hmac->ref_count = 1;
++ hmac->digest_type = digest_type;
++
++ switch (digest_type)
++ {
++ case G_CHECKSUM_MD5:
++ algo = GNUTLS_MAC_MD5;
++ break;
++ case G_CHECKSUM_SHA1:
++ algo = GNUTLS_MAC_SHA1;
++ break;
++ case G_CHECKSUM_SHA256:
++ algo = GNUTLS_MAC_SHA256;
++ break;
++ case G_CHECKSUM_SHA384:
++ algo = GNUTLS_MAC_SHA384;
++ break;
++ case G_CHECKSUM_SHA512:
++ algo = GNUTLS_MAC_SHA512;
++ break;
++ default:
++ g_return_val_if_reached (NULL);
++ }
++
++ gnutls_hmac_init (&hmac->hmac, algo, key, key_len);
++
++ return hmac;
++}
++
++GHmac *
++g_hmac_copy (const GHmac *hmac)
++{
++ GHmac *copy;
++
++ g_return_val_if_fail (hmac != NULL, NULL);
++
++ copy = g_slice_new0 (GHmac);
++ copy->ref_count = 1;
++ copy->digest_type = hmac->digest_type;
++ copy->hmac = gnutls_hmac_copy (hmac->hmac);
++
++ return copy;
++}
++
++GHmac *
++g_hmac_ref (GHmac *hmac)
++{
++ g_return_val_if_fail (hmac != NULL, NULL);
++
++ g_atomic_int_inc (&hmac->ref_count);
++
++ return hmac;
++}
++
++void
++g_hmac_unref (GHmac *hmac)
++{
++ g_return_if_fail (hmac != NULL);
++
++ if (g_atomic_int_dec_and_test (&hmac->ref_count))
++ {
++ gnutls_hmac_deinit (hmac->hmac, NULL);
++ g_free (hmac->digest_str);
++ g_slice_free (GHmac, hmac);
++ }
++}
++
++
++void
++g_hmac_update (GHmac *hmac,
++ const guchar *data,
++ gssize length)
++{
++ g_return_if_fail (hmac != NULL);
++ g_return_if_fail (length == 0 || data != NULL);
++
++ gnutls_hmac (hmac->hmac, data, length);
++}
++
++const gchar *
++g_hmac_get_string (GHmac *hmac)
++{
++ guint8 *buffer;
++ gsize digest_len;
++
++ g_return_val_if_fail (hmac != NULL, NULL);
++
++ if (hmac->digest_str)
++ return hmac->digest_str;
++
++ digest_len = g_checksum_type_get_length (hmac->digest_type);
++ buffer = g_alloca (digest_len);
++
++ gnutls_hmac_output (hmac->hmac, buffer);
++ hmac->digest_str = gchecksum_digest_to_string (buffer, digest_len);
++ return hmac->digest_str;
++}
++
++
++void
++g_hmac_get_digest (GHmac *hmac,
++ guint8 *buffer,
++ gsize *digest_len)
++{
++ g_return_if_fail (hmac != NULL);
++
++ gnutls_hmac_output (hmac->hmac, buffer);
++ *digest_len = g_checksum_type_get_length (hmac->digest_type);
++}
+diff --git a/glib/ghmac.c b/glib/ghmac.c
+index 4f181f21f..c62d9ce4e 100644
+--- a/glib/ghmac.c
++++ b/glib/ghmac.c
+@@ -33,6 +33,9 @@
+ #include "gtypes.h"
+ #include "glibintl.h"
+
++#ifdef HAVE_GNUTLS
++#error "build configuration error"
++#endif
+
+ /**
+ * SECTION:hmac
+diff --git a/glib/meson.build b/glib/meson.build
+index b3bf067c7..3cdc3b573 100644
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -252,7 +252,6 @@ glib_sources = files(
+ 'gfileutils.c',
+ 'ggettext.c',
+ 'ghash.c',
+- 'ghmac.c',
+ 'ghmac-utils.c',
+ 'ghook.c',
+ 'ghostutils.c',
+@@ -308,6 +307,7 @@ glib_sources = files(
+ 'guriprivate.h',
+ 'gutils.c',
+ 'gutilsprivate.h',
++ 'gchecksumprivate.h',
+ 'guuid.c',
+ 'gvariant.c',
+ 'gvariant-core.c',
+@@ -352,6 +352,12 @@ else
+ glib_dtrace_hdr = []
+ endif
+
++if get_option('gnutls')
++ glib_sources += files('ghmac-gnutls.c')
++else
++ glib_sources += files('ghmac.c')
++endif
++
+ pcre_static_args = []
+
+ if use_pcre_static_flag
+@@ -378,7 +384,7 @@ libglib = library('glib-2.0',
+ # intl.lib is not compatible with SAFESEH
+ link_args : [noseh_link_args, glib_link_flags, win32_ldflags],
+ include_directories : configinc,
+- dependencies : pcre_deps + [thread_dep, librt] + libintl_deps + libiconv + platform_deps + gnulib_libm_dependency + [libsysprof_capture_dep],
++ dependencies : pcre_deps + libgnutls_dep + [thread_dep, librt] + libintl_deps + libiconv + platform_deps + gnulib_libm_dependency + [libsysprof_capture_dep],
+ c_args : glib_c_args,
+ objc_args : glib_c_args,
+ )
+diff --git a/meson.build b/meson.build
+index e0b308a25..70dd5355e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -2056,6 +2056,13 @@ if host_system == 'linux'
+ glib_conf.set('HAVE_LIBMOUNT', libmount_dep.found())
+ endif
+
++# gnutls is used optionally by ghmac
++libgnutls_dep = []
++if get_option('gnutls')
++ libgnutls_dep = [dependency('gnutls', version : '>=3.6.9', required : true)]
++ glib_conf.set('HAVE_GNUTLS', 1)
++endif
++
+ if host_system == 'windows'
+ winsock2 = cc.find_library('ws2_32')
+ endif
+diff --git a/meson_options.txt b/meson_options.txt
+index af9645eda..2c4b2c37e 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -34,6 +34,11 @@ option('libmount',
+ value : 'auto',
+ description : 'build with libmount support')
+
++option('gnutls',
++ type : 'boolean',
++ value : true,
++ description : 'build with gnutls support')
++
+ option('internal_pcre',
+ type : 'boolean',
+ value : false,
+--
+2.28.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-11 10:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-11 10:37 [rpms/glib2] cve-2026-58016-f44: Use GnuTLS to implement GHmac (thanks to Colin Walters) Michael Catanzaro
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox