Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Nov 2025 16:02:27 +0000
From:      Vladimir Druzenko <vvd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org
Subject:   git: 4ae5bdb642f7 - 2025Q4 - emulators/virtualbox-ose-additions*: Fix "vboxmanage guestproperty" on host does not show interface name for FreeBSD guest
Message-ID:  <69208d13.36746.7c0392a3@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch 2025Q4 has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4ae5bdb642f7f804f528a9536119e30316caee13

commit 4ae5bdb642f7f804f528a9536119e30316caee13
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-11-21 15:54:34 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-11-21 16:02:12 +0000

    emulators/virtualbox-ose-additions*: Fix "vboxmanage guestproperty" on host does not show interface name for FreeBSD guest
    
    Upstream issue:
    https://github.com/VirtualBox/virtualbox/issues/403
    Upstream commit:
    https://github.com/VirtualBox/virtualbox/commit/3cf64726847e2483c9539ca51c88862a0f1c7414
    
    PR:     291128
    MFH:    2025Q4
    (cherry picked from commit 89de71b8c7759fb3f75fe9d92170e76d94d3e32b)
---
 ...itions_common_VBoxService_VBoxServiceVMInfo.cpp | 32 ++++++++++++++-----
 ...itions_common_VBoxService_VBoxServiceVMInfo.cpp | 36 ++++++++++++++++------
 ...itions_common_VBoxService_VBoxServiceVMInfo.cpp | 18 ++++++++++-
 emulators/virtualbox-ose-additions-legacy/Makefile |  2 +-
 .../virtualbox-ose-additions-nox11-legacy/Makefile |  2 +-
 emulators/virtualbox-ose-additions-nox11/Makefile  |  2 +-
 emulators/virtualbox-ose-additions/Makefile        |  2 +-
 ...itions_common_VBoxService_VBoxServiceVMInfo.cpp | 20 ++++++++++--
 ...itions_common_VBoxService_VBoxServiceVMInfo.cpp | 18 ++++++++++-
 9 files changed, 106 insertions(+), 26 deletions(-)

diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
index 70b459e94da7..03027b3dc445 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
@@ -1,6 +1,6 @@
---- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2021-01-07 15:34:20 UTC
+--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2025-04-11 12:02:56 UTC
 +++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
-@@ -67,8 +67,8 @@
+@@ -77,8 +77,8 @@
  # include <net/if.h>
  # include <pwd.h> /* getpwuid */
  # include <unistd.h>
@@ -11,7 +11,7 @@
  # endif
  # ifdef RT_OS_OS2
  #  include <net/if_dl.h>
-@@ -528,7 +528,7 @@ static void vgsvcVMInfoWriteFixedProperties(void)
+@@ -535,7 +535,7 @@ static void vgsvcVMInfoWriteFixedProperties(void)
  }
  
  
@@ -20,7 +20,7 @@
  /*
   * Simple wrapper to work around compiler-specific va_list madness.
   */
-@@ -555,12 +555,6 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -562,12 +562,6 @@ static int vgsvcVMInfoWriteUsers(void)
  #ifdef RT_OS_WINDOWS
      rc = VGSvcVMInfoWinWriteUsers(&g_VMInfoPropCache, &pszUserList, &cUsersInList);
  
@@ -33,7 +33,7 @@
  #elif defined(RT_OS_HAIKU)
      /** @todo Haiku: Port logged on user info retrieval. */
      rc = VERR_NOT_IMPLEMENTED;
-@@ -586,7 +580,7 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -593,7 +587,7 @@ static int vgsvcVMInfoWriteUsers(void)
      while (   (ut_user = getutxent())
             && RT_SUCCESS(rc))
      {
@@ -42,7 +42,7 @@
          VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32)\n", ut_user->ut_user, ut_user->ut_type, ut_user->ut_pid);
  # else
          VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32, session: %RU32)\n",
-@@ -621,7 +615,7 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -628,7 +622,7 @@ static int vgsvcVMInfoWriteUsers(void)
      }
  
  # ifdef VBOX_WITH_DBUS
@@ -51,7 +51,7 @@
      DBusError dbErr;
      DBusConnection *pConnection = NULL;
      int rc2 = RTDBusLoadLib();
-@@ -830,7 +824,7 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -837,7 +831,7 @@ static int vgsvcVMInfoWriteUsers(void)
      if (   fHaveLibDbus
          && dbus_error_is_set(&dbErr))
          dbus_error_free(&dbErr);
@@ -60,7 +60,7 @@
  # endif /* VBOX_WITH_DBUS */
  
      /** @todo Fedora/others: Handle systemd-loginctl. */
-@@ -867,7 +861,7 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -874,7 +868,7 @@ static int vgsvcVMInfoWriteUsers(void)
      RTMemFree(papszUsers);
  
      endutxent(); /* Close utmpx file. */
@@ -69,3 +69,19 @@
  
      Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList));
  
