Commit graph

84 commits

Author SHA1 Message Date
Russ Magee
5fb227b9f8 -Removed WriteDeadline in hkexnet.Close()
-hkexsh: fixed (non-)error handling for file copies

Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-20 18:50:09 -08:00
Russ Magee
d28a4af924 Added example openrc init script
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-13 23:59:34 -08:00
Russ Magee
2cb254ef69 Basic -T tun opt parsing
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-12 00:44:16 -08:00
Russ Magee
a9ebb102bd Stubbed tun option parsing
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-11 23:26:22 -08:00
Russ Magee
b0f614f82e Tunnel keepalives from client implemented. If client dies/exits unexpectedly the server
tunnel will disconnect from rport in a timely manner.

Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-11 22:46:39 -08:00
Russ Magee
0943797300 Minor cleanup prior to tackling os.Exit() in doShellMode() and server-side tun hangs 2018-11-11 21:05:25 -08:00
Russ Magee
6f1fcbbf7a Corrected tun chan Ctl cmd comments 2018-11-11 20:25:34 -08:00
Russ Magee
2a9e6af2ae Tunnels w/reconnect refinements:
-200ms deadlink timeouts
-Fixed TunConnRefused client hangup handling

Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-11 20:12:29 -08:00
Russ Magee
ba3cda95e8 Tunnels with reconnect working.
TODO: interactive client exit must collapse all open tunnels prior to exit.

Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-11 18:56:08 -08:00
Russ Magee
3b35751e2e WIP tunnel states, re-dial when not required needs debugging. 2018-11-07 19:35:32 -08:00
Russ Magee
492c7290b0 Much improved tunnel state management: server-side mostly working, client-side re-Accept() -> svr re-Dial() still required 2018-11-01 22:14:44 -07:00
Russ Magee
a425afe9b6 Tunnels working again to basic level w/o re-connect or re-dial 2018-11-01 18:52:01 -07:00
Russ Magee
081d88b9ad tunnel setup stubs moved into Conn Read()/Write() handling 2018-10-31 20:11:00 -07:00
Russ Magee
fcbdb77c79 Cleaned up error handling in hkexnet.Conn.Read() a bit 2018-10-30 21:07:42 -07:00
Russ Magee
632f24354b Tunnel rough work-in-progress; data sent (wrong length) and CSOTunClose handling needs work, but it's a start... 2018-10-28 19:17:47 -07:00
Russ Magee
1e6da733a2 Work on setup for tunnels
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-10-27 01:51:40 -07:00
Russ Magee
2f83d488d6 Pushed logging into sub-package to preserve windows client build
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-10-26 16:05:01 -07:00
Russ Magee
752dbf6080 logging now uses syslog 2018-10-25 22:14:18 -07:00
Russ Magee
4cb535fcc9 Added support for cryptMTv1
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-10-24 00:16:34 -07:00
Russ Magee
798661a0cf kex-spurious-failures branch:
-Modified KyberDialSetup()/KyberAcceptSetup() to use []byte for reading/writing
ciphertext to avoid errors caused by leading zero bytes (big.Int can't explicitly
represent these)

