|
@@ -1402,18 +1402,12 @@ static void qmp_chardev_open_socket(Chardev *chr,
|
|
|
return;
|
|
|
}
|
|
|
object_ref(OBJECT(s->tls_creds));
|
|
|
- if (is_listen) {
|
|
|
- if (s->tls_creds->endpoint != QCRYPTO_TLS_CREDS_ENDPOINT_SERVER) {
|
|
|
- error_setg(errp, "%s",
|
|
|
- "Expected TLS credentials for server endpoint");
|
|
|
- return;
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (s->tls_creds->endpoint != QCRYPTO_TLS_CREDS_ENDPOINT_CLIENT) {
|
|
|
- error_setg(errp, "%s",
|
|
|
- "Expected TLS credentials for client endpoint");
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (!qcrypto_tls_creds_check_endpoint(s->tls_creds,
|
|
|
+ is_listen
|
|
|
+ ? QCRYPTO_TLS_CREDS_ENDPOINT_SERVER
|
|
|
+ : QCRYPTO_TLS_CREDS_ENDPOINT_CLIENT,
|
|
|
+ errp)) {
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
s->tls_authz = g_strdup(sock->tls_authz);
|