From: Automerge script Date: Thu, 17 Jan 2013 03:20:22 +0000 (+0000) Subject: Merged revisions 379344 via svnmerge from X-Git-Tag: 13.0.0-beta1~2194^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=299f913928d34600a777b59211d125d2b0b53a6b;p=thirdparty%2Fasterisk.git Merged revisions 379344 via svnmerge from file:///srv/subversion/repos/asterisk/trunk ................ r379344 | mjordan | 2013-01-16 20:32:34 -0600 (Wed, 16 Jan 2013) | 23 lines Fix issue where chan_mobile fails to bind to first available port Per the bluez API, in order to bind to the first available port, the rc_channel field of the socket addressing structure used to bind the socket should be set to 0. Previously, Asterisk had set the rc_channel field set to 1, causing it to connect to whatever happens to be on port 1. We could probably not explicitly set rc_channel to 0 since we memset the struct earlier, but explicitly setting it will hopefully prevent someone from coming in and setting it to some explicit port in the future. (closes issue ASTERISK-16357) Reported by: challado Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin, eliafino, David van Geyn patches: ASTERISK-16357.diff uploaded by Nikolay Ilduganov (license 6253) ........ Merged revisions 379342 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 379343 from http://svn.asterisk.org/svn/asterisk/branches/11 ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379353 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/addons/chan_mobile.c b/addons/chan_mobile.c index 7a60a4cb61..26e4abd7d8 100644 --- a/addons/chan_mobile.c +++ b/addons/chan_mobile.c @@ -1389,7 +1389,7 @@ static int rfcomm_connect(bdaddr_t src, bdaddr_t dst, int remote_channel) memset(&addr, 0, sizeof(addr)); addr.rc_family = AF_BLUETOOTH; bacpy(&addr.rc_bdaddr, &src); - addr.rc_channel = (uint8_t) 1; + addr.rc_channel = (uint8_t) 0; if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { ast_debug(1, "bind() failed (%d).\n", errno); close(s);