summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2012-08-21 13:04:10 +0000
committerPacho Ramos <pacho@gentoo.org>2012-08-21 13:04:10 +0000
commita8cfa01d1b04ce2443c52dbf700d68a1d4103bf8 (patch)
tree2842d60d0bfc7c2c2f1df7e6cf6d1492c8caee82 /net-wireless
parentadded app-admin/busybox-sysklogd. (diff)
downloadhistorical-a8cfa01d1b04ce2443c52dbf700d68a1d4103bf8.tar.gz
historical-a8cfa01d1b04ce2443c52dbf700d68a1d4103bf8.tar.bz2
historical-a8cfa01d1b04ce2443c52dbf700d68a1d4103bf8.zip
Include some upstream fixes for networking, this also solves PAN connection allowing it to work with NetworkManager again (and allowing me to commit this ;)) without getting 'Error connecting with bluez: Method Connect with signature s on interface org.bluez.Network doesn't exist'.
Package-Manager: portage-2.1.11.10/cvs/Linux x86_64
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/bluez/ChangeLog12
-rw-r--r--net-wireless/bluez/Manifest17
-rw-r--r--net-wireless/bluez/bluez-4.101-r3.ebuild176
-rw-r--r--net-wireless/bluez/files/bluez-4.101-network1.patch48
-rw-r--r--net-wireless/bluez/files/bluez-4.101-network2.patch17
-rw-r--r--net-wireless/bluez/files/bluez-4.101-network3.patch34
-rw-r--r--net-wireless/bluez/files/bluez-4.101-network4.patch84
7 files changed, 379 insertions, 9 deletions
diff --git a/net-wireless/bluez/ChangeLog b/net-wireless/bluez/ChangeLog
index 5a294b8d0f2f..c935b8387833 100644
--- a/net-wireless/bluez/ChangeLog
+++ b/net-wireless/bluez/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for net-wireless/bluez
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/ChangeLog,v 1.141 2012/08/10 08:48:24 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/ChangeLog,v 1.142 2012/08/21 13:04:10 pacho Exp $
+
+*bluez-4.101-r3 (21 Aug 2012)
+
+ 21 Aug 2012; Pacho Ramos <pacho@gentoo.org> +bluez-4.101-r3.ebuild,
+ +files/bluez-4.101-network1.patch, +files/bluez-4.101-network2.patch,
+ +files/bluez-4.101-network3.patch, +files/bluez-4.101-network4.patch:
+ Include some upstream fixes for networking, this also solves PAN connection
+ allowing it to work with NetworkManager again (and allowing me to commit this
+ ;)) without getting 'Error connecting with bluez: Method Connect with
+ signature s on interface org.bluez.Network doesn't exist'.
*bluez-4.101-r2 (10 Aug 2012)
diff --git a/net-wireless/bluez/Manifest b/net-wireless/bluez/Manifest
index 2fea7266d55c..104e58c71d0c 100644
--- a/net-wireless/bluez/Manifest
+++ b/net-wireless/bluez/Manifest
@@ -5,6 +5,10 @@ AUX bluetooth-conf.d 181 SHA256 63a96c907996158f637abc3202235b81e7c8a998df487b3e
AUX bluetooth-init.d 767 SHA256 38efb9dffaab70477f7525dd6657dffc725c61e29c05b0649e95c31f589b31ce SHA512 bb6d9f96d5ad6658d9a0840d81979b95827c74b3f387696ad8534bb70261eafb2c3a34cfcb5fc74bd716b9083b5ea206362130c54b858d3b91471d03594978cd WHIRLPOOL 6f0c6dd05afc15be5f9cf14de69107237d2dc20c1d5c05e0430350de5e7d262b33d36cfe6556aacb2a780339a71db282bd9a92e01312e21fab1342839de893a5
AUX bluetooth-init.d-r1 454 SHA256 04de6c5bd2d2c702b0e27d7b379a284643cf2f5a03f3c5e3eaf1ac728d47b886 SHA512 2be96edb29506d4a78a2f995ce816b4b3f8ca57ff1b8bd12f1b00a0fa30510758e35a1b8f305e5e8d7c3b059aa807785f8559ec5e3fa41628cc80f07c0a759ca WHIRLPOOL d21ad0696dae9980ccdeb2820c5a7b853494d82e08ac672ce62e2b7787f95e47ec16d8b0270039e2f4d0f4ad8dc0b3ca8aeee3e43b01a3ae61c690c098ac5ae6
AUX bluetooth-init.d-r2 532 SHA256 cd8cc3763601470328709c961b0c68a311f6d4af302d46a880fb855ed9d04efe SHA512 a1a391ac545d69aa15a1f98349e68b06b3468759acef95ea82d7cdec58ba40c3d03bda87e0279d186440c84ea940ae09d075269f6cb6b27cf2ca1f2a329e842b WHIRLPOOL ae6b78b8f8d56a567a2d80693366ebc319447267345db373e3b01dcf2c58078cf1615529589f3c3fb1237f7c617583639f3ae501018d11a8eaf68186938bddd2
+AUX bluez-4.101-network1.patch 1804 SHA256 3f4fe91ad4b30ccaf99290daffee5b6ef567252778c947a76a94814cd428e83b SHA512 6cbefa921a6aa8fde48171f6163c30289d0c069f3418207c52e9652e07bae19b8437534dcbf559c9564cab17af71db94424f49c49049df4a5ade714090117a5d WHIRLPOOL d9a42216dfa59b7916d9d045481e4dc9427a663c4306ff866f62af8cecaf3bea04960049bf3b5834fdc847241c1725b9fa6d2a13f521eb2e41b64d364ca895f0
+AUX bluez-4.101-network2.patch 813 SHA256 48a50ce8249f80cb8c47df6006d80e9a0ad84be7d2db34a29152e909118d44c2 SHA512 1d4689d57b48cacc0ef706683ebb6699b816bc70973e18c282efae45beb41b138f96e28b9e1c8732fa488d4b2502640abc35ba73d9581762cbce58b0efa588a1 WHIRLPOOL d3c527ca8613aa93bc82184f3dd751ec69b7354bd103fce50337b51502c851a7fb780f19cbc1d5cfa79b169847def7ee63dc523e9d10774eaa4f7028a45e01c4
+AUX bluez-4.101-network3.patch 877 SHA256 2b7ca0ac1bde85ff2fc627c2f89b2b65aaa33c4faad94179f6e852abfba76fb8 SHA512 4aa9e742e6063b8cb4130b13b398db03d4d75f7a184cd4182e32c4e6853a517ad051cc1a051e61c0bb1ee8d3d46a67c5d63d79447a4ee08da82e9ad924cf0b9b WHIRLPOOL 370aacea58edd65d0e766c71169515ec955dc8e2faaf9f9c4e1e299d847a8ed03bcd9d77345c53c1f93d18d194f6c5ea3a47b27b7eccb49c34774dc18aefdd94
+AUX bluez-4.101-network4.patch 3002 SHA256 e942b805f73f283eaec153ada1f462deb1fcdfaef4543f449f7c08ffbc82d6e9 SHA512 4de8714689eb53b4fa8e80f0070fd7c8077c4388766434a7d046252d6667455945344a6522a5803d70be3905368a05b332fc302148c20abb21a646e05539d1ef WHIRLPOOL 16aa66ab50695f9e86f1b836f3cf8d272e8a6c07df4dab30e2606942e6a09e2766a854d741331de5d11e741579c7af674b3609cb2a17340b0066885bad012462
AUX bluez-4.18-udev.rules 228 SHA256 7577c2ed295b67f960f17ac65a44889c6536c125b34e33860d6d9f128a59fa82 SHA512 7a3ce3e3ecfd013eaa9ea9116461b5ef9e6bf7fa695ccc68943fda2d4380ec79f550fbb4f4adc021ea6aad077466ff5d88849303a6cade4f1df041572a0c697e WHIRLPOOL 8749238ba9585a1f4098e13db8d3836d11067bd2149f451ed4a4f37e3d7179ea38bd530df2f83347ff36267640d14ca82b58f3dd0843e19f4a42534f71c4f228
AUX bluez-4.18-udev.script 752 SHA256 cb41a4eeea5137fb27d82d74f34e5e7dd725ddf8442c39ea623afe0d3c041fcf SHA512 b6f32f3034b99787f341906a14a143dc2805ae9ec67464e9c483f0670082951c40c569c7184eaabdaa97f753f4d6ac988e49049c621b2fedc77a82450baa3816 WHIRLPOOL c69be4f6568a2d21b441e5f766311115fbfb169c9862acff86a530996e84f2efdf221e6223ad9ca1091a6c1b0a8de4cdeae97bf2985ce0ea751388cf0335152c
AUX bluez-4.67-udev.script 663 SHA256 9b134049b1c46fc57a497733a8dec8e354bfdc4186152fe739ae18abde702f24 SHA512 7d071fa872fca3a39fcbc6ad36f9e5b1c803de2b90f4d09feec818d2da84a0a594bb5572ce6803e5043228abfac9c43e8836e4edc31cb73c6a19121f07cdbbfd WHIRLPOOL 8212ab2d343cf044db35fefe5823772cfe991277c73130350ca45a700e4223445a1dd7bd15aa23a797c1cd72d9d6d31527a474753b17c86aebb20a4df94ebac0
@@ -25,18 +29,15 @@ DIST oui-20120308.txt.xz 546720 SHA256 4256ba96a522333a41fd058e1880a04f77566c9ad
DIST oui-20120623.txt.xz 561880 SHA256 94843e51cf957a2da36869e0df1ff95c929694e9624e18416dfbfd10eb0af4e6 SHA512 ca87986c9c9f489ec0ba4f5bcb35260caf3a0b121c1433d57e9f8d564d8775def7215f90de63a7464ed57ce284c7b850451d69712ed151c1965ea3a9bccdfabe WHIRLPOOL 55c8484a723b6ce0e0166a798650c3cf630fda007aadaddb727605306b412cb420a6bb2aef13d3bb05affbda6b98725955706b4f998e6d22d45e4c6074f57421
EBUILD bluez-4.101-r1.ebuild 4482 SHA256 a6a2291d478e3607e926ef23ecd34d7bb5e052e99be6cc123d1bd05f51f1ae38 SHA512 2392bb6746e12e1aa48ee72f1178f98b2d183bca70741ba9022c33ea4aee191ee817cb512dcfc2b47ade720009ffa3d099ebcb7e38f9421ba79efd4d09364848 WHIRLPOOL 4a7ae7019bbef7f9f1fe30c7c65f1f99cfd40a6db0e448b9bb771ec9a77e0b79f7c1266a7ad8d090a1b9bb5e0cccb21815ccf42d70b8bcebc5480d11a0cf4b79
EBUILD bluez-4.101-r2.ebuild 4486 SHA256 3a2fcf1beb398f2413785d69a1755ee77406e0005f8c54a2d5b3001e344b2824 SHA512 4b516c0f48834450e9f483ebe9cdd8a3b2fdf984a63b2f795fb114672b8093b5bb9dc2cfc5fd6e63c20033abd00c3f0d9e3830361eff1828f6efb61a6c679760 WHIRLPOOL 9701bd0f1001eec6d8350d0133bcf04db5a43994b8808c2b25af6cde2e6ba26270f7999315aadb948f7e2efb21c192e3fb1ff2ab23a6acb8de8c931fddbbfd50
+EBUILD bluez-4.101-r3.ebuild 4560 SHA256 fcea5636e6726099c60500bb6b36eeea4172481e948545b29692fd296d70420d SHA512 d29042388a99c535c7c670feb4a846872b29e4fa52ce1c816086eaa744a0ba2a5513cc3351a094e3870aba7701d5c32e00635d47b3c84729994df0afd140a3fe WHIRLPOOL fd1117937675f95d67f6b1c2d02829fe777ad2fc96b92a32d0324d13fc87eb3f6e44bb7d5e6ef0e401678d554ebfc7ca1a2c6546c96a5b5c4448f072814b9082
EBUILD bluez-4.98-r2.ebuild 4880 SHA256 5133e48830fc8df8c0fdf29cfb6d18d96814192562b7f55d720a95f8f235f642 SHA512 c3a7906988c003ce83caa0fe4c91826a82a74d7501925a36e44cf66cade2fb92400188c4f51c40ef6fff3428ff6208e83789164aeafecad54e19ec979849ad1c WHIRLPOOL 2088d2d138c109f4e5942e4353ff8d65c7a0b20dbe17ce702cf3e876b7f9c76abed111199c226f3490ab7e24bf43be80be80fc0b5bb6beed93684aeb4f34566e
EBUILD bluez-4.99.ebuild 4677 SHA256 d8549df76210e92db4c2c99a9818f91f0ae7a59d08de5f6a081f46a382cea461 SHA512 ac47e70009cb7c697395b7be70e10fff28fc0e0170282c22b30c3227b75f53c6b1f11e2bf6375ad2f2f2cc31c2f5dc1af45c2827278ae55f5f86c0c28cb7017a WHIRLPOOL a0522e0862894e8b26a49324ba2aba15fd972531718c2c13e2c69cd8c4f151620499db7a7a17467af21ac6f920621de397ca3e57bbca846085e1e577e73ec797
-MISC ChangeLog 27312 SHA256 cb6db72d26da8cd6fba789a357ad03031368d1a6f6cbb6e8547cebcc412fa860 SHA512 823fd0679b4b8b7236fbb86c9ccdee0e254367550552be04747c34bcc42122ffcbfccddf2f95f31ece6cf493e22213b4650ec0cec63a9f30e5a75346f70e41fb WHIRLPOOL c498691b447d446ea411b21465c61639c04354535db856fafe9a192679f5e5ba8436a218f948b93480da2d294c8d7661cb32eb9c4f0fd7bae9aa4b9f2f06a992
+MISC ChangeLog 27845 SHA256 1d332876b106ddab7e30610a7cdb7f4f075ecd55cfea3a8a022d6b2f9ede4a58 SHA512 cfd4115c9f55601434e98590d9b362a6de29a01bffe090dc7dc92853bcaf0a0c5206b99419ad056a12d6ad94b26d979520bc5aee21b4a1fb850cd4f65c00cc17 WHIRLPOOL 4245c0bf184bf6c4fb288401db44233860f87fa81d2b35d4e31bcf5a09b357c3f0895db1f77fd238fa1bee251f9859d19a6d265757509ae6ffafaa0b91f592d9
MISC metadata.xml 709 SHA256 52aaf883d4e036328b559eb5c09e51401573cc8ad95c4e7cef659a8152af420b SHA512 e000db32d1255e399114b425278761109fa954c4712e13176c8bbab2750d7ef9813703118fcff03fbfcfcd25c189f73b436bd8aa50b3e9c2da02d31a30a7d079 WHIRLPOOL ae5ea0cf34cc19463f4eb6bf997a52f89bf48df962b6c5e4546120b0854ef7791f9bc85827424461ab1764b8d54b71ad025314c2413318c4e6d90de819179f98
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQEcBAEBCAAGBQJQJMrDAAoJEEdUh39IaPFNRA0H+weHSF5zejhGfMiKdqlRNTJU
-R8N6EdA69+IaNFyNmvtnR7ZnkD59mXVsP2j2I6dYrGLerE6762Ye5nenCWtn0QB4
-2R37GSF7cXYhW//Qc4x1OfHsoPEDnV8RlTektXZ+ZVq76TrdP2aHsZwla6YxAcYj
-pru/3q7ZInsKk27xGHugNom5GLRULMl3CT+DE3BLUkdDG0X10Rkp5oY76D9MjgZD
-dhwohmSWaYmHDgWDCdWr3bfDCHW9uxefw2wHhrz3Y7X3/KpnbJN0ntwBN9LAok+v
-6LwWxLT8SerS+LOKFVjvIUQVAQGJL3++nMfRMC1FmA5F47423x6nks5BtPxU6Os=
-=seF0
+iEYEAREIAAYFAlAzh1IACgkQCaWpQKGI+9S4kQCfXvVpbU/jMWxa0Mp5Jg+sjnDK
+hfEAn29ySpoBSI8BVP9bwU9Av28pkmvW
+=SJK/
-----END PGP SIGNATURE-----
diff --git a/net-wireless/bluez/bluez-4.101-r3.ebuild b/net-wireless/bluez/bluez-4.101-r3.ebuild
new file mode 100644
index 000000000000..f1437f20f2f2
--- /dev/null
+++ b/net-wireless/bluez/bluez-4.101-r3.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/bluez-4.101-r3.ebuild,v 1.1 2012/08/21 13:04:10 pacho Exp $
+
+EAPI="4"
+PYTHON_DEPEND="test-programs? 2"
+
+inherit multilib eutils systemd python user
+
+DESCRIPTION="Bluetooth Tools and System Daemons for Linux"
+HOMEPAGE="http://www.bluez.org/"
+
+# Because of oui.txt changing from time to time without noticement, we need to supply it
+# ourselves instead of using http://standards.ieee.org/regauth/oui/oui.txt directly.
+# See bugs #345263 and #349473 for reference.
+OUIDATE="20120623"
+SRC_URI="mirror://kernel/linux/bluetooth/${P}.tar.xz
+ http://dev.gentoo.org/~pacho/bluez/oui-${OUIDATE}.txt.xz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+IUSE="alsa +consolekit cups debug gstreamer selinux pcmcia test-programs usb readline"
+
+CDEPEND="
+ >=dev-libs/glib-2.28:2
+ >=sys-apps/dbus-1.4
+ >=sys-fs/udev-169
+ alsa? (
+ media-libs/alsa-lib[alsa_pcm_plugins_extplug(+),alsa_pcm_plugins_ioplug(+)]
+ media-libs/libsndfile
+ )
+ cups? ( net-print/cups )
+ gstreamer? (
+ >=media-libs/gstreamer-0.10:0.10
+ >=media-libs/gst-plugins-base-0.10:0.10
+ )
+ selinux? ( sec-policy/selinux-bluetooth )
+ usb? ( virtual/libusb:0 )
+ readline? ( sys-libs/readline )
+"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ sys-devel/flex
+ test-programs? ( >=dev-libs/check-0.9.6 )
+"
+RDEPEND="${CDEPEND}
+ !net-wireless/bluez-libs
+ !net-wireless/bluez-utils
+ consolekit? (
+ || ( sys-auth/consolekit
+ >=sys-apps/systemd-37 )
+ )
+ test-programs? (
+ dev-python/dbus-python
+ dev-python/pygobject:2
+ )
+"
+
+DOCS=( AUTHORS ChangeLog README )
+
+pkg_setup() {
+ if ! use consolekit; then
+ enewgroup plugdev
+ fi
+
+ if use test-programs; then
+ python_pkg_setup
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-network{1,2,3,4}.patch
+
+ if ! use consolekit; then
+ # No consolekit for at_console etc, so we grant plugdev the rights
+ epatch "${FILESDIR}/bluez-plugdev.patch"
+ fi
+
+ if use cups; then
+ sed -i \
+ -e "s:cupsdir = \$(libdir)/cups:cupsdir = `cups-config --serverbin`:" \
+ Makefile.tools Makefile.in || die
+ fi
+}
+
+src_configure() {
+ use readline || export ac_cv_header_readline_readline_h=no
+
+ econf \
+ --disable-silent-rules \
+ --enable-hid2hci \
+ --enable-audio \
+ --enable-bccmd \
+ --enable-datafiles \
+ --enable-dfutool \
+ --enable-input \
+ --enable-network \
+ --enable-serial \
+ --enable-service \
+ --enable-tools \
+ --disable-hal \
+ --localstatedir=/var \
+ --with-systemdunitdir="$(systemd_get_unitdir)" \
+ $(use_enable alsa) \
+ $(use_enable cups) \
+ $(use_enable debug) \
+ $(use_enable gstreamer) \
+ $(use_enable pcmcia) \
+ $(use_enable test-programs test) \
+ $(use_enable usb) \
+ --enable-health \
+ --enable-maemo6 \
+ --enable-pnat \
+ --enable-wiimote
+}
+
+src_install() {
+ default
+
+ if use test-programs ; then
+ cd "${S}/test"
+ dobin simple-agent simple-service monitor-bluetooth
+ newbin list-devices list-bluetooth-devices
+ rm test-textfile.{c,o} || die # bug #356529
+ for b in hsmicro hsplay test-* ; do
+ newbin "${b}" "bluez-${b}"
+ done
+ insinto /usr/share/doc/${PF}/test-services
+ doins service-*
+
+ python_convert_shebangs -r 2 "${ED}"
+ cd "${S}"
+ fi
+
+ insinto /etc/bluetooth
+ doins \
+ input/input.conf \
+ audio/audio.conf \
+ network/network.conf \
+ serial/serial.conf
+
+ newinitd "${FILESDIR}/bluetooth-init.d-r2" bluetooth
+ newinitd "${FILESDIR}/rfcomm-init.d" rfcomm
+ newconfd "${FILESDIR}/rfcomm-conf.d" rfcomm
+
+ # Install oui.txt as requested in bug #283791 and approved by upstream
+ insinto /var/lib/misc
+ newins "${WORKDIR}/oui-${OUIDATE}.txt" oui.txt
+
+ prune_libtool_files --all
+}
+
+pkg_postinst() {
+ udevadm control --reload-rules
+
+ if ! has_version "net-dialup/ppp"; then
+ elog "To use dial up networking you must install net-dialup/ppp."
+ fi
+
+ if use consolekit; then
+ elog "If you want to use rfcomm as a normal user, you need to add the user"
+ elog "to the uucp group."
+ else
+ elog "Since you have the consolekit use flag disabled, you will only be able to run"
+ elog "bluetooth clients as root. If you want to be able to run bluetooth clientes as "
+ elog "a regular user, you need to enable the consolekit use flag for this package or"
+ elog "to add the user to the plugdev group."
+ fi
+
+ if [ "$(rc-config list default | grep bluetooth)" = "" ] ; then
+ elog "You will need to add bluetooth service to default runlevel"
+ elog "for getting your devices detected. For that please run:"
+ elog "'rc-update add bluetooth default'"
+ fi
+}
diff --git a/net-wireless/bluez/files/bluez-4.101-network1.patch b/net-wireless/bluez/files/bluez-4.101-network1.patch
new file mode 100644
index 000000000000..cf75d07bfe5f
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-4.101-network1.patch
@@ -0,0 +1,48 @@
+X-Git-Url: http://git.kernel.org/?p=bluetooth%2Fbluez.git;a=blobdiff_plain;f=profiles%2Fnetwork%2Fserver.c;h=8ae608cdb6e699ad78cd7476e26c60f8883a214f;hp=480c7e2c5f6ab1cc7c494a3bcc37d1a0026a0ce4;hb=2b44cd2fba6e9a8590f30e68db0f6b92e8fcdb94;hpb=04be4fe0c0126f8816d55a7d3a8ff9e6dd27f73f
+
+diff --git a/profiles/network/server.c b/profiles/network/server.c
+index 480c7e2..8ae608c 100644
+--- a/profiles/network/server.c
++++ b/profiles/network/server.c
+@@ -301,7 +301,10 @@ static uint16_t bnep_setup_chk(uint16_t dst_role, uint16_t src_role)
+ static uint16_t bnep_setup_decode(struct bnep_setup_conn_req *req,
+ uint16_t *dst_role, uint16_t *src_role)
+ {
++ const uint8_t bt_base[] = { 0x00, 0x00, 0x10, 0x00, 0x80, 0x00,
++ 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB };
+ uint8_t *dest, *source;
++ uint32_t val;
+
+ dest = req->service;
+ source = req->service + req->uuid_size;
+@@ -311,10 +314,27 @@ static uint16_t bnep_setup_decode(struct bnep_setup_conn_req *req,
+ *dst_role = bt_get_be16(dest);
+ *src_role = bt_get_be16(source);
+ break;
+- case 4: /* UUID32 */
+ case 16: /* UUID128 */
+- *dst_role = bt_get_be32(dest);
+- *src_role = bt_get_be32(source);
++ /* Check that the bytes in the UUID, except the service ID
++ * itself, are correct. The service ID is checked in
++ * bnep_setup_chk(). */
++ if (memcmp(&dest[4], bt_base, sizeof(bt_base)) != 0)
++ return BNEP_CONN_INVALID_DST;
++ if (memcmp(&source[4], bt_base, sizeof(bt_base)) != 0)
++ return BNEP_CONN_INVALID_SRC;
++
++ /* Intentional no-break */
++
++ case 4: /* UUID32 */
++ val = bt_get_be32(dest);
++ if (val > 0xffff)
++ return BNEP_CONN_INVALID_DST;
++ *dst_role = val;
++
++ val = bt_get_be32(source);
++ if (val > 0xffff)
++ return BNEP_CONN_INVALID_SRC;
++ *src_role = val;
+ break;
+ default:
+ return BNEP_CONN_INVALID_SVC;
diff --git a/net-wireless/bluez/files/bluez-4.101-network2.patch b/net-wireless/bluez/files/bluez-4.101-network2.patch
new file mode 100644
index 000000000000..807eb1912b96
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-4.101-network2.patch
@@ -0,0 +1,17 @@
+X-Git-Url: http://git.kernel.org/?p=bluetooth%2Fbluez.git;a=blobdiff_plain;f=network%2Fconnection.c;h=59423a900b2fba9ec99115dec421a3113bc2d834;hp=544ec3a9c643bc8fada6d683d428a8165a4b052f;hb=57170b311f1468330f4a9961dc0b3ac45f97bc13;hpb=c1d662075288d475ee6e1740d39ac84fe806542a
+
+diff --git a/network/connection.c b/network/connection.c
+index 544ec3a..59423a9 100644
+--- a/network/connection.c
++++ b/network/connection.c
+@@ -554,7 +554,9 @@ static void path_unregister(void *data)
+
+ static const GDBusMethodTable connection_methods[] = {
+ { GDBUS_ASYNC_METHOD("Connect",
+- NULL, NULL, connection_connect) },
++ GDBUS_ARGS({"uuid", "s"}),
++ GDBUS_ARGS({"interface", "s"}),
++ connection_connect) },
+ { GDBUS_METHOD("Disconnect",
+ NULL, NULL, connection_disconnect) },
+ { GDBUS_METHOD("GetProperties",
diff --git a/net-wireless/bluez/files/bluez-4.101-network3.patch b/net-wireless/bluez/files/bluez-4.101-network3.patch
new file mode 100644
index 000000000000..7f9afb01c78a
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-4.101-network3.patch
@@ -0,0 +1,34 @@
+From b57c64f1aa5c51dd785f2572636b8c41ada06d72 Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Tue, 30 Aug 2011 15:10:46 +0200
+Subject: [PATCH 1/1] network: NULL dereference fix
+
+Variable ifindex dereferenced on line 242 before null check on line 249.
+---
+ network/common.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/network/common.c b/network/common.c
+index 4704072..a223685 100644
+--- a/network/common.c
++++ b/network/common.c
+@@ -240,13 +240,15 @@ int bnep_if_down(const char *devname)
+
+ int bnep_add_to_bridge(const char *devname, const char *bridge)
+ {
+- int ifindex = if_nametoindex(devname);
++ int ifindex;
+ struct ifreq ifr;
+ int sk, err;
+
+ if (!devname || !bridge)
+ return -EINVAL;
+
++ ifindex = if_nametoindex(devname);
++
+ sk = socket(AF_INET, SOCK_STREAM, 0);
+ if (sk < 0)
+ return -1;
+--
+1.7.7.6
+
diff --git a/net-wireless/bluez/files/bluez-4.101-network4.patch b/net-wireless/bluez/files/bluez-4.101-network4.patch
new file mode 100644
index 000000000000..a1166fa4e7af
--- /dev/null
+++ b/net-wireless/bluez/files/bluez-4.101-network4.patch
@@ -0,0 +1,84 @@
+From a66a557038c0e3d21bc4f14090efb497558a12be Mon Sep 17 00:00:00 2001
+From: Lucas De Marchi <lucas.demarchi@profusion.mobi>
+Date: Tue, 26 Jun 2012 18:11:25 -0300
+Subject: [PATCH 1/1] Fix GDBus flags after conversion to macros
+
+Commit "aa3b9016bf444b60e1b7e1804dfc323a23a93c5a Convert GDBus methods
+to use macro helpers" converted the previous tables to use the new
+macros but some flags were lost.
+---
+ attrib/client.c | 2 +-
+ audio/control.c | 2 +-
+ audio/headset.c | 2 +-
+ audio/transport.c | 2 +-
+ src/manager.c | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/attrib/client.c b/attrib/client.c
+index 8d119df..b3e3abe 100644
+--- a/attrib/client.c
++++ b/attrib/client.c
+@@ -519,7 +519,7 @@ static const GDBusMethodTable char_methods[] = {
+ { GDBUS_METHOD("GetProperties",
+ NULL, GDBUS_ARGS({ "properties", "a{sv}" }),
+ get_properties) },
+- { GDBUS_METHOD("SetProperty",
++ { GDBUS_ASYNC_METHOD("SetProperty",
+ GDBUS_ARGS({ "name", "s" }, { "value", "v" }), NULL,
+ set_property) },
+ { }
+diff --git a/audio/control.c b/audio/control.c
+index c5a6a58..187f838 100644
+--- a/audio/control.c
++++ b/audio/control.c
+@@ -198,7 +198,7 @@ static DBusMessage *control_get_properties(DBusConnection *conn,
+ }
+
+ static const GDBusMethodTable control_methods[] = {
+- { GDBUS_ASYNC_METHOD("IsConnected",
++ { GDBUS_DEPRECATED_METHOD("IsConnected",
+ NULL, GDBUS_ARGS({ "connected", "b" }),
+ control_is_connected) },
+ { GDBUS_METHOD("GetProperties",
+diff --git a/audio/headset.c b/audio/headset.c
+index 729e4dc..b9c6265 100644
+--- a/audio/headset.c
++++ b/audio/headset.c
+@@ -2094,7 +2094,7 @@ static const GDBusMethodTable headset_methods[] = {
+ static const GDBusSignalTable headset_signals[] = {
+ { GDBUS_DEPRECATED_SIGNAL("Connected", NULL) },
+ { GDBUS_DEPRECATED_SIGNAL("Disconnected", NULL) },
+- { GDBUS_DEPRECATED_SIGNAL("AnswerRequested", NULL) },
++ { GDBUS_SIGNAL("AnswerRequested", NULL) },
+ { GDBUS_DEPRECATED_SIGNAL("Stopped", NULL) },
+ { GDBUS_DEPRECATED_SIGNAL("Playing", NULL) },
+ { GDBUS_DEPRECATED_SIGNAL("SpeakerGainChanged",
+diff --git a/audio/transport.c b/audio/transport.c
+index b015625..832ad2a 100644
+--- a/audio/transport.c
++++ b/audio/transport.c
+@@ -959,7 +959,7 @@ static const GDBusMethodTable transport_methods[] = {
+ { GDBUS_ASYNC_METHOD("Release",
+ GDBUS_ARGS({ "access_type", "s" }), NULL,
+ release ) },
+- { GDBUS_ASYNC_METHOD("SetProperty",
++ { GDBUS_METHOD("SetProperty",
+ GDBUS_ARGS({ "name", "s" }, { "value", "v" }),
+ NULL, set_property) },
+ { },
+diff --git a/src/manager.c b/src/manager.c
+index 385354d..7061f64 100644
+--- a/src/manager.c
++++ b/src/manager.c
+@@ -207,7 +207,7 @@ static const GDBusMethodTable manager_methods[] = {
+ GDBUS_ARGS({ "pattern", "s" }),
+ GDBUS_ARGS({ "adapter", "o" }),
+ find_adapter) },
+- { GDBUS_ASYNC_METHOD("ListAdapters",
++ { GDBUS_DEPRECATED_METHOD("ListAdapters",
+ NULL, GDBUS_ARGS({ "adapters", "ao" }),
+ list_adapters) },
+ { }
+--
+1.7.7.6
+