From d7e09f233f0725efc23099c53cb23ddaca6cec5b Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Tue, 12 Jul 2005 02:19:41 +0000 Subject: 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 --- acl.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'acl.c') diff --git a/acl.c b/acl.c index 85abe84f7..cf695474f 100755 --- a/acl.c +++ b/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); -- cgit v1.2.3