Commit graph

  • a49a5d4cc2 Locking in WritePacket() apparently working, client and server-side chaffing functional Russ Magee 2018-05-03 23:53:47 -07:00
  • 6d606bbbd9 Moved mutex into hkexsh.Conn (hkexnet) Russ Magee 2018-05-02 13:22:37 -07:00
  • 4d85236d16 Chaffing slight improvements (rand size, timing). TODO: Move into hkexsh.Conn Russ Magee 2018-05-02 12:28:56 -07:00
  • b8a07e9648 Chaff packets w/sync.Mutex to allow chaff & main goroutine to both input to server. TODO: smart chaff, mutating or mimicking recent input. Russ Magee 2018-05-01 02:39:45 -07:00
  • 8162707ffa - got term resizing working (client SIGWINCH signals -> server_pty(rows,cols) Russ Magee 2018-04-28 19:28:37 -07:00
  • 50f0433579 -Added error checking for all stages of hkex.Conn.Accept() and GetStream() -Server will log such errors without panic/exit -Const added but not yet used for 'chaff' packets Russ Magee 2018-04-28 16:05:33 -07:00
  • c56d4d9ad9 hmac tampering indication implemented -- local and remote-side Russ Magee 2018-04-15 13:29:06 -07:00
  • b45784e07b Minimal hmac channel verification w/close on tampering Russ Magee 2018-04-15 12:58:24 -07:00
  • 351f58b6c5 misc. cleanup, LICENSE.{gpl,mit} updates Russ Magee 2018-04-07 13:04:10 -07:00
  • ae5a8cfa3b Quick 'n dirty Makefile Russ Magee 2018-04-04 15:51:03 +00:00
  • 5da70447b0 MSYS+mintty support; pkg renaming to hkexsh Russ Magee 2018-04-04 15:43:27 -07:00
  • dd746cf343 Fixed handling of -x non-interactive command runs and hangup of interactive session Russ Magee 2018-03-26 21:58:42 -07:00
  • cb0ce956b9 Server-side client hangup working; TODO - client-side handling of post-exit EOF (broken pipe) Russ Magee 2018-03-25 23:00:37 -07:00
  • 65b7af8063 Excessive debugging off; client logout (exit) causing panic on server-side, debug TBD Russ Magee 2018-03-25 21:47:38 -07:00
  • 5ea75e456d De-packetizing-rebuffering of Read() w/HMAC working, yay Russ Magee 2018-03-25 19:59:07 -07:00
  • 3f5db06f16 De-packetizing-rebuffering of Read() w/HMAC working, yay Russ Magee 2018-03-25 19:58:04 -07:00
  • c0fa2bcdf9 hmac usage commented out, 2nd attempt to re-add usage w/paylaod len Russ Magee 2018-03-25 10:40:23 -07:00
  • e14ccbe366 Length calc but not xmit -- grouped Read() likely the issue to handle Russ Magee 2018-02-16 22:12:27 -08:00
  • 744730ae23 HMAC calc w/no xmit or verification, working..? Russ Magee 2018-02-16 19:25:11 -08:00
  • 7c76e4d235 pkg paths to private repo Russ Magee 2018-02-16 18:49:49 -08:00
  • d465c1ee5b Initial experiments: HMAC on stream Russ Magee 2018-02-16 18:46:29 -08:00
  • 6ea206fbc2 Merge of public work on github.com/Russtopia/hkexsh repo Russ Magee 2018-02-16 18:43:37 -08:00
  • 2b44c87815 Partial fixes to client login env; Added missing Conn.Listener interface methods to hkex.Conn.Listener Russ Magee 2018-01-26 16:15:39 -08:00
  • 52423b7144 Cleaned up some debug, moved insulter for failed login into project Russ Magee 2018-01-24 18:14:21 -08:00
  • d484ec7fd1 Added hkexpasswd util; moved minimal term stuff into hkexauth.go Russ Magee 2018-01-23 13:53:05 -08:00
  • 3ca98d364c Oops. Forgot to add hexkauth.go to last few commits. Russ Magee 2018-01-21 22:13:35 -08:00
  • 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.) Russ Magee 2018-01-21 22:02:08 -08:00
  • 59337db7e3 Changed to use runShellAs() (pass cmdline to bash) rather than runCmdAs (os.exec) to allow pipelines, redir etc. Russ Magee 2018-01-21 17:31:54 -08:00
  • 6fd8ac1519 Added -u (user), -x (exec cmd) options, -d (dbg) for logging; detection of "-x -" for stdin/pipeline commands. Russ Magee 2018-01-21 15:46:40 -08:00
  • 39a0890346 Merge branch 'kexsh-proto' of ssh://tripe.blitter.com/~russtopia/git/herradurakex into kexsh-proto Russ Magee 2018-01-20 21:28:55 -08:00
  • 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 Russ Magee 2018-01-20 20:37:27 -08:00
  • 3efdd5cfbd Removed channel-based server loop goroutine, solving eaten initial byte issue. Made receivers on hkex.Conn mutators *Conn again (whoops) TODO: Padding in ciphertext data! Russ Magee 2018-01-20 20:37:27 -08:00
  • 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 Russ Magee 2018-01-18 21:17:57 -08:00
  • 49c589ee8d Added pty lib to give true terminal capability. raw mode/restore for client working Russ Magee 2018-01-18 18:57:37 -08:00
  • e8fe31f6d7 Set lots of KEx Printfs to log.Printf (and off by default). Hacky non=tty shell works! Russ Magee 2018-01-17 21:27:00 -08:00
  • cca2895526 Took a step back on cmd exec, just getting EOF/hangup on client/server ends working Russ Magee 2018-01-17 20:36:53 -08:00
  • ad5366bdfb removed hardcoded op 'e' in client demo; hardcoded test server output Russ Magee 2018-01-17 16:55:10 -08:00
  • 9fb9d073ab Completed net.Conn interface implementation for hkex.Conn; some tests of Op protocol in server Russ Magee 2018-01-17 16:39:01 -08:00
  • e09f052f45 Just some commented-out SetReadDeadline() experiments Russ Magee 2018-01-16 18:30:57 -08:00
  • 942b8865cf Start of proto kexsh tool client/server Russ Magee 2018-01-13 10:01:27 -08:00
  • 78edf1c130 Tucked dbg{client/server} away for testing Russ Magee 2018-01-12 22:47:57 -08:00
  • 9b3bd6b78b Added client/server host:port, addr:port options Russ Magee 2018-01-12 22:24:40 -08:00
  • 1817627234 -Cleaned up lib code with gometalinter.v1 -Added -h opt to demo client (hmac) Russ Magee 2018-01-12 22:13:01 -08:00
  • 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) Russ Magee 2018-01-11 23:01:39 -08:00
  • aaa99360be Made server.go and serverp.go (plaintext net example) use same bufsize Russ Magee 2018-01-11 21:32:55 -08:00
  • 9054bcb89f Dial() extensions to specify cipher/hmac alg and protocol options Russ Magee 2018-01-11 19:42:42 -08:00
  • 02d4d0cd50 Package documentation Russ Magee 2018-01-11 13:44:11 -08:00
  • d4c9a1e456 Bit of cleanup in hkex.Read(),Write() and server.go read bufsize to 512 Russ Magee 2018-01-11 09:13:18 -08:00
  • c43b13989b Hoorah, got basic crypto working over hkex Conn Russ Magee 2018-01-10 22:50:13 -08:00
  • b28ca552bd Got cipher StreamReader/Writer in w/o yet using them. Russ Magee 2018-01-08 23:26:24 -08:00
  • 9885067a48 Added hkexchan.go w/o testing for StreamReader/StreamWriter Russ Magee 2018-01-08 23:08:58 -08:00
  • 4bccb2512d Added vanilla client.go server.go for comparison Russ Magee 2018-01-08 20:24:10 -08:00
  • 3571da5703 Added concept for cipher setup -- nonworking (hkexchan.gox) Russ Magee 2018-01-08 20:23:19 -08:00
  • 9aecee7ba3 Split core KEx and net support code Russ Magee 2018-01-08 19:28:04 -08:00
  • f7a3be637b Split core KEx and net support code Russ Magee 2018-01-08 19:16:55 -08:00
  • 2faee8eae1 HKExConn -> Conn for drop-in to net.Conn Russ Magee 2018-01-08 18:27:01 -08:00
  • 11cd7bacfb Working client/server demos w/HEx and trivial XOR crypto test Russ Magee 2018-01-07 22:05:14 -08:00
  • 60f2cb7e26 client/server demo hkex.Dial(), hkex.Listen()/hl.Accept() with auto-KEx Russ Magee 2018-01-06 23:58:30 +00:00
  • 4dd121b10b client-side read for HKEx PeerD as part of NewHKEx() Russ Magee 2018-01-06 21:18:58 +00:00
  • c8b4fa3596 HKExConn captures net.Conn Russ Magee 2018-01-06 20:26:08 +00:00
  • 663f2f6d1f Prototype README.md with theory of operation Russ Magee 2018-01-06 15:41:23 +00:00
  • ba2c03afe3 Initial commit Russ Magee 2018-01-06 15:30:56 +00:00