aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-11 21:15:30 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-11 21:15:30 +0000
commit7f8338a27b1bf0c62927bea1876ae52e1a89a673 (patch)
treee761e22618154cf1fd5f732d17cd9c47dab3806e
parent28913582e8706751c365206647f58683a024b741 (diff)
Better fallback method for autosystemname.
Issue 9713, patch by Juggie with minor mods by me. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@64012 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--Makefile2
-rw-r--r--main/asterisk.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index ae4b0464c..aa7de5aa7 100644
--- a/Makefile
+++ b/Makefile
@@ -545,7 +545,7 @@ samples: adsi
echo ";[options]" ; \
echo ";internal_timing = yes" ; \
echo ";systemname = my_system_name ; prefix uniqueid with a system name for global uniqueness issues" ; \
- echo ";autosystemname = yes ; automatically set systemname to hostname - uses 'localhost' on failure" ; \
+ echo ";autosystemname = yes ; automatically set systemname to hostname - uses 'localhost' on failure, or systemname if set" ; \
echo "; Changing the following lines may compromise your security." ; \
echo ";[files]" ; \
echo ";astctlpermissions = 0660" ; \
diff --git a/main/asterisk.c b/main/asterisk.c
index c44e2cbd6..a8dd93d75 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -2529,8 +2529,10 @@ static void ast_readconfig(void)
if (!gethostname(hostname, sizeof(hostname) - 1))
ast_copy_string(ast_config_AST_SYSTEM_NAME, hostname, sizeof(ast_config_AST_SYSTEM_NAME));
else {
- ast_log(LOG_ERROR, "Cannot obtain hostname for this system. Using 'localhost' instead.\n");
- ast_copy_string(ast_config_AST_SYSTEM_NAME, "localhost", sizeof(ast_config_AST_SYSTEM_NAME));
+ if (!ast_strlen_zero(ast_config_AST_SYSTEM_NAME)){
+ ast_copy_string(ast_config_AST_SYSTEM_NAME, "localhost", sizeof(ast_config_AST_SYSTEM_NAME));
+ }
+ ast_log(LOG_ERROR, "Cannot obtain hostname for this system. Using '%s' instead.\n", ast_config_AST_SYSTEM_NAME);
}
}
} else if (!strcasecmp(v->name, "languageprefix")) {