mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-09-27 05:44:52 +03:00
Compare commits
7 Commits
v10.7.0
...
v4.6-maint
Author | SHA1 | Date | |
---|---|---|---|
|
890965e894 | ||
|
93edb0ea63 | ||
|
00e673c93f | ||
|
a27659643b | ||
|
0a9c2082e6 | ||
|
223167124c | ||
|
99decb0a65 |
@@ -66,6 +66,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,9 +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_XML_SECURE; this flag is rejected on read-only
|
* VIR_DOMAIN_XML_SECURE.
|
||||||
* connections. For this API, @flags should not contain either
|
|
||||||
* VIR_DOMAIN_XML_INACTIVE or VIR_DOMAIN_XML_UPDATE_CPU.
|
|
||||||
*
|
*
|
||||||
* 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.
|
||||||
@@ -1091,12 +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_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;
|
||||||
@@ -9489,6 +9482,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;
|
||||||
@@ -11280,6 +11274,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
|
||||||
|
@@ -6798,7 +6798,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);
|
||||||
|
@@ -5226,8 +5226,7 @@ enum remote_procedure {
|
|||||||
/**
|
/**
|
||||||
* @generate: both
|
* @generate: both
|
||||||
* @priority: high
|
* @priority: high
|
||||||
* @acl: domain:read
|
* @acl: domain:write
|
||||||
* @acl: domain:read_secure:VIR_DOMAIN_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