Skip to content

MISTS: route SendAuctionMenu through WorldSession::SendAuctionHello - #9

Merged
MadMaxMangos merged 1 commit into
masterfrom
fix/mists-auction-hello-routing
Jul 27, 2026
Merged

MISTS: route SendAuctionMenu through WorldSession::SendAuctionHello#9
MadMaxMangos merged 1 commit into
masterfrom
fix/mists-auction-hello-routing

Conversation

@MadMaxMangos

@MadMaxMangos MadMaxMangos commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Problem

8eaa22b ("MISTS: use SMSG_AUCTION_HELLO in SendAuctionMenu") changed the Mists arm of SendAuctionMenu to emit SMSG_AUCTION_HELLO, but kept building the packet body inline.

5.4.8 did not only split the bidirectional MSG_AUCTION_HELLO into CMSG_/SMSG_ halves — it also moved the body to the 18414 grammar. So the opcode alone is not sufficient: the inline body

data << unit->GET_GUID();      // dense GUID
data << uint32(ahEntry->ID);
data << uint8(1);

is the pre-18414 layout sent under the new opcode, and is malformed to a real 5.4.8 client. Any Lua script calling SendAuctionMenu would hit this.

Fix

MangosFour already owns a converted sender, WorldSession::SendAuctionHello, which writes the proved 18414 layout via MopAuctionPackets::BuildHello. This restores the Mists arm to call it.

This is a restoration, not a new approach — the same routing existed at fd0b208a3, which MangosFour's submodule pointer referenced before it advanced to master. fd0b208a3 is not in 8eaa22b's ancestry, so the fix was lost rather than superseded.

Non-Mists arms are unchanged, including the Cataclysm guard added in 1063f43.

Verification

MangosFour asserts this routing in mop_auction_packets_source, which fails on current master and passes with this change. Full MangosFour suite: 1076/1076.


This change is Reviewable

8eaa22b changed the Mists arm to emit SMSG_AUCTION_HELLO but kept building the
body here. 5.4.8 did not just split the bidirectional MSG_AUCTION_HELLO into
CMSG_/SMSG_ halves, it also moved the body to the 18414 grammar, so the old
dense-GUID + uint32 + uint8 body under the new opcode is malformed to a real
client.

MangosFour already owns the converted sender, which writes the proved layout
via MopAuctionPackets::BuildHello. Restore the Mists arm to call it. The
non-Mists arms keep the legacy hand-built packet unchanged, including the
Cataclysm guard added in 1063f43.

This restores the routing that existed at fd0b208 and was lost when master
advanced; MangosFour asserts it in mop_auction_packets_source.
MadMaxMangos added a commit to mangosfour/Server that referenced this pull request Jul 27, 2026
Points the Eluna submodule at dc5059b, which restores
WorldSession::SendAuctionHello routing in the Mists arm of SendAuctionMenu.

Eluna master advanced to 8eaa22b along a line that never contained
fd0b208a3, the commit this repository previously referenced, so the Four
specific routing was lost rather than superseded. 8eaa22b also switched the
inline packet to SMSG_AUCTION_HELLO, which emits the pre-18414 body under the
18414 opcode and is malformed to a real client.

mop_auction_packets_source asserts the routing and fails without this.
Upstream review is MangosServer/Eluna#9.

ctest: 1076/1076 passed
@MadMaxMangos
MadMaxMangos merged commit e5b40f0 into master Jul 27, 2026
10 of 24 checks passed
@MadMaxMangos
MadMaxMangos deleted the fix/mists-auction-hello-routing branch July 27, 2026 10:31
MadMaxMangos added a commit to mangosfour/Server that referenced this pull request Jul 27, 2026
MangosServer/Eluna#9 was squash merged as e5b40f0, so the branch commit
dc5059b this repository referenced is no longer an ancestor of Eluna master
and its branch has been deleted upstream. The pointer would not have resolved
from a fresh clone.

Re-points at e5b40f0. Tree content is identical: git diff dc5059b e5b40f0 is
empty.

ctest: 1076/1076 passed
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.

1 participant