diff -Nru irssi-1.0.4/aclocal.m4 irssi-1.0.5/aclocal.m4 --- irssi-1.0.4/aclocal.m4 2017-07-05 19:25:36.000000000 +0000 +++ irssi-1.0.5/aclocal.m4 2017-10-20 15:16:54.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.15.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -296,7 +296,7 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -311,7 +311,7 @@ [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.15.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -327,14 +327,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.15.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -386,7 +386,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -417,7 +417,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -608,7 +608,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -684,7 +684,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -881,7 +881,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -902,7 +902,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -924,7 +924,7 @@ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -959,7 +959,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1009,7 +1009,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1048,7 +1048,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1077,7 +1077,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1124,7 +1124,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1143,7 +1143,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1224,7 +1224,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1284,7 +1284,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1312,7 +1312,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1331,7 +1331,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/build-aux/compile irssi-1.0.5/build-aux/compile --- irssi-1.0.4/build-aux/compile 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/build-aux/compile 2017-10-20 15:16:55.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -342,6 +343,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru irssi-1.0.4/build-aux/config.guess irssi-1.0.5/build-aux/config.guess --- irssi-1.0.4/build-aux/config.guess 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/build-aux/config.guess 2017-10-20 15:16:55.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2014-11-04' +timestamp='2017-05-27' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . @@ -50,7 +50,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -178,19 +178,29 @@ # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-${VENDOR}-unknown + ;; + *) machine=${UNAME_MACHINE_ARCH}-${VENDOR}-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. + # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in + earm*) + os=netbsdelf + ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -207,6 +217,13 @@ os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -217,13 +234,13 @@ release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -233,6 +250,10 @@ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE} exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-${VENDOR}-libertybsd${UNAME_RELEASE} + exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE} exit ;; @@ -245,6 +266,9 @@ *:MirBSD:*:*) echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE} exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-${VENDOR}-sortix + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -261,42 +285,42 @@ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; + UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; + UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; + UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; + UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; + UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; + UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; + UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; + UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; + UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 @@ -369,16 +393,16 @@ exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build - SUN_ARCH="i386" + SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then - SUN_ARCH="x86_64" + SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -403,7 +427,7 @@ exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} @@ -628,13 +652,13 @@ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi @@ -673,11 +697,11 @@ exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] + if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build @@ -690,12 +714,12 @@ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then - HP_ARCH="hppa2.0w" + HP_ARCH=hppa2.0w else - HP_ARCH="hppa64" + HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} @@ -800,14 +824,14 @@ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) @@ -823,10 +847,11 @@ UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) - echo x86_64-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo ${UNAME_PROCESSOR}-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -889,7 +914,7 @@ exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix @@ -912,7 +937,7 @@ EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) @@ -943,6 +968,9 @@ crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} + exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} exit ;; @@ -955,6 +983,9 @@ ia64:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} + exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} exit ;; @@ -980,6 +1011,9 @@ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-${LIBC}"; exit; } ;; + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} + exit ;; openrisc*:Linux:*:*) echo or1k-${VENDOR}-linux-${LIBC} exit ;; @@ -1012,9 +1046,12 @@ ppcle:Linux:*:*) echo powerpcle-${VENDOR}-linux-${LIBC} exit ;; - s390:Linux:*:* | s390x:Linux:*:*) + riscv32:Linux:*:* | riscv64:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} exit ;; @@ -1031,7 +1068,7 @@ echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-${LIBC} @@ -1110,7 +1147,7 @@ # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; @@ -1259,6 +1296,9 @@ SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1272,16 +1312,23 @@ UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub @@ -1296,7 +1343,7 @@ exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then + if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi @@ -1305,15 +1352,18 @@ *:QNX:*:4*) echo i386-pc-qnx exit ;; - NEO-?:NONSTOP_KERNEL:*:*) + NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; - NSR-?:NONSTOP_KERNEL:*:*) + NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; + NSX-*:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk${UNAME_RELEASE} + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; @@ -1327,7 +1377,7 @@ # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = "386"; then + if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" @@ -1369,7 +1419,7 @@ echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos @@ -1380,23 +1430,25 @@ x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-${VENDOR}-esx exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-${VENDOR}-onefs + exit ;; esac cat >&2 < in order to provide the needed -information to handle your system. +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp diff -Nru irssi-1.0.4/build-aux/config.sub irssi-1.0.5/build-aux/config.sub --- irssi-1.0.4/build-aux/config.sub 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/build-aux/config.sub 2017-10-20 15:16:55.000000000 +0000 @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2014-12-03' +timestamp='2017-04-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -33,7 +33,7 @@ # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -53,8 +53,7 @@ me=`echo "$0" | sed -e 's,.*/,,'` usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. @@ -68,7 +67,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -117,8 +116,8 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -255,15 +254,16 @@ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ + | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ - | i370 | i860 | i960 | ia64 \ + | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ @@ -301,11 +301,12 @@ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -314,6 +315,7 @@ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ + | wasm32 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -376,17 +378,18 @@ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ + | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ @@ -427,13 +430,15 @@ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ | pyramid-* \ + | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ @@ -442,6 +447,7 @@ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ + | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -518,6 +524,9 @@ basic_machine=i386-pc os=-aros ;; + asmjs) + basic_machine=asmjs-unknown + ;; aux) basic_machine=m68k-apple os=-aux @@ -638,6 +647,14 @@ basic_machine=m68k-bull os=-sysv3 ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; ebmon29k) basic_machine=a29k-amd os=-ebmon @@ -933,6 +950,9 @@ nsr-tandem) basic_machine=nsr-tandem ;; + nsx-tandem) + basic_machine=nsx-tandem + ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf @@ -1017,7 +1037,7 @@ ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) @@ -1027,7 +1047,7 @@ ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) @@ -1234,6 +1254,9 @@ basic_machine=a29k-wrs os=-vxworks ;; + wasm32) + basic_machine=wasm32-unknown + ;; w65*) basic_machine=w65-wdc os=-none @@ -1379,18 +1402,18 @@ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ @@ -1399,7 +1422,8 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1531,6 +1555,8 @@ ;; -nacl*) ;; + -ios) + ;; -none) ;; *) @@ -1626,6 +1652,9 @@ sparc-* | *-sun) os=-sunos4.1.1 ;; + pru-*) + os=-elf + ;; *-be) os=-beos ;; diff -Nru irssi-1.0.4/build-aux/depcomp irssi-1.0.5/build-aux/depcomp --- irssi-1.0.4/build-aux/depcomp 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/build-aux/depcomp 2017-10-20 15:16:55.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2013-05-30.07; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2017 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -786,6 +786,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru irssi-1.0.4/build-aux/install-sh irssi-1.0.5/build-aux/install-sh --- irssi-1.0.4/build-aux/install-sh 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/build-aux/install-sh 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2013-12-25.23; # UTC +scriptversion=2016-01-11.22; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -496,6 +496,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru irssi-1.0.4/build-aux/missing irssi-1.0.5/build-aux/missing --- irssi-1.0.4/build-aux/missing 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/build-aux/missing 2017-10-20 15:16:55.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2016-01-11.22; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -210,6 +210,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru irssi-1.0.4/ChangeLog irssi-1.0.5/ChangeLog --- irssi-1.0.4/ChangeLog 2017-07-05 19:25:31.000000000 +0000 +++ irssi-1.0.5/ChangeLog 2017-10-20 15:16:49.000000000 +0000 @@ -1,3 +1,53 @@ +commit 7a770022be9a77aeda7af4b7090fb780a23c3b4e +Author: ailin-nemui +Date: Fri Oct 20 17:15:30 2017 +0200 + + tag as 1.0.5 + +commit eef318301421b0ade7f184543f7165df583744c2 +Author: ailin-nemui +Date: Fri Oct 13 17:14:47 2017 +0200 + + Merge pull request #769 from horgh/horgh/error-check-server-connect + + Set host to an empty string on error + +commit 404eb0995e3b3ac87d59430250644827a421ed23 +Author: ailin-nemui +Date: Sun Oct 8 18:50:19 2017 +0200 + + Merge pull request #763 from rbisewski/master + + Improvements to statusbar documentation and help text. + +commit dd53f3fc9601e3d6a07dffe85b985f309a4e87a1 +Author: ailin-nemui +Date: Thu Aug 10 16:49:32 2017 +0200 + + Merge pull request #737 from ailin-nemui/fix-733 + + Revert "Merge pull request #452 from LemonBoy/terminfo-cup" + +commit d2ccea03d4bc7dd76b5cdf2df64e2416858fe014 +Author: ailin-nemui +Date: Wed Jul 26 10:57:05 2017 +0200 + + Merge pull request #719 from LemonBoy/sasl-disable-none + + Setting sasl_mechanism to '' disables the auth + +commit 43e44d553d44e313003cee87e6ea5e24d68b84a1 +Author: Nei +Date: Fri Oct 20 13:31:26 2017 +0000 + + Merge branch 'security' into 'master' + + Security + + Closes GL#12, GL#13, GL#14, GL#15, GL#16 + + See merge request irssi/irssi!23 + commit 527c19803b56cc0ec84050ca63d992fbecadac1e Author: Ailin Nemui Date: Wed Jul 5 17:12:30 2017 +0200 diff -Nru irssi-1.0.4/configure irssi-1.0.5/configure --- irssi-1.0.4/configure 2017-07-05 19:25:37.000000000 +0000 +++ irssi-1.0.5/configure 2017-10-20 15:16:55.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for irssi 1.0.4. +# Generated by GNU Autoconf 2.69 for irssi 1.0.5. # # # 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='1.0.4' -PACKAGE_STRING='irssi 1.0.4' +PACKAGE_VERSION='1.0.5' +PACKAGE_STRING='irssi 1.0.5' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1371,7 +1371,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 1.0.4 to adapt to many kinds of systems. +\`configure' configures irssi 1.0.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1441,7 +1441,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of irssi 1.0.4:";; + short | recursive ) echo "Configuration of irssi 1.0.5:";; esac cat <<\_ACEOF @@ -1579,7 +1579,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -irssi configure 1.0.4 +irssi configure 1.0.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2181,7 +2181,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 1.0.4, which was +It was created by irssi $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3050,7 +3050,7 @@ # Define the identity of the package. PACKAGE='irssi' - VERSION='1.0.4' + VERSION='1.0.5' # Some tools Automake needs. @@ -14614,7 +14614,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 1.0.4, which was +This file was extended by irssi $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14680,7 +14680,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 1.0.4 +irssi config.status 1.0.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru irssi-1.0.4/configure.ac irssi-1.0.5/configure.ac --- irssi-1.0.4/configure.ac 2017-07-05 19:20:43.000000000 +0000 +++ irssi-1.0.5/configure.ac 2017-10-20 15:16:43.000000000 +0000 @@ -1,4 +1,4 @@ -AC_INIT(irssi, 1.0.4) +AC_INIT(irssi, 1.0.5) AC_CONFIG_SRCDIR([src]) AC_CONFIG_AUX_DIR(build-aux) AC_PREREQ(2.50) diff -Nru irssi-1.0.4/debian/changelog irssi-1.0.5/debian/changelog --- irssi-1.0.4/debian/changelog 2017-11-02 05:36:03.000000000 +0000 +++ irssi-1.0.5/debian/changelog 2017-12-02 22:18:54.000000000 +0000 @@ -1,3 +1,46 @@ +irssi (1.0.5-1ubuntu1) devel; urgency=medium + + * Merge from Debian. Remaining changes: + - Refresh and re-enabled 20fix_ssl_proxy_hostname_check. + - When we have a proxy setting, we expect the CN to match + the proxy hostname, not the server hostname. + - d/p/90irc-ubuntu-com: + + Add the Ubuntu network with irc.ubuntu.com as the server, + which is currently a CNAME for chat.freenode.net. + - d/p/03firsttimer_text: + + Adapt 03firsttimer_text so it tells you about + connecting to Ubuntu and joining #ubuntu. + * Changes no longer needed: + - d/p/CVE-2017-15xxx.patch: Applied upstream. + + -- Unit 193 Sat, 02 Dec 2017 17:18:54 -0500 + +irssi (1.0.5-1) unstable; urgency=high + + * New upstream bugfix release (closes: #879521): + - Fix missing -sasl_method '' in /NETWORK. + - Fix incorrect restoration of term state when hitting SUSP + inside screen. + - Fix out of bounds read when compressing colour + sequences. Found by Hanno Böck. [CVE-2017-15228] + - Fix use after free condition during a race condition when + waiting on channel sync during a rejoin [CVE-2017-15227] + - Fix null pointer dereference when parsing certain malformed + CTCP DCC messages. [CVE-2017-15721] + - Fix crash due to null pointer dereference when failing to + split messages due to overlong nick or target. [CVE-2017-15723] + - Fix out of bounds read when trying to skip a safe channel ID + without verifying that the ID is long enough. [CVE-2017-15722] + - Fix return of random memory when inet_ntop failed. + - Minor statusbar help update. + * Remove deprecated --with autotools_dev call to dh. + * Bump Standards-Version to 4.1.1. + * Change priority of irssi-dev from deprecated extra to optional. + * Use pkg-info.mk in debian/rules instead of calling dpkg-parsechangelog + directly. + + -- Rhonda D'Vine Mon, 06 Nov 2017 16:24:38 +0100 + irssi (1.0.4-1ubuntu4) bionic; urgency=medium * No-change rebuild against perlapi-5.26.1 @@ -880,7 +923,7 @@ * New upstream version * Disable the GnuTLS patch for now. - * Added Provides, Replaces and Conflicts for irssi-text and irssi-snapshot + * Added Provides, Replaces and Conflicts for irssi-text and irssi-snapshot -- David Pashley Fri, 14 Oct 2005 00:39:15 +0100 @@ -892,10 +935,11 @@ (Closes: #242026) * Only allow /exec to recurse 100 times (Closes: #186416) * Call SIGTSTP rather than SIGSTOP on ^Z (With thanks to Mark Hymers - ) (Closes: #177108) + ) (Closes: #177108) * Redirect Glib critical errors to the status window rather than to stderr (Closes: #270596) * Correctly lower case chat protocols using g_ascii_strdown() rather than using the deprecated g_strdown() (pushed upstream) (Closes: #232628) -- David Pashley Sun, 10 Jul 2005 15:11:38 +0300 + diff -Nru irssi-1.0.4/debian/control irssi-1.0.5/debian/control --- irssi-1.0.4/debian/control 2017-06-08 20:52:36.000000000 +0000 +++ irssi-1.0.5/debian/control 2017-12-02 22:18:54.000000000 +0000 @@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 9~), autotools-dev, libglib2.0-dev, perl (>= 5.8.1), libperl-dev (>= 5.8.1), libncurses5-dev, libssl-dev, openssl -Standards-Version: 3.9.8 +Standards-Version: 4.1.1 Homepage: http://irssi.org/ Vcs-Browser: http://git.deb.at/w/pkg/irssi.git Vcs-Git: git://git.deb.at/pkg/irssi.git @@ -30,7 +30,6 @@ * Recode support Package: irssi-dev -Priority: extra Architecture: any Depends: irssi (= ${binary:Version}), ${misc:Depends} Description: terminal based IRC client - development files diff -Nru irssi-1.0.4/debian/patches/01chanmode_expando_strip irssi-1.0.5/debian/patches/01chanmode_expando_strip --- irssi-1.0.4/debian/patches/01chanmode_expando_strip 2017-06-08 20:52:36.000000000 +0000 +++ irssi-1.0.5/debian/patches/01chanmode_expando_strip 2016-09-24 14:10:19.000000000 +0000 @@ -1,11 +1,11 @@ Author: Rhonda D'Vine vim:ft=diff: Description: Don't expand chanmode by default, BTS #347944 -Index: irssi-1.0.3/src/core/expandos.c +Index: irssi-0.8.15~rc1/src/core/expandos.c =================================================================== ---- irssi-1.0.3.orig/src/core/expandos.c -+++ irssi-1.0.3/src/core/expandos.c -@@ -593,7 +593,9 @@ void expandos_init(void) +--- irssi-0.8.15~rc1.orig/src/core/expandos.c ++++ irssi-0.8.15~rc1/src/core/expandos.c +@@ -584,7 +584,9 @@ void expandos_init(void) #endif settings_add_str("misc", "STATUS_OPER", "*"); settings_add_str("lookandfeel", "timestamp_format", "%H:%M"); diff -Nru irssi-1.0.4/debian/patches/22fix-perl-hardening irssi-1.0.5/debian/patches/22fix-perl-hardening --- irssi-1.0.4/debian/patches/22fix-perl-hardening 2017-06-08 20:52:36.000000000 +0000 +++ irssi-1.0.5/debian/patches/22fix-perl-hardening 2017-01-08 00:08:23.000000000 +0000 @@ -1,11 +1,11 @@ Author: Julian Andres Klode vim:ft=diff: Description: Hand over all flags to perl Makefile.PL call -Index: irssi-1.0.3/src/perl/Makefile.am +Index: irssi-1.0.0/src/perl/Makefile.am =================================================================== ---- irssi-1.0.3.orig/src/perl/Makefile.am -+++ irssi-1.0.3/src/perl/Makefile.am -@@ -136,7 +136,7 @@ all-local: +--- irssi-1.0.0.orig/src/perl/Makefile.am 2017-01-08 01:31:16.402785510 +0100 ++++ irssi-1.0.0/src/perl/Makefile.am 2017-01-08 01:31:55.338978585 +0100 +@@ -136,7 +136,7 @@ $(AM_V_GEN)for dir in $(perl_dirs); do \ cd $$dir && \ if [ ! -f Makefile ]; then \ @@ -14,11 +14,11 @@ fi && \ ($(MAKE) CC="$(CC)" CCFLAGS="$(PERL_CFLAGS) $(CFLAGS)" $(PERL_EXTRA_OPTS) || \ $(MAKE) CC="$(CC)" CCFLAGS="$(PERL_CFLAGS) $(CFLAGS)" $(PERL_EXTRA_OPTS)) && \ -Index: irssi-1.0.3/src/perl/Makefile.in +Index: irssi-1.0.0/src/perl/Makefile.in =================================================================== ---- irssi-1.0.3.orig/src/perl/Makefile.in -+++ irssi-1.0.3/src/perl/Makefile.in -@@ -846,7 +846,7 @@ all-local: +--- irssi-1.0.0.orig/src/perl/Makefile.in 2017-01-08 01:31:16.402785510 +0100 ++++ irssi-1.0.0/src/perl/Makefile.in 2017-01-08 01:32:31.591158349 +0100 +@@ -844,7 +844,7 @@ $(AM_V_GEN)for dir in $(perl_dirs); do \ cd $$dir && \ if [ ! -f Makefile ]; then \ diff -Nru irssi-1.0.4/debian/patches/CVE-2017-15xxx.patch irssi-1.0.5/debian/patches/CVE-2017-15xxx.patch --- irssi-1.0.4/debian/patches/CVE-2017-15xxx.patch 2017-10-25 11:48:30.000000000 +0000 +++ irssi-1.0.5/debian/patches/CVE-2017-15xxx.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,258 +0,0 @@ -From 43e44d553d44e313003cee87e6ea5e24d68b84a1 Mon Sep 17 00:00:00 2001 -From: Nei -Date: Fri, 20 Oct 2017 13:31:26 +0000 -Subject: [PATCH] Merge branch 'security' into 'master' - -Security - -Closes GL#12, GL#13, GL#14, GL#15, GL#16 - -See merge request irssi/irssi!23 ---- - src/core/recode.c | 7 ++++++- - src/fe-common/core/themes.c | 7 ++++++- - src/irc/core/channel-events.c | 2 +- - src/irc/core/channels-query.c | 7 ++++--- - src/irc/core/irc-servers.c | 5 ++++- - src/irc/dcc/dcc-chat.c | 21 +++++++++++++++++++++ - src/irc/dcc/dcc-get.c | 17 +++++++++++++++-- - src/irc/dcc/dcc-send.c | 10 ++++++++++ - 8 files changed, 67 insertions(+), 9 deletions(-) - -diff --git a/src/core/recode.c b/src/core/recode.c -index d001a46ac..d3fc91e7c 100644 ---- a/src/core/recode.c -+++ b/src/core/recode.c -@@ -198,7 +198,12 @@ char **recode_split(const SERVER_REC *server, const char *str, - int n = 0; - char **ret; - -- g_return_val_if_fail(str != NULL, NULL); -+ g_warn_if_fail(str != NULL); -+ if (str == NULL) { -+ ret = g_new(char *, 1); -+ ret[0] = NULL; -+ return ret; -+ } - - if (settings_get_bool("recode")) { - to = find_conversion(server, target); -diff --git a/src/fe-common/core/themes.c b/src/fe-common/core/themes.c -index 2b1459bea..cb1cce8f2 100644 ---- a/src/fe-common/core/themes.c -+++ b/src/fe-common/core/themes.c -@@ -587,7 +587,7 @@ static char *theme_format_compress_colors(THEME_REC *theme, const char *format) - /* a normal character */ - g_string_append_c(str, *format); - format++; -- } else { -+ } else if (format[1] != '\0') { - /* %format */ - format++; - if (IS_OLD_FORMAT(*format, last_fg, last_bg)) { -@@ -614,6 +614,11 @@ static char *theme_format_compress_colors(THEME_REC *theme, const char *format) - last_bg = '\0'; - } - format++; -+ } else { -+ /* % at end of string */ -+ format++; -+ g_string_append_c(str, '%'); -+ g_string_append_c(str, '%'); - } - } - -diff --git a/src/irc/core/channel-events.c b/src/irc/core/channel-events.c -index 6cb9b0883..b0bddab21 100644 ---- a/src/irc/core/channel-events.c -+++ b/src/irc/core/channel-events.c -@@ -37,7 +37,7 @@ static void check_join_failure(IRC_SERVER_REC *server, const char *channel) - channel++; /* server didn't understand !channels */ - - chanrec = channel_find(SERVER(server), channel); -- if (chanrec == NULL && channel[0] == '!') { -+ if (chanrec == NULL && channel[0] == '!' && strlen(channel) > 6) { - /* it probably replied with the full !channel name, - find the channel with the short name.. */ - chan2 = g_strdup_printf("!%s", channel+6); -diff --git a/src/irc/core/channels-query.c b/src/irc/core/channels-query.c -index 857ebaf05..d7dadf048 100644 ---- a/src/irc/core/channels-query.c -+++ b/src/irc/core/channels-query.c -@@ -119,21 +119,22 @@ static void query_remove_all(IRC_CHANNEL_REC *channel) - int n; - - rec = channel->server->chanqueries; -+ if (rec == NULL) return; - - /* remove channel from query lists */ - for (n = 0; n < CHANNEL_QUERIES; n++) - rec->queries[n] = g_slist_remove(rec->queries[n], channel); - rec->current_queries = g_slist_remove(rec->current_queries, channel); - -- query_check(channel->server); -+ if (!channel->server->disconnected) -+ query_check(channel->server); - } - - static void sig_channel_destroyed(IRC_CHANNEL_REC *channel) - { - g_return_if_fail(channel != NULL); - -- if (IS_IRC_CHANNEL(channel) && !channel->server->disconnected && -- !channel->synced) -+ if (IS_IRC_CHANNEL(channel)) - query_remove_all(channel); - } - -diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c -index 3117e345f..4eaab712b 100644 ---- a/src/irc/core/irc-servers.c -+++ b/src/irc/core/irc-servers.c -@@ -116,11 +116,14 @@ static char **split_line(const SERVER_REC *server, const char *line, - * the code much simpler. It's worth it. - */ - len -= strlen(recoded_start) + strlen(recoded_end); -+ g_warn_if_fail(len > 0); - if (len <= 0) { - /* There is no room for anything. */ - g_free(recoded_start); - g_free(recoded_end); -- return NULL; -+ lines = g_new(char *, 1); -+ lines[0] = NULL; -+ return lines; - } - - lines = recode_split(server, line, target, len, onspace); -diff --git a/src/irc/dcc/dcc-chat.c b/src/irc/dcc/dcc-chat.c -index ca90b8d87..88c577f7a 100644 ---- a/src/irc/dcc/dcc-chat.c -+++ b/src/irc/dcc/dcc-chat.c -@@ -66,6 +66,13 @@ CHAT_DCC_REC *dcc_chat_create(IRC_SERVER_REC *server, - dcc->id = dcc_chat_get_new_id(nick); - - dcc_init_rec(DCC(dcc), server, chat, nick, arg); -+ if (dcc->module_data == NULL) { -+ /* failed to successfully init; TODO: change init_rec API */ -+ g_free(dcc->id); -+ g_free(dcc); -+ return NULL; -+ } -+ - return dcc; - } - -@@ -471,6 +478,7 @@ static void cmd_dcc_chat(const char *data, IRC_SERVER_REC *server) - /* We are accepting a passive DCC CHAT. */ - dcc_chat_passive(dcc); - } -+ cmd_params_free(free_arg); - return; - } - -@@ -485,6 +493,11 @@ static void cmd_dcc_chat(const char *data, IRC_SERVER_REC *server) - cmd_param_error(CMDERR_NOT_CONNECTED); - - dcc = dcc_chat_create(server, NULL, nick, "chat"); -+ if (dcc == NULL) { -+ cmd_params_free(free_arg); -+ g_warn_if_reached(); -+ return; -+ } - - if (g_hash_table_lookup(optlist, "passive") == NULL) { - /* Standard DCC CHAT... let's listen for incoming connections */ -@@ -627,6 +640,9 @@ static void ctcp_msg_dcc_chat(IRC_SERVER_REC *server, const char *data, - } - passive = paramcount == 4 && g_strcmp0(params[2], "0") == 0; - -+ if (nick == NULL) -+ nick = ""; -+ - dcc = DCC_CHAT(dcc_find_request(DCC_CHAT_TYPE, nick, NULL)); - if (dcc != NULL) { - if (dcc_is_listening(dcc)) { -@@ -658,6 +674,11 @@ static void ctcp_msg_dcc_chat(IRC_SERVER_REC *server, const char *data, - } - - dcc = dcc_chat_create(server, chat, nick, params[0]); -+ if (dcc == NULL) { -+ g_strfreev(params); -+ g_warn_if_reached(); -+ return; -+ } - dcc->target = g_strdup(target); - dcc->port = atoi(params[2]); - -diff --git a/src/irc/dcc/dcc-get.c b/src/irc/dcc/dcc-get.c -index 107f68fae..cecbb0767 100644 ---- a/src/irc/dcc/dcc-get.c -+++ b/src/irc/dcc/dcc-get.c -@@ -43,6 +43,12 @@ GET_DCC_REC *dcc_get_create(IRC_SERVER_REC *server, CHAT_DCC_REC *chat, - dcc->fhandle = -1; - - dcc_init_rec(DCC(dcc), server, chat, nick, arg); -+ if (dcc->module_data == NULL) { -+ /* failed to successfully init; TODO: change API */ -+ g_free(dcc); -+ return NULL; -+ } -+ - return dcc; - } - -@@ -430,9 +436,10 @@ static void ctcp_msg_dcc_send(IRC_SERVER_REC *server, const char *data, - int p_id = -1; - int passive = FALSE; - -- if (addr == NULL) { -+ if (addr == NULL) - addr = ""; -- } -+ if (nick == NULL) -+ nick = ""; - - /* SEND
[...] */ - /* SEND
0 (DCC SEND passive protocol) */ -@@ -512,6 +519,12 @@ static void ctcp_msg_dcc_send(IRC_SERVER_REC *server, const char *data, - dcc_destroy(DCC(dcc)); /* remove the old DCC */ - - dcc = dcc_get_create(server, chat, nick, fname); -+ if (dcc == NULL) { -+ g_free(address); -+ g_free(fname); -+ g_warn_if_reached(); -+ return; -+ } - dcc->target = g_strdup(target); - - if (passive && port == 0) -diff --git a/src/irc/dcc/dcc-send.c b/src/irc/dcc/dcc-send.c -index ca29b9b97..912129b7b 100644 ---- a/src/irc/dcc/dcc-send.c -+++ b/src/irc/dcc/dcc-send.c -@@ -237,6 +237,12 @@ static SEND_DCC_REC *dcc_send_create(IRC_SERVER_REC *server, - dcc->queue = -1; - - dcc_init_rec(DCC(dcc), server, chat, nick, arg); -+ if (dcc->module_data == NULL) { -+ /* failed to successfully init; TODO: change API */ -+ g_free(dcc); -+ return NULL; -+ } -+ - return dcc; - } - -@@ -417,6 +423,10 @@ static int dcc_send_one_file(int queue, const char *target, const char *fname, - - dcc = dcc_send_create(server, chat, target, str); - g_free(str); -+ if (dcc == NULL) { -+ g_warn_if_reached(); -+ return FALSE; -+ } - - dcc->handle = handle; - dcc->port = port; diff -Nru irssi-1.0.4/debian/patches/series irssi-1.0.5/debian/patches/series --- irssi-1.0.4/debian/patches/series 2017-10-25 11:48:30.000000000 +0000 +++ irssi-1.0.5/debian/patches/series 2017-12-02 22:16:18.000000000 +0000 @@ -8,4 +8,3 @@ 22fix-perl-hardening 25tls-ssl-compat-defines 90irc-ubuntu-com -CVE-2017-15xxx.patch diff -Nru irssi-1.0.4/debian/rules irssi-1.0.5/debian/rules --- irssi-1.0.4/debian/rules 2017-01-05 09:26:08.000000000 +0000 +++ irssi-1.0.5/debian/rules 2017-11-06 15:24:38.000000000 +0000 @@ -3,17 +3,17 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all CONFIGURE_SWITCHES = --enable-ipv6 --with-bot --with-proxy --enable-true-color --with-perl-lib=vendor --disable-static -VERSION = $(shell dpkg-parsechangelog | grep "^Version:" | cut -d" " -f2) +include /usr/share/dpkg/pkg-info.mk %: - dh $@ --with autotools_dev + dh $@ override_dh_auto_configure: - dh_auto_configure -- $(CONFIGURE_SWITCHES) PACKAGE_VERSION=$(VERSION) + dh_auto_configure -- $(CONFIGURE_SWITCHES) PACKAGE_VERSION=$(DEB_VERSION) override_dh_install: find debian/tmp -name '*.la' -delete dh_install -override_dh_strip: +override_dh_strip: dh_strip --dbgsym-migration='irssi-dbg (<< 0.8.19-2~)' diff -Nru irssi-1.0.4/docs/help/in/Makefile.in irssi-1.0.5/docs/help/in/Makefile.in --- irssi-1.0.4/docs/help/in/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/docs/help/in/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/docs/help/in/network.in irssi-1.0.5/docs/help/in/network.in --- irssi-1.0.4/docs/help/in/network.in 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/docs/help/in/network.in 2017-10-20 15:16:43.000000000 +0000 @@ -36,6 +36,7 @@ -sasl_mechanism Specifies the mechanism to use for the SASL authentication. At the moment irssi only supports the 'plain' and the 'external' mechanisms. + Use '' to disable the authentication. -sasl_username Specifies the username to use during the SASL authentication. -sasl_password Specifies the password to use during the SASL authentication. diff -Nru irssi-1.0.4/docs/help/in/statusbar.in irssi-1.0.5/docs/help/in/statusbar.in --- irssi-1.0.4/docs/help/in/statusbar.in 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/docs/help/in/statusbar.in 2017-10-20 15:16:34.000000000 +0000 @@ -5,22 +5,33 @@ %9Parameters:%9 - ENABLE: Enables the statusbar. - DISABLE: Disabled the statusbar. + ENABLE: Adds a statusbar to the list of statusbars. + DISABLE: Removes a statusbar from the list. Note that for + built-in statusbars they can be enabled again should the + user wish to add back the default statusbars. RESET: Restores the default statusbar configuration. - TYPE: Identifies the type of statusbar. - PLACEMENT: Identifies the placement of the statusbar. - POSITION: Identifies the position of the statusbar. - VISIBLE: Identifies the visibility of the statusbar. - ADD: Adds a statusbar into the configuration. - REMOVE: Removes a statusbar from the configuration. + TYPE: Sets the type of statusbar, for each split window or only + for the current root screen. + PLACEMENT: Sets the placement of the statusbar, either at the top or + the bottom of the screen. + POSITION: Sets the position of the statusbar. Represented as a + number, with 0 implying the first position. + VISIBLE: Sets the visibility of the statusbar or item. If set to + always it is visible on all screens, otherwise if set to + inactive or active then it is only visible on inactive + or active screens, respectively. + ADD: Adds an item to the specified statusbar. It can be set to + appear before/after another item and left/right aligned + to a specified position on the screen. + REMOVE: Removes an item from the specified statusbar. - The name of the statusbar; if no argument is given, the list of statusbars - will be displayed. + Where name refers to the name of the statusbar; if no argument is + given, the entire list of statusbars will be displayed. %9Description:%9 - Modified the attributes of the statusbar. + Allows adjustment of the attributes and items of a statusbar, as well + as where it is located and whether or not it is currently visible. %9Examples:%9 diff -Nru irssi-1.0.4/docs/help/Makefile.in irssi-1.0.5/docs/help/Makefile.in --- irssi-1.0.4/docs/help/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/docs/help/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/docs/help/network irssi-1.0.5/docs/help/network --- irssi-1.0.4/docs/help/network 2017-07-05 19:25:31.000000000 +0000 +++ irssi-1.0.5/docs/help/network 2017-10-20 15:16:49.000000000 +0000 @@ -37,6 +37,7 @@ -sasl_mechanism Specifies the mechanism to use for the SASL authentication. At the moment irssi only supports the 'plain' and the 'external' mechanisms. + Use '' to disable the authentication. -sasl_username Specifies the username to use during the SASL authentication. -sasl_password Specifies the password to use during the SASL authentication. diff -Nru irssi-1.0.4/docs/help/statusbar irssi-1.0.5/docs/help/statusbar --- irssi-1.0.4/docs/help/statusbar 2017-07-05 19:25:31.000000000 +0000 +++ irssi-1.0.5/docs/help/statusbar 2017-10-20 15:16:49.000000000 +0000 @@ -13,22 +13,33 @@ %9Parameters:%9 - ENABLE: Enables the statusbar. - DISABLE: Disabled the statusbar. + ENABLE: Adds a statusbar to the list of statusbars. + DISABLE: Removes a statusbar from the list. Note that for + built-in statusbars they can be enabled again should the + user wish to add back the default statusbars. RESET: Restores the default statusbar configuration. - TYPE: Identifies the type of statusbar. - PLACEMENT: Identifies the placement of the statusbar. - POSITION: Identifies the position of the statusbar. - VISIBLE: Identifies the visibility of the statusbar. - ADD: Adds a statusbar into the configuration. - REMOVE: Removes a statusbar from the configuration. + TYPE: Sets the type of statusbar, for each split window or only + for the current root screen. + PLACEMENT: Sets the placement of the statusbar, either at the top or + the bottom of the screen. + POSITION: Sets the position of the statusbar. Represented as a + number, with 0 implying the first position. + VISIBLE: Sets the visibility of the statusbar or item. If set to + always it is visible on all screens, otherwise if set to + inactive or active then it is only visible on inactive + or active screens, respectively. + ADD: Adds an item to the specified statusbar. It can be set to + appear before/after another item and left/right aligned + to a specified position on the screen. + REMOVE: Removes an item from the specified statusbar. - The name of the statusbar; if no argument is given, the list of statusbars - will be displayed. + Where name refers to the name of the statusbar; if no argument is + given, the entire list of statusbars will be displayed. %9Description:%9 - Modified the attributes of the statusbar. + Allows adjustment of the attributes and items of a statusbar, as well + as where it is located and whether or not it is currently visible. %9Examples:%9 diff -Nru irssi-1.0.4/docs/Makefile.in irssi-1.0.5/docs/Makefile.in --- irssi-1.0.4/docs/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/docs/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/irssi-config.h irssi-1.0.5/irssi-config.h --- irssi-1.0.4/irssi-config.h 2017-07-05 19:25:42.000000000 +0000 +++ irssi-1.0.5/irssi-config.h 2017-10-20 15:16:59.000000000 +0000 @@ -71,7 +71,7 @@ #define PACKAGE_NAME "irssi" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "irssi 1.0.4" +#define PACKAGE_STRING "irssi 1.0.5" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "irssi" @@ -80,7 +80,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.0.4" +#define PACKAGE_VERSION "1.0.5" /* printf()-format for uoff_t, eg. "u" or "lu" or "llu" */ #define PRIuUOFF_T "lu" diff -Nru irssi-1.0.4/irssi-version.h irssi-1.0.5/irssi-version.h --- irssi-1.0.4/irssi-version.h 2017-07-05 19:25:43.000000000 +0000 +++ irssi-1.0.5/irssi-version.h 2017-10-20 15:17:05.000000000 +0000 @@ -1,2 +1,2 @@ -#define IRSSI_VERSION_DATE 20170705 -#define IRSSI_VERSION_TIME 1712 +#define IRSSI_VERSION_DATE 20171020 +#define IRSSI_VERSION_TIME 1715 diff -Nru irssi-1.0.4/Makefile.in irssi-1.0.5/Makefile.in --- irssi-1.0.4/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/NEWS irssi-1.0.5/NEWS --- irssi-1.0.4/NEWS 2017-07-05 19:20:43.000000000 +0000 +++ irssi-1.0.5/NEWS 2017-10-20 15:16:43.000000000 +0000 @@ -1,3 +1,21 @@ +v1.0.5 2017-10-23 The Irssi team + - Fix missing -sasl_method '' in /NETWORK (#718, #719). + - Fix incorrect restoration of term state when hitting SUSP + inside screen (#737, #733). + - Fix out of bounds read when compressing colour + sequences. Found by Hanno Böck (GL#12, GL!18). + - Fix use after free condition during a race condition when + waiting on channel sync during a rejoin (GL#13, GL!19). + - Fix null pointer dereference when parsing certain malformed + CTCP DCC messages (GL#14, GL!20). + - Fix crash due to null pointer dereference when failing to + split messages due to overlong nick or target (GL#15, GL!21). + - Fix out of bounds read when trying to skip a safe channel ID + without verifying that the ID is long enough (GL#16, GL!22). + - Fix return of random memory when inet_ntop failed (#769). + - Minor statusbar help update. By Robert Bisewski (#758, + #763). + v1.0.4 2017-07-07 The Irssi team - Fix null pointer dereference when parsing invalid timestamp (GL#10, GL!15). Reported by Brian 'geeknik' Carpenter. diff -Nru irssi-1.0.4/scripts/examples/Makefile.in irssi-1.0.5/scripts/examples/Makefile.in --- irssi-1.0.4/scripts/examples/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/scripts/examples/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/scripts/Makefile.in irssi-1.0.5/scripts/Makefile.in --- irssi-1.0.4/scripts/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/scripts/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/core/Makefile.in irssi-1.0.5/src/core/Makefile.in --- irssi-1.0.4/src/core/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/core/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/core/network.c irssi-1.0.5/src/core/network.c --- irssi-1.0.4/src/core/network.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/core/network.c 2017-10-20 15:16:43.000000000 +0000 @@ -462,6 +462,7 @@ int net_ip2host(IPADDR *ip, char *host) { + host[0] = '\0'; return inet_ntop(ip->family, &ip->ip, host, MAX_IP_LEN) ? 0 : -1; } diff -Nru irssi-1.0.4/src/core/recode.c irssi-1.0.5/src/core/recode.c --- irssi-1.0.4/src/core/recode.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/core/recode.c 2017-10-20 15:16:34.000000000 +0000 @@ -198,7 +198,12 @@ int n = 0; char **ret; - g_return_val_if_fail(str != NULL, NULL); + g_warn_if_fail(str != NULL); + if (str == NULL) { + ret = g_new(char *, 1); + ret[0] = NULL; + return ret; + } if (settings_get_bool("recode")) { to = find_conversion(server, target); diff -Nru irssi-1.0.4/src/fe-common/core/Makefile.in irssi-1.0.5/src/fe-common/core/Makefile.in --- irssi-1.0.4/src/fe-common/core/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/fe-common/core/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/fe-common/core/themes.c irssi-1.0.5/src/fe-common/core/themes.c --- irssi-1.0.4/src/fe-common/core/themes.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/fe-common/core/themes.c 2017-10-20 15:16:34.000000000 +0000 @@ -587,7 +587,7 @@ /* a normal character */ g_string_append_c(str, *format); format++; - } else { + } else if (format[1] != '\0') { /* %format */ format++; if (IS_OLD_FORMAT(*format, last_fg, last_bg)) { @@ -614,6 +614,11 @@ last_bg = '\0'; } format++; + } else { + /* % at end of string */ + format++; + g_string_append_c(str, '%'); + g_string_append_c(str, '%'); } } diff -Nru irssi-1.0.4/src/fe-common/irc/dcc/Makefile.in irssi-1.0.5/src/fe-common/irc/dcc/Makefile.in --- irssi-1.0.4/src/fe-common/irc/dcc/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/fe-common/irc/dcc/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/fe-common/irc/fe-ircnet.c irssi-1.0.5/src/fe-common/irc/fe-ircnet.c --- irssi-1.0.4/src/fe-common/irc/fe-ircnet.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/fe-common/irc/fe-ircnet.c 2017-10-20 15:16:43.000000000 +0000 @@ -163,11 +163,11 @@ /* the validity of the parameters is checked in sig_server_setup_fill_chatnet */ value = g_hash_table_lookup(optlist, "sasl_mechanism"); - if (value != NULL && *value != '\0') rec->sasl_mechanism = g_strdup(value); + if (value != NULL) rec->sasl_mechanism = *value != '\0' ? g_strdup(value) : NULL; value = g_hash_table_lookup(optlist, "sasl_username"); - if (value != NULL && *value != '\0') rec->sasl_username = g_strdup(value); + if (value != NULL) rec->sasl_username = *value != '\0' ? g_strdup(value) : NULL; value = g_hash_table_lookup(optlist, "sasl_password"); - if (value != NULL && *value != '\0') rec->sasl_password = g_strdup(value); + if (value != NULL) rec->sasl_password = *value != '\0' ? g_strdup(value) : NULL; ircnet_create(rec); printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_NETWORK_ADDED, name); diff -Nru irssi-1.0.4/src/fe-common/irc/Makefile.in irssi-1.0.5/src/fe-common/irc/Makefile.in --- irssi-1.0.4/src/fe-common/irc/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/fe-common/irc/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/fe-common/irc/notifylist/Makefile.in irssi-1.0.5/src/fe-common/irc/notifylist/Makefile.in --- irssi-1.0.4/src/fe-common/irc/notifylist/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/fe-common/irc/notifylist/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/fe-common/Makefile.in irssi-1.0.5/src/fe-common/Makefile.in --- irssi-1.0.4/src/fe-common/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/fe-common/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/fe-none/Makefile.in irssi-1.0.5/src/fe-none/Makefile.in --- irssi-1.0.4/src/fe-none/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/fe-none/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/fe-text/Makefile.in irssi-1.0.5/src/fe-text/Makefile.in --- irssi-1.0.4/src/fe-text/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/fe-text/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/fe-text/term-terminfo.c irssi-1.0.5/src/fe-text/term-terminfo.c --- irssi-1.0.4/src/fe-text/term-terminfo.c 2017-07-05 14:57:53.000000000 +0000 +++ irssi-1.0.5/src/fe-text/term-terminfo.c 2017-10-20 15:16:34.000000000 +0000 @@ -629,6 +629,13 @@ { terminfo_stop(current_term); kill(getpid(), SIGTSTP); + /* this call needs to stay here in case the TSTP was ignored, + because then we never see a CONT to call the restoration + code. On the other hand we also cannot remove the CONT + handler because then nothing would restore the screen when + Irssi is killed with TSTP/STOP from external. */ + terminfo_cont(current_term); + irssi_redraw(); } static int input_utf8(const unsigned char *buffer, int size, unichar *result) diff -Nru irssi-1.0.4/src/irc/core/channel-events.c irssi-1.0.5/src/irc/core/channel-events.c --- irssi-1.0.4/src/irc/core/channel-events.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/irc/core/channel-events.c 2017-10-20 15:16:34.000000000 +0000 @@ -37,7 +37,7 @@ channel++; /* server didn't understand !channels */ chanrec = channel_find(SERVER(server), channel); - if (chanrec == NULL && channel[0] == '!') { + if (chanrec == NULL && channel[0] == '!' && strlen(channel) > 6) { /* it probably replied with the full !channel name, find the channel with the short name.. */ chan2 = g_strdup_printf("!%s", channel+6); diff -Nru irssi-1.0.4/src/irc/core/channels-query.c irssi-1.0.5/src/irc/core/channels-query.c --- irssi-1.0.4/src/irc/core/channels-query.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/irc/core/channels-query.c 2017-10-20 15:16:34.000000000 +0000 @@ -119,21 +119,22 @@ int n; rec = channel->server->chanqueries; + if (rec == NULL) return; /* remove channel from query lists */ for (n = 0; n < CHANNEL_QUERIES; n++) rec->queries[n] = g_slist_remove(rec->queries[n], channel); rec->current_queries = g_slist_remove(rec->current_queries, channel); - query_check(channel->server); + if (!channel->server->disconnected) + query_check(channel->server); } static void sig_channel_destroyed(IRC_CHANNEL_REC *channel) { g_return_if_fail(channel != NULL); - if (IS_IRC_CHANNEL(channel) && !channel->server->disconnected && - !channel->synced) + if (IS_IRC_CHANNEL(channel)) query_remove_all(channel); } diff -Nru irssi-1.0.4/src/irc/core/irc-servers.c irssi-1.0.5/src/irc/core/irc-servers.c --- irssi-1.0.4/src/irc/core/irc-servers.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/irc/core/irc-servers.c 2017-10-20 15:16:34.000000000 +0000 @@ -116,11 +116,14 @@ * the code much simpler. It's worth it. */ len -= strlen(recoded_start) + strlen(recoded_end); + g_warn_if_fail(len > 0); if (len <= 0) { /* There is no room for anything. */ g_free(recoded_start); g_free(recoded_end); - return NULL; + lines = g_new(char *, 1); + lines[0] = NULL; + return lines; } lines = recode_split(server, line, target, len, onspace); diff -Nru irssi-1.0.4/src/irc/core/irc-servers-setup.c irssi-1.0.5/src/irc/core/irc-servers-setup.c --- irssi-1.0.4/src/irc/core/irc-servers-setup.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/irc/core/irc-servers-setup.c 2017-10-20 15:16:43.000000000 +0000 @@ -89,6 +89,8 @@ /* Validate the SASL parameters filled by sig_chatnet_read() or cmd_network_add */ conn->sasl_mechanism = SASL_MECHANISM_NONE; + conn->sasl_username = NULL; + conn->sasl_password = NULL; if (ircnet->sasl_mechanism != NULL) { if (!g_ascii_strcasecmp(ircnet->sasl_mechanism, "plain")) { @@ -102,9 +104,7 @@ g_warning("The fields sasl_username and sasl_password are either missing or empty"); } else if (!g_ascii_strcasecmp(ircnet->sasl_mechanism, "external")) { - conn->sasl_mechanism = SASL_MECHANISM_EXTERNAL; - conn->sasl_username = NULL; - conn->sasl_password = NULL; + conn->sasl_mechanism = SASL_MECHANISM_EXTERNAL; } else g_warning("Unsupported SASL mechanism \"%s\" selected", ircnet->sasl_mechanism); diff -Nru irssi-1.0.4/src/irc/core/Makefile.in irssi-1.0.5/src/irc/core/Makefile.in --- irssi-1.0.4/src/irc/core/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/irc/core/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/irc/dcc/dcc-chat.c irssi-1.0.5/src/irc/dcc/dcc-chat.c --- irssi-1.0.4/src/irc/dcc/dcc-chat.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/irc/dcc/dcc-chat.c 2017-10-20 15:16:34.000000000 +0000 @@ -66,6 +66,13 @@ dcc->id = dcc_chat_get_new_id(nick); dcc_init_rec(DCC(dcc), server, chat, nick, arg); + if (dcc->module_data == NULL) { + /* failed to successfully init; TODO: change init_rec API */ + g_free(dcc->id); + g_free(dcc); + return NULL; + } + return dcc; } @@ -471,6 +478,7 @@ /* We are accepting a passive DCC CHAT. */ dcc_chat_passive(dcc); } + cmd_params_free(free_arg); return; } @@ -485,6 +493,11 @@ cmd_param_error(CMDERR_NOT_CONNECTED); dcc = dcc_chat_create(server, NULL, nick, "chat"); + if (dcc == NULL) { + cmd_params_free(free_arg); + g_warn_if_reached(); + return; + } if (g_hash_table_lookup(optlist, "passive") == NULL) { /* Standard DCC CHAT... let's listen for incoming connections */ @@ -627,6 +640,9 @@ } passive = paramcount == 4 && g_strcmp0(params[2], "0") == 0; + if (nick == NULL) + nick = ""; + dcc = DCC_CHAT(dcc_find_request(DCC_CHAT_TYPE, nick, NULL)); if (dcc != NULL) { if (dcc_is_listening(dcc)) { @@ -658,6 +674,11 @@ } dcc = dcc_chat_create(server, chat, nick, params[0]); + if (dcc == NULL) { + g_strfreev(params); + g_warn_if_reached(); + return; + } dcc->target = g_strdup(target); dcc->port = atoi(params[2]); diff -Nru irssi-1.0.4/src/irc/dcc/dcc-get.c irssi-1.0.5/src/irc/dcc/dcc-get.c --- irssi-1.0.4/src/irc/dcc/dcc-get.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/irc/dcc/dcc-get.c 2017-10-20 15:16:34.000000000 +0000 @@ -43,6 +43,12 @@ dcc->fhandle = -1; dcc_init_rec(DCC(dcc), server, chat, nick, arg); + if (dcc->module_data == NULL) { + /* failed to successfully init; TODO: change API */ + g_free(dcc); + return NULL; + } + return dcc; } @@ -430,9 +436,10 @@ int p_id = -1; int passive = FALSE; - if (addr == NULL) { + if (addr == NULL) addr = ""; - } + if (nick == NULL) + nick = ""; /* SEND
[...] */ /* SEND
0 (DCC SEND passive protocol) */ @@ -512,6 +519,12 @@ dcc_destroy(DCC(dcc)); /* remove the old DCC */ dcc = dcc_get_create(server, chat, nick, fname); + if (dcc == NULL) { + g_free(address); + g_free(fname); + g_warn_if_reached(); + return; + } dcc->target = g_strdup(target); if (passive && port == 0) diff -Nru irssi-1.0.4/src/irc/dcc/dcc-send.c irssi-1.0.5/src/irc/dcc/dcc-send.c --- irssi-1.0.4/src/irc/dcc/dcc-send.c 2017-07-05 14:43:52.000000000 +0000 +++ irssi-1.0.5/src/irc/dcc/dcc-send.c 2017-10-20 15:16:34.000000000 +0000 @@ -237,6 +237,12 @@ dcc->queue = -1; dcc_init_rec(DCC(dcc), server, chat, nick, arg); + if (dcc->module_data == NULL) { + /* failed to successfully init; TODO: change API */ + g_free(dcc); + return NULL; + } + return dcc; } @@ -417,6 +423,10 @@ dcc = dcc_send_create(server, chat, target, str); g_free(str); + if (dcc == NULL) { + g_warn_if_reached(); + return FALSE; + } dcc->handle = handle; dcc->port = port; diff -Nru irssi-1.0.4/src/irc/dcc/Makefile.in irssi-1.0.5/src/irc/dcc/Makefile.in --- irssi-1.0.4/src/irc/dcc/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/irc/dcc/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/irc/flood/Makefile.in irssi-1.0.5/src/irc/flood/Makefile.in --- irssi-1.0.4/src/irc/flood/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/irc/flood/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/irc/Makefile.in irssi-1.0.5/src/irc/Makefile.in --- irssi-1.0.4/src/irc/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/irc/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/irc/notifylist/Makefile.in irssi-1.0.5/src/irc/notifylist/Makefile.in --- irssi-1.0.4/src/irc/notifylist/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/irc/notifylist/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/irc/proxy/Makefile.in irssi-1.0.5/src/irc/proxy/Makefile.in --- irssi-1.0.4/src/irc/proxy/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/irc/proxy/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/lib-config/Makefile.in irssi-1.0.5/src/lib-config/Makefile.in --- irssi-1.0.4/src/lib-config/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/lib-config/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/Makefile.in irssi-1.0.5/src/Makefile.in --- irssi-1.0.4/src/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/Makefile.in 2017-10-20 15:16:55.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru irssi-1.0.4/src/perl/Makefile.in irssi-1.0.5/src/perl/Makefile.in --- irssi-1.0.4/src/perl/Makefile.in 2017-07-05 19:25:38.000000000 +0000 +++ irssi-1.0.5/src/perl/Makefile.in 2017-10-20 15:16:56.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it,