From dea64db1d20fd05502989008eb2324c24eacb5b7 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Wed, 25 May 2011 15:52:34 +0200 Subject: [PATCH] esx: Report an error when auth pointer is missing instead of declining Otherwise an attempt to use virConnectOpen or virConnectOpenAuth without auth pointer results in the driver declining the URI and libvirt falling back to the remote driver for an esx:// URI. --- src/esx/esx_driver.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 7fe5446839..845dd4a319 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -922,9 +922,18 @@ esxOpen(virConnectPtr conn, virConnectAuthPtr auth, int flags ATTRIBUTE_UNUSED) return VIR_DRV_OPEN_DECLINED; } - /* Decline URIs without server part, or missing auth */ - if (conn->uri->server == NULL || auth == NULL || auth->cb == NULL) { - return VIR_DRV_OPEN_DECLINED; + /* Require server part */ + if (conn->uri->server == NULL) { + ESX_ERROR(VIR_ERR_INVALID_ARG, "%s", + _("URI is missing the server part")); + return VIR_DRV_OPEN_ERROR; + } + + /* Require auth */ + if (auth == NULL || auth->cb == NULL) { + ESX_ERROR(VIR_ERR_INVALID_ARG, "%s", + _("Missing or invalid auth pointer")); + return VIR_DRV_OPEN_ERROR; } /* Allocate per-connection private data */ -- GitLab