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年前
9seconds
155a97c25d
Add test for network
5年前