Commit Graph

1123 Commits

Author SHA1 Message Date
John Hood 32afa96111 Change Framebuffer's containers/methods to improve performance.
* Reduce the size of Terminal::Cell.
* Change colors and attributes in Terminal::Rendition to bitfields/bitmask.
* Change Cells to use UTF-8 strings instead of vector<wchar_t>.  Store Rows in a vector instead of a deque.
* Add various Framebuffer::append() methods for more efficient passing of single and repeated characters.
* Change title/icon strings from deques to a vector typedef-- this is more for tidiness than any real performance.
2015-12-06 17:42:34 -05:00
John Hood 8fdcdc88cd Isolated algorithmic improvements.
* Fix inefficient STL use around Parser::UTF8Parser.
* Reduce typeid() usage, change some of it to a virtual method
* Do multiple-line scrolls as a single move
2015-12-06 17:42:34 -05:00
John Hood 3fa42cb8bb Support different IPv4 and IPv6 MTUs.
Closes #688.
2015-11-29 10:31:17 -05:00
John Hood b742e958b6 mosh-server: Support timeouts on lost connectivity to network client.
Closes #690.
2015-11-24 02:36:08 -05:00
Eli Young 4b8444988e Fix link URLs in patent grant
Ampersands (&) need to be replaced with &amp; to be valid HTML, even in
link targets.
2015-11-01 01:25:57 -04:00
Andrew Chin 8b5b7aedfa Make --help or -h work again
Also make --help go to stdout, but everywhere else print_help is used,
     go to stderr

Signed-off-by: Andrew Chin <achin@eminence32.net>
2015-11-01 01:09:00 -04:00
Anders Kaseorg f0f2aa7cce mosh.pl: Run ssh directly instead of via sh
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-11-01 01:07:21 -04:00
Anders Kaseorg 57e54c46bc Specify syntax = "proto2" to silence warning with protobuf 3
[libprotobuf WARNING google/protobuf/compiler/parser.cc:491] No syntax
specified for the proto file. Please use 'syntax = "proto2";' or
'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2
syntax.)

The release notes say a future release will turn this warning into an
error.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-10-31 23:55:26 -04:00
John Hood 0de4082e86 base64: remove a timing variation 2015-10-20 02:39:36 -04:00
John Hood 0eb614809a Add configurable support for Apple Common Crypto and Nettle libraries. 2015-10-16 19:00:42 -04:00
John Hood db311f92f7 Replace OpenSSL base64 impl with a simple direct impl.
Unit tests, too.
2015-10-16 19:00:42 -04:00
Florian Bruhin 1307dc4a0f Use the official way to get Trusty on Travis
See http://blog.travis-ci.com/2015-10-14-opening-up-ubuntu-trusty-beta/
2015-10-15 08:21:06 +02:00
John Hood 3c52091f4d Add window resizing test 2015-10-14 23:28:21 -04:00
John Hood 01749be642 Add test for behavior at column 80. 2015-10-14 23:28:21 -04:00
John Hood fb76563d33 Add multiline-scroll regression test 2015-10-14 23:28:21 -04:00
John Hood 14ae25ee2a Add test for unicode combining fallback assert, issue 667 2015-10-14 23:28:12 -04:00
John Hood 307b241f0d End to end test suite for Mosh sessions.
For original messy development history, see
https://github.com/cgull/mosh/tree/localhost
or
https://github.com/cgull/mosh/commit/e7feed48a4a271e2977f714f58acfa04cdaa5cca
2015-10-14 23:27:29 -04:00
John Hood 4a01dbdb06 .travis.yml: add OS X build, APT caching 2015-10-03 03:47:04 -04:00
John Hood 29112b410a configure: add --enable-warnings=distcheck
This disables -Werror everywhere but "Linux".
The heuristic is rather crude.
2015-10-03 03:46:17 -04:00
John Hood 5959342ac7 mosh-client: return meaningful exitstatus on network setup/teardown or other failure 2015-10-03 03:43:18 -04:00
John Hood 7fb542c874 Change SSH_CONNECTION fallback to allow IPv6 2015-10-03 03:43:18 -04:00
John Hood 448f9f1bab mosh: implement --local option for use without ssh 2015-10-03 03:43:18 -04:00
Keith Winstein 5a20626880 .travis.yml: Add auto-notifications to IRC 2015-09-23 23:48:18 -07:00
Keith Winstein 4b5389efe9 .travis.yml: opt in to Ubuntu 14.04 LTS beta CI infrastructure 2015-09-23 23:41:36 -07:00
Keith Winstein 7ec19a5bed terminal.cc: Remove overly-strong assertion on Unicode fallback
Fixes #667
2015-08-24 09:52:39 -07:00
Keith Winstein d1039d779e README.md: add Travis-CI build status (master branch) up top 2015-07-28 18:10:48 -07:00
Keith Winstein f673ddc2d0 Merge pull request #630 from andersk/travis
Add Travis CI configuration
2015-07-28 18:05:18 -07:00
Anders Kaseorg c5c1c4fae9 Add Travis CI configuration
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-07-28 18:51:58 -04:00
Anders Kaseorg 6adcbdcaf2 make distcheck: Enable -Werror and examples
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-07-28 18:51:58 -04:00
John Hood 3c3b356cb5 Bump version to 1.2.5.
Signed-off-by: John Hood <cgull@glup.org>
2015-07-12 12:48:22 -04:00
John Hood fce56ae6fe Improve Makefile generation of version files.
Remove bad automake dependency causing double execution.
Properly update the version in the non-Git case.
Git commands are now in a condition-expression, won't break build.
Test that we're in repo root (i.e., our own and not somebody else's).
Do `git describe --always` to handle shallow Git clones.

