
On Mon, Apr 27, 2015 at 05:13:36AM -0700, Dhaval_Shah1@dell.com wrote:
Dell Customer Communication Hi All,
I am using
Compiled against library: libvirt 1.2.9 Using library: libvirt 1.2.9 Using API: QEMU 1.2.9 Running hypervisor: QEMU 2.1.2
I want user to provide username and password authentication to virConnectPtr virConnectOpenAuth(const char *name, virConnectAuthPtr auth, unsigned int flags) to login remotely for the qemu hypervisor.
But it is not taking user provided username and driver. Because internally it is calling below qemu driver function,
static virDrvOpenStatus qemuConnectOpen(virConnectPtr conn, virConnectAuthPtr auth ATTRIBUTE_UNUSED, unsigned int flags)
so it is not taking any user provided auth parameters and it is internally calling separate function for prompting password. I don't want to provide password here. In case of windows HyperV it is working fine as it takes auth parameters but for Qemu Hypervisor I am facing this issue since here the auth parameters as marked as ATTRIBUTE_UNUSED.
Actually your intepretation of the callpath is not quite right. The virConnectOpenAuth() method in libvirt.so will end up calling the remoteConnectOpen() method in src/remote/remote_driver.c. This opens an RPC connection to libvirtd, performs authentication, and then calls qemuConnectOpen(). So from that sequence it is the remoteConnectOpen() method that deals with passwords/usernames, not qemuConnectOpen(). If you want to get an idea how to provide username/password via the callback, take a look at the virConnectAuthCallbackDefault() method in src/libvirt.c which is the default impl that just prompts on the terminal console. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|