summaryrefslogtreecommitdiff
path: root/main/udptl.c
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2014-01-30 20:36:21 +0000
committerCorey Farrell <git@cfware.com>2014-01-30 20:36:21 +0000
commitc35d07950f3753e018be76e88c70319a172bc89d (patch)
treef907d9282985dc52858501c518427c9a8b65726e /main/udptl.c
parent98de7719ddd27ffae5b74c29b1b1dddc7c74c70c (diff)
res_rtp_asterisk & udptl: fix port selection to work with SELinux restrictions
ast_bind to a port reserved for another program by SELinux causes errno == EACCES. This caused random failures when binding rtp or udptl sockets. Treat EACCES as a non-fatal error, try next port. (closes issue ASTERISK-23134) Reported by: Corey Farrell ........ Merged revisions 406933 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 406934 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 406935 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@406936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/udptl.c')
-rw-r--r--main/udptl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/udptl.c b/main/udptl.c
index dac350e3b..acbb4d78e 100644
--- a/main/udptl.c
+++ b/main/udptl.c
@@ -1051,7 +1051,7 @@ struct ast_udptl *ast_udptl_new_with_bindaddr(struct ast_sched_context *sched, s
if (ast_bind(udptl->fd, &udptl->us) == 0) {
break;
}
- if (errno != EADDRINUSE) {
+ if (errno != EADDRINUSE && errno != EACCES) {
ast_log(LOG_WARNING, "Unexpected bind error: %s\n", strerror(errno));
close(udptl->fd);
ast_free(udptl);