From 96a96b843318fdeb2b3e99328befa3ebc98ec593 Mon Sep 17 00:00:00 2001 From: Erik Skultety Date: Fri, 30 Oct 2015 12:11:52 +0100 Subject: [PATCH] admin: Add support for URI aliases Now that we introduced URI support in libvirt-admin, we should also support URI aliases during connection establishment phase. After applying this patch, virAdmConnectOpen will also support VIR_CONNECT_NO_ALIASES flag. --- src/libvirt-admin.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libvirt-admin.c b/src/libvirt-admin.c index a0f4ebc06..b82b745a7 100644 --- a/src/libvirt-admin.c +++ b/src/libvirt-admin.c @@ -195,6 +195,7 @@ virAdmConnectPtr virAdmConnectOpen(const char *name, unsigned int flags) { char *sock_path = NULL; + char *alias = NULL; virAdmConnectPtr conn = NULL; virConfPtr conf = NULL; @@ -203,6 +204,7 @@ virAdmConnectOpen(const char *name, unsigned int flags) VIR_DEBUG("flags=%x", flags); virResetLastError(); + virCheckFlags(VIR_CONNECT_NO_ALIASES, NULL); if (!(conn = virAdmConnectNew())) goto error; @@ -213,7 +215,11 @@ virAdmConnectOpen(const char *name, unsigned int flags) if (!name && !(name = virAdmGetDefaultURI(conf))) goto error; - if (!(conn->uri = virURIParse(name))) + if ((!(flags & VIR_CONNECT_NO_ALIASES) && + virURIResolveAlias(conf, name, &alias) < 0)) + goto error; + + if (!(conn->uri = virURIParse(alias ? alias : name))) goto error; if (!(sock_path = getSocketPath(conn->uri))) @@ -229,6 +235,7 @@ virAdmConnectOpen(const char *name, unsigned int flags) cleanup: VIR_FREE(sock_path); + VIR_FREE(alias); virConfFree(conf); return conn; -- 2.39.5