Note from 3rd July 2020

@bagder hi Daniel, reading https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing/ (yes, I'm late 😅)

If DNS B.example.com returns 192.168.0.2 and 192.168.0.3, is TLS really enough to be sure it also works on 192.168.0.1?

BTW, there's a typo near the end: "both IPv4 and IPv4 addresses".

11 Webmentions

11 replies

  1. Nicolas Hoizey avatar Nicolas Hoizey
    BTW, there's a typo near the end: "both IPv4 and IPv4 addresses".
  2. Daniel Stenberg avatar Daniel Stenberg
    I'm not sure what you're asking. Are you asking if my explanation is correct of how Firefox does connection coalescing?
  3. Nicolas Hoizey avatar Nicolas Hoizey
    I'm not questioning your explanation at all.

    I don't understand how Firefox can make sure B can answer on the same IP as A when DNS doesn't list it.
  4. Daniel Stenberg avatar Daniel Stenberg
    that's not what it says, it says it can reuse/coalesce the connection for A with B if DNS and the certs have overlap
  5. Nicolas Hoizey avatar Nicolas Hoizey
    As I understand it:
    - A is on 1 and 2
    - Firefox connects to 1
    - TLS says * are the same
    - B is on 2 and 3
    - 2 and 3 are in *, so 1 (which is also) is reused

    That's what I understand in "It will reuse […] A and ask for host B’s content over that single shared connection"
  6. Daniel Stenberg avatar Daniel Stenberg
    yes, that seems accurate
  7. Nicolas Hoizey avatar Nicolas Hoizey
    Ok, so I wonder how it reacts if B is not reachable with 192.168.0.1 … 🤷‍♂️
  8. Daniel Stenberg avatar Daniel Stenberg
    I'm pretty sure that doesn't matter. The point is that the site admins have specified that A and B overlap.
  9. Nicolas Hoizey avatar Nicolas Hoizey
    Ok, thanks.

    Maybe I should let go… 😉
  10. Daniel Stenberg avatar Daniel Stenberg
    you don't have to, but if you want to argue that they're doing it wrong you should talk to Firefox engineers, not me...
  11. Nicolas Hoizey avatar Nicolas Hoizey
    I really do not want to argue anything, just to understand how/why it works.