crypto: mandate a hostname when checking x509 creds on a client
commitd41997e465c533f3a29e0d0bb52cfcad696e2b2d
authorDaniel P. Berrangé <berrange@redhat.com>
Fri, 4 Mar 2022 19:35:59 +0000 (4 19:35 +0000)
committerEric Blake <eblake@redhat.com>
Mon, 7 Mar 2022 21:58:42 +0000 (7 15:58 -0600)
tree220816944d36b23a0c4dc5c4b5ccdc0c8e555225
parentb49872aa8fc0f3f5a3036cc37aa2cb5c92866f33
crypto: mandate a hostname when checking x509 creds on a client

Currently the TLS session object assumes that the caller will always
provide a hostname when using x509 creds on a client endpoint. This
relies on the caller to detect and report an error if the user has
configured QEMU with x509 credentials on a UNIX socket. The migration
code has such a check, but it is too broad, reporting an error when
the user has configured QEMU with PSK credentials on a UNIX socket,
where hostnames are irrelevant.

Putting the check into the TLS session object credentials validation
code ensures we report errors in only the scenario that matters.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20220304193610.3293146-2-berrange@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
crypto/tlssession.c