You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ma...@apache.org on 2017/12/14 07:18:19 UTC

[trafficserver] branch quic-latest updated: Fix a check for connection id presence

This is an automated email from the ASF dual-hosted git repository.

maskit pushed a commit to branch quic-latest
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/quic-latest by this push:
     new 32b5f3d  Fix a check for connection id presence
32b5f3d is described below

commit 32b5f3d1254a8d0989113a5290c634ec0408385d
Author: Masakazu Kitajo <ma...@apache.org>
AuthorDate: Thu Dec 14 16:16:38 2017 +0900

    Fix a check for connection id presence
---
 iocore/net/QUICPacketHandler.cc | 10 +++++-----
 iocore/net/quic/QUICPacket.cc   |  4 ++--
 iocore/net/quic/QUICTypes.cc    |  8 +++++++-
 iocore/net/quic/QUICTypes.h     |  3 ++-
 4 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/iocore/net/QUICPacketHandler.cc b/iocore/net/QUICPacketHandler.cc
index 5c5583f..97ad727 100644
--- a/iocore/net/QUICPacketHandler.cc
+++ b/iocore/net/QUICPacketHandler.cc
@@ -97,13 +97,13 @@ QUICPacketHandler::_read_connection_id(QUICConnectionId &cid, IOBufferBlock *blo
   const uint8_t cid_offset = 1;
   const uint8_t cid_len    = 8;
 
-  if (QUICTypeUtil::hasLongHeader(buf)) {
+  if (QUICTypeUtil::has_long_header(buf)) {
     cid = QUICTypeUtil::read_QUICConnectionId(buf + cid_offset, cid_len);
   } else {
-    if (buf[0] & 0x40) {
-      cid = QUICTypeUtil::read_QUICConnectionId(buf + cid_offset, cid_len);
-    } else {
+    if (QUICTypeUtil::has_connection_id(buf)) {
       return false;
+    } else {
+      cid = QUICTypeUtil::read_QUICConnectionId(buf + cid_offset, cid_len);
     }
   }
 
@@ -135,7 +135,7 @@ QUICPacketHandler::_recv_packet(int event, UDPPacket *udpPacket)
     con.setRemote(&udpPacket->from.sa);
 
     // Send stateless reset if the packet is not a initial packet
-    if (!QUICTypeUtil::hasLongHeader(reinterpret_cast<const uint8_t *>(block->buf()))) {
+    if (!QUICTypeUtil::has_long_header(reinterpret_cast<const uint8_t *>(block->buf()))) {
       QUICStatelessResetToken token;
       {
         QUICConfig::scoped_config params;
diff --git a/iocore/net/quic/QUICPacket.cc b/iocore/net/quic/QUICPacket.cc
index 01802ba..2473f04 100644
--- a/iocore/net/quic/QUICPacket.cc
+++ b/iocore/net/quic/QUICPacket.cc
@@ -64,7 +64,7 @@ QUICPacketHeader::packet_size() const
 QUICPacketHeader *
 QUICPacketHeader::load(const uint8_t *buf, size_t len, QUICPacketNumber base)
 {
-  if (QUICTypeUtil::hasLongHeader(buf)) {
+  if (QUICTypeUtil::has_long_header(buf)) {
     QUICPacketLongHeader *long_header = quicPacketLongHeaderAllocator.alloc();
     new (long_header) QUICPacketLongHeader(buf, len, base);
     return long_header;
@@ -387,7 +387,7 @@ bool
 QUICPacketShortHeader::has_connection_id() const
 {
   if (this->_buf) {
-    return (this->_buf[0] & 0x40) == 0;
+    return QUICTypeUtil::has_connection_id(this->_buf);
   } else {
     return this->_has_connection_id;
   }
diff --git a/iocore/net/quic/QUICTypes.cc b/iocore/net/quic/QUICTypes.cc
index 89d5eca..045b2c9 100644
--- a/iocore/net/quic/QUICTypes.cc
+++ b/iocore/net/quic/QUICTypes.cc
@@ -30,11 +30,17 @@ ats_unique_malloc(size_t size)
 }
 
 bool
-QUICTypeUtil::hasLongHeader(const uint8_t *buf)
+QUICTypeUtil::has_long_header(const uint8_t *buf)
 {
   return (buf[0] & 0x80) != 0;
 }
 
+bool
+QUICTypeUtil::has_connection_id(const uint8_t *buf)
+{
+  return (buf[0] & 0x40) == 0;
+}
+
 QUICStreamType
 QUICTypeUtil::detect_stream_type(QUICStreamId id)
 {
diff --git a/iocore/net/quic/QUICTypes.h b/iocore/net/quic/QUICTypes.h
index 030487f..8be6283 100644
--- a/iocore/net/quic/QUICTypes.h
+++ b/iocore/net/quic/QUICTypes.h
@@ -251,7 +251,8 @@ enum class QUICStreamType { CLIENT_BIDI, SERVER_BIDI, CLIENT_UNI, SERVER_UNI, HA
 class QUICTypeUtil
 {
 public:
-  static bool hasLongHeader(const uint8_t *buf);
+  static bool has_long_header(const uint8_t *buf);
+  static bool has_connection_id(const uint8_t *buf);
   static QUICStreamType detect_stream_type(QUICStreamId id);
 
   static QUICConnectionId read_QUICConnectionId(const uint8_t *buf, uint8_t n);

-- 
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>'].