static int virSecurityDACGetIds(virDomainDefPtr def, virSecurityDACDataPtr priv, uid_t *uidPtr, gid_t *gidPtr) { int ret; if (!def && !priv) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to determine default DAC seclabel " "for an unknown object")); return -1; } if ((ret = virSecurityDACParseIds(def, uidPtr, gidPtr)) <= 0) return ret; if (!priv) { virReportError(VIR_ERR_INTERNAL_ERROR, _("DAC seclabel couldn't be determined " "for domain '%s'"), def->name); return -1; } if (uidPtr) *uidPtr = priv->user; if (gidPtr) *gidPtr = priv->group; return 0; }
virSecurityDACGetIds(virSecurityLabelDefPtr seclabel, virSecurityDACDataPtr priv, uid_t *uidPtr, gid_t *gidPtr, gid_t **groups, int *ngroups) { int ret; if (groups) *groups = priv ? priv->groups : NULL; if (ngroups) *ngroups = priv ? priv->ngroups : 0; if ((ret = virSecurityDACParseIds(seclabel, uidPtr, gidPtr)) <= 0) return ret; if (!priv) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("DAC seclabel couldn't be determined")); return -1; } *uidPtr = priv->user; *gidPtr = priv->group; return 0; }