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
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 年之前