Compare commits

...

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

6 changed files with 129 additions and 77 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/irssi-1.1.1.tar.xz
SOURCES/irssi-1.2.2.tar.xz

View File

@ -1 +1 @@
a6f984daf5fbf9db07a431b7a4a05fec15cc3c3a SOURCES/irssi-1.1.1.tar.xz
9a85b72bfbe327eecf223a03433a9979b50a039a SOURCES/irssi-1.2.2.tar.xz

View File

@ -1,43 +0,0 @@
diff --git a/src/irc/core/irc-core.c b/src/irc/core/irc-core.c
index a9221e0..9cffc86 100644
--- a/src/irc/core/irc-core.c
+++ b/src/irc/core/irc-core.c
@@ -75,6 +75,8 @@ static void destroy_server_connect(SERVER_CONNECT_REC *conn)
g_free_not_null(ircconn->usermode);
g_free_not_null(ircconn->alternate_nick);
+ g_free_not_null(ircconn->sasl_username);
+ g_free_not_null(ircconn->sasl_password);
}
void irc_core_init(void)
diff --git a/src/irc/core/irc-servers-reconnect.c b/src/irc/core/irc-servers-reconnect.c
index ca61492..715ab38 100644
--- a/src/irc/core/irc-servers-reconnect.c
+++ b/src/irc/core/irc-servers-reconnect.c
@@ -49,8 +49,8 @@ static void sig_server_connect_copy(SERVER_CONNECT_REC **dest,
rec->usermode = g_strdup(src->usermode);
rec->alternate_nick = g_strdup(src->alternate_nick);
rec->sasl_mechanism = src->sasl_mechanism;
- rec->sasl_username = src->sasl_username;
- rec->sasl_password = src->sasl_password;
+ rec->sasl_username = g_strdup(src->sasl_username);
+ rec->sasl_password = g_strdup(src->sasl_password);
*dest = (SERVER_CONNECT_REC *) rec;
}
diff --git a/src/irc/core/irc-servers-setup.c b/src/irc/core/irc-servers-setup.c
index e79557a..5fb5c2b 100644
--- a/src/irc/core/irc-servers-setup.c
+++ b/src/irc/core/irc-servers-setup.c
@@ -101,8 +101,8 @@ static void sig_server_setup_fill_chatnet(IRC_SERVER_CONNECT_REC *conn,
if (ircnet->sasl_username != NULL && *ircnet->sasl_username &&
ircnet->sasl_password != NULL && *ircnet->sasl_password) {
conn->sasl_mechanism = SASL_MECHANISM_PLAIN;
- conn->sasl_username = ircnet->sasl_username;
- conn->sasl_password = ircnet->sasl_password;
+ conn->sasl_username = g_strdup(ircnet->sasl_username);
+ conn->sasl_password = g_strdup(ircnet->sasl_password);
} else
g_warning("The fields sasl_username and sasl_password are either missing or empty");
}

View File

