Commit Graph

106 Commits

Author SHA1 Message Date
Russ Magee b19687c80b The Great Renaming: hkexsh -> xs (Xperimental Shell)
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-10-29 23:11:03 -07:00
Russ Magee a990c5e1f3 Cleaned up flag strings
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-09-14 23:47:41 -07:00
Russ Magee c95794da1f Uncoupled kcp-go UDP support by moving into hkexnet/kcp.go
TODO: cmdline param to set KCP symmetric key & salt at launch (consider
also from a file to avoid putting inline in invocations, eg., init scripts)

Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-08-16 23:16:40 -07:00
Russ Magee d7dbcd8fdf Added experimental support (-K) for kcp-go reliable-UDP instead of TCP
github.com/xtaci/kcp-go

** Note: hkexcp appears to hang (client-side) on completion w/complete file copy
   (Note server-side logs on final missed ctrlStatOp msg)

Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-08-13 20:56:01 -07:00
Russ Magee 06854f7a03 Added make-controlled version, gitCommit (thanks to https://preslav.me/2019/07/09/adding-version-information-to-go-binaries/ 2019-07-11 10:12:38 -07:00
Russ Magee 2087aab2d5 Minor cleanup to keepalive timing jitter comments 2019-07-10 20:44:02 -07:00
Russ Magee f5480553df Random jitter to tun keepalive timing
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-07-10 01:11:23 -07:00
Russ Magee 825429003b Added enforcement of min/max vals for chaff freq, bytesize
Made HerraduraKEx 512 default KEx (was HerraduraKEx 256)

Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-07-03 09:50:37 -07:00
Russ Magee c24529a1d4 log of cipher/plaintext disabled (flags unexposed to re-enable); pprof tooling 2019-06-19 21:42:34 -07:00
Russ Magee 5511fc83cd Better error handling (no panic) for client connrefused
Server logs error w/o exiting if missing hkexsh.passwd file

Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-05-19 22:30:32 -07:00
Russ Magee cbf3c77342 Cleaned up/added commenting (hkexsh/, hkexnet/)
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-05-09 22:46:08 -07:00
Russ Magee df84580e63 Merge branch 'master' of https://gogs.blitter.com/RLabs/hkexsh 2019-04-08 22:00:06 -07:00
Russ Magee f09d6bbfef Added NEWHOPE and NEWHOPE_SIMPLE KEM algs
Fixed some -h typos, missing H_SHA512 option
randReader seed time.Now().UnixNano()

Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-04-08 21:58:33 -07:00
Russ Magee 9a72e02fc0 Comment and redundant file cleanup
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-04-06 23:14:28 -07:00
Russ Magee a53ec4ac2d termmode.go: Added nil check in term.Restore() for nonexistent cp filename
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-04-05 19:10:38 -07:00
Russ Magee ea01123b87 GoReporter recommended cleanup 2018-12-12 00:34:23 -08:00
Russ Magee 3dab963bc9 Commented on client custom io.Copy and copyBuffer
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-12-08 21:53:35 -08:00
Russ Magee a0e90c14ba Praise Bob!
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-12-08 21:44:06 -08:00
Russ Magee 9641fd3fff Console esc seqs no longer affect in-band input
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-12-08 21:37:26 -08:00
Russ Magee 5ad08fd3b3 tty state restored prior to printing nonzero exit status for interactive shell sessions
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-29 18:28:30 -08:00
Russ Magee 291bacf2df Fix for issue #11 2018-11-29 18:06:03 -08:00
Russ Magee 103d76989e Fixed mis-named goroutine in doShellMode
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-25 21:08:37 -08:00
Russ Magee 556a9fcfd0 Merge branch 'metalint'
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-25 18:47:33 -08:00
Russ Magee 6fbbcdadb6 Gometalinter cleanup/audit of hkexsh, hkexshd, hkexpasswd
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-25 10:24:10 -08:00
Russ Magee 5eb80f4226 Further graphviz work; named hkexsh goroutines 2018-11-22 23:43:03 -08:00
Russ Magee 738bcf3ba9 Begin experiments with graphviz 2018-11-22 23:09:22 -08:00
Russ Magee 0b668630e7 hkexsh gometalinter cleanup 2018-11-22 16:49:09 -08:00
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