[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-dev] Re: Proposal 365, review notes
On Thu, Sep 4, 2025 at 12:44 PM Ian Jackson via tor-dev
<tor-dev@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi. I read the proposal here
> https://spec.torproject.org/proposals/365-http-connect-ext.html
Hi, thanks for the tenses!
> I hate these notes:
>
> * Tenses are weird.
>
> The whole proposal is written in a weird mix of tenses and sometimes
> in a weird mood. Writing the specifications in the future tense is
> confusing and will make moving the text to the main spec (which we
> should do after approval and as part of implementation) much harder.
>
> There should not be statements like "we should". Specifications, even
> proposals, should be definitive and therefore should be definite.
>
> So everything should be written in the present imperative.
I'll try to do this in a revision.
> * "X-Tor-RPC-Target: Arti RPC support" is weird.
>
> Firstly, is this being a protocol registry?
>
> Secondly, do we not have a notion of critical extensions?
> We should be using that for something like this.
What is the "this" that you're asking about in the sense of being a
protocol registry, and how would it be a protocol registry? Do you
mean, are we starting a list of special Tor HTTP CONNECT extensions?
If so, we already have such a list in
https://spec.torproject.org/http-connect.html . But I think you must
mean something else?
As for critical extensions: I don't think HTTP does those? Even if we
add a specific "critical extension" mechanism to our own headers, we
can't rely on any other implementation rejecting requests that have
them.
We _could_ say that some extensions are "critical" from a Tor POV, in
the sense that they mean "you must either implement this or reject it
if you are a Tor implementation". Is that what you have in mind?
I don't think I'm understanding your questions very well here; maybe
we should meet once you're back.
> * Proxy-Authorization
>
> Don't we need to continue to support http clients where we can't
> specify custom headers?
I think so, yes.
> If so then this spec is a recipe for continuation of the bad protocol
> where we use the whole of the Proxy-Authorization contents as an
> unconditional input to isolation.
The idea here is that the existing mechanism (using the whole
proxy-authorization content) would work, but it would be deprecated
and cause a warning when used, whereas the new scheme (using Basic
with username x-tor) would be the non-deprecated thing. I'll add a
note about deprecation.
> * Optimistic data
>
> This has a framing hazard, which could be a vulnerability in some
> circumstances. I wrote about this in this torspec MR
> https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/419#note_3236424
>
> AFAICT that means if that MR merges, this feature will be removed?
> That would resolve the concern.
Yes; I'm just waiting for some of your replies on that ticket.
> * "X-Tor-Family-Preference: IP version preferences"
>
> What is this for? Is there not an existing way to control this over
> HTTP?
I cannot find any such header for regular HTTP.
> * "X-Tor-Proxy: Indication for Tor proxy protocol support"
>
> Why does this need to be separate from the X-Tor-Capabilities ?
The idea is that this tells you what the proxy implementation is, and
that you'd use it for bug-checking as noted below.
> * Capabilities
>
> > Clients SHOULD NOT inspect the contents of this header to determine
> > whether a given feature is supported or not.
>
> Should be MUST NOT. Capability guessing via version strings is
> completely terrible.
>
> I suggest:
>
> Clients MAY use this to determine whether some software has a
> particular bug, but the matching MUST NOT treat any future versions
> as buggy. So the bug must be fixed before this technique can be
> used.
>
> (This is the rule adopted by the PuTTY team for compatibility with
> broken ssh servers.)
Agreed.
====
Please let me know what you think about the places above; I'll start
revisions on this once I know what you think.
--
Nick
_______________________________________________
tor-dev mailing list -- tor-dev@xxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to tor-dev-leave@xxxxxxxxxxxxxxxxxxxx