提交 ecc5c829 编写于 作者: M Miloslav Trmač 提交者: Daniel P. Berrange

Mask out flags used internally for virSecretGetValue

Add a VIR_SECRET_GET_VALUE_INTERNAL_CALL flag value, replacing the
originally separate libvirt_internal_call parameter.  The flag is used
to differentiate external virSecretGetValue() calls from internal calls
by libvirt drivers that need to use the secret even if it is private.

* src/libvirt_internal.h Remove VIR_DOMAIN_XML_FLAGS_MASK
* src/driver.h Add VIR_SECRET_GET_VALUE_FLAGS_MASK constant and
  VIR_SECRET_GET_VALUE_INTERNAL_CALL. Re-add the
  VIR_DOMAIN_XML_FLAGS_MASK constant
* src/libvirt.c (virSecretGetValue): Don't allow the user to specify
  internal flags.
上级 fcd4e269
......@@ -802,6 +802,22 @@ struct _virDeviceMonitor {
virDrvNodeDeviceDestroy deviceDestroy;
};
/* bits 16 and above of virDomainXMLFlags are for internal use */
#define VIR_DOMAIN_XML_FLAGS_MASK 0xffff
/* Bits 16 and above of virSecretGetValue flags are for internal use */
#define VIR_SECRET_GET_VALUE_FLAGS_MASK 0xffff
enum {
/* This getValue call is inside libvirt, override the "private" flag.
This flag can not be set by outside callers. */
VIR_SECRET_GET_VALUE_INTERNAL_CALL = 1 << 16
};
/* Make sure ... INTERNAL_CALL can not be set by the caller */
verify((VIR_SECRET_GET_VALUE_INTERNAL_CALL &
VIR_SECRET_GET_VALUE_FLAGS_MASK) == 0);
typedef virSecretPtr
(*virDrvSecretLookupByUUIDString) (virConnectPtr conn,
const char *uuid);
......
......@@ -9066,6 +9066,8 @@ virSecretGetValue(virSecretPtr secret, size_t *value_size, unsigned int flags)
goto error;
}
flags &= VIR_SECRET_GET_VALUE_FLAGS_MASK;
if (conn->secretDriver != NULL && conn->secretDriver->getValue != NULL) {
unsigned char *ret;
......
......@@ -24,9 +24,6 @@
#include "internal.h"
/* bits 16 and above of virDomainXMLFlags are for internal use */
#define VIR_DOMAIN_XML_FLAGS_MASK 0xffff
#ifdef WITH_LIBVIRTD
int virStateInitialize(int privileged);
int virStateCleanup(void);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册