Commit Graph

77 Commits

Author SHA1 Message Date
Russ Magee ce1adf7a07 Merge branch 'master' into kcp-udp 2019-08-22 23:31:36 -07:00
Russ Magee c354036952 Fixed incomplete -x cmd output due to premature ptmx.Close for non-interactive sessions
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-08-22 23:18:20 -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 795adf6aa0 Added server -L option to use host builtin login
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-08-08 21:36:37 -07:00
Russ Magee 2946618a02 Hopeful fix for issue #18
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-08-08 00:21:34 -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 1aa8a1549b Used fixed goutmp pty logging
Signed-off-by: Russ Magee <rmagee@gmail.com>
2019-07-04 20:27:49 -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 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 b6a22ce64a gofmt cleanup 2018-11-28 21:03:20 -08:00
Russ Magee 85619f3cc9 Fixed graphviz tag for stdinToPtyWorker goroutine
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-25 18:55:07 -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 fc05a9a4a3 Added fixup-gv.sh and Makefile rules to generate annotated goroutines in graphviz output.
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-25 18:43:53 -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 74a64489e5 Reverted bad hkexnet.Close diff 2018-11-19 14:38:39 -08:00
Russ Magee 673074d618 Reverted hkexnet.Close() deletion, caused hang
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-19 15:26:01 -08:00
Russ Magee 1909786a4b -Removed Close on null failed Listener (hkexshd)
-Removed premature net.Conn.Close() in hkexnet.Close() (hkexnet)

Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-19 14:16:48 -08:00
Russ Magee 03eff74d8b Added signal handling for hkexshd to respond as well-behaved daemon
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-15 22:57:21 -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 a425afe9b6 Tunnels working again to basic level w/o re-connect or re-dial 2018-11-01 18:52:01 -07:00
Russ Magee 25d85f6759 Cleaned up hkexshd.go to use new logger as well
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-10-26 18:20:32 -07:00
Russ Magee 752dbf6080 logging now uses syslog 2018-10-25 22:14:18 -07:00
Russ Magee 103070d00a Made padding size random [max/2, max); use of improved goutmp host lookup 2018-10-02 21:23:45 -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 e57d97d3e6 Changed many funcs to take *hkexnet.Conn to allow tracking of packets sent, total bytes sent and experimental moving avg chaff 2018-09-26 22:57:36 -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 869dbf6e10 Bumped version 2018-09-16 23:54:25 -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 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 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 963d1c8eb2 Some comment/dead test code cleanup 2018-09-05 20:36:32 -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 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 c3572d7c0c Fixed abs/relative path for client dest copies 2018-08-30 20:16:55 -07:00
Russ Magee 143990da34 Scatter/gather for client->server copy now functional 2018-08-30 20:06:42 -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
Russ Magee ca2b6efd9b client->server and server->client file/dir copies minimally working 2018-08-24 23:22:07 -07:00
Russ Magee 7867f84b87 WIP: server->client copy primitively functional; TODO client->server copy 2018-08-24 18:50:45 -07:00