allow explicit source address/port selection for peers (bug #4257, with minor mods)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin P. Fleming
2005-07-12 02:19:41 +00:00
parent b06daf5859
commit d7e09f233f
3 changed files with 106 additions and 0 deletions

16
acl.c
View File

@@ -372,6 +372,22 @@ int ast_netsock_release(struct ast_netsock_list *list)
return 0;
}
struct ast_netsock *ast_netsock_find(struct ast_netsock_list *list,
struct sockaddr_in *sa)
{
struct ast_netsock *sock = NULL;
ASTOBJ_CONTAINER_TRAVERSE(list, !sock, {
ASTOBJ_RDLOCK(iterator);
if (!inaddrcmp(&iterator->bindaddr, sa))
sock = iterator;
ASTOBJ_UNLOCK(iterator);
});
return sock;
}
const struct sockaddr_in *ast_netsock_boundaddr(struct ast_netsock *ns)
{
return &(ns->bindaddr);