Commit Graph

1445 Commits

Author SHA1 Message Date
John Hood 86d5b10a2c Note Bash for Windows compatibility 2017-01-20 19:03:53 -05:00
Anders Kaseorg 3439e85f7e debian/changelog: Correct version number and formatting
The format of debian/changelog is very rigid as it is parsed by the
build tools to determine the version number and other information.
The version number must use ~ so that 1.3.0 is considered greater than
1.3.0~rc2 for upgrades, and there must be a Debian release number like
-1 because this is not a Debian-native package.  Finally, the default
urgency is medium these days.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2017-01-07 12:26:03 -05:00
John Hood a092b0f7ca Mosh 1.3.0-rc2 release. 2017-01-05 00:14:48 -05:00
John Hood df07c40b84 Update release notes. 2017-01-05 00:14:36 -05:00
Carlos Cabanero 0ceb4f26f4 Memory Alignment issues on ARM processors
Unaligned data on ARM architectures do not perform efficiently unaligned
memory access, and in the case of ARMv7 and iOS it completely breaks. The OCB
algorithm dereferences a uint64x2_t pointer, and is replaced by a
memcpy to avoid penalties when trying to align it.

More info https://brewx.qualcomm.com/bws/content/gi/common/appseng/en/knowledgebase/docs/kb95.html
2017-01-05 00:14:36 -05:00
John Hood 9bb9de8ae5 Update changelogs to reflect reverted commit. 2017-01-04 23:52:07 -05:00
John Hood a777c8580e Revert "Start ssh with -f instead of -n to avoid ssh hangs."
This reverts commit f002e3bb30.

That commit appears to have created a race between ssh restoring
termios state and mosh-client initializing termios.

Probably fixes #844.
2017-01-04 23:00:18 -05:00
John Hood e7bb13a405 .travis.yml: wait longer for Homebrew protobuf build 2016-12-29 23:46:41 -05:00
John Hood ba5f33fd76 Do clock_gettime() weak symbol check only on OS X/iOS 2016-12-29 23:46:00 -05:00
John Hood 78ba5fddb6 macosx/build.sh: build-a-bottle option changed 2016-12-29 16:33:22 -05:00
John Hood c2ff43f83d Finish release changes for 1.3.0-rc1 2016-12-29 15:23:51 -05:00
John Hood b2eac32ebc Try multiple clock sources at runtime. 2016-12-29 15:10:06 -05:00
John Hood fad60f9ca3 .travis.yml: do release builds on mobile-shell/mosh, not cgull/mosh 2016-12-27 23:19:53 -05:00
John Hood bebdb7c54d Travis build: don't upload dist tarball, better name for build report 2016-12-24 00:01:36 -05:00
John Hood ccf82fb95c Revert to Xcode 6.4/OS X 10.10 for Travis build 2016-12-21 21:38:21 -05:00
John Hood b6ebf840b4 Rework Travis OS X build to eliminate subshells and "set -e". 2016-12-21 21:38:21 -05:00
John Hood 9f59c69e40 1.3.0-rc0-- test build process 2016-12-21 21:26:53 -05:00
John Hood 1710c1a107 Make Travis upload distribution tarball too. 2016-12-21 21:26:53 -05:00
John Hood f002e3bb30 Start ssh with -f instead of -n to avoid ssh hangs.
This seems to resolve #833.
2016-12-02 23:12:07 -05:00
John Hood 278fd12ec1 More print-to-pipe error checking in tests. 2016-11-29 22:31:33 -05:00
John Hood 60c5b022f8 Check for assertion failures while testing. 2016-11-29 22:30:25 -05:00
John Hood bb54325dc9 s/geteuid/getuid/ for correct user lookups
Addresses an issue mentioned in #193.
2016-11-23 17:03:45 -05:00
John Hood 8fcfb3a587 Fix Coverity "missing move operator" (copy to rvalue).
Also makes this bit of code more readable, but the overall handling of
Unicode characters in Actions and Transitions is messy, and may get
reworked later.
2016-11-20 01:27:51 -05:00
John Hood 24eb5a7544 Remove a Network::Exception that isn't one.
Code smell pointed out by Coverity.
2016-11-19 21:11:04 -05:00
Anders Kaseorg 4fe706a4d3 src/test/local.test: Set TERM=xterm
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-19 18:31:29 -05:00
Anders Kaseorg f0f83f5c4e src/tests/inpty.cc: Send the inner stderr to the outer stderr
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-19 18:31:29 -05:00
Ashish Gupta 3ba5a29758 Clarify that -p does not affect SSH port 2016-11-19 18:16:01 -05:00
chenxiaoqino 0c2088d1da Add a little hint for first-time users
I was recommended to use mosh as "an in-place replacement for ssh" by
my friends, and take a while to figure out the message until I
realized I missed the line "The Mosh package should be installed on
both the client and server."

If this line often corresponds to missing server-side installation,
rather than other mysterious scenario, how about adding a hint?
2016-11-19 17:31:29 -05:00
Anders Kaseorg 94027efc45 Make all commands properly support --help and --version
These should output to stdout and exit with status 0.  Passing
std-options to AM_INIT_AUTOMAKE causes ‘make installcheck’ (hence also
‘make distcheck’) to verify this.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-19 17:15:48 -05:00
John Hood e8f1004f94 append_move(): improve awkward control flow, naming 2016-11-19 17:14:37 -05:00
john hood 11190526ad Fix Configure failure on FreeBSD with only base OpenSSL.
Search for OpenSSL libraries both with pkg-config and directly.

