Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 56811db0e1 | |||
| dbca8efc68 | |||
| 4230864da9 | |||
| 046121a814 | |||
| e353d4686f | |||
| d9f0d1b206 | |||
| f529859a7f | |||
| cc20dcc771 | |||
| 373a3ee987 | |||
| a53e7df138 | |||
| 60e98f8638 | |||
| f6005873fe | |||
| 8be9ccc297 |
@@ -1,31 +0,0 @@
|
||||
[suppress_function]
|
||||
symbol_version_regexp = LIBVIRT_PRIVATE.*
|
||||
soname_regexp = libvirt\\.so.*
|
||||
|
||||
[suppress_function]
|
||||
symbol_version_regexp = LIBVIRT_ADMIN_PRIVATE.*
|
||||
soname_regexp = libvirt-admin\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = LIBVIRT_PRIVATE.*
|
||||
soname_regexp = libvirt\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = LIBVIRT_ADMIN_PRIVATE.*
|
||||
soname_regexp = libvirt-admin\\.so.*
|
||||
|
||||
[suppress_function]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_storage_.*\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_storage_.*\\.so.*
|
||||
|
||||
[suppress_function]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_driver_.*\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_driver_.*\\.so.*
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
libvirt-0.0.3.tar.gz
|
||||
libvirt-0.0.4.tar.gz
|
||||
libvirt-0.0.5.tar.gz
|
||||
libvirt-0.0.6.tar.gz
|
||||
libvirt-0.1.0.tar.gz
|
||||
libvirt-0.1.2.tar.gz
|
||||
libvirt-0.1.1.tar.gz
|
||||
libvirt-0.1.3.tar.gz
|
||||
libvirt-0.1.4.tar.gz
|
||||
libvirt-0.1.5.tar.gz
|
||||
libvirt-0.1.6.tar.gz
|
||||
libvirt-0.1.7.tar.gz
|
||||
libvirt-0.1.8.tar.gz
|
||||
libvirt-0.1.9.tar.gz
|
||||
libvirt-0.1.10.tar.gz
|
||||
libvirt-0.1.11.tar.gz
|
||||
libvirt-0.2.0.tar.gz
|
||||
libvirt-0.2.1.tar.gz
|
||||
libvirt-0.2.2.tar.gz
|
||||
@@ -1,5 +0,0 @@
|
||||
.build*.log
|
||||
*.rpm
|
||||
i686
|
||||
x86_64
|
||||
libvirt-*.tar.xz
|
||||
@@ -1,41 +0,0 @@
|
||||
From 845210011a9ffd9d17e30c51cbc81ba67c5d3166 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Tue, 20 Jan 2026 10:08:29 +0100
|
||||
Subject: [PATCH] esx: Allow connecting to IPv6 server
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When connecting to a VMWare server, the hostname from URI is
|
||||
resolved using esxUtil_ResolveHostname() which in turn calls
|
||||
getaddrinfo(). But in the hints argument, we restrict the return
|
||||
address to be IPv4 (AF_INET) which obviously fails if the address
|
||||
to resolve is an IPv6 address. Set the hint to AF_UNSPEC which
|
||||
allows both IPv4 and IPv6. While at it, also allow IPv4 addresses
|
||||
mapped in IPv6 by setting AI_V4MAPPED flag.
|
||||
|
||||
Resolves: https://issues.redhat.com/browse/RHEL-138300
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
---
|
||||
src/esx/esx_util.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/esx/esx_util.c b/src/esx/esx_util.c
|
||||
index 88b3dc893f..a6275babd5 100644
|
||||
--- a/src/esx/esx_util.c
|
||||
+++ b/src/esx/esx_util.c
|
||||
@@ -275,8 +275,8 @@ esxUtil_ResolveHostname(const char *hostname, char **ipAddress)
|
||||
int errcode;
|
||||
g_autofree char *address = NULL;
|
||||
|
||||
- hints.ai_flags = AI_ADDRCONFIG;
|
||||
- hints.ai_family = AF_INET;
|
||||
+ hints.ai_flags = AI_ADDRCONFIG | AI_V4MAPPED;
|
||||
+ hints.ai_family = AF_UNSPEC;
|
||||
hints.ai_socktype = SOCK_STREAM;
|
||||
hints.ai_protocol = 0;
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Makefile for source rpm: libvirt
|
||||
# $Id$
|
||||
NAME := libvirt
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
include ../common/Makefile.common
|
||||
@@ -0,0 +1,83 @@
|
||||
diff -rupN libvirt-0.4.0.orig/src/remote_internal.c libvirt-0.4.0.new/src/remote_internal.c
|
||||
--- libvirt-0.4.0.orig/src/remote_internal.c 2008-01-11 10:39:34.000000000 -0500
|
||||
+++ libvirt-0.4.0.new/src/remote_internal.c 2008-01-11 10:43:12.000000000 -0500
|
||||
@@ -3054,8 +3054,12 @@ remoteAuthSASL (virConnectPtr conn, stru
|
||||
if ((remoteAddr = addrToString(&sa, salen)) == NULL)
|
||||
goto cleanup;
|
||||
|
||||
- if ((saslcb = remoteAuthMakeCallbacks(auth->credtype, auth->ncredtype)) == NULL)
|
||||
- goto cleanup;
|
||||
+ if (auth) {
|
||||
+ if ((saslcb = remoteAuthMakeCallbacks(auth->credtype, auth->ncredtype)) == NULL)
|
||||
+ goto cleanup;
|
||||
+ } else {
|
||||
+ saslcb = NULL;
|
||||
+ }
|
||||
|
||||
/* Setup a handle for being a client */
|
||||
err = sasl_client_new("libvirt",
|
||||
@@ -3168,15 +3172,21 @@ remoteAuthSASL (virConnectPtr conn, stru
|
||||
goto cleanup;
|
||||
}
|
||||
/* Run the authentication callback */
|
||||
- if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
|
||||
+ if (auth && auth->cb) {
|
||||
+ if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
|
||||
+ __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
|
||||
+ VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
|
||||
+ "Failed to collect auth credentials");
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ remoteAuthFillInteract(cred, interact);
|
||||
+ goto restart;
|
||||
+ } else {
|
||||
__virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
|
||||
VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
|
||||
- "Failed to collect auth credentials");
|
||||
+ "No authentication callback available");
|
||||
goto cleanup;
|
||||
- return -1;
|
||||
}
|
||||
- remoteAuthFillInteract(cred, interact);
|
||||
- goto restart;
|
||||
}
|
||||
free(iret.mechlist);
|
||||
|
||||
@@ -3240,15 +3250,22 @@ remoteAuthSASL (virConnectPtr conn, stru
|
||||
return -1;
|
||||
}
|
||||
/* Run the authentication callback */
|
||||
- if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
|
||||
+ if (auth && auth->cb) {
|
||||
+ if ((*(auth->cb))(cred, ncred, auth->cbdata) < 0) {
|
||||
+ __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
|
||||
+ VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
|
||||
+ "Failed to collect auth credentials");
|
||||
+ goto cleanup;
|
||||
+ return -1;
|
||||
+ }
|
||||
+ remoteAuthFillInteract(cred, interact);
|
||||
+ goto restep;
|
||||
+ } else {
|
||||
__virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
|
||||
VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
|
||||
- "Failed to collect auth credentials");
|
||||
+ "No authentication callback available");
|
||||
goto cleanup;
|
||||
- return -1;
|
||||
}
|
||||
- remoteAuthFillInteract(cred, interact);
|
||||
- goto restep;
|
||||
}
|
||||
|
||||
if (serverin) {
|
||||
@@ -3319,7 +3336,8 @@ remoteAuthSASL (virConnectPtr conn, stru
|
||||
if (remoteAddr) free(remoteAddr);
|
||||
if (serverin) free(serverin);
|
||||
|
||||
- free(saslcb);
|
||||
+ if (saslcb)
|
||||
+ free(saslcb);
|
||||
remoteAuthFreeCredentials(cred, ncred);
|
||||
if (ret != 0 && saslconn)
|
||||
sasl_dispose(&saslconn);
|
||||
@@ -0,0 +1,44 @@
|
||||
diff -rup libvirt-0.4.0.orig/src/remote_internal.c libvirt-0.4.0.new/src/remote_internal.c
|
||||
--- libvirt-0.4.0.orig/src/remote_internal.c 2007-12-17 16:51:09.000000000 -0500
|
||||
+++ libvirt-0.4.0.new/src/remote_internal.c 2008-01-02 16:28:44.000000000 -0500
|
||||
@@ -3347,24 +3347,26 @@ remoteAuthPolkit (virConnectPtr conn, st
|
||||
};
|
||||
remoteDebug(priv, "Client initialize PolicyKit authentication");
|
||||
|
||||
- for (i = 0 ; i < auth->ncredtype ; i++) {
|
||||
- if (auth->credtype[i] == VIR_CRED_EXTERNAL)
|
||||
- allowcb = 1;
|
||||
- }
|
||||
+ if (auth && auth->cb) {
|
||||
+ /* Check if the neccessary credential type for PolicyKit is supported */
|
||||
+ for (i = 0 ; i < auth->ncredtype ; i++) {
|
||||
+ if (auth->credtype[i] == VIR_CRED_EXTERNAL)
|
||||
+ allowcb = 1;
|
||||
+ }
|
||||
|
||||
- /* Run the authentication callback */
|
||||
- if (allowcb) {
|
||||
- if (auth && auth->cb &&
|
||||
- (*(auth->cb))(&cred, 1, auth->cbdata) < 0) {
|
||||
- __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
|
||||
- VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
|
||||
- "Failed to collect auth credentials");
|
||||
- return -1;
|
||||
+ if (allowcb) {
|
||||
+ /* Run the authentication callback */
|
||||
+ if ((*(auth->cb))(&cred, 1, auth->cbdata) < 0) {
|
||||
+ __virRaiseError (in_open ? NULL : conn, NULL, NULL, VIR_FROM_REMOTE,
|
||||
+ VIR_ERR_AUTH_FAILED, VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0,
|
||||
+ "Failed to collect auth credentials");
|
||||
+ return -1;
|
||||
+ }
|
||||
} else {
|
||||
- remoteDebug(priv, "No auth callback provided for PolicyKit");
|
||||
+ remoteDebug(priv, "Client auth callback does not support PolicyKit");
|
||||
}
|
||||
} else {
|
||||
- remoteDebug(priv, "Client auth callback does not support PolicyKit");
|
||||
+ remoteDebug(priv, "No auth callback provided");
|
||||
}
|
||||
|
||||
memset (&ret, 0, sizeof ret);
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -rup libvirt-0.4.0.orig/src/conf.c libvirt-0.4.0.new/src/conf.c
|
||||
--- libvirt-0.4.0.orig/src/conf.c 2007-12-12 08:30:49.000000000 -0500
|
||||
+++ libvirt-0.4.0.new/src/conf.c 2008-01-02 16:30:12.000000000 -0500
|
||||
@@ -705,7 +705,7 @@ error:
|
||||
virConfPtr
|
||||
__virConfReadFile(const char *filename)
|
||||
{
|
||||
- char content[4096];
|
||||
+ char content[8192];
|
||||
int fd;
|
||||
int len;
|
||||
|
||||
+384
-2969
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user