mirror of https://gogs.blitter.com/RLabs/xs
				
				
				
			Grouped types
This commit is contained in:
		
							parent
							
								
									f9fba3227b
								
							
						
					
					
						commit
						5ae6c8075b
					
				
							
								
								
									
										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 New Issue