Commit Graph

678 Commits

Author SHA1 Message Date
Andy Wang 57bb437802
Log timestamp 2020-12-27 20:27:04 +00:00
notsure2 7be088e7c1 Merge branch 'master' into notsure2 2020-12-27 22:09:46 +02:00
Andy Wang d1b05ee9e5
Add new encryption method option aes-128-gcm 2020-12-27 13:26:45 +00:00
Andy Wang cbd71fae6d
Control flow optimisations 2020-12-26 16:34:25 +00:00
Andy Wang 3ad04aa7e9
Add latency benchmark 2020-12-26 15:36:38 +00:00
Andy Wang 2d08e88efb
Use a sync.Pool to remove the global random bottleneck in picking a random conn 2020-12-26 13:48:42 +00:00
Andy Wang 415523f10a
Refactor obfuscate and deobfuscate functions to reduce a layer of indirection 2020-12-26 00:49:36 +00:00
Andy Wang 2f17841f85
Use Compare-And-Swap for atomic booleans indicating session and switchboard closed 2020-12-25 23:16:57 +00:00
Andy Wang 4f34e69006
Use pooled buffer for session closing frame 2020-12-24 13:42:22 +00:00
Andy Wang 881f6e6f9d
Use sync.Pool for obfuscation buffer 2020-12-24 11:35:29 +00:00
Andy Wang 5933ad8781
Replace bytes.Buffer with vanilla []byte in tls wrapper 2020-12-24 10:26:53 +00:00
Andy Wang 4209483a48
Reduce memory pressure in tests 2020-12-23 23:58:47 +00:00
Andy Wang 3b24c33e78
Remove incorrect concurrent uses of testing.T.Fatal 2020-12-23 23:12:51 +00:00
Andy Wang 70a9723377
Temp fix to testing reading after closing a stream 2020-12-23 22:34:26 +00:00
Andy Wang a97f5759c0
Fix race condition in tests 2020-12-23 22:34:12 +00:00
Andy Wang 0209bcd977
Fix race condition in steam closing. Fall back to temp buffer allocation 2020-12-23 22:33:01 +00:00
Andy Wang 53f0116c1d
Fix race condition in the use of assert.Eventually 2020-12-23 17:43:18 +00:00
Andy Wang 9108794362
Fix race condition in allocating obfsBuf 2020-12-23 17:42:54 +00:00
Andy Wang 5c5e9f8c14
Prevent unnecessary allocation in stream closing 2020-12-23 17:28:28 +00:00
Andy Wang 3e737717bd
Use assert.Eventually to correctly handle more timing sensitive tests 2020-12-23 12:25:58 +00:00
notsure2 03173c71e5 Merge branch 'master' into notsure2 2020-12-23 02:51:21 +02:00
不确定 dc030fbb47
Implement UDP stream timeout. (#148)
* Implement UDP stream timeout.

* Correctly delete streams from map after closing

Co-authored-by: Andy Wang <cbeuw.andy@gmail.com>
2020-12-23 00:43:38 +00:00
Andy Wang 4d1612774f
Use a buffer pool to reduce contentions in tls wrapper 2020-12-23 00:02:25 +00:00
notsure2 512f33dd27 Merge branch 'udp-session-timeout' into notsure2 2020-12-23 00:02:01 +02:00
notsure2 874d30c512 Implement UDP stream timeout. 2020-12-23 00:01:35 +02:00
notsure2 9d79842536 Merge branch 'master' into notsure2 2020-12-22 23:36:07 +02:00
Andy Wang 35f41424c9
Use default hashmap to store streams. Avoid allocating a stream object on receiving every single frame 2020-12-22 20:21:40 +00:00
Andy Wang fd5005db0a
Fix a timing sensitive test on reading data after actively closing a stream 2020-12-22 20:16:47 +00:00
Andy Wang ff503b06a8
Only allocate and copy frame object into sorter heap when necessary (out of order frame) 2020-12-22 19:39:13 +00:00
Andy Wang 5a3f63f101
Reduce allocation of frame objects on receiving data 2020-12-22 14:45:29 +00:00
Andy Wang 104117cafb
Fix one instance of not accessing recvBuf via the getter 2020-12-22 14:32:41 +00:00
Andy Wang 4bc80af9a1
Lazily allocate stream receiving buffer 2020-12-22 14:12:00 +00:00
Andy Wang badda76454
Improve data receive benchmark 2020-12-22 13:40:37 +00:00
Andy Wang 42f36b94d3
Achieve zero allocation when writing data through stream 2020-12-22 13:16:48 +00:00
Andy Wang 3633c9a03c
Fix multiplex test as test payload length may be randomised to 0 2020-12-22 12:39:39 +00:00
Andy Wang c9ac93b0b9
Refactor session_test.go 2020-12-21 20:38:28 +00:00
Andy Wang de0daac123
Update deprecated curve25519 functions and defend against low-order point attacks 2020-12-21 16:37:33 +00:00
Andy Wang 0d3f8dd27f
Allow DatabasePath to be empty if user info database is never used 2020-12-21 15:06:46 +00:00
Andy Wang 298e6249e6
Fixup build scripts 2020-12-20 00:21:16 +00:00
notsure2 c42b2a555f Merge branch 'master' into notsure2 2020-12-20 01:02:48 +02:00
Andy Wang 189c69ec25
popd after compilation script finishes 2020-12-19 21:04:33 +00:00
Andy Wang 3f941ee4e1
Edit release action glob 2020-12-19 20:54:08 +00:00
Andy Wang 0473d71bea
Fix overflow in padding length calculation 2020-12-19 20:49:21 +00:00
notsure2 62f7c771a5 Fix bad merge. 2020-12-19 22:44:42 +02:00
Andy Wang 1e41aabe7d
Alter glob in release action 2020-12-19 20:37:42 +00:00
notsure2 3155194ebe Merge branch 'master' into notsure2 2020-12-19 22:36:26 +02:00
Andy Wang c293cd3789
Migrate off azure 2020-12-19 20:25:38 +00:00
Andy Wang fa4ec77d71
Remove Travis CI badge 2020-12-19 20:21:34 +00:00
Andy Wang 4a37449d33
Replace all time-sensitive tests with assert.Eventually 2020-12-19 20:14:43 +00:00
Andy Wang 8d146582d2
Add release action 2020-12-19 19:42:31 +00:00