summaryrefslogtreecommitdiff
path: root/chat/irssi/patches
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2009-07-27 12:59:44 +0000
committerobache <obache@pkgsrc.org>2009-07-27 12:59:44 +0000
commitbbc7213153201f9d8cba5bd58ffabd77539948a6 (patch)
tree4b249daaded28dfbb018aba8b8659e8e224f4d29 /chat/irssi/patches
parent3a9d8afb986b1c78ca08f084bc4841d2b4f732ed (diff)
downloadpkgsrc-bbc7213153201f9d8cba5bd58ffabd77539948a6.tar.gz
Update irssi to 0.8.13 (and bump pkgrevision irssi-icb).
Also contains security fix for CVE-2009-1959 (patch-ab). Based on patch provided by Leonardo Taccari in PR 41785. ChangeLog for 0.8.13 Features: * Reject some obviously invalid values in /set. * Add perl bindings for Window::get_history_lines * Use an io channel to write the config file. * Use memory slices instead of memory chunks for text buffer. * Remove methods to create/destroy TextBuffer and TextBufferView and low level api to add/remove lines, scripts should be fine using Window::print_after and TextBufferView::remove_line. * Add print_after method to Window perl object analogous to gui_printtext_after but which also expands formats and forces a full line. * Better mapping of signal parameters to Perl. All signals used in scripts now need to be registered with Irssi::signal_register. * Add public header with interfaces to manage statusbar items (bug #535) * Recode: assume utf-8 encoding for an ascii string in which no escape character occurs (bug #392). * Allow /BAN, /UNBAN, /KICBAN, /KNOCKOUT if channel is not synced. Requesting ban lists from an unsynced channel will ask them from the server, banning a user whose u@h irssi does not know will ban nick!*@* and only bans irssi knows about can be removed. * Allow storing multiple "other" prefixes such as +q and +a (original patch by JasonX) * Add /set autolog_ignore_targets for cherry-picking targets that shouldn't get logged. * Add support for 16 colors. Formats KBGCRMYW and mirc colors are now mapped to colors 8-15. fe-text translates colors 8-15 to bold/blink+0-7 if the terminal supports only 8 colors. If your theme uses one of the high color formats and you really want bold you can change %FMT<string> to %fmt%_%_, it will work fine in all irssi versions. * Better 005 PREFIX support (bug #580). * Display 407 numerics other than "duplicate channel". * Fix display of ratbox-style operspy whois. * Recode outgoing irc away messages (bug #412). * Recode outgoing irc quit messages. * Remove scrollback_levelclear_levels setting and add a 'level' option to 'sb levelclear' to specify a comma separated list of levels. * Add perl __WARN__ handler for scripts (bug #427). * Add Irssi::command_parse_options function to parse options for a command. * Revert recode changes introduced in 0.8.12. * Add completion for /WINDOW SERVER. * Support for reading kicks/msgs from TARGMAX/MAXTARGETS 005 tokens. * Enhancements to the redirections code. * Support for RPL_WHOISACTUALLY (338 numeric) for both ratbox and ircu (bug #428). * -idle option of /notify is gone. * /layout save now makes window-channel bindings instantly effective (bug #35). * /ping without arguments does not send anymore a ctcp ping to a channel (bug #542). * Track IRC operator status of nicks a bit better. * new 'actlist_names' option to add active items names in 'act' statusbar item. * new 'word_completion_backward' command to scroll backwards in the completion list. * add 'list' option to /bind to print all the available commands. * show setter/time in +I lists * apply -usermode before -autosendcmd (bug #548). * reduce memory usage of the scrollback buffer and make the display in /sb status more accurate (higher). * fix data getting dropped when a lot is sent at a time (e.g. when attaching to irssi-proxy, bug #528). * introduce the type Irssi::Irc::Client and signals to communicate with proxy clients to allow for scripting parts of the irssi-proxy. * Add sb_search.pl, a script for /SCROLLBACK SEARCH Bugfixes: * Fix /NOTIFY list when nick is seen joining (bug #642). * Include hostmask in 001 event sent by proxy (bug #650). * Be more power-friendly: don't run any always-on <1s timers (bug #641). * Don't get confused by a failed /JOIN -window (bug #644). * Properly initialize embedded Perl (PERL_SYS_INIT3). * Replace invalid utf-8 bytes with U+FFFD when drawing a line. * Properly unload the original script when using /script load to reload it. (bug #525, patch by Lukas Mai) * Clean up script loading in general: * Don't leak local variables to eval'd code. * Set filename/line number to get better error messages from perl. * Use three-arg open and lexical filehandles to avoid surprises. * Include error reason in message for unopenable scripts. * Don't wrap script code in sub handler { } - this avoids spurious warnings and should at least allow __END__ to work properly. (Patch by Lukas Mai) * Fix NETSPLIT_SERVER_REC in signals for Perl. * Remove buggy /SCROLLBACK redraw and /SET scrollback_save_formats. * Always preserve the active mainwindow when resizing. * Ignore DNS not found errors when considering reconnect. * Do not strip the comma in a mirc color if it is not followed by a digit (bug #250). * Fix building perl module with perl-5.10 (bug #630). * fix leak with $L expando. * fix possible crash with /script reset. * ignore exceptions take precedence over ignores in all cases. * honour -channels preference for ignore -replies (bug #227). * Fix mode display in whois with unreal (379 numeric) (bug #479). * Fix regressions that prevented external modules from building/working (bugs #537 #539). * Fix /set hilight_level not taking effect immediately (bug #598). * Fix bold, blinking and indentation in /LASTLOG and buf.pl.
Diffstat (limited to 'chat/irssi/patches')
-rw-r--r--chat/irssi/patches/patch-aa6
-rw-r--r--chat/irssi/patches/patch-ab66
-rw-r--r--chat/irssi/patches/patch-ac13
-rw-r--r--chat/irssi/patches/patch-ad5
-rw-r--r--chat/irssi/patches/patch-ae4
-rw-r--r--chat/irssi/patches/patch-af21
-rw-r--r--chat/irssi/patches/patch-ag14
7 files changed, 28 insertions, 101 deletions
diff --git a/chat/irssi/patches/patch-aa b/chat/irssi/patches/patch-aa
index bd7ca037eef..600530ac571 100644
--- a/chat/irssi/patches/patch-aa
+++ b/chat/irssi/patches/patch-aa
@@ -1,4 +1,6 @@
-$NetBSD: patch-aa,v 1.5 2007/10/13 16:27:15 adrianp Exp $
+$NetBSD: patch-aa,v 1.6 2009/07/27 12:59:44 obache Exp $
+
+Check if sp is a null pointer before parsing it.
--- src/fe-text/tparm.c.orig 2007-10-06 10:40:39.000000000 +0100
+++ src/fe-text/tparm.c
@@ -7,7 +9,7 @@ $NetBSD: patch-aa,v 1.5 2007/10/13 16:27:15 adrianp Exp $
pos = 0;
termcap = 1;
- while (*sp != '\0') {
-+ while ((*sp != '\0') && (sp != NULL)) {
++ while ((sp != NULL) && (*sp != '\0')) {
switch(*sp) {
case '\\':
if (scan_for) {
diff --git a/chat/irssi/patches/patch-ab b/chat/irssi/patches/patch-ab
index 8d1b3736cf6..8db65b0e172 100644
--- a/chat/irssi/patches/patch-ab
+++ b/chat/irssi/patches/patch-ab
@@ -1,51 +1,19 @@
-$NetBSD: patch-ab,v 1.8 2007/10/13 16:27:15 adrianp Exp $
+$NetBSD: patch-ab,v 1.9 2009/07/27 12:59:44 obache Exp $
---- Makefile.in.orig 2007-10-06 10:41:44.000000000 +0100
-+++ Makefile.in
-@@ -40,8 +40,8 @@ host_triplet = @host@
- DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \
- $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-- $(srcdir)/irssi-version.h.in $(srcdir)/irssi.spec.in \
-- $(top_srcdir)/configure \
-+ $(srcdir)/irssi-config.in $(srcdir)/irssi-version.h.in \
-+ $(srcdir)/irssi.spec.in $(top_srcdir)/configure \
- $(top_srcdir)/src/perl/common/Makefile.PL.in \
- $(top_srcdir)/src/perl/irc/Makefile.PL.in \
- $(top_srcdir)/src/perl/textui/Makefile.PL.in \
-@@ -60,7 +60,8 @@ mkinstalldirs = $(install_sh) -d
- CONFIG_HEADER = config.h
- CONFIG_CLEAN_FILES = src/perl/common/Makefile.PL \
- src/perl/irc/Makefile.PL src/perl/ui/Makefile.PL \
-- src/perl/textui/Makefile.PL irssi-version.h irssi.spec
-+ src/perl/textui/Makefile.PL irssi-version.h irssi-config \
-+ irssi.spec
- SOURCES =
- DIST_SOURCES =
- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-@@ -252,7 +253,7 @@ sysconfdir = @sysconfdir@
- target_alias = @target_alias@
- ACLOCAL_AMFLAGS = -I .
- SUBDIRS = src docs scripts
--confdir = $(sysconfdir)
-+confdir = $(datadir)/examples/@PACKAGE@
- conf_DATA = irssi.conf
- themedir = $(datadir)/irssi/themes
- theme_DATA = default.theme colorless.theme
-@@ -269,6 +270,7 @@ EXTRA_DIST = \
- irssi.spec.in \
- $(conf_DATA) \
- $(theme_DATA) \
-+ irssi-config.in \
- irssi-icon.png \
- syntax.pl \
- findsyntax.pl
-@@ -331,6 +333,8 @@ src/perl/textui/Makefile.PL: $(top_build
- cd $(top_builddir) && $(SHELL) ./config.status $@
- irssi-version.h: $(top_builddir)/config.status $(srcdir)/irssi-version.h.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-+irssi-config: $(top_builddir)/config.status $(srcdir)/irssi-config.in
-+ cd $(top_builddir) && $(SHELL) ./config.status $@
- irssi.spec: $(top_builddir)/config.status $(srcdir)/irssi.spec.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
+Fix out of bounds access in event_wallops().
+
+This fixes irssi bug #662 (also known as CVE-2009-1959).
+
+http://svn.irssi.org/cgi-bin/viewvc.cgi?view=rev&root=irssi&revision=5068
+
+--- src/fe-common/irc/fe-events.c.orig 2009-07-15 22:54:17.000000000 +0200
++++ src/fe-common/irc/fe-events.c
+@@ -298,7 +298,7 @@ static void event_wallops(IRC_SERVER_REC
+ tmp = g_strdup(data+8);
+ len = strlen(tmp);
+- if (tmp[len-1] == 1) tmp[len-1] = '\0';
++ if (len >= 1 && tmp[len-1] == 1) tmp[len-1] = '\0';
+ printformat(server, NULL, MSGLEVEL_WALLOPS, IRCTXT_ACTION_WALLOPS, nick, tmp);
+ g_free(tmp);
+ }
diff --git a/chat/irssi/patches/patch-ac b/chat/irssi/patches/patch-ac
deleted file mode 100644
index 3ed8059cc7d..00000000000
--- a/chat/irssi/patches/patch-ac
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ac,v 1.8 2007/10/28 13:06:30 adrianp Exp $
-
---- src/fe-common/irc/fe-irc-messages.c.orig 2007-10-06 10:40:39.000000000 +0100
-+++ src/fe-common/irc/fe-irc-messages.c
-@@ -44,7 +44,7 @@ static const char *skip_target(IRC_SERVE
- const char *val, *chars;
-
- /* Quick check */
-- if (server->prefix[(int)(unsigned char)*target] == 0)
-+ if (server == NULL || server->prefix[(int)(unsigned char)*target] == 0)
- return target;
-
- /* Hack: for bahamut 1.4 which sends neither STATUSMSG nor
diff --git a/chat/irssi/patches/patch-ad b/chat/irssi/patches/patch-ad
index 0ae0cb01f7c..4072213cc9e 100644
--- a/chat/irssi/patches/patch-ad
+++ b/chat/irssi/patches/patch-ad
@@ -1,4 +1,7 @@
-$NetBSD: patch-ad,v 1.8 2008/12/04 12:53:55 tonnerre Exp $
+$NetBSD: patch-ad,v 1.9 2009/07/27 12:59:44 obache Exp $
+
+PerlIO mutex must be initialized before trying to fiddle with the
+interpreter.
--- src/perl/perl-core.c.orig 2008-12-04 13:45:24.000000000 +0100
+++ src/perl/perl-core.c
diff --git a/chat/irssi/patches/patch-ae b/chat/irssi/patches/patch-ae
index 887a894e1f0..980f8d607d0 100644
--- a/chat/irssi/patches/patch-ae
+++ b/chat/irssi/patches/patch-ae
@@ -1,4 +1,6 @@
-$NetBSD: patch-ae,v 1.5 2006/03/04 06:34:13 wiz Exp $
+$NetBSD: patch-ae,v 1.6 2009/07/27 12:59:44 obache Exp $
+
+Accept ENOTCONN as indicating socket is not ready for write.
--- src/core/network.c.orig 2005-11-19 23:45:08.000000000 +0100
+++ src/core/network.c
diff --git a/chat/irssi/patches/patch-af b/chat/irssi/patches/patch-af
deleted file mode 100644
index 44a23a9e91f..00000000000
--- a/chat/irssi/patches/patch-af
+++ /dev/null
@@ -1,21 +0,0 @@
-$NetBSD: patch-af,v 1.5 2007/10/13 16:27:15 adrianp Exp $
-
---- configure.orig 2007-10-06 10:41:38.000000000 +0100
-+++ configure
-@@ -27055,7 +27055,7 @@ VERSION_TIME=`head -n 2 $srcdir/ChangeLo
-
-
-
--ac_config_files="$ac_config_files Makefile src/Makefile src/core/Makefile src/irc/Makefile src/irc/core/Makefile src/irc/dcc/Makefile src/irc/notifylist/Makefile src/irc/proxy/Makefile src/irc/flood/Makefile src/fe-common/Makefile src/fe-common/core/Makefile src/fe-common/irc/Makefile src/fe-common/irc/dcc/Makefile src/fe-common/irc/notifylist/Makefile src/fe-none/Makefile src/fe-text/Makefile src/lib-config/Makefile src/lib-popt/Makefile src/perl/Makefile src/perl/common/Makefile.PL src/perl/irc/Makefile.PL src/perl/ui/Makefile.PL src/perl/textui/Makefile.PL scripts/Makefile scripts/examples/Makefile docs/Makefile docs/help/Makefile docs/help/in/Makefile irssi-version.h irssi.spec"
-+ac_config_files="$ac_config_files Makefile src/Makefile src/core/Makefile src/irc/Makefile src/irc/core/Makefile src/irc/dcc/Makefile src/irc/notifylist/Makefile src/irc/proxy/Makefile src/irc/flood/Makefile src/fe-common/Makefile src/fe-common/core/Makefile src/fe-common/irc/Makefile src/fe-common/irc/dcc/Makefile src/fe-common/irc/notifylist/Makefile src/fe-none/Makefile src/fe-text/Makefile src/lib-config/Makefile src/lib-popt/Makefile src/perl/Makefile src/perl/common/Makefile.PL src/perl/irc/Makefile.PL src/perl/ui/Makefile.PL src/perl/textui/Makefile.PL scripts/Makefile scripts/examples/Makefile docs/Makefile docs/help/Makefile docs/help/in/Makefile irssi-version.h irssi-config irssi.spec"
-
-
- cat >confcache <<\_ACEOF
-@@ -27735,6 +27735,7 @@ do
- "docs/help/Makefile") CONFIG_FILES="$CONFIG_FILES docs/help/Makefile" ;;
- "docs/help/in/Makefile") CONFIG_FILES="$CONFIG_FILES docs/help/in/Makefile" ;;
- "irssi-version.h") CONFIG_FILES="$CONFIG_FILES irssi-version.h" ;;
-+ "irssi-config") CONFIG_FILES="$CONFIG_FILES irssi-config" ;;
- "irssi.spec") CONFIG_FILES="$CONFIG_FILES irssi.spec" ;;
-
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
diff --git a/chat/irssi/patches/patch-ag b/chat/irssi/patches/patch-ag
deleted file mode 100644
index 3425642fab0..00000000000
--- a/chat/irssi/patches/patch-ag
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-ag,v 1.1 2007/10/13 16:27:15 adrianp Exp $
-
---- /dev/null 2007-10-13 14:51:24.000000000 +0100
-+++ irssi-config.in 2007-10-13 14:51:59.000000000 +0100
-@@ -0,0 +1,9 @@
-+PROG_LIBS="@PROG_LIBS@"
-+COMMON_LIBS="@COMMON_LIBS@"
-+
-+PERL_LINK_LIBS="@PERL_LINK_LIBS@"
-+PERL_FE_LINK_LIBS="@PERL_FE_LINK_LIBS@"
-+PERL_LINK_FLAGS="@PERL_LINK_FLAGS@"
-+
-+CHAT_MODULES="@CHAT_MODULES@"
-+irc_MODULES="@irc_MODULES@"