Grouped types

This commit is contained in:
Russ Magee 2018-07-19 22:39:06 -07:00
parent f9fba3227b
commit 5ae6c8075b
2 changed files with 36 additions and 30 deletions

View file

@ -6,7 +6,7 @@ Chaff Improvements
- Client-input chaff file data (ie., Moby Dick)
Architecture
- Move hkexnet components other than key exchange into a proper hkex package
(DONE) - Move hkexnet components other than key exchange into a proper hkex package
(ie., hkexsh imports hkex) - hkex should be usable for other client/svr utils,
ala 'hkex-netcat')
- Make KEx fully-pluggable: isolate all code to do with Herradura into a

View file

@ -44,39 +44,45 @@ const (
/*---------------------------------------------------------------------*/
type WinSize struct {
Rows uint16
Cols uint16
}
type (
WinSize struct {
Rows uint16
Cols uint16
}
type ChaffConfig struct {
shutdown bool //set to inform chaffHelper to shut down
enabled bool
msecsMin uint //msecs min interval
msecsMax uint //msecs max interval
szMax uint // max size in bytes
}
// chaffconfig captures attributes used to send chaff packets betwixt
// client and server connections, to obscure true traffic timing and
// patterns
// see: https://en.wikipedia.org/wiki/chaff_(countermeasure)
ChaffConfig struct {
shutdown bool //set to inform chaffHelper to shut down
enabled bool
msecsMin uint //msecs min interval
msecsMax uint //msecs max interval
szMax uint // max size in bytes
}
// Conn is a HKex connection - a superset of net.Conn
type Conn struct {
m *sync.Mutex
c net.Conn // which also implements io.Reader, io.Writer, ...
h *hkex.HerraduraKEx
cipheropts uint32 // post-KEx cipher/hmac options
opts uint32 // post-KEx protocol options (caller-defined)
WinCh chan WinSize
Rows uint16
Cols uint16
// Conn is a HKex connection - a superset of net.Conn
Conn struct {
m *sync.Mutex
c net.Conn // which also implements io.Reader, io.Writer, ...
h *hkex.HerraduraKEx
cipheropts uint32 // post-KEx cipher/hmac options
opts uint32 // post-KEx protocol options (caller-defined)
WinCh chan WinSize
Rows uint16
Cols uint16
chaff ChaffConfig
chaff ChaffConfig
closeStat *uint8 // close status (shell exit status: UNIX uint8)
r cipher.Stream //read cipherStream
rm hash.Hash
w cipher.Stream //write cipherStream
wm hash.Hash
dBuf *bytes.Buffer //decrypt buffer for Read()
}
closeStat *uint8 // close status (shell exit status: UNIX uint8)
r cipher.Stream //read cipherStream
rm hash.Hash
w cipher.Stream //write cipherStream
wm hash.Hash
dBuf *bytes.Buffer //decrypt buffer for Read()
}
)
func (hc Conn) GetStatus() uint8 {
return *hc.closeStat