commit mosh for openSUSE:Factory
Hello community, here is the log from the commit of package mosh for openSUSE:Factory checked in at 2017-07-28 09:48:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mosh (Old) and /work/SRC/openSUSE:Factory/.mosh.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "mosh" Fri Jul 28 09:48:08 2017 rev:16 rq:512857 version:1.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/mosh/mosh.changes 2017-04-07 13:56:45.590211642 +0200 +++ /work/SRC/openSUSE:Factory/.mosh.new/mosh.changes 2017-07-28 09:48:09.971839875 +0200 @@ -1,0 +2,23 @@ +Mon Jul 24 13:38:47 UTC 2017 - mpluskal@suse.com + +- Update to version 1.3.2: + * Platform support: + + Explicitly enable binding to both IPv4 and IPv6 addresses. + (Giel van Schijndel) + + Restore perl 5.8.8 support for RHEL5. + (Alexander Chernyakhovsky) + + Make tests detect UTF-8 locale with a helper executable. + (John Hood) + + Don't print /etc/motd on IllumOS. (John Hood) + + Print {,/var}/run/motd.dynamic on Ubuntu. (John Hood) + + Fix build on Haiku. (Adrien Destugues) + + Disable unicode-later-combining.test for tmux 2.4. + This fixes build failures. (John Hood) + * Bug fixes: + + In tests, explicitly set 80x24 tmux window, for newer versions + of tmux. (John Hood) + + Work around JuiceSSH rendering bug. (John Hood) + + Do not move cursor for SCROLL UP and SCROLL DOWN-- + fixes an issue with tmux 2.4. (John Hood) + +------------------------------------------------------------------- Old: ---- mosh-1.3.0.tar.gz New: ---- mosh-1.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mosh.spec ++++++ --- /var/tmp/diff_new_pack.n9WEDw/_old 2017-07-28 09:48:10.419776779 +0200 +++ /var/tmp/diff_new_pack.n9WEDw/_new 2017-07-28 09:48:10.419776779 +0200 @@ -18,7 +18,7 @@ Name: mosh -Version: 1.3.0 +Version: 1.3.2 Release: 0 Summary: The mobile shell License: GPL-3.0+ @@ -66,10 +66,9 @@ %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/mosh %check -make check +make %{?_smp_mflags} check %files -%defattr(-,root,root) %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/mosh %dir %{_sysconfdir}/ufw/ %dir %{_sysconfdir}/ufw/applications.d/ ++++++ mosh-1.3.0.tar.gz -> mosh-1.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/ChangeLog new/mosh-1.3.2/ChangeLog --- old/mosh-1.3.0/ChangeLog 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/ChangeLog 2017-07-22 23:14:53.000000000 +0200 @@ -1,3 +1,25 @@ +2017-07-21 Keith Winstein <mosh-devel@mit.edu> + + * Version 1.3.2 released. + + * Platform support: + * Explicitly enable binding to both IPv4 and IPv6 addresses. + (Giel van Schijndel) + * Restore perl 5.8.8 support for RHEL5. (Alexander Chernyakhovsky) + * Make tests detect UTF-8 locale with a helper executable. (John Hood) + * Don't print /etc/motd on IllumOS. (John Hood) + * Print {,/var}/run/motd.dynamic on Ubuntu. (John Hood) + * Fix build on Haiku. (Adrien Destugues) + * Disable unicode-later-combining.test for tmux 2.4. + This fixes build failures. (John Hood) + + * Bug fixes: + * In tests, explicitly set 80x24 tmux window, for newer versions + of tmux. (John Hood) + * Work around JuiceSSH rendering bug. (John Hood) + * Do not move cursor for SCROLL UP and SCROLL DOWN-- + fixes an issue with tmux 2.4. (John Hood) + 2017-03-25 Keith Winstein <mosh-devel@mit.edu> * Version 1.3.0 released. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/Makefile.in new/mosh-1.3.2/Makefile.in --- old/mosh-1.3.0/Makefile.in 2017-03-26 21:04:58.000000000 +0200 +++ new/mosh-1.3.2/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -247,7 +247,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/README.md new/mosh-1.3.2/README.md --- old/mosh-1.3.0/README.md 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/README.md 2017-07-22 23:14:53.000000000 +0200 @@ -139,6 +139,11 @@ intensive and mostly sits idle when the user is not typing, we think the results suggest that `-O2` (the default) is preferable. +Our Debian and Fedora packaging presents Mosh as a single package. +Mosh has a Perl dependency that is only required for client use. For +some platforms, it may make sense to have separate mosh-server and +mosh-client packages to allow mosh-server usage without Perl. + More info --------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/THANKS new/mosh-1.3.2/THANKS --- old/mosh-1.3.0/THANKS 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/THANKS 2017-07-22 23:14:53.000000000 +0200 @@ -92,3 +92,7 @@ * HIGUCHI Yuta * Baruch Siach + +* Adrien Destugues + +* Giel van Schijndel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/conf/Makefile.in new/mosh-1.3.2/conf/Makefile.in --- old/mosh-1.3.0/conf/Makefile.in 2017-03-26 21:04:58.000000000 +0200 +++ new/mosh-1.3.2/conf/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -200,7 +200,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/configure new/mosh-1.3.2/configure --- old/mosh-1.3.0/configure 2017-03-26 21:04:58.000000000 +0200 +++ new/mosh-1.3.2/configure 2017-07-22 23:15:11.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for mosh 1.3.0. +# Generated by GNU Autoconf 2.69 for mosh 1.3.2. # # Report bugs to <mosh-devel@mit.edu>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='mosh' PACKAGE_TARNAME='mosh' -PACKAGE_VERSION='1.3.0' -PACKAGE_STRING='mosh 1.3.0' +PACKAGE_VERSION='1.3.2' +PACKAGE_STRING='mosh 1.3.2' PACKAGE_BUGREPORT='mosh-devel@mit.edu' PACKAGE_URL='' @@ -631,7 +631,6 @@ BASH_COMPLETION_CFLAGS protobuf_LIBS protobuf_CFLAGS -LIBUTIL CRYPTO_LDFLAGS CRYPTO_CPPFLAGS CRYPTO_LIBS @@ -1353,7 +1352,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 mosh 1.3.0 to adapt to many kinds of systems. +\`configure' configures mosh 1.3.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1420,7 +1419,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of mosh 1.3.0:";; + short | recursive ) echo "Configuration of mosh 1.3.2:";; esac cat <<\_ACEOF @@ -1565,7 +1564,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -mosh configure 1.3.0 +mosh configure 1.3.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2376,7 +2375,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mosh $as_me 1.3.0, which was +It was created by mosh $as_me 1.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3239,7 +3238,7 @@ # Define the identity of the package. PACKAGE='mosh' - VERSION='1.3.0' + VERSION='1.3.2' cat >>confdefs.h <<_ACEOF @@ -6085,7 +6084,7 @@ return 0; } _ACEOF -for ac_lib in '' socket; do +for ac_lib in '' socket network; do if test -z "$ac_lib"; then ac_res="none required" else @@ -9302,13 +9301,12 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for forkpty in -lutil" >&5 -$as_echo_n "checking for forkpty in -lutil... " >&6; } -if ${ac_cv_lib_util_forkpty+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing forkpty" >&5 +$as_echo_n "checking for library containing forkpty... " >&6; } +if ${ac_cv_search_forkpty+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lutil $LIBS" + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -9327,24 +9325,39 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_util_forkpty=yes -else - ac_cv_lib_util_forkpty=no +for ac_lib in '' util bsd; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_forkpty=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + conftest$ac_exeext + if ${ac_cv_search_forkpty+:} false; then : + break +fi +done +if ${ac_cv_search_forkpty+:} false; then : + +else + ac_cv_search_forkpty=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_forkpty" >&5 -$as_echo "$ac_cv_lib_util_forkpty" >&6; } -if test "x$ac_cv_lib_util_forkpty" = xyes; then : +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_forkpty" >&5 +$as_echo "$ac_cv_search_forkpty" >&6; } +ac_res=$ac_cv_search_forkpty +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" $as_echo "#define HAVE_FORKPTY /**/" >>confdefs.h - LIBUTIL="-lutil" - fi @@ -10421,7 +10434,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mosh $as_me 1.3.0, which was +This file was extended by mosh $as_me 1.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10487,7 +10500,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -mosh config.status 1.3.0 +mosh config.status 1.3.2 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/mosh-1.3.0/configure.ac new/mosh-1.3.2/configure.ac --- old/mosh-1.3.0/configure.ac 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/configure.ac 2017-07-22 23:14:53.000000000 +0200 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.61]) -AC_INIT([mosh], [1.3.0], [mosh-devel@mit.edu]) +AC_INIT([mosh], [1.3.2], [mosh-devel@mit.edu]) AM_INIT_AUTOMAKE([foreign std-options -Wall -Werror]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_SRCDIR([src/frontend/mosh-client.cc]) @@ -179,7 +179,7 @@ AC_SEARCH_LIBS([compress], [z], , [AC_MSG_ERROR([Unable to find zlib.])]) -AC_SEARCH_LIBS([socket], [socket]) +AC_SEARCH_LIBS([socket], [socket network]) AC_SEARCH_LIBS([inet_addr], [nsl]) AC_SEARCH_LIBS([clock_gettime], [rt]) @@ -352,10 +352,8 @@ , [[#include <sys/types.h> #include <libutil.h>]]) -AC_CHECK_LIB([util], [forkpty], [ +AC_SEARCH_LIBS([forkpty], [util bsd], [ AC_DEFINE([HAVE_FORKPTY],, [Define if you have forkpty().]) - LIBUTIL="-lutil" - AC_SUBST([LIBUTIL]) ]) AC_MSG_CHECKING([whether pipe2(..., O_CLOEXEC) is supported]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/man/Makefile.in new/mosh-1.3.2/man/Makefile.in --- old/mosh-1.3.0/man/Makefile.in 2017-03-26 21:04:58.000000000 +0200 +++ new/mosh-1.3.2/man/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -197,7 +197,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/scripts/Makefile.in new/mosh-1.3.2/scripts/Makefile.in --- old/mosh-1.3.0/scripts/Makefile.in 2017-03-26 21:04:58.000000000 +0200 +++ new/mosh-1.3.2/scripts/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -194,7 +194,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/scripts/mosh.pl new/mosh-1.3.2/scripts/mosh.pl --- old/mosh-1.3.0/scripts/mosh.pl 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/scripts/mosh.pl 2017-07-22 23:14:53.000000000 +0200 @@ -30,14 +30,14 @@ # this exception statement from all source files in the program, then # also delete it here. -use 5.10.0; +use 5.8.8; use warnings; use strict; use Getopt::Long; use IO::Socket; use Text::ParseWords; -use Socket qw( IPPROTO_IP IPPROTO_IPV6 IPPROTO_TCP IPPROTO_UDP ); +use Socket qw(IPPROTO_TCP); use Errno qw(EINTR); use POSIX qw(_exit); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/Makefile.in new/mosh-1.3.2/src/Makefile.in --- old/mosh-1.3.0/src/Makefile.in 2017-03-26 21:04:58.000000000 +0200 +++ new/mosh-1.3.2/src/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -224,7 +224,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/crypto/Makefile.in new/mosh-1.3.2/src/crypto/Makefile.in --- old/mosh-1.3.0/src/crypto/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/crypto/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -224,7 +224,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/examples/Makefile.am new/mosh-1.3.2/src/examples/Makefile.am --- old/mosh-1.3.0/src/examples/Makefile.am 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/examples/Makefile.am 2017-07-22 23:14:53.000000000 +0200 @@ -15,16 +15,16 @@ parse_SOURCES = parse.cc parse_CPPFLAGS = -I$(srcdir)/../terminal -I$(srcdir)/../util -parse_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a $(LIBUTIL) +parse_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a termemu_SOURCES = termemu.cc termemu_CPPFLAGS = -I$(srcdir)/../terminal -I$(srcdir)/../util -I$(srcdir)/../statesync -I../protobufs -termemu_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a ../statesync/libmoshstatesync.a ../protobufs/libmoshprotos.a $(LIBUTIL) $(TINFO_LIBS) $(protobuf_LIBS) +termemu_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a ../statesync/libmoshstatesync.a ../protobufs/libmoshprotos.a $(TINFO_LIBS) $(protobuf_LIBS) ntester_SOURCES = ntester.cc ntester_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I../protobufs $(protobuf_CFLAGS) -ntester_LDADD = ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../protobufs/libmoshprotos.a ../util/libmoshutil.a $(LIBUTIL) -lm $(protobuf_LIBS) $(CRYPTO_LIBS) +ntester_LDADD = ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../protobufs/libmoshprotos.a ../util/libmoshutil.a -lm $(protobuf_LIBS) $(CRYPTO_LIBS) benchmark_SOURCES = benchmark.cc benchmark_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I../protobufs -I$(srcdir)/../frontend -I$(srcdir)/../crypto -I$(srcdir)/../network $(protobuf_CFLAGS) -benchmark_LDADD = ../frontend/terminaloverlay.o ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../protobufs/libmoshprotos.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../util/libmoshutil.a $(STDDJB_LDFLAGS) $(LIBUTIL) -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) +benchmark_LDADD = ../frontend/terminaloverlay.o ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../protobufs/libmoshprotos.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../util/libmoshutil.a $(STDDJB_LDFLAGS) -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/examples/Makefile.in new/mosh-1.3.2/src/examples/Makefile.in --- old/mosh-1.3.0/src/examples/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/examples/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -113,7 +113,7 @@ ../protobufs/libmoshprotos.a ../network/libmoshnetwork.a \ ../crypto/libmoshcrypto.a ../util/libmoshutil.a \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) am_decrypt_OBJECTS = decrypt-decrypt.$(OBJEXT) decrypt_OBJECTS = $(am_decrypt_OBJECTS) decrypt_DEPENDENCIES = ../crypto/libmoshcrypto.a $(am__DEPENDENCIES_1) @@ -126,17 +126,17 @@ ../terminal/libmoshterminal.a ../network/libmoshnetwork.a \ ../crypto/libmoshcrypto.a ../protobufs/libmoshprotos.a \ ../util/libmoshutil.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) am_parse_OBJECTS = parse-parse.$(OBJEXT) parse_OBJECTS = $(am_parse_OBJECTS) parse_DEPENDENCIES = ../terminal/libmoshterminal.a \ - ../util/libmoshutil.a $(am__DEPENDENCIES_1) + ../util/libmoshutil.a am_termemu_OBJECTS = termemu-termemu.$(OBJEXT) termemu_OBJECTS = $(am_termemu_OBJECTS) termemu_DEPENDENCIES = ../terminal/libmoshterminal.a \ ../util/libmoshutil.a ../statesync/libmoshstatesync.a \ ../protobufs/libmoshprotos.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -244,7 +244,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ @@ -331,16 +330,16 @@ decrypt_LDADD = ../crypto/libmoshcrypto.a $(CRYPTO_LIBS) parse_SOURCES = parse.cc parse_CPPFLAGS = -I$(srcdir)/../terminal -I$(srcdir)/../util -parse_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a $(LIBUTIL) +parse_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a termemu_SOURCES = termemu.cc termemu_CPPFLAGS = -I$(srcdir)/../terminal -I$(srcdir)/../util -I$(srcdir)/../statesync -I../protobufs -termemu_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a ../statesync/libmoshstatesync.a ../protobufs/libmoshprotos.a $(LIBUTIL) $(TINFO_LIBS) $(protobuf_LIBS) +termemu_LDADD = ../terminal/libmoshterminal.a ../util/libmoshutil.a ../statesync/libmoshstatesync.a ../protobufs/libmoshprotos.a $(TINFO_LIBS) $(protobuf_LIBS) ntester_SOURCES = ntester.cc ntester_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I../protobufs $(protobuf_CFLAGS) -ntester_LDADD = ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../protobufs/libmoshprotos.a ../util/libmoshutil.a $(LIBUTIL) -lm $(protobuf_LIBS) $(CRYPTO_LIBS) +ntester_LDADD = ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../protobufs/libmoshprotos.a ../util/libmoshutil.a -lm $(protobuf_LIBS) $(CRYPTO_LIBS) benchmark_SOURCES = benchmark.cc benchmark_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I../protobufs -I$(srcdir)/../frontend -I$(srcdir)/../crypto -I$(srcdir)/../network $(protobuf_CFLAGS) -benchmark_LDADD = ../frontend/terminaloverlay.o ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../protobufs/libmoshprotos.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../util/libmoshutil.a $(STDDJB_LDFLAGS) $(LIBUTIL) -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) +benchmark_LDADD = ../frontend/terminaloverlay.o ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../protobufs/libmoshprotos.a ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../util/libmoshutil.a $(STDDJB_LDFLAGS) -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) all: all-am .SUFFIXES: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/frontend/Makefile.am new/mosh-1.3.2/src/frontend/Makefile.am --- old/mosh-1.3.0/src/frontend/Makefile.am 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/frontend/Makefile.am 2017-07-22 23:14:53.000000000 +0200 @@ -3,7 +3,7 @@ AM_LDFLAGS = $(HARDEN_LDFLAGS) LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) -mosh_server_LDADD = $(LDADD) $(LIBUTIL) +mosh_server_LDADD = $(LDADD) bin_PROGRAMS = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/frontend/Makefile.in new/mosh-1.3.2/src/frontend/Makefile.in --- old/mosh-1.3.0/src/frontend/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/frontend/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -124,7 +124,7 @@ ../terminal/libmoshterminal.a ../util/libmoshutil.a \ ../protobufs/libmoshprotos.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -mosh_server_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +mosh_server_DEPENDENCIES = $(am__DEPENDENCIES_2) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -237,7 +237,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ @@ -318,7 +317,7 @@ AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS) AM_LDFLAGS = $(HARDEN_LDFLAGS) LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) -mosh_server_LDADD = $(LDADD) $(LIBUTIL) +mosh_server_LDADD = $(LDADD) mosh_client_SOURCES = mosh-client.cc stmclient.cc stmclient.h terminaloverlay.cc terminaloverlay.h mosh_server_SOURCES = mosh-server.cc all: all-am diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/frontend/mosh-server.cc new/mosh-1.3.2/src/frontend/mosh-server.cc --- old/mosh-1.3.0/src/frontend/mosh-server.cc 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/frontend/mosh-server.cc 2017-07-22 23:14:53.000000000 +0200 @@ -118,7 +118,7 @@ fprintf( stream, "Usage: %s new [-s] [-v] [-i LOCALADDR] [-p PORT[:PORT2]] [-c COLORS] [-l NAME=VALUE] [-- COMMAND...]\n", argv0 ); } -static void print_motd( void ); +static bool print_motd( const char *filename ); static void chdir_homedir( void ); static bool motd_hushed( void ); static void warn_unattached( const string & ignore_entry ); @@ -554,7 +554,20 @@ chdir_homedir(); if ( with_motd && (!motd_hushed()) ) { - print_motd(); + // On illumos motd is printed by /etc/profile. +#ifndef __sun + // For Ubuntu, try and print one of {,/var}/run/motd.dynamic. + // This file is only updated when pam_motd is run, but when + // mosh-server is run in the usual way with ssh via the script, + // this always happens. + // XXX Hackish knowledge of Ubuntu PAM configuration. + // But this seems less awful than build-time detection with autoconf. + if (!print_motd("/run/motd.dynamic")) { + print_motd("/var/run/motd.dynamic"); + } + // Always print traditional /etc/motd. + print_motd("/etc/motd"); +#endif warn_unattached( utmp_entry ); } @@ -877,12 +890,12 @@ } } -/* OpenSSH prints the motd on startup, so we will too */ -static void print_motd( void ) +/* Print the motd from a given file, if available */ +static bool print_motd( const char *filename ) { - FILE *motd = fopen( "/etc/motd", "r" ); + FILE *motd = fopen( filename, "r" ); if ( !motd ) { - return; /* don't report error on missing or forbidden motd */ + return false; } const int BUFSIZE = 256; @@ -900,6 +913,7 @@ } fclose( motd ); + return true; } static void chdir_homedir( void ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/network/Makefile.in new/mosh-1.3.2/src/network/Makefile.in --- old/mosh-1.3.0/src/network/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/network/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -223,7 +223,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/network/network.cc new/mosh-1.3.2/src/network/network.cc --- old/mosh-1.3.0/src/network/network.cc 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/network/network.cc 2017-07-22 23:14:53.000000000 +0200 @@ -41,6 +41,7 @@ #include <netinet/in.h> #include <assert.h> #include <errno.h> +#include <string.h> #include <unistd.h> #include "dos_assert.h" @@ -326,6 +327,14 @@ throw NetworkException( "Unknown address family", 0 ); } + if ( local_addr.sa.sa_family == AF_INET6 + && memcmp(&local_addr.sin6.sin6_addr, &in6addr_any, sizeof(in6addr_any)) == 0 ) { + const int off = 0; + if ( setsockopt( sock(), IPPROTO_IPV6, IPV6_V6ONLY, &off, sizeof(off) ) ) { + perror( "setsockopt( IPV6_V6ONLY, off )" ); + } + } + if ( bind( sock(), &local_addr.sa, local_addr_len ) == 0 ) { set_MTU( local_addr.sa.sa_family ); return true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/protobufs/Makefile.in new/mosh-1.3.2/src/protobufs/Makefile.in --- old/mosh-1.3.0/src/protobufs/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/protobufs/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -227,7 +227,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/statesync/Makefile.in new/mosh-1.3.2/src/statesync/Makefile.in --- old/mosh-1.3.0/src/statesync/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/statesync/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -223,7 +223,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/terminal/Makefile.in new/mosh-1.3.2/src/terminal/Makefile.in --- old/mosh-1.3.0/src/terminal/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/terminal/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -226,7 +226,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/terminal/terminaldisplay.cc new/mosh-1.3.2/src/terminal/terminaldisplay.cc --- old/mosh-1.3.0/src/terminal/terminaldisplay.cc 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/terminal/terminaldisplay.cc 2017-07-22 23:14:53.000000000 +0200 @@ -386,7 +386,7 @@ frame.append_silent_move( frame_y, frame_x - clear_count ); frame.update_rendition( blank_renditions ); bool can_use_erase = has_bce || ( frame.current_rendition == initial_rendition() ); - if ( can_use_erase && has_ech ) { + if ( can_use_erase && has_ech && clear_count > 4 ) { snprintf( tmp, 64, "\033[%dX", clear_count ); frame.append( tmp ); } else { @@ -436,8 +436,8 @@ frame.append_silent_move( frame_y, frame_x - clear_count ); frame.update_rendition( blank_renditions ); - bool can_use_erase = !wrap_this && ( has_bce || ( frame.current_rendition == initial_rendition() ) ); - if ( can_use_erase ) { + bool can_use_erase = has_bce || ( frame.current_rendition == initial_rendition() ); + if ( can_use_erase && !wrap_this ) { frame.append( "\033[K" ); } else { frame.append( clear_count, ' ' ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/terminal/terminalframebuffer.cc new/mosh-1.3.2/src/terminal/terminalframebuffer.cc --- old/mosh-1.3.0/src/terminal/terminalframebuffer.cc 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/terminal/terminalframebuffer.cc 2017-07-22 23:14:53.000000000 +0200 @@ -119,11 +119,8 @@ { if ( N >= 0 ) { delete_line( ds.get_scrolling_region_top_row(), N ); - ds.move_row( -N, true ); } else { - N = -N; - insert_line( ds.get_scrolling_region_top_row(), N ); - ds.move_row( N, true ); + insert_line( ds.get_scrolling_region_top_row(), -N ); } } @@ -187,9 +184,13 @@ } if ( ds.get_cursor_row() + rows > ds.get_scrolling_region_bottom_row() ) { - scroll( ds.get_cursor_row() + rows - ds.get_scrolling_region_bottom_row() ); + int N = ds.get_cursor_row() + rows - ds.get_scrolling_region_bottom_row(); + scroll( N ); + ds.move_row( -N, true ); } else if ( ds.get_cursor_row() + rows < ds.get_scrolling_region_top_row() ) { - scroll( ds.get_cursor_row() + rows - ds.get_scrolling_region_top_row() ); + int N = ds.get_cursor_row() + rows - ds.get_scrolling_region_top_row(); + scroll( N ); + ds.move_row( -N, true ); } ds.move_row( rows, true ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/Makefile.am new/mosh-1.3.2/src/tests/Makefile.am --- old/mosh-1.3.0/src/tests/Makefile.am 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/tests/Makefile.am 2017-07-22 23:14:53.000000000 +0200 @@ -22,6 +22,7 @@ emulation-back-tab.test \ emulation-cursor-motion.test \ emulation-multiline-scroll.test \ + emulation-scroll.test \ emulation-wrap-across-frames.test \ network-no-diff.test \ prediction-unicode.test \ @@ -35,7 +36,7 @@ unicode-later-combining.test \ window-resize.test -check_PROGRAMS = ocb-aes encrypt-decrypt base64 nonce-incr inpty +check_PROGRAMS = ocb-aes encrypt-decrypt base64 nonce-incr inpty is-utf8-locale TESTS = ocb-aes encrypt-decrypt base64 nonce-incr local.test $(displaytests) XFAIL_TESTS = \ e2e-failure.test \ @@ -63,7 +64,11 @@ inpty_SOURCES = inpty.cc inpty_CPPFLAGS = -I$(srcdir)/../util -inpty_LDADD = ../util/libmoshutil.a $(LIBUTIL) +inpty_LDADD = ../util/libmoshutil.a + +is_utf8_locale_SOURCES = is-utf8-locale.cc +is_utf8_locale_CPPFLAGS = -I$(srcdir)/../util +is_utf8_locale_LDADD = ../util/libmoshutil.a $(LIBUTIL) clean-local: clean-local-check .PHONY: clean-local-check diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/Makefile.in new/mosh-1.3.2/src/tests/Makefile.in --- old/mosh-1.3.0/src/tests/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/tests/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -86,7 +86,8 @@ PRE_UNINSTALL = : POST_UNINSTALL = : check_PROGRAMS = ocb-aes$(EXEEXT) encrypt-decrypt$(EXEEXT) \ - base64$(EXEEXT) nonce-incr$(EXEEXT) inpty$(EXEEXT) + base64$(EXEEXT) nonce-incr$(EXEEXT) inpty$(EXEEXT) \ + is-utf8-locale$(EXEEXT) TESTS = ocb-aes$(EXEEXT) encrypt-decrypt$(EXEEXT) base64$(EXEEXT) \ nonce-incr$(EXEEXT) local.test $(displaytests) subdir = src/tests @@ -118,7 +119,10 @@ ../util/libmoshutil.a $(am__DEPENDENCIES_1) am_inpty_OBJECTS = inpty-inpty.$(OBJEXT) inpty_OBJECTS = $(am_inpty_OBJECTS) -inpty_DEPENDENCIES = ../util/libmoshutil.a $(am__DEPENDENCIES_1) +inpty_DEPENDENCIES = ../util/libmoshutil.a +am_is_utf8_locale_OBJECTS = is_utf8_locale-is-utf8-locale.$(OBJEXT) +is_utf8_locale_OBJECTS = $(am_is_utf8_locale_OBJECTS) +is_utf8_locale_DEPENDENCIES = ../util/libmoshutil.a am_nonce_incr_OBJECTS = nonce_incr-nonce-incr.$(OBJEXT) nonce_incr_OBJECTS = $(am_nonce_incr_OBJECTS) nonce_incr_DEPENDENCIES = ../network/libmoshnetwork.a \ @@ -175,9 +179,11 @@ am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(base64_SOURCES) $(encrypt_decrypt_SOURCES) \ - $(inpty_SOURCES) $(nonce_incr_SOURCES) $(ocb_aes_SOURCES) + $(inpty_SOURCES) $(is_utf8_locale_SOURCES) \ + $(nonce_incr_SOURCES) $(ocb_aes_SOURCES) DIST_SOURCES = $(base64_SOURCES) $(encrypt_decrypt_SOURCES) \ - $(inpty_SOURCES) $(nonce_incr_SOURCES) $(ocb_aes_SOURCES) + $(inpty_SOURCES) $(is_utf8_locale_SOURCES) \ + $(nonce_incr_SOURCES) $(ocb_aes_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -452,7 +458,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ @@ -552,6 +557,7 @@ emulation-back-tab.test \ emulation-cursor-motion.test \ emulation-multiline-scroll.test \ + emulation-scroll.test \ emulation-wrap-across-frames.test \ network-no-diff.test \ prediction-unicode.test \ @@ -583,7 +589,10 @@ nonce_incr_LDADD = ../network/libmoshnetwork.a ../crypto/libmoshcrypto.a ../util/libmoshutil.a $(CRYPTO_LIBS) inpty_SOURCES = inpty.cc inpty_CPPFLAGS = -I$(srcdir)/../util -inpty_LDADD = ../util/libmoshutil.a $(LIBUTIL) +inpty_LDADD = ../util/libmoshutil.a +is_utf8_locale_SOURCES = is-utf8-locale.cc +is_utf8_locale_CPPFLAGS = -I$(srcdir)/../util +is_utf8_locale_LDADD = ../util/libmoshutil.a $(LIBUTIL) CLEANFILES = base64_vector.cc all: all-am @@ -634,6 +643,10 @@ @rm -f inpty$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(inpty_OBJECTS) $(inpty_LDADD) $(LIBS) +is-utf8-locale$(EXEEXT): $(is_utf8_locale_OBJECTS) $(is_utf8_locale_DEPENDENCIES) $(EXTRA_is_utf8_locale_DEPENDENCIES) + @rm -f is-utf8-locale$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(is_utf8_locale_OBJECTS) $(is_utf8_locale_LDADD) $(LIBS) + nonce-incr$(EXEEXT): $(nonce_incr_OBJECTS) $(nonce_incr_DEPENDENCIES) $(EXTRA_nonce_incr_DEPENDENCIES) @rm -f nonce-incr$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(nonce_incr_OBJECTS) $(nonce_incr_LDADD) $(LIBS) @@ -653,6 +666,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt_decrypt-encrypt-decrypt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt_decrypt-test_utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inpty-inpty.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_utf8_locale-is-utf8-locale.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nonce_incr-nonce-incr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ocb_aes-ocb-aes.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ocb_aes-test_utils.Po@am__quote@ @@ -741,6 +755,20 @@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(inpty_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o inpty-inpty.obj `if test -f 'inpty.cc'; then $(CYGPATH_W) 'inpty.cc'; else $(CYGPATH_W) '$(srcdir)/inpty.cc'; fi` +is_utf8_locale-is-utf8-locale.o: is-utf8-locale.cc +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(is_utf8_locale_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT is_utf8_locale-is-utf8-locale.o -MD -MP -MF $(DEPDIR)/is_utf8_locale-is-utf8-locale.Tpo -c -o is_utf8_locale-is-utf8-locale.o `test -f 'is-utf8-locale.cc' || echo '$(srcdir)/'`is-utf8-locale.cc +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/is_utf8_locale-is-utf8-locale.Tpo $(DEPDIR)/is_utf8_locale-is-utf8-locale.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='is-utf8-locale.cc' object='is_utf8_locale-is-utf8-locale.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(is_utf8_locale_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o is_utf8_locale-is-utf8-locale.o `test -f 'is-utf8-locale.cc' || echo '$(srcdir)/'`is-utf8-locale.cc + +is_utf8_locale-is-utf8-locale.obj: is-utf8-locale.cc +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(is_utf8_locale_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT is_utf8_locale-is-utf8-locale.obj -MD -MP -MF $(DEPDIR)/is_utf8_locale-is-utf8-locale.Tpo -c -o is_utf8_locale-is-utf8-locale.obj `if test -f 'is-utf8-locale.cc'; then $(CYGPATH_W) 'is-utf8-locale.cc'; else $(CYGPATH_W) '$(srcdir)/is-utf8-locale.cc'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/is_utf8_locale-is-utf8-locale.Tpo $(DEPDIR)/is_utf8_locale-is-utf8-locale.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='is-utf8-locale.cc' object='is_utf8_locale-is-utf8-locale.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(is_utf8_locale_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o is_utf8_locale-is-utf8-locale.obj `if test -f 'is-utf8-locale.cc'; then $(CYGPATH_W) 'is-utf8-locale.cc'; else $(CYGPATH_W) '$(srcdir)/is-utf8-locale.cc'; fi` + nonce_incr-nonce-incr.o: nonce-incr.cc @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(nonce_incr_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nonce_incr-nonce-incr.o -MD -MP -MF $(DEPDIR)/nonce_incr-nonce-incr.Tpo -c -o nonce_incr-nonce-incr.o `test -f 'nonce-incr.cc' || echo '$(srcdir)/'`nonce-incr.cc @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/nonce_incr-nonce-incr.Tpo $(DEPDIR)/nonce_incr-nonce-incr.Po diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/e2e-test new/mosh-1.3.2/src/tests/e2e-test --- old/mosh-1.3.0/src/tests/e2e-test 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/tests/e2e-test 2017-07-22 23:14:53.000000000 +0200 @@ -60,11 +60,22 @@ # Tmux check. tmux_check() { + # OpenBSD tmux does not have '-V'. + if [ "$(uname -s)" = "OpenBSD" ]; then + openbsd_major="$(uname -r)" + openbsd_major="${openbsd_major%%.*}" + if [ "${openbsd_major}" -ge 6 ]; then + return 0 + fi + fi version=$(tmux -V) if [ $? != 0 ]; then error "tmux unavailable\n" return 1 fi + if [ "$version" = "tmux master" ]; then + return 0 + fi version=${version##tmux } version_major=${version%%.*} version_minor=${version##*.} @@ -74,7 +85,8 @@ error "tmux version %s too old\n" "$version" return 1 fi - return 0 + # Finally, check that tmux actually works to some degree. + tmux -C new-session true } ssh_localhost_check() @@ -108,10 +120,6 @@ } # main -if ! set_locale; then - test_error "e2e-test: no usable locale\n" -fi - # Set up environment if [ -z "$srcdir" ]; then export srcdir=$PWD @@ -137,10 +145,6 @@ ;; esac -if ! tmux_check; then - test_skipped "tmux unavailable\n" -fi - if [ $# -lt 2 ]; then test_error "not enough args\n" fi @@ -153,6 +157,15 @@ test_dir=$(basename "${test_name}").d test_script="${test_name}" +tests_dir=$(dirname "${test_name}") +if ! set_locale "${tests_dir}"; then + test_error "e2e-test: no usable locale\n" +fi + +if ! tmux_check; then + test_skipped "tmux unavailable\n" +fi + rm -rf "${test_dir}" mkdir "${test_dir}" @@ -230,9 +243,13 @@ # XXX tmux 1.8 requires shell command as a single arg; once we move to 2.0, undo these quotes # XXX this ignores $TMPDIR, because it results in an overlong pathname on OS X tmux_socket="/tmp/.tmux-mosh-test-$$" - ${tmux_stdin} tmux -f /dev/null -S "${tmux_socket}" -C new-session "${srcdir}/print-exitstatus ${client_wrapper} ${sut} ${server_wrapper} \"${PWD}/${test_dir}/${run}\" \"${PWD}/${test_script} ${run}\"" > "${test_dir}/${run}.tmux.log" + ln -fs "${tmux_socket}" "${test_dir}/tmux-socket" + # tmux <= 2.5 ignore -x/-y, but the client sets the session to 80x24. + # tmux from 2017-05-27 and later should default to an 80x24 session, + # but do use -x/-y on control-master clients. + ${tmux_stdin} tmux -f /dev/null -S "${tmux_socket}" -C new-session -x 80 -y 24 "${srcdir}/print-exitstatus ${client_wrapper} ${sut} ${server_wrapper} \"${PWD}/${test_dir}/${run}\" \"${PWD}/${test_script} ${run}\"" > "${test_dir}/${run}.tmux.log" rv=$? - rm -f "${tmux_socket}" + rm -f "${tmux_socket}" "${test_dir}/tmux-socket" if [ $rv -ne 0 ]; then test_error "tmux failure on test %s\n" "$run" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/e2e-test-server new/mosh-1.3.2/src/tests/e2e-test-server --- old/mosh-1.3.0/src/tests/e2e-test-server 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/tests/e2e-test-server 2017-07-22 23:14:53.000000000 +0200 @@ -5,6 +5,29 @@ # then captures screen with `tmux capture-pane`. Captures exitstatus # of both and returns appropriate errors. # + +# If MOSH_E2E_WAIT is set, then the test will wait for another tmux +# client to attach to the test session before starting, and will wait +# for other tmux clients to detach before exiting. +wait_for_clients() +{ + if [ -z "$MOSH_E2E_WAIT" ]; then + return + fi + expected=$1 + while true; do + n=$(tmux list-clients -F . | wc -l) + if [ $expected -eq 1 ]; then + if [ $n -eq 1 ]; then + return + fi + elif [ $n -ne 1 ]; then + return + fi + sleep 1 + done +} + export MOSH_SERVER_PID=$PPID if [ $# -lt 2 ]; then @@ -26,6 +49,7 @@ printf "not running under tmux\n" >&2 exit 99 fi +wait_for_clients 2 # run harnessed command eval "$@" testret=$? @@ -37,6 +61,7 @@ # Wait for tmux client screen to become up to date. sleep 1 printf "@@@ server complete @@@" >&2 +wait_for_clients 1 i=0 while [ $i -lt 60 ]; do if grep -q "@@@ server complete @@@" "$testname.tmux.log"; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/e2e-test-subrs new/mosh-1.3.2/src/tests/e2e-test-subrs --- old/mosh-1.3.0/src/tests/e2e-test-subrs 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/tests/e2e-test-subrs 2017-07-22 23:14:53.000000000 +0200 @@ -10,6 +10,12 @@ exit 99 } +skip() +{ + printf "$@" 2>&1 + exit 77 +} + sleepf() { (sleep .1 || sleep 1) > /dev/null 2>&1 @@ -60,15 +66,14 @@ set_locale() { # Test for a usable locale. - map=$(locale charmap 2>/dev/null) - if [ "$map" = "utf-8" ] || [ "$map" = "UTF-8" ]; then + if ./is-utf8-locale 2> /dev/null; then return 0 fi # Attempt to find/set a usable locale. + unset LANG LC_CTYPE LC_COLLATE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LC_ALL for i in en_US.UTF-8 en_US.utf8 C.UTF-8; do - map="$(env LANG=$i locale charmap 2>/dev/null)" - if [ "$map" = "utf-8" ] || [ "$map" = "UTF-8" ]; then - export LANG=$i LC_ALL='' + if env LC_ALL=$i ./is-utf8-locale 2> /dev/null; then + export LC_ALL=$i return 0 fi done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/emulation-scroll.test new/mosh-1.3.2/src/tests/emulation-scroll.test --- old/mosh-1.3.0/src/tests/emulation-scroll.test 1970-01-01 01:00:00.000000000 +0100 +++ new/mosh-1.3.2/src/tests/emulation-scroll.test 2017-07-22 23:14:53.000000000 +0200 @@ -0,0 +1,76 @@ +#!/bin/sh + +# +# This is a regression test for a bug in Mosh: it would move the +# cursor for the SCROLL UP and SCROLL DOWN commands, though it should +# not. +# + +# shellcheck source=e2e-test-subrs +. "$(dirname "$0")/e2e-test-subrs" +PATH=$PATH:.:$srcdir +# Top-level wrapper. +if [ $# -eq 0 ]; then + e2e-test "$0" baseline post + exit +fi + +# OK, we have arguments, we're one of the test hooks. +if [ $# -ne 1 ]; then + fail "bad arguments %s\n" "$@" +fi + +baseline() +{ + # Clear + printf '\033[H\033[J' + # Fill with sample text + for i in $(seq 1 24); do + printf '\ntext %s' "$i" + done + # Scroll up 4 lines + printf '\033[4S' + # Then down 2 + printf '\033[2T' + + # The cursor should not have moved and this should print on the + # last line, and not overprint 'line 24' + printf '\rBad line' + # Overprint on line 24 + printf '\033[24;1HLast line' + # and line 1 + printf '\033[HFirst line\n' + +} + +post() +{ + local capture + capture="$(basename "$0").d/baseline.capture" + # 'Bad line' should have been overwritten + if grep -q '^Bad line$' "$capture"; then + exit 1 + fi + # The first four lines should have scrolled off + if grep -q '^text [1-4]$' "$capture"; then + exit 1 + fi + # The last line should not have scrolled off or been overwritten + if ! grep -q '^text 24$' "$capture"; then + exit 1 + fi + # 20 lines of the original text should remain + if [ "$(grep -c '^text' "$capture")" -ne 20 ]; then + exit 1 + fi + exit 0 +} + +case $1 in + baseline) + baseline;; + post) + post;; + *) + fail "unknown test argument %s\n" "$1";; +esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/is-utf8-locale.cc new/mosh-1.3.2/src/tests/is-utf8-locale.cc --- old/mosh-1.3.0/src/tests/is-utf8-locale.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/mosh-1.3.2/src/tests/is-utf8-locale.cc 2017-07-22 23:14:53.000000000 +0200 @@ -0,0 +1,45 @@ +/* + Mosh: the mobile shell + Copyright 2012 Keith Winstein + + 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations including + the two. + + You must obey the GNU General Public License in all respects for all + of the code used other than OpenSSL. If you modify file(s) with this + exception, you may extend this exception to your version of the + file(s), but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. If you delete + this exception statement from all source files in the program, then + also delete it here. +*/ + +#include <stdio.h> + +#include "locale_utils.h" + +int main( int argc __attribute__(( unused )), char **argv __attribute__(( unused ))) +{ + set_native_locale(); + if ( !is_utf8_locale() ) { + fprintf( stderr, "not a UTF-8 locale\n" ); + return 1; + } + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/mosh-client new/mosh-1.3.2/src/tests/mosh-client --- old/mosh-1.3.0/src/tests/mosh-client 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/tests/mosh-client 2017-07-22 23:14:53.000000000 +0200 @@ -60,11 +60,22 @@ # Tmux check. tmux_check() { + # OpenBSD tmux does not have '-V'. + if [ "$(uname -s)" = "OpenBSD" ]; then + openbsd_major="$(uname -r)" + openbsd_major="${openbsd_major%%.*}" + if [ "${openbsd_major}" -ge 6 ]; then + return 0 + fi + fi version=$(tmux -V) if [ $? != 0 ]; then error "tmux unavailable\n" return 1 fi + if [ "$version" = "tmux master" ]; then + return 0 + fi version=${version##tmux } version_major=${version%%.*} version_minor=${version##*.} @@ -74,7 +85,8 @@ error "tmux version %s too old\n" "$version" return 1 fi - return 0 + # Finally, check that tmux actually works to some degree. + tmux -C new-session true } ssh_localhost_check() @@ -108,10 +120,6 @@ } # main -if ! set_locale; then - test_error "e2e-test: no usable locale\n" -fi - # Set up environment if [ -z "$srcdir" ]; then export srcdir=$PWD @@ -137,10 +145,6 @@ ;; esac -if ! tmux_check; then - test_skipped "tmux unavailable\n" -fi - if [ $# -lt 2 ]; then test_error "not enough args\n" fi @@ -153,6 +157,15 @@ test_dir=$(basename "${test_name}").d test_script="${test_name}" +tests_dir=$(dirname "${test_name}") +if ! set_locale "${tests_dir}"; then + test_error "e2e-test: no usable locale\n" +fi + +if ! tmux_check; then + test_skipped "tmux unavailable\n" +fi + rm -rf "${test_dir}" mkdir "${test_dir}" @@ -230,9 +243,13 @@ # XXX tmux 1.8 requires shell command as a single arg; once we move to 2.0, undo these quotes # XXX this ignores $TMPDIR, because it results in an overlong pathname on OS X tmux_socket="/tmp/.tmux-mosh-test-$$" - ${tmux_stdin} tmux -f /dev/null -S "${tmux_socket}" -C new-session "${srcdir}/print-exitstatus ${client_wrapper} ${sut} ${server_wrapper} \"${PWD}/${test_dir}/${run}\" \"${PWD}/${test_script} ${run}\"" > "${test_dir}/${run}.tmux.log" + ln -fs "${tmux_socket}" "${test_dir}/tmux-socket" + # tmux <= 2.5 ignore -x/-y, but the client sets the session to 80x24. + # tmux from 2017-05-27 and later should default to an 80x24 session, + # but do use -x/-y on control-master clients. + ${tmux_stdin} tmux -f /dev/null -S "${tmux_socket}" -C new-session -x 80 -y 24 "${srcdir}/print-exitstatus ${client_wrapper} ${sut} ${server_wrapper} \"${PWD}/${test_dir}/${run}\" \"${PWD}/${test_script} ${run}\"" > "${test_dir}/${run}.tmux.log" rv=$? - rm -f "${tmux_socket}" + rm -f "${tmux_socket}" "${test_dir}/tmux-socket" if [ $rv -ne 0 ]; then test_error "tmux failure on test %s\n" "$run" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/mosh-server new/mosh-1.3.2/src/tests/mosh-server --- old/mosh-1.3.0/src/tests/mosh-server 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/tests/mosh-server 2017-07-22 23:14:53.000000000 +0200 @@ -60,11 +60,22 @@ # Tmux check. tmux_check() { + # OpenBSD tmux does not have '-V'. + if [ "$(uname -s)" = "OpenBSD" ]; then + openbsd_major="$(uname -r)" + openbsd_major="${openbsd_major%%.*}" + if [ "${openbsd_major}" -ge 6 ]; then + return 0 + fi + fi version=$(tmux -V) if [ $? != 0 ]; then error "tmux unavailable\n" return 1 fi + if [ "$version" = "tmux master" ]; then + return 0 + fi version=${version##tmux } version_major=${version%%.*} version_minor=${version##*.} @@ -74,7 +85,8 @@ error "tmux version %s too old\n" "$version" return 1 fi - return 0 + # Finally, check that tmux actually works to some degree. + tmux -C new-session true } ssh_localhost_check() @@ -108,10 +120,6 @@ } # main -if ! set_locale; then - test_error "e2e-test: no usable locale\n" -fi - # Set up environment if [ -z "$srcdir" ]; then export srcdir=$PWD @@ -137,10 +145,6 @@ ;; esac -if ! tmux_check; then - test_skipped "tmux unavailable\n" -fi - if [ $# -lt 2 ]; then test_error "not enough args\n" fi @@ -153,6 +157,15 @@ test_dir=$(basename "${test_name}").d test_script="${test_name}" +tests_dir=$(dirname "${test_name}") +if ! set_locale "${tests_dir}"; then + test_error "e2e-test: no usable locale\n" +fi + +if ! tmux_check; then + test_skipped "tmux unavailable\n" +fi + rm -rf "${test_dir}" mkdir "${test_dir}" @@ -230,9 +243,13 @@ # XXX tmux 1.8 requires shell command as a single arg; once we move to 2.0, undo these quotes # XXX this ignores $TMPDIR, because it results in an overlong pathname on OS X tmux_socket="/tmp/.tmux-mosh-test-$$" - ${tmux_stdin} tmux -f /dev/null -S "${tmux_socket}" -C new-session "${srcdir}/print-exitstatus ${client_wrapper} ${sut} ${server_wrapper} \"${PWD}/${test_dir}/${run}\" \"${PWD}/${test_script} ${run}\"" > "${test_dir}/${run}.tmux.log" + ln -fs "${tmux_socket}" "${test_dir}/tmux-socket" + # tmux <= 2.5 ignore -x/-y, but the client sets the session to 80x24. + # tmux from 2017-05-27 and later should default to an 80x24 session, + # but do use -x/-y on control-master clients. + ${tmux_stdin} tmux -f /dev/null -S "${tmux_socket}" -C new-session -x 80 -y 24 "${srcdir}/print-exitstatus ${client_wrapper} ${sut} ${server_wrapper} \"${PWD}/${test_dir}/${run}\" \"${PWD}/${test_script} ${run}\"" > "${test_dir}/${run}.tmux.log" rv=$? - rm -f "${tmux_socket}" + rm -f "${tmux_socket}" "${test_dir}/tmux-socket" if [ $rv -ne 0 ]; then test_error "tmux failure on test %s\n" "$run" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/tests/unicode-later-combining.test new/mosh-1.3.2/src/tests/unicode-later-combining.test --- old/mosh-1.3.0/src/tests/unicode-later-combining.test 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/tests/unicode-later-combining.test 2017-07-22 23:14:53.000000000 +0200 @@ -37,6 +37,9 @@ post() { export LANG=C + if [ "$(tmux -V)" = "tmux 2.4" ]; then + skip "tmux 2.4 unicode combining bug breaks this test\n" + fi if grep -q "$(printf '^\302\240\314\202$')" "$(basename "$0").d/baseline.capture"; then exit 0 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/util/Makefile.in new/mosh-1.3.2/src/util/Makefile.in --- old/mosh-1.3.0/src/util/Makefile.in 2017-03-26 21:04:59.000000000 +0200 +++ new/mosh-1.3.2/src/util/Makefile.in 2017-07-22 23:15:12.000000000 +0200 @@ -223,7 +223,6 @@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBUTIL = @LIBUTIL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MISC_CXXFLAGS = @MISC_CXXFLAGS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mosh-1.3.0/src/util/locale_utils.cc new/mosh-1.3.2/src/util/locale_utils.cc --- old/mosh-1.3.0/src/util/locale_utils.cc 2017-03-26 21:04:29.000000000 +0200 +++ new/mosh-1.3.2/src/util/locale_utils.cc 2017-07-22 23:14:53.000000000 +0200 @@ -88,9 +88,9 @@ /* Verify locale calls for UTF-8 */ if ( strcmp( locale_charset(), "UTF-8" ) != 0 && strcmp( locale_charset(), "utf-8" ) != 0 ) { - return 0; + return false; } - return 1; + return true; } void set_native_locale( void ) {
participants (1)
-
root@hilbert.suse.de