]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
io: tls: Inherit QIO_CHANNEL_FEATURE_SHUTDOWN on server side
authorPeter Xu <peterx@redhat.com>
Sun, 26 Mar 2023 17:25:38 +0000 (13:25 -0400)
committerMichael Tokarev <mjt@tls.msk.ru>
Thu, 13 Apr 2023 15:28:26 +0000 (18:28 +0300)
TLS iochannel will inherit io_shutdown() from the master ioc, however we
missed to do that on the server side.

This will e.g. allow qemu_file_shutdown() to work on dest QEMU too for
migration.

Acked-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
(cherry picked from commit 86d063fa83901bc8150343ff8b03979fbea392c9)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
io/channel-tls.c

index 4ce890a5382079f47e2b3a4bfa8b382d8f478383..4ce08ccc2875daf70aeabaa63a88249af250c5d2 100644 (file)
@@ -74,6 +74,9 @@ qio_channel_tls_new_server(QIOChannel *master,
     ioc = QIO_CHANNEL_TLS(object_new(TYPE_QIO_CHANNEL_TLS));
 
     ioc->master = master;
+    if (qio_channel_has_feature(master, QIO_CHANNEL_FEATURE_SHUTDOWN)) {
+        qio_channel_set_feature(QIO_CHANNEL(ioc), QIO_CHANNEL_FEATURE_SHUTDOWN);
+    }
     object_ref(OBJECT(master));
 
     ioc->session = qcrypto_tls_session_new(