diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-07-12 02:19:41 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-07-12 02:19:41 +0000 |
commit | d7e09f233f0725efc23099c53cb23ddaca6cec5b (patch) | |
tree | 9dd27b31dcb3d9292ecd9b24aeab42daa35974ab /acl.c | |
parent | b06daf5859508a2740bc03a748cb57ae3c01d122 (diff) |
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
Diffstat (limited to 'acl.c')
-rwxr-xr-x | acl.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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); |