sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (f4bfbf4680830b9f8a1b64e9567b1828a4442828)
- From: Ismael Luceno <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (f4bfbf4680830b9f8a1b64e9567b1828a4442828)
- Date: Sat, 3 Oct 2026 01:21:47 +0000
GIT changes to master grimoire by Ismael Luceno <ismael AT sourcemage.org>:
chat-irc/ctrlproxy/DETAILS
| 8
chat-irc/ctrlproxy/HISTORY
| 9
chat-irc/ctrlproxy/PRE_BUILD
| 4
chat-irc/ctrlproxy/patches/0001-Define-the-missing-__STRING-macro.patch
| 24
chat-irc/ctrlproxy/patches/0002-Drop-the-stale-libgcrypt-initialisation.patch
| 41 +
chat-irc/ctrlproxy/patches/0003-Port-certificate-verification-to-GnuTLS-3.6.patch
| 43 +
chat-irc/ctrlproxy/patches/0004-Repair-the-docbook-sources-of-ctrlproxy_config-5-.patch
| 246 ++++++++++
7 files changed, 371 insertions(+), 4 deletions(-)
New commits:
commit f4bfbf4680830b9f8a1b64e9567b1828a4442828
Author: Ismael Luceno <ismael AT sourcemage.org>
Commit: Ismael Luceno <ismael AT sourcemage.org>
ctrlproxy 3.0.8
diff --git a/chat-irc/ctrlproxy/DETAILS b/chat-irc/ctrlproxy/DETAILS
index 8ee6251..bda286e 100755
--- a/chat-irc/ctrlproxy/DETAILS
+++ b/chat-irc/ctrlproxy/DETAILS
@@ -1,9 +1,9 @@
SPELL=ctrlproxy
- VERSION=3.0.7
+ VERSION=3.0.8
SOURCE=$SPELL-$VERSION.tar.gz
-SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
- SOURCE_URL[0]=http://www.ctrlproxy.org/releases/$SOURCE
-
SOURCE_HASH=sha512:ba806f36c262e09d39dab9a671c33d3c24540e819d6747964b992deb500b32b9a45a27a75397318d7375eb32235c3d4c987111a3201c7968e24d22ccf5130d8e
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL
+
SOURCE_URL[0]=https://codeberg.org/jelmer/ctrlproxy/archive/v$VERSION.tar.gz
+
SOURCE_HASH=sha512:7de8b99e2b1d64054fb0814da9e39bcf918c3a6f64b9e3730c250f94e9cd2f6aa7552cfe608613711cb463759470684be8561cfc0eb4827a7a9efa5a66bf0be3
WEB_SITE=http://jelmer.vernstok.nl/oss/ctrlproxy/
LICENSE[0]=GPL
ENTERED=20070512
diff --git a/chat-irc/ctrlproxy/HISTORY b/chat-irc/ctrlproxy/HISTORY
index a863b04..4886564 100644
--- a/chat-irc/ctrlproxy/HISTORY
+++ b/chat-irc/ctrlproxy/HISTORY
@@ -1,3 +1,12 @@
+2026-10-03 Ismael Luceno <ismael AT sourcemage.org>
+ * DETAILS: updated spell to 3.0.8
+ * PRE_BUILD: added, run autoreconf and apply patches
+ * patches/0001-Define-the-missing-__STRING-macro.patch:
+ patches/0002-Drop-the-stale-libgcrypt-initialisation.patch,
+ patches/0003-Port-certificate-verification-to-GnuTLS-3.6.patch,
+
patches/0004-Repair-the-docbook-sources-of-ctrlproxy_config-5-.patch:
+ various build fixes, ported to gnutls 3.8
+
2008-09-25 George Sherwood <gsherwood AT sourcemage.org>
* DETAILS: Updated to version 3.0.7. Fixed SOURCE_URL.
* DEPENDS: Updated from depends glib to glib2
diff --git a/chat-irc/ctrlproxy/PRE_BUILD b/chat-irc/ctrlproxy/PRE_BUILD
new file mode 100755
index 0000000..4a6ddb7
--- /dev/null
+++ b/chat-irc/ctrlproxy/PRE_BUILD
@@ -0,0 +1,4 @@
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+apply_patch_dir patches &&
+autoreconf -fis
diff --git
a/chat-irc/ctrlproxy/patches/0001-Define-the-missing-__STRING-macro.patch
b/chat-irc/ctrlproxy/patches/0001-Define-the-missing-__STRING-macro.patch
new file mode 100644
index 0000000..399539d
--- /dev/null
+++ b/chat-irc/ctrlproxy/patches/0001-Define-the-missing-__STRING-macro.patch
@@ -0,0 +1,24 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ismael Luceno <ismael AT sourcemage.org>
+Date: Sat, 3 Oct 2026 02:05:09 +0200
+Subject: [PATCH 1/4] Define the missing __STRING() macro
+
+src/settings.c builds key names with `prefix __STRING(name)`, but __STRING
+is never defined anywhere in the tree.
+
+Upstream-Status: Pending
+Origin: Source Mage
+Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
+---
+ src/settings.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/settings.c
++++ b/src/settings.c
+@@ -1009,6 +1009,7 @@
+ g_strfreev(groups);
+ }
+
++#define __STRING(name) #name
+ #define FETCH_SETTING(data, kf, section, prefix, name) (data)->name =
g_key_file_get_string((kf), (section), prefix __STRING(name), NULL)
+ #define STORE_SETTING(data, kf, section, prefix, name)
g_key_file_set_string((kf), (section), prefix __STRING(name), (data)->name)
diff --git
a/chat-irc/ctrlproxy/patches/0002-Drop-the-stale-libgcrypt-initialisation.patch
b/chat-irc/ctrlproxy/patches/0002-Drop-the-stale-libgcrypt-initialisation.patch
new file mode 100644
index 0000000..d2856f4
--- /dev/null
+++
b/chat-irc/ctrlproxy/patches/0002-Drop-the-stale-libgcrypt-initialisation.patch
@@ -0,0 +1,41 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ismael Luceno <ismael AT sourcemage.org>
+Date: Sat, 3 Oct 2026 02:05:09 +0200
+Subject: [PATCH 2/4] Drop the stale libgcrypt initialisation
+
+_gnutls_init() calls gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0) to keep
+gnutls off the blocking /dev/random, but gnutls has not used libgcrypt for
+its crypto backend since 3.0 and does not link it, so the call resolves to
+an undefined gcry_control at link time and cannot influence gnutls anyway.
+
+Drop the call and the now unused gcrypt.h include instead of pulling
+libgcrypt into the link.
+
+Upstream-Status: Pending
+Origin: Source Mage
+Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
+---
+ src/gnutls.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+--- a/src/gnutls.c
++++ b/src/gnutls.c
+@@ -18,7 +18,6 @@
+
+ #include <glib.h>
+
+-#include <gcrypt.h>
+ #include <gnutls/gnutls.h>
+ #include <gnutls/x509.h>
+
+@@ -452,9 +451,6 @@
+ static void
+ _gnutls_init (void)
+ {
+- /* to disallow usage of the blocking /dev/random */
+- gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0);
+-
+ gnutls_global_init ();
+ gnutls_inited = TRUE;
+ }
+
diff --git
a/chat-irc/ctrlproxy/patches/0003-Port-certificate-verification-to-GnuTLS-3.6.patch
b/chat-irc/ctrlproxy/patches/0003-Port-certificate-verification-to-GnuTLS-3.6.patch
new file mode 100644
index 0000000..8949d12
--- /dev/null
+++
b/chat-irc/ctrlproxy/patches/0003-Port-certificate-verification-to-GnuTLS-3.6.patch
@@ -0,0 +1,43 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ismael Luceno <ismael AT sourcemage.org>
+Date: Sat, 3 Oct 2026 02:05:09 +0200
+Subject: [PATCH 3/4] Port certificate verification to GnuTLS 3.6
+
+Upstream-Status: Pending
+Origin: Source Mage
+Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
+---
+ src/gnutls.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+--- a/src/gnutls.c
++++ b/src/gnutls.c
+@@ -48,16 +48,25 @@
+ verify_certificate (gnutls_session session, const char *hostname, GError
**err)
+ {
+ int status;
++ int ret;
+
+- status = gnutls_certificate_verify_peers (session);
++ ret = gnutls_certificate_verify_peers2 (session, &status);
+
+- if (status == GNUTLS_E_NO_CERTIFICATE_FOUND) {
++ if (ret == GNUTLS_E_NO_CERTIFICATE_FOUND) {
+ g_set_error (err, SSL_ERROR,
+ SSL_ERROR_CERTIFICATE,
+ "No SSL certificate was sent.");
+ return FALSE;
+ }
+
++ if (ret < 0 && ret != GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR) {
++ g_set_error (err, SSL_ERROR,
++ SSL_ERROR_CERTIFICATE,
++ "Unable to verify the SSL certificate: %s",
++ gnutls_strerror (ret));
++ return FALSE;
++ }
++
+ if (status & GNUTLS_CERT_INVALID ||
+ #ifdef GNUTLS_CERT_NOT_TRUSTED
+ status & GNUTLS_CERT_NOT_TRUSTED ||
+
diff --git
a/chat-irc/ctrlproxy/patches/0004-Repair-the-docbook-sources-of-ctrlproxy_config-5-.patch
b/chat-irc/ctrlproxy/patches/0004-Repair-the-docbook-sources-of-ctrlproxy_config-5-.patch
new file mode 100644
index 0000000..568ef93
--- /dev/null
+++
b/chat-irc/ctrlproxy/patches/0004-Repair-the-docbook-sources-of-ctrlproxy_config-5-.patch
@@ -0,0 +1,246 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Ismael Luceno <ismael AT sourcemage.org>
+Date: Sat, 3 Oct 2026 02:05:09 +0200
+Subject: [PATCH 4/4] Repair the docbook sources of ctrlproxy_config(5)
+
+config-reference.xml is XIncluded into ctrlproxy_config.5.xml, so it has
+to parse as a document of its own. It does not: the file opens a
+<variablelist> that closes after the [global] settings and then continues
+with a stray </refsect2>, further <refsect2> blocks, orphaned
+<varlistentry> elements closed by a dangling --> and a trailing
+</refsect1></variablelist>, so libxml2 stops at "Extra content at the end
+of the document" and xsltproc exits 6, which fails the doc target and
+therefore the whole install.
+
+Give the include a well formed file holding just the [global] variable
+list and move the sections that were misfiled there -- [admin],
+[log-custom], [log-irssi] and REPLICATION -- into ctrlproxy_config.5.xml
+next to [global], where they render as sections of the manual.
+
+Upstream-Status: Pending
+Origin: Source Mage
+Signed-off-by: Ismael Luceno <ismael AT sourcemage.org>
+---
+ doc/config-reference.xml | 97 --------------------------------------
+ doc/ctrlproxy_config.5.xml | 96 ++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 96 insertions(+), 97 deletions(-)
+
+--- a/doc/config-reference.xml
++++ b/doc/config-reference.xml
+@@ -91,57 +91,6 @@
+ for new connections.</para>
+ </listitem>
+ </varlistentry>
+- </variablelist>
+-
+-
+- <para>If the [admin] section is present, ControlProxy will
+- create a fake network with a control channel that can
+- be used for administration.
+- </para>
+-
+- <variablelist>
+- <varlistentry>
+- <term>no_privmsg</term>
+- <listitem><para>
+- Don't interpret messages to the
+- user <emphasis>ctrlproxy</emphasis> as
administration commands.
+- </para>
+- <para>
+- This option would be needed if you want to be
able to
+- send messages to an actual user with the
+- nickname <emphasis>ctrlproxy</emphasis>.
+- </para></listitem>
+- </varlistentry>
+- </variablelist>
+-</refsect2>
+-
+-<refsect2>
+- <title>[log-custom]</title>
+-
+- <para>
+- If the [log-custom] section is present, ControlProxy
+- will write a log to
<filename>~/.ctrlproxy/log-custom/</filename>
+- </para>
+-</refsect2>
+-
+-<refsect2>
+- <title>[log-irssi]</title>
+-
+- <para>If the [log-irssi] section is present, ControlProxy
+- will write irssi-style log files to
<filename>~/.ctrlproxy/log-irssi/NETWORK/CHANNEL</filename>.
+- </para>
+-
+- <variablelist>
+- <varlistentry>
+- <term>logfile</term>
+- <listitem><para>
+- Directory in which logs will be
written (defaults
+- to
<filename>~/.ctrlproxy/log-irssi/</filename>.
+- </para></listitem>
+- </varlistentry>
+- </variablelist>
+-</refsect2>
+-
+ <varlistentry>
+ <term>auto-away-message</term>
+ <listitem><para>
+@@ -186,52 +135,6 @@
+ command.
+ </para>
+ </listitem>
+- </varlistentry>-->
+-
+-<refsect1>
+- <title>REPLICATION</title>
+-
+- <para>When a client connects, ctrlproxy will send information about
+- the channels the user is on. Optionally, it can also send
+- some of the messages that were received before the client
connected
+- (replication).
+- </para>
+-
+- <para>
+- The <parameter>replication</parameter> variable determines
what
+- kind of replication is used. At the moment, the following
+- values are supported:
+- </para>
+-
+- <variablelist>
+- <varlistentry>
+- <term>none</term>
+- <listitem><para>No replication.</para></listitem>
+- </varlistentry>
+-
+- <varlistentry>
+- <term>highlight</term>
+- <listitem><para>
+- Send messages that one of a set of regular
expressions.
+- The regular expressions should be specified
in
+- variable.</para></listitem>
+- </varlistentry>
+-
+- <varlistentry>
+- <term>lastdisconnect</term>
+- <listitem><para>
+- Send all messages since the last
client disconnected.
+- </para></listitem>
+- </varlistentry>
+-
+- <varlistentry>
+- <term>simple</term>
+- <listitem><para>
+- Send all messages since the last
message said by
+- the user.</para></listitem>
+ </varlistentry>
+ </variablelist>
+
+-</refsect1>
+-
+-</variablelist>
+--- a/doc/ctrlproxy_config.5.xml
++++ b/doc/ctrlproxy_config.5.xml
+@@ -41,6 +41,102 @@
+
+ </refsect2>
+
++<refsect2>
++ <title>[admin]</title>
++
++ <para>If the [admin] section is present, ControlProxy will
++ create a fake network with a control channel that can
++ be used for administration.
++ </para>
++
++ <variablelist>
++ <varlistentry>
++ <term>no_privmsg</term>
++ <listitem><para>
++ Don't interpret messages to the
++ user <emphasis>ctrlproxy</emphasis> as
administration commands.
++ </para>
++ <para>
++ This option would be needed if you want to be
able to
++ send messages to an actual user with the
++ nickname <emphasis>ctrlproxy</emphasis>.
++ </para></listitem>
++ </varlistentry>
++ </variablelist>
++</refsect2>
++
++<refsect2>
++ <title>[log-custom]</title>
++
++ <para>
++ If the [log-custom] section is present, ControlProxy
++ will write a log to
<filename>~/.ctrlproxy/log-custom/</filename>
++ </para>
++</refsect2>
++
++<refsect2>
++ <title>[log-irssi]</title>
++
++ <para>If the [log-irssi] section is present, ControlProxy
++ will write irssi-style log files to
<filename>~/.ctrlproxy/log-irssi/NETWORK/CHANNEL</filename>.
++ </para>
++
++ <variablelist>
++ <varlistentry>
++ <term>logfile</term>
++ <listitem><para>
++ Directory in which logs will be
written (defaults
++ to
<filename>~/.ctrlproxy/log-irssi/</filename>.
++ </para></listitem>
++ </varlistentry>
++ </variablelist>
++</refsect2>
++
++<refsect1>
++ <title>REPLICATION</title>
++
++ <para>When a client connects, ctrlproxy will send information about
++ the channels the user is on. Optionally, it can also send
++ some of the messages that were received before the client
connected
++ (replication).
++ </para>
++
++ <para>
++ The <parameter>replication</parameter> variable determines
what
++ kind of replication is used. At the moment, the following
++ values are supported:
++ </para>
++
++ <variablelist>
++ <varlistentry>
++ <term>none</term>
++ <listitem><para>No replication.</para></listitem>
++ </varlistentry>
++
++ <varlistentry>
++ <term>highlight</term>
++ <listitem><para>
++ Send messages that one of a set of regular
expressions.
++ The regular expressions should be specified in
++ variable.</para></listitem>
++ </varlistentry>
++
++ <varlistentry>
++ <term>lastdisconnect</term>
++ <listitem><para>
++ Send all messages since the last
client disconnected.
++ </para></listitem>
++ </varlistentry>
++
++ <varlistentry>
++ <term>simple</term>
++ <listitem><para>
++ Send all messages since the last
message said by
++ the user.</para></listitem>
++ </varlistentry>
++ </variablelist>
++
++</refsect1>
+ </refsect1>
+
+ <refsect1>
+
- [[SM-Commit] ] GIT changes to master grimoire by Ismael Luceno (f4bfbf4680830b9f8a1b64e9567b1828a4442828), Ismael Luceno, 10/02/2026
Archive powered by MHonArc 2.6.24.