VirtualBox

Ignore:
Timestamp:
Mar 6, 2022 4:22:18 PM (3 years ago)
Author:
vboxsync
Message:

libs/openssl-3.0.1: Bunch of build fixes for the crypto and ssl libraries, they build now but probably don't work correctly as the providers implementations are not built yet, bugref:10128

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/openssl-3.0.1/crypto/mem_sec.c

    r94082 r94100  
    2222
    2323#ifndef OPENSSL_NO_SECURE_MEMORY
     24# if defined(VBOX)
     25#  include <iprt/memsafer.h>
     26# else
    2427# if defined(_WIN32)
    2528#  include <windows.h>
     
    5053# include <sys/stat.h>
    5154# include <fcntl.h>
    52 #elif defined(VBOX)
    53 # include <iprt/memsafer.h>
     55# endif /* !VBOX */
    5456#endif
    5557
     
    8284int CRYPTO_secure_malloc_init(size_t size, size_t minsize)
    8385{
     86#ifndef VBOX
    8487#ifndef OPENSSL_NO_SECURE_MEMORY
    8588    int ret = 0;
     
    101104    return 0;
    102105#endif /* OPENSSL_NO_SECURE_MEMORY */
     106#else
     107    return 0;
     108#endif /* VBOX */
    103109}
    104110
    105111int CRYPTO_secure_malloc_done(void)
    106112{
     113#ifndef VBOX
    107114#ifndef OPENSSL_NO_SECURE_MEMORY
    108115    if (secure_mem_used == 0) {
     
    114121    }
    115122#endif /* OPENSSL_NO_SECURE_MEMORY */
     123#endif /* VBOX */
    116124    return 0;
    117125}
     
    119127int CRYPTO_secure_malloc_initialized(void)
    120128{
     129#ifndef VBOX
    121130#ifndef OPENSSL_NO_SECURE_MEMORY
    122131    return secure_mem_initialized;
     
    124133    return 0;
    125134#endif /* OPENSSL_NO_SECURE_MEMORY */
     135#else
     136    return 0;
     137#endif /* VBOX */
    126138}
    127139
    128140void *CRYPTO_secure_malloc(size_t num, const char *file, int line)
    129141{
     142#ifndef VBOX
    130143#ifndef OPENSSL_NO_SECURE_MEMORY
    131144    void *ret;
     
    142155    CRYPTO_THREAD_unlock(sec_malloc_lock);
    143156    return ret;
    144 #elif defined(VBOX)
     157#else
     158    return CRYPTO_malloc(num, file, line);
     159#endif /* OPENSSL_NO_SECURE_MEMORY */
     160#else
    145161    RT_NOREF(line);
    146162    return RTMemSaferAllocZTag(num, file);
    147 #else
    148     return CRYPTO_malloc(num, file, line);
    149 #endif /* OPENSSL_NO_SECURE_MEMORY */
     163#endif /* VBOX */
    150164}
    151165
     
    157171        return CRYPTO_secure_malloc(num, file, line);
    158172#endif
    159 #if !defined(OPENSSL_SECURE_MEMORY) && defined(VBOX)
     173#if defined(OPENSSL_NO_SECURE_MEMORY) && defined(VBOX)
    160174    RT_NOREF(line);
    161175    return RTMemSaferAllocZTag(num, file);
     
    167181void CRYPTO_secure_free(void *ptr, const char *file, int line)
    168182{
     183#ifndef VBOX
    169184#ifndef OPENSSL_NO_SECURE_MEMORY
    170185    size_t actual_size;
     
    183198    sh_free(ptr);
    184199    CRYPTO_THREAD_unlock(sec_malloc_lock);
    185 #elif defined(VBOX)
     200#else
     201    CRYPTO_free(ptr, file, line);
     202#endif /* OPENSSL_NO_SECURE_MEMORY */
     203#else
    186204    RT_NOREF(line);
    187205    RTMemSaferFree(ptr, 0);
    188 #else
    189     CRYPTO_free(ptr, file, line);
    190 #endif /* OPENSSL_NO_SECURE_MEMORY */
     206#endif /* VBOX */
    191207}
    192208
     
    194210                              const char *file, int line)
    195211{
     212#ifndef VBOX
    196213#ifndef OPENSSL_NO_SECURE_MEMORY
    197214    size_t actual_size;
     
    211228    sh_free(ptr);
    212229    CRYPTO_THREAD_unlock(sec_malloc_lock);
    213 #elif defined(VBOX)
     230#else
     231    if (ptr == NULL)
     232        return;
     233    OPENSSL_cleanse(ptr, num);
     234    CRYPTO_free(ptr, file, line);
     235#endif /* OPENSSL_NO_SECURE_MEMORY */
     236#else
    214237    RT_NOREF(line);
    215238    RTMemSaferFree(ptr, 0);
    216 #else
    217     if (ptr == NULL)
    218         return;
    219     OPENSSL_cleanse(ptr, num);
    220     CRYPTO_free(ptr, file, line);
    221 #endif /* OPENSSL_NO_SECURE_MEMORY */
     239#endif /* VBOX */
    222240}
    223241
    224242int CRYPTO_secure_allocated(const void *ptr)
    225243{
     244#ifndef VBOX
    226245#ifndef OPENSSL_NO_SECURE_MEMORY
    227246    if (!secure_mem_initialized)
     
    233252     */
    234253    return sh_allocated(ptr);
    235 #elif defined(VBOX)
    236     return RTMemSaferGetSize(ptr) > 0;
    237 #else
    238     return 0;
    239 #endif /* OPENSSL_NO_SECURE_MEMORY */
     254#else
     255    return 0;
     256#endif /* OPENSSL_NO_SECURE_MEMORY */
     257#else
     258    return RTMemSaferGetSize((void *)ptr) > 0;
     259#endif /* VBOX */
    240260}
    241261
    242262size_t CRYPTO_secure_used(void)
    243263{
     264#ifndef VBOX
    244265#ifndef OPENSSL_NO_SECURE_MEMORY
    245266    return secure_mem_used;
     
    247268    return 0;
    248269#endif /* OPENSSL_NO_SECURE_MEMORY */
     270#else
     271    return 0;
     272#endif /* VBOX */
    249273}
    250274
    251275size_t CRYPTO_secure_actual_size(void *ptr)
    252276{
     277#ifndef VBOX
    253278#ifndef OPENSSL_NO_SECURE_MEMORY
    254279    size_t actual_size;
     
    259284    CRYPTO_THREAD_unlock(sec_malloc_lock);
    260285    return actual_size;
    261 #elif defined(VBOX)
     286#else
     287    return 0;
     288#endif
     289#else
    262290    return RTMemSaferGetSize(ptr);
    263 #else
    264     return 0;
    265 #endif
    266 }
    267 
     291#endif /* VBOX */
     292}
     293
     294#ifndef VBOX
    268295/*
    269296 * SECURE HEAP IMPLEMENTATION
     
    727754}
    728755#endif /* OPENSSL_NO_SECURE_MEMORY */
     756#endif /* VBOX */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette