9seconds
5282ca26f3
Update golangci-lint to 1.44.2
4 lat temu
9seconds
1a9bc80091
Unexport an error that is not required
4 lat temu
9seconds
30170b9413
Add iplist_size metric
4 lat temu
9seconds
b15a8ec4a5
More correct error if no addresses are found
4 lat temu
9seconds
0ce0c668b9
Fix broken whitelists
4 lat temu
9seconds
93bed24a0b
Remove all cleverness that broke uploads
4 lat temu
9seconds
e7416bc04d
Fix lint issues
4 lat temu
9seconds
33e0509c5a
Optimize for a fast flush
4 lat temu
9seconds
ffad717829
Use CloseRead and CloseWrites
4 lat temu
9seconds
7b1f86b75d
wip
4 lat temu
9seconds
a5e59d9ef7
Add syncPair
4 lat temu
9seconds
0ddaabb136
Add whitelist support
4 lat temu
9seconds
ce8163d1b7
Minor simplification
4 lat temu
9seconds
66f4d967e7
Get rid of buffersize everywhere
4 lat temu
9seconds
d19cfb1df4
Deprecate bufferSize
4 lat temu
9seconds
cd29f3e20b
Add configuration option allow-fallback-on-unknown-dc
4 lat temu
9seconds
dbaa743e03
Add new BindJSON method to a logger
4 lat temu
9seconds
fbe4d32590
Fallback to another DC if given is unknown
4 lat temu
9seconds
ca5800cf60
Simplify tcp relay time randomization
4 lat temu
9seconds
456ed5b051
Change algorithm of TCP relaying
4 lat temu
9seconds
1050ca0b97
Fix lint issues
4 lat temu
9seconds
c85c88efd6
Add simple-run command
4 lat temu
9seconds
3fd5e9eb19
Rework cli
4 lat temu
9seconds
e1864377c2
Update golangci-lint to 1.40.1
5 lat temu
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 lat temu
9seconds
fe3b0f3ca5
Add a real integration test
5 lat temu
9seconds
115510985a
Add option to use telegram test dcs
5 lat temu
9seconds
585ebfeb50
Update golanci-lint
5 lat temu
9seconds
43f5d2131e
Add test for client hello validation
5 lat temu
9seconds
e2073f0585
Remove timeattack module
5 lat temu
9seconds
0652f322fa
Add docstrings to a logger
5 lat temu
9seconds
d3aa0f2de5
Add mtglib-level documentation
5 lat temu
9seconds
40c6cf294a
Add documentation for the objects of mtglib
5 lat temu
9seconds
4c38ea2b11
Refactor some configuration to proxy_opts
5 lat temu
9seconds
e6d444546f
Add documentation for a secret
5 lat temu
9seconds
611583ba88
Add doc strings to mtglib events
5 lat temu
9seconds
463af648ce
Rework events
5 lat temu
9seconds
54a7c6a2a5
Small subtle optimizations of faketls
5 lat temu
9seconds
a3bae795c4
Add documentation for timeattack
5 lat temu
9seconds
372c703ad6
Add documentation for network
5 lat temu
9seconds
0dd890a09d
Add documentation for logger
5 lat temu
9seconds
0274b3436a
Add documentation for ipblocklist
5 lat temu
9seconds
04b88cc864
Add documentation for event stream
5 lat temu
9seconds
3661fe108d
Add documentation for antireplay package
5 lat temu
9seconds
24fdec6694
Move testlib to internal
5 lat temu
9seconds
2cdff017e2
Add base tests for proxy
5 lat temu
9seconds
766800700a
Add test for connrewind
5 lat temu
9seconds
7e7823118e
Add test conntraffic
5 lat temu
9seconds
784a5818c8
Cover last case in secret
5 lat temu
9seconds
75b95995a9
Add tests for stream context
5 lat temu