mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-09-29 13:44:45 +03:00
Compare commits
7 Commits
v9.0.0-rc1
...
v5.2-maint
Author | SHA1 | Date | |
---|---|---|---|
|
45ae5e529d | ||
|
4f50f36c00 | ||
|
96bca3af45 | ||
|
3d9c891466 | ||
|
c909c8e185 | ||
|
16a5284eb1 | ||
|
de48bfbe09 |
@@ -64,6 +64,28 @@ remoteAdmClientNew(virNetServerClientPtr client ATTRIBUTE_UNUSED,
|
|||||||
void *opaque)
|
void *opaque)
|
||||||
{
|
{
|
||||||
struct daemonAdmClientPrivate *priv;
|
struct daemonAdmClientPrivate *priv;
|
||||||
|
uid_t clientuid;
|
||||||
|
gid_t clientgid;
|
||||||
|
pid_t clientpid;
|
||||||
|
unsigned long long timestamp;
|
||||||
|
|
||||||
|
if (virNetServerClientGetUNIXIdentity(client,
|
||||||
|
&clientuid,
|
||||||
|
&clientgid,
|
||||||
|
&clientpid,
|
||||||
|
×tamp) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
VIR_DEBUG("New client pid %lld uid %lld",
|
||||||
|
(long long)clientpid,
|
||||||
|
(long long)clientuid);
|
||||||
|
|
||||||
|
if (geteuid() != clientuid) {
|
||||||
|
virReportRestrictedError(_("Disallowing client %lld with uid %lld"),
|
||||||
|
(long long)clientpid,
|
||||||
|
(long long)clientuid);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (VIR_ALLOC(priv) < 0)
|
if (VIR_ALLOC(priv) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@@ -1073,8 +1073,7 @@ virDomainRestoreFlags(virConnectPtr conn, const char *from, const char *dxml,
|
|||||||
* previously by virDomainSave() or virDomainSaveFlags().
|
* previously by virDomainSave() or virDomainSaveFlags().
|
||||||
*
|
*
|
||||||
* No security-sensitive data will be included unless @flags contains
|
* No security-sensitive data will be included unless @flags contains
|
||||||
* VIR_DOMAIN_SAVE_IMAGE_XML_SECURE; this flag is rejected on read-only
|
* VIR_DOMAIN_SAVE_IMAGE_XML_SECURE.
|
||||||
* connections.
|
|
||||||
*
|
*
|
||||||
* Returns a 0 terminated UTF-8 encoded XML instance, or NULL in case of
|
* Returns a 0 terminated UTF-8 encoded XML instance, or NULL in case of
|
||||||
* error. The caller must free() the returned value.
|
* error. The caller must free() the returned value.
|
||||||
@@ -1090,13 +1089,7 @@ virDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *file,
|
|||||||
|
|
||||||
virCheckConnectReturn(conn, NULL);
|
virCheckConnectReturn(conn, NULL);
|
||||||
virCheckNonNullArgGoto(file, error);
|
virCheckNonNullArgGoto(file, error);
|
||||||
|
virCheckReadOnlyGoto(conn->flags, error);
|
||||||
if ((conn->flags & VIR_CONNECT_RO) &&
|
|
||||||
(flags & VIR_DOMAIN_SAVE_IMAGE_XML_SECURE)) {
|
|
||||||
virReportError(VIR_ERR_OPERATION_DENIED, "%s",
|
|
||||||
_("virDomainSaveImageGetXMLDesc with secure flag"));
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (conn->driver->domainSaveImageGetXMLDesc) {
|
if (conn->driver->domainSaveImageGetXMLDesc) {
|
||||||
char *ret;
|
char *ret;
|
||||||
@@ -9572,6 +9565,7 @@ virDomainManagedSaveDefineXML(virDomainPtr domain, const char *dxml,
|
|||||||
|
|
||||||
virCheckDomainReturn(domain, -1);
|
virCheckDomainReturn(domain, -1);
|
||||||
conn = domain->conn;
|
conn = domain->conn;
|
||||||
|
virCheckReadOnlyGoto(conn->flags, error);
|
||||||
|
|
||||||
if (conn->driver->domainManagedSaveDefineXML) {
|
if (conn->driver->domainManagedSaveDefineXML) {
|
||||||
int ret;
|
int ret;
|
||||||
@@ -11366,6 +11360,7 @@ virConnectGetDomainCapabilities(virConnectPtr conn,
|
|||||||
virResetLastError();
|
virResetLastError();
|
||||||
|
|
||||||
virCheckConnectReturn(conn, NULL);
|
virCheckConnectReturn(conn, NULL);
|
||||||
|
virCheckReadOnlyGoto(conn->flags, error);
|
||||||
|
|
||||||
if (conn->driver->connectGetDomainCapabilities) {
|
if (conn->driver->connectGetDomainCapabilities) {
|
||||||
char *ret;
|
char *ret;
|
||||||
|
@@ -1041,6 +1041,7 @@ virConnectCompareHypervisorCPU(virConnectPtr conn,
|
|||||||
|
|
||||||
virCheckConnectReturn(conn, VIR_CPU_COMPARE_ERROR);
|
virCheckConnectReturn(conn, VIR_CPU_COMPARE_ERROR);
|
||||||
virCheckNonNullArgGoto(xmlCPU, error);
|
virCheckNonNullArgGoto(xmlCPU, error);
|
||||||
|
virCheckReadOnlyGoto(conn->flags, error);
|
||||||
|
|
||||||
if (conn->driver->connectCompareHypervisorCPU) {
|
if (conn->driver->connectCompareHypervisorCPU) {
|
||||||
int ret;
|
int ret;
|
||||||
@@ -1234,6 +1235,7 @@ virConnectBaselineHypervisorCPU(virConnectPtr conn,
|
|||||||
|
|
||||||
virCheckConnectReturn(conn, NULL);
|
virCheckConnectReturn(conn, NULL);
|
||||||
virCheckNonNullArgGoto(xmlCPUs, error);
|
virCheckNonNullArgGoto(xmlCPUs, error);
|
||||||
|
virCheckReadOnlyGoto(conn->flags, error);
|
||||||
|
|
||||||
if (conn->driver->connectBaselineHypervisorCPU) {
|
if (conn->driver->connectBaselineHypervisorCPU) {
|
||||||
char *cpu;
|
char *cpu;
|
||||||
|
@@ -5,6 +5,7 @@ Before=libvirtd.service
|
|||||||
[Socket]
|
[Socket]
|
||||||
ListenStream=@localstatedir@/run/libvirt/virtlockd-admin-sock
|
ListenStream=@localstatedir@/run/libvirt/virtlockd-admin-sock
|
||||||
Service=virtlockd.service
|
Service=virtlockd.service
|
||||||
|
SocketMode=0600
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=sockets.target
|
WantedBy=sockets.target
|
||||||
|
@@ -4,6 +4,7 @@ Before=libvirtd.service
|
|||||||
|
|
||||||
[Socket]
|
[Socket]
|
||||||
ListenStream=@localstatedir@/run/libvirt/virtlockd-sock
|
ListenStream=@localstatedir@/run/libvirt/virtlockd-sock
|
||||||
|
SocketMode=0600
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=sockets.target
|
WantedBy=sockets.target
|
||||||
|
@@ -5,6 +5,7 @@ Before=libvirtd.service
|
|||||||
[Socket]
|
[Socket]
|
||||||
ListenStream=@localstatedir@/run/libvirt/virtlogd-admin-sock
|
ListenStream=@localstatedir@/run/libvirt/virtlogd-admin-sock
|
||||||
Service=virtlogd.service
|
Service=virtlogd.service
|
||||||
|
SocketMode=0600
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=sockets.target
|
WantedBy=sockets.target
|
||||||
|
@@ -4,6 +4,7 @@ Before=libvirtd.service
|
|||||||
|
|
||||||
[Socket]
|
[Socket]
|
||||||
ListenStream=@localstatedir@/run/libvirt/virtlogd-sock
|
ListenStream=@localstatedir@/run/libvirt/virtlogd-sock
|
||||||
|
SocketMode=0600
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=sockets.target
|
WantedBy=sockets.target
|
||||||
|
@@ -7062,7 +7062,7 @@ qemuDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *path,
|
|||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virDomainSaveImageGetXMLDescEnsureACL(conn, def, flags) < 0)
|
if (virDomainSaveImageGetXMLDescEnsureACL(conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
ret = qemuDomainDefFormatXML(driver, def, flags);
|
ret = qemuDomainDefFormatXML(driver, def, flags);
|
||||||
|
@@ -5242,8 +5242,7 @@ enum remote_procedure {
|
|||||||
/**
|
/**
|
||||||
* @generate: both
|
* @generate: both
|
||||||
* @priority: high
|
* @priority: high
|
||||||
* @acl: domain:read
|
* @acl: domain:write
|
||||||
* @acl: domain:read_secure:VIR_DOMAIN_SAVE_IMAGE_XML_SECURE
|
|
||||||
*/
|
*/
|
||||||
REMOTE_PROC_DOMAIN_SAVE_IMAGE_GET_XML_DESC = 235,
|
REMOTE_PROC_DOMAIN_SAVE_IMAGE_GET_XML_DESC = 235,
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user