mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-07 14:55:46 +00:00
43d3e3c130
Introduce the final accessor's to _virSecretObject data and move the structure from virsecretobj.h to virsecretobj.c The virSecretObjSetValue logic will handle setting both the secret value and the value_size. Some slight adjustments to the error path over what was in secretSetValue were made. Additionally, a slight logic change in secretGetValue where we'll check for the internalFlags and error out before checking for and erroring out for a NULL secret->value. That way, it won't be obvious to anyone that the secret value wasn't set rather they'll just know they cannot get the secret value since it's private.
111 lines
4.1 KiB
C
111 lines
4.1 KiB
C
/*
|
|
* virsecretobj.h: internal <secret> objects handling
|
|
*
|
|
* 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
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library. If not, see
|
|
* <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef __VIRSECRETOBJ_H__
|
|
# define __VIRSECRETOBJ_H__
|
|
|
|
# include "internal.h"
|
|
|
|
# include "secret_conf.h"
|
|
# include "virobject.h"
|
|
|
|
typedef struct _virSecretObj virSecretObj;
|
|
typedef virSecretObj *virSecretObjPtr;
|
|
|
|
virSecretObjPtr virSecretObjNew(void);
|
|
|
|
void virSecretObjEndAPI(virSecretObjPtr *secret);
|
|
|
|
typedef struct _virSecretObjList virSecretObjList;
|
|
typedef virSecretObjList *virSecretObjListPtr;
|
|
|
|
virSecretObjListPtr virSecretObjListNew(void);
|
|
|
|
virSecretObjPtr virSecretObjListFindByUUIDLocked(virSecretObjListPtr secrets,
|
|
const unsigned char *uuid);
|
|
|
|
virSecretObjPtr virSecretObjListFindByUUID(virSecretObjListPtr secrets,
|
|
const unsigned char *uuid);
|
|
|
|
virSecretObjPtr virSecretObjListFindByUsageLocked(virSecretObjListPtr secrets,
|
|
int usageType,
|
|
const char *usageID);
|
|
|
|
virSecretObjPtr virSecretObjListFindByUsage(virSecretObjListPtr secrets,
|
|
int usageType,
|
|
const char *usageID);
|
|
|
|
void virSecretObjListRemove(virSecretObjListPtr secrets,
|
|
virSecretObjPtr secret);
|
|
|
|
virSecretObjPtr virSecretObjListAddLocked(virSecretObjListPtr secrets,
|
|
virSecretDefPtr def,
|
|
const char *configDir,
|
|
virSecretDefPtr *oldDef);
|
|
|
|
virSecretObjPtr virSecretObjListAdd(virSecretObjListPtr secrets,
|
|
virSecretDefPtr def,
|
|
const char *configDir,
|
|
virSecretDefPtr *oldDef);
|
|
|
|
typedef bool (*virSecretObjListACLFilter)(virConnectPtr conn,
|
|
virSecretDefPtr def);
|
|
|
|
int virSecretObjListNumOfSecrets(virSecretObjListPtr secrets,
|
|
virSecretObjListACLFilter filter,
|
|
virConnectPtr conn);
|
|
|
|
int virSecretObjListExport(virConnectPtr conn,
|
|
virSecretObjListPtr secretobjs,
|
|
virSecretPtr **secrets,
|
|
virSecretObjListACLFilter filter,
|
|
unsigned int flags);
|
|
|
|
int virSecretObjListGetUUIDs(virSecretObjListPtr secrets,
|
|
char **uuids,
|
|
int nuuids,
|
|
virSecretObjListACLFilter filter,
|
|
virConnectPtr conn);
|
|
|
|
int virSecretObjDeleteConfig(virSecretObjPtr secret);
|
|
|
|
void virSecretObjDeleteData(virSecretObjPtr secret);
|
|
|
|
int virSecretObjSaveConfig(virSecretObjPtr secret);
|
|
|
|
int virSecretObjSaveData(virSecretObjPtr secret);
|
|
|
|
virSecretDefPtr virSecretObjGetDef(virSecretObjPtr secret);
|
|
|
|
void virSecretObjSetDef(virSecretObjPtr secret, virSecretDefPtr def);
|
|
|
|
unsigned char *virSecretObjGetValue(virSecretObjPtr secret);
|
|
|
|
int virSecretObjSetValue(virSecretObjPtr secret,
|
|
const unsigned char *value, size_t value_size);
|
|
|
|
size_t virSecretObjGetValueSize(virSecretObjPtr secret);
|
|
|
|
void virSecretObjSetValueSize(virSecretObjPtr secret, size_t value_size);
|
|
|
|
int virSecretLoadAllConfigs(virSecretObjListPtr secrets,
|
|
const char *configDir);
|
|
#endif /* __VIRSECRETOBJ_H__ */
|