Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Side by Side Diff: net/quic/core/quic_framer.cc

Issue 2540873002: Print out detailed_error_ in various LOG statements in QuicFramer. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/core/quic_framer.h" 5 #include "net/quic/core/quic_framer.h"
6 6
7 #include <cstdint> 7 #include <cstdint>
8 #include <memory> 8 #include <memory>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 } 499 }
500 500
501 bool QuicFramer::ProcessPacket(const QuicEncryptedPacket& packet) { 501 bool QuicFramer::ProcessPacket(const QuicEncryptedPacket& packet) {
502 QuicDataReader reader(packet.data(), packet.length()); 502 QuicDataReader reader(packet.data(), packet.length());
503 503
504 visitor_->OnPacket(); 504 visitor_->OnPacket();
505 505
506 // First parse the public header. 506 // First parse the public header.
507 QuicPacketPublicHeader public_header; 507 QuicPacketPublicHeader public_header;
508 if (!ProcessPublicHeader(&reader, &public_header)) { 508 if (!ProcessPublicHeader(&reader, &public_header)) {
509 DVLOG(1) << ENDPOINT << "Unable to process public header."; 509 DCHECK_NE("", detailed_error_);
510 DVLOG(1) << ENDPOINT
511 << "Unable to process public header. Error: " << detailed_error_;
510 DCHECK_NE("", detailed_error_); 512 DCHECK_NE("", detailed_error_);
511 return RaiseError(QUIC_INVALID_PACKET_HEADER); 513 return RaiseError(QUIC_INVALID_PACKET_HEADER);
512 } 514 }
513 515
514 if (!visitor_->OnUnauthenticatedPublicHeader(public_header)) { 516 if (!visitor_->OnUnauthenticatedPublicHeader(public_header)) {
515 // The visitor suppresses further processing of the packet. 517 // The visitor suppresses further processing of the packet.
516 return true; 518 return true;
517 } 519 }
518 520
519 if (perspective_ == Perspective::IS_SERVER && public_header.version_flag && 521 if (perspective_ == Perspective::IS_SERVER && public_header.version_flag &&
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 return true; 568 return true;
567 } 569 }
568 570
569 bool QuicFramer::ProcessDataPacket(QuicDataReader* encrypted_reader, 571 bool QuicFramer::ProcessDataPacket(QuicDataReader* encrypted_reader,
570 const QuicPacketPublicHeader& public_header, 572 const QuicPacketPublicHeader& public_header,
571 const QuicEncryptedPacket& packet, 573 const QuicEncryptedPacket& packet,
572 char* decrypted_buffer, 574 char* decrypted_buffer,
573 size_t buffer_length) { 575 size_t buffer_length) {
574 QuicPacketHeader header(public_header); 576 QuicPacketHeader header(public_header);
575 if (!ProcessUnauthenticatedHeader(encrypted_reader, &header)) { 577 if (!ProcessUnauthenticatedHeader(encrypted_reader, &header)) {
578 DCHECK_NE("", detailed_error_);
576 DVLOG(1) << ENDPOINT 579 DVLOG(1) << ENDPOINT
577 << "Unable to process packet header. Stopping parsing."; 580 << "Unable to process packet header. Stopping parsing. Error: "
581 << detailed_error_;
578 return false; 582 return false;
579 } 583 }
580 584
581 size_t decrypted_length = 0; 585 size_t decrypted_length = 0;
582 if (!DecryptPayload(encrypted_reader, header, packet, decrypted_buffer, 586 if (!DecryptPayload(encrypted_reader, header, packet, decrypted_buffer,
583 buffer_length, &decrypted_length)) { 587 buffer_length, &decrypted_length)) {
584 set_detailed_error("Unable to decrypt payload."); 588 set_detailed_error("Unable to decrypt payload.");
585 return RaiseError(QUIC_DECRYPTION_FAILURE); 589 return RaiseError(QUIC_DECRYPTION_FAILURE);
586 } 590 }
587 591
(...skipping 10 matching lines...) Expand all
598 602
599 if (packet.length() > kMaxPacketSize) { 603 if (packet.length() > kMaxPacketSize) {
600 // If the packet has gotten this far, it should not be too large. 604 // If the packet has gotten this far, it should not be too large.
601 QUIC_BUG << "Packet too large:" << packet.length(); 605 QUIC_BUG << "Packet too large:" << packet.length();
602 return RaiseError(QUIC_PACKET_TOO_LARGE); 606 return RaiseError(QUIC_PACKET_TOO_LARGE);
603 } 607 }
604 608
605 // Handle the payload. 609 // Handle the payload.
606 if (!ProcessFrameData(&reader, header)) { 610 if (!ProcessFrameData(&reader, header)) {
607 DCHECK_NE(QUIC_NO_ERROR, error_); // ProcessFrameData sets the error. 611 DCHECK_NE(QUIC_NO_ERROR, error_); // ProcessFrameData sets the error.
608 DLOG(WARNING) << ENDPOINT << "Unable to process frame data."; 612 DCHECK_NE("", detailed_error_);
613 DLOG(WARNING) << ENDPOINT
614 << "Unable to process frame data. Error: " << detailed_error_;
609 return false; 615 return false;
610 } 616 }
611 617
612 visitor_->OnPacketComplete(); 618 visitor_->OnPacketComplete();
613 return true; 619 return true;
614 } 620 }
615 621
616 bool QuicFramer::ProcessPublicResetPacket( 622 bool QuicFramer::ProcessPublicResetPacket(
617 QuicDataReader* reader, 623 QuicDataReader* reader,
618 const QuicPacketPublicHeader& public_header) { 624 const QuicPacketPublicHeader& public_header) {
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
958 if (header->public_header.multipath_flag && 964 if (header->public_header.multipath_flag &&
959 !ProcessPathId(encrypted_reader, &header->path_id)) { 965 !ProcessPathId(encrypted_reader, &header->path_id)) {
960 set_detailed_error("Unable to read path id."); 966 set_detailed_error("Unable to read path id.");
961 return RaiseError(QUIC_INVALID_PACKET_HEADER); 967 return RaiseError(QUIC_INVALID_PACKET_HEADER);
962 } 968 }
963 969
964 QuicPacketNumber base_packet_number = largest_packet_number_; 970 QuicPacketNumber base_packet_number = largest_packet_number_;
965 if (header->public_header.multipath_flag && 971 if (header->public_header.multipath_flag &&
966 !IsValidPath(header->path_id, &base_packet_number)) { 972 !IsValidPath(header->path_id, &base_packet_number)) {
967 // Stop processing because path is closed. 973 // Stop processing because path is closed.
974 set_detailed_error("Path is closed.");
968 return false; 975 return false;
969 } 976 }
970 977
971 if (!ProcessPacketSequenceNumber( 978 if (!ProcessPacketSequenceNumber(
972 encrypted_reader, header->public_header.packet_number_length, 979 encrypted_reader, header->public_header.packet_number_length,
973 base_packet_number, &header->packet_number)) { 980 base_packet_number, &header->packet_number)) {
974 set_detailed_error("Unable to read packet number."); 981 set_detailed_error("Unable to read packet number.");
975 return RaiseError(QUIC_INVALID_PACKET_HEADER); 982 return RaiseError(QUIC_INVALID_PACKET_HEADER);
976 } 983 }
977 984
978 if (header->packet_number == 0u) { 985 if (header->packet_number == 0u) {
979 set_detailed_error("packet numbers cannot be 0."); 986 set_detailed_error("packet numbers cannot be 0.");
980 return RaiseError(QUIC_INVALID_PACKET_HEADER); 987 return RaiseError(QUIC_INVALID_PACKET_HEADER);
981 } 988 }
982 989
983 if (!visitor_->OnUnauthenticatedHeader(*header)) { 990 if (!visitor_->OnUnauthenticatedHeader(*header)) {
991 set_detailed_error(
992 "Visitor asked to stop processing of unauthenticated header.");
984 return false; 993 return false;
985 } 994 }
986 return true; 995 return true;
987 } 996 }
988 997
989 bool QuicFramer::ProcessPathId(QuicDataReader* reader, QuicPathId* path_id) { 998 bool QuicFramer::ProcessPathId(QuicDataReader* reader, QuicPathId* path_id) {
990 if (!reader->ReadBytes(path_id, 1)) { 999 if (!reader->ReadBytes(path_id, 1)) {
991 return false; 1000 return false;
992 } 1001 }
993 1002
(...skipping 1199 matching lines...) Expand 10 before | Expand all | Expand 10 after
2193 2202
2194 bool QuicFramer::RaiseError(QuicErrorCode error) { 2203 bool QuicFramer::RaiseError(QuicErrorCode error) {
2195 DVLOG(1) << ENDPOINT << "Error: " << QuicErrorCodeToString(error) 2204 DVLOG(1) << ENDPOINT << "Error: " << QuicErrorCodeToString(error)
2196 << " detail: " << detailed_error_; 2205 << " detail: " << detailed_error_;
2197 set_error(error); 2206 set_error(error);
2198 visitor_->OnError(this); 2207 visitor_->OnError(this);
2199 return false; 2208 return false;
2200 } 2209 }
2201 2210
2202 } // namespace net 2211 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698