Commit Graph

36 Commits

Author SHA1 Message Date
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
John Hood ece4280401 Reduce IPv4 MTU to 1280.
Seems to fix #773.
2016-07-12 01:06:01 -04:00
John Hood 255dc39c9f Factor encrypt/decrypt out of Network::Message. 2016-03-30 23:52:19 -04:00
John Hood 6abd4739de Const correctness and const-ref in Crypto and elsewhere. 2016-03-30 23:52:19 -04:00
John Hood 13928e9c10 Use a secure counter for OCB's nonce. Protect nonce in Network::Packet. 2016-03-30 23:52:19 -04:00
John Hood 3fa42cb8bb Support different IPv4 and IPv6 MTUs.
Closes #688.
2015-11-29 10:31:17 -05: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 553918d3f2 Connection: Support IPv6 addresses
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2013-08-17 09:02:44 -04:00
Anders Kaseorg 110cce3773 Connection: Move socket creation out of setup
Once we support IPv6, we won’t be able to create a socket until we
know which address family to use.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2013-08-17 08:58:16 -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 866e1399d5 Socket::operator=: Return non-const reference
Found by cppcheck.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2013-03-10 15:48:08 -04:00
Keith Winstein 6a16eecce0 Use dup() instead of move semantics for Network::Socket 2012-11-23 13:31:23 -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 39276a46ad More conservative default MTU, and react to MSGSIZE 2012-10-16 17:46:05 -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
Keith Winstein b8df3eed11 Lengthen port hop interval to 30 seconds 2012-10-04 23:46:08 -04:00
Keith Winstein 9cf411ac3f Change server association timeout to 40 seconds 2012-10-04 21:45:42 -04:00
Keith Winstein 9ac3b65090 Respond to explicit congestion notification (slow down sender) 2012-09-28 19:07:31 -04:00
Keith Winstein 5376ed1996 Use end-to-end-to-end connectivity (in transport layer) to control port hop.
Avoid playing games with network-layer timestamps.
2012-08-13 16:48:25 +03:00
Keith Winstein a21fed3dca Remove automatic hopping triggers from SSP. 2012-08-13 14:59:20 +03:00
Keith Winstein 89da6105aa When not connected, (1) client hops port numbers (2) server stops sending. 2012-08-13 11:19:25 +03:00
Timo Sirainen 620152261e Don't use s_addr as parameter name. Fixes compiling with Solaris.
Signed-off-by: Timo Sirainen <tss@iki.fi>
2012-08-11 17:14:44 -04:00
Keith Winstein 92ecb99b71 Add OpenSSL licensing exception 2012-07-20 16:46:00 -04:00
Keith Winstein 37f78d0e4c Disable out-of-order warning (fires too much on some 802.11n networks)
This reverts commit 682bbdfebd.
2012-05-30 02:04:32 -04:00
Keith Winstein 682bbdfebd Warn on out-of-order or duplicated packets (or missing nonce increment!) 2012-05-23 18:08:31 -04:00
Keegan McAllister 67a85eaf99 Deliver sendto() exceptions without disturbing control flow
This prevents the client from waking up every 200 ms while the network is down.
Addresses #243.
2012-05-09 14:19:46 -04:00
Keith Winstein 22e7cf60d3 Keep aligned buffers around, instead of allocing on each packet
Fixes #238 github issue.
Also fixes armel "Bad alignment" problem.
2012-04-24 18:40:01 -04:00
Keith Winstein 7be90ae244 Close server-related file descriptors before executing child process
Closes #170 github issue.
2012-04-13 13:48:56 -04:00
Keith Winstein df3eec1397 Allow explicit UDP port option, confine ports to range 60000..61000 2012-03-10 03:34:47 -05:00
Keegan McAllister e35733a2c1 Rename 'attached' to 'has_remote_addr'
Even with future support for detaching and reattaching, this variable will keep
its original meaning.
2012-03-06 11:54:56 -08:00
Keith Winstein f0199e2695 Bump version numbers (including Mosh protocol version)
This server is now incompatible with older clients and vice versa.
2012-02-25 15:16:21 -05:00
Keith Winstein 58b584a2b3 Move from protobuf-lite to protobuf to accommodate Ubuntu lucid
Add changelog entry
2012-02-20 00:40:08 -05:00
Anders Kaseorg 6c52c1d306 Purge ‘using namespace std’ from header files
std::bind and boost::lambda::bind don’t mix.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 20:22:12 -05:00
Keith Winstein feb64eec52 Make utmp entries using utempter 2012-02-13 05:43:07 -05:00
Keith Winstein 3781a290c8 Add copyright/license notices 2012-02-06 20:52:48 -05:00
Keith Winstein 38c9e99882 Separate modules by subdirectory 2012-02-06 18:26:45 -05:00