migration/tls: extract migration_tls_client_create for common-use
migration_tls_client_create will be used in multifd-tls, let's extract it. Signed-off-by: Chuan Zheng <zhengchuan@huawei.com> Signed-off-by: Yan Jin <jinyan12@huawei.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <1600139042-104593-3-git-send-email-zhengchuan@huawei.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
d8053e73fb
commit
bfb790e7b2
@ -22,7 +22,6 @@
|
|||||||
#include "channel.h"
|
#include "channel.h"
|
||||||
#include "migration.h"
|
#include "migration.h"
|
||||||
#include "tls.h"
|
#include "tls.h"
|
||||||
#include "io/channel-tls.h"
|
|
||||||
#include "crypto/tlscreds.h"
|
#include "crypto/tlscreds.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qapi/error.h"
|
#include "qapi/error.h"
|
||||||
@ -125,11 +124,10 @@ static void migration_tls_outgoing_handshake(QIOTask *task,
|
|||||||
object_unref(OBJECT(ioc));
|
object_unref(OBJECT(ioc));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QIOChannelTLS *migration_tls_client_create(MigrationState *s,
|
||||||
void migration_tls_channel_connect(MigrationState *s,
|
QIOChannel *ioc,
|
||||||
QIOChannel *ioc,
|
const char *hostname,
|
||||||
const char *hostname,
|
Error **errp)
|
||||||
Error **errp)
|
|
||||||
{
|
{
|
||||||
QCryptoTLSCreds *creds;
|
QCryptoTLSCreds *creds;
|
||||||
QIOChannelTLS *tioc;
|
QIOChannelTLS *tioc;
|
||||||
@ -137,7 +135,7 @@ void migration_tls_channel_connect(MigrationState *s,
|
|||||||
creds = migration_tls_get_creds(
|
creds = migration_tls_get_creds(
|
||||||
s, QCRYPTO_TLS_CREDS_ENDPOINT_CLIENT, errp);
|
s, QCRYPTO_TLS_CREDS_ENDPOINT_CLIENT, errp);
|
||||||
if (!creds) {
|
if (!creds) {
|
||||||
return;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->parameters.tls_hostname && *s->parameters.tls_hostname) {
|
if (s->parameters.tls_hostname && *s->parameters.tls_hostname) {
|
||||||
@ -145,11 +143,23 @@ void migration_tls_channel_connect(MigrationState *s,
|
|||||||
}
|
}
|
||||||
if (!hostname) {
|
if (!hostname) {
|
||||||
error_setg(errp, "No hostname available for TLS");
|
error_setg(errp, "No hostname available for TLS");
|
||||||
return;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
tioc = qio_channel_tls_new_client(
|
tioc = qio_channel_tls_new_client(
|
||||||
ioc, creds, hostname, errp);
|
ioc, creds, hostname, errp);
|
||||||
|
|
||||||
|
return tioc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void migration_tls_channel_connect(MigrationState *s,
|
||||||
|
QIOChannel *ioc,
|
||||||
|
const char *hostname,
|
||||||
|
Error **errp)
|
||||||
|
{
|
||||||
|
QIOChannelTLS *tioc;
|
||||||
|
|
||||||
|
tioc = migration_tls_client_create(s, ioc, hostname, errp);
|
||||||
if (!tioc) {
|
if (!tioc) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -22,11 +22,17 @@
|
|||||||
#define QEMU_MIGRATION_TLS_H
|
#define QEMU_MIGRATION_TLS_H
|
||||||
|
|
||||||
#include "io/channel.h"
|
#include "io/channel.h"
|
||||||
|
#include "io/channel-tls.h"
|
||||||
|
|
||||||
void migration_tls_channel_process_incoming(MigrationState *s,
|
void migration_tls_channel_process_incoming(MigrationState *s,
|
||||||
QIOChannel *ioc,
|
QIOChannel *ioc,
|
||||||
Error **errp);
|
Error **errp);
|
||||||
|
|
||||||
|
QIOChannelTLS *migration_tls_client_create(MigrationState *s,
|
||||||
|
QIOChannel *ioc,
|
||||||
|
const char *hostname,
|
||||||
|
Error **errp);
|
||||||
|
|
||||||
void migration_tls_channel_connect(MigrationState *s,
|
void migration_tls_channel_connect(MigrationState *s,
|
||||||
QIOChannel *ioc,
|
QIOChannel *ioc,
|
||||||
const char *hostname,
|
const char *hostname,
|
||||||
|
Loading…
Reference in New Issue
Block a user