Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC7233] Range Requests & partial responses #499

Open
krizhanovsky opened this issue May 23, 2016 · 0 comments
Open

[RFC7233] Range Requests & partial responses #499

krizhanovsky opened this issue May 23, 2016 · 0 comments

Comments

@krizhanovsky
Copy link
Contributor

krizhanovsky commented May 23, 2016

Scope

Need to implement RFC 7233: handle partial responses received from upstream server with possible caching and perform range requests. See RFC 7234 3.1 and RFC 7234 3.3 as well.

The issue depend on #498 as if streaming mode is used we can send 200 OK status on first received skb from upstream, but the response isn't transferred fully after. In such case we should store the partial response to cache with 206 status. The client requesting the message, the first client which request faced the upstream connection termination, will receive partial response with 200'th status. This behavior must be documented as a compromise between proxying performance and response status accuracy.

tfw_thr_mgr (#515) must be extended to download incomplete responses in background.

The design must be done according to CDN Backfired: Amplification Attacks Based on HTTP Range Requests: need to employ appropriate attacks prevention measures.

Test

Need to implement functional tests for attack scenarios from the paper.

@krizhanovsky krizhanovsky added this to the 0.6 OS milestone May 23, 2016
@krizhanovsky krizhanovsky modified the milestones: backlog, 0.10 Kernel-User Space Transport Jan 15, 2018
@krizhanovsky krizhanovsky modified the milestones: 1.4 Kernel-User Space Transport , 1.1 QUIC Aug 8, 2018
@krizhanovsky krizhanovsky modified the milestones: 1.xx TBD, backlog Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant