commit irssi for openSUSE:Factory

Hello community, here is the log from the commit of package irssi for openSUSE:Factory checked in at 2016-03-31 13:03:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/irssi (Old) and /work/SRC/openSUSE:Factory/.irssi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "irssi" Changes: -------- --- /work/SRC/openSUSE:Factory/irssi/irssi.changes 2016-03-07 13:27:00.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.irssi.new/irssi.changes 2016-03-31 13:03:16.000000000 +0200 @@ -1,0 +2,15 @@ +Sat Mar 26 19:12:55 UTC 2016 - idonmez@suse.com + +- Update to version 0.8.19 + * Fixed regression when joining and parting channels on IRCnet + * Fixed SASL EXTERNAL + * Fixed regression when not using SASL + * Fixed incorrect SSL disconnects when using SSL from modules/scripts + * Fixed regression where proxy_string could not be configured or + certain file transfers could not be accepted + * Fixed storing layout of !channels + * Fixed restoration of bracketed paste mode on quit + * Make the usage of meta-O for cursor keys configurable with + /set term_appkey_mode off + +------------------------------------------------------------------- Old: ---- irssi-0.8.18.tar.xz irssi-0.8.18.tar.xz.asc New: ---- irssi-0.8.19.tar.xz irssi-0.8.19.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ irssi.spec ++++++ --- /var/tmp/diff_new_pack.0yMoEw/_old 2016-03-31 13:03:17.000000000 +0200 +++ /var/tmp/diff_new_pack.0yMoEw/_new 2016-03-31 13:03:17.000000000 +0200 @@ -19,7 +19,7 @@ %bcond_with socks Name: irssi -Version: 0.8.18 +Version: 0.8.19 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %{with socks} ++++++ irssi-0.8.18.tar.xz -> irssi-0.8.19.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/ChangeLog new/irssi-0.8.19/ChangeLog --- old/irssi-0.8.18/ChangeLog 2016-02-08 21:16:18.000000000 +0100 +++ new/irssi-0.8.19/ChangeLog 2016-03-23 00:25:20.000000000 +0100 @@ -1,10 +1,119 @@ -commit 109b75f50b9a98fe190bb6802a0def1d94900fcc +commit c43831574187cdb2323d123702aa687af24664d8 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Wed Mar 23 00:08:24 2016 +0100 + + tag as 0.8.19 + +commit 6c0c0c60ad62e45664ee0c77ae3c926892de267c +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Mar 22 16:54:34 2016 +0100 + + Make use of terminal application keys configurable + + adds a new setting term_appkey_mode which can enable or disable the use + of keyboard transmit (application keys) mode. Fixes #430 + +commit 6572005d3d8071dc7faa1637986ed81692203e13 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Mar 22 22:54:43 2016 +0100 + + Merge pull request #458 from ailin-nemui/fix_449 + + Properly toggle bracketed paste mode on stop/cont + +commit 5ef2b958d94af940746f607fb56776852c6b0a4d +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Mar 22 22:57:28 2016 +0100 + + Merge pull request #457 from ailin-nemui/fix_450 + + fix race condition in terminal init + +commit c657b9c3b1bf867722f63892251b2294d6a87d56 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Mar 22 15:25:13 2016 +0100 + + Merge pull request #447 from ailin-nemui/fix_dcc_help + + correct quoting in /help dcc + +commit 4a2ee3c34471c29b884f5b0bc2b6ad95b56f500b +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Mar 22 15:23:37 2016 +0100 + + Merge pull request #446 from ailin-nemui/fix_445 + + strip less whitespace from commands + +commit fe600dd5dc11c839c1fd90e77c4020c937e7c453 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Mar 20 22:06:41 2016 +0100 + + Merge pull request #442 from LemonBoy/fix-435 + + Do not assume any default value for statusmsg. + +commit 15296a0165007aece5ac732c1f53b0fc78ba9ba1 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Mar 20 22:00:43 2016 +0100 + + Merge pull request #444 from LemonBoy/timeout-id + + Use 0 as a sentinel value for sasl_timeout + +commit 7d3fe66e50fc3c47783d9beb0474a4ed9d2d9953 +Author: TheLemonMan <LemonBoy@users.noreply.github.com> +Date: Thu Mar 17 22:07:57 2016 +0100 + + Merge pull request #439 from horgh/ssl-errors + + Clear error queue before SSL I/O operations + +commit d20872ac27c63f2c92775a12c99a7494148901ca +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Thu Mar 17 16:14:34 2016 +0100 + + Merge pull request #438 from dequis/sasl-timeout-disconnect + + Remove sasl timeout source when the server disconnects + +commit 4416942fcdd426385cc3ef7a912f9260627b8a39 +Author: Giuseppe <LemonBoy@users.noreply.github.com> +Date: Tue Mar 8 22:49:05 2016 +0100 + + Merge pull request #432 from grawity/fix-external + + fix SASL EXTERNAL + +commit 025f08d5fc69d6e9c28004f8f7af26f613b0e0fb +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Fri Jan 29 05:33:14 2016 +0100 + + Merge pull request #407 from irssi/ailin-nemui-perl-bugs + + Mention known Perl Bugs in perl.txt + +commit 22d772890e6f3b9622485fd83529f73891567e71 +Author: dx <dx@dxzone.com.ar> +Date: Tue Jan 26 03:25:07 2016 -0300 + + Merge pull request #405 from LemonBoy/serialize-channel-name + + Serialize the 'name' attribute of the CHANNEL_REC. + +commit 15f79a713f3e100a3b96b65e951fb37ae8994bdd +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Wed Mar 23 00:07:43 2016 +0100 + + set version to 0.8.18a-head + +commit b91f3c3025dc5cace2c14cb5b2da005400b5cd6a Author: ailin-nemui <ailin-nemui@users.noreply.github.com> Date: Mon Feb 8 14:53:17 2016 +0100 tag as 0.8.18 -commit 37f82c74c6b181d39327749c4ccea7587301f439 +commit 8ab537cf22371f9115002484b320719676dab86b Author: ailin-nemui <ailin-nemui@users.noreply.github.com> Date: Mon Feb 8 21:03:35 2016 +0100 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/Makefile.in new/irssi-0.8.19/Makefile.in --- old/irssi-0.8.18/Makefile.in 2016-02-08 21:22:35.000000000 +0100 +++ new/irssi-0.8.19/Makefile.in 2016-03-23 00:25:27.000000000 +0100 @@ -208,7 +208,7 @@ $(top_srcdir)/src/perl/textui/Makefile.PL.in \ $(top_srcdir)/src/perl/ui/Makefile.PL.in AUTHORS COPYING \ ChangeLog INSTALL NEWS TODO acconfig.h build-aux/compile \ - build-aux/config.guess build-aux/config.sub build-aux/depcomp \ + build-aux/config.guess build-aux/config.sub \ build-aux/install-sh build-aux/ltmain.sh build-aux/missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/NEWS new/irssi-0.8.19/NEWS --- old/irssi-0.8.18/NEWS 2016-02-08 21:20:37.000000000 +0100 +++ new/irssi-0.8.19/NEWS 2016-03-23 00:23:24.000000000 +0100 @@ -1,3 +1,16 @@ +v0.8.19 2016-03-23 The Irssi team <staff@irssi.org> + - Fixed regression when joining and parting channels on IRCnet (#435) + - Fixed SASL EXTERNAL (#432) + - Fixed regression when not using SASL (#438) + - Fixed incorrect SSL disconnects when using SSL from modules/scripts + (#439) + - Fixed regression where proxy_string could not be configured or + certain file transfers could not be accepted (#445) + - Fixed storing layout of !channels (#183) + - Fixed restoration of bracketed paste mode on quit (#449) + - Make the usage of meta-O for cursor keys configurable with + /set term_appkey_mode off + v0.8.18 2016-02-13 The Irssi team <staff@irssi.org> * Modules will now require to define a void MODULENAME ## _abicheck(int *version) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/configure new/irssi-0.8.19/configure --- old/irssi-0.8.18/configure 2016-02-08 21:22:36.000000000 +0100 +++ new/irssi-0.8.19/configure 2016-03-23 00:25:26.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for irssi 0.8.18. +# Generated by GNU Autoconf 2.69 for irssi 0.8.19. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='irssi' PACKAGE_TARNAME='irssi' -PACKAGE_VERSION='0.8.18' -PACKAGE_STRING='irssi 0.8.18' +PACKAGE_VERSION='0.8.19' +PACKAGE_STRING='irssi 0.8.19' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1384,7 +1384,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures irssi 0.8.18 to adapt to many kinds of systems. +\`configure' configures irssi 0.8.19 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1454,7 +1454,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of irssi 0.8.18:";; + short | recursive ) echo "Configuration of irssi 0.8.19:";; esac cat <<\_ACEOF @@ -1598,7 +1598,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -irssi configure 0.8.18 +irssi configure 0.8.19 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2200,7 +2200,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by irssi $as_me 0.8.18, which was +It was created by irssi $as_me 0.8.19, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3069,7 +3069,7 @@ # Define the identity of the package. PACKAGE='irssi' - VERSION='0.8.18' + VERSION='0.8.19' # Some tools Automake needs. @@ -15812,7 +15812,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by irssi $as_me 0.8.18, which was +This file was extended by irssi $as_me 0.8.19, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15878,7 +15878,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -irssi config.status 0.8.18 +irssi config.status 0.8.19 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/configure.ac new/irssi-0.8.19/configure.ac --- old/irssi-0.8.18/configure.ac 2016-02-08 21:20:37.000000000 +0100 +++ new/irssi-0.8.19/configure.ac 2016-03-23 00:24:11.000000000 +0100 @@ -1,4 +1,4 @@ -AC_INIT(irssi, 0.8.18) +AC_INIT(irssi, 0.8.19) AC_CONFIG_SRCDIR([src]) AC_CONFIG_AUX_DIR(build-aux) AC_PREREQ(2.50) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/docs/help/dcc new/irssi-0.8.19/docs/help/dcc --- old/irssi-0.8.18/docs/help/dcc 2016-02-08 21:16:18.000000000 +0100 +++ new/irssi-0.8.19/docs/help/dcc 2016-03-23 00:25:20.000000000 +0100 @@ -40,10 +40,10 @@ %9Examples:%9 /DCC CHAT mike - /DCC GET bob 'summer vacation.mkv' - /DCC SEND sarah documents/resume.pdf + /DCC GET bob summer vacation.mkv + /DCC SEND sarah "summer vacation.mkv" /DCC CLOSE get mike - /DCC CLOSE send bob 'summer vacation.mkv' + /DCC CLOSE send bob summer vacation.mkv %9See also:%9 CD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/docs/help/in/dcc.in new/irssi-0.8.19/docs/help/in/dcc.in --- old/irssi-0.8.18/docs/help/in/dcc.in 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/docs/help/in/dcc.in 2016-03-23 00:08:36.000000000 +0100 @@ -36,10 +36,10 @@ %9Examples:%9 /DCC CHAT mike - /DCC GET bob 'summer vacation.mkv' - /DCC SEND sarah documents/resume.pdf + /DCC GET bob summer vacation.mkv + /DCC SEND sarah "summer vacation.mkv" /DCC CLOSE get mike - /DCC CLOSE send bob 'summer vacation.mkv' + /DCC CLOSE send bob summer vacation.mkv %9See also:%9 CD diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/docs/perl.txt new/irssi-0.8.19/docs/perl.txt --- old/irssi-0.8.18/docs/perl.txt 2016-02-08 21:20:37.000000000 +0100 +++ new/irssi-0.8.19/docs/perl.txt 2016-03-23 00:08:35.000000000 +0100 @@ -1193,3 +1193,7 @@ -------------------- * Calling die in 'script error' handler causes segfault (#101) * Storing and later using any Irssi object may result in use-after-free related crash + - Workaround: always acquire fresh objects +* Calling $dcc->close from the "dcc created" signal will cause unstable behaviour and crashes (#386) + - Workaround: use "dcc request" signal instead AND call + &Irssi::signal_continue(@_); as the first thing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/irssi-config.h new/irssi-0.8.19/irssi-config.h --- old/irssi-0.8.18/irssi-config.h 2016-02-08 21:16:29.000000000 +0100 +++ new/irssi-0.8.19/irssi-config.h 2016-03-23 00:25:31.000000000 +0100 @@ -108,7 +108,7 @@ #define PACKAGE_NAME "irssi" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "irssi 0.8.18" +#define PACKAGE_STRING "irssi 0.8.19" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "irssi" @@ -117,7 +117,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.8.18" +#define PACKAGE_VERSION "0.8.19" /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/irssi-version.h new/irssi-0.8.19/irssi-version.h --- old/irssi-0.8.18/irssi-version.h 2016-02-08 21:22:40.000000000 +0100 +++ new/irssi-0.8.19/irssi-version.h 2016-03-23 00:29:08.000000000 +0100 @@ -1,2 +1,2 @@ -#define IRSSI_VERSION_DATE 20160208 -#define IRSSI_VERSION_TIME 1453 +#define IRSSI_VERSION_DATE 20160323 +#define IRSSI_VERSION_TIME 8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/common.h new/irssi-0.8.19/src/common.h --- old/irssi-0.8.18/src/common.h 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/common.h 2016-03-23 00:08:36.000000000 +0100 @@ -6,7 +6,7 @@ #define IRSSI_GLOBAL_CONFIG "irssi.conf" /* config file name in /etc/ */ #define IRSSI_HOME_CONFIG "config" /* config file name in ~/.irssi/ */ -#define IRSSI_ABI_VERSION 1 +#define IRSSI_ABI_VERSION 2 #define DEFAULT_SERVER_ADD_PORT 6667 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/core/network-openssl.c new/irssi-0.8.19/src/core/network-openssl.c --- old/irssi-0.8.18/src/core/network-openssl.c 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/core/network-openssl.c 2016-03-23 00:08:35.000000000 +0100 @@ -289,6 +289,7 @@ const char *errstr; gchar *errmsg; + ERR_clear_error(); ret1 = SSL_read(chan->ssl, buf, len); if(ret1 <= 0) { @@ -334,6 +335,7 @@ const char *errstr; gchar *errmsg; + ERR_clear_error(); ret1 = SSL_write(chan->ssl, (const char *)buf, len); if(ret1 <= 0) { @@ -471,6 +473,7 @@ if(!(fd = g_io_channel_unix_get_fd(handle))) return NULL; + ERR_clear_error(); ctx = SSL_CTX_new(SSLv23_client_method()); if (ctx == NULL) { g_error("Could not allocate memory for SSL context"); @@ -489,6 +492,7 @@ scert = convert_home(mycert); if (mypkey && *mypkey) spkey = convert_home(mypkey); + ERR_clear_error(); if (! SSL_CTX_use_certificate_file(ctx, scert, SSL_FILETYPE_PEM)) g_warning("Loading of client certificate '%s' failed: %s", mycert, ERR_reason_error_string(ERR_get_error())); else if (! SSL_CTX_use_PrivateKey_file(ctx, spkey ? spkey : scert, SSL_FILETYPE_PEM)) @@ -581,6 +585,7 @@ X509 *cert; const char *errstr; + ERR_clear_error(); ret = SSL_connect(chan->ssl); if (ret <= 0) { err = SSL_get_error(chan->ssl, ret); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-common/core/completion.c new/irssi-0.8.19/src/fe-common/core/completion.c --- old/irssi-0.8.18/src/fe-common/core/completion.c 2016-02-08 21:20:37.000000000 +0100 +++ new/irssi-0.8.19/src/fe-common/core/completion.c 2016-03-23 00:08:36.000000000 +0100 @@ -757,7 +757,7 @@ int len; if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_OPTIONS | - PARAM_FLAG_GETREST | PARAM_FLAG_STRIP_TRAILING_WS, + PARAM_FLAG_GETREST, "completion", &optlist, &key, &value)) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-common/core/fe-settings.c new/irssi-0.8.19/src/fe-common/core/fe-settings.c --- old/irssi-0.8.18/src/fe-common/core/fe-settings.c 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/fe-common/core/fe-settings.c 2016-03-23 00:08:36.000000000 +0100 @@ -109,7 +109,7 @@ SETTINGS_REC *rec; if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST | - PARAM_FLAG_OPTIONS | PARAM_FLAG_STRIP_TRAILING_WS, + PARAM_FLAG_OPTIONS, "set", &optlist, &key, &value)) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-common/core/windows-layout.c new/irssi-0.8.19/src/fe-common/core/windows-layout.c --- old/irssi-0.8.18/src/fe-common/core/windows-layout.c 2016-02-08 21:20:37.000000000 +0100 +++ new/irssi-0.8.19/src/fe-common/core/windows-layout.c 2016-03-23 00:08:35.000000000 +0100 @@ -168,12 +168,12 @@ chat_protocol_find_id(item->chat_type); if (proto != NULL) iconfig_node_set_str(subnode, "chat_type", proto->name); - iconfig_node_set_str(subnode, "name", item->visible_name); + iconfig_node_set_str(subnode, "name", item->name); if (item->server != NULL) { iconfig_node_set_str(subnode, "tag", item->server->tag); if (IS_CHANNEL(item)) { - rec = window_bind_add(window, item->server->tag, item->visible_name); + rec = window_bind_add(window, item->server->tag, item->name); if (rec != NULL) rec->sticky = TRUE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-text/gui-readline.c new/irssi-0.8.19/src/fe-text/gui-readline.c --- old/irssi-0.8.18/src/fe-text/gui-readline.c 2016-02-08 21:20:37.000000000 +0100 +++ new/irssi-0.8.19/src/fe-text/gui-readline.c 2016-03-23 00:08:36.000000000 +0100 @@ -1039,6 +1039,7 @@ paste_join_multiline = settings_get_bool("paste_join_multiline"); paste_use_bracketed_mode = settings_get_bool("paste_use_bracketed_mode"); + term_set_appkey_mode(settings_get_bool("term_appkey_mode")); /* Enable the bracketed paste mode on demand */ term_set_bracketed_paste_mode(paste_use_bracketed_mode); } @@ -1061,6 +1062,7 @@ g_get_current_time(&last_keypress); input_listen_init(STDIN_FILENO); + settings_add_bool("lookandfeel", "term_appkey_mode", TRUE); settings_add_str("history", "scroll_page_count", "/2"); settings_add_time("misc", "paste_detect_time", "5msecs"); settings_add_bool("misc", "paste_use_bracketed_mode", FALSE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-text/term-terminfo.c new/irssi-0.8.19/src/fe-text/term-terminfo.c --- old/irssi-0.8.18/src/fe-text/term-terminfo.c 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/fe-text/term-terminfo.c 2016-03-23 00:08:36.000000000 +0100 @@ -710,11 +710,3 @@ } } } - -void term_set_bracketed_paste_mode(int enable) -{ - if (enable) - tputs("\e[?2004h", 0, term_putchar); - else - tputs("\e[?2004l", 0, term_putchar); -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-text/term.h new/irssi-0.8.19/src/fe-text/term.h --- old/irssi-0.8.18/src/fe-text/term.h 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/fe-text/term.h 2016-03-23 00:08:36.000000000 +0100 @@ -94,6 +94,7 @@ void term_stop(void); +void term_set_appkey_mode(int enable); void term_set_bracketed_paste_mode(int enable); /* keyboard input handling */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-text/terminfo-core.c new/irssi-0.8.19/src/fe-text/terminfo-core.c --- old/irssi-0.8.18/src/fe-text/terminfo-core.c 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/fe-text/terminfo-core.c 2016-03-23 00:08:36.000000000 +0100 @@ -395,6 +395,20 @@ { } +static void terminfo_set_appkey_mode(TERM_REC *term, int set) +{ + if (term->TI_smkx && term->TI_rmkx) + tput(tparm(set ? term->TI_smkx : term->TI_rmkx)); +} + +static void term_dec_set_bracketed_paste_mode(int enable) +{ + if (enable) + tputs("\e[?2004h", 0, term_putchar); + else + tputs("\e[?2004l", 0, term_putchar); +} + static void term_fill_capabilities(TERM_REC *term) { int i, ival; @@ -496,7 +510,7 @@ } } -static void terminfo_input_init(TERM_REC *term) +static void terminfo_input_init0(TERM_REC *term) { tcgetattr(fileno(term->in), &term->old_tio); memcpy(&term->tio, &term->old_tio, sizeof(term->tio)); @@ -518,8 +532,11 @@ term->tio.c_cc[VSUSP] = _POSIX_VDISABLE; #endif - tcsetattr(fileno(term->in), TCSADRAIN, &term->tio); +} +static void terminfo_input_init(TERM_REC *term) +{ + tcsetattr(fileno(term->in), TCSADRAIN, &term->tio); } static void terminfo_input_deinit(TERM_REC *term) @@ -532,8 +549,11 @@ if (term->TI_smcup) tput(tparm(term->TI_smcup)); - if (term->TI_smkx) - tput(tparm(term->TI_smkx)); + if (term->appkey_enabled) + terminfo_set_appkey_mode(term, TRUE); + + if (term->bracketed_paste_enabled) + term_dec_set_bracketed_paste_mode(TRUE); terminfo_input_init(term); } @@ -545,12 +565,15 @@ /* move cursor to bottom of the screen */ terminfo_move(0, term->height-1); + if (term->bracketed_paste_enabled) + term_dec_set_bracketed_paste_mode(FALSE); + /* stop cup-mode */ if (term->TI_rmcup) tput(tparm(term->TI_rmcup)); - if (term->TI_rmkx) - tput(tparm(term->TI_rmkx)); + if (term->appkey_enabled) + terminfo_set_appkey_mode(term, FALSE); /* reset input settings */ terminfo_input_deinit(term); @@ -673,10 +696,29 @@ term->beep = term->TI_bel ? _beep : _ignore; terminfo_setup_colors(term, FALSE); + terminfo_input_init0(term); terminfo_cont(term); return 1; } +void term_set_appkey_mode(int enable) +{ + if (current_term->appkey_enabled == enable) + return; + + current_term->appkey_enabled = enable; + terminfo_set_appkey_mode(current_term, enable); +} + +void term_set_bracketed_paste_mode(int enable) +{ + if (current_term->bracketed_paste_enabled == enable) + return; + + current_term->bracketed_paste_enabled = enable; + term_dec_set_bracketed_paste_mode(enable); +} + TERM_REC *terminfo_core_init(FILE *in, FILE *out) { TERM_REC *old_term, *term; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/fe-text/terminfo-core.h new/irssi-0.8.19/src/fe-text/terminfo-core.h --- old/irssi-0.8.18/src/fe-text/terminfo-core.h 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/fe-text/terminfo-core.h 2016-03-23 00:08:36.000000000 +0100 @@ -92,6 +92,10 @@ /* Keyboard-transmit mode */ const char *TI_smkx; const char *TI_rmkx; + + /* Terminal mode states */ + int appkey_enabled; + int bracketed_paste_enabled; }; extern TERM_REC *current_term; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/irc/core/irc-servers.c new/irssi-0.8.19/src/irc/core/irc-servers.c --- old/irssi-0.8.18/src/irc/core/irc-servers.c 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/irc/core/irc-servers.c 2016-03-23 00:08:36.000000000 +0100 @@ -78,17 +78,23 @@ IRC_SERVER_REC *irc_server = (IRC_SERVER_REC *) server; char *chantypes, *statusmsg; + g_return_val_if_fail(data != NULL, FALSE); + + /* empty string is no channel */ + if (*data == '\0') + return FALSE; + chantypes = g_hash_table_lookup(irc_server->isupport, "chantypes"); if (chantypes == NULL) chantypes = "#&!+"; /* normal, local, secure, modeless */ - statusmsg = g_hash_table_lookup(irc_server->isupport, "statusmsg"); - if (statusmsg == NULL) - statusmsg = "@+"; - while (strchr(statusmsg, *data) != NULL) - data++; + statusmsg = g_hash_table_lookup(irc_server->isupport, "statusmsg"); + if (statusmsg != NULL) + data += strspn(data, statusmsg); - return strchr(chantypes, *data) != NULL; + /* strchr(3) considers the trailing NUL as part of the string, make sure + * we didn't advance too much. */ + return *data != '\0' && strchr(chantypes, *data) != NULL; } static char **split_line(const SERVER_REC *server, const char *line, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/irc/core/sasl.c new/irssi-0.8.19/src/irc/core/sasl.c --- old/irssi-0.8.18/src/irc/core/sasl.c 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/irc/core/sasl.c 2016-03-23 00:08:35.000000000 +0100 @@ -34,7 +34,7 @@ irc_send_cmd_now(server, "AUTHENTICATE *"); cap_finish_negotiation(server); - server->sasl_timeout = -1; + server->sasl_timeout = 0; signal_emit("server sasl failure", 2, server, "The authentication timed out"); @@ -64,9 +64,9 @@ char *params, *error; /* Stop any pending timeout, if any */ - if (server->sasl_timeout != -1) { + if (server->sasl_timeout != 0) { g_source_remove(server->sasl_timeout); - server->sasl_timeout = -1; + server->sasl_timeout = 0; } params = event_get_params(data, 2, NULL, &error); @@ -81,9 +81,9 @@ static void sasl_already(IRC_SERVER_REC *server, const char *data, const char *from) { - if (server->sasl_timeout != -1) { + if (server->sasl_timeout != 0) { g_source_remove(server->sasl_timeout); - server->sasl_timeout = -1; + server->sasl_timeout = 0; } signal_emit("server sasl success", 1, server); @@ -94,9 +94,9 @@ static void sasl_success(IRC_SERVER_REC *server, const char *data, const char *from) { - if (server->sasl_timeout != -1) { + if (server->sasl_timeout != 0) { g_source_remove(server->sasl_timeout); - server->sasl_timeout = -1; + server->sasl_timeout = 0; } signal_emit("server sasl success", 1, server); @@ -114,9 +114,9 @@ conn = server->connrec; /* Stop the timer */ - if (server->sasl_timeout != -1) { + if (server->sasl_timeout != 0) { g_source_remove(server->sasl_timeout); - server->sasl_timeout = -1; + server->sasl_timeout = 0; } switch (conn->sasl_mechanism) { @@ -145,7 +145,7 @@ case SASL_MECHANISM_EXTERNAL: /* Empty response */ - irc_send_cmdv(server, "+"); + irc_send_cmdv(server, "AUTHENTICATE +"); break; } @@ -153,6 +153,20 @@ server->sasl_timeout = g_timeout_add(SASL_TIMEOUT, (GSourceFunc) sasl_timeout, server); } +static void sasl_disconnected(IRC_SERVER_REC *server) +{ + g_return_if_fail(server != NULL); + + if (!IS_IRC_SERVER(server)) { + return; + } + + if (server->sasl_timeout != 0) { + g_source_remove(server->sasl_timeout); + server->sasl_timeout = 0; + } +} + void sasl_init(void) { signal_add_first("server cap ack sasl", (SIGNAL_FUNC) sasl_start); @@ -163,6 +177,7 @@ signal_add_first("event 905", (SIGNAL_FUNC) sasl_fail); signal_add_first("event 906", (SIGNAL_FUNC) sasl_fail); signal_add_first("event 907", (SIGNAL_FUNC) sasl_already); + signal_add_first("server disconnected", (SIGNAL_FUNC) sasl_disconnected); } void sasl_deinit(void) @@ -175,4 +190,5 @@ signal_remove("event 905", (SIGNAL_FUNC) sasl_fail); signal_remove("event 906", (SIGNAL_FUNC) sasl_fail); signal_remove("event 907", (SIGNAL_FUNC) sasl_already); + signal_remove("server disconnected", (SIGNAL_FUNC) sasl_disconnected); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-0.8.18/src/irc/dcc/dcc.c new/irssi-0.8.19/src/irc/dcc/dcc.c --- old/irssi-0.8.18/src/irc/dcc/dcc.c 2016-01-20 23:08:07.000000000 +0100 +++ new/irssi-0.8.19/src/irc/dcc/dcc.c 2016-03-23 00:08:36.000000000 +0100 @@ -496,8 +496,8 @@ g_return_if_fail(data != NULL); - if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_GETREST | - PARAM_FLAG_STRIP_TRAILING_WS, &typestr, &nick, &arg)) + if (!cmd_get_params(data, &free_arg, 3 | PARAM_FLAG_GETREST, + &typestr, &nick, &arg)) return; if (*nick == '\0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
participants (1)
-
root@hilbert.suse.de