Accepting request 448985 from home:AndreasStieger:branches:server:irc

bsc#1018357

OBS-URL: https://build.opensuse.org/request/show/448985
OBS-URL: https://build.opensuse.org/package/show/server:irc/irssi?expand=0&rev=76
This commit is contained in:
Marcus Rückert 2017-01-07 01:33:22 +00:00 committed by Git OBS Bridge
parent 57c5fcaa84
commit 87c0c6e7bb
8 changed files with 80 additions and 208 deletions

View File

@ -1,24 +0,0 @@
Index: src/core/servers.c
===================================================================
--- src/core/servers.c (revision 5169)
+++ src/core/servers.c (working copy)
@@ -209,6 +209,7 @@
char *errmsg2;
char ipaddr[MAX_IP_LEN];
int port;
+ char *hostname;
g_return_if_fail(ip != NULL || unix_socket != NULL);
@@ -223,8 +224,10 @@
server->connrec->own_ip4);
port = server->connrec->proxy != NULL ?
server->connrec->proxy_port : server->connrec->port;
+ hostname = server->connrec->proxy != NULL ?
+ server->connrec->proxy : server->connrec->address;
handle = server->connrec->use_ssl ?
- net_connect_ip_ssl(ip, port, server->connrec->address, own_ip, server->connrec->ssl_cert, server->connrec->ssl_pkey,
+ net_connect_ip_ssl(ip, port, hostname, own_ip, server->connrec->ssl_cert, server->connrec->ssl_pkey,
server->connrec->ssl_cafile, server->connrec->ssl_capath, server->connrec->ssl_verify) :
net_connect_ip(ip, port, own_ip);
} else {

View File

@ -1,100 +0,0 @@
--- irssi/scripts/buf.pl 2016-08-11 14:59:21.000000000 +0200
+++ irssi/scripts/buf.pl 2016-10-06 13:27:20.747016000 +0200
@@ -5,7 +5,7 @@
settings_get_str settings_get_bool channels windows
settings_add_str settings_add_bool get_irssi_dir
window_find_refnum signal_stop);
-$VERSION = '2.13';
+$VERSION = '2.20';
%IRSSI = (
authors => 'Juerd',
contact => 'juerd@juerd.nl',
@@ -13,10 +13,8 @@
description => 'Saves the buffer for /upgrade, so that no information is lost',
license => 'Public Domain',
url => 'http://juerd.nl/irssi/',
- changed => 'Mon May 13 19:41 CET 2002',
- changes => 'Severe formatting bug removed * oops, I ' .
- 'exposed Irssi to ircII foolishness * sorry ' .
- '** removed logging stuff (this is a fix)',
+ changed => 'Thu Sep 22 01:37 CEST 2016',
+ changes => 'Fixed file permissions (leaked everything via filesystem)',
note1 => 'This script HAS TO BE in your scripts/autorun!',
note2 => 'Perl support must be static or in startup',
);
@@ -39,9 +37,15 @@
my %suppress;
+sub _filename { sprintf '%s/scrollbuffer', get_irssi_dir }
+
sub upgrade {
- open BUF, q{>}, sprintf('%s/scrollbuffer', get_irssi_dir) or die $!;
- print BUF join("\0", map $_->{server}->{address} . $_->{name}, channels), "\n";
+ my $fn = _filename;
+ my $old_umask = umask 0077;
+ open my $fh, q{>}, $fn or die "open $fn: $!";
+ umask $old_umask;
+
+ print $fh join("\0", map $_->{server}->{address} . $_->{name}, channels), "\n";
for my $window (windows) {
next unless defined $window;
next if $window->{name} eq 'status';
@@ -57,36 +61,39 @@
redo if defined $line;
}
}
- printf BUF "%s:%s\n%s", $window->{refnum}, $lines, $buf;
+ printf $fh "%s:%s\n%s", $window->{refnum}, $lines, $buf;
}
- close BUF;
+ close $fh;
unlink sprintf("%s/sessionconfig", get_irssi_dir);
command 'layout save';
command 'save';
}
sub restore {
- open BUF, q{<}, sprintf('%s/scrollbuffer', get_irssi_dir) or die $!;
- my @suppress = split /\0/, <BUF>;
+ my $fn = _filename;
+ open my $fh, q{<}, $fn or die "open $fn: $!";
+ unlink $fn or warn "unlink $fn: $!";
+
+ my @suppress = split /\0/, readline $fh;
if (settings_get_bool 'upgrade_suppress_join') {
chomp $suppress[-1];
@suppress{@suppress} = (2) x @suppress;
}
active_win->command('^window scroll off');
- while (my $bla = <BUF>){
+ while (my $bla = readline $fh){
chomp $bla;
my ($refnum, $lines) = split /:/, $bla;
next unless $lines;
my $window = window_find_refnum $refnum;
unless (defined $window){
- <BUF> for 1..$lines;
+ readline $fh for 1..$lines;
next;
}
my $view = $window->view;
$view->remove_all_lines();
$view->redraw();
my $buf = '';
- $buf .= <BUF> for 1..$lines;
+ $buf .= readline $fh for 1..$lines;
my $sep = settings_get_str 'upgrade_separator';
$sep .= "\n" if $sep ne '';
$window->gui_printtext_after(undef, MSGLEVEL_CLIENTNOTICE, "$buf\cO$sep");
@@ -119,3 +126,10 @@
unless (-f sprintf('%s/scripts/autorun/buf.pl', get_irssi_dir)) {
Irssi::print('PUT THIS SCRIPT IN ~/.irssi/scripts/autorun/ BEFORE /UPGRADING!!');
}
+
+# Remove any left-over file. If 'session' doesn't exist (created by irssi
+# during /UPGRADE), neither should our file.
+unless (-e sprintf('%s/session', get_irssi_dir)) {
+ my $fn = _filename;
+ unlink $fn or warn "unlink $fn: $!" if -e $fn;
+}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7882c4e821f5aac469c5e69e69d7e235f4986101285c675e81a9a95bfb20505a
size 1007252

View File

@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iEYEABECAAYFAlfg+CwACgkQAMy1h92+8OGj9QCfdIkAejpqjk5oTuOw3X0ib+fK
aswAn3Hy1Ql4zlTHP9d3eQGCF3pxK0Oe
=tRWD
-----END PGP SIGNATURE-----

3
irssi-1.0.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a8a3c1fc6a021a2c02a693877b2e19cbceb3eccd78fce49e44f596f4bae4fb8
size 1026116

6
irssi-1.0.0.tar.xz.asc Normal file
View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iEYEABECAAYFAlhuZHUACgkQAMy1h92+8OEqOgCgiPq77X+efvGaCOC1Z0ZcO2q2
m24AnjQNjrci5pv8GYvlwVwS6YRNIsTh
=dE/Y
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,37 @@
-------------------------------------------------------------------
Fri Jan 6 11:46:55 UTC 2017 - idonmez@suse.com
- Update to version 1.0.0
* irssiproxy can now forward all tags through a single port.
* The kill buffer now remembers consecutive kills. New bindings
were added: yank_next_cutbuffer and append_next_kill.
* autolog_ignore_targets and activity_hide_targets learn a new
syntax tag/* and * to ignore whole networks or everything.
* hilight got a -matchcase flag to hilight case sensitively.
* Display TLS connection information upon connect. You can disable
this by setting tls_verbose_connect to FALSE
* Certificate pinning for TLS certificates
* /names and $[…] now uses utf8 string operations.
* New setting completion_nicks_match_case
* /channel /server /network now support modify subcommand.
* New option sasl_disconnect_on_failure to disconnect when SASL
log-in failed.
- Drop not applied irssi-0.8.15_ssl_proxy.patch
- Run through spec-cleaner, remove support for old openSUSE/SUSE
releases.
-------------------------------------------------------------------
Fri Jan 6 11:28:09 UTC 2017 - astieger@suse.com
- irssi 0.8.21 fixes four vulnerabilities that could result in
denial of service (remote crash) when connecting to malicious
servers or receiving specially crafted data [boo#1018357]:
* CVE-2017-5193: NULL pointer dereference in the nickcmp function
* CVE-2017-5194: out of bounds read in certain incomplete control codes
* CVE-2017-5195: out of bounds read in certain incomplete character sequences
* CVE-2017-5196: Correct an error when receiving invalid nick message
- drop irssi-0.8.20-buf.pl.patch, upstream
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Oct 6 11:31:53 UTC 2016 - meissner@suse.com Thu Oct 6 11:31:53 UTC 2016 - meissner@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package irssi # spec file for package irssi
# #
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,29 +17,13 @@
%bcond_with socks %bcond_with socks
Name: irssi Name: irssi
Version: 0.8.20 Version: 1.0.0
Release: 0 Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build #
%if %{with socks} Summary: Modular, Secure, and Well Designed IRC Client
%if 0%{?suse_version} > 1110 License: GPL-2.0+
BuildRequires: dante-devel Group: Productivity/Networking/IRC
%endif
%endif
BuildRequires: glib2-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
%if 0%{?suse_version} > 1130
BuildRequires: perl-macros
%endif
BuildRequires: perl
BuildRequires: xz
Conflicts: %{name}-snapshot
# #
Url: http://www.irssi.org Url: http://www.irssi.org
Source: https://github.com/irssi/irssi/releases/download/%{version}/irssi-%{version}.tar.xz Source: https://github.com/irssi/irssi/releases/download/%{version}/irssi-%{version}.tar.xz
@ -49,20 +33,24 @@ Source3: https://github.com/irssi/irssi/releases/download/%{version}/irss
# https://sks-keyservers.net/pks/lookup?op=get&search=0x00CCB587DDBEF0E1 # https://sks-keyservers.net/pks/lookup?op=get&search=0x00CCB587DDBEF0E1
Source4: %{name}.keyring Source4: %{name}.keyring
Source99: irssi-rpmlintrc Source99: irssi-rpmlintrc
Patch: irssi-0.8.15_ssl_proxy.patch
# PATCH-FIX-UPSTREAM irssi-0.8.20-buf.pl.patch 1001215 CVE-2016-7553:
Patch1: irssi-0.8.20-buf.pl.patch
# PATCH-FIX-OPENSUSE irssi-0.8.16_missing_prototype_warnings.patch # PATCH-FIX-OPENSUSE irssi-0.8.16_missing_prototype_warnings.patch
Patch2: irssi-0.8.16_missing_prototype_warnings.patch Patch1: irssi-0.8.16_missing_prototype_warnings.patch
# BuildRequires: glib2-devel
Summary: Modular, Secure, and Well Designed IRC Client BuildRequires: ncurses-devel
License: GPL-2.0+ BuildRequires: openssl-devel
Group: Productivity/Networking/IRC BuildRequires: perl
%if 0%{?suse_version} > 1130 BuildRequires: perl-macros
BuildRequires: pkgconfig
BuildRequires: xz
Conflicts: %{name}-snapshot
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{perl_requires} %{perl_requires}
%{?libperl_requires} %{?libperl_requires}
%else %if %{with socks}
Requires: perl = %{perl_version} BuildRequires: dante-devel
%endif
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif %endif
%description %description
@ -76,48 +64,25 @@ Jabber, could be added some day, too.
It is the code that separates Irssi from ircII, BitchX, epic, and the It is the code that separates Irssi from ircII, BitchX, epic, and the
rest of the text clients. It is not using the ircII code. rest of the text clients. It is not using the ircII code.
Authors:
--------
Timo Sirainen <cras@irssi.org>
%package devel %package devel
Requires: %{name} = %{version}
Requires: dante-devel
# #
Summary: Development package for irssi Summary: Development package for irssi
Group: Development/Languages/C and C++ Group: Development/Languages/C and C++
Requires: %{name} = %{version}
Requires: dante-devel
%description devel %description devel
This package contains the development files for irssi. It allows to This package contains the development files for irssi. It allows to
compile plugins for the irssi package. compile plugins for the irssi package.
Authors:
--------
Timo Sirainen <cras@irssi.org>
%prep %prep
%setup -q %setup -q
%patch1 -p1 %patch1
%patch2
%build %build
# cp curses.m4 acinclude.m4
#touch irssi.cvs
#NOCONFIGURE=yes ./autogen.sh
%if 0%{?sles_version} == 9
export PKG_CONFIG_PATH="/opt/gnome/%{_lib}/pkgconfig:$PKG_CONFIG_PATH"
%endif
export CFLAGS="%{optflags} -fno-strict-aliasing -DGLIB_DISABLE_DEPRECATION_WARNINGS" export CFLAGS="%{optflags} -fno-strict-aliasing -DGLIB_DISABLE_DEPRECATION_WARNINGS"
%if 0%{?suse_version} > 1110
export CFLAGS="$CFLAGS -fPIE" export CFLAGS="$CFLAGS -fPIE"
export LDFLAGS="-pie" export LDFLAGS="-pie"
%endif
%configure \ %configure \
--disable-silent-rules \ --disable-silent-rules \
@ -134,15 +99,15 @@ export LDFLAGS="-pie"
--enable-true-color \ --enable-true-color \
--with-perl=yes \ --with-perl=yes \
--with-perl-lib=vendor --with-perl-lib=vendor
%__make %{?_smp_mflags} all V=1 make %{?_smp_mflags} all V=1
%install %install
%makeinstall docdir=%{_docdir}/%{name} V=1 make %{?_smp_mflags} DESTDIR=%{buildroot} install docdir=%{_docdir}/%{name} V=1
%perl_process_packlist %perl_process_packlist
%__rm %{buildroot}%{_libdir}/irssi/modules/libirc_proxy.{a,la} rm %{buildroot}%{_libdir}/irssi/modules/libirc_proxy.{a,la}
%__install -D -m0644 "%{SOURCE1}" "%{buildroot}%{_datadir}/applications/%{name}.desktop" install -D -m0644 "%{SOURCE1}" "%{buildroot}%{_datadir}/applications/%{name}.desktop"
%__install -D -m0644 "%{SOURCE2}" "%{buildroot}%{_datadir}/pixmaps/irssi.png" install -D -m0644 "%{SOURCE2}" "%{buildroot}%{_datadir}/pixmaps/irssi.png"
%if 0%{?suse_version} %if 0%{?suse_version}
%suse_update_desktop_file -r "%{name}" Network IRCClient %suse_update_desktop_file -r "%{name}" Network IRCClient
@ -161,20 +126,17 @@ export LDFLAGS="-pie"
%dir %{_datadir}/%{name} %dir %{_datadir}/%{name}
%{_datadir}/%{name}/* %{_datadir}/%{name}/*
#perl #perl
%dir %perl_vendorarch/Irssi %dir %{perl_vendorarch}/Irssi
%perl_vendorarch/Irssi.pm %{perl_vendorarch}/Irssi.pm
%perl_vendorarch/Irssi/* %{perl_vendorarch}/Irssi/*
%perl_vendorarch/auto/Irssi %{perl_vendorarch}/auto/Irssi
# docs # docs
%dir %_defaultdocdir/irssi %dir %{_defaultdocdir}/irssi
%docdir %_defaultdocdir/irssi/ %docdir %{_defaultdocdir}/irssi/
%doc %_defaultdocdir/irssi/* %doc %{_defaultdocdir}/irssi/*
%doc %_mandir/man1/*.1%{ext_man} %{_mandir}/man1/*.1%{ext_man}
%{_datadir}/applications/%{name}.desktop %{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/irssi.png %{_datadir}/pixmaps/irssi.png
%if 0%{?suse_version} <= 1130
/var/adm/perl-modules/%{name}
%endif
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)