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
+
+ * 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
* 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 .
#
@@ -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
#include ]])
-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
#include
#include
+#include
#include
#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
+
+#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 ) {