diff options
author | obache <obache@pkgsrc.org> | 2009-07-27 12:59:44 +0000 |
---|---|---|
committer | obache <obache@pkgsrc.org> | 2009-07-27 12:59:44 +0000 |
commit | bbc7213153201f9d8cba5bd58ffabd77539948a6 (patch) | |
tree | 4b249daaded28dfbb018aba8b8659e8e224f4d29 /chat/irssi/patches | |
parent | 3a9d8afb986b1c78ca08f084bc4841d2b4f732ed (diff) | |
download | pkgsrc-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-aa | 6 | ||||
-rw-r--r-- | chat/irssi/patches/patch-ab | 66 | ||||
-rw-r--r-- | chat/irssi/patches/patch-ac | 13 | ||||
-rw-r--r-- | chat/irssi/patches/patch-ad | 5 | ||||
-rw-r--r-- | chat/irssi/patches/patch-ae | 4 | ||||
-rw-r--r-- | chat/irssi/patches/patch-af | 21 | ||||
-rw-r--r-- | chat/irssi/patches/patch-ag | 14 |
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@" |