Sergey Arkhipov
b19f491fc8
Merge pull request #189 from 9seconds/relay-close-racecondition
Fix race condition in closing a relay
5 роки тому
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.
5 роки тому
9seconds
fec60083a3
Merge remote-tracking branch 'origin/master' into stable
5 роки тому
9seconds
0882d45d6a
Update dependencies
5 роки тому
9seconds
86c6541e0d
Small typo
5 роки тому
Sergey Arkhipov
cc1f60c4a6
Merge pull request #187 from 9seconds/trimpath
Add trimpath for better build reproducibility
5 роки тому
9seconds
700f71bb31
Add trimpath for better build reproducibility
5 роки тому
Sergey Arkhipov
097b52c8ef
Make values in tag meaning more consistent
5 роки тому
Sergey Arkhipov
c3ffd7a307
Merge pull request #184 from 9seconds/e2e-integration-test
Add a real integration test
5 роки тому
9seconds
fe3b0f3ca5
Add a real integration test
5 роки тому
Sergey Arkhipov
2273a0e4af
Merge pull request #183 from 9seconds/test-stage
Add option to use telegram test dcs
5 роки тому
9seconds
115510985a
Add option to use telegram test dcs
5 роки тому
9seconds
2b5b325722
Add doc for cli package
5 роки тому
9seconds
c536cbecd5
Fix a link to go reference
5 роки тому
9seconds
5e9d0649a2
Update dependencies
5 роки тому
9seconds
585ebfeb50
Update golanci-lint
5 роки тому
Sergey Arkhipov
81bca75c25
Merge pull request #180 from 9seconds/v2
V2
5 роки тому
9seconds
4f048a3b82
Update README
5 роки тому
9seconds
43f5d2131e
Add test for client hello validation
5 роки тому
9seconds
e2073f0585
Remove timeattack module
5 роки тому
9seconds
0652f322fa
Add docstrings to a logger
5 роки тому
9seconds
d3aa0f2de5
Add mtglib-level documentation
5 роки тому
9seconds
40c6cf294a
Add documentation for the objects of mtglib
5 роки тому
9seconds
4c38ea2b11
Refactor some configuration to proxy_opts
5 роки тому
9seconds
e6d444546f
Add documentation for a secret
5 роки тому
9seconds
611583ba88
Add doc strings to mtglib events
5 роки тому
9seconds
463af648ce
Rework events
5 роки тому
9seconds
b748603096
Add docs for stats
5 роки тому
9seconds
54a7c6a2a5
Small subtle optimizations of faketls
5 роки тому
9seconds
a3bae795c4
Add documentation for timeattack
5 роки тому
9seconds
372c703ad6
Add documentation for network
5 роки тому
9seconds
0dd890a09d
Add documentation for logger
5 роки тому
9seconds
0274b3436a
Add documentation for ipblocklist
5 роки тому
9seconds
04b88cc864
Add documentation for event stream
5 роки тому
9seconds
b3112c5c67
Move documentation to init.go
5 роки тому
9seconds
3661fe108d
Add documentation for antireplay package
5 роки тому
9seconds
5d5b77d73b
Tune defaults
5 роки тому
9seconds
7bffdcdf4a
Move config to internal
5 роки тому
9seconds
ea7033d569
Move cli to internal
5 роки тому
9seconds
24fdec6694
Move testlib to internal
5 роки тому
9seconds
2fe04c7c9b
Move utils to internal
5 роки тому
9seconds
7b5cb8e14b
Small updates for docker file
5 роки тому
9seconds
8566cede74
Update build flags in Makefile
5 роки тому
9seconds
2dc30c5837
Simplify cli
5 роки тому
9seconds
2cdff017e2
Add base tests for proxy
5 роки тому
9seconds
766800700a
Add test for connrewind
5 роки тому
9seconds
7e7823118e
Add test conntraffic
5 роки тому
9seconds
784a5818c8
Cover last case in secret
5 роки тому
9seconds
75b95995a9
Add tests for stream context
5 роки тому
9seconds
5941f0674a
Enforce code coverage of secret
5 роки тому