{5} Accepted, Active Tickets by Owner (Full Description) (72 matches)

List tickets accepted, group by ticket owner. This report demonstrates the use of full-row display.

Cthulhu (2 matches)

Ticket Summary Component Milestone Type Created
#13421 GoodBadISP's Revamp Community/Relays project Oct 15, 2014

Following a discussion on the mailing list [1] the GoodBadISP page could do with some updating and proper arranging.

Some of the categories I have in mind to make available in the table format are as follows: Country, Company Name, ASN, Bridges Allowed, Relays Allowed, Exits Allowed, Last Updated, Correspondence.

Would "Bridges Allowed" be a redundant measure since they won't be in the public sphere?

Moritz @ Torservers already has done a fair deal of work, some is outdated or could use an update though but it's a good place to start our focus and give inspiration where needed. [2] [3] [4]

[1] https://lists.torproject.org/pipermail/tor-relays/2014-October/005493.html

[2] https://www.torservers.net/wiki/hoster/experience

[3] https://www.torservers.net/wiki/hoster/inquiry

[4] https://www.torservers.net/wiki/hoster/index

Note: Those wishing to assist on this project please feel free to CC yourself in and keep an eye on the child tickets. I can be found under the pseudonym "TheCthulhu" on IRC or contacted at thecthulhu <at> riseup <dot> net if you wish to ask me directly what to work on next. If this is the first time you've assisted using Trac or the Tor Wiki, don't hesitate to ask for help.

#13473 Sort Existing GoodBadISP page into tables Community/Relays task Oct 19, 2014

The existing GoodBadISP tables need sorting into the new format. All opinions, feedback and communications to that ISP must go in the correct section on ISPCorrespondence page to keep the primary page clean and to the point since it will grow substantially over time.

The new format should be available soon after this ticket is posted as it will be done for the US hosts (good experiences).

Hello71 (1 match)

Ticket Summary Component Milestone Type Created
#22233 Reconsider behavior on .z URLs with Accept-Encoding header Core Tor/Tor Tor: unspecified defect May 11, 2017

In proposal 278, I said:

  If a directory server receives a request to a document with the ".z"
  suffix, where the client does not include an "Accept-Encoding" header,
  the server should respond with the zlib compressed version of the
  document for backwards compatibility with client that does not support
  this proposal.

But on #22206 it became apparent that we've got a problem there: there are already tools (built e.g. on wget) that ask for the .z URL but which send "Accept-Encodings: Identity."

And onn #22206, Yawning says:

an error (or a double compressed payload) should be returned when the .z request contains an Accept-Encoding header that specifies anything other than identity/deflate.

We'd like the end result here to be something where new Tor clients can interoperate with older directory caches without breaking anything, and getting the new compression type if they support it. And we certainly don't want anybody doing two layers of compression: that's a waste of cycles. But we should see if there's a way where we can be more standards compliant without breaking anything we care about.

Jaruga (3 matches)

Ticket Summary Component Milestone Type Created
#20537 Tor Browser User Manual needs meta section Community/Tor Browser Manual defect Nov 2, 2016

The Tor Browser User Manual on https://tb-manual.torproject.org/windows/en-US/ needs a section covering

a) where to find the source, b) how it is licensed, and c) where and how to report bugs.


#24872 remove outdated tor relay security recommendations and update these wiki pages Community/Relays defect Jan 11, 2018

While working on #24497 I wanted to link to existing security related recommendations and found:

https://trac.torproject.org/projects/tor/wiki/doc/TorRelaySecurity https://trac.torproject.org/projects/tor/wiki/doc/OperationalSecurity

IMHO these are severely outdated and give bad advises.

I'm proposing to remove some outdated content and if no one disagrees I'll proceed soon. I'll send email to tor-dev about this.

#13703 Adding doc/HARDENING Community Tor: unspecified enhancement Nov 7, 2014

The two text files currently in the doc directory are doc/HACKING and doc/TUNING. The latter is the only one that deals with relay operation, and its subject is oddly specific: increasing the maximum number of file descriptors. If we're going to put critical documentation in the codebase, I think it would also be worthwhile to have a basic hardening guide. It could include suggestions like:

  • allowing only public key non-root SSH login
  • using a firewall
  • keeping your system up-to-date
  • not running any other programs (especially networked ones)
  • considering hardened or security-focused OS choices

Nick suggested that most of the actual information be contained in referenced links, which I agree with. There's no good reason to duplicate effort when there are, for example, so many good SSH hardening guides.

Let me know what you think, or if you have any contributions. If this is generally considered a good idea, I can start writing a draft.

Jkee299 (1 match)

Ticket Summary Component Milestone Type Created
#28541 Exit HTTPS Everywhere project Nov 20, 2018


MB (1 match)

Ticket Summary Component Milestone Type Created
#9328 o2online.de Live Check not working with enabled SSL strictness HTTPS Everywhere/EFF-HTTPS Everywhere defect Jul 25, 2013

With enabled HTTPS Everywhere, http://www.o2online.de/microsite/o2-netz/live-check/ does not load additional JavaScript from a non-SSL CDN

anarcat (4 matches)

Ticket Summary Component Milestone Type Created
#31686 retire textile Internal Services/Tor Sysadmin Team project Sep 10, 2019

textile is one of the first machines in the KVM* series. weasel proposed we move all its VM into the new FSN cluster and retire the box to start saving some money, and eventually grow the cluster.

#30608 Have a SMTP out only server Internal Services/Tor Sysadmin Team enhancement May 24, 2019

I do use my @tpo email address for many communications outside torproject lists or @tpo people.

Lately, I discovered that many of my emails were silent drop by the remote server or put in SPAM. And that was because the person came back to me asking where was my email. For instance, gmail sometimes put it in the SPAM still because we lack DKIM/SPF so it hurts our reputation.

Th reason why is quite simple: I use my own SMTP server to send the emails while forging the From address.

It would honestly be of a great help if we could simply have an authenticated SMTP server that I could use with let say my LDAP account for sending emails with my @tpo and not being worried that it gets dropped...

