]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
cli: send early data only after session data is set
authorDaiki Ueno <ueno@gnu.org>
Mon, 17 Mar 2025 00:00:44 +0000 (09:00 +0900)
committerDaiki Ueno <ueno@gnu.org>
Tue, 25 Mar 2025 12:51:38 +0000 (21:51 +0900)
Now that max_early_data_size is recorded as part of the stored
resumption data, this needs to be read before attempting to send early
data.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
src/socket.c

index 48784b67fa4bffb212678577428b3716c5094989..f32910c2392501f6fade43456312f07c5b637ffb 100644 (file)
@@ -580,6 +580,11 @@ void socket_open_int(socket_st *hd, const char *hostname, const char *service,
                }
 
                if (hd->session) {
+                       if (hd->rdata.data) {
+                               gnutls_session_set_data(hd->session,
+                                                       hd->rdata.data,
+                                                       hd->rdata.size);
+                       }
                        if (hd->edata.data) {
                                ret = gnutls_record_send_early_data(
                                        hd->session, hd->edata.data,
@@ -591,11 +596,6 @@ void socket_open_int(socket_st *hd, const char *hostname, const char *service,
                                        exit(1);
                                }
                        }
-                       if (hd->rdata.data) {
-                               gnutls_session_set_data(hd->session,
-                                                       hd->rdata.data,
-                                                       hd->rdata.size);
-                       }
 
                        if (client_trace || server_trace) {
                                hd->server_trace = server_trace;