aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-20Use ShouldBeNil to check for nil valuesrenovate/github.com-smartystreets-goconvey-1.xmr-origin-165Cecylia Bocovich
2023-09-20chore(deps): update module github.com/smartystreets/goconvey to v1.8.1Renovate Bot
2023-09-19chore(deps): update module ↵renovate/gitlab.torproject.org-tpo-anti-censorship-pluggable-transports-goptlib-1.xRenovate Bot
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib to v1.5.0
2023-09-19chore(deps): update module github.com/pion/webrtc/v3 to v3.2.20Renovate Bot
2023-09-19Update CI targets to include only Go 1.20 and 1.21Cecylia Bocovich
To keep up with our dependencies, we no longer support versions of Go older than v1.20.
2023-09-19chore(deps): update module golang.org/x/net to v0.15.0Renovate Bot
2023-09-12Update module golang.org/x/sys to v0.12.0Renovate Bot
2023-09-11update version to v2.6.1v2.6.1Shelikhoo
2023-08-28Update module golang.org/x/crypto to v0.12.0Renovate Bot
2023-08-25Update golang Docker tag to v1.21Renovate Bot
2023-08-24Workaround for shadow in lieu of AF_NETLINK supportCecylia Bocovich
For details, see https://github.com/shadow/shadow/issues/2980
2023-08-24Update module golang.org/x/net to v0.13.0 [SECURITY]Renovate Bot
2023-08-14Keep the 'v' from the tag on the released .tar.gzmeskio
Gitlab doesn't support '#v' expansion for the links name and url: https://docs.gitlab.com/ee/ci/variables/where_variables_can_be_used.html https://docs.gitlab.com/ee/ci/variables/where_variables_can_be_used.html#gitlab-internal-variable-expansion-mechanism The current releases include a 'snowflake-.tar.gz' that gives a 404, because the link provided is missing the tag part. Let's keep it simple and produce a tar.gz with the v in the name like snowflake-v2.6.0.tar.gz Closes: #40282
2023-07-29Change DefaultRelayURL back to wss://snowflake.torproject.net/.David Fifield
Fixes #40283. Compare to #31522.
2023-07-28feat: add option to expose the stats by using metricsam3o
2023-07-03Add renovate configmeskio
Closes: #40194
2023-07-03Update dependenciesmeskio
So renovate doesn't create tons of merge requests.
2023-06-29Close temporary UDPSession in TestQueuePacketConnWriteToKCP.David Fifield
With these not being closed, they were continuing to consume resources after the return of the test function, which was affecting the later BenchmarkSendQueue. Before: ``` snowflake/common/turbotunnel$ go test -bench BenchmarkSendQueue -v === RUN TestQueueIncomingOversize --- PASS: TestQueueIncomingOversize (0.00s) === RUN TestWriteToOversize --- PASS: TestWriteToOversize (0.00s) === RUN TestRestoreMTU --- PASS: TestRestoreMTU (0.00s) === RUN TestRestoreCap --- PASS: TestRestoreCap (0.00s) === RUN TestQueuePacketConnWriteToKCP --- PASS: TestQueuePacketConnWriteToKCP (1.01s) goos: linux goarch: amd64 pkg: gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/common/turbotunnel cpu: Intel(R) Core(TM) i5 CPU 680 @ 3.60GHz BenchmarkSendQueue BenchmarkSendQueue-4 8519708 136.0 ns/op PASS ok gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/common/turbotunnel 3.481s ``` After: ``` snowflake/common/turbotunnel$ go test -bench BenchmarkSendQueue -v === RUN TestQueueIncomingOversize --- PASS: TestQueueIncomingOversize (0.00s) === RUN TestWriteToOversize --- PASS: TestWriteToOversize (0.00s) === RUN TestRestoreMTU --- PASS: TestRestoreMTU (0.00s) === RUN TestRestoreCap --- PASS: TestRestoreCap (0.00s) === RUN TestQueuePacketConnWriteToKCP --- PASS: TestQueuePacketConnWriteToKCP (1.02s) goos: linux goarch: amd64 pkg: gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/common/turbotunnel cpu: Intel(R) Core(TM) i5 CPU 680 @ 3.60GHz BenchmarkSendQueue BenchmarkSendQueue-4 11620237 105.7 ns/op PASS ok gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2/common/turbotunnel 3.244s ```
2023-06-29Fix a comment left over from turbotunnel-quic.David Fifield
2023-06-20Bump minimum required version of goCecylia Bocovich
The version of x/sys we're using requires go1.17 or later
2023-06-19Update version to v2.6.0v2.6.0Cecylia Bocovich
2023-06-19Implement DataChannel flow controlVort
2023-06-14Append Let's Encrypt ISRG Root X1 to cert poolCecylia Bocovich
This is a workaround for older versions of android that do not trust the Let's Encrypt root certificate. https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40087
2023-06-08Use IP_BIND_ADDRESS_NO_PORT when dialing the ORPort on Linux.David Fifield
When the orport-srcaddr option is set, we bind to a source IP address before dialing the ORPort/ExtORPort. tor similarly binds to a source IP address when OutboundBindAddress is set in torrc. Since tor 0.4.7.13, tor sets IP_BIND_ADDRESS_NO_PORT, and because problems arise when some programs use IP_BIND_ADDRESS_NO_PORT and some do not, we also have to start using IP_BIND_ADDRESS_NO_PORT when we upgrade tor (tpo/anti-censorship/pluggable-transports/snowflake#40270). Related: tpo/anti-censorship/pluggable-transports/snowflake#40198
2023-06-08use debian buster and bullseye as base imagesitchyonion
2023-05-31Move the development to gitlabmeskio
Related: tpo/anti-censorship/team#86
2023-05-29Broker: add warning log when proxy couldn't mach with clientitchyonion
2023-05-29Broker: update unit tests after adding SDP validationitchyonion
2023-05-29Broker: soften non-critical log from error to warningitchyonion
2023-05-29Validate SDP offers and answersitchyonion
2023-04-20Add a scanner error check to ClusterCounter.Count.David Fifield
It was silently exiting at the "recordingStart":"2022-09-23T17:06:59.680537075Z" line, the first line whose length (66873) exceeds bufio.MaxScanTokenSize. Now distinctcounter exits with an error status instead of reporting partial results. $ ./distinctcounter -from 2023-01-01T00:00:00Z -to 2023-01-10T00:00:00Z -in metrics-ip-salted.jsonl 2023/04/20 13:54:11 unable to count:bufio.Scanner: token too long
2023-04-20Merge remote-tracking branch 'gitlab/main'meskio
2023-04-19Use goptlib from gitlab.torproject.orgmeskio
2023-04-04Use a sync.Pool to reuse packet buffers in QueuePacketConn.David Fifield
This is meant to reduce overall allocations. See past discussion at https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40260#note_2885524 ff.
2023-04-04Fix loop termination in TestQueuePacketConnWriteToKCP.David Fifield
The noise-generating goroutine was meant to stop when the parent function returned and closed the `done` channel. The `break` in the loop was wrongly exiting only from the `select`, not from the `for`. This was the cause of banchmark anomalies in https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40260#note_2885832. The noise-generating loop from the test was continuing to run while the benchmarks were running.
2023-04-04Use a static array in benchmarks.David Fifield
Since d2858aeb7ec50ae09b9a7e2e2a910ae31cec62bd the caller is permitted to reuse its slice again.
2023-04-04Comment typo.David Fifield
2023-04-03Restore ListenAndServe error return in Transport.Listen.David Fifield
This error return was lost in 11f0846264d4033e7a7dc7824febb6ad7140762f; i.e. !31. Fixes #40043.
2023-03-29Comment typo.David Fifield
2023-03-22Update CI test targetsShelikhoo
2023-03-22Use latest Pion WebRTC libs versionKokaKiwi
- webrtc and dtls libs got the "Skip Hello Verify" patches applied Link: https://github.com/pion/dtls/pull/513 Link: https://github.com/pion/webrtc/pull/2433
2023-03-14Add comments and improve loggingitchyonion
2023-03-14Proxy: add outbound-address configitchyonion
2023-03-13Fix comment typo on NewRedialPacketConn.David Fifield
2023-03-13Merge branch '40260-revert-queuepacketconn-ownership' into 'main'David Fifield
Revert "Take ownership of buffer in QueuePacketConn QueueIncoming/WriteTo" See merge request tpo/anti-censorship/pluggable-transports/snowflake!140
2023-03-13Revert "Take ownership of buffer in QueuePacketConn QueueIncoming/WriteTo."David Fifield
This reverts commit 839d2218837dfbd1682ff39b375f45660b3974b5. (Except for the added benchmarks in queuepacketconn_test.go.) This change corresponds to the issues #40187 and #40199. The analysis in https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40199 was wrong; kcp-go does reuse the buffers it passes to QueuePacketConn.WriteTo. This led to unsynchronized reuse of packet buffers and mangled packets observable at the client: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40260. Undoing the change in QueuePacketConn.QueueIncoming as well, for symmetry, even though it is not implicated in any correctness problems.
2023-03-13Test for data race with QueuePacketConn.WriteTo and kcp-go.David Fifield
For #40260.
2023-03-13Add utls-imitate, utls-nosni doc to README: fix styleShelikhoo
2023-03-10Add utls-imitate, utls-nosni doc to READMEShelikhoo
2023-02-09fix: up/down traffic stats being mixed upWofWca