Commit Graph

429 Commits

Author SHA1 Message Date
Andy Wang 0968285664 Improve test coverage 2020-10-18 00:45:28 +01:00
Andy Wang c1b261c652 Add stream tests 2020-10-17 19:28:03 +01:00
Andy Wang c749b107e2 Improve test coverage for client's ParseConfig 2020-10-17 18:52:00 +01:00
Andy Wang a59d9cb880 Fix singleplex and add tests 2020-10-17 16:15:55 +01:00
Andy Wang a1bc148d50 Restore AddRecordLayer 2020-10-17 15:10:41 +01:00
Andy Wang 1f5e0c1d24 Add benchmark for TLSConn.Write 2020-10-17 15:06:45 +01:00
Andy Wang 86e2935607 Use a pre-made buffer for TLSConn.Write 2020-10-17 13:46:22 +01:00
Andy Wang a86899f007 Improve comments 2020-10-17 12:24:23 +01:00
Andy Wang e092e280c1 Refactor dispatcher.go 2020-10-17 11:15:21 +01:00
Andy Wang d93ac48b85 Add build directives to fuzzing functions 2020-10-16 11:55:50 +01:00
Andy Wang b2dbe4c654 Add fuzzer 2020-10-16 11:51:53 +01:00
Andy Wang c17cb034e3 Wrap decryption error 2020-10-16 01:12:23 +01:00
Andy Wang d2131799fc Remove unnecessary table testing 2020-10-16 00:09:00 +01:00
Andy Wang 3f3259d4d3 MakeSession no longer needs to know if the Session should be admin 2020-10-15 23:02:51 +01:00
Andy Wang f96925982f Rename SplitConfigs to ProcessRawConfig to better reflect its behaviour 2020-10-15 22:51:59 +01:00
Andy Wang 3e133090f0 Give more descriptive names to multiplex objects 2020-10-15 22:51:36 +01:00
Andy Wang f00ef43613 Fix time-dependant tests 2020-10-15 22:13:33 +01:00
Andy Wang 9887649b88 Refactor Singleplexing 2020-10-15 21:32:38 +01:00
Andy Wang c3ea7f7263 Fix test GREASE comparison 2020-09-13 11:32:07 +01:00
Andy Wang 8d2605cafa Fix test 2020-09-12 21:40:49 +01:00
Andy Wang 05482e64d2 Update Chrome signature to 85. Address #129 2020-09-12 21:18:31 +01:00
Andy Wang cfbdd9a608 Prevent nil pointer panic when server response is incorrect under CDN mode 2020-09-07 14:48:07 +01:00
Andy Wang 0b217ddb07 Linting 2020-08-17 17:56:05 +01:00
Andy Wang de5c51d3e4 Better redir piping behaviour 2020-08-12 12:07:32 +01:00
Andy Wang 253ea94d2a Better and more explicit handling of first packet, reduces exposure of active probing 2020-08-12 11:32:39 +01:00
Andy Wang 2bb102a5b6 Use byte literals instead of decoding hex 2020-08-10 14:29:51 +01:00
Andy Wang 6bd2e8fe1e Mitigation for https://github.com/cbeuw/Cloak-android/issues/13 2020-07-27 16:33:11 +01:00
notsure2 dab137dbd7 Support session per connection mode (like GoQuiet) when NumConn = 0. 2020-07-06 23:18:52 +02:00
Andy Wang 98a7b731f3 Do not fatal when accept fails after 10 times 2020-06-08 00:29:56 +01:00
Andy Wang 95ae83d54d Accept retry delay. Prevent #120 2020-06-07 20:06:52 +01:00
Andy Wang 2c995962ed Fix spelling mistake 2020-06-07 12:20:48 +01:00
Andy Wang ff10cbf67b Revert "Fix WriteTo receive loop"
This reverts commit 501f7dda

