/*
* secret_conf.c: internal <secret> XML handling
*
- * Copyright (C) 2009-2014 Red Hat, Inc.
+ * Copyright (C) 2009-2014, 2016 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
VIR_ENUM_IMPL(virSecretUsage, VIR_SECRET_USAGE_TYPE_LAST,
"none", "volume", "ceph", "iscsi")
+const char *
+virSecretUsageIDForDef(virSecretDefPtr def)
+{
+ switch (def->usage_type) {
+ case VIR_SECRET_USAGE_TYPE_NONE:
+ return "";
+
+ case VIR_SECRET_USAGE_TYPE_VOLUME:
+ return def->usage.volume;
+
+ case VIR_SECRET_USAGE_TYPE_CEPH:
+ return def->usage.ceph;
+
+ case VIR_SECRET_USAGE_TYPE_ISCSI:
+ return def->usage.target;
+
+ default:
+ return NULL;
+ }
+}
+
+
void
virSecretDefFree(virSecretDefPtr def)
{
/*
* secret_conf.h: internal <secret> XML handling API
*
- * Copyright (C) 2009-2010, 2013-2014 Red Hat, Inc.
+ * Copyright (C) 2009-2010, 2013-2014, 2016 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
} usage;
};
+const char *virSecretUsageIDForDef(virSecretDefPtr def);
+
void virSecretDefFree(virSecretDefPtr def);
virSecretDefPtr virSecretDefParseString(const char *xml);
virSecretDefPtr virSecretDefParseFile(const char *filename);
return -1;
}
-static const char *
-secretUsageIDForDef(virSecretDefPtr def)
-{
- switch (def->usage_type) {
- case VIR_SECRET_USAGE_TYPE_NONE:
- return "";
-
- case VIR_SECRET_USAGE_TYPE_VOLUME:
- return def->usage.volume;
-
- case VIR_SECRET_USAGE_TYPE_CEPH:
- return def->usage.ceph;
-
- case VIR_SECRET_USAGE_TYPE_ISCSI:
- return def->usage.target;
-
- default:
- return NULL;
- }
-}
#define MATCH(FLAG) (flags & (FLAG))
static int
virGetSecret(conn,
secret->def->uuid,
secret->def->usage_type,
- secretUsageIDForDef(secret->def))))
+ virSecretUsageIDForDef(secret->def))))
goto cleanup;
}
ret_nsecrets++;
ret = virGetSecret(conn,
secret->def->uuid,
secret->def->usage_type,
- secretUsageIDForDef(secret->def));
+ virSecretUsageIDForDef(secret->def));
cleanup:
secretDriverUnlock();
ret = virGetSecret(conn,
secret->def->uuid,
secret->def->usage_type,
- secretUsageIDForDef(secret->def));
+ virSecretUsageIDForDef(secret->def));
cleanup:
secretDriverUnlock();
if (!(secret = secretFindByUUID(new_attrs->uuid))) {
/* No existing secret with same UUID,
* try look for matching usage instead */
- const char *usageID = secretUsageIDForDef(new_attrs);
+ const char *usageID = virSecretUsageIDForDef(new_attrs);
char uuidstr[VIR_UUID_STRING_BUFLEN];
if ((secret = secretFindByUsage(new_attrs->usage_type, usageID))) {
goto cleanup;
}
} else {
- const char *newUsageID = secretUsageIDForDef(new_attrs);
- const char *oldUsageID = secretUsageIDForDef(secret->def);
+ const char *newUsageID = virSecretUsageIDForDef(new_attrs);
+ const char *oldUsageID = virSecretUsageIDForDef(secret->def);
if (STRNEQ(oldUsageID, newUsageID)) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(secret->def->uuid, uuidstr);
ret = virGetSecret(conn,
secret->def->uuid,
secret->def->usage_type,
- secretUsageIDForDef(secret->def));
+ virSecretUsageIDForDef(secret->def));
goto cleanup;
restore_backup: