Skip to content

sync: upstream moxygen aca0f8665d5d#265

Merged
omoq-sync-bot[bot] merged 6 commits into
mainfrom
sync/aca0f8665d5d
Jun 10, 2026
Merged

sync: upstream moxygen aca0f8665d5d#265
omoq-sync-bot[bot] merged 6 commits into
mainfrom
sync/aca0f8665d5d

Conversation

@omoq-sync-bot

@omoq-sync-bot omoq-sync-bot Bot commented Jun 10, 2026

Copy link
Copy Markdown

Automated upstream sync.

  • Upstream commit: aca0f8665d5d
  • Upstream status: success (green)
  • Merge type: git merge (sync/aca0f8665d5d → main)

The verify workflow will validate the standalone build. On success, this PR auto-merges.
Devs can push conflict-resolution commits to sync/aca0f8665d5d if needed.

Created by omoq-upstream-sync workflow.


This change is Reviewable

kvtsoy and others added 6 commits June 9, 2026 01:06
…ation

Summary:
Add `quic::toFollySocketAddress()`, `quic::toFollySocketAddressRef()`, and `quic::fromFollySocketAddress<quic::SocketAddress>()` bridge calls at all boundaries where proxygen and moxygen code crosses between `folly::SocketAddress` and `quic::SocketAddress`.

On server builds, `quic::SocketAddress` is an alias for `folly::SocketAddress`, so all bridge calls compile to identity with zero overhead. On mobile builds (where `quic::SocketAddress` will become `quic::QuicSocketAddress`), these conversions handle the type mismatch.

**proxygen changes:**
- `HQSession.h`: `getPeerAddress()`/`getLocalAddress()` use `toFollySocketAddressRef()` with mutable `folly::SocketAddress` caches (`cachedPeerAddr_`, `cachedLocalAddr_`)
- `HQSession.cpp`: Wrap `sock_->getLocalAddress()`/`getPeerAddress()` assignments to `localAddr_`/`peerAddr_` with `toFollySocketAddress()`
- `HQConnector.cpp`: Wrap `addNewPeerAddress()`/`setLocalAddress()` args with `fromFollySocketAddress<quic::SocketAddress>()`
- `QuicWebTransport.h`, `QuicWtSession.h`: Same `toFollySocketAddressRef()` pattern with mutable caches
- `HTTPCoroSession.cpp`: Wrap `sock->getLocalAddress()`/`getPeerAddress()` passed to constructor with `toFollySocketAddress()`
- `HTTPCoroConnector.cpp`: Wrap `addNewPeerAddress()`/`setLocalAddress()` args with `fromFollySocketAddress<quic::SocketAddress>()`
- `HTTPCoroAcceptor.cpp`: Wrap `quicSocket->getPeerAddress()` with `toFollySocketAddress()`
- `HTTPServer.cpp`: Update `QuicAcceptorTransportFactory::make()` override signature from `const folly::SocketAddress&` to `const quic::SocketAddress&` to match renamed base class

**moxygen changes:**
- `MoQClientBase.cpp`: Wrap `quicClient->getLocalAddress()`/`getPeerAddress()` with `toFollySocketAddress()` before passing to `MLogger`
- `MoQClientMobile.cpp`: Wrap `addNewPeerAddress()` arg with `fromFollySocketAddress<quic::SocketAddress>()`
- `MoQServer.cpp`: Wrap address getters with `toFollySocketAddress()` at both logger call sites
- `MoQWebTransportClient.cpp`: Wrap `session->getLocalAddress()`/`getPeerAddress()` with `toFollySocketAddress()`
- `util/QuicConnector.cpp`: Wrap `addNewPeerAddress()` arg with `fromFollySocketAddress<quic::SocketAddress>()`

Re-land of reverted D106696601. This diff was reverted only as collateral: it stacks on D106696595, which was reverted for an ARVR Android Buck link-group cycle (context: S672298). It has no independent build break — on server `quic::SocketAddress` is an alias for `folly::SocketAddress`, so every bridge call is identity.

Reviewed By: jbeshay

Differential Revision: D107912134

fbshipit-source-id: 4b1ba7b6166a35d966b4f3c9e5d87a3c81efb474
Summary: Gate `PUBLISH_OK` wire compatibility so draft 18 sends publish success as `REQUEST_OK`, while older drafts continue to use wire `PUBLISH_OK`. Add `RequestOk`/`PublishOk` conversion helpers and route semantic publish success through existing session handling, including `MoQRelaySession`.

Reviewed By: sharmafb

Differential Revision: D106771143

fbshipit-source-id: 63b13deebdf338b07e40ca445549a03719c80434
Summary: Two follow-up tightenings to D106771143's deliberately-permissive draft-18 param validation: (1) reject `OBJECT_DELIVERY_TIMEOUT`/`SUBGROUP_DELIVERY_TIMEOUT` on any resolved `REQUEST_OK` shorthand except `PUBLISH_OK`; (2) make `isKnownParamKey` version-aware so draft-18-only keys (0x06/0x0A/0x34) are hard-rejected below v18.

Reviewed By: sharmafb

Differential Revision: D107959157

fbshipit-source-id: 93695efd88f92233febad027cdafbccf47558d94
Summary: We don't need this patch function in `run-getdeps.py`, we can just add the flag directly to the boost-python manifest.

Differential Revision: D108040039

fbshipit-source-id: 0d20ed8140c3edbb2fa6572ef28de2167b87cb3c

@gmarzot gmarzot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-approved by upstream sync workflow.

@omoq-sync-bot omoq-sync-bot Bot merged commit d80dbab into main Jun 10, 2026
8 of 9 checks passed
@omoq-sync-bot omoq-sync-bot Bot deleted the sync/aca0f8665d5d branch June 10, 2026 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants