Commit Graph

1389 Commits

Author SHA1 Message Date
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
John Hood c532429784 1.2.4.95rc1 pre-release.
Includes Debian and Fedora packaging.  Mac OS X package build is still
broken.

Signed-off-by: John Hood <cgull@glup.org>

Closes #625
2015-06-09 23:09:07 -07:00
Keith Winstein 305fe612a4 .gitignore: add autogenerated files 2015-06-09 23:01:01 -07:00
Keith Winstein 43ff145c2f debian/control: bump standards version 2015-06-09 23:00:57 -07:00
Keith Winstein 2e4e601468 mosh-server.cc: compare like types.
Fixes #626 (resize not working) introduced by 543f346a
2015-06-09 15:17:48 -07:00
John Hood dd58a398de ocb.cc: Mark local functions as static
This fixes the broken i386 build (aka generic code).
Untested on __ALTIVEC__ and __ARM_NEON__.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-07 17:06:40 -04:00
Anders Kaseorg 90965f175f benchmark: Swap misleading width and height variables
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-06 13:53:05 -04:00
John Hood 543f346ac7 Fix various new compiler warnings.
terminalfunctions.cc: set_if_available() was undeclared.
Fix printf() wint_t/wchar_t warnings.
mosh-server.cc: Fix warning for side effects inside typeid().

Signed-off-by: John Hood <cgull@glup.org>
2015-06-06 13:12:32 -04:00
Anders Kaseorg b604a7d7c2 Respect HOME environment variable if set
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-05 22:53:31 -04:00
Anders Kaseorg 9019f62bf6 Respect SHELL environment variable if set
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-05 22:53:31 -04:00
John Hood 8a91e78349 termemu: respect $SHELL and exec argv if given
Signed-off-by: John Hood <cgull@glup.org>
2015-06-05 22:41:21 -04:00
John Hood 73fd6442c5 Add command line parameters for benchmark. 2015-06-05 22:41:21 -04:00
John Hood 67c22e5065 issue #507: fix/simplify parsing of colors 2015-06-05 00:12:01 -04:00
Anders Kaseorg fb97e54b2f configure: Add -Wmissing-declarations to maximum compiler warnings set
This helps to catch inconsistent declarations in headers that weren’t
included, and local functions that are not marked static.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 23:52:03 -04:00
Anders Kaseorg cd2ae36f36 Mark local functions as static
This helps to catch unused functions like the former mosh_read_line,
allows the compiler to make better inlining decisions, and reduces the
binary size a bit.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 23:52:03 -04:00
Anders Kaseorg a52b095f50 mosh-server: Remove unused mosh_read_line function
This function is buggy.  feof(file) does not become true until after
we’ve tried to read past the last character; it should instead be
checking the getc return value for EOF (which is distinct from any
unsigned char).  Really it should just be replaced by istream
&std::getline(istream &is, string &str).  Fortunately, it’s unused so
we can just delete it.

Resolves a truncated stdio return value issue found by Coverity Scan
service.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 23:50:40 -04:00
Anders Kaseorg 0824e6549a base64: Make base64_encode declaration consistent with its definition
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 23:50:40 -04:00
Anders Kaseorg 8f6b226d8b Base64Key: Deduplicate PRNG code
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 23:50:40 -04:00
Anders Kaseorg c03bacd0c9 mosh-server: Catch exception for parsing nonintegral number of colors
Print a real error message instead of abnormally aborting.  Found by
Coverity Scan service.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 23:50:40 -04:00
Anders Kaseorg 23f0eedb8c Parser::UTF8Parser::input: Remove dead code for negative size_t
size_t is unsigned.  Fixes two issues found by the Coverity Scan
service, one about the dead code and one about the std::string
exception being uncaught by mosh-server.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 23:50:40 -04:00
Geoffrey Thomas a38b6f61d5 STMClient::process_network_input: Return void, instead of always true
This function has never in its history had a codepath returning false.
2015-06-04 23:47:32 -04:00
Geoffrey Thomas 4b75bcfdd9 terminaldisplay: Make a for loop's boundary better match its body
Both f and frame.last_frame must have the same number of rows here, but
since we're iterating over frame.last_frame's rows, make that more
explicit.
2015-06-04 23:47:32 -04:00
Geoffrey Thomas f4a93fbf26 macosx: Stop setting ac_cv_poll_pty, since it was removed in bb651581. 2015-06-04 23:47:32 -04:00
Geoffrey Thomas b5ac92491c Throw std::exception subclasses instead of std::strings
Now everything we throw or catch ourselves is a subclass of
std::exception.
2015-06-04 23:47:32 -04:00
Geoffrey Thomas aeffb71cfc Style cleanup: "foo &x", not "foo& x" 2015-06-04 23:47:32 -04:00
Geoffrey Thomas 9e9919c941 UTF8Parser::input: size_t is unsigned, so it can't be negative 2015-06-04 23:47:31 -04:00
Geoffrey Thomas 5721b392ab Make all exception classes inherit from std::exception
This refactors out a very common pattern of formatting "%s: %s" with
e.function.c_str() and strerror( e.the_errno ) into just the what()
method of NetworkException. It's also a prerequisite for making cleaner
public API for any exceptions we throw, and allows us to more easily
get exceptions passed back to us to handle.
2015-06-04 23:47:31 -04:00
Anders Kaseorg ebecb9bd3a Remove trailing commas from enums
I do sympathize with the motivation for these trailing commas, but
they cause silly build failures with --enable-compile-warnings=error
(which is used at least by the Debian/Ubuntu package).

  CXX      parseraction.o
In file included from terminal.h:42:0,
                 from parseraction.cc:37:
terminalframebuffer.h:200:39: error: comma at end of enumerator list [-Werror=pedantic]
       MOUSE_REPORTING_ANY_EVENT = 1003,
                                       ^
terminalframebuffer.h:210:34: error: comma at end of enumerator list [-Werror=pedantic]
       MOUSE_ENCODING_URXVT = 1015,
                                  ^
cc1plus: all warnings being treated as errors
Makefile:354: recipe for target 'parseraction.o' failed

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-06-04 08:43:48 -04:00
John Hood 937ab14f86 scripts/mosh: Make the generated file executable. 2015-05-31 23:09:04 -04:00
John Hood 8af7473cc4 Reset XTerm mouse modes on suspend/exit. 2015-05-31 22:50:17 -04:00
Louis Kruger c4236c6762 Fix xterm mouse support. 2015-05-31 18:18:30 -04:00
Anders Kaseorg b58e750daf scripts/mosh: Fix hang when remote closes the connection
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-05-28 23:41:57 -04:00
John Hood 9eeb2fbffa mosh.pl: Add a better error message for IPV6 & Socket::IP. 2015-05-28 22:49:46 -04:00
Anders Kaseorg e7903f0de2 scripts/mosh: Allow IO::Socket::INET6 as an alternative to IO::Socket::IP
Some systems have IO::Socket::INET6 preinstalled, so we might as well
accept either.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-05-28 22:49:46 -04:00
John Hood 14bdd8f00f mosh.pl: Make syntax valid before Makefile edits. 2015-05-28 22:49:46 -04:00