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
不确定
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
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
Andy Wang
0473d71bea
Fix overflow in padding length calculation
2020-12-19 20:49:21 +00:00
Andy Wang
1e41aabe7d
Alter glob in release action
2020-12-19 20:37:42 +00: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
Andy Wang
005da456c0
Fix timing sensitive tests
2020-12-19 19:30:53 +00:00
Andy Wang
275540a793
Fix commandline syntax
2020-12-19 19:21:36 +00:00
Andy Wang
3728622f48
Add github actions
2020-12-19 19:17:18 +00:00
Andy Wang
2e36627a12
Make AdminUID optional and implement better validation on empty config fields
2020-12-19 15:34:17 +00:00
Andy Wang
21bcb53062
Human friendly key and uid generators
2020-12-19 15:24:25 +00:00
Andy Wang
a803d20970
Remove sensitive keys from example configs to prevent people from using them
2020-12-19 14:45:55 +00:00
不确定
cfbf0dfcb6
Fix critical bugs in session opening for TCP and UDP in case of Singleplex mode. ( #145 )
...
* Fix critical bugs in session opening for TCP and UDP in case of Singleplex mode.
- In case of TCP, don't open the session in the listener accept thread. This
causes resource exhaustion of the tcp listener backlog queue in case of internet
connection disruption or timeout.
- In case of UDP, don't create a new session for every UDP packet.
* Fix race in integration test.
* Fix race condition in session maker
* Code style improvements
* Explicit session.Close() call is indeed needed
Co-authored-by: Andy Wang <cbeuw.andy@gmail.com>
2020-12-19 14:42:10 +00:00
Andy Wang
7b6a82b364
Remove StreamTimeout from ckserver's example config
2020-12-13 12:37:25 +00:00
Andy Wang
c3ee9f2127
Merge branch 'master' of github.com:cbeuw/Cloak
2020-12-12 20:45:14 +00:00
不确定
a72273096a
Add CdnHttpHost config setting with documentation. ( #143 )
...
* Add CdnHttpHost config setting with documentation.
* Rename CdnHttpHost to CDNOriginHost and make README more concise
Co-authored-by: Andy Wang <cbeuw.andy@gmail.com>
2020-12-12 20:40:48 +00:00
Andy Wang
d5a003d6d6
Remove StreamTimeout from server completely
2020-12-12 17:51:54 +00:00
不确定
e77fd4c446
Fix regression: termination of long downloads after StreamTimeout seconds ( #141 )
...
* Fix termination of long downloads after StreamTimeout seconds.
- Even if not broadcasting in a loop, we still need to update the read deadline.
- Don't enforce the timeout after the first data is written.
* When timeout no longer needs to be enforced, no need to schedule a broadcast.
* Fix Cloak client. Don't enforce read deadline after first read.
* Enforce StreamTimeout on the initial bytes sent by localConn only.
* Revert changes to multiplex module. Remove timeout from caller.
2020-12-12 17:00:46 +00:00
Andy Wang
57138e84e5
Merge branch 'master' of github.com:cbeuw/Cloak
2020-12-11 19:52:54 +00:00
notsure2
caca33a1a5
Respect user choice of ProxyMethod in shadowsocks plugin mode.
2020-12-11 09:03:48 +00:00
Andy Wang
061b10e802
Improve tests code quality
2020-12-06 11:14:33 +00:00
Andy Wang
61b1031da6
Reduce code duplication in session closing
2020-12-06 10:50:45 +00:00
Andy Wang
46f4235ccb
Update readme
2020-12-06 00:54:22 +00:00
Andy Wang
0482d28f86
Merge pull request #138 from notsure2/explicit-stop-timer
...
Optimise calls to time.AfterFunc in buffered pipe implemenations to reduce memory usage
2020-12-06 00:53:30 +00:00
Andy Wang
0327d0ffb3
Further reduce the amount of calls to AfterFunc
2020-12-06 00:16:29 +00:00
notsure2
208a7f249f
Fix memory leaking by extra timers.
2020-12-06 01:47:52 +02:00
Andy Wang
c0040f20c3
Use time.AfterFunc for session inactivity timeout to reduce goroutine count
2020-12-05 21:38:16 +00:00