Bug Smash Fund, Year 2: Progress Since February 2021
Last August, we asked you to help us fundraise during our second annual Bug Smash Fund campaign. This fund is designed to grow a healthy reserve earmarked for maintenance work, finding bugs, and smashing them—all tasks necessary to keep Tor Browser, the Tor network, and the many tools that rely on Tor strong, safe, and running smoothly. In 2020, despite the challenges of COVID-19 and event cancellations, you helped us to raise $106,709!
We want to share an update on some of the work that the second year of the Bug Smash Fund has made possible.
Since 2019, we’ve marked 410 tickets with BugSmashFund. As of today, 373 of those tickets have been closed, and 37 of them are still in progress. This year, we've used the Bug Smash Fund to work on continuous integration tooling, Tor Browser improvements, helping onion services providers defend against DDoS by migrating to v3 onion services, fixing bugs on GetTor, moving forward with Arti, and security fixes. We have also used the Bug Smash Fund to create a new status.torproject.org page, which will act as a landing place for network and service status updates.
Thanks for supporting this work!
Below is a list of some of the tickets we’ve closed since our last update in February 2021.
We fixed several bugs on our main website (https://torproject.org).
- On the new download page, the signature and the (?) link are not perceived as different
- Should we move anonbib to the Tor website?
- Update to v3 onion service links
We tracked several censorship events in Iran, Venezuela and other countries.
We have a sponsored project to improve bridgeDB, but some bugs are not covered and were fixed with the Bug Smash Fund.
We are back into maintaining GetTor. It will be integrated into rdsys this year, but for now, we have GetTor running on its own.
We fixed a few bugs in the service that runs Relays Search.
- "AS" prefix missing from the as field in documents
- Possible for inconsistency between summary and details with AS number
- Add an ant task to update GeoIP resources
We fixed a variety of bugs on core tor with the Bug Smash Fund over the last several months.
- Bridges without geoip file report empty statistics
- ControlPort GETCONF does not recognize command aliases
- "GETINFO config-text" adds spurious DataDirectory, Log entries
- Tor uses Roaming (remote) %APPDATA% instead of %LOCALAPPDATA%
- junk log messages every time SETCONF changes the set of ORPorts
- Tor Windows service should be installed with the NetworkService account
- Tor log dates imprecise
- Fallback to resolving localhost when interface searches fail
- GETCONF provides incorrect value when undefined
- Received extra server info (size 0)
- Tor would bind ControlPort to public ip address if it has no localhost interface
- Directory Authorities should test reachability of relays in their family
- Jenkins Windows builders are currently broken
- Coverage flapping in hs_get_responsible_hsdirs()
- Some of our tests require internet connectivity / an IPv4 stack
- Remove ping ::1 from tor's test-network-all and simplify the logic
- nondeterministic coverage of dirvote.c and shared_random.c
- rust protover doesn't canonicalize adjacent and overlapping ranges
- rust protover_all_supported() accepts too-long protocol names
- Examples in CodingStandardsRust.md are wrong
- disparate duplicate subproto handling in protover
- handling double spaces in protover
- protover doesn't forbid version zero
- Check uses of CMP_SEMANTIC for IP addresses
- Handle extreme values better in add_laplace_noise()
- sample_laplace_distribution should produce a valid result on 0.0
- rep_hist_format_hs_stats() should add noise, then round
- sample_laplace_distribution() should take multiple random inputs
- Fix extra-info flags on fallbacks
- Do we need to chown AF_UNIX sockets?
- Use a better pattern for "create mutex if not already initialized"
- circuit_handle_first_hop assumes all one-hop circuits are directory circuits
- clear_status_flags_on_sybil might want to clear more flags
- compute_weighted_bandwidths() broken for dirauths
- Directory Authorities can crash client/relay by scrambling microdesc assignments
- connection_mark_unattached_ap_: checking always true edge_has_sent_end
- zlib compression bomb warning in notices.log on a middle relay
- Find a working alternative to using MaxMind's GeoLite2 databases
We’ve fixed bugs in the Tor Browser building process, as well as closed two tickets related to Tor Browser itself: onion alias url rewrite is broken and document first party isolation for Tor researchers. We are also in the process of changing the repositories branch from “master” to “main,” and some of that work was done during this period.
Thank you to everybody who made a contribution to the Bug Smash Fund. This work is critical in helping us to provide safer tools for millions of people around the world exercising their human rights to privacy and freedom online.
If you’d like to make a contribution to the Bug Smash Fund, you can do so by making a gift at donate.torproject.org: just add “Bug Smash Fund” into the comment field, and we’ll make sure it’s directed to the right place.