mirror of
https://gogs.blitter.com/RLabs/xs
synced 2024-08-14 10:26:42 +00:00
Grouped types
This commit is contained in:
parent
f9fba3227b
commit
5ae6c8075b
2 changed files with 36 additions and 30 deletions
2
TODO.txt
2
TODO.txt
|
@ -6,7 +6,7 @@ Chaff Improvements
|
||||||
- Client-input chaff file data (ie., Moby Dick)
|
- Client-input chaff file data (ie., Moby Dick)
|
||||||
|
|
||||||
Architecture
|
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,
|
(ie., hkexsh imports hkex) - hkex should be usable for other client/svr utils,
|
||||||
ala 'hkex-netcat')
|
ala 'hkex-netcat')
|
||||||
- Make KEx fully-pluggable: isolate all code to do with Herradura into a
|
- Make KEx fully-pluggable: isolate all code to do with Herradura into a
|
||||||
|
|
|
@ -44,39 +44,45 @@ const (
|
||||||
|
|
||||||
/*---------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
type WinSize struct {
|
type (
|
||||||
Rows uint16
|
WinSize struct {
|
||||||
Cols uint16
|
Rows uint16
|
||||||
}
|
Cols uint16
|
||||||
|
}
|
||||||
|
|
||||||
type ChaffConfig struct {
|
// chaffconfig captures attributes used to send chaff packets betwixt
|
||||||
shutdown bool //set to inform chaffHelper to shut down
|
// client and server connections, to obscure true traffic timing and
|
||||||
enabled bool
|
// patterns
|
||||||
msecsMin uint //msecs min interval
|
// see: https://en.wikipedia.org/wiki/chaff_(countermeasure)
|
||||||
msecsMax uint //msecs max interval
|
ChaffConfig struct {
|
||||||
szMax uint // max size in bytes
|
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
|
// Conn is a HKex connection - a superset of net.Conn
|
||||||
type Conn struct {
|
Conn struct {
|
||||||
m *sync.Mutex
|
m *sync.Mutex
|
||||||
c net.Conn // which also implements io.Reader, io.Writer, ...
|
c net.Conn // which also implements io.Reader, io.Writer, ...
|
||||||
h *hkex.HerraduraKEx
|
h *hkex.HerraduraKEx
|
||||||
cipheropts uint32 // post-KEx cipher/hmac options
|
cipheropts uint32 // post-KEx cipher/hmac options
|
||||||
opts uint32 // post-KEx protocol options (caller-defined)
|
opts uint32 // post-KEx protocol options (caller-defined)
|
||||||
WinCh chan WinSize
|
WinCh chan WinSize
|
||||||
Rows uint16
|
Rows uint16
|
||||||
Cols uint16
|
Cols uint16
|
||||||
|
|
||||||
chaff ChaffConfig
|
chaff ChaffConfig
|
||||||
|
|
||||||
closeStat *uint8 // close status (shell exit status: UNIX uint8)
|
closeStat *uint8 // close status (shell exit status: UNIX uint8)
|
||||||
r cipher.Stream //read cipherStream
|
r cipher.Stream //read cipherStream
|
||||||
rm hash.Hash
|
rm hash.Hash
|
||||||
w cipher.Stream //write cipherStream
|
w cipher.Stream //write cipherStream
|
||||||
wm hash.Hash
|
wm hash.Hash
|
||||||
dBuf *bytes.Buffer //decrypt buffer for Read()
|
dBuf *bytes.Buffer //decrypt buffer for Read()
|
||||||
}
|
}
|
||||||
|
)
|
||||||
|
|
||||||
func (hc Conn) GetStatus() uint8 {
|
func (hc Conn) GetStatus() uint8 {
|
||||||
return *hc.closeStat
|
return *hc.closeStat
|
||||||
|
|
Loading…
Reference in a new issue