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 2018/01/10 06:05:28 UTC

[trafficserver] branch quic-latest updated: Cleanup QUICTransportParametersHandler::parse

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

masaori 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 4576fc7  Cleanup QUICTransportParametersHandler::parse
4576fc7 is described below

commit 4576fc763dab539f4dbe278fc1a92c4f465acfc2
Author: Masaori Koshiba <ma...@apache.org>
AuthorDate: Wed Jan 10 15:05:15 2018 +0900

    Cleanup QUICTransportParametersHandler::parse
---
 iocore/net/quic/QUICHandshake.cc           |  6 ------
 iocore/net/quic/QUICHandshake.h            |  1 -
 iocore/net/quic/QUICTransportParameters.cc | 29 +++++++++++++++++++----------
 iocore/net/quic/QUICTransportParameters.h  |  2 --
 4 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/iocore/net/quic/QUICHandshake.cc b/iocore/net/quic/QUICHandshake.cc
index f47b4a2..a783510 100644
--- a/iocore/net/quic/QUICHandshake.cc
+++ b/iocore/net/quic/QUICHandshake.cc
@@ -228,12 +228,6 @@ QUICHandshake::remote_transport_parameters()
   return this->_remote_transport_parameters;
 }
 
-NetVConnectionContext_t
-QUICHandshake::netvc_context()
-{
-  return this->_netvc_context;
-}
-
 int
 QUICHandshake::state_initial(int event, Event *data)
 {
diff --git a/iocore/net/quic/QUICHandshake.h b/iocore/net/quic/QUICHandshake.h
index f6c5f49..1f5fbbd 100644
--- a/iocore/net/quic/QUICHandshake.h
+++ b/iocore/net/quic/QUICHandshake.h
@@ -71,7 +71,6 @@ public:
   void negotiated_application_name(const uint8_t **name, unsigned int *len);
   std::shared_ptr<const QUICTransportParameters> local_transport_parameters();
   std::shared_ptr<const QUICTransportParameters> remote_transport_parameters();
-  NetVConnectionContext_t netvc_context();
 
   bool is_version_negotiated();
   bool is_completed();
diff --git a/iocore/net/quic/QUICTransportParameters.cc b/iocore/net/quic/QUICTransportParameters.cc
index 846a664..a75895d 100644
--- a/iocore/net/quic/QUICTransportParameters.cc
+++ b/iocore/net/quic/QUICTransportParameters.cc
@@ -30,6 +30,7 @@
 #include "../P_QUICNetVConnection.h"
 
 static constexpr int TRANSPORT_PARAMETERS_MAXIMUM_SIZE = 65535;
+static constexpr char tag[]                            = "quic_handshake";
 
 QUICTransportParameters::Value::Value(const uint8_t *data, uint16_t len) : _len(len)
 {
@@ -301,13 +302,13 @@ QUICTransportParameters::_print() const
 {
   for (auto &p : this->_parameters) {
     if (p.second->len() == 0) {
-      Debug("quic_handsahke", "%s: (no value)", QUICDebugNames::transport_parameter_id(p.first));
+      Debug(tag, "%s: (no value)", QUICDebugNames::transport_parameter_id(p.first));
     } else if (p.second->len() <= 8) {
-      Debug("quic_handsahke", "%s: 0x%" PRIx64 " (%" PRIu64 ")", QUICDebugNames::transport_parameter_id(p.first),
+      Debug(tag, "%s: 0x%" PRIx64 " (%" PRIu64 ")", QUICDebugNames::transport_parameter_id(p.first),
             QUICTypeUtil::read_nbytes_as_uint(p.second->data(), p.second->len()),
             QUICTypeUtil::read_nbytes_as_uint(p.second->data(), p.second->len()));
     } else {
-      Debug("quic_handsahke", "%s: (long data)", QUICDebugNames::transport_parameter_id(p.first));
+      Debug(tag, "%s: (long data)", QUICDebugNames::transport_parameter_id(p.first));
     }
   }
 }
@@ -448,25 +449,25 @@ QUICTransportParametersInEncryptedExtensions::_validate_parameters() const
       return -1;
     }
   } else {
-    return -1;
+    return -2;
   }
 
   // MAYs
   if ((ite = this->_parameters.find(QUICTransportParameterId::INITIAL_MAX_STREAM_ID_BIDI)) != this->_parameters.end()) {
     if (ite->second->len() != 4) {
-      return -1;
+      return -3;
     }
     if ((QUICTypeUtil::read_nbytes_as_uint(ite->second->data(), ite->second->len()) & 0x03) != 1) {
-      return -1;
+      return -4;
     }
   }
 
   if ((ite = this->_parameters.find(QUICTransportParameterId::INITIAL_MAX_STREAM_ID_UNI)) != this->_parameters.end()) {
     if (ite->second->len() != 4) {
-      return -1;
+      return -5;
     }
     if ((QUICTypeUtil::read_nbytes_as_uint(ite->second->data(), ite->second->len()) & 0x03) != 3) {
-      return -1;
+      return -6;
     }
   }
 
@@ -500,10 +501,18 @@ QUICTransportParametersHandler::parse(SSL *s, unsigned int ext_type, unsigned in
 {
   QUICHandshake *hs = static_cast<QUICHandshake *>(SSL_get_ex_data(s, QUIC::ssl_quic_hs_index));
 
-  if (hs->netvc_context() == NET_VCONNECTION_IN) {
+  switch (context) {
+  case SSL_EXT_CLIENT_HELLO: {
     hs->set_transport_parameters(std::make_shared<QUICTransportParametersInClientHello>(in, inlen));
-  } else {
+    break;
+  }
+  case SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS: {
     hs->set_transport_parameters(std::make_shared<QUICTransportParametersInEncryptedExtensions>(in, inlen));
+    break;
+  }
+  default:
+    // Do nothing
+    break;
   }
 
   return 1;
diff --git a/iocore/net/quic/QUICTransportParameters.h b/iocore/net/quic/QUICTransportParameters.h
index a3f8000..46aa1b4 100644
--- a/iocore/net/quic/QUICTransportParameters.h
+++ b/iocore/net/quic/QUICTransportParameters.h
@@ -154,9 +154,7 @@ public:
 
   static int add(SSL *s, unsigned int ext_type, unsigned int context, const unsigned char **out, size_t *outlen, X509 *x,
                  size_t chainidx, int *al, void *add_arg);
-
   static void free(SSL *s, unsigned int ext_type, unsigned int context, const unsigned char *out, void *add_arg);
-
   static int parse(SSL *s, unsigned int ext_type, unsigned int context, const unsigned char *in, size_t inlen, X509 *x,
                    size_t chainidx, int *al, void *parse_arg);
 };

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