Closed Bug 541025 Opened 15 years ago Closed 15 years ago

e10s HTTP: make AsyncOpen check port safety asynchronously, or ensure port blacklist is kept up to date

Categories

(Core :: Networking: HTTP, defect)

Other Branch
x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jduell.mcbugs, Unassigned)

References

Details

Right now HttpChannelChild::AsyncOpen duplicates the port safety check from nsHttpChannel. This logic will be repeated on the parent. The reason is that AsyncOpen returns immediately if the port is not allowed, so to preserve the that semantic the check is also done on the child. Alas, biesi points out that the port blacklist is a pref that can be changed at runtime. So we either need to make sure that the child is kept in sync with any changes made to the pref (will this happen for free?), or if not, we should break the semantic and make an illegal port an async error. Obviously, keeping the current semantic would be nicer. Do pref changes automatically get propagated to child processes? How quickly? We could conceivably have a race condition (change pref and then immediately open a channel), though I can't imagine that it'd be likely.
Pref changes will be propagated to the child. This will happen asynchronously. But I really don't think it matters: the check will be repeated when we open the "real" channel on the parent side, won't it?
It's possible to construct a scenario where some JS writes a pref to change the list of OK ports, and then immediately causes a channel to be constructed on the child that should now be OK but isn't, because the child hasn't gotten the update. I don't know how likely that scenario is; it's not going to keep me up late at night.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.