add default mapping of credentials to machine

In the auth config file, it is currently required to have
an entry for each hostname to connect to, eg

  [auth-libvirt-prod1.example.com]
  credentials=prod

This is inconvenient when there are large numbers of machines
all with the same credentials. Add support for a default
entry:

  [auth-default]
  credentials=prod
This commit is contained in:
yuelongguang 2016-06-13 17:29:57 +08:00 committed by Daniel P. Berrange
parent 3a9d1f3701
commit 743db933ed

View File

@ -121,6 +121,13 @@ int virAuthConfigLookup(virAuthConfigPtr auth,
if (virAsprintf(&authgroup, "auth-%s-%s", service, hostname) < 0)
goto cleanup;
if (!virKeyFileHasGroup(auth->keyfile, authgroup)) {
VIR_FREE(authgroup);
if (virAsprintf(&authgroup, "auth-%s-%s", service, "default") < 0){
goto cleanup;
}
}
if (!virKeyFileHasGroup(auth->keyfile, authgroup)) {
ret = 0;
goto cleanup;