…using error msg.
Fixes: $ MOSH_KEY=foo ./mosh-client 127.0.0.1 60010 Crypto exception: Key must be 22 letters long. Segmentation fault Closes #189.
As far as I know, for all implementations of libutempter, the utempter_remove_added_record() function depends on the file descriptor passed to utempter_add_record() to still be valid. The reason for this, is that this file descriptor is propagated to the setuid utility that is responsible for modifying utmpx. Modify the code to remove the utmpx entry before closing the pseudo-terminal master device. While there, simply use utempter_remove_record(), which takes the file descriptor explicitly. The advantage is that this prevents potential foot-shooting in the future. Visual inspection of the source code will make it more obvious that utempter depends on the file descriptor. Closes #179.
[keithw -- applied style change from kmcallister] Closes #181.
Let users specify an ssh outside their PATH, or extra flags like -p or -i. Modify the usage message to describe this feature and hint at the semantic difference viz. --client=path\ to\ client vs --ssh="path\ to\ ssh". Closes #53 [firstname.lastname@example.org -- applied fixes per Anders Kaseorg]
EL5 lacks htobe64 and friends. Using its byteswap.h requires an endianness check in our headers, which is fragile and compiler-dependent. It's a fair amount of code , and is only useful on EL5. So instead, let's include a fallback implementation of these functions, and use it whenever we can't find the (now-)standard Linux or OS X routines. The fallback is endianness-independent and should work on any platform.  rurban@da1a5ab
Needed for EL5. Based on: rurban@c70c370
… us on Mac.