+@@ -1168,6 +1162,15 @@ static int vgsvcVMInfoWriteNetwork(void)
+ 
+             RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Status", cIfsReported);
+             VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, pIfCurr->ifa_flags & IFF_UP ? "Up" : "Down");
++
++# ifdef RT_OS_FREEBSD /** @todo Check the other guests. */
++            RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Name", cIfsReported);
++            int rc2 = RTStrValidateEncoding(pIfCurr->ifa_name);
++            if (RT_SUCCESS(rc2))
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name);
++            else
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, NULL);
++# endif
+ 
+             cIfsReported++;
+         }
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
index 70b459e94da7..7a52a9103251 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
@@ -1,6 +1,6 @@
---- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2021-01-07 15:34:20 UTC
+--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2025-10-16 14:25:31 UTC
 +++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
-@@ -67,8 +67,8 @@
+@@ -77,8 +77,8 @@
  # include <net/if.h>
  # include <pwd.h> /* getpwuid */
  # include <unistd.h>
@@ -11,16 +11,16 @@
  # endif
  # ifdef RT_OS_OS2
  #  include <net/if_dl.h>
-@@ -528,7 +528,7 @@ static void vgsvcVMInfoWriteFixedProperties(void)
+@@ -573,7 +573,7 @@ static void vgsvcVMInfoWriteFixedProperties(void)
  }
  
  
 -#if defined(VBOX_WITH_DBUS) && defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */
 +#if defined(VBOX_WITH_DBUS) && (defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) /* Not yet for Solaris. */
  /*
-  * Simple wrapper to work around compiler-specific va_list madness.
+  * Simple wrappers to work around compiler-specific va_list madness.
   */
-@@ -555,12 +555,6 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -702,12 +702,6 @@ static int vgsvcVMInfoWriteUsers(void)
  #ifdef RT_OS_WINDOWS
      rc = VGSvcVMInfoWinWriteUsers(&g_VMInfoPropCache, &pszUserList, &cUsersInList);
  
@@ -33,7 +33,7 @@
  #elif defined(RT_OS_HAIKU)
      /** @todo Haiku: Port logged on user info retrieval. */
      rc = VERR_NOT_IMPLEMENTED;
-@@ -586,7 +580,7 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -733,7 +727,7 @@ static int vgsvcVMInfoWriteUsers(void)
      while (   (ut_user = getutxent())
             && RT_SUCCESS(rc))
      {
@@ -42,7 +42,7 @@
          VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32)\n", ut_user->ut_user, ut_user->ut_type, ut_user->ut_pid);
  # else
          VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32, session: %RU32)\n",
-@@ -621,7 +615,7 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -749,7 +743,7 @@ static int vgsvcVMInfoWriteUsers(void)
      }
  
  # ifdef VBOX_WITH_DBUS
@@ -51,7 +51,7 @@
      DBusError dbErr;
      DBusConnection *pConnection = NULL;
      int rc2 = RTDBusLoadLib();
-@@ -830,7 +824,7 @@ static int vgsvcVMInfoWriteUsers(void)
+@@ -1074,7 +1068,7 @@ static int vgsvcVMInfoWriteUsers(void)
      if (   fHaveLibDbus
          && dbus_error_is_set(&dbErr))
          dbus_error_free(&dbErr);
@@ -59,8 +59,8 @@
 +#  endif /* RT_OS_LINUX || RT_OS_FREEBSD */
  # endif /* VBOX_WITH_DBUS */
  
-     /** @todo Fedora/others: Handle systemd-loginctl. */
-@@ -867,7 +861,7 @@ static int vgsvcVMInfoWriteUsers(void)
+     /* Calc the string length. */
+@@ -1109,7 +1103,7 @@ static int vgsvcVMInfoWriteUsers(void)
      RTMemFree(papszUsers);
  
      endutxent(); /* Close utmpx file. */
@@ -69,3 +69,19 @@
  
      Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList));
  
+@@ -1403,6 +1397,15 @@ static int vgsvcVMInfoWriteNetwork(void)
+ 
+             RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Status", cIfsReported);
+             VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, pIfCurr->ifa_flags & IFF_UP ? "Up" : "Down");
++
++# ifdef RT_OS_FREEBSD /** @todo Check the other guests. */
++            RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Name", cIfsReported);
++            int rc2 = RTStrValidateEncoding(pIfCurr->ifa_name);
++            if (RT_SUCCESS(rc2))
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name);
++            else
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, NULL);
++# endif
+ 
+             cIfsReported++;
+         }
diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
index 0c463e3d9923..a6b7c5d6285c 100644
--- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
+++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2025-08-13 19:41:16 UTC
+--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2025-10-17 08:52:40 UTC
 +++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
 @@ -77,8 +77,8 @@
  # include <net/if.h>
@@ -69,3 +69,19 @@
  
      Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList));
  
