| Index: net/quic/core/quic_framer.cc
|
| diff --git a/net/quic/core/quic_framer.cc b/net/quic/core/quic_framer.cc
|
| index a854a063a4b0be1008a532949eec9090a0ec24a5..935669584336ed3dac5edf7bdbcfe8eea0957169 100644
|
| --- a/net/quic/core/quic_framer.cc
|
| +++ b/net/quic/core/quic_framer.cc
|
| @@ -506,7 +506,9 @@ bool QuicFramer::ProcessPacket(const QuicEncryptedPacket& packet) {
|
| // First parse the public header.
|
| QuicPacketPublicHeader public_header;
|
| if (!ProcessPublicHeader(&reader, &public_header)) {
|
| - DVLOG(1) << ENDPOINT << "Unable to process public header.";
|
| + DCHECK_NE("", detailed_error_);
|
| + DVLOG(1) << ENDPOINT
|
| + << "Unable to process public header. Error: " << detailed_error_;
|
| DCHECK_NE("", detailed_error_);
|
| return RaiseError(QUIC_INVALID_PACKET_HEADER);
|
| }
|
| @@ -573,8 +575,10 @@ bool QuicFramer::ProcessDataPacket(QuicDataReader* encrypted_reader,
|
| size_t buffer_length) {
|
| QuicPacketHeader header(public_header);
|
| if (!ProcessUnauthenticatedHeader(encrypted_reader, &header)) {
|
| + DCHECK_NE("", detailed_error_);
|
| DVLOG(1) << ENDPOINT
|
| - << "Unable to process packet header. Stopping parsing.";
|
| + << "Unable to process packet header. Stopping parsing. Error: "
|
| + << detailed_error_;
|
| return false;
|
| }
|
|
|
| @@ -605,7 +609,9 @@ bool QuicFramer::ProcessDataPacket(QuicDataReader* encrypted_reader,
|
| // Handle the payload.
|
| if (!ProcessFrameData(&reader, header)) {
|
| DCHECK_NE(QUIC_NO_ERROR, error_); // ProcessFrameData sets the error.
|
| - DLOG(WARNING) << ENDPOINT << "Unable to process frame data.";
|
| + DCHECK_NE("", detailed_error_);
|
| + DLOG(WARNING) << ENDPOINT
|
| + << "Unable to process frame data. Error: " << detailed_error_;
|
| return false;
|
| }
|
|
|
| @@ -965,6 +971,7 @@ bool QuicFramer::ProcessUnauthenticatedHeader(QuicDataReader* encrypted_reader,
|
| if (header->public_header.multipath_flag &&
|
| !IsValidPath(header->path_id, &base_packet_number)) {
|
| // Stop processing because path is closed.
|
| + set_detailed_error("Path is closed.");
|
| return false;
|
| }
|
|
|
| @@ -981,6 +988,8 @@ bool QuicFramer::ProcessUnauthenticatedHeader(QuicDataReader* encrypted_reader,
|
| }
|
|
|
| if (!visitor_->OnUnauthenticatedHeader(*header)) {
|
| + set_detailed_error(
|
| + "Visitor asked to stop processing of unauthenticated header.");
|
| return false;
|
| }
|
| return true;
|
|
|