Fixes #763.
2016-11-19 15:02:06 -05:00
John Hood 302c7deb41 Describe Cell width as a narrow/wide boolean.
A character cell can only be either narrow or wide.  It's more
convenient to represent that as an int containing 1 or 2, but slightly
more correct to represent it as a "boolean" single-bit integer.
2016-11-17 00:56:31 -05:00
John Hood 71fe4441ef Shrink Cell to its prior size by using bitfields. 2016-11-17 00:56:05 -05:00
John Hood e4aed30d30 Fix broken wrap behavior causing broken copy/paste.
The terminal framebuffer was not resetting the wrap state of a row
when a previously-wrapping line was overwritten by a non-wrapping
line.  Restore previous, subtle behavior of line wrap.  Fix wrap
verification bug now exposed by emulation-wrap-across-frames.test.

Also hoist some getters, mostly for clarity.

Fixes #820.
2016-11-17 00:50:46 -05:00
Anders Kaseorg f7f741dab4 src/tests/inpty.cc: Skip the test on forkpty failures
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-13 16:13:25 -05:00
john hood 74469a7592 inpty.cc: Align configuration to be like mosh-server.cc.
This fixes a FreeBSD 11.0 build failure.
2016-11-12 23:25:56 -05:00
Anders Kaseorg 43251ea8db Add a trivial test that the mosh script works without needing tmux
None of the previous tests even ran the mosh script unless tmux ≥ 1.8 is
installed.  Thus ‘make check’ was “passing” on, e.g., RHEL 6 even though
its Perl is too old (5.10.1).

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-12 23:25:35 -05:00
John Hood 417907c71d Add ZERO_AR_DATE
This doesn't help that much, Apple's linker is apparently hopelessly
nondeterministic
2016-11-12 19:57:50 -05:00
John Hood 73b4ab21ad OS X package build on Travis
This builds an OS X package and deploys it to a GitHub release when a
tag is pushed.  It also generates a tarball reporting the build
environment and configuration.  The build log is still separate.

This is not yet final, it deploys to cgull/mosh and not
mobile-shell/mosh.

It should not affect Linux or OS X CI builds (other than the change to
the Travis Xcode 7.1 image).

Included changes:

The Travis Xcode 7 image seems to have added tmux while we were gone,
breaking our Homebrew setup.

There seems to be no clean reliable way to determine whether a
Homebrew package is installed or needs updating.  Reinstalling is less
efficient but seems to work reliably.

The OS X build is now split between four files:

.travis.yml contains Travis-specific CI/release build configuration.

macosx/brew.sh contains Homebrew-specific package manager installs and
reporting.

macosx/osx-xcode.sh contains Apple-specific OS/X and Xcode reporting.

macosx/build.sh does the actual package build.
2016-11-12 19:57:50 -05:00
John Hood c9d0c9c0c5 tests/prediction-unicode.test: env -u is not POSIX
Seen to fail on OpenBSD 5.2.
2016-11-12 15:33:07 -05:00
Anders Kaseorg df085e02dc Restore Perl 5.10 support
On Perl < 5.14, we can use Socket::GetAddrInfo from CPAN to replace the
missing getaddrinfo functionality of Socket.

Socket::GetAddrInfo < 0.22 requires :newapi in the import list, but 0.22
forbids it and enables the new API by default.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-12 01:43:08 -05:00
John Hood 04b03b41f6 Revert "Do not close stdin on ssh session."
This reverts commit 45c521d632.
2016-11-11 23:31:11 -05:00
John Hood 52d10cf211 Add a test for spinning on no-change screen updates 2016-11-06 06:15:42 -05:00
John Hood dc292dcdaa Test for spinning Mosh 2016-11-06 06:15:42 -05:00
John Hood 9c55198635 Fix off-by-one error on timeouts for input history echo updates 2016-11-06 06:15:42 -05:00
John Hood 3e414c46b3 Update send/ack timers on empty diff
The root problem here is that writes to the frame buffer may alter it,
but leave it with the same contents as before, and the diff between
the two states is the empty string.  With the dirty-rows,
smart-pointer changes to Framebuffer, it is easy to run into this
situation.  This got Network::TransportSender confused about timeouts,
and mosh-server would spin.

The theoretically correct fix would be to have operator==() exactly
correspond to diff(otherstate).empty().  I have partly implemented
this (and may yet finish) but it's not trivial to get right.

This is a much simpler fix that simply attempts to correctly update
timers when two framebuffers are different and an empty diff is
generated.
2016-11-06 06:15:41 -05:00
John Hood 9ffbeddbc8 Put spin debug under -vv flag, and add to mosh-client 2016-11-06 06:15:41 -05:00
John Hood f89f1da0b5 Log/limit pselect() with timeout of 0
This is not a fix for bad timeouts, but rather a band-aid
to keep Mosh from consuming large amounts of CPU time.
2016-11-06 06:15:41 -05:00
John Hood 45c521d632 Do not close stdin on ssh session.
This helps with #819.
2016-11-06 06:15:41 -05:00
John Hood 444eae1fc4 Add tests to run Mosh repeatedly. 2016-11-06 06:15:41 -05:00