]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
msh3: update to v0.5 Release
authorNick Banks <nibanks@microsoft.com>
Wed, 21 Dec 2022 14:13:40 +0000 (14:13 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 22 Dec 2022 13:29:40 +0000 (14:29 +0100)
Closes #10125

.github/workflows/linux.yml
docs/HTTP3.md
lib/vquic/msh3.c

index ebd0feedcb845b15ab1647abda5a72fe15ffbb3c..3ee62b83016c04edb3de25323f8546e40896903b 100644 (file)
@@ -167,7 +167,7 @@ jobs:
 
     - if: ${{ contains(matrix.build.install_steps, 'msh3') }}
       run: |
-        git clone --depth=1 --recursive https://github.com/nibanks/msh3
+        git clone -b v0.5.0 --depth=1 --recursive https://github.com/nibanks/msh3
         cd msh3 && mkdir build && cd build
         cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$HOME/msh3 ..
         cmake --build .
index f1cb9648ffbef5900dc1d735697de4519bdb4dc1..064ab28956375767a28244613ae8214aff59697d 100644 (file)
@@ -15,7 +15,7 @@ QUIC libraries we are experimenting with:
 
 [quiche](https://github.com/cloudflare/quiche)
 
-[msquic](https://github.com/microsoft/msquic) & [msh3](https://github.com/nibanks/msh3)
+[msh3](https://github.com/nibanks/msh3) (with [msquic](https://github.com/microsoft/msquic))
 
 ## Experimental
 
@@ -181,7 +181,7 @@ Build curl:
 
 Build msh3:
 
-     % git clone -b v0.4.0 --depth 1 --recursive https://github.com/nibanks/msh3
+     % git clone -b v0.5.0 --depth 1 --recursive https://github.com/nibanks/msh3
      % cd msh3 && mkdir build && cd build
      % cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
      % cmake --build .
@@ -202,7 +202,7 @@ Run from `/usr/local/bin/curl`.
 
 Build msh3:
 
-     % git clone -b v0.4.0 --depth 1 --recursive https://github.com/nibanks/msh3
+     % git clone -b v0.5.0 --depth 1 --recursive https://github.com/nibanks/msh3
      % cd msh3 && mkdir build && cd build
      % cmake -G 'Visual Studio 17 2022' -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
      % cmake --build . --config Release
index c3e58e726a455652a1fe4dda62bb24099c473dba..d108d924a13f1f91df68ee1af2caf961f784fd63 100644 (file)
@@ -68,6 +68,8 @@ static void MSH3_CALL msh3_data_received(MSH3_REQUEST *Request,
 static void MSH3_CALL msh3_complete(MSH3_REQUEST *Request, void *IfContext,
                                     bool Aborted, uint64_t AbortError);
 static void MSH3_CALL msh3_shutdown(MSH3_REQUEST *Request, void *IfContext);
+static void MSH3_CALL msh3_send_complete(MSH3_REQUEST *Request,
+                                         void *IfContext, void *SendContext);
 
 static const struct Curl_handler msh3_curl_handler_http3 = {
   "HTTPS",                              /* scheme */
@@ -96,7 +98,8 @@ static const MSH3_REQUEST_IF msh3_request_if = {
   msh3_header_received,
   msh3_data_received,
   msh3_complete,
-  msh3_shutdown
+  msh3_shutdown,
+  msh3_send_complete
 };
 
 void Curl_quic_ver(char *p, size_t len)
@@ -381,6 +384,15 @@ static void MSH3_CALL msh3_shutdown(MSH3_REQUEST *Request, void *IfContext)
   (void)stream;
 }
 
+static void MSH3_CALL msh3_send_complete(MSH3_REQUEST *Request,
+                                         void *IfContext, void *SendContext)
+{
+  struct HTTP *stream = IfContext;
+  (void)Request;
+  (void)stream;
+  (void)SendContext;
+}
+
 static ssize_t msh3_stream_send(struct Curl_easy *data,
                                 int sockindex,
                                 const void *mem,
@@ -406,7 +418,8 @@ static ssize_t msh3_stream_send(struct Curl_easy *data,
     }
     H3BUGF(infof(data, "starting request with %zu headers", hreq->entries));
     stream->req = MsH3RequestOpen(qs->conn, &msh3_request_if, stream,
-                                 (MSH3_HEADER*)hreq->header, hreq->entries);
+                                 (MSH3_HEADER*)hreq->header, hreq->entries,
+                                 MSH3_REQUEST_FLAG_FIN);
     Curl_pseudo_free(hreq);
     if(!stream->req) {
       failf(data, "request open failed");