Russ Magee
d465c1ee5b
Initial experiments: HMAC on stream
2018-02-16 18:46:29 -08:00
Russ Magee
6ea206fbc2
Merge of public work on github.com/Russtopia/hkexsh repo
2018-02-16 18:43:37 -08:00
Russ Magee
2b44c87815
Partial fixes to client login env; Added missing Conn.Listener interface methods to hkex.Conn.Listener
2018-01-26 16:15:39 -08:00
Russ Magee
52423b7144
Cleaned up some debug, moved insulter for failed login into project
2018-01-24 18:14:21 -08:00
Russ Magee
d484ec7fd1
Added hkexpasswd util; moved minimal term stuff into hkexauth.go
2018-01-23 13:53:05 -08:00
Russ Magee
4d9ea3cbe1
Brought in ReadPassword from ssh/terminal, enabling entry of authCookie w/o term
...
echo.
TODO: consider methods of securing authCookie in auth file (salt+hash etc.)
2018-01-21 22:02:08 -08:00
Russ Magee
59337db7e3
Changed to use runShellAs() (pass cmdline to bash) rather than runCmdAs (os.exec)
...
to allow pipelines, redir etc.
2018-01-21 17:31:54 -08:00
Russ Magee
6fd8ac1519
Added -u (user), -x (exec cmd) options, -d (dbg) for logging; detection of "-x -" for
...
stdin/pipeline commands.
2018-01-21 15:46:40 -08:00
Russ Magee
e3842e4219
Removed channel-based server loop goroutine, solving eaten initial byte issue.
...
Made receivers on hkex.Conn mutators *Conn again (whoops)
TODO: Consider: padding (? probably not, XORKeyStream OFB/CBC/etc. modes prevent
constant header/crib exposure, and would add lots of complexity to Read/Write)
TODO: Add CTR, other modes
2018-01-20 21:20:49 -08:00
Russ Magee
732005d9bf
Some cleanup in prep for possible io.ReadFull() fixed-block session-cmd header to resolve the eaten-byte issue handing Accept off to cmdRunner
2018-01-18 21:17:57 -08:00
Russ Magee
49c589ee8d
Added pty lib to give true terminal capability. raw mode/restore for client working
2018-01-18 18:57:37 -08:00
Russ Magee
e8fe31f6d7
Set lots of KEx Printfs to log.Printf (and off by default). Hacky non=tty shell works!
2018-01-17 21:27:00 -08:00
Russ Magee
cca2895526
Took a step back on cmd exec, just getting EOF/hangup on client/server ends working
2018-01-17 20:36:53 -08:00
Russ Magee
ad5366bdfb
removed hardcoded op 'e' in client demo; hardcoded test server output
2018-01-17 16:55:10 -08:00
Russ Magee
9fb9d073ab
Completed net.Conn interface implementation for hkex.Conn; some tests of Op protocol in server
2018-01-17 16:39:01 -08:00
Russ Magee
e09f052f45
Just some commented-out SetReadDeadline() experiments
2018-01-16 18:30:57 -08:00
Russ Magee
942b8865cf
Start of proto kexsh tool client/server
2018-01-13 10:01:27 -08:00
Russ Magee
78edf1c130
Tucked dbg{client/server} away for testing
2018-01-12 22:47:57 -08:00
Russ Magee
9b3bd6b78b
Added client/server host:port, addr:port options
2018-01-12 22:24:40 -08:00
Russ Magee
1817627234
-Cleaned up lib code with gometalinter.v1
...
-Added -h opt to demo client (hmac)
2018-01-12 22:13:01 -08:00
Russ Magee
5493921e9f
-Added client -c option to pass cipher alg
...
-Note about blowfish iv len (lack of) bounds check in .NewOFB();
-TODO added to enforce keymat from HKex >= 2*chosen cipher blocksize
(assuming keylen == blocksize -- might not be true for all future algs)
2018-01-11 23:01:39 -08:00
Russ Magee
aaa99360be
Made server.go and serverp.go (plaintext net example) use same bufsize
2018-01-11 21:32:55 -08:00
Russ Magee
9054bcb89f
Dial() extensions to specify cipher/hmac alg and protocol options
2018-01-11 19:42:42 -08:00
Russ Magee
d4c9a1e456
Bit of cleanup in hkex.Read(),Write() and server.go read bufsize to 512
2018-01-11 09:13:18 -08:00
Russ Magee
c43b13989b
Hoorah, got basic crypto working over hkex Conn
2018-01-10 22:50:13 -08:00
Russ Magee
9885067a48
Added hkexchan.go w/o testing for StreamReader/StreamWriter
2018-01-08 23:08:58 -08:00
Russ Magee
4bccb2512d
Added vanilla client.go server.go for comparison
2018-01-08 20:24:10 -08:00
Russ Magee
f7a3be637b
Split core KEx and net support code
2018-01-08 19:16:55 -08:00
Russ Magee
2faee8eae1
HKExConn -> Conn for drop-in to net.Conn
2018-01-08 18:27:01 -08:00
Russ Magee
11cd7bacfb
Working client/server demos w/HEx and trivial XOR crypto test
2018-01-07 22:05:14 -08:00
Russ Magee
60f2cb7e26
client/server demo hkex.Dial(), hkex.Listen()/hl.Accept() with auto-KEx
2018-01-06 23:58:30 +00:00
Russ Magee
4dd121b10b
client-side read for HKEx PeerD as part of NewHKEx()
2018-01-06 21:18:58 +00:00
Russ Magee
c8b4fa3596
HKExConn captures net.Conn
2018-01-06 20:26:08 +00:00
Russ Magee
ba2c03afe3
Initial commit
2018-01-06 15:30:56 +00:00