Commit Graph
142 Commits
Author SHA1 Message Date
9seconds e1864377c2 Update golangci-lint to 1.40.1 2021-05-17 15:26:16 +03:00
9seconds 16f9ec690b Fix race condition in closing a relay
This commit fixes a situration when relay can be reset before all
waiting goroutines are finished. For example, we terminate processing
based on some event: socket error etc. So, error happens and context is
cancelled. After that a main relay goroutine starts to wait. Meanwhile a
second goroutine reaches deferred function and set wg to done. It means
that main goroutine can continue.

In this case this is really possible that we can start resetting before
transmit goroutine really exits.

A correct solution is to always do wg.Done() as a first deferred thing
on entering to a function. In that case we do not need reordering and so
on.
2021-05-06 22:08:39 +03:00
9seconds fe3b0f3ca5 Add a real integration test 2021-04-12 10:29:19 +03:00
9seconds 115510985a Add option to use telegram test dcs 2021-04-09 16:45:37 +03:00
9seconds 585ebfeb50 Update golanci-lint 2021-04-09 14:35:04 +03:00
9seconds 43f5d2131e Add test for client hello validation 2021-04-08 15:26:49 +03:00
9seconds e2073f0585 Remove timeattack module 2021-04-08 14:58:14 +03:00
9seconds 0652f322fa Add docstrings to a logger 2021-04-08 14:39:01 +03:00
9seconds d3aa0f2de5 Add mtglib-level documentation 2021-04-08 11:54:49 +03:00
9seconds 40c6cf294a Add documentation for the objects of mtglib 2021-04-08 11:47:44 +03:00
9seconds 4c38ea2b11 Refactor some configuration to proxy_opts 2021-04-08 11:00:54 +03:00
9seconds e6d444546f Add documentation for a secret 2021-04-07 18:02:16 +03:00
9seconds 611583ba88 Add doc strings to mtglib events 2021-04-07 15:22:58 +03:00
9seconds 463af648ce Rework events 2021-04-07 14:40:54 +03:00
9seconds 54a7c6a2a5 Small subtle optimizations of faketls 2021-04-06 11:09:37 +03:00
9seconds a3bae795c4 Add documentation for timeattack 2021-04-06 11:03:51 +03:00
9seconds 372c703ad6 Add documentation for network 2021-04-05 18:46:15 +03:00
9seconds 0dd890a09d Add documentation for logger 2021-04-05 16:55:26 +03:00
9seconds 0274b3436a Add documentation for ipblocklist 2021-04-05 16:09:21 +03:00
9seconds 04b88cc864 Add documentation for event stream 2021-04-05 15:12:46 +03:00
9seconds 3661fe108d Add documentation for antireplay package 2021-04-05 11:35:46 +03:00
9seconds 24fdec6694 Move testlib to internal 2021-04-02 21:32:06 +03:00
9seconds 2cdff017e2 Add base tests for proxy 2021-04-02 17:08:15 +03:00
9seconds 766800700a Add test for connrewind 2021-04-02 14:27:02 +03:00
9seconds 7e7823118e Add test conntraffic 2021-04-02 12:40:22 +03:00
9seconds 784a5818c8 Cover last case in secret 2021-04-02 11:49:07 +03:00
9seconds 75b95995a9 Add tests for stream context 2021-04-02 11:39:18 +03:00
9seconds 5941f0674a Enforce code coverage of secret 2021-04-02 11:03:35 +03:00
9seconds 38ff62fddc Add tests for faketls conn 2021-04-01 16:08:59 +03:00
9seconds 26070d5b3e More correct calculation of dc for obfuscated2 frame 2021-04-01 14:19:52 +03:00
9seconds 03d98ee256 Add relay test for timeout 2021-04-01 11:29:01 +03:00
9seconds dc28677086 Fix lint 2021-04-01 11:20:24 +03:00
9seconds 54f4b397b6 Add tests for relay conn 2021-04-01 11:17:45 +03:00
9seconds 96bcb6cd8e Add tests for welcome packet 2021-04-01 11:03:42 +03:00
9seconds 491b674e70 Add tests for client hello 2021-03-31 12:24:04 +03:00
9seconds 64754d1039 Add tests for faketls record 2021-03-30 17:47:20 +03:00
9seconds 23c42def4f Add test for faketls type and version 2021-03-30 16:45:07 +03:00
9seconds 10b78322a3 Implement caching dns resolver 2021-03-30 14:14:37 +03:00
9seconds 841a4d2227 Get rid of unrequired buffering for tls records 2021-03-29 18:56:08 +03:00
9seconds 3cacd74e12 Correctly reset relay state 2021-03-29 14:36:02 +03:00
9seconds 71d4c6c42f Set worker pool to non-blocking mode 2021-03-29 12:12:23 +03:00
9seconds 75b05b9b14 Add public method DomainFrontingAddress 2021-03-29 12:09:23 +03:00
9seconds daa8b9c798 Add EventReplayAttack 2021-03-29 12:07:18 +03:00
9seconds bef14bd009 Add support of EventDomainFronting event 2021-03-29 11:56:05 +03:00
9seconds 4c3f42e264 Simplify relay 2021-03-29 10:37:09 +03:00
9seconds 3992054560 Correctly manage partial writes 2021-03-29 10:26:52 +03:00
9seconds db8614999a Rename EventTelegramTraffic back to EventTraffic 2021-03-28 21:43:25 +03:00
9seconds bc2bd4510a Rework stats 2021-03-27 22:04:30 +03:00
9seconds 5eca6ecb05 Validate hostname if it was found in SNI 2021-03-26 17:23:30 +03:00
9seconds ce30e128e5 fixup address for dc 5 2021-03-26 16:37:59 +03:00