Signed-off-by: John Hood <cgull@glup.org>
2015-07-07 19:09:09 -04:00
John Hood 7f7a1beb0f Fix bad bash-completion directory in non pkg-config case.
Signed-off-by: John Hood <cgull@glup.org>
2015-06-28 16:13:35 -04:00
John Hood d988cad455 configure.ac: respect --prefix for bash completion
Signed-off-by: John Hood <cgull@glup.org>
2015-06-28 14:43:25 -04:00
John Hood 8905127ef6 Bump version to 1.2.4.95rc2 (1.2.5 release candidate.)
Signed-off-by: John Hood <cgull@glup.org>
2015-06-26 18:28:46 -04:00
John Hood dee1a2eecc Improve Debian bash-completion support
* Autoconf queries pkgconf for bash-completion dir-- resolves
  lintian's `package-install-into-obsolete-dir` diagnostic
* Use improved completion snippet from
  <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=782169>
* Remove old /etc/bash_completion.d/mosh "conffile" with
  dh-maintscript + dpkg-maintscript-helper

Closes #628.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-25 01:02:17 -04:00
John Hood 6a169dc7ea Revert "Update bash completion for Debian."
This reverts commit 05da49fc3f.
2015-06-24 00:28:23 -04:00
John Hood 05da49fc3f Update bash completion for Debian.
This improves the completion, as suggested in
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=782169>,
and moves the completion from `/etc/bash_completion.d/mosh` to
`/usr/share/bash-completion/completions/mosh` as recommended by
lintian in its `package-install-into-obsolete-dir` check.

Closes #628.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-21 16:27:06 -04:00
John Hood a099638603 macosx: Make build more portable and general
This broadens the OS X build support to include old and current OS
X/Xcode, and Homebrew/MacPorts.

Support pkgbuild/productbuild + metadata from Mosh-1.2.4-3 package
Search for protobufs in /{usr,opt}/local
Make build select pkgbuild if available, PackageMaker if not
Make PackageBuilder build work on OS X 10.5, XCode 3.1, Macports
Do version substitution
Use generic names for c/c++/cpp
Make build script arch-indepdendent
Changes install dir from /usr to /usr/local

Closes #633.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-21 16:20:11 -04:00
John Hood 83bfae7cf2 Add contents of mosh-1.2.4-3.pkg, except Payload
This is the base for new package builds using
pkgbuild and productbuild.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-21 16:16:38 -04:00
John Hood 310b899a23 Support older getaddrinfo() missing AI_NUMERICSERV
Define this flag as 0 if unavailable.
This is needed for my OS X 10.5 system.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-21 16:14:41 -04:00
Anders Kaseorg a2a34ef57f Include test suite in static analysis
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-11 01:17:37 -04:00
Anders Kaseorg 10dd74c016 NotificationEngine: Fix -Weffc++ warning
Fixes warning: ‘Overlay::NotificationEngine::escape_key_string’ should
be initialized in the member initialization list.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-11 01:16:52 -04:00
John Hood d0db0968b1 Enable altivec on ppc64el
From http://launchpadlibrarian.net/171225681/mosh_1.2.4a-1build1_1.2.4a-1ubuntu1.diff.gz

Fixes #615.
2015-06-11 00:55:12 -04:00
John Hood fc80eaaecf Show the escape key properly when server unavailable.
Fixes #624.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-11 00:49:06 -04:00
John Hood 39c8b04c97 Makefile.am: fixup version file generation
Signed-off-by: John Hood <cgull@glup.org>
2015-06-11 00:39:55 -04:00
John Hood c58642dd63 Add static checkers to Makefile
Signed-off-by: John Hood <cgull@glup.org>
2015-06-10 23:54:50 -04:00
John Hood 8acee95c02 Resolve Coverity issue with Parser::Transition's ownership of Action *.
This commit is somewhat subtle; it informs Coverity that
Parser::Transition only holds an Action* temporarily, and should never
create/delete one.  I believe runtime checkers should also understand
this OK.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-10 23:52:25 -04:00
John Hood 6f4a59e20f Resolve Coverity issues
Signed-off-by: John Hood <cgull@glup.org>
2015-06-10 23:51:42 -04:00
John Hood 026a3f0346 Resolve cppcheck issues.
Signed-off-by: John Hood <cgull@glup.org>
2015-06-10 23:50:56 -04:00
Keith Winstein c064ec1946 Update AUTHORS and THANKS 2015-06-09 23:09:47 -07:00