@ -1,12 +0,0 @@
diff --git a/src/irc/dcc/dcc-send.c b/src/irc/dcc/dcc-send.c
index 912129b..5000928 100644
--- a/src/irc/dcc/dcc-send.c
+++ b/src/irc/dcc/dcc-send.c
@@ -425,6 +425,7 @@ static int dcc_send_one_file(int queue, const char *target, const char *fname,
g_free(str);
if (dcc == NULL) {
g_warn_if_reached();
+ close(hfile);
return FALSE;
}

View File

@ -0,0 +1,38 @@
From a0544571a80196e5b7705f56e6e2cbcdf7b4d80e Mon Sep 17 00:00:00 2001
From: ailin-nemui <ailin-nemui@users.noreply.github.com>
Date: Thu, 23 Apr 2020 21:45:15 +0200
Subject: [PATCH] manually handle NUL unicode in g_utf8_get_next_char_validated
A change in GLib 2.63 broke some assumptions in Irssi that the null-byte
NUL / U+0000 is a valid Unicode character. This would occur when the
user types Ctrl+Space. As a result, the input loop never manages to
process the NUL-byte (and any other user input that follows, ever).
This patch adds a manual check that properly advances the input loop if
GLib returns -2 (incomplete character) despite the length being positive
and a NUL is in first position.
Fixes #1180
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/967
https://gitlab.gnome.org/GNOME/glib/-/issues/2093
---
src/fe-text/term-terminfo.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/fe-text/term-terminfo.c b/src/fe-text/term-terminfo.c
index 5235f72d2..78496a64f 100644
--- a/src/fe-text/term-terminfo.c
+++ b/src/fe-text/term-terminfo.c
@@ -672,7 +672,11 @@ void term_stop(void)
static int input_utf8(const unsigned char *buffer, int size, unichar *result)
{
- unichar c = g_utf8_get_char_validated((char *)buffer, size);
+ unichar c = g_utf8_get_char_validated((char *) buffer, size);
+
+ /* GLib >= 2.63 do not accept Unicode NUL anymore */
+ if (c == (unichar) -2 && *buffer == 0 && size > 0)
+ c = 0;
switch (c) {
case (unichar)-1:

View File

@ -2,24 +2,28 @@
Summary: Modular text mode IRC client with Perl scripting
Name: irssi
Version: 1.1.1
Release: 3%{?dist}
Version: 1.2.2
Release: 12%{?dist}
License: GPLv2+
Group: Applications/Communications
URL: http://irssi.org/
Source0: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz
Source1: irssi-config.h
BuildRequires: ncurses-devel openssl-devel zlib-devel
BuildRequires: pkgconfig glib2-devel perl-devel perl-generators perl(ExtUtils::Embed)
BuildRequires: autoconf automake libtool
BuildRequires: autoconf automake libtool utf8proc-devel libotr-devel
BuildRequires: make
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Patch0: irssi-1.1.1-coverity-scan-fix.patch
Patch1: irssi-1.1.1-CVE-2019-13045.patch
Requires: perl(lib)
Requires: perl(Symbol)
# rhbz#1773190
Obsoletes: irc-otr
# https://github.com/irssi/irssi/pull/1183
Patch: irssi-1.2.2-ctrl-space-fix.patch
%package devel
Summary: Development package for irssi
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description
@ -37,17 +41,18 @@ being maintained.
%prep
%setup -q
%patch0 -p1 -b .coverity-scan-fix
%patch1 -p1 -b .CVE-2019-13045
%patch0 -p1 -b .ctrl-space-fix
%build
autoreconf -i
%configure --enable-ipv6 --with-textui \
%configure --with-textui \
--with-proxy \
--with-bot \
--with-perl=yes \
--with-perl-lib=vendor \
--enable-true-color
--with-perl-lib=vendor \
--enable-true-color \
--with-otr=yes
make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
mv irssi-config.h irssi-config-$(getconf LONG_BIT).h
@ -69,7 +74,6 @@ chmod -R u+w $RPM_BUILD_ROOT%{perl_vendorarch}
%files
%defattr(-,root,root,-)
%doc docs/*.txt docs/*.html AUTHORS COPYING NEWS README.md TODO
%config(noreplace) %{_sysconfdir}/%{name}.conf
%{_bindir}/%{name}
@ -82,18 +86,83 @@ chmod -R u+w $RPM_BUILD_ROOT%{perl_vendorarch}
%files devel
%defattr(-,root,root,-)
%{_includedir}/irssi/
%changelog
* Fri Nov 1 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 1.1.1-3
- Fixed use after free when sending SASL login to server
Resolves: CVE-2019-13045
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.2-12
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Dec 6 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.1.1-2
- Fixed issue found by coverity scan
Resolves: rhbz#1602558
* Wed Jul 28 2021 Florian Weimer <fweimer@redhat.com> - 1.2.2-11
- Rebuild to pick up OpenSSL 3.0 Beta ABI (#1984097)
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.2-10
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.2-9
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Nov 12 2020 Kalev Lember <klember@redhat.com> - 1.2.2-7
- Add missing perl(lib) and perl(Symbol) requires (#1897247)
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 8 2020 Jaroslav Škarvada <jskarvad@redhat.com> - 1.2.2-5
- Fixed ctrl+space problem
Resolves: rhbz#1854822
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.2.2-4
- Perl 5.32 rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Nov 18 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 1.2.2-2
- Obsoleted irc-otr
Resolves: rhbz#1773190
* Fri Aug 30 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 1.2.2-1
- New version
Resolves: rhbz#1640348
Resolves: CVE-2019-15717
* Mon Jul 29 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 1.2.1-1
- New version
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu May 30 2019 Jitka Plesnikova <jplesnik@redhat.com> - 1.1.2-3
- Perl 5.30 rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Jaroslav Škarvada <jskarvad@redhat.com> - 1.1.2-1
- New version
Resolves: CVE-2019-5882
- Dropped coverity-scan-fix patch (upstreamed)
* Thu Dec 6 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.1.1-6
- Renamed patch fixing issue found by coverity scan
* Tue Dec 4 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.1.1-5
- Updated patch fixing issues found by coverity scan
* Tue Dec 4 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.1.1-4
- Fixed some issues found by coverity scan
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Jun 27 2018 Jitka Plesnikova <jplesnik@redhat.com> - 1.1.1-2
- Perl 5.28 rebuild
* Fri Feb 16 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 1.1.1-1
- New version