Annotation of embedaddon/ntp/include/ssl_applink.c, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * include/ssl_applink.c -- common NTP code for openssl/applink.c
                      3:  *
                      4:  * Each program which uses OpenSSL should include this file in _one_
                      5:  * of its source files and call ssl_applink() before any OpenSSL
                      6:  * functions.
                      7:  */
                      8: 
                      9: #if defined(OPENSSL) && defined(SYS_WINNT)
                     10: # ifdef _MSC_VER
                     11: #  pragma warning(push)
                     12: #  pragma warning(disable: 4152)
                     13: # endif
                     14: # include <openssl/applink.c>
                     15: # ifdef _MSC_VER
                     16: #  pragma warning(pop)
                     17: # endif
                     18: #endif
                     19: 
                     20: #if defined(OPENSSL) && defined(_MSC_VER) && defined(_DEBUG)
                     21: #define WRAP_DBG_MALLOC
                     22: #endif
                     23: 
                     24: #ifdef WRAP_DBG_MALLOC
                     25: void *wrap_dbg_malloc(size_t s, const char *f, int l);
                     26: void *wrap_dbg_realloc(void *p, size_t s, const char *f, int l);
                     27: void wrap_dbg_free(void *p);
                     28: #endif
                     29: 
                     30: 
                     31: #if defined(OPENSSL) && defined(SYS_WINNT)
                     32: void ssl_applink(void);
                     33: 
                     34: void
                     35: ssl_applink(void)
                     36: {
                     37: #ifdef WRAP_DBG_MALLOC
                     38:        CRYPTO_set_mem_ex_functions(wrap_dbg_malloc, wrap_dbg_realloc, wrap_dbg_free);
                     39: #else
                     40:        CRYPTO_malloc_init();
                     41: #endif
                     42: }
                     43: #else  /* !OPENSSL || !SYS_WINNT */
                     44: #define ssl_applink()  do {} while (0)
                     45: #endif
                     46: 
                     47: 
                     48: #ifdef WRAP_DBG_MALLOC
                     49: /*
                     50:  * OpenSSL malloc overriding uses different parameters
                     51:  * for DEBUG malloc/realloc/free (lacking block type).
                     52:  * Simple wrappers convert.
                     53:  */
                     54: void *wrap_dbg_malloc(size_t s, const char *f, int l)
                     55: {
                     56:        void *ret;
                     57: 
                     58:        ret = _malloc_dbg(s, _NORMAL_BLOCK, f, l);
                     59:        return ret;
                     60: }
                     61: 
                     62: void *wrap_dbg_realloc(void *p, size_t s, const char *f, int l)
                     63: {
                     64:        void *ret;
                     65: 
                     66:        ret = _realloc_dbg(p, s, _NORMAL_BLOCK, f, l);
                     67:        return ret;
                     68: }
                     69: 
                     70: void wrap_dbg_free(void *p)
                     71: {
                     72:        _free_dbg(p, _NORMAL_BLOCK);
                     73: }
                     74: #endif /* WRAP_DBG_MALLOC */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>