-TODO: Consider the same for HerraduraKEx HKexDialSetup()/HKexAcceptSetup()
2018-10-18 20:44:23 -07:00
Russ Magee
5d9a110d57 Added more (explicit) sizes for all KEX algs 2018-10-12 16:16:49 -07:00
Russ Magee
231ede1734 KYBER768 KEM works. :O 2018-10-10 21:12:38 -07:00
Russ Magee
4c286ae6c1 Set up to handle Kyber768 KEM 2018-10-08 21:31:11 -07:00
Russ Magee
cd9f7914e0 Dial() and Accept() again conform to net.Dial(), net.Accept() return signature 2018-09-29 12:15:53 -07:00
Russ Magee
b810fa7f4a tightened up some const types 2018-09-17 23:07:04 -07:00
Russ Magee
8b0b833d6e Split hkexsh and hkexnet consts into separate files 2018-09-17 17:27:13 -07:00
Russ Magee
84e29bdf51 Fixes to authtoken/password indication at login 2018-09-16 22:22:14 -07:00
Russ Magee
d25b883873 Fixed bug in fallback from authtoken (-g) to password login 2018-09-16 17:30:02 -07:00
Russ Magee
19697d5164 Remote exit status now reflected in client->server copies 2018-09-16 17:14:50 -07:00
Russ Magee
e02764bf4b .hkexsh_id file supports multiple authtokens (multi remote hosts, aliases for same remote host) 2018-09-14 11:58:10 -07:00
Russ Magee
d9b34fa631 GenAuthToken() now uses client-supplied ConnHost 2018-09-14 01:13:14 -07:00
Russ Magee
1efc1337df -TODO items; scrub authCookie after use 2018-09-14 00:40:20 -07:00
Russ Magee
c9eb6bcb38 Added -a authtoken feature for scripted use 2018-09-13 23:51:49 -07:00
Russ Magee
bee0bececf -Bumped version to 0.2pre to reflect protocol break w/0.1pre
-Added design principle note (no downgrade attack-enabling protocol features)
2018-09-10 20:28:41 -07:00
Russ Magee
dcb42d43f1 -BREAKING CHANGE: pre-KEx byte sent for KEx alg (default and only for now: KEX_HERRADURA) 2018-09-10 20:22:09 -07:00
Russ Magee
075ca7521c Client now passes xterm-256color in Session 2018-09-07 20:37:47 -07:00
Russ Magee
9e803ffc19 -Moved recCmd out of hkexsh and hkexshd into hkexsession.go (now abstract Session type) 2018-09-07 15:35:33 -07:00
Russ Magee
bff56a2c61 -Added -z option back to tarpipes
-Moved remaining chatty fmt.Prints to log.Print
2018-09-06 16:37:17 -07:00
Russ Magee
b33e9de139 -Moved taunting of failed logins to client-side
-Added byte auth pass/fail stage prior to shell/copy session start
2018-09-06 16:23:57 -07:00
Russ Magee
9ff35a69fe -Converted exit status to uint32 (0-255: UNIX exit codes), above for OOB (out-of-band) status
-Failed auth for shell logins now returns extended code CSEBadAuth to client
2018-09-06 13:50:56 -07:00
Russ Magee
8a24fb113f client prints nonzero remote end exit status; comment cleanup 2018-09-06 11:40:13 -07:00
Russ Magee
db1b494d00 Fixed shell (interative & non-) exit status after cp status fixes 2018-09-06 00:16:44 -07:00
Russ Magee
a6979298fd Steps toward getting remote cp(tar) status back to client 2018-09-05 21:58:55 -07:00
Russ Magee
b419b2e002 File copy remote close signal to ensure completed tar pipe data 2018-09-04 22:24:16 -07:00
Russ Magee
7295492aa3 hkexcp: fixed copy chunked payload logic (now 2*32-1 MAX_PAYLOAD_LEN w/chunking) 2018-09-02 19:58:13 -07:00
Russ Magee
52ea229118 Fixed errors in copy scatter/gather logic. Added block-chunking to hc.Write() to allow
writes of larger data blocks
TODO: copies of files > hc.Read() block size fails w/incomplete tarfile (last partial block
likely incorrectly written or client exits before data is flushed?)
2018-09-01 10:20:33 -07:00
Russ Magee
143990da34 Scatter/gather for client->server copy now functional 2018-08-30 20:06:42 -07:00
Russ Magee
6389ad49d5 Improved flag.Usage() for cp/sh and removed more recursiveCopy flag remnants 2018-08-26 00:12:42 -07:00
Russ Magee
9025ee3c24 Cleaned up flag help txts; removed unused doCopyMode() recurs arg 2018-08-25 23:51:11 -07:00
Russ Magee
1986ec6f0c Removed :port: from 'fancy' arg syntax; more improvements to src/dest file spec logic (esp. fixing bug in multiple src file/dir args to remote dest) 2018-08-25 23:38:58 -07:00