--- emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp (revision 492673) +++ emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp (working copy) @@ -1,24 +1,66 @@ --- src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp.orig 2017-07-27 13:18:27 UTC +++ src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp -@@ -80,8 +80,10 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total, - cbParameter = sizeof(cPagesMemInactive); - if (!sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) - cProcessed++; +@@ -58,45 +58,36 @@ + + int CollectorFreeBSD::getHostMemoryUsage(ULONG *total, ULONG *used, ULONG *available) + { +- int rc = VINF_SUCCESS; + u_long cbMemPhys = 0; + u_int cPagesMemFree = 0; +- u_int cPagesMemInactive = 0; + u_int cPagesMemCached = 0; + u_int cPagesMemUsed = 0; + int cbPage = 0; +- size_t cbParameter = sizeof(cbMemPhys); +- int cProcessed = 0; +- +- if (!sysctlbyname("hw.physmem", &cbMemPhys, &cbParameter, NULL, 0)) +- cProcessed++; ++ size_t cbParameter; + ++ cbParameter = sizeof(cbMemPhys); ++ if (sysctlbyname("hw.physmem", &cbMemPhys, &cbParameter, NULL, 0)) ++ return VERR_NOT_SUPPORTED; + cbParameter = sizeof(cPagesMemFree); +- if (!sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0)) +- cProcessed++; ++ if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0)) ++ return VERR_NOT_SUPPORTED; + cbParameter = sizeof(cPagesMemUsed); +- if (!sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0)) +- cProcessed++; +- cbParameter = sizeof(cPagesMemInactive); +- if (!sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) +- cProcessed++; ++ if (sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0)) ++ return VERR_NOT_SUPPORTED; +#if __FreeBSD_version < 1200016 cbParameter = sizeof(cPagesMemCached); - if (!sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) +- if (!sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) +- cProcessed++; ++ if (sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) ++ return VERR_NOT_SUPPORTED; +#endif - cProcessed++; cbParameter = sizeof(cbPage); - if (!sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) -@@ -90,8 +92,8 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total, - if (cProcessed == 6) - { - *total = cbMemPhys / _1K; +- if (!sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) +- cProcessed++; ++ if (sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) ++ return VERR_NOT_SUPPORTED; + +- if (cProcessed == 6) +- { +- *total = cbMemPhys / _1K; - *used = cPagesMemUsed * (cbPage / _1K); - *available = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * (cbPage / _1K); -+ *used = (uint64_t)cPagesMemUsed * (cbPage / _1K); -+ *available = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * (cbPage / _1K); - } - else - rc = VERR_NOT_SUPPORTED; +- } +- else +- rc = VERR_NOT_SUPPORTED; ++ *total = cbMemPhys / _1K; ++ *used = (ULONG64)cPagesMemUsed * (cbPage / _1K); ++ *available = ((ULONG64)cPagesMemFree + cPagesMemCached) * (cbPage / _1K); + +- return rc; ++ return VINF_SUCCESS; + } + + int CollectorFreeBSD::getProcessCpuLoad(RTPROCESS process, ULONG *user, ULONG *kernel) --- emulators/virtualbox-ose/files/patch-src_VBox_RDP_client-1.8.4_ssl.c (nonexistent) +++ emulators/virtualbox-ose/files/patch-src_VBox_RDP_client-1.8.4_ssl.c (working copy) @@ -0,0 +1,35 @@ +--- src/VBox/RDP/client-1.8.4/ssl.c.orig 2019-01-25 21:31:48.000000000 +0300 ++++ src/VBox/RDP/client-1.8.4/ssl.c 2019-02-11 12:38:31.251992000 +0300 +@@ -97,7 +97,7 @@ + rdssl_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 * modulus, + uint8 * exponent) + { +-#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 || defined(LIBRESSL_VERSION_NUMBER) + BN_CTX *ctx; + BIGNUM *mod, *exp, *x, *y; + uint8 inr[SEC_MAX_MODULUS_SIZE]; +@@ -128,7 +128,7 @@ + BN_free(exp); + BN_free(mod); + BN_CTX_free(ctx); +-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER) */ ++#else + BN_CTX *ctx; + BIGNUM mod, exp, x, y; + uint8 inr[SEC_MAX_MODULUS_SIZE]; +@@ -316,12 +316,12 @@ + rdssl_hmac_md5(const void *key, int key_len, const unsigned char *msg, int msg_len, + unsigned char *md) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000 || !defined(LIBRESSL_VERSION_NUMBER) + HMAC_CTX ctx; + HMAC_CTX_init(&ctx); + #endif + HMAC(EVP_md5(), key, key_len, msg, msg_len, md, NULL); +-#if OPENSSL_VERSION_NUMBER < 0x10100000 || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000 || !defined(LIBRESSL_VERSION_NUMBER) + HMAC_CTX_cleanup(&ctx); + #endif + } --- emulators/virtualbox-ose/files/patch-src_VBox_RDP_client-1.8.4_tcp.c (nonexistent) +++ emulators/virtualbox-ose/files/patch-src_VBox_RDP_client-1.8.4_tcp.c (working copy) @@ -0,0 +1,13 @@ +--- src/VBox/RDP/client-1.8.4/tcp.c.orig 2019-01-25 21:31:48.000000000 +0300 ++++ src/VBox/RDP/client-1.8.4/tcp.c 2019-02-11 12:39:02.556043000 +0300 +@@ -311,8 +311,10 @@ + + if (!g_ssl_initialized) + { ++#ifndef LIBRESSL_VERSION_NUMBER + SSL_load_error_strings(); + SSL_library_init(); ++#endif + g_ssl_initialized = True; + } + --- emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp (revision 492673) +++ emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp (working copy) @@ -1,14 +1,16 @@ --- src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp.orig 2017-07-27 13:18:46 UTC +++ src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp -@@ -65,7 +65,6 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) +@@ -63,9 +63,7 @@ + + int rc = VINF_SUCCESS; u_int cPagesMemFree = 0; - u_int cPagesMemInactive = 0; +- u_int cPagesMemInactive = 0; u_int cPagesMemCached = 0; - u_int cPagesMemUsed = 0; int cbPage = 0; size_t cbParameter; int cProcessed = 0; -@@ -73,25 +72,23 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) +@@ -73,25 +71,19 @@ cbParameter = sizeof(cPagesMemFree); if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0)) rc = RTErrConvertFromErrno(errno); @@ -16,10 +18,10 @@ - if ( RT_SUCCESS(rc) - && sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0)) - rc = RTErrConvertFromErrno(errno); - cbParameter = sizeof(cPagesMemInactive); - if ( RT_SUCCESS(rc) - && sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) - rc = RTErrConvertFromErrno(errno); +- cbParameter = sizeof(cPagesMemInactive); +- if ( RT_SUCCESS(rc) +- && sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) +- rc = RTErrConvertFromErrno(errno); +#if __FreeBSD_version < 1200016 cbParameter = sizeof(cPagesMemCached); if ( RT_SUCCESS(rc) @@ -33,7 +35,7 @@ if (RT_SUCCESS(rc)) - *pcb = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * cbPage; -+ *pcb = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * cbPage; ++ *pcb = ((uint64_t)cPagesMemFree + cPagesMemCached) * cbPage; return rc; }