mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
switch compile-time option checking to string storage mode in this branch too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -24,11 +24,11 @@ fi
|
|||||||
|
|
||||||
case ${OSARCH} in # actually we should check build_os
|
case ${OSARCH} in # actually we should check build_os
|
||||||
*BSD|mingw|darwin*)
|
*BSD|mingw|darwin*)
|
||||||
BUILDSUM=`echo ${TMP} | md5`
|
BUILDSUM=`echo ${TMP} | md5 | cut -c1-32`
|
||||||
echo "#define AST_BUILDOPT_SUM {0x0, 0x0, 0x0, 0x0} /* dummy */"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
BUILDSUM=`echo ${TMP} | md5sum`
|
BUILDSUM=`echo ${TMP} | md5sum | cut -c1-32`
|
||||||
echo "#define AST_BUILDOPT_SUM { 0x`echo -n ${BUILDSUM} | cut -c1-8`, 0x`echo -n ${BUILDSUM} | cut -c9-16`, 0x`echo -n ${BUILDSUM} | cut -c17-24`, 0x`echo -n ${BUILDSUM} | cut -c25-32` }"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
echo "#define AST_BUILDOPT_SUM \"${BUILDSUM}\""
|
||||||
|
@@ -194,10 +194,11 @@ enum ast_module_flags {
|
|||||||
|
|
||||||
struct ast_module_info {
|
struct ast_module_info {
|
||||||
|
|
||||||
/*! The 'self' pointer for a module; it will be set by the loader before
|
/*!
|
||||||
it calls the module's load_module() entrypoint, and used by various
|
* The 'self' pointer for a module; it will be set by the loader before
|
||||||
other macros that need to identify the module.
|
* it calls the module's load_module() entrypoint, and used by various
|
||||||
*/
|
* other macros that need to identify the module.
|
||||||
|
*/
|
||||||
|
|
||||||
struct ast_module *self;
|
struct ast_module *self;
|
||||||
enum ast_module_load_result (*load)(void); /*!< register stuff etc. Optional. */
|
enum ast_module_load_result (*load)(void); /*!< register stuff etc. Optional. */
|
||||||
@@ -216,8 +217,9 @@ struct ast_module_info {
|
|||||||
|
|
||||||
const char *key;
|
const char *key;
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
|
|
||||||
/*! The value of AST_BUILDOPT_SUM when this module was compiled */
|
/*! The value of AST_BUILDOPT_SUM when this module was compiled */
|
||||||
uint32_t buildopt_sum[4];
|
const char buildopt_sum[33];
|
||||||
};
|
};
|
||||||
|
|
||||||
void ast_module_register(const struct ast_module_info *);
|
void ast_module_register(const struct ast_module_info *);
|
||||||
|
@@ -74,7 +74,7 @@ static unsigned char expected_key[] =
|
|||||||
{ 0x87, 0x76, 0x79, 0x35, 0x23, 0xea, 0x3a, 0xd3,
|
{ 0x87, 0x76, 0x79, 0x35, 0x23, 0xea, 0x3a, 0xd3,
|
||||||
0x25, 0x2a, 0xbb, 0x35, 0x87, 0xe4, 0x22, 0x24 };
|
0x25, 0x2a, 0xbb, 0x35, 0x87, 0xe4, 0x22, 0x24 };
|
||||||
|
|
||||||
static unsigned int buildopt_sum[4] = AST_BUILDOPT_SUM;
|
static char buildopt_sum[33] = AST_BUILDOPT_SUM;
|
||||||
|
|
||||||
static unsigned int embedding = 1; /* we always start out by registering embedded modules,
|
static unsigned int embedding = 1; /* we always start out by registering embedded modules,
|
||||||
since they are here before we dlopen() any
|
since they are here before we dlopen() any
|
||||||
@@ -603,8 +603,6 @@ int ast_module_reload(const char *name)
|
|||||||
|
|
||||||
static unsigned int inspect_module(const struct ast_module *mod)
|
static unsigned int inspect_module(const struct ast_module *mod)
|
||||||
{
|
{
|
||||||
unsigned int buildopt_empty[4] = { 0, };
|
|
||||||
|
|
||||||
if (!mod->info->description) {
|
if (!mod->info->description) {
|
||||||
ast_log(LOG_WARNING, "Module '%s' does not provide a description.\n", mod->resource);
|
ast_log(LOG_WARNING, "Module '%s' does not provide a description.\n", mod->resource);
|
||||||
return 1;
|
return 1;
|
||||||
@@ -620,8 +618,8 @@ static unsigned int inspect_module(const struct ast_module *mod)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (memcmp(buildopt_empty, mod->info->buildopt_sum, sizeof(buildopt_empty)) &&
|
if (!ast_strlen_zero(mod->info->buildopt_sum) &&
|
||||||
memcmp(buildopt_sum, mod->info->buildopt_sum, sizeof(buildopt_sum))) {
|
strcmp(buildopt_sum, mod->info->buildopt_sum)) {
|
||||||
ast_log(LOG_WARNING, "Module '%s' was not compiled with the same compile-time options as this version of Asterisk.\n", mod->resource);
|
ast_log(LOG_WARNING, "Module '%s' was not compiled with the same compile-time options as this version of Asterisk.\n", mod->resource);
|
||||||
ast_log(LOG_WARNING, "Module '%s' will not be initialized as it may cause instability.\n", mod->resource);
|
ast_log(LOG_WARNING, "Module '%s' will not be initialized as it may cause instability.\n", mod->resource);
|
||||||
return 1;
|
return 1;
|
||||||
|
Reference in New Issue
Block a user