Address #117
2020-06-07 12:16:08 +01:00
Andy Wang 501f7dda97 Fix WriteTo receive loop 2020-05-27 13:41:34 +01:00
Andy Wang 128f653ea4 Fix duplicate UDP binding 2020-05-27 13:41:34 +01:00
Andy Wang 5984fde09f Better logging for user activation and termination 2020-05-27 13:41:34 +01:00
Andy Wang ae3f97df1e Rearrange if statement 2020-05-23 22:22:58 +01:00
Andy Wang 369f3c781c Fix UDP 2020-05-23 15:44:24 +01:00
Andy Wang 2682460d46 Give time dependent tests more leeway 2020-04-24 01:19:30 +01:00
Andy Wang 13c1c3705b Fix a race in test 2020-04-24 01:10:45 +01:00
Andy Wang b9c3e64750 Add tests 2020-04-24 01:06:35 +01:00
Andy Wang 72d67beea3 Make usageQueue update interval a constant 2020-04-24 01:06:22 +01:00
Andy Wang 2e945cc416 Fix a deadlock on terminating user 2020-04-24 01:05:37 +01:00
Andy Wang e508ade14b Fix test 2020-04-24 01:04:51 +01:00
Andy Wang acc0a1a2dd Fix credit not updating on termination 2020-04-24 00:56:54 +01:00
Andy Wang 6ae3c27320 Add tests and make SessionCap explicitly int32 2020-04-23 23:45:12 +01:00
Andy Wang 1c8903f249 Log repeat stream closing on Debug level 2020-04-20 23:54:41 +01:00
Andy Wang 5baac79e56 Avoid null ProxyBook map. Fixes #111 2020-04-18 16:03:18 +01:00
Andy Wang 69a73ecfc0 Refactor usermanager 2020-04-17 14:21:17 +01:00
Andy Wang d958de9938 Improve switchboard connscount 2020-04-17 01:04:26 +01:00
Andy Wang 70aa04354a Bounds check elimination 2020-04-17 01:03:36 +01:00
Andy Wang d2b17fc9a2 Fix a deadlock 2020-04-15 21:55:07 +01:00
Andy Wang 360f84c5d5 Improve tests 2020-04-14 14:14:51 +01:00
Andy Wang e202d8d03b Implement WriteTo and ReadFrom timeouts 2020-04-14 14:14:51 +01:00
Andy Wang 4a81683e44 Code cleanup and move stuff around 2020-04-14 14:14:51 +01:00
Andy Wang 53c0c6bafe Explicitly allow buf overlap in obfs 2020-04-13 22:48:28 +01:00
Andy Wang 97eb6aa096 Correct usages of b.SetBytes 2020-04-13 19:40:23 +01:00
Andy Wang e03080d3ba Lock stream sending in all cases 2020-04-13 16:39:19 +01:00
Andy Wang 3e6224d8e9 Protect buffer closing 2020-04-13 16:38:46 +01:00
Andy Wang 852f5f5e9f Alter integration tests 2020-04-13 15:17:59 +01:00
Andy Wang a8c584c242 Add tests 2020-04-13 15:17:19 +01:00
Andy Wang c22b0fb54f Fix test 2020-04-13 15:16:41 +01:00
Andy Wang 242fe28262 Use bool instead of atomic into to record closed status 2020-04-13 14:36:32 +01:00
Andy Wang c8368bcc7e Implement stream ReadFrom (flimsy) 2020-04-12 23:01:30 +01:00
Andy Wang 73544c03bb Update comment 2020-04-12 16:35:24 +01:00
Andy Wang 248389b3f6 Make WriteTo return the correct errors 2020-04-12 16:34:49 +01:00
Andy Wang f0e8b4556e Eliminate some bounds check 2020-04-12 16:10:48 +01:00
Andy Wang f05cc19dbc Assign connId only when needed 2020-04-12 12:51:00 +01:00
Andy Wang 14787a7057 Implement stream WriteTo 2020-04-12 12:43:24 +01:00
Andy Wang 334712c413 Regression: closing in the middle of a read will block 2020-04-12 12:28:00 +01:00
Andy Wang 4351815a4a fix stale code 2020-04-12 11:35:24 +01:00
Andy Wang a82a1a5627 writerTo 2020-04-12 11:34:04 +01:00
Andy Wang 21cbe6ab5d Implement WriterTo for receive buffers 2020-04-12 11:33:11 +01:00
Andy Wang 029da207ce Optimise datagramBuffer 2020-04-12 11:18:41 +01:00
Andy Wang f90a008271 Skip uploading nil update 2020-04-12 01:56:33 +01:00
Andy Wang 783d016a29 Fix a race on closing stream 2020-04-12 01:35:17 +01:00
Andy Wang 58e0797578 Synchronise stream.Write 2020-04-12 01:34:21 +01:00
Andy Wang 008fd8f0a3 Lazy allocation 2020-04-12 00:49:49 +01:00
Andy Wang 8a76afabf7 Reduce the amount of goroutines in tests 2020-04-11 23:09:51 +01:00
Andy Wang 17fd78b6c2 Use bbolt instead of bolt to fix go version compatibility issues 2020-04-11 23:09:29 +01:00
Andy Wang ce35a054ed Remove redundant tests 2020-04-11 22:43:29 +01:00
Andy Wang 5d4e8b8d8d Refactor udp piping and add tests 2020-04-11 22:37:15 +01:00
Andy Wang 9f413ff23a Fix multiconn benchmark 2020-04-11 19:03:44 +01:00
Andy Wang e4b45a55e3 Optimise AddRecordLayer 2020-04-10 19:09:17 +01:00
Andy Wang e9243a2e9f Framing in Stream.Write to prevent silent short write 2020-04-10 18:48:36 +01:00
Andy Wang 17d57d9369 Add benchmarks 2020-04-10 18:48:01 +01:00
Andy Wang 8c9bab2a6f TLSConn.Write returns correct length 2020-04-10 16:15:23 +01:00
Andy Wang 78b27c0705 Fix tests 2020-04-10 16:14:32 +01:00
Andy Wang a51d45f41a Avoid unnecessary pass by pointer 2020-04-10 16:09:05 +01:00
Andy Wang 2bf7df0eb0 Integration tests 2020-04-10 15:05:15 +01:00
Andy Wang 0f66fec28e Remove impossible error 2020-04-10 14:11:01 +01:00
Andy Wang 93cf6dec6e Export fields for testing 2020-04-10 14:09:48 +01:00
Andy Wang d53b80208f Refactor for easier testing 2020-04-10 11:07:38 +01:00
Andy Wang e5bda61587 Close connections properly 2020-04-09 23:52:08 +01:00
Andy Wang 254b7152b6 Fix tests 2020-04-09 22:21:02 +01:00
Andy Wang 444182f5bb Purge impurity 2020-04-09 22:11:12 +01:00
Andy Wang bbc0752883 Minor code cleanup 2020-04-09 19:10:04 +01:00
Andy Wang 86214a1df0 Implement stream SetReadDeadline 2020-04-09 18:56:17 +01:00
Andy Wang e41394c83c Set frame size limit through multiplexer 2020-04-09 16:37:46 +01:00
Andy Wang 780d607436 Use io.Copy for redir 2020-04-09 13:41:06 +01:00
Andy Wang 77c33ff352 Fix redir null pointer 2020-04-09 13:37:33 +01:00