From 6a10570614af776cd401503b5b1069c98c7fda26 Mon Sep 17 00:00:00 2001 From: Matt O'Gorman Date: Wed, 1 Nov 2006 20:35:41 +0000 Subject: [PATCH] bind address support from bug 8164 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46822 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_gtalk.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c index 5c40a55a95..a3588a97d7 100644 --- a/channels/chan_gtalk.c +++ b/channels/chan_gtalk.c @@ -1658,6 +1658,8 @@ static int gtalk_load_config(void) struct ast_codec_pref prefs; struct aji_client_container *clients; struct gtalk_candidate *global_candidates = NULL; + struct hostent *hp; + struct ast_hostent ahp; cfg = ast_config_load(GOOGLE_CONFIG); if (!cfg) @@ -1681,6 +1683,13 @@ static int gtalk_load_config(void) ast_parse_allow_disallow(&prefs, &global_capability, var->value, 1); else if (!strcasecmp(var->name, "context")) ast_copy_string(context, var->value, sizeof(context)); + else if (!strcasecmp(var->name, "bindaddr")) { + if (!(hp = ast_gethostbyname(var->value, &ahp))) { + ast_log(LOG_WARNING, "Invalid address: %s\n", var->value); + } else { + memcpy(&bindaddr.sin_addr, hp->h_addr, sizeof(bindaddr.sin_addr)); + } + } /* Idea to allow for custom candidates */ /* else if (!strcasecmp(var->name, "candidate")) {