Commit Graph

39 Commits

Author SHA1 Message Date
Keith Winstein 0909ea55d6 Check for netinet/ip.h (now that we are using it), and don't also use in.h 2012-10-22 10:34:16 -04:00
olgeni 2e39dbc977 Fix calls to setsockopt.
On FreeBSD, the socket option length must be declared as an int.

While I'm here, translate dscp (0x92) to the appropriate constants.

(tested on FreeBSD only so far)
2012-10-22 14:29:39 +02:00
Keith Winstein 39276a46ad More conservative default MTU, and react to MSGSIZE 2012-10-16 17:46:05 -04:00
Keith Winstein be3b1259b6 Make sendto() non-blocking 2012-10-16 17:40:02 -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 9eb9a0386e Warn on congestion 2012-10-04 21:47:58 -04:00
Keith Winstein 9ac3b65090 Respond to explicit congestion notification (slow down sender) 2012-09-28 19:07:31 -04:00
Keith Winstein 815aff9a73 Don't assert has_remote_addr, because can change between fragments. 2012-08-15 23:58:21 +03: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 82830344ca Hop ports when missing E2E2E connectivity, even if downlink working. 2012-08-13 14:26:53 +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 a744004bf6 Get system timestamp less often (only after sleeping/selecting) 2012-07-26 21:13:26 -04:00
Keith Winstein 92ecb99b71 Add OpenSSL licensing exception 2012-07-20 16:46:00 -04:00
Alexander Chernyakhovsky 0099f080ad Fix FTBFS on ARM on GCC 4.7.0
GCC v4.7.0, as found in Fedora 17 and newer, fails to build mosh on
ARM because of a narrowing warning, which is then promoted to an error
by -Werror.  This error message is new, and did not occur under
previous versions of GCC.

This patch corrects this error by explicitly casting to the desired
datatype the return value of the offending code, the result of a macro
from glibc to implement htobe16().
2012-06-20 01:24:08 -04:00
Keith Winstein 88bed3e94a Remove warning for IP_TOS failure 2012-06-12 14:39:36 -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 ade0aaa3e8 Make IP_TOS failure non-fatal per Keegan. 2012-05-25 21:00:51 -04:00
Dave Taht 72e6c85e3d Set diffserv values to AF42 + ECT
AF42 has both the properties of CS42 and the IMM bit.

Whether this has the advantages or disadvantages of just one or
the other, I don't know. With most mac80211 stacks this will
force mosh packets in the VI queue on wireless.

As for pfifo_fast, have to look it up...
2012-05-25 20:40:49 -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
Massimo Gengarelli 49fc21c8a3 Catch by const reference (remove Eclipse warnings)
(closes #245)
2012-04-29 02:24:31 -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 99e8626a01 Tidy check for exception in Network::Connection::send(). 2012-04-15 23:29:05 -04:00
Keith Winstein aca69ef684 Server does not need to raise exception on failed sendto(). Fixes #183. 2012-04-15 23:13:58 -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
Alexander Chernyakhovsky 87d57c9567 Add unistd.h to network.cc to allow mosh to build on Fedora Rawhide (future Fedora 18) 2012-03-26 18:46:52 -04:00
Keith Winstein 66c6c0669a Print pre-CONNECT output only on failure 2012-03-10 03:55:25 -05:00
Keith Winstein df3eec1397 Allow explicit UDP port option, confine ports to range 60000..61000 2012-03-10 03:34:47 -05:00
Quentin Smith a1671bcf3b Handle the absence of IP_MTU_DISCOVER 2012-03-07 03:05:36 -05:00
Quentin Smith 582bf347c9 Add alternate timestamp implementations
Add mach_absolute_time and gettimeofday timestamp implementations, and
fix clock_gettime check so that it can actually succeed
2012-03-07 03:05:36 -05:00
Quentin Smith 17d6962af8 Check for proper byteorder functions
[andersk@mit.edu: Add byteorder.h to libmoshcrypto_a_SOURCES]
2012-03-07 03:05:36 -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 58b584a2b3 Move from protobuf-lite to protobuf to accommodate Ubuntu lucid
Add changelog entry
2012-02-20 00:40:08 -05:00
Anders Kaseorg af649a035c Add missing #includes
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 19:24:51 -05:00
Keith Winstein d8533ca3a6 Get rid of PMTU discovery; Cisco VPN has MTU=1200 and breaks ICMP too-big. 2012-02-09 00:36:28 -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