Merge "res_pjsip/res_pjsip_callerid: NULL check on caller id name string"
[asterisk/asterisk.git] / res / res_crypto.c
index 22b82dc..8f97ce9 100644 (file)
@@ -33,8 +33,6 @@
 
 #include "asterisk.h"
 
-ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
-
 #include "asterisk/paths.h"    /* use ast_config_AST_KEY_DIR */
 #include <openssl/ssl.h>
 #include <openssl/err.h>
@@ -532,7 +530,7 @@ static void md52sum(char *sum, unsigned char *md5)
 {
        int x;
        for (x = 0; x < 16; x++) {
-               sum += sprintf(sum, "%02x", (unsigned)*(md5++));
+               sum += sprintf(sum, "%02hhx", *(md5++));
        }
 }
 
@@ -652,19 +650,24 @@ static int load_module(void)
        } else {
                crypto_load(-1, -1);
        }
+
+       /* This prevents dlclose from ever running, but allows CLI cleanup at shutdown. */
+       ast_module_shutdown_ref(ast_module_info->self);
        return AST_MODULE_LOAD_SUCCESS;
 }
 
 static int unload_module(void)
 {
-       /* Can't unload this once we're loaded */
-       return -1;
+       ast_cli_unregister_multiple(cli_crypto, ARRAY_LEN(cli_crypto));
+
+       return 0;
 }
 
 /* needs usecount semantics defined */
 AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_ORDER, "Cryptographic Digital Signatures",
-               .load = load_module,
-               .unload = unload_module,
-               .reload = reload,
-               .load_pri = AST_MODPRI_CHANNEL_DEPEND, /*!< Since we don't have a config file, we could move up to REALTIME_DEPEND, if necessary */
-       );
+       .support_level = AST_MODULE_SUPPORT_CORE,
+       .load = load_module,
+       .unload = unload_module,
+       .reload = reload,
+       .load_pri = AST_MODPRI_CHANNEL_DEPEND, /*!< Since we don't have a config file, we could move up to REALTIME_DEPEND, if necessary */
+);