Opened 4 years ago

Closed 3 years ago

Last modified 2 years ago

#13804 closed enhancement (invalid)

Implement negative caching for HS descriptor

Reported by: dgoulet Owned by:
Priority: Medium Milestone:
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-hs, 027-triaged-1-out
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor: None


A negative cache object will have to expire at some point to be removed from cache else a memory DoS would be trivial here.

I guess for that we will need to have an expiry time of the cache object and how many bad fetch before caching the desc.

We have to be careful also on the rate we accept negative caching to avoid memory exhaustion if let say we get 10k bad desc request in 10 seconds.

Child Tickets

Change History (8)

comment:1 Changed 4 years ago by special

Keywords: tor-hs added; tor-hss removed

To clarify:

We're talking about HS clients caching negative responses from HSDir, to reduce the impact of repeated requests. Is that correct?

This description confuses me, because a client doesn't need to worry about memory exhaustion. It will only get as many negative cache entries as it asks for. On the other hand, if this is about HSDirs, I don't see how a negative cache would be any different from what they do now.

Assuming we are talking about clients, it's misleading to say that this is a caching change. If clients keep negative responses from HSDirs longer, we are changing behavior significantly.

comment:2 Changed 4 years ago by nickm

Milestone: Tor: 0.2.???Tor: 0.2.7.x-final

These may be worth looking at for 0.2.7.

comment:3 Changed 4 years ago by nickm

Status: newassigned

comment:4 Changed 4 years ago by nickm

Keywords: 027-triaged-1-out added

Marking triaged-out items from first round of 0.2.7 triage.

comment:5 Changed 4 years ago by nickm

Milestone: Tor: 0.2.7.x-finalTor: 0.2.???

Make all non-needs_review, non-needs_revision, 027-triaged-1-out items belong to 0.2.???

comment:6 Changed 3 years ago by dgoulet

Resolution: invalid
Severity: Normal
Sponsor: None
Status: assignedclosed

We do have a "failure cache" now tracking the failures of the IP and refetching if needed the descriptor. This ticket is not relevant anymore to have around I would say. We can improve our failure cache but we have the basic of what this ticket wanted.

comment:7 Changed 2 years ago by teor

Milestone: Tor: 0.2.???Tor: 0.3.???

Milestone renamed

comment:8 Changed 2 years ago by nickm

Milestone: Tor: 0.3.???

Milestone deleted

Note: See TracTickets for help on using tickets.