The steps required for this change are:

  1. [x] create a new field (emailPassword?) in the LDAP schema (done)
  2. [x] setup a separate email server to accept submissions and keep mail servers aware that not only eugeni sends email
  3. [ ] hook up the password field as authentication in Postfix in the server (probably through ud-generate?)
  4. [ ] test with TPA users that can modify their own password directly through LDAP
  5. [ ] update the web interface (to support changing the field as well?)
  6. [ ] optionally, update the mail gateway to support changes to the field
  7. [ ] do tests with the users in this ticket, and if this works, propagate to all current LDAP users
  8. [ ] create LDAP accounts for more users who want to use the system
  9. [ ] add monitoring loops, with (say) Google, Hotmail, Yahoo and Riseup to ensure delivery works across servers

We should also make a design document to follow along.

#30020 switch from our custom YAML implementation to Hiera Internal Services/Tor Sysadmin Team project Apr 4, 2019

We currently use a custom-made YAML database for assigning roles to servers and other metadata. I started using Hiera for some hosts and it seems to be working well.

Hiera is officially supported in Puppet and shipped by default in Puppet 5 and later. It's the standard way of specifying metadata and class parameters for hosts. I suspect it covers most of our needs in terms of metadata and should cover most if not all of what we're currently doing with the YAML stuff in Puppet.

We should therefore switch to using Hiera instead of our homegrown solution.

This involves converting:

  • if has_role('foo') { include foo } into classes: [ 'foo' ] in hiera (DONE!)
  • hardcoded macros in the ferm module's me.conf.erb into exported resources (DONE, except for HOST_TPO)
  • templates looping over allnodeinfo into exported resources
  • the $roles array into Hiera (DONE!)
  • the $localinfo into Hiera (assuming all the data is there) (DONE!)
  • the $nodeinfo and $allnodeinfo arrays into Hiera (assuming we can switch from LDAP for host inventory)
  • basically any other stuff of the kind, including those files:
    ./modules/torproject_org/misc/local.yaml <- DONE!

