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
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
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
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
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
john hood
f3073bbe5d
Add git commit version info
2015-05-25 03:46:48 -04:00
John Hood
fdf8e427c3
OpenBSD: Use snprintf, not sprintf (PORT)
2015-05-25 02:17:24 -04:00
Richard Woodbury
cd1317b273
Conditionally rename main to mosh_main for building under NaCl.
2014-04-26 20:50:01 +00:00
Anders Kaseorg
50152bfcba
mosh-client: Catch all exceptions when ensuring client is shut down
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2014-01-08 18:54:40 -05:00
Anders Kaseorg
56837881fc
Fix MOSH_ESCAPE_KEY validation
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2014-01-08 18:52:08 -05:00
Igor Bukanov
96bf5af1b4
mosh-server: allow startup with PTY with zero width or height like Emacs shell.
...
Closes #472
Closes #473
2014-01-04 02:55:17 -05:00
Anders Kaseorg
553918d3f2
Connection: Support IPv6 addresses
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-08-17 09:02:44 -04:00
Anders Kaseorg
c1f96b37a1
Connection: Store the port number as a string
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-08-17 08:26:30 -04:00
Anders Kaseorg
9187e307c6
mosh-client: Print exceptions after the client is shut down
...
Otherwise the printed exception may be immediately hidden when the
terminal exits alternate screen mode.
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-08-17 08:26:30 -04:00
Keith Winstein
45bba44c83
mosh-server: Allow startup without PTY
2013-07-15 11:20:07 -04:00
Timo J. Rinne
f960a8bcf5
mosh-client: Make terminal escape character configurable
...
Uses environment variable MOSH_ESCAPE_KEY. Defaults to current Ctrl-^
which is somewhat problematic for many non-US keyboards.
Signed-off-by: Timo J. Rinne <tri@iki.fi >
Closes #425 . Closes #215 .
2013-05-17 15:05:33 -04:00
Alexander Chernyakhovsky
172b1e5cef
Cast time_elapsed to int before calling human_readable_duration
...
When attempting to build againt EPEL 5, it was noticed that
human_readable_duration expects an int, but time_elapsed is an
integer. Explicitly static_cast<int>( time_elapsed ) to appease older
compilers.
2013-03-27 02:15:25 -04:00
Keith Winstein
61c6ee6011
Send SIGSTOP to whole process group on suspend ( closes #401 )
2013-03-27 00:26:59 -04:00
Keith Winstein
abf240768f
Cleanups when suspending/resuming with smcup/rmcup
2013-03-11 01:25:18 -04:00
Keith Winstein
093bbc9111
Detached warning: Omit spurious utmp entries (generated by screen)
2013-03-10 16:31:37 -04:00
Anders Kaseorg
a54e6d1661
STMClient::still_connecting: Make const
...
Found by cppcheck.
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
Closes #390 .
2013-03-10 15:48:12 -04:00
Anders Kaseorg
d0eeabb51e
human_readable_duration, Terminal::appendstring: Pass strings by reference
...
Found by cppcheck.
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-03-10 15:48:08 -04:00
Anders Kaseorg
e2abb8524f
Catch exceptions by reference
...
Found by cppcheck.
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-03-10 15:48:08 -04:00
Anders Kaseorg
03217ddb5a
Move Emulator::{open,close} to Display
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-03-10 15:46:38 -04:00
Anders Kaseorg
ba8d013609
main: Don’t leak desired_ip memory
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
Closes #385 .
2013-03-10 15:45:52 -04:00
Anders Kaseorg
b9763b6997
serve: Remove dead store of bytes_read
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-03-10 15:45:47 -04:00
Anders Kaseorg
d6ff754a9a
get_SSH_IP: Don’t leak SSH_writable memory
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-03-10 15:45:47 -04:00
Anders Kaseorg
2686b7c634
main: Don’t leak shell_name memory
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu >
2013-03-10 15:45:47 -04:00
Alexander von Gernler
ebe7ae96f6
fix a perror() message in mosh-server
...
A perror() message flanking an open() call was reading "dup2" where it
should read "open".
[closes #377 ]
2013-01-18 11:51:28 -05:00
Anton Lundin
438d0d8b9a
Use the right term.h
...
When ncurses is in a separate include dir, we need to take the term.h
from there to match with the [n]curses.h
2012-12-16 17:30:14 +01:00
Keith Winstein
1fe6799092
Don't leak extra /dev/null fd (thanks to Julien Cristau)
2012-12-12 19:05:24 -05:00
Keith Winstein
1034f7092a
Wrap termio.h include in guard
2012-12-12 18:03:15 -05:00
Anton Lundin
55eb2759c0
use unistd.h instead of getopt.h
...
getopt.h doesn't exist on AIX and getopt is in unistd.h
2012-12-01 14:49:29 +01:00
Anton Lundin
73d39980f4
Solaris term.h needs both termio.h and termios.h
...
On solaris, the term.h pulls in termio.h and termios.h if it detects
that they are not loaded. Because stmclient.h pulls in termios.h that
breaks type definitions in term.h that needs termio.h.
2012-12-01 12:53:29 +01:00
Anton Lundin
993abf57f1
Rework curses detection
...
Detect diffrent variants of curses and use them.
2012-12-01 12:53:28 +01:00
Keith Winstein
a2da17d48a
Don't immediately clear network exceptions, even when problem solved
2012-11-26 04:19:56 -05:00
Keith Winstein
e2b40fcaa7
Show infobar when Ctrl-^ is typed.
2012-11-26 04:03:04 -05:00
Keith Winstein
5eafc209ea
Allow suspend by keystroke (Ctrl-^ Ctrl-Z)
...
(based on patch by Nickolai Zeldovich)
2012-11-26 03:34:14 -05:00
Keith Winstein
1c2b48abc6
mosh-server warning on unattached servers checks that device exists
2012-11-26 03:06:11 -05:00
Keith Winstein
2f8a67acc7
Adjust timeouts so server dies quicker, updates utmp slower
2012-11-26 02:21:06 -05:00
Keith Winstein
486325e76b
mosh-server: Fix bug where spins forever if process dies while disconnected
2012-11-26 02:14:48 -05:00
Keith Winstein
b018e3a1ab
Make "elapsed time" human readable even when other error is displayed
2012-11-05 22:02:46 -05:00
Keith Winstein
cdd00fee42
Simplify implementation of human_readable_duration()
2012-11-05 21:57:02 -05:00
Kevin Ballard
efbe9b2bab
Make the 'lost contact' string more human-readable
...
Teach the 'lost contact' warning string about time units larger than
seconds. After 60 esconds it will switch over to using a time display
that looks like 1:23, or 1:02:34.
Fixes #321 .
Signed-off-by: Kevin Ballard <kevin@sb.org >
2012-11-05 18:39:09 -08:00
Keith Winstein
28ed30c356
Allow stopping (via kill -STOP) and "fg" to resume session
2012-11-04 13:07:24 -05:00
Luke Mewburn
141ec239da
Support port range as -p/--port PORT[:HIGHPORT].
...
Extend mosh and mosh-server to support parsing a high port from
the desired_port argument. The first (low) port must not be
greater than the second (high) port.
If only one value is provided, behaviour is as before; bind
to one port. Also tweak the formatting in mosh-server(1) synopsis
to be consistent.
This resolves mosh issue # 296.
Signed-off-by: Luke Mewburn <luke@mewburn.net >
2012-10-29 14:59:28 -04:00
Keith Winstein
da18a8c7ea
Detect edge case when argc == 0
2012-10-20 14:17:19 -04:00
Ira Cooper
deecf6bb2f
Add limits.h to allow for illumos to compile.
...
Closes #331
2012-10-05 04:02:11 -04:00
Keith Winstein
c0092a6e7e
Hop new ports, but keep the old [for a minute, and up to 10 at a time]
...
(One is silver and the other gold...)
2012-10-05 02:51:25 -04:00