Commit Graph

231 Commits (23082aff4f742e3df958ea2696b5dac7a5e945b6)

Author SHA1 Message Date
Andy Wang 75dc91c15c Fix wrong wait type 5 years ago
Andy Wang 4861efbc50 Fix #54 5 years ago
Andy Wang 31898dad63 Change the way user termination works 5 years ago
Andy Wang 9dacb9d8fd Handle closing frame properly in datagramBuffer 5 years ago
Andy Wang 3bfaa5c1c1 Receiving a closing frame no longer returns error on Write 5 years ago
Andy Wang 0bc48a5a2e Remove redundant err checking TODO 5 years ago
Andy Wang 3f532ae065 writeFrame returns error 5 years ago
Andy Wang a131af3439 Remove unnecessary Len check 5 years ago
Andy Wang cfa0a97edf Rename a test set 5 years ago
Andy Wang 59f2fe04e3 Use normal Read in ReadTLS instead of ReadFull 5 years ago
Andy Wang 4fb1f55e2d Use 64bit frame Seq to prevent nonce reuse 5 years ago
Andy Wang 2006e5971a Refactor frameSorter and datagramBuffer under one interface 5 years ago
Andy Wang c3ff3f5d1a Fix the weird nil pointer again 5 years ago
Andy Wang bbb0d35e80 Remove conns from map once switchboard.CloseAll is called 5 years ago
Andy Wang 8b99e419b3 Check buffer length for datagramBuffer.Read() in case the datagram is larger than the buffer 5 years ago
Andy Wang 46c02d17f4 Refactor InitState 5 years ago
Andy Wang 87a7684e10 More comments 5 years ago
Andy Wang dd4a1769d0 Refactor new session authorisation 5 years ago
Andy Wang eabe113547 Add Stream Timeout 5 years ago
Andy Wang ba467e8a32 Only store stream in map after Accept 5 years ago
Andy Wang c8184fc1d2 Switch back to juju/ratelimit 5 years ago
Andy Wang cf1f1ccf16 Add some tests 5 years ago
Andy Wang 57255fdeb2 Fail to parse ClientHello if the TLS record layer Content Type and versions are wrong 5 years ago
Andy Wang 0e0a3314c9 Add server TLS parse test 5 years ago
Andy Wang 812ca1af99 Unexport some client.State fields 5 years ago
Andy Wang b98a74f49b Refactor client ClientHello composition 5 years ago
Andy Wang b5c6d7fedc Change touchUp function signature 5 years ago
Andy Wang 52796ad0b1 recvDataFromRemote returns err 5 years ago
Andy Wang c276f504b5 Use ENUM constants for encryption methods 5 years ago
Andy Wang e9a3c29429 Add some tests 5 years ago
Andy Wang e28df86a55 Move Unordered field around 5 years ago
Andy Wang c1b1d5d8ba Fix accidentally removed tx qos 5 years ago
Andy Wang 44a09219f7 Experimental support for UDP 5 years ago
Andy Wang c19c43f6e8 Server side UDP to proxy server 5 years ago
Andy Wang c36ec04ce5 Add unordered mode 5 years ago
Andy Wang 52fac535e3 Fix nil pointer with ClientInfo 5 years ago
Andy Wang 8967819830 Fix accidentally removed tx qos 5 years ago
Qian Wang f65a46f4a9 Remove unnecessary state variable IsAdmin 5 years ago
Qian Wang 58cbb73f0f Refactor return value of decryption 5 years ago
Qian Wang 71e48a1947 Refactor switchboard configuration and add unordered option 5 years ago
Qian Wang cb672a99de Refactor session configuration 5 years ago
Qian Wang abc83a9190 Potential fix to an edge case nil pointer 5 years ago
Qian Wang ea5bb44b0a Add and edit some tests 5 years ago
Qian Wang 82fe177c24 Change how timestamp's validity is checked 5 years ago
Qian Wang fc9f227ccf stream.Write now returns the correct amount of data written 5 years ago
Qian Wang 572fe8486a Rename a variable and modify a test 5 years ago
Qian Wang 586cc5ebb6 Optimise deobfs 5 years ago
Qian Wang e3de2b9852 Fix a potential make len<0 5 years ago
Qian Wang b7549c0664 Fix a potential nil pointer 5 years ago
Qian Wang e244340885 Modify some tests 5 years ago
Qian Wang d99b4009b2 Differentiate concrete types of LimitedValve and UnlimitedValve to avoid unnecessary atomic.AddUint64 since it has non-trivial overhead on embedded systems 5 years ago
Qian Wang e7aa4cd04b Fix a stuck mutex 5 years ago
Qian Wang ae4fc917b6 Let the server send a mock encrypted certificate after ChangeCipherSuite to imitate real behaviour more closely 5 years ago
Qian Wang 81f233c226 Update obfs_test 5 years ago
Qian Wang acb999ee64 Force aead key sizes as 32 bytes due to chacha20-poly1305 5 years ago
Qian Wang 581c2332d1 Fix obfs_test as it wasn't really testing encryptionMethod other than aes-gcm 5 years ago
Qian Wang 1d878b3adb Use AEAD to encrypt session key in ServerHello to provide authentication of the identity of the server 5 years ago
Qian Wang 623ca55ab5 Add ecdh test 5 years ago
Qian Wang 3002c87a49 Fix a server crashing null pointer 5 years ago
Qian Wang e15536d7c7 Refactor TLS handshake 5 years ago
Qian Wang 3dc4c6fb3f Add more trace logs 5 years ago
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 5 years ago
Qian Wang fac381dbca Refactor switchboard 5 years ago
Qian Wang d46fa74924 Refactor frame sorter 5 years ago
Qian Wang 9fcc328797 Fix a mutex deadlock 5 years ago
Qian Wang 76095bde0f Add user bypass feature 5 years ago
Qian Wang a513663a72 Use a fork of ratelimit for unlimited bucket 5 years ago
Qian Wang 640f81461c Buffer reuse in obfs 5 years ago
Qian Wang 9fa37e327f Use exclusively salsa20 for header encryption 5 years ago
Qian Wang f933c7b453 Move pipe to util 5 years ago
Qian Wang bf83273f6e Fix redirection 5 years ago
Qian Wang 64b39d728f Refactor usedrandom 5 years ago
Qian Wang 08cb5d8462 Refactor usermanager 5 years ago
Qian Wang 67521efbd6 Alter composeServerHello function signature slightly 5 years ago
Qian Wang 57fc31a5fc Add tests 5 years ago
Qian Wang 237b9d131b Add and fix some tests 5 years ago
Qian Wang e0e33e12d6 Fix non random GREASE generation 5 years ago
Qian Wang 05972863b5 Add tests 5 years ago
Qian Wang 53b6b96262 Remove stupid code 5 years ago
Qian Wang 429da0e0d9 Add unit tests 5 years ago
Qian Wang e75c713385 Refactor session struct's obfs fields 5 years ago
Qian Wang 1a628cb524 Refactor client TLS 5 years ago
Qian Wang 33f232475d Improve logging 5 years ago
Qian Wang 726a405a26 TLS1.3 5 years ago
Qian Wang 0684f5df40 Refactor payload cipher 5 years ago
Qian Wang 2735de4f96 Fix bad cryptography 5 years ago
Qian Wang 0fbb6011fc Remove psudorandom padding 5 years ago
Qian Wang 0f3b2232ab Remove redundant config field 5 years ago
Qian Wang e1c879a478 Fix CORS and POST handler 5 years ago
Qian Wang 6af97e2c22 Optimise session closing 5 years ago
Qian Wang 059a222394 Use defer to unlock mutexes 5 years ago
Qian Wang bf8d373f79 Stream optimisations 5 years ago
Qian Wang 0f9830e716 Update test 5 years ago
Qian Wang 73c0b8567e Memory optimisation 5 years ago
Qian Wang 6fc48c5dae Fix a goroutine leak 5 years ago
Qian Wang 1099b558f1 Fix admin mode 5 years ago
Qian Wang 0e08683828 Use a buffered pipe to buffer sorted data 5 years ago
Qian Wang 38f3a4a522 Only start a session after a local connection has been made 5 years ago
Qian Wang 75fecacd20 Change the protocol to solve sessionTicket inconsistency 5 years ago
Qian Wang 592175f73d Close pipe properly 5 years ago