Ideally, all YAML data should end up in the hiera/ directory somehow. This is the first step in making our repository public (#29387) but also using Hiera as a more elaborate inventory system (#30273).

The idea of switching from LDAP to Hiera for host inventory will definitely need to be evaluated more thoroughly before going ahead with that part of the conversion, but YAML stuff in Puppet should definitely be converted.

The general goal of this is both to allow for a better inventory system but also make it easier for people to get onboarded with Puppet. By using community standards like Hiera, we make it easier for new people to get familiar with the puppet infrastructures and do things meaningfully.

Update: get_roles(), has_role(), yamlinfo() and local.yaml are *all* gone! The main chunks remaining are now nodeinfo(), allnodeinfo(), $nodeinfo and hoster.yaml. A plan has been laid out for that replacement below. Obviously, the ipsec, static components and redirects YAML files could use a transition into Hiera as well, but those are lower priority.

#32914 review the puppet bootstrapping process Internal Services/Tor Sysadmin Team task Jan 9, 2020

our puppet bootstrap works, but it involves copy-pasting long lines of code. see if we can improve this somehow. maybe we could hardcode the puppetmaster cert to avoid one side of the process.

at least we could wrap it in a script on the puppetmaster to simplify *that* side.

also consider what's the current state of the art in that area.

antonela (3 matches)

Ticket Summary Component Milestone Type Created
#29937 Cannot choose language on mobile Webpages/Website defect Mar 28, 2019

The entire language list is not accessible on mobile.


#30327 https://newsletter.torproject.org overlaps text as width is too small on my phone Webpages/Website defect Apr 29, 2019

Testing on a Samsungs Galaxy S5 mini I realized there is overlapping text on https://newsletter.torproject.org in the Archive section (the dates overlap with text so that the result is hardly readable). See attachment for how this looks like.

#31014 torproject.org is not properly display on mobile devices Webpages/Website defect Jun 28, 2019

There is a glitch on torproject.org making "Browse" only partly visible on my mobile phone.

arma (5 matches)

Ticket Summary Component Milestone Type Created
#15713 toggling DisableNetwork during bootstrap causes delay Core Tor/Tor Tor: unspecified defect Apr 17, 2015

While testing a fix for #11879, Kathy and I noticed that if the bootstrap process is interrupted by setting DisableNetwork=1 via the control port, Tor waits about a minute after DisableNetwork is set back to 0 before continuing network activity. We observed this problem on a Mac OS 10.8.5 system. Possibly related tickets: #9229, #11069.

Once release candidates for Tor Browser 4.5 are available, this should be reproducible by following these steps:

  1. Start Tor Browser and click "Connect".
  2. Click "Open Settings" in the connection progress window to interrupt the bootstrap process.
  3. Click "Connect" again. Notice that there is a delay before the bootstrap makes more progress.

We are also able to reproduce it using Tor and a manual (telnet) control port connection. Follow these steps (control port authentication is up to you):

  1. Remove all cached Tor data and start Tor like this:

./tor --defaults-torrc torrc-defaults -f torrc DisableNetwork 1

  1. Make a control port connection and issue this command:

SETCONF DisableNetwork=0

  1. Wait for bootstrapping to reach 25-50% and then do:

SETCONF DisableNetwork=1

  1. Re-enable network access:

SETCONF DisableNetwork=0 Notice that there is a delay before the bootstrap makes more progress.

We used the torrc-defaults file that ships with Tor Browser 4.5a5:

# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages.  Format is minSeverity[-maxSeverity]
# (stderr|stdout|syslog|file FILENAME).
Log notice stdout
# Bind to this address to listen to connections from SOCKS-speaking
# applications.
SocksPort 9150
ControlPort 9151
CookieAuthentication 1
## fteproxy configuration
ClientTransportPlugin fte exec PluggableTransports/fteproxy.bin --managed

## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec PluggableTransports/obfs4proxy

## flash proxy configuration
# Change the second number here (9000) to the number of a port that can
# receive connections from the Internet (the port for which you
# configured port forwarding).
ClientTransportPlugin flashproxy exec PluggableTransports/flashproxy-client --register :0 :9000

## meek configuration
ClientTransportPlugin meek exec PluggableTransports/meek-client-torbrowser -- PluggableTransports/meek-client

Our torrc is also from Tor Browser and it just contains a few paths:

DataDirectory /Users/.../tb-11879.app/TorBrowser/Data/Tor
GeoIPFile /Users/.../tb-11879.app/TorBrowser/Data/Tor/geoip
GeoIPv6File /Users/.../tb-11879.app/TorBrowser/Data/Tor/geoip6

I will attach some log output.

#15715 spurious "Network is unreachable" error after setting DisableNetwork=1 Core Tor/Tor Tor: unspecified defect Apr 17, 2015

If DisableNetwork is set to 1 via SETCONF during bootstrapping, Tor sometimes generates spurious errors such as "Network is unreachable". Kathy and I saw this while testing a fix for #11879. We realize this may be difficult to fix due to the internal architecture / concurrency inside Tor.

See #15713 for steps to reproduce (but note that an error does not occur every time). In the log that is attached to #15713 you can see an example:

Apr 17 10:28:10.000 [warn] Problem bootstrapping. Stuck at 25%: Loading networkstatus consensus. (Network is unreachable; NOROUTE; count 1; recommendation warn; host 847B1F850344D7876491A54892F904934E4EB85D at

(the error happens right away if it happens at all – no delay).

This problem may cause some Tor Browser users to be a little confused; all they need to do is click "Open Settings" while Tor Browser was starting up and they will sometimes see an error alert.

#19162 Make it even harder to become HSDir Core Tor/Tor Tor: unspecified defect May 23, 2016

In #8243 we started requiring Stable flag for becoming HSDirs, but this is still not hard enough for motivated adversaries. Hence we need to make it even harder for a relay to become HSDir, so that only relays that have been around for long get the flag. After prop224 gets deployed, there will be less incentive for adversaries to become HSDirs since they won't be able to harvest onion addresses.

Until then, our current plan is to increase the bandwidth and uptime required to become an HSDir to something almost unreasonable. For example requiring an uptime of over 6 months, or maybe requiring that the relay is in the top 1/4th of uptimes on the network.

#17773 Should clients avoid using guards that lost the Guard flag? Core Tor/Tor Tor: unspecified enhancement Dec 8, 2015

Nick and I both thought that at least in the past, Tor clients would stop using a relay as their guard, if it loses the Guard flag.

But it looks like the code doesn't do that -- once a relay is your guard, you'll use it in the guard position regardless of whether it has the Guard flag at this moment or not.

This is actually a tricky design decision. In favor of avoiding guards that don't have the guard flag:

  • If they get really slow, we can instruct clients to abandon them.
  • If a relay gets the guard flag for only a short period of time, it will have only a small number of (dedicated) users using it for the next months.

In favor of using non-Guard guards anyway:

  • An attacker can't push you away from your guard by hurting its performance in the eyes of the directory authorities.
  • You won't rotate guards as many times.

That "can't push you away" one looks big. What other aspects should we be considering here?

#18213 The parameter WarnUnsafeSocks does not work as specified in the documentation, no warning is logged in the log file Core Tor/Tor Tor: unspecified defect Feb 2, 2016

The parameter WarnUnsafeSocks does not work as specified in the documentation, no warning is logged in the log file when a connection is done to an ip address.

If WarnUnsafeSocks 1 (default) is set there is no warning in the log file. If you look at the code for log_unsafe_socks_warning, the only case where an error is logged is when safe_socks is true. safe_socks is true only when SafeSocks parameter is set, but not when WarnUnsafeSocks is set.

The code should be

if (safe_socks || options->WarnUnsafeSocks) {

instead of

if (safe_socks) {

boklm (2 matches)

Ticket Summary Component Milestone Type Created
#11508 Test that about:tor page is properly loaded Applications/Quality Assurance and Testing enhancement Apr 14, 2014

During the last beta release we realized that some translators translate "about:tor" which breaks it. We should write a test that checks this crucial page is working in built bundles.

#11509 Make sure search engine strings are not translated Applications/Quality Assurance and Testing enhancement Apr 14, 2014

Bug #11236 is caused by translated search engine strings. We should make sure those strings are not translated.

catalyst (2 matches)

Ticket Summary Component Milestone Type Created
#29215 Document target, modular tor architecture Core Tor/Tor Tor: 0.4.3.x-final task Jan 30, 2019

We'll be working during sponsor31 to make sure that we are moving towards a nice modular architecture. We should document what we're actually trying to achieve, and what our target architecture is, so that we can tell people "do it like X, not necessarily like Tor does it now."

The official deliverable here is "Architectural documentation for how Tor modules work with one another, covering both the actuality and the refactored architecture". The "actuality" is under #29214.

#32208 write description of control subsystem architecture Core Tor/Tor Tor: 0.4.3.x-final task Oct 22, 2019

cypherpunks (1 match)

Ticket Summary Component Milestone Type Created
#21518 Pluggable transports for zero-rated services Applications/Orbot project Feb 20, 2017

Tor increases data usage, and most of the demographics that need Tor the most have very limited data, so please make PTs available for zero-rated services.

For example FreedomPop zero-rates WhatsApp (https://9to5mac.com/2016/08/17/freedompop-whatsapp-sim-free-iphone/) in 30 countries on a free ($0/month) plan.

A WhatsApp plugable transport would therefor allow users in poverty-stricken, massively oppressed countries to have unlimited free access to information through Tor.

I'm not sure if the component should be Orbot or Tor; the WhatsApp example is for mobile but there is also zero-rating for house internet, or someone might want to use a WhatsApp PT on a desktop/laptop/notebook with conventional Tor, tethered to a smartphone for the zero-rated protocol.

dgoulet (2 matches)

Ticket Summary Component Milestone Type Created
#32880 V3 handshaking state change doesn't use "connection_or_change_state()" Core Tor/Tor Tor: unspecified defect Jan 6, 2020

When an OR connection acting as a server changes to state OR_CONN_STATE_OR_HANDSHAKING_V3, it does so by setting conn->base_.state directly and not using connection_or_change_state(), so afaict this state change is never passed to pubsub or to the channel object.

On the other hand, when changing to that same state when acting as a client, it does use connection_or_change_state() as expected.

This seems to me to be a bug, but maybe there was a good reason for doing it this way. Also it seems no one has complained about it since the code was added, so having it changed doesn't seem to be important. But documenting here anyways since someone may want to take a look at it at some point.

#4631 Idea to make consensus voting more resistant Core Tor/Tor Tor: 0.4.4.x-final enhancement Dec 1, 2011

This is an idea how to improve the current situation, where sometimes a directory authority is slow to get its vote out to the other dirauths, and so the dirauths don't all have the same sets of votes. To simplify, I'm illustrating with an example of three dirauths:

at :50, all dirauths make their vote and start uploading. auth1 and auth2 get their vote to all auths, but auth3 doesn't. it cannot publish a vote to auth1 at all, and it takes more than 2.5 minutes to publish its vote to auth2. at :52:30, all auths try fetching the votes they're missing from the other auths, so auth1 asks auth2 for auth3's vote, and auth2 asks auth1 for auth3's vote. auth3 asks nobody, and nobody asks auth3. At this point, neither auth1 nor auth2 have auth3's vote. auth3 now (at, for example, :53:30) succeeds publishing to auth2, so auth1 now has a vote from auth1 and auth2, auth2 and auth3 have a vote from auth1, auth2, and auth3. At :55 the auths try to make a consensus, but auth1 will end up with a different consensus than auth2 and auth3.

My idea to make this less of a problem would be that only for two minutes will we accept a vote that gets pushed to us, and anything we get later than that is considered "too late" and will be dropped. At :52:30 minutes, we still go ahead and try and fetch all votes from all the other authorities, and if they have a vote we will accept it. We repeat that fetching of all votes that we don't have at 53:00, 53:30, 54:00 and 54:30. That way, a delayed publication of the original vote will not cause this kind of split, where the dirauths have different opinions on who has voted, so only the dirauth that took more than 2 minutes to publish its descriptor to any of the other dirauths will be affected. There's still a race condition here, which is when a dirauth (within two minutes) only publishes to one other dirauth, and then that dirauth gets so slow it cannot get the vote to any of the other votes. But since it was fast enough to get the vote the first time, hopefully that's rather rare.

Does this all sound viable? Am I overlooking something?

emmapeel (1 match)

Ticket Summary Component Milestone Type Created
#32746 translations repo and jenkins: reduce builds Internal Services/Service - jenkins enhancement Dec 13, 2019

i have been thinking on how to use our resources more wisely regarding the translations and the websites.


  • At this moment we are building our websites many branches anew each time we push changes to our translations repository, even with languages still not enabled on production.

This results on a situation when, if there is people translating the support portal for example to Malayalam, which is still not published, and therefore making changes to the translation repository, the website is rebuild several times when there have been no actual changes to it (the pages for the actual website show still no Malayalam translations)

On the other hand, the quick updates are very useful for translators, and they use the staging version of the site a lot, learning to test their translations and thus fixing problems by themselves.

  • The translations configuration gets on the way with the development process

It makes work on staging hard, because there are a lot of changes in the configuration files (databags/alternatives.ini, $website.lektorproject, .htaccess, configs/i18n.ini) that should not get in the production website.

The local and jenkins builds get longer, as people using staging will have to compile all this languages too.

  • The content of the staging site gets outdated, and translators are translating newer content that is not updated on staging

As it is so hard to merge master changes to staging, the staging website gets outdated on other code and is not useful anymore as a quick preview site.


So I propose to:

  • new branches for translators, called translations, that get updated when the dedicated branch at https://gitweb.torproject.org/translation.git/ is updated, and follow master closely, differing from it only in changes to the configuration files (databags/alternatives.ini, $website.lektorproject, .htaccess, configs/i18n.ini).
  • the following scheduling in lektor-jenkins-translation branches:
    • master/staging/develop: when there is a change on this branches, we pull the new translations from the translation repo, and update all together
    • translations: we rebuild when there are changes on the website repo, AND changes on the translation repo branch as well

If we want to update the translations in branches master/staging/develop, we should be able to do it simply by triggering a build from the web interface.

This way we can reduce the builds and make development less cumbersome, while also providing a quick preview of their changes to active translators.

We can also prevent accidentally publishing incomplete languages, or removing languages from the 'preview' website.

So, for this to be implemented we need to:

Please let me know what you think

feynman (1 match)

Ticket Summary Component Milestone Type Created
#9022 Create an XMPP pluggable transport Circumvention/Pluggable transport task Jun 5, 2013

We should look into XMPP pluggable transports. There are many public XMPP services that see widespread use even from censored countries.

hiro (3 matches)

Ticket Summary Component Milestone Type Created
#23574 Don't allow text injection in our 404 page Internal Services/Tor Sysadmin Team defect Sep 19, 2017

We got a report on HackerOne by sumitthehacker:

i want to report a text injection and a misconfiguration of the 404 page

the bug exists at :


as you can see attacker text is included
"It has been changed by a new one https://www.attacker.com so go to the new one since this one was not found on this server."

#28065 Tor web docs Webpages/Support defect Oct 16, 2018

During the meeting in CDMX some of us chatted about the possibility to build and maintain a sort of Tor web docs (like the mozilla web docs [1]).

The idea is to collect all the techniques we use to make websites tor-browser and privacy friendly in a single place. We could also include the reasoning behind doing certain things in pure css vs js. Or why we decide to do things in a certain way.

Some topic that I have been thinking about are:

  • Why tor browser is slightly different from Firefox (or another browser)
  • Why does my app work differently in tor browser?
  • How can I make my app compatible for people that do not use JS?
  • Code examples for css and js
  • Server side website programming, what to keep in mind...

While all these topics are documented in various articles around the interwebs, I kinda think we (tor community) should own something like this, since it would also help to push forward the idea that the web as we know it needs to change.

Up to now I have always thought this sort of content belonged to the styleguide. Recently I have been thinking that while the individual implementation details of what use in our websites can be included in the styleguide, the reasoning behind those and the general implementations should be put somewhere else.

Also I do not think these topics belong directly to the dev portal, as I tend to think that should be about developing on tor rather than considering how the web works a bit differently when using tor browser. Unless we would rather do a specific section regarding all this in the web portal.

Further things to consider:

  • Kevin (on cc) is working on a Tor friendliness scanner tool for websites.
  • We see often threads like this [2] on our mailing lists. This one is about how to avoid privacy leaks for onion services, but we might identify more similar best practice tips being discussed.

[1] https://developer.mozilla.org/en-US/ [2] https://lists.torproject.org/pipermail/tor-onions/2018-August/000295.html

#22842 Create a knowledge base that's more in-depth than FAQs Webpages/Website WebsiteV3 task Jul 6, 2017

It would be useful for visitors to our web pages to have access to content that:

  • goes into more depth than a FAQ entry
  • is more formal than a blog post
  • is less comprehensive than a reference manual section
  • is more stable than a wiki page

These pages would form sort of a knowledge base or resource section.

irl (2 matches)

Ticket Summary Component Milestone Type Created
#32264 MS: Perform fetches of check.tpo in an exitmap plugin Metrics/Exit Scanner task Oct 24, 2019

For this milestone, the connection helper (#32263) is glued to the ExitSpider class (#32262) in a new ExitScanner plugin.

It will be necessary to implement some parser for check.tpo's output in order to extract the IP address from it.

#32265 MS: Format an exit list from a previous exit list and exitmap output Metrics/Exit Scanner task Oct 24, 2019

From ndjson formatted PATHspider results, rewrite them as an exit list that can be consumed by check.tpo.

juga (1 match)

Ticket Summary Component Milestone Type Created
#28045 Start supporting python 3.7, python 3.8, and pypy3.5 Core Tor/sbws sbws: 1.2.x-final defect Oct 15, 2018

karsten (1 match)

Ticket Summary Component Milestone Type Created
#33065 metrics dirbytes graph either underreports or leaves out dir auths? Metrics/Website enhancement Jan 27, 2020

https://metrics.torproject.org/dirbytes.html shows that on average about 1gbit/s is spent serving directory information.

But the investigations in #33018 show that moria1 by itself is pushing about 135mbit/s, and I hear gabelmoo is doing even more than that.

The text under the graph says "directory mirrors", so maybe we are leaving out dir auths in this graph? In that case, it would be cool to change it to one of those layered graphs so you can see how much of the total is dir auths and how much of the total are other relays.

Or maybe we're somehow not adding up the right things? Step zero is to spot-check the current data and the current graphs and become convinced that indeed we're presenting the right data.

Originally reported in https://trac.torproject.org/projects/tor/ticket/33018#comment:3

lunar (1 match)

Ticket Summary Component Milestone Type Created
#11355 Provide obfsproxy nightlies in our debian repositories Archived/Obfsproxy task Mar 28, 2014

People are asking for obfsproxy nightlies (#10954). It would be brilliant if people could add our debian repo, and get the latest obfsproxy master through it.

How can I help you do this?

No hurry on this one. I mainly made this ticket because #10954 was not very specific.


n8fr8 (6 matches)

Ticket Summary Component Milestone Type Created
#2424 Android purges firewall rules after network disable/airplane mode. Applications/Orbot defect Jan 22, 2011

Setting my phone to disable data access and/or enable airplane mode seems to cause the transproxy iptables rules created by OrBot to get silently flushed. After re-enabling, all apps access everything without tor, until I go into the orbot config screen to cause it to reapply them.

OrBot should listen for these network disable/loss/disconnect events if possible, and reinstate the iptables rules after this happens.

Someone should also test if switching from cell data to+from wifi also triggers this iptables reset. I have not tested that yet.

#3595 Connections with IPv4-mapped IPv6 addresses bypass transproxy Applications/Orbot defect Jul 14, 2011

A user (DEplan on #guardianproject) reported that Gibberbot was using his real IP despite Orbot's transproxy being turned on; further research led to the conclusion that recent releases of Android seem to use IPv4-mapped IPv6 adresses for a large portion of connections. For examples, please see http://pastebin.com/Z4KDDq40. These connections completely bypass transproxy.

I am not yet sure about the circumstances under which Android employs these addresses.

The problems in finding a solution are that Android usually does not include ip6tables (though Orbot could simply package that) and kernels do usually not include IPv6 netfilter modules. The latter is a major issue, since Orbot can't package modules for every single kernel a user might be running.

As a side note, IPv6 does not support NAT (which is what transproxying is based on).

I'll try to figure out what triggers this behaviour of Android and find possible solutions (using sysctl to disable IPv6 does not solve it).

#5393 orbot relay bug - orbot is not setting the relay values into torrc properly causing orbot to not work when set as relay Applications/Orbot defect Mar 15, 2012

This is about the bug discussed with 'n8fr8' on #guardianproject at freenode. So, the relay functionality you said was broken and needs to be fixed for 'orbot' on smartphones. I checked with the orbot version '' and you have checked with the 'dev branch of the code' as you said (i suppose that means you have checked with latest version of code by compiling and running the latest updated version from git; i will do it too and let you know again). But none seemed to work. In fact, you said you were getting a more significant crash, when you enabled relaying on smartphone for dev branch of code. You also thought if the problem is: whether the Relay conflict is with transproxying/root or with Tor client connection in general. But, i'm not sure if it later seemed not to be the problem. Then, you told me to change the torrc file on my android phone, as you said that orbot is not setting the relay values properly which might be the reason for orbot not working as a relay on smartphone. So, I will do that and let you know about it. I will also keep checking 'https://guardianproject.info/builds/Orbot/' to see if any new dev/debug release is posted. Thankyou so very much for all your help, Mr.Nathan.

#2761 Orbot Service not shutting down Applications/Orbot defect Mar 15, 2011

Behaviour: When closing tor network with big Button and exiting Orbot after tor is "deactivated", privoxy is still running and the Orbot service is not stopped.


  • Killing Privoxy from shell stops the privoxy process (OK)
  • Killing Orbot process simply restarts the process (BAD)


  • Running Orbot v1.0.4.1
  • Android Froyo 2.2.1 speedmod kernel
  • Samsung Galaxy

#3775 Permission error on Orbot Applications/Orbot defect Aug 21, 2011

There's some kind of problem with permissions in Orbot. I'm not sure if this happens only to me, but when I try to start Tor, it cannot access cache/control_auth_cookie. I can chmod it every time, but it is a bit annoying.

#5469 Orbot: can't specify node restrictions Applications/Orbot defect Mar 24, 2012

I'm using Orbot (v0.2.3.10-alpha-1.0.7-FINAL, on Android ICS v4.0.1) and I can't seem to get the exit node I request. In the Exit and Entrance Node fields I have "{us}" entered, yet sometimes I get IP's outside the US. Yesterday I got a UK ip.

Also, at random (usually after 30 minutes or so) I seem to lose connection to the Tor network without Orbot notifying me. I'm using Pandora from Canada.

nickm (12 matches)

Ticket Summary Component Milestone Type Created
#31483 token_bucket_ctr_adjust() does not convert rate to step Core Tor/Tor Tor: 0.4.4.x-final defect Aug 22, 2019

In #30687, we created a single-counter token bucket token_bucket_ctr.

token_bucket_rw_adjust() calls rate_per_sec_to_rate_per_step(rate), but token_bucket_ctr_adjust() does not.

I suggest we fix this bug by moving rate_per_sec_to_rate_per_step(rate) into token_bucket_cfg_init(). And we should add some documentation that explains the difference between rate and burst.

Gaba, this is sponsor 31-must, because it is a bug fix on sponsor 31 code that has already been merged.

#18788 Make the copyright license clear for torspec and proposals Core Tor/Tor Tor: unspecified enhancement Apr 11, 2016

Once upon a time, the tor spec files and proposals were in the Tor tarball, so they clearly were covered under Tor's copyright license (3-clause BSD).

But now they're in their own git repository.

I think maybe they technically have no copyright license now?

We should pick one (I vote cc-by) and try to apply it. This plan could become tricky for proposals, because there are a lot of authors on proposals by now.

#16579 (Sandbox) Caught a bad syscall attempt (syscall socket) Core Tor/Tor Tor: unspecified defect Jul 14, 2015

I'm running tor on Gentoo Hardened. The bug exists in and tor crashes within seconds of starting, before any clients can connect I think.

Jul 14 13:13:07.000 [notice] Tor (git-df76da0f3bfd6897) opening log file.
Jul 14 13:13:07.182 [notice] Tor v0.2.7.1-alpha (git-df76da0f3bfd6897) running on Linux with Libevent 2.0.22-stable, OpenSSL 1.0.1p and Zlib 1.2.8.
Jul 14 13:13:07.182 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Jul 14 13:13:07.182 [notice] This version is not a stable Tor release. Expect more bugs than usual.
Jul 14 13:13:07.182 [notice] Read configuration file "/etc/tor/torrc".
Jul 14 13:13:07.187 [notice] Opening Socks listener on
Jul 14 13:13:07.187 [notice] Opening Socks listener on
Jul 14 13:13:07.187 [notice] Opening Socks listener on
Jul 14 13:13:07.187 [notice] Opening Control listener on
Jul 14 13:13:07.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Jul 14 13:13:07.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Jul 14 13:13:07.000 [notice] Bootstrapped 0%: Starting

============================================================ T= 1436875987
(Sandbox) Caught a bad syscall attempt (syscall socket)
$ uname -r

This bug has been reported downstream: https://bugs.gentoo.org/show_bug.cgi?id=550302. It occurs with the following torrc:

# Minimal torrc so tor will work out of the box
User tor
PIDFile /var/run/tor/tor.pid
Log notice syslog
Log notice file /var/log/tor/log
DataDirectory /var/lib/tor/data
SandBox 1

SocksPort 9050
SocksPort 9056 IsolateDestAddr IsolateDestPort
SocksPort 9055

ControlPort 9015
CookieAuthentication 1

By commenting out "Sandbox 1" or unsetting it, tor will obviously run without crashing.

#27130 rust dependency updating instructions don't work Core Tor/Tor Tor: unspecified defect Aug 13, 2018

None of the instructions mention updating Cargo.lock, which is required. The script updateRustDependencies.sh doesn't update that file, either.

#31882 move Android build config into core tor Core Tor/Tor Tor: 0.4.4.x-final defect Sep 27, 2019

Guardian Project has maintained a wrapper build system for building tor for Android since the beginning. Since many more people are now building tor for Android, I'm working to upstream as much of that as possible. The goal is that the requirements for building on Android can be fulfilled by tor's own configure.ac.

The first change is to remove the unnecessary ./configure --enable-android option.

  • Android NDK compilers define __ANDROID__ so that can be used for Android-only code without adding anything in configure.ac, (following the standard pattern like __APPLE__, __linux__, __FreeBSD__, _WIN32, etc.
  • android/log.h and __android_log_write() are always present if building for Android, so this would be like testing for printf() on UNIX.

Then move the Android config into configure.ac reusing the ./configure --enable-android flag. A working sketch for that is here: https://trac.torproject.org/projects/tor/ticket/28766#comment:6

The last piece is including a Java JNI wrapper in tor, enabled by ./configure --enable-jni. This lets us run tor as an Android Service, which is the Android equivalent of a UNIX daemon (UNIX daemons are not really supported on Android and using them is quite problematic). This JNI API should be generic enough to be useable in Java in general, though that's not a priority for us.

I'll add patches for merging once we agree on these details. I have this all working already on my machine.

#32691 Image broken in 'src-ref' documentation Core Tor/Tor Tor: 0.4.3.x-final defect Dec 6, 2019

For example if you visit https://src-ref.docs.torproject.org/tor/dataflow.html, the "structure hierarchy for connection types" image is missing (the img tag has a 404). There are possibly other missing images as well, but I can't find the markdown files to check (there were the original versions, then they were moved to the tor git repo and edited iirc, but now they're gone).

There's also another image missing on the same page, but has no <img> tag (compare the top of the https://people.torproject.org/~nickm/tor-auto/internal/02-dataflow.html and https://src-ref.docs.torproject.org/tor/dataflow.html pages). But it may have been removed on purpose.

#32830 Relay_extended - hash and padding - specs are wrong or unclear Core Tor Tor: 0.4.3.x-final defect Dec 20, 2019

I noticed recently plenty of 'unrecognized' relay_extended messages for node-Tor project while everything was working fine in the past after I updated the code and made it modular (and some abnormal delays to establish circuits), see also http://peersm.com/peersm2 this is temporary but I had to put a lot of debug stuff to find out what was going on

Finally I figured out why: unlike what is writen in the main Tor specs the hash is calculated not only with the real payload of the relay_extended messages but includes also the padding (apparently starting with 00000000, not sure where it comes from neither where it is specified)

This looks quite strange, what is the rationale for this, is it a bug, why is it not documented and does it impact other types of messages?

#31631 Write a test for round-trip encode/decode operations on configuration objects. Core Tor/Tor Tor: unspecified enhancement Sep 4, 2019

We should have tests to round-trip through torrc, state, and sr_disk_state objects. We should make sure that encoding a configuration object and then parsing it again gives us the same result.

We might be able to turn this into a fuzzer test.

#31940 Fail unit tests that hang Core Tor/Tor Tor: 0.4.3.x-final enhancement Oct 3, 2019

Follow up to #31841.

We should set a time limit for each individual unit test, and fail it if it takes too long.

We might also want to timelimit checks as well.

We can set a time limit on entire shell commands using the "timelimit" command. But we will need to write test code to do it per-unit test.

#32139 Disable all dirauth options when those modules are disabled Core Tor/Tor Tor: 0.4.4.x-final enhancement Oct 18, 2019

Here's what we want to change in this ticket:

  • --disable-module-dirauth (and, by implication, --disable-module-relay)
    • Disables *AuthoritativeDir*, and MinUptimeHidServDirectoryV2 options
      • Maybe these options should move under Directory Authority Server Options in the man page
    • Disables all the options under Directory Authority Server Options

#32372 Add a practracker mode that only regenerates over-broad exceptions Core Tor/Tor Tor: 0.4.3.x-final enhancement Nov 5, 2019

In #32213, I regenerated the practracker file, and then manually committed the over-broad exceptions.

It would be helpful if we had a --regen-overbroad option to practracker, that automatically regenerated the improvements we have made.

I feel like this should be easy, it's a combination of --regen and --list-overbroad. But I don't know the practracker design well enough to do it cleanly.

#32720 How much bandwidth does a user use to bootstrap and maintain dir info? How has that changed over time? Core Tor/Tor task Dec 11, 2019

We've gone through a series of iterations on the mechanisms for fetching directory info, culminating in these last two:

  • iteration n-1: "start by fetching a new consensus and all the microdescriptors, and then fetch a new consensus every few hours plus fetch new microdescriptors as needed"
  • iteration n: like that but use consensus diffs when possible for the new consensus documents

(and we compress some of these steps on the wire)

How many actual bytes is this right now? For the current network, how much are we saving with 'iteration n' over 'n-1'? It would be awesome to track this number over time, so we put ourselves in a position to be able to notice when the load gets higher than we expected.

I ask because we have a large org asking us about the bandwidth tradeoffs of adding 7 figures, 8 figures, or 9 figures of users into the Tor network, and all I have as an answer is my intuitive guess of "about a megabyte per user per day".

I cc komlo since maybe they already computed this metric as part of analyzing related work for walking onions.

And I choose the Tor component since the metrics folks will be happy to graph numbers if the network team exports the numbers, but probably they have no plans to calculate things themselves.

pde (5 matches)

Ticket Summary Component Milestone Type Created
#3777 Should not generate mixed-content warnings if rewriting all http to https HTTPS Everywhere/EFF-HTTPS Everywhere defect Aug 21, 2011

As far as I can tell, Firefox produces mixed-content warnings on an https page that references resources (images, scripts, etc) via http, even if HTTPS Everywhere can rewrite all of those http URLs to use https. (HTTPS Everywhere does rewrite resource requests, right?)

Ideally, if HTTPS Everywhere successfully rewrites every http request from a page to an https request, the page should not generate a mixed content warning. (Though I'd still like to see some indication that the page was only secure due to HTTPS Everywhere, so I know to report the insecure resources to the site owner.)

#4278 MSDN navigation breakage (due to Origin: header omission?) HTTPS Everywhere/EFF-HTTPS Everywhere defect Oct 20, 2011

Reported here: https://bugzilla.mozilla.org/show_bug.cgi?id=694611

Test case:

Clicking on the fold-out tabs on the left of this page produces no results:


#6276 Hiding the context menu button breaks the Tools->HTTPS Everywhere menu HTTPS Everywhere/EFF-HTTPS Everywhere defect Jul 2, 2012

When you drag the httpse icon from the urlbar to 'menu_bar.view.toolbars.customize' window you lose the 'menu_bar.tools.https_everywhere' drop down menu content for httpse, though the menu item itself is still there. At that point, the only way to configure httpse is via 'about:addons'. Or of course to restore the icon to the urlbar.

Seems to me the drop down menu content should remain regardless of where the icon is, or is not.

FF 10.0.3 ESR HTTPS-E v2.1

#6592 HTTPS Everywhere Causes WordPress.com Zemanta Media Gallery To Not Work HTTPS Everywhere/EFF-HTTPS Everywhere defect Aug 11, 2012


Every version of HTTPS Everywhere that I have tested has caused a problem with at least one of the common websites that I visit, so I finally am reporting one of these problems.

When using WordPress.com with Zemanta enable, the Media Gallery/Recommended Images show up, but the hover feature that allow you to preview images does not work and clicking images to add them to your post does not work when HTTPS Everywhere is installed.

Here is an example of what Zemanta looks like on WordPress.com:


I am using HTTPS Everywhere in the latest Firefox and have had this problem in other versions of Firefox, and with various versions of HTTPS Everywhere.

I think this problem happens even if HTTPS Everywhere is disabled, but once uninstalled the problem stops, but I could be wrong.

Thank you, -John Jr :)

#7454 Active rules list doesn't indicate effects of securecookie if no URL rewrite took place HTTPS Everywhere/EFF-HTTPS Everywhere defect Nov 12, 2012

We just had a bug reported about a securecookie rule that applied to all of MIT (including pages that don't support HTTPS at all!) and was breaking logins.

However, the ruleset in question didn't appear in the active rules menu, because no rewrite rule was triggered on the page in question -- only a securecookie. This made the problem take slightly longer to debug and made it harder for affected users to work around. The existing logic for deciding which rules are "active" on the current pages seems to be triggered solely by rewrite rules.

Since securecookie rules affect page rendering and can even break it, rulesets containing them should also show up in the active rules menu when they were applied to a resource on the current page.

phoul (1 match)

Ticket Summary Component Milestone Type Created
#10966 Define a process on how new support assistants can be accepted in the team Community/Tor Support task Feb 20, 2014

The switch from having a single person handling all support request to a team was made through recruiting support assistants as a contracting position. It would be good to define a process on how new people can get accepted in the team. It's mostly a question of trust and probably we need to define a vouching process and a set of people that need to ack the decision.

rl1987 (4 matches)

Ticket Summary Component Milestone Type Created
#31023 Add tests for tor-print-ed-signing-cert and other tools, and run them in CI Core Tor/Tor Tor: unspecified defect Jun 28, 2019

We almost missed a memory safety bug in #31012, because our CI doesn't run our tools. We should write some quick tool tests, and run them in our CI.

#27324 Rework AUTHENTICATE cell parsing and remaining generation with trunnel Core Tor/Tor Tor: unspecified enhancement Aug 26, 2018

In channetls.c we have channel_tls_process_authenticate_cell() that uses memcpy et. al. to parse AUTHENTICATE cell. This should be done with machine generated code from trunnel. We also should rely more on trunnel when generating AUTHENTICATE cells. Generation of Type 1 authentication payload is mostly implemented with trunnel already.

#28982 Refactor GETINFO dir/ so that new tor/ URLs automatically become GETINFOs Core Tor/Tor Tor: unspecified enhancement Jan 4, 2019

The control-spec lists some tor/ URLs as GETINFO dir/ keys: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt#n807 (The reference to section 4.4 in dir-spec is also wrong, it should be Appendix B.)

But some newer URLs are missing, for example, consensus-microdesc: https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n3862

We could refactor the GETINFO dir/ code to redirect all requests to the tor/ URL.

#27143 Look for parts of code that relies on non-trunnel code for binary wire format handling Core Tor/Tor Tor: unspecified task Aug 14, 2018

Open a new ticket for each, so that it could be reworked one at a time.

We really should do this for Tor cell handling.

rransom (1 match)

Ticket Summary Component Milestone Type Created
#3459 Expose information about dir conns to controllers Core Tor/Tor Tor: unspecified enhancement Jun 24, 2011

Currently, we do not expose any information about non-tunneled directory connections to controllers. Should we?

saint (1 match)

Ticket Summary Component Milestone Type Created
#9360 increase font size in trac Internal Services/Service - trac defect Jul 31, 2013

Whenever I visit trac I find the fonts hard to read. The file https://trac.torproject.org/tor.css has the following lines inside:

body, th, td {
 font: normal 13px Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif;

So the font-size is set to 13px. I would propose to change it to 1.0em. This sets the font-size to the value the users has set for normal texts. So it should reflect the users choice.

Maybe can also change the font sizes of the headings. The current setting in tor.css is:

h1 { font-size: 19px; margin: .15em 1em 0.5em 0 }
h2 { font-size: 16px }
h3 { font-size: 14px }

In relative terms the settings should be like:

h1 { font-size: 1.5em; margin: .15em 1em 0.5em 0 }
h2 { font-size: 1.2em }
h3 { font-size: 1.1em }

sysrqb (2 matches)

Ticket Summary Component Milestone Type Created
#27592 TBA: 'Clear private data' option does not clear browsing history Applications/Tor Browser defect Sep 9, 2018

Almost all visited URLs are saved in /data/data/org.torproject.torbrowser_alpha/files/mozilla/profile.default/browser.db-wal. Clearing private data from the settings or pressing the 'Quit' button does not delete that file. So basically all browsing history is still stored after clearing private data. After clearing private data in the settings, it does say that some private data could not be deleted but if 'Site settings' is unchecked, it doesn't say that anymore. So normally we'd think that only site settings are not cleared.

#27539 Create plan for releasing on F-Droid Applications/Tor Browser enhancement Sep 7, 2018

Can we create a build script and add the app now? What are the blockers? How difficult will this become after we begin building using tor-browser-build?

The Guardian Project have their own F-Droid repository, do we need our own? If we do, can ours be included in the f-droid app by default (but disabled), too?

weasel (1 match)

Ticket Summary Component Milestone Type Created
#32179 move orestis to be a new-style onionoo frontend Internal Services/Tor Sysadmin Team defect Oct 22, 2019

this is an (old-style) onionoo frontend going only to the old backends. cf. #31659.

wulder (1 match)

Ticket Summary Component Milestone Type Created
#21087 Separate truncated descriptor(s) from next complete descriptor Metrics/CollecTor defect Dec 26, 2016

Hi Karsten, a user reached out to me because Stem's validator warns about a CollecTor tarball. In particular it's surprised by @source annotations in the server descriptors.

Here's the *server-descriptors-2016-09/2/2/228e3ecf654e1b7b4f01a0027e599e7ba14b216c* descriptor from the tarball for an example...

@type server-descriptor 1.0 
router sauronkingofmortor 9001 0 9030
-----BEGIN ED25519 CERT-----
-----END ED25519 CERT-----
master-key-ed25519 7PV1B+84IhXfpoz1sBS1Kb5mvKr3bQoXIKeCulgw51M
platform Tor on Linux
protocols Link 1 2 Circuit 1
published 2016-09-15 09:23:41
fingerprint 2D8A FA91 2E2B 8623 BB2C DACD 1933 2209 D524 D1A3
uptime 860586
bandwidth 12288000 12288000 7792456
extra-info-digest 2017D54A2C28B100CE173351E0799E15153B703B                                          D2vKVNwaxArp6bf11NWPRNoYGQ0lBgIwziSXNkL9TCw
ntor-onion-key-crosscert 0
-----BEGIN ED25519 CERT-----
-----END ED25519 CERT-----
contact luciole <luciolesauronkingofmortor@yopmail.com>
ntor-onion-key lhvzaL7Ze85GFMWMQscMgIt9IOx6srmOiXqD85kOekI=
reject *:@uploaded-at 2016-09-15 09:24:06
@source ""
router torbeornottorbe 9001 0 0
platform Tor on Linux
protocols Link 1 2 Circuit 1
published 2016-09-15 09:24:06
fingerprint C6EE 9826 7F82 962C C2FC 1E9E 2AE5 F317 B2D2 D6F0
uptime 762082
bandwidth 1024000 2048000 106721
extra-info-digest 08D7C6A9FF860F6A5D12FB43BD2051ACC06BCE52
family $5A8B78AB293475D6D55F1CBFA5D2A1CEEB09545B $EAE900D1DB28D56F4535C06F1BAEB92B9E3BFEE6
contact A36F 07B9 285A C895 3E42 69F3 0CCC 0AF6 2FEC DB6E Random Person <nae AT blueyonder dot co   dot uk>
ntor-onion-key 90dT83YmTzH/uojnATf+KOtwJssKGURO/qdu3SR0XgE=
reject *:*

Seems this is two descriptors concatenated together with a @source in the middle? Any hints on where these come from?


yawning (1 match)

Ticket Summary Component Milestone Type Created
#15593 Bring sanity to the tor side of the PT shutdown process. Circumvention/Pluggable transport Tor: unspecified enhancement Apr 5, 2015

This is the final phase of my great PT shutdown process cleanup as a follow up to #15545.

Now that there's a portable mechanism to signal termination to PTs (close the stdin), we should change the PT shutdown process to allow graceful termination to look like this:

  1. Close stdin (and on U*IX, send a SIGTERM, PT behavior here is equivalent).
  2. Wait for a grace period (~1 sec?)
  3. If the child still is not dead, send a SIGKILL/TerminateProcess(). (Failsafe)

This fixes #9330 in that, PTs that wish to trap a graceful shutdown on Windows have a way to do so, despite the final stage of the process killing the PT in the most violent way possible as a failsafe (realistically, PTs should exit shortly after step 1).

Note: See TracReports for help on using and creating reports.