Add Data-less Zero-RTT support.

This adds support on the server and client to accept data-less early
data. The server will still fail to parse early data with any
contents, so this should remain disabled.

BUG=76

Change-Id: Id85d192d8e0360b8de4b6971511b5e8a0e8012f7
Reviewed-on: https://boringssl-review.googlesource.com/12921
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/tool/client.cc b/tool/client.cc
index 6bc8e39..bc17426 100644
--- a/tool/client.cc
+++ b/tool/client.cc
@@ -111,6 +111,9 @@
       "verification is required.",
     },
     {
+        "-early-data", kBooleanArgument, "Allow early data",
+    },
+    {
      "", kOptionalArgument, "",
     },
 };
@@ -405,6 +408,10 @@
     SSL_CTX_set_verify(ctx.get(), SSL_VERIFY_PEER, nullptr);
   }
 
+  if (args_map.count("-early-data") != 0) {
+    SSL_CTX_set_early_data_enabled(ctx.get(), 1);
+  }
+
   if (args_map.count("-resume") != 0 &&
       !DoConnection(ctx.get(), args_map, &WaitForSession)) {
     return false;