+@@ -1403,6 +1397,15 @@ static int vgsvcVMInfoWriteNetwork(void)
+ 
+             RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Status", cIfsReported);
+             VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, pIfCurr->ifa_flags & IFF_UP ? "Up" : "Down");
++
++# ifdef RT_OS_FREEBSD /** @todo Check the other guests. */
++            RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Name", cIfsReported);
++            int rc2 = RTStrValidateEncoding(pIfCurr->ifa_name);
++            if (RT_SUCCESS(rc2))
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name);
++            else
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, NULL);
++# endif
+ 
+             cIfsReported++;
+         }
diff --git a/emulators/virtualbox-ose-additions-legacy/Makefile b/emulators/virtualbox-ose-additions-legacy/Makefile
index e9067d5fd9b4..da59aef65d43 100644
--- a/emulators/virtualbox-ose-additions-legacy/Makefile
+++ b/emulators/virtualbox-ose-additions-legacy/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	virtualbox-ose
 DISTVERSION=	5.2.44
-PORTREVISION?=	8
+PORTREVISION?=	9
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.virtualbox.org/virtualbox/${DISTVERSION}/
 PKGNAMESUFFIX?=	-additions-legacy
diff --git a/emulators/virtualbox-ose-additions-nox11-legacy/Makefile b/emulators/virtualbox-ose-additions-nox11-legacy/Makefile
index c02115f2eb3b..7fef05133b84 100644
--- a/emulators/virtualbox-ose-additions-nox11-legacy/Makefile
+++ b/emulators/virtualbox-ose-additions-nox11-legacy/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION=	7
+PORTREVISION=	9
 PKGNAMESUFFIX=	-additions-nox11-legacy
 
 MASTERDIR=	${.CURDIR}/../virtualbox-ose-additions-legacy
diff --git a/emulators/virtualbox-ose-additions-nox11/Makefile b/emulators/virtualbox-ose-additions-nox11/Makefile
index be1a45194f0a..a13626bde395 100644
--- a/emulators/virtualbox-ose-additions-nox11/Makefile
+++ b/emulators/virtualbox-ose-additions-nox11/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION=	1
+PORTREVISION=	3
 PKGNAMESUFFIX=	-additions-nox11
 
 MASTERDIR=	${.CURDIR}/../virtualbox-ose-additions
diff --git a/emulators/virtualbox-ose-additions/Makefile b/emulators/virtualbox-ose-additions/Makefile
index 2e5c8cc62bf2..c837aeeccf71 100644
--- a/emulators/virtualbox-ose-additions/Makefile
+++ b/emulators/virtualbox-ose-additions/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	virtualbox-ose
 DISTVERSION=	6.1.50
-PORTREVISION?=	2
+PORTREVISION?=	3
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.virtualbox.org/virtualbox/${DISTVERSION}/
 PKGNAMESUFFIX?=	-additions
diff --git a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
index 8f6810a5bc82..bfcd88c67974 100644
--- a/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
+++ b/emulators/virtualbox-ose-legacy/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2017-03-08 17:15:20 UTC
+--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2020-07-09 16:50:08 UTC
 +++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
 @@ -71,8 +71,8 @@
  # include <net/if.h>
@@ -11,7 +11,7 @@
  # endif
  # ifdef RT_OS_OS2
  #  include <net/if_dl.h>
-@@ -531,7 +531,7 @@ static void vgsvcVMInfoWriteFixedPropert
+@@ -531,7 +531,7 @@ static void vgsvcVMInfoWriteFixedProperties(void)
  }
  
  
@@ -69,3 +69,19 @@
  
      Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList));
  
+@@ -1152,6 +1146,15 @@ static int vgsvcVMInfoWriteNetwork(void)
+ 
+             RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Status", cIfsReported);
+             VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, pIfCurr->ifa_flags & IFF_UP ? "Up" : "Down");
++
++# ifdef RT_OS_FREEBSD /** @todo Check the other guests. */
++            RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Name", cIfsReported);
++            int rc2 = RTStrValidateEncoding(pIfCurr->ifa_name);
++            if (RT_SUCCESS(rc2))
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name);
++            else
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, NULL);
++# endif
+ 
+             cIfsReported++;
+         }
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
index 70b459e94da7..b1ccef033ff1 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2021-01-07 15:34:20 UTC
+--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig	2024-01-11 12:11:39 UTC
 +++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
 @@ -67,8 +67,8 @@
  # include <net/if.h>
@@ -69,3 +69,19 @@
  
      Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList));
  
+@@ -1154,6 +1148,15 @@ static int vgsvcVMInfoWriteNetwork(void)
+ 
+             RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Status", cIfsReported);
+             VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, pIfCurr->ifa_flags & IFF_UP ? "Up" : "Down");
++
++# ifdef RT_OS_FREEBSD /** @todo Check the other guests. */
++            RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Name", cIfsReported);
++            int rc2 = RTStrValidateEncoding(pIfCurr->ifa_name);
++            if (RT_SUCCESS(rc2))
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name);
++            else
++                VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, NULL);
++# endif
+ 
+             cIfsReported++;
+         }


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69208d13.36746.7c0392a3>