[Asterisk-cvs] asterisk/channels chan_sip.c,1.648,1.649
markster at lists.digium.com
markster at lists.digium.com
Tue Feb 8 21:22:23 CST 2005
Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv21776/channels
Modified Files:
chan_sip.c
Log Message:
Handle DNS failures on startup more gracefully (bug #3086)
Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.648
retrieving revision 1.649
diff -u -d -r1.648 -r1.649
--- chan_sip.c 7 Feb 2005 14:56:43 -0000 1.648
+++ chan_sip.c 9 Feb 2005 03:22:41 -0000 1.649
@@ -191,7 +191,6 @@
static int global_capability = AST_FORMAT_ULAW | AST_FORMAT_ALAW | AST_FORMAT_GSM | AST_FORMAT_H263;
static int noncodeccapability = AST_RTP_DTMF;
-static char ourhost[256];
static struct in_addr __ourip;
static struct sockaddr_in outboundproxyip;
static int ourport;
@@ -9059,10 +9058,6 @@
char iabuf[INET_ADDRSTRLEN];
struct ast_flags dummy;
- if (gethostname(ourhost, sizeof(ourhost))) {
- ast_log(LOG_WARNING, "Unable to get hostname, SIP disabled\n");
- return 0;
- }
cfg = ast_config_load(config);
/* We *must* have a config file otherwise stop immediately */
@@ -9297,20 +9292,9 @@
}
cat = ast_category_browse(cfg, cat);
}
-
- /* Find our IP address */
- if (ntohl(bindaddr.sin_addr.s_addr)) {
- memcpy(&__ourip, &bindaddr.sin_addr, sizeof(__ourip));
- } else {
- hp = ast_gethostbyname(ourhost, &ahp);
- if (!hp) {
- ast_log(LOG_WARNING, "Unable to get IP address for %s, SIP disabled\n", ourhost);
- if (!__ourip.s_addr) {
- ast_config_destroy(cfg);
- return 0;
- }
- } else
- memcpy(&__ourip, hp->h_addr, sizeof(__ourip));
+ if (ast_find_ourip(&__ourip, bindaddr)) {
+ ast_log(LOG_WARNING, "Unable to get own IP address, SIP disabled\n");
+ return 0;
}
if (!ntohs(bindaddr.sin_port))
bindaddr.sin_port = ntohs(DEFAULT_SIP_PORT);
More information about the svn-commits
mailing list