Index: net/quic/core/crypto/quic_crypto_server_config.cc |
diff --git a/net/quic/core/crypto/quic_crypto_server_config.cc b/net/quic/core/crypto/quic_crypto_server_config.cc |
index b7a44bdeac72f9ed1ae2b4e1b9e1810b94f22890..b807d46ea637352bc1caef734b475d1a38aafab8 100644 |
--- a/net/quic/core/crypto/quic_crypto_server_config.cc |
+++ b/net/quic/core/crypto/quic_crypto_server_config.cc |
@@ -35,6 +35,7 @@ |
#include "net/quic/core/quic_utils.h" |
#include "net/quic/platform/api/quic_bug_tracker.h" |
#include "net/quic/platform/api/quic_clock.h" |
+#include "net/quic/platform/api/quic_endian.h" |
#include "net/quic/platform/api/quic_hostname_utils.h" |
#include "net/quic/platform/api/quic_logging.h" |
#include "net/quic/platform/api/quic_reference_counted.h" |
@@ -745,6 +746,10 @@ void QuicCryptoServerConfig::ProcessClientHelloAfterGetProof( |
const QuicReferenceCountedPointer<Config>& requested_config, |
const QuicReferenceCountedPointer<Config>& primary_config, |
std::unique_ptr<ProcessClientHelloResultCallback> done_cb) const { |
+ if (QuicUtils::IsConnectionIdWireFormatBigEndian(Perspective::IS_SERVER)) { |
+ connection_id = QuicEndian::HostToNet64(connection_id); |
+ } |
+ |
ProcessClientHelloHelper helper(&done_cb); |
if (found_error) { |
@@ -1479,6 +1484,10 @@ void QuicCryptoServerConfig::BuildRejection( |
<< "with server-designated connection ID " |
<< server_designated_connection_id; |
out->set_tag(kSREJ); |
+ if (QuicUtils::IsConnectionIdWireFormatBigEndian(Perspective::IS_SERVER)) { |
+ server_designated_connection_id = |
+ QuicEndian::HostToNet64(server_designated_connection_id); |
+ } |
out->SetValue(kRCID, server_designated_connection_id); |
} else { |
out->set_tag(kREJ); |