res_crypto: Perform cleanup at shutdown.
authorCorey Farrell <git@cfware.com>
Sat, 9 Jan 2016 19:28:31 +0000 (14:28 -0500)
committerCorey Farrell <git@cfware.com>
Sat, 9 Jan 2016 19:39:09 +0000 (13:39 -0600)
This change causes res_crypto to unregister CLI at shutdown while still
preventing the module from being unloaded.

ASTERISK-25673 #close

Change-Id: Ie5d57338dc2752abfc0dd05d0eec86413f2304fc

res/res_crypto.c

index d8f328f..e7cb728 100644 (file)
@@ -652,13 +652,17 @@ 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 */