Andy Wang
|
c1f3408c2c
|
Make key lengths explicit
|
2020-04-07 21:15:28 +01:00 |
|
Andy Wang
|
443aeecf5f
|
Use cbeuw/connutil for connection testing
|
2020-04-07 20:59:32 +01:00 |
|
Andy Wang
|
402cfc9e25
|
Logging for silent connections
|
2020-04-05 01:15:45 +01:00 |
|
Andy Wang
|
8d84ebd145
|
Code styles
|
2020-04-05 00:56:43 +01:00 |
|
Andy Wang
|
dc262f7ca5
|
actually change the connId of a stream upon new assignment in send
|
2020-04-05 00:52:06 +01:00 |
|
Andy Wang
|
e9afae72f0
|
better stream closing error message
|
2020-04-05 00:51:28 +01:00 |
|
Andy Wang
|
5e1931a11c
|
Ineffectual assignments
|
2020-04-04 16:10:43 +01:00 |
|
Andy Wang
|
766c27a129
|
Refactor if to switch case
|
2020-04-03 22:46:07 +01:00 |
|
Andy Wang
|
e33afb258a
|
extract util testing function
|
2020-03-16 11:38:30 +00:00 |
|
Andy Wang
|
47410dbb97
|
add comments
|
2020-03-15 23:56:45 +00:00 |
|
Andy Wang
|
db8dd19c9d
|
fix broken benchmarks
|
2020-03-15 23:55:56 +00:00 |
|
Andy Wang
|
517a6d6e57
|
Handle error and retry for Crypto.rand
|
2020-02-01 23:46:46 +00:00 |
|
Andy Wang
|
13b66f6fef
|
Remove redundant code
|
2020-01-24 13:30:17 +00:00 |
|
Andy Wang
|
6f34229aa0
|
Make and add stream upon reception of all new streamIDs even if they are closing
|
2020-01-23 20:30:31 +00:00 |
|
Andy Wang
|
99fa812594
|
Fix pickRandConn bad loop
|
2020-01-22 22:17:18 +00:00 |
|
Andy Wang
|
3f5fdae284
|
Close session immediately after receiving signal
|
2020-01-22 21:30:30 +00:00 |
|
Andy Wang
|
d65aee725a
|
Improve stream closing logic and add tests
|
2020-01-22 21:12:32 +00:00 |
|
Andy Wang
|
e7e4cd5726
|
Refactor frame reception processor
|
2020-01-09 10:22:40 +00:00 |
|
notsure2
|
d35472aea1
|
Store stream in packet receive path instead of asynchronously to fix https://github.com/cbeuw/Cloak/issues/74
|
2019-12-14 12:48:45 +00:00 |
|
Andy Wang
|
bdd5308169
|
Code style clean up
|
2019-11-08 17:06:20 +00:00 |
|
Andy Wang
|
fbee919f47
|
Use constants for Closing value
|
2019-11-03 20:28:43 +00:00 |
|
Andy Wang
|
c26be98e79
|
Use sync.Map in multiplex instead of manual locks
|
2019-11-03 12:22:12 +00:00 |
|
Andy Wang
|
9cab4670f4
|
Make buffer close non-blocking
|
2019-11-02 21:02:35 +00:00 |
|
Andy Wang
|
4c17923717
|
Make write error close session as well
|
2019-10-20 15:37:41 +01:00 |
|
Andy Wang
|
e2b21dae9f
|
Fix tests
|
2019-10-20 15:21:31 +01:00 |
|
Andy Wang
|
57f0c3d20a
|
Close session when one connection drops
|
2019-10-16 23:00:23 +01:00 |
|
Andy Wang
|
34a4805c34
|
Add tests
|
2019-10-16 23:00:11 +01:00 |
|
Andy Wang
|
a1b719b15f
|
Add terminal message
|
2019-10-15 22:24:33 +01:00 |
|
Andy Wang
|
beb6568ce0
|
Check before passive close
|
2019-10-15 22:06:23 +01:00 |
|
Andy Wang
|
3b3cd277f8
|
Fix stream not closing
|
2019-10-15 22:06:11 +01:00 |
|
Andy Wang
|
67159abcf4
|
Add tests
|
2019-10-15 21:59:13 +01:00 |
|
Andy Wang
|
6580e38e44
|
Introduce a special Session closing frame
|
2019-10-14 15:34:14 +01:00 |
|
Andy Wang
|
c9318dc90b
|
Fix potential deadlocks
|
2019-10-08 23:11:16 +01:00 |
|
Andy Wang
|
96215f116a
|
Fix #61
|
2019-09-22 10:44:16 +01:00 |
|
Andy Wang
|
854dc422a2
|
Update some comments
|
2019-09-01 23:14:28 +01:00 |
|
Andy Wang
|
339b324946
|
Working direct WebSocket transport
|
2019-09-01 20:23:45 +01:00 |
|
Andy Wang
|
75dc91c15c
|
Fix wrong wait type
|
2019-08-31 15:33:23 +01:00 |
|
Andy Wang
|
4861efbc50
|
Fix #54
|
2019-08-31 15:32:57 +01:00 |
|
Andy Wang
|
9dacb9d8fd
|
Handle closing frame properly in datagramBuffer
|
2019-08-30 21:00:15 +01:00 |
|
Andy Wang
|
3bfaa5c1c1
|
Receiving a closing frame no longer returns error on Write
|
2019-08-30 20:50:39 +01:00 |
|
Andy Wang
|
0bc48a5a2e
|
Remove redundant err checking TODO
|
2019-08-30 20:45:06 +01:00 |
|
Andy Wang
|
3f532ae065
|
writeFrame returns error
|
2019-08-30 20:43:04 +01:00 |
|
Andy Wang
|
a131af3439
|
Remove unnecessary Len check
|
2019-08-30 20:39:23 +01:00 |
|
Andy Wang
|
cfa0a97edf
|
Rename a test set
|
2019-08-30 17:07:08 +01:00 |
|
Andy Wang
|
4fb1f55e2d
|
Use 64bit frame Seq to prevent nonce reuse
|
2019-08-27 15:06:28 +01:00 |
|
Andy Wang
|
2006e5971a
|
Refactor frameSorter and datagramBuffer under one interface
|
2019-08-22 11:48:10 +01:00 |
|
Andy Wang
|
c3ff3f5d1a
|
Fix the weird nil pointer again
|
2019-08-21 13:14:23 +01:00 |
|
Andy Wang
|
bbb0d35e80
|
Remove conns from map once switchboard.CloseAll is called
|
2019-08-20 23:15:36 +01:00 |
|
Andy Wang
|
8b99e419b3
|
Check buffer length for datagramBuffer.Read() in case the datagram is larger than the buffer
|
2019-08-20 22:50:58 +01:00 |
|
Andy Wang
|
87a7684e10
|
More comments
|
2019-08-20 22:43:04 +01:00 |
|
Andy Wang
|
eabe113547
|
Add Stream Timeout
|
2019-08-19 23:23:41 +01:00 |
|
Andy Wang
|
ba467e8a32
|
Only store stream in map after Accept
|
2019-08-19 11:31:56 +01:00 |
|
Andy Wang
|
c8184fc1d2
|
Switch back to juju/ratelimit
|
2019-08-17 11:23:26 +01:00 |
|
Andy Wang
|
52796ad0b1
|
recvDataFromRemote returns err
|
2019-08-16 23:47:15 +01:00 |
|
Andy Wang
|
c276f504b5
|
Use ENUM constants for encryption methods
|
2019-08-16 23:44:40 +01:00 |
|
Andy Wang
|
e9a3c29429
|
Add some tests
|
2019-08-16 23:39:41 +01:00 |
|
Andy Wang
|
c1b1d5d8ba
|
Fix accidentally removed tx qos
|
2019-08-14 11:56:55 +01:00 |
|
Andy Wang
|
44a09219f7
|
Experimental support for UDP
|
2019-08-14 11:56:55 +01:00 |
|
Andy Wang
|
c19c43f6e8
|
Server side UDP to proxy server
|
2019-08-14 11:56:55 +01:00 |
|
Andy Wang
|
c36ec04ce5
|
Add unordered mode
|
2019-08-14 11:56:55 +01:00 |
|
Andy Wang
|
8967819830
|
Fix accidentally removed tx qos
|
2019-08-14 10:28:08 +01:00 |
|
Qian Wang
|
71e48a1947
|
Refactor switchboard configuration and add unordered option
|
2019-08-12 00:48:20 +01:00 |
|
Qian Wang
|
cb672a99de
|
Refactor session configuration
|
2019-08-12 00:22:15 +01:00 |
|
Qian Wang
|
abc83a9190
|
Potential fix to an edge case nil pointer
|
2019-08-09 10:36:27 +01:00 |
|
Qian Wang
|
ea5bb44b0a
|
Add and edit some tests
|
2019-08-08 15:08:16 +01:00 |
|
Qian Wang
|
fc9f227ccf
|
stream.Write now returns the correct amount of data written
|
2019-08-08 10:56:29 +01:00 |
|
Qian Wang
|
572fe8486a
|
Rename a variable and modify a test
|
2019-08-07 19:08:37 +01:00 |
|
Qian Wang
|
586cc5ebb6
|
Optimise deobfs
|
2019-08-07 17:53:34 +01:00 |
|
Qian Wang
|
e3de2b9852
|
Fix a potential make len<0
|
2019-08-07 17:22:40 +01:00 |
|
Qian Wang
|
b7549c0664
|
Fix a potential nil pointer
|
2019-08-07 17:06:48 +01:00 |
|
Qian Wang
|
e244340885
|
Modify some tests
|
2019-08-07 17:06:31 +01:00 |
|
Qian Wang
|
d99b4009b2
|
Differentiate concrete types of LimitedValve and UnlimitedValve to avoid unnecessary atomic.AddUint64 since it has non-trivial overhead on embedded systems
|
2019-08-07 15:43:42 +01:00 |
|
Qian Wang
|
e7aa4cd04b
|
Fix a stuck mutex
|
2019-08-07 13:59:27 +01:00 |
|
Qian Wang
|
81f233c226
|
Update obfs_test
|
2019-08-07 00:19:30 +01:00 |
|
Qian Wang
|
acb999ee64
|
Force aead key sizes as 32 bytes due to chacha20-poly1305
|
2019-08-07 00:15:55 +01:00 |
|
Qian Wang
|
581c2332d1
|
Fix obfs_test as it wasn't really testing encryptionMethod other than aes-gcm
|
2019-08-07 00:15:12 +01:00 |
|
Qian Wang
|
3002c87a49
|
Fix a server crashing null pointer
|
2019-08-06 21:04:08 +01:00 |
|
Qian Wang
|
3dc4c6fb3f
|
Add more trace logs
|
2019-08-06 11:19:47 +01:00 |
|
Qian Wang
|
01036086c7
|
Change the frame distribution strategy so that each stream is assigned a fixed underlying TCP connection to send its frames to reduce framesorter ooo count
|
2019-08-05 22:14:11 +01:00 |
|
Qian Wang
|
fac381dbca
|
Refactor switchboard
|
2019-08-05 14:33:20 +01:00 |
|
Qian Wang
|
d46fa74924
|
Refactor frame sorter
|
2019-08-05 13:32:53 +01:00 |
|
Qian Wang
|
9fcc328797
|
Fix a mutex deadlock
|
2019-08-05 13:17:02 +01:00 |
|
Qian Wang
|
a513663a72
|
Use a fork of ratelimit for unlimited bucket
|
2019-08-04 17:16:18 +01:00 |
|
Qian Wang
|
640f81461c
|
Buffer reuse in obfs
|
2019-08-04 10:38:49 +01:00 |
|
Qian Wang
|
9fa37e327f
|
Use exclusively salsa20 for header encryption
|
2019-08-03 22:05:06 +01:00 |
|
Qian Wang
|
57fc31a5fc
|
Add tests
|
2019-08-02 23:23:54 +01:00 |
|
Qian Wang
|
237b9d131b
|
Add and fix some tests
|
2019-08-02 20:50:08 +01:00 |
|
Qian Wang
|
429da0e0d9
|
Add unit tests
|
2019-08-02 18:00:27 +01:00 |
|
Qian Wang
|
e75c713385
|
Refactor session struct's obfs fields
|
2019-08-02 16:37:48 +01:00 |
|
Qian Wang
|
33f232475d
|
Improve logging
|
2019-08-02 15:45:33 +01:00 |
|
Qian Wang
|
726a405a26
|
TLS1.3
|
2019-08-02 01:01:19 +01:00 |
|
Qian Wang
|
0684f5df40
|
Refactor payload cipher
|
2019-08-01 00:43:33 +01:00 |
|
Qian Wang
|
2735de4f96
|
Fix bad cryptography
|
2019-08-01 00:16:33 +01:00 |
|
Qian Wang
|
6af97e2c22
|
Optimise session closing
|
2019-07-28 23:27:59 +01:00 |
|
Qian Wang
|
059a222394
|
Use defer to unlock mutexes
|
2019-07-28 12:52:57 +01:00 |
|
Qian Wang
|
bf8d373f79
|
Stream optimisations
|
2019-07-28 11:58:45 +01:00 |
|
Qian Wang
|
0f9830e716
|
Update test
|
2019-07-28 11:06:15 +01:00 |
|
Qian Wang
|
73c0b8567e
|
Memory optimisation
|
2019-07-28 00:15:27 +01:00 |
|
Qian Wang
|
6fc48c5dae
|
Fix a goroutine leak
|
2019-07-27 21:38:08 +01:00 |
|
Qian Wang
|
0e08683828
|
Use a buffered pipe to buffer sorted data
|
2019-07-27 19:53:16 +01:00 |
|