mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-20 00:30:20 +00:00
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:
16
acl.c
16
acl.c
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user