Fix connect-udp server

cl/735766130 unfortunately broke the non-bind code path. This CL fixes that.

It also makes some minor improvements to the logging in that file.

PiperOrigin-RevId: 770294460
diff --git a/quiche/quic/masque/masque_server_session.cc b/quiche/quic/masque/masque_server_session.cc
index 4b89895..c0b9911 100644
--- a/quiche/quic/masque/masque_server_session.cc
+++ b/quiche/quic/masque/masque_server_session.cc
@@ -740,7 +740,8 @@
 
   QUICHE_DCHECK(expected_target_server_address.IsInitialized());
   QUIC_DVLOG(1) << "Received readable event on fd " << fd << " (mask " << events
-                << ") stream ID " << it->stream()->id() << " server "
+                << ") stream ID " << it->stream()->id()
+                << (is_bind ? " (bind)" : "") << " server "
                 << expected_target_server_address;
   QuicUdpSocketApi socket_api;
   QuicUdpPacketInfoBitMask packet_info_interested(
@@ -755,10 +756,6 @@
 
   char packet_buffer[packet_buffer_size];
 
-  if (!is_bind) {
-    packet_buffer[0] = 0;  // Context ID = 0 for non-bind.
-  }
-
   char control_buffer[kDefaultUdpPacketControlBufferSize];
   while (true) {
     QuicUdpSocketApi::ReadPacketResult read_result;
@@ -845,6 +842,10 @@
         writer.WriteStringPiece(peer_address.host().ToPackedString());
         writer.WriteUInt16(peer_address.port());
       }
+    } else {
+      QuicDataWriter writer(final_header_length,
+                            udp_payload_read_pos - final_header_length);
+      writer.WriteVarInt62(/*context_id=*/0);
     }
 
     // The packet is valid, send it to the client in a DATAGRAM frame.
@@ -857,7 +858,10 @@
                   << " with stream ID " << it->stream()->id()
                   << " and got message status "
                   << MessageStatusToString(message_status)
-                  << "message size with header: " << message.size();
+                  << " message size with header: " << message.size();
+    QUIC_DVLOG(2) << "Contents of outgoing HTTP Datagram of length "
+                  << message.size() << ":" << std::endl
+                  << quiche::QuicheTextUtils::HexDump(message);
   }
   return true;
 }
@@ -1070,8 +1074,10 @@
   WriteResult write_result = socket_api.WritePacket(
       fd_, http_payload.data(), http_payload.length(), packet_info);
   QUIC_DVLOG(1) << "Wrote packet of length " << http_payload.length() << " to "
-                << target_address << " with result " << write_result
-                << "payload:" << http_payload;
+                << target_address << " with result " << write_result;
+  QUIC_DVLOG(2) << "Contents of outgoing UDP packet of length "
+                << http_payload.length() << ":" << std::endl
+                << quiche::QuicheTextUtils::HexDump(http_payload);
 }
 
 bool MasqueServerSession::ConnectUdpServerState::OnCompressionAssignCapsule(