debian/0000775000000000000000000000000013155667434007206 5ustar debian/libbluetooth3.symbols0000664000000000000000000001461512402114310013354 0ustar libbluetooth.so.3 libbluetooth3 #MINVER# ba2oui@Base 4.91 ba2str@Base 4.91 bachk@Base 4.91 bafprintf@Base 4.91 baprintf@Base 4.91 basnprintf@Base 4.91 basprintf@Base 4.91 baswap@Base 4.91 batostr@Base 4.91 bt_compidtostr@Base 4.91 bt_error@Base 4.91 bt_free@Base 4.91 bt_malloc@Base 4.91 bt_string_to_uuid@Base 4.91 bt_uuid128_create@Base 4.91 bt_uuid16_create@Base 4.91 bt_uuid32_create@Base 4.91 bt_uuid_cmp@Base 4.91 bt_uuid_to_string@Base 4.91 bt_uuid_to_uuid128@Base 4.91 hci_authenticate_link@Base 4.91 hci_bustostr@Base 4.91 hci_change_link_key@Base 4.91 hci_close_dev@Base 4.91 hci_cmdtostr@Base 4.91 hci_commandstostr@Base 4.91 hci_create_connection@Base 4.91 hci_delete_stored_link_key@Base 4.91 hci_devba@Base 4.91 hci_devid@Base 4.91 hci_devinfo@Base 4.91 hci_dflagstostr@Base 4.91 hci_disconnect@Base 4.91 hci_dtypetostr@Base 4.91 hci_encrypt_link@Base 4.91 hci_exit_park_mode@Base 4.91 hci_for_each_dev@Base 4.91 hci_get_route@Base 4.91 hci_inquiry@Base 4.91 hci_le_add_white_list@Base 4.91 hci_le_clear_white_list@Base 4.91 hci_le_conn_update@Base 4.91 hci_le_create_conn@Base 4.91 hci_le_read_white_list_size@Base 4.91 hci_le_rm_white_list@Base 4.91 hci_le_set_advertise_enable@Base 4.91 hci_le_set_scan_enable@Base 4.91 hci_le_set_scan_parameters@Base 4.91 hci_lmtostr@Base 4.91 hci_lptostr@Base 4.91 hci_open_dev@Base 4.91 hci_park_mode@Base 4.91 hci_ptypetostr@Base 4.91 hci_read_afh_map@Base 4.91 hci_read_afh_mode@Base 4.91 hci_read_bd_addr@Base 4.91 hci_read_class_of_dev@Base 4.91 hci_read_clock@Base 4.91 hci_read_clock_offset@Base 4.91 hci_read_current_iac_lap@Base 4.91 hci_read_ext_inquiry_response@Base 4.91 hci_read_inq_response_tx_power_level@Base 4.91 hci_read_inquiry_mode@Base 4.91 hci_read_inquiry_scan_type@Base 4.91 hci_read_inquiry_transmit_power_level@Base 4.91 hci_read_link_policy@Base 4.91 hci_read_link_quality@Base 4.91 hci_read_link_supervision_timeout@Base 4.91 hci_read_local_commands@Base 4.91 hci_read_local_ext_features@Base 4.91 hci_read_local_features@Base 4.91 hci_read_local_name@Base 4.91 hci_read_local_oob_data@Base 4.91 hci_read_local_version@Base 4.91 hci_read_remote_ext_features@Base 4.91 hci_read_remote_features@Base 4.91 hci_read_remote_name@Base 4.91 hci_read_remote_name_cancel@Base 4.91 hci_read_remote_name_with_clock_offset@Base 4.91 hci_read_remote_version@Base 4.91 hci_read_rssi@Base 4.91 hci_read_simple_pairing_mode@Base 4.91 hci_read_stored_link_key@Base 4.91 hci_read_transmit_power_level@Base 4.91 hci_read_voice_setting@Base 4.91 hci_scoptypetostr@Base 4.91 hci_send_cmd@Base 4.91 hci_send_req@Base 4.91 hci_set_afh_classification@Base 4.91 hci_strtolm@Base 4.91 hci_strtolp@Base 4.91 hci_strtoptype@Base 4.91 hci_strtoscoptype@Base 4.91 hci_strtover@Base 4.91 hci_switch_role@Base 4.91 hci_typetostr@Base 4.91 hci_vertostr@Base 4.91 hci_write_afh_mode@Base 4.91 hci_write_class_of_dev@Base 4.91 hci_write_current_iac_lap@Base 4.91 hci_write_ext_inquiry_response@Base 4.91 hci_write_inquiry_mode@Base 4.91 hci_write_inquiry_scan_type@Base 4.91 hci_write_inquiry_transmit_power_level@Base 4.91 hci_write_link_policy@Base 4.91 hci_write_link_supervision_timeout@Base 4.91 hci_write_local_name@Base 4.91 hci_write_simple_pairing_mode@Base 4.91 hci_write_stored_link_key@Base 4.91 hci_write_voice_setting@Base 4.91 lmp_featurestostr@Base 4.91 lmp_strtover@Base 4.91 lmp_vertostr@Base 4.91 sdp_add_lang_attr@Base 4.101 sdp_append_to_buf@Base 4.91 sdp_append_to_pdu@Base 4.91 sdp_attr_add@Base 4.91 sdp_attr_add_new@Base 4.91 sdp_attr_remove@Base 4.91 sdp_attr_replace@Base 4.91 sdp_attrid_comp_func@Base 4.91 sdp_close@Base 4.91 sdp_connect@Base 4.91 sdp_copy_record@Base 4.91 sdp_create@Base 4.91 sdp_data_alloc@Base 4.91 sdp_data_alloc_with_length@Base 4.91 sdp_data_free@Base 4.91 sdp_data_get@Base 4.91 sdp_device_record_register@Base 4.91 sdp_device_record_register_binary@Base 4.91 sdp_device_record_unregister@Base 4.91 sdp_device_record_unregister_binary@Base 4.91 sdp_device_record_update@Base 4.91 sdp_device_record_update_binary@Base 4.91 sdp_extract_attr@Base 4.91 sdp_extract_pdu@Base 4.91 sdp_extract_seqtype@Base 4.91 sdp_gen_pdu@Base 4.91 sdp_gen_record_pdu@Base 4.91 sdp_gen_tid@Base 4.91 sdp_general_inquiry@Base 4.91 sdp_get_access_protos@Base 4.91 sdp_get_add_access_protos@Base 4.91 sdp_get_database_state@Base 4.91 sdp_get_error@Base 4.91 sdp_get_group_id@Base 4.91 sdp_get_int_attr@Base 4.91 sdp_get_lang_attr@Base 4.91 sdp_get_profile_descs@Base 4.91 sdp_get_proto_desc@Base 4.91 sdp_get_proto_port@Base 4.91 sdp_get_record_state@Base 4.91 sdp_get_server_ver@Base 4.91 sdp_get_service_avail@Base 4.91 sdp_get_service_id@Base 4.91 sdp_get_service_ttl@Base 4.91 sdp_get_socket@Base 4.91 sdp_get_string_attr@Base 4.91 sdp_get_supp_feat@Base 4.91 sdp_get_uuidseq_attr@Base 4.91 sdp_list_append@Base 4.91 sdp_list_free@Base 4.91 sdp_list_insert_sorted@Base 4.91 sdp_list_remove@Base 4.91 sdp_pattern_add_uuid@Base 4.91 sdp_pattern_add_uuidseq@Base 4.91 sdp_process@Base 4.91 sdp_profile_uuid2strn@Base 4.91 sdp_proto_uuid2strn@Base 4.91 sdp_record_alloc@Base 4.91 sdp_record_free@Base 4.91 sdp_record_print@Base 4.91 sdp_record_register@Base 4.91 sdp_record_unregister@Base 4.91 sdp_record_update@Base 4.91 sdp_send_req_w4_rsp@Base 4.91 sdp_seq_alloc@Base 4.91 sdp_seq_alloc_with_length@Base 4.91 sdp_seq_append@Base 4.91 sdp_service_attr_async@Base 4.91 sdp_service_attr_req@Base 4.91 sdp_service_search_async@Base 4.91 sdp_service_search_attr_async@Base 4.91 sdp_service_search_attr_req@Base 4.91 sdp_service_search_req@Base 4.91 sdp_set_access_protos@Base 4.91 sdp_set_add_access_protos@Base 4.91 sdp_set_attrid@Base 4.91 sdp_set_group_id@Base 4.91 sdp_set_info_attr@Base 4.91 sdp_set_lang_attr@Base 4.91 sdp_set_notify@Base 4.91 sdp_set_profile_descs@Base 4.91 sdp_set_seq_len@Base 4.91 sdp_set_service_id@Base 4.91 sdp_set_supp_feat@Base 4.91 sdp_set_url_attr@Base 4.91 sdp_set_uuidseq_attr@Base 4.91 sdp_svclass_uuid2strn@Base 4.91 sdp_uuid128_cmp@Base 4.91 sdp_uuid128_create@Base 4.91 sdp_uuid128_to_uuid@Base 4.91 sdp_uuid16_cmp@Base 4.91 sdp_uuid16_create@Base 4.91 sdp_uuid16_to_uuid128@Base 4.91 sdp_uuid2strn@Base 4.91 sdp_uuid32_create@Base 4.91 sdp_uuid32_to_uuid128@Base 4.91 sdp_uuid_cmp@Base 4.91 sdp_uuid_extract@Base 4.91 sdp_uuid_to_proto@Base 4.91 sdp_uuid_to_uuid128@Base 4.91 str2ba@Base 4.91 strtoba@Base 4.91 debian/hcitrace.10000664000000000000000000000114212402114310011016 0ustar .TH HCITRACE "1" "June 2010" .SH NAME hcitrace \- hcitrace daemon .SH SYNOPSIS .B hcitrace .SH DESCRIPTION \fBhcitrace\fP daemon allow per advanced tracing capabilities with multiple HCI controllers per stream. .SH USAGE hcitrace [OPTION...] Help Options: \fB-h\fP, \fB--help\fP Show help options Application Options: \fB-n\fP, \fB--nodaemon\fP Don't run as daemon in background \fB-d\fP, \fB--debug\fP Enable debug information output .SH AUTHOR This manual page was written by Nobuhiro Iwamatsu , for the Debian GNU/Linux system (but may be used by others). debian/source_bluez.py0000664000000000000000000000266412402114310012237 0ustar #!/usr/bin/python # -*- coding: utf-8 -*- '''apport package hook for bluez (c) 2010 Free Software Foundation Author: Baptiste Mille-Mathias ''' from apport.hookutils import * import re def add_info(report, ui): report['syslog'] = recent_syslog(re.compile(r'bluetooth', re.IGNORECASE)) attach_hardware(report) if command_available('hciconfig'): report['hciconfig'] = command_output('hciconfig') if command_available('rfkill'): report['rfkill'] = command_output(['rfkill','list']) if command_available('getfacl'): report['getfacl'] = command_output(['getfacl','/dev/rfkill']) interesting_modules = ('btusb', 'rfcomm', 'sco', 'bnep', 'l2cap', 'bluetooth') interesting_modules_loaded = [] for line in open('/proc/modules'): module = line.split()[0] if module in interesting_modules: interesting_modules_loaded.append(module) if interesting_modules_loaded: report['InterestingModules'] = ' '.join(interesting_modules_loaded) ui.information("""Your bug report will be processed in few seconds. If you can reproduce it, please follow the next steps: - Install the package 'bluez-hcidump' - Open a new terminal - Run the command "sudo hcidump -XYt > $HOME/hci.log" - Reproduce the actions until the error happens - On the terminal, press Ctrl+C to stop hcidump. - Attach the file hci.log to the bug report.""") debian/compat0000664000000000000000000000000212402114310010352 0ustar 7 debian/bluez_agent.udev0000775000000000000000000000025112402114310012341 0ustar #!/bin/sh -e # /usr is not guaranteed to be mounted when udev starts ( . /lib/udev/hotplug.functions wait_for_file /lib/udev/hid2hci exec /lib/udev/hid2hci "$@" ) & debian/bluez-compat.install0000664000000000000000000000016512402114310013150 0ustar usr/bin/pand usr/share/man/man1/pand.1 usr/bin/dund usr/share/man/man1/dund.1 usr/bin/hidd usr/share/man/man1/hidd.1 debian/tests/0000775000000000000000000000000012461450121010326 5ustar debian/tests/bluez_response0000664000000000000000000000347012402114310013304 0ustar #!/usr/bin/env python3 import unittest import subprocess import sys import os import aptdaemon.test class TestBluezResponse(unittest.TestCase): devices = {} def setUp(self): # start a local fake system D-BUS dbus = subprocess.Popen(['dbus-daemon', '--nofork', '--print-address', '--config-file', os.path.join(aptdaemon.test.get_tests_dir(), 'dbus.conf')], stdout=subprocess.PIPE, universal_newlines=True) dbus_address = dbus.stdout.readline().strip() os.environ['DBUS_SYSTEM_BUS_ADDRESS'] = dbus_address subprocess.call(['bluetoothd']) p1 = subprocess.Popen(['hciconfig'], stdout=subprocess.PIPE, universal_newlines=True) p2 = subprocess.Popen(['grep', '\(^hci\|BD\ Address\)'], stdin=p1.stdout, stdout=subprocess.PIPE, universal_newlines=True) p1.stdout.close() hciconf_output = p2.communicate()[0].replace('\t', ' ').split('\n') device_id = "" for line in hciconf_output: if "hci" in line: device_id = line.split(':')[0] elif "BD Address" in line: self.devices[device_id] = line.split()[2] if len(self.devices) < 1: self.skipTest("No bluetooth devices available for testing") def testDevice(self): for dev in self.devices: ret = subprocess.call(['bluez-test-device', '-i', dev, 'list']) self.assertEqual(ret, 0) def testAdapter(self): for dev in self.devices: output = subprocess.check_output(['bluez-test-adapter', '-i', dev, 'address'], universal_newlines=True) self.assertIn(self.devices[dev], output) unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=2)) debian/tests/control0000664000000000000000000000025212402114310011720 0ustar Tests: bluez_response Depends: python3-aptdaemon.test, python, python3, python-gi, python3-gi, python-dbus, python3-dbus, gir1.2-glib-2.0, bluez Restrictions: needs-root debian/libbluetooth3.install0000664000000000000000000000007212402114310013322 0ustar usr/lib/*/libbluetooth.so.3 usr/lib/*/libbluetooth.so.3.* debian/bluez.lintian-overrides0000664000000000000000000000365012402114310013661 0ustar bluez: binary-without-manpage usr/bin/bluez-simple-endpoint bluez: binary-without-manpage usr/bin/bluez-simple-service bluez: binary-without-manpage usr/bin/bluez-test-adapter bluez: binary-without-manpage usr/bin/bluez-test-attrib bluez: binary-without-manpage usr/bin/bluez-test-audio bluez: binary-without-manpage usr/bin/bluez-test-device bluez: binary-without-manpage usr/bin/bluez-test-discovery bluez: binary-without-manpage usr/bin/bluez-test-input bluez: binary-without-manpage usr/bin/bluez-test-manager bluez: binary-without-manpage usr/bin/bluez-test-network bluez: binary-without-manpage usr/bin/bluez-test-oob bluez: binary-without-manpage usr/bin/bluez-test-sap-server bluez: binary-without-manpage usr/bin/bluez-test-serial bluez: binary-without-manpage usr/bin/bluez-test-service bluez: binary-without-manpage usr/bin/bluez-test-telephony bluez: binary-without-manpage usr/bin/gatttool bluez: python-script-but-no-python-dep usr/bin/bluez-simple-agent bluez: python-script-but-no-python-dep usr/bin/bluez-simple-endpoint bluez: python-script-but-no-python-dep usr/bin/bluez-simple-service bluez: python-script-but-no-python-dep usr/bin/bluez-test-adapter bluez: python-script-but-no-python-dep usr/bin/bluez-test-attrib bluez: python-script-but-no-python-dep usr/bin/bluez-test-audio bluez: python-script-but-no-python-dep usr/bin/bluez-test-device bluez: python-script-but-no-python-dep usr/bin/bluez-test-discovery bluez: python-script-but-no-python-dep usr/bin/bluez-test-input bluez: python-script-but-no-python-dep usr/bin/bluez-test-manager bluez: python-script-but-no-python-dep usr/bin/bluez-test-network bluez: python-script-but-no-python-dep usr/bin/bluez-test-oob bluez: python-script-but-no-python-dep usr/bin/bluez-test-sap-server bluez: python-script-but-no-python-dep usr/bin/bluez-test-serial bluez: python-script-but-no-python-dep usr/bin/bluez-test-service bluez: python-script-but-no-python-dep usr/bin/bluez-test-telephony debian/bluez.dirs0000664000000000000000000000003212402114310011153 0ustar usr/bin var/lib/bluetooth debian/bluez-pcmcia-support.install0000664000000000000000000000010512402114310014625 0ustar lib/udev/bluetooth_serial lib/udev/rules.d/97-bluetooth-serial.rules debian/bluez-gstreamer.install0000664000000000000000000000003312402114310013650 0ustar usr/lib/*/gstreamer-*/*.so debian/bluez-utils.lintian-overrides0000664000000000000000000000011012402114310015003 0ustar # empty transitional postrm bluez-utils: maintainer-script-empty postrm debian/source/0000775000000000000000000000000012461450121010464 5ustar debian/source/format0000664000000000000000000000001412402114310011662 0ustar 3.0 (quilt) debian/bluetooth-dbus.conf0000664000000000000000000000254312402114310012767 0ustar debian/README.Debian0000664000000000000000000001267112402114310011224 0ustar bluez for Debian ================ The /dev/rfcomm* serial devices entries are automatically created for using RFCOMM with legacy applications -- see rfcomm(8). Users must be in group 'dialout' to have privileges to use these devices. You can edit /etc/bluetooth/rfcomm.conf to have some rfcomm devices bound automatically at boot time. If you wish to install PCMCIA card services support for your Bluetooth devices you should install the bluez-pcmcia-support package. Some USB dongles require firmware to make them work: bluez-firmware from the "non-free" section provides the required firmware. Mailing lists and documentation ------------------------------- The old sourceforge lists have been discontinued, the new lists can be found at: http://www.bluez.org/development/lists/ plus a wiki at: http://wiki.bluez.org/ PIN (or passkey) management --------------------------- Interaction with the local user can be required while BT connection is being established (pairing process) and the PIN is not yet known or needs to be changed. To retrieve the passkey (or PIN) from the user a service program (agent) running in user's interactive session needs to be prepared and listen for requests of the bluez daemon when pairing begins. Examples of such programs are kblueplugd (kdebluetooth package) and bluetooth-applet (bluez-gnome or gnome-bluetooth packages). A minimal command-line agent is also provided by bluez-simple-agent. For example, you can execute bluez-simple-agent as follows. $ bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX (Address of target device) RequestPinCode (/org/bluez/27392/hci0/dev_XX_XX_XX_XX_XX_XX) Enter PIN Code: 0000 Release Headset support --------------- There's support for bluetooth headset both via ALSA and GStreamer, respectively via bluez-alsa and bluez-gstreamer packages. ALSA ~~~~ You might setup your headset by discovering it with gnome-bluetooth, once setup add the following configuration to ~/.asoundrc: pcm.bluetooth { type bluetooth device } then audio can be played with supported player, e.g. mplayer: mplayer -ao alsa:device=bluetooth See also: http://wiki.bluez.org/wiki/HOWTO/AudioDevices Legacy daemons -------------- The bluez-compat package includes old legacy daemons such as dund, pand and hidd for enabling dial-up, ethernet networking and input devices over bluetooth. Bluetooth Networking Quickstart with legacy daemons +++++++++++++++++++++++++++++++++++++++++++++++++++ 1. Start dund and pand at boot time 2. PPP over RFCOMM This is what most devices call "LAN Access" or "Serial Access". It uses normal PPP over a serial connection. Most PDAs will be able to connect using this method. Use the 'dund' tool to accept incoming connections. Configure pppd as per the instructions in the ppp package. Then run: dund --listen --sdp --nodetach Try and connect your device and you'll see something like: dund[9801]: DUN daemon ver 1.1pre4 dund[9811]: New connection from 00:02:31:24:17:6A The --sdp option causes the DUN access to be advertised to other devices via the SDP protocol. Most devices need this in order to be able to connect. Run dund --help to see the various other options available to you. If you want to make an outgoing connection using PPP, for instance to a mobile phone, use the 'rfcomm' program from bluez-utils to bind a /dev/rfcommX serial port to the phone, and then then use pppd as you would with a normal modem. 3. PAN The 'pand' tool allows you to use ethernet style networking over Bluetooth. It creates a network interface on your machine that can be configured in the same way normal network devices are. For full details see the PAN HOWTO at Keyboard and mouse support ++++++++++++++++++++++++++++++++++++ hidd daemon is included in a bluez-compat package. We use bluez-simple-agent and bluez-test-input in bluez now. 1. Discover you mouse or keyboard bluetooth address (bdaddr) by running "hcitool scan". 2. Start bluez-simple-agent $ sudo bluez-simple-agent hci0 RequestPinCode (/org/bluez/22302/hci0/dev_00_XX_XX_XX_XX_XX) Enter PIN Code: 0000 <-- Please input PIN code Release New device (/org/bluez/22302/hci0/dev_00_XX_XX_XX_XX_XX) Bluetooth mouse set simple PIN code as "0000". PIN code are different depending on mouse. Please check the PIN code of your mouse. 3. With bluez-test-device, set *trusted* to the device. $ sudo bluez-test-device trusted yet When you did not execute this, you use bluez-test-input after suspend and resume (and reboot) have to connect a device again. 4. With bluez-test-input, connected to the device. $ sudo bluez-test-input connect NOTE: If you want to use hidd daemon, please install bluez-compat package. You must then connect to your keyboard or mouse using "sudo hidd --connect ". On first connection, pairing is likely and you should press "connect" button on mice/keyboard, if any. Mice normally have a preset PIN which should be in the manufacturer's documentation, try 0000. For keyboards, type the PIN on the Bluetooth keyboard and hit enter, and then supply it to the passkey agent (using a cable-attached keyboard. e.g. bluez-simple-agent). In future your keyboard or mouse should reconnect to your computer Sound (alsa) support ------------------------------- Note: From Bluez 4.96, you also need to add to /etc/bluetooth/audio.conf: [General] Disable=Media Enable=Socket debian/bluez.preinst0000664000000000000000000000224312402114310011704 0ustar #!/bin/sh # preinst script for bluez # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in install|upgrade) if dpkg --compare-versions "$2" le-nl 4.98-2ubuntu1; then ( test -f /etc/default/bluetooth && . /etc/default/bluetooth if [ "$BLUETOOTH_ENABLED" = 0 ] && (! [ -f /etc/init/bluetooth.override ] || ! grep -q -e "start on" -e "manual" /etc/init/bluetooth.override); then printf "# Inserted by bluez\nmanual\n" >> /etc/init/bluetooth.override fi ) fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/control0000664000000000000000000001425612402114310010567 0ustar Source: bluez Section: admin Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Bluetooth Maintainers Uploaders: Nobuhiro Iwamatsu Build-Depends: debhelper (>= 8.1.3), cdbs (>= 0.4.97), quilt, dh-autoreconf, flex, bison, gstreamer-tools, libasound2-dev (>= 1.0.24.1), libdbus-glib-1-dev, libglib2.0-dev (>= 2.28), libgstreamer0.10-dev (>= 0.10.30), libgstreamer-plugins-base0.10-dev (>= 0.10.30), libnl-3-dev, libsndfile1-dev, libusb-dev, libcap-ng-dev, libudev-dev, libreadline-dev, check (>= 0.9.8-1.1), python3-dev Vcs-Svn: svn://svn.debian.org/svn/pkg-bluetooth/packages/bluez/trunk Vcs-Browser: http://svn.debian.org/wsvn/pkg-bluetooth/packages/bluez/trunk Homepage: http://www.bluez.org Standards-Version: 3.9.3 XS-Testsuite: autopkgtest Package: libbluetooth3 Section: libs Conflicts: libsdp2 (<= 1.5-2) Replaces: libsdp2 (<= 1.5-2) Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} Multi-Arch: same Architecture: linux-any Description: Library to use the BlueZ Linux Bluetooth stack BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Package: libbluetooth3-dbg Section: debug Priority: extra Architecture: linux-any Depends: ${misc:Depends}, libbluetooth3 (= ${binary:Version}) Description: Library to use the BlueZ Linux Bluetooth stack with debugging symbols BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). . This package contains the debugging symbols. Package: libbluetooth-dev Section: libdevel Provides: libbluetooth3-dev Conflicts: libbluetooth-dev, libsdp2-dev (<= 1.5.2), bluez-pan Replaces: libsdp2-dev (<= 1.5.2) Depends: libbluetooth3 (= ${binary:Version}), libc6-dev | libc-dev, ${misc:Depends} Suggests: pkg-config Priority: extra Architecture: linux-any Description: Development files for using the BlueZ Linux Bluetooth library BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Package: bluetooth Architecture: all Depends: bluez Recommends: bluez-alsa, bluez-cups, bluez-gstreamer Description: Bluetooth support This package provides all of the different plugins supported by the Bluez bluetooth stack. Package: bluez Architecture: linux-any Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, module-init-tools, udev (>= 170-1), lsb-base, dbus, python3-dbus Suggests: bluez-hcidump Replaces: bluez-input, bluez-network, bluez-serial, bluez-utils (<= 3.36-3), bluez-audio (<= 3.36-3), udev (<< 170-1) Conflicts: bluez-utils (<= 3.36-3), bluez-audio (<= 3.36-3) Breaks: udev (<< 170-1) Multi-Arch: foreign Description: Bluetooth tools and daemons This package contains tools and system daemons for using Bluetooth devices. . BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Package: bluez-dbg Section: debug Priority: extra Architecture: linux-any Depends: ${misc:Depends}, bluez (= ${binary:Version}), libbluetooth3-dbg (= ${binary:Version}) Description: Bluetooth tools and daemons (with debugging symbols) This package contains tools and system daemons for using Bluetooth devices. . BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). . This package contains the debugging symbols. Package: bluez-alsa Replaces: bluez-audio Architecture: linux-any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, bluez Description: Bluetooth ALSA support This package contains a driver operate with the ALSA stack. . BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Package: bluez-gstreamer Architecture: linux-any Depends: ${shlibs:Depends}, ${misc:Depends}, bluez Replaces: bluez-audio Description: Bluetooth GStreamer support This package contains a plugin to operate with GStreamer applications. . BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Package: bluez-cups Architecture: linux-any Depends: ${shlibs:Depends}, cups, ${misc:Depends} Description: Bluetooth printer driver for CUPS This package contains a driver to let CUPS print to Bluetooth-connected printers. . BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Package: bluez-pcmcia-support Architecture: linux-any Priority: extra Depends: pcmciautils, ${misc:Depends} Recommends: setserial Description: PCMCIA support files for BlueZ 2.0 Bluetooth tools This package contains files to enable PCMCIA card services to recognise and initialise PCMCIA Bluetooth devices. . BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL). Package: bluez-compat Architecture: linux-any Depends: ${shlibs:Depends}, ${misc:Depends} Description: BlueZ 3.x compatibility binaries This package provides the legacy binaries that were reminiscent of the BlueZ 3.x pairing methods. These binaries are not supported, and will go away again in the future. The provided binaries are: . hidd dund pand Package: bluez-utils Depends: bluetooth Architecture: all Section: oldlibs Priority: extra Description: Transitional package This is a transitional package to assist with moving people to the BlueZ 4.x stack. Package: bluez-audio Depends: bluez-alsa (>= 4.94-3), bluez-gstreamer (>= 4) Architecture: all Section: oldlibs Priority: extra Description: Transitional package This is a transitional package to assist with moving people to the BlueZ 4.x stack. debian/bluetooth.lintian-overrides0000664000000000000000000000016512402114310014543 0ustar # package description looks fine, "Bluetooth stack utilities" bluetooth binary: description-starts-with-package-name debian/bluez-simple-agent.10000664000000000000000000000404112402114310012741 0ustar '\" t .\" Title: BLUEZ-SIMPLE=AGENT .\" Author: Nobuhiro Iwamatsu .\" Generator: DocBook XSL Stylesheets v1.75.2 .\" Date: 09/09/2010 .\" Manual: bluez-simple-agent .\" Source: http://bluez.org .\" Language: English .\" .TH "BLUEZ\-SIMPLE=AGENT" "1" "09/09/2010" "http://bluez\&.org" "bluez-simple-agent" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" bluez-simple-agent \- A PIN management and agent program for pairing to Bluetooth device\&. .SH "SYNOPSIS" .HP \w'\fBbluez\-simple\-agent\ []\ []\ [remove]\fR\ 'u \fBbluez\-simple\-agent [] [] [remove]\fR .SH "DESCRIPTION" .PP bluez\-simple\-agent is pass agent program for bluetooth\&. .SH "OPTIONS" .PP \fB\fR .RS 4 The command is applied to device hciX , which must be the name of an installed Blue\(hy tooth device\&. If not specified, the command will be sent to the first available Blue\(hy tooth device\&. .RE .PP \fB\fR .RS 4 bdaddr of device doing pairing\&. .RE .PP \fBremove\fR .RS 4 Remove intended bdaddr from database\&. .RE .SH "AUTHOR" .PP \fBNobuhiro Iwamatsu\fR <\&iwamatsu@nigauri\&.org\&> .RS 4 Wrote this manpage for the Debian system\&. .RE debian/watch0000664000000000000000000000011712402114310010204 0ustar version=3 http://www.kernel.org/pub/linux/bluetooth/ .*bluez-([.\d]+)\.tar\.gz debian/patches/0000775000000000000000000000000013155667467010643 5ustar debian/patches/git-57170b3-fix_network_connect_method.patch0000664000000000000000000000167112402114310020730 0ustar From 57170b311f1468330f4a9961dc0b3ac45f97bc13 Mon Sep 17 00:00:00 2001 From: Gustavo Padovan Date: Sat, 30 Jun 2012 00:39:05 -0300 Subject: [PATCH] network: fix network Connect() method parameters Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1036241 --- network/connection.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) 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", -- 1.7.6.5 debian/patches/git-a66a557-gdbus_missing_flags.patch0000664000000000000000000000566612402114310017427 0ustar From a66a557038c0e3d21bc4f14090efb497558a12be Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Tue, 26 Jun 2012 18:11:25 -0300 Subject: [PATCH] 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 debian/patches/08-0001-systemd-install-systemd-unit-files.patch0000664000000000000000000000732612402114310021336 0ustar Origin: http://article.gmane.org/gmane.linux.bluez.kernel/6479 Bug: Bug-Debian: From 0080ce8a37152b0ee7750799e01de3bf810f8caf Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 21 Jul 2010 19:20:44 +0200 Subject: [PATCH] systemd: install systemd unit files This also enables bus activation for bluetoothd, but only if systemd is running. Only if that's the case we can make sure in a race-free fashion that bluetoothd is not started twice at the same time. --- Makefile.am | 21 ++++++++++++++++++--- configure.ac | 9 +++++++++ scripts/.gitignore | 1 + scripts/bluetooth.service.in | 13 +++++++++++++ scripts/org.bluez.service | 5 +++++ 5 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 scripts/.gitignore create mode 100644 scripts/bluetooth.service.in create mode 100644 scripts/org.bluez.service diff --git a/Makefile.am b/Makefile.am index aecc8f2..6e18003 100644 --- a/Makefile.am +++ b/Makefile.am @@ -387,10 +387,25 @@ endif rules_DATA = $(foreach file,$(udev_files), scripts/97-$(notdir $(file))) endif +if HAVE_SYSTEMD +systemdsystemunit_DATA = \ + scripts/bluetooth.service + +scripts/bluetooth.service: scripts/bluetooth.service.in + @$(SED) -e "s|\@sbindir\@|$(sbindir)|" $< >$@ + +dbussystemservicesdir = $(datadir)/dbus-1/system-services + +dbussystemservices_DATA = \ + scripts/org.bluez.service + +endif + CLEANFILES += $(rules_DATA) EXTRA_DIST += scripts/bluetooth.rules \ - scripts/bluetooth-hid2hci.rules scripts/bluetooth-serial.rules + scripts/bluetooth-hid2hci.rules scripts/bluetooth-serial.rules \ + scripts/bluetooth.service.in scripts/org.bluez.service EXTRA_DIST += doc/manager-api.txt \ doc/adapter-api.txt doc/device-api.txt \ @@ -417,9 +432,9 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = bluez.pc -DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles +DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles --with-systemdsystemunitdir= -DISTCLEANFILES = $(pkgconfig_DATA) +DISTCLEANFILES = $(pkgconfig_DATA) scripts/bluetooth.service MAINTAINERCLEANFILES = Makefile.in \ aclocal.m4 configure config.h.in config.sub config.guess \ diff --git a/configure.ac b/configure.ac index bc2658c..b4502ab 100644 --- a/configure.ac +++ b/configure.ac @@ -71,5 +71,14 @@ if (test -n "${path_systemdunit}"); then fi AM_CONDITIONAL(SYSTEMD, test -n "${path_systemdunit}") +# systemd + +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], + [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"]) + AC_OUTPUT(Makefile scripts/bluetooth.rules doc/version.xml src/bluetoothd.8 src/bluetooth.service bluez.pc) diff --git a/scripts/.gitignore b/scripts/.gitignore new file mode 100644 index 0000000..4b9f765 --- /dev/null +++ b/scripts/.gitignore @@ -0,0 +1 @@ +bluetooth.service diff --git a/scripts/bluetooth.service.in b/scripts/bluetooth.service.in new file mode 100644 index 0000000..d0089ea --- /dev/null +++ b/scripts/bluetooth.service.in @@ -0,0 +1,13 @@ +[Unit] +Description=Bluetooth Manager +After=syslog.target + +[Service] +Type=dbus +BusName=org.bluez +ExecStart=@sbindir@/bluetoothd -n +StandardOutput=syslog + +[Install] +WantedBy=bluetooth.target +Alias=dbus-org.bluez.service diff --git a/scripts/org.bluez.service b/scripts/org.bluez.service new file mode 100644 index 0000000..dd7ae8f --- /dev/null +++ b/scripts/org.bluez.service @@ -0,0 +1,5 @@ +[D-BUS Service] +Name=org.bluez +Exec=/bin/false +User=root +SystemdService=dbus-org.bluez.service -- 1.7.6 debian/patches/07-fix-639356.patch0000664000000000000000000000113512402114310013413 0ustar diff --git a/scripts/bluetooth.rules.in b/scripts/bluetooth.rules.in index 75218f7..d6117bb 100644 --- a/scripts/bluetooth.rules.in +++ b/scripts/bluetooth.rules.in @@ -1,4 +1,4 @@ # Run helper every time a Bluetooth device appears # On remove actions, bluetoothd should go away by itself -ACTION=="add", SUBSYSTEM=="bluetooth", RUN+="@prefix@/sbin/bluetoothd --udev" -ACTION=="change", SUBSYSTEM=="bluetooth", RUN+="@prefix@/sbin/bluetoothd --udev" +ACTION=="add", SUBSYSTEM=="bluetooth", RUN+="/lib/udev/bluez-udev --udev" +ACTION=="change", SUBSYSTEM=="bluetooth", RUN+="/lib/udev/bluez-udev --udev" debian/patches/sbc_mmx.patch0000664000000000000000000000173012402114310013255 0ustar From: Mathieu Trudel-Lapierre Subject: Fix FTBFS is parsing inline assembly for calculating MMX scalefactors Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/911871 Without this patch, bluez fails to compile when building using GCC 4.7; for test-rebuild-20111222. See also https://launchpadlibrarian.net/88149127/buildlog_ubuntu-precise-i386.bluez_4.96-3ubuntu4_FAILEDTOBUILD.txt.gz Index: ubuntu/sbc/sbc_primitives_mmx.c =================================================================== --- ubuntu.orig/sbc/sbc_primitives_mmx.c 2012-05-01 15:49:22.677014156 +0100 +++ ubuntu/sbc/sbc_primitives_mmx.c 2012-05-01 15:49:54.777012742 +0100 @@ -318,7 +318,7 @@ "movl %k0, 4(%3)\n" : "+r" (blk) : "r" (&sb_sample_f[0][ch][sb]), - "i" ((char *) &sb_sample_f[1][0][0] - + "r" ((char *) &sb_sample_f[1][0][0] - (char *) &sb_sample_f[0][0][0]), "r" (&scale_factor[ch][sb]), "r" (&consts), debian/patches/enable_audio_profiles.patch0000664000000000000000000000236612402114310016145 0ustar From: Mathieu Trudel-Lapierre Subject: Enable the Gateway and Source audio profiles by default. Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/948613 Those can be disabled by the user in /etc/bluetooth/audio.conf if necessary. --- audio/a2dp.c | 2 +- audio/manager.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) Index: b/audio/manager.c =================================================================== --- a/audio/manager.c +++ b/audio/manager.c @@ -110,9 +110,9 @@ static GSList *devices = NULL; static struct enabled_interfaces enabled = { .hfp = TRUE, .headset = TRUE, - .gateway = FALSE, + .gateway = TRUE, .sink = TRUE, - .source = FALSE, + .source = TRUE, .control = TRUE, .socket = FALSE, .media = TRUE, Index: b/audio/a2dp.c =================================================================== --- a/audio/a2dp.c +++ b/audio/a2dp.c @@ -1444,7 +1444,7 @@ int a2dp_register(DBusConnection *conn, { int sbc_srcs = 0, sbc_sinks = 0; int mpeg12_srcs = 0, mpeg12_sinks = 0; - gboolean source = TRUE, sink = FALSE, socket = FALSE; + gboolean source = TRUE, sink = TRUE, socket = FALSE; gboolean delay_reporting = FALSE; char *str; GError *err = NULL; debian/patches/03-Fix-return-code-of-hid2hci.patch0000664000000000000000000000320512402114310016731 0ustar Description: bluez: getting a "Logitech, Inc. diNovo Edge Keyboard" working Author: Nobuhiro Iwamatsu Origin: Nobuhiro Iwamatsu Debian BTS: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626975 Index: ubuntu/tools/hid2hci.c =================================================================== --- ubuntu.orig/tools/hid2hci.c 2012-05-01 15:49:23.033014140 +0100 +++ ubuntu/tools/hid2hci.c 2012-05-01 15:49:53.193012813 +0100 @@ -240,7 +240,7 @@ enum mode mode = HCI; const char *devpath = NULL; int err = -1; - int rc = 1; + int rc = 0; for (;;) { int option; @@ -288,13 +288,16 @@ } udev = udev_new(); - if (udev == NULL) + if (udev == NULL) { + rc = errno; goto exit; + } snprintf(syspath, sizeof(syspath), "/sys/%s", devpath); udev_dev = udev_device_new_from_syspath(udev, syspath); if (udev_dev == NULL) { fprintf(stderr, "error: could not find '%s'\n", devpath); + rc = errno; goto exit; } @@ -312,6 +315,7 @@ dev = udev_device_get_parent_with_subsystem_devtype(dev, "usb", "usb_device"); if (dev == NULL) { fprintf(stderr, "error: could not find usb_device for '%s'\n", devpath); + rc = errno; goto exit; } } @@ -320,6 +324,7 @@ if (handle == NULL) { fprintf(stderr, "error: unable to handle '%s'\n", udev_device_get_syspath(dev)); + rc = errno; goto exit; } err = usb_switch(handle, mode); @@ -331,6 +336,7 @@ device = udev_device_get_devnode(udev_dev); if (device == NULL) { fprintf(stderr, "error: could not find hiddev device node\n"); + rc = errno; goto exit; } err = hid_switch_logitech(device); debian/patches/ssp_parameter.patch0000664000000000000000000003324112402121140014473 0ustar Description: ssp parameter fix * Add ssp parameter fix, add a missing parameter entered in agent dbus API. Fixed Logitech Bluetooth Keyboard K760, Logitech Bluetooth Keyboard K810, HP Bluetooth Keyboard K4000 secure simple pairing failed issue. (LP: #1035431, #1291756) backported bluez5 commits: upstream commit 546fee067daedc2b7860481aeaebd1771d192dfb mgmt: Implement support for Passkey Notify event upstream commit 97b930870dcd016b9cdd612e47b832736b4d0c5d core: Refactor authentication handling upstream commit e86fe268c77017731b792296eea16206918f1852 agent: Add missing parameter to DisplayPasskey upstream commit 6a394b2c7f19b53b630bef2e865f9bc289d4b75c agent-api: DisplayPasskey: D-Bus doesn't have a uint8 type Author: Jian-Ding Chen (timchen119) Bug-Ubuntu: https://bugs.launchpad.net/bugs/1035431 Bug-Ubuntu: https://bugs.launchpad.net/bugs/1291756 Last-Update: 2014-05-02 --- bluez-4.101.orig/doc/agent-api.txt +++ bluez-4.101/doc/agent-api.txt @@ -42,7 +42,8 @@ Methods void Release() Possible errors: org.bluez.Error.Rejected org.bluez.Error.Canceled - void DisplayPasskey(object device, uint32 passkey, uint8 entered) + void DisplayPasskey(object device, uint32 passkey, + uint16 entered) This method gets called when the service daemon needs to display a passkey for an authentication. --- bluez-4.101.orig/lib/hci.h +++ bluez-4.101/lib/hci.h @@ -2075,8 +2075,9 @@ typedef struct { typedef struct { bdaddr_t bdaddr; uint32_t passkey; + uint8_t entered; } __attribute__ ((packed)) evt_user_passkey_notify; -#define EVT_USER_PASSKEY_NOTIFY_SIZE 10 +#define EVT_USER_PASSKEY_NOTIFY_SIZE 11 #define EVT_KEYPRESS_NOTIFY 0x3C typedef struct { --- bluez-4.101.orig/lib/mgmt.h +++ bluez-4.101/lib/mgmt.h @@ -437,6 +437,13 @@ struct mgmt_ev_device_unpaired { struct mgmt_addr_info addr; } __packed; +#define MGMT_EV_PASSKEY_NOTIFY 0x0017 +struct mgmt_ev_passkey_notify { + struct mgmt_addr_info addr; + uint32_t passkey; + uint8_t entered; +} __packed; + static const char *mgmt_op[] = { "<0x0000>", "Read Version", --- bluez-4.101.orig/plugins/hciops.c +++ bluez-4.101/plugins/hciops.c @@ -1340,7 +1340,7 @@ static void user_passkey_notify(int inde DBG("hci%d", index); btd_event_user_notify(&dev->bdaddr, &req->bdaddr, - btohl(req->passkey)); + btohl(req->passkey), req->entered); } static gint oob_bdaddr_cmp(gconstpointer a, gconstpointer b) --- bluez-4.101.orig/plugins/mgmtops.c +++ bluez-4.101/plugins/mgmtops.c @@ -749,6 +749,40 @@ static void mgmt_passkey_request(int sk, } } +static void mgmt_passkey_notify(int sk, uint16_t index, void *buf, size_t len) +{ + struct mgmt_ev_passkey_notify *ev = buf; + struct controller_info *info; + uint32_t passkey; + char addr[18]; + int err; + + if (len < sizeof(*ev)) { + error("Too small passkey_notify event"); + return; + } + + ba2str(&ev->addr.bdaddr, addr); + + DBG("hci%u %s", index, addr); + + if (index > max_index) { + error("Unexpected index %u in passkey_notify event", index); + return; + } + + info = &controllers[index]; + + passkey = bt_get_le32(&ev->passkey); + + DBG("passkey %06u entered %u", passkey, ev->entered); + + err = btd_event_user_notify(&info->bdaddr, &ev->addr.bdaddr, + passkey, ev->entered); + if (err < 0) + error("btd_event_user_notify: %s", strerror(-err)); +} + struct confirm_data { int index; bdaddr_t bdaddr; @@ -1860,6 +1894,9 @@ static gboolean mgmt_event(GIOChannel *i case MGMT_EV_USER_PASSKEY_REQUEST: mgmt_passkey_request(sk, index, buf + MGMT_HDR_SIZE, len); break; + case MGMT_EV_PASSKEY_NOTIFY: + mgmt_passkey_notify(sk, index, buf + MGMT_HDR_SIZE, len); + break; case MGMT_EV_NEW_LONG_TERM_KEY: mgmt_new_ltk(sk, index, buf + MGMT_HDR_SIZE, len); break; --- bluez-4.101.orig/src/agent.c +++ bluez-4.101/src/agent.c @@ -675,7 +675,7 @@ failed: } int agent_display_passkey(struct agent *agent, struct btd_device *device, - uint32_t passkey) + uint32_t passkey, uint16_t entered) { DBusMessage *message; const gchar *dev_path = device_get_path(device); @@ -686,10 +686,13 @@ int agent_display_passkey(struct agent * error("Couldn't allocate D-Bus message"); return -1; } + + DBG("agent_display_passkey: %d,%d",passkey,entered); dbus_message_append_args(message, DBUS_TYPE_OBJECT_PATH, &dev_path, DBUS_TYPE_UINT32, &passkey, + DBUS_TYPE_UINT16, &entered, DBUS_TYPE_INVALID); if (!g_dbus_send_message(connection, message)) { --- bluez-4.101.orig/src/agent.h +++ bluez-4.101/src/agent.h @@ -62,7 +62,7 @@ int agent_request_confirmation(struct ag void *user_data, GDestroyNotify destroy); int agent_display_passkey(struct agent *agent, struct btd_device *device, - uint32_t passkey); + uint32_t passkey, uint16_t entered); int agent_display_pincode(struct agent *agent, struct btd_device *device, const char *pincode, agent_cb cb, --- bluez-4.101.orig/src/device.c +++ bluez-4.101/src/device.c @@ -2821,26 +2821,26 @@ done: } -int device_request_authentication(struct btd_device *device, auth_type_t type, - void *data, gboolean secure, void *cb) +static struct authentication_req *new_auth(struct btd_device *device, + auth_type_t type, gboolean secure, + void *cb) { struct authentication_req *auth; struct agent *agent; char addr[18]; - int err; ba2str(&device->bdaddr, addr); DBG("Requesting agent authentication for %s", addr); if (device->authr) { error("Authentication already requested for %s", addr); - return -EALREADY; + return NULL; } agent = device_get_agent(device); if (!agent) { error("No agent available for request type %d", type); - return -EPERM; + return NULL; } auth = g_new0(struct authentication_req, 1); @@ -2851,33 +2851,87 @@ int device_request_authentication(struct auth->secure = secure; device->authr = auth; - switch (type) { - case AUTH_TYPE_PINCODE: - err = agent_request_pincode(agent, device, pincode_cb, secure, - auth, NULL); - break; - case AUTH_TYPE_PASSKEY: - err = agent_request_passkey(agent, device, passkey_cb, - auth, NULL); - break; - case AUTH_TYPE_CONFIRM: - auth->passkey = *((uint32_t *) data); - err = agent_request_confirmation(agent, device, auth->passkey, - confirm_cb, auth, NULL); - break; - case AUTH_TYPE_NOTIFY_PASSKEY: - auth->passkey = *((uint32_t *) data); - err = agent_display_passkey(agent, device, auth->passkey); - break; - case AUTH_TYPE_NOTIFY_PINCODE: - auth->pincode = g_strdup((const char *) data); - err = agent_display_pincode(agent, device, auth->pincode, - display_pincode_cb, auth, NULL); - break; - default: - err = -EINVAL; + return auth; +} + +int device_request_pincode(struct btd_device *device, gboolean secure, + void *cb) +{ + struct authentication_req *auth; + int err; + + auth = new_auth(device, AUTH_TYPE_PINCODE, secure, cb); + if (!auth) + return -EPERM; + + err = agent_request_pincode(auth->agent, device, pincode_cb, secure, + auth, NULL); + if (err < 0) { + error("Failed requesting authentication"); + device_auth_req_free(device); + } + + return err; +} + +int device_request_passkey(struct btd_device *device, void *cb) +{ + struct authentication_req *auth; + int err; + + auth = new_auth(device, AUTH_TYPE_PASSKEY, FALSE, cb); + if (!auth) + return -EPERM; + + err = agent_request_passkey(auth->agent, device, passkey_cb, auth, + NULL); + if (err < 0) { + error("Failed requesting authentication"); + device_auth_req_free(device); + } + + return err; +} + +int device_confirm_passkey(struct btd_device *device, uint32_t passkey, + void *cb) +{ + struct authentication_req *auth; + int err; + + auth = new_auth(device, AUTH_TYPE_CONFIRM, FALSE, cb); + if (!auth) + return -EPERM; + + auth->passkey = passkey; + + err = agent_request_confirmation(auth->agent, device, passkey, + confirm_cb, auth, NULL); + if (err < 0) { + error("Failed requesting authentication"); + device_auth_req_free(device); } + return err; +} + +int device_notify_passkey(struct btd_device *device, uint32_t passkey, + uint8_t entered) +{ + struct authentication_req *auth; + int err; + + if (device->authr) { + auth = device->authr; + if (auth->type != AUTH_TYPE_NOTIFY_PASSKEY) + return -EPERM; + } else { + auth = new_auth(device, AUTH_TYPE_NOTIFY_PASSKEY, FALSE, NULL); + if (!auth) + return -EPERM; + } + + err = agent_display_passkey(auth->agent, device, passkey, entered); if (err < 0) { error("Failed requesting authentication"); device_auth_req_free(device); @@ -2886,6 +2940,28 @@ int device_request_authentication(struct return err; } +int device_notify_pincode(struct btd_device *device, gboolean secure, + const char *pincode, void *cb) +{ + struct authentication_req *auth; + int err; + + auth = new_auth(device, AUTH_TYPE_NOTIFY_PINCODE, secure, cb); + if (!auth) + return -EPERM; + + auth->pincode = g_strdup(pincode); + + err = agent_display_pincode(auth->agent, device, pincode, + display_pincode_cb, auth, NULL); + if (err < 0) { + error("Failed requesting authentication"); + device_auth_req_free(device); + } + + return err; +} + static void cancel_authentication(struct authentication_req *auth) { struct btd_device *device; --- bluez-4.101.orig/src/device.h +++ bluez-4.101/src/device.h @@ -85,8 +85,15 @@ void device_simple_pairing_complete(stru gboolean device_is_creating(struct btd_device *device, const char *sender); gboolean device_is_bonding(struct btd_device *device, const char *sender); void device_cancel_bonding(struct btd_device *device, uint8_t status); -int device_request_authentication(struct btd_device *device, auth_type_t type, - void *data, gboolean secure, void *cb); +int device_request_pincode(struct btd_device *device, gboolean secure, + void *cb); +int device_request_passkey(struct btd_device *device, void *cb); +int device_confirm_passkey(struct btd_device *device, uint32_t passkey, + void *cb); +int device_notify_passkey(struct btd_device *device, uint32_t passkey, + uint8_t entered); +int device_notify_pincode(struct btd_device *device, gboolean secure, + const char *pincode, void *cb); void device_cancel_authentication(struct btd_device *device, gboolean aborted); gboolean device_is_authenticating(struct btd_device *device); gboolean device_is_authorizing(struct btd_device *device); --- bluez-4.101.orig/src/event.c +++ bluez-4.101/src/event.c @@ -128,16 +128,14 @@ int btd_event_request_pin(bdaddr_t *sba, pinlen = btd_adapter_get_pin(adapter, device, pin, &display); if (pinlen > 0 && (!secure || pinlen == 16)) { if (display && device_is_bonding(device, NULL)) - return device_request_authentication(device, - AUTH_TYPE_NOTIFY_PINCODE, pin, - secure, pincode_cb); + return device_notify_pincode(device, secure, pin, + pincode_cb); btd_adapter_pincode_reply(adapter, dba, pin, pinlen); return 0; } - return device_request_authentication(device, AUTH_TYPE_PINCODE, NULL, - secure, pincode_cb); + return device_request_pincode(device, secure, pincode_cb); } static int confirm_reply(struct btd_adapter *adapter, @@ -185,8 +183,7 @@ int btd_event_user_confirm(bdaddr_t *sba if (!get_adapter_and_device(sba, dba, &adapter, &device, TRUE)) return -ENODEV; - return device_request_authentication(device, AUTH_TYPE_CONFIRM, - &passkey, FALSE, confirm_cb); + return device_confirm_passkey(device, passkey, confirm_cb); } int btd_event_user_passkey(bdaddr_t *sba, bdaddr_t *dba) @@ -197,11 +194,10 @@ int btd_event_user_passkey(bdaddr_t *sba if (!get_adapter_and_device(sba, dba, &adapter, &device, TRUE)) return -ENODEV; - return device_request_authentication(device, AUTH_TYPE_PASSKEY, NULL, - FALSE, passkey_cb); + return device_request_passkey(device, passkey_cb); } -int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey) +int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey, uint8_t entered) { struct btd_adapter *adapter; struct btd_device *device; @@ -209,8 +205,7 @@ int btd_event_user_notify(bdaddr_t *sba, if (!get_adapter_and_device(sba, dba, &adapter, &device, TRUE)) return -ENODEV; - return device_request_authentication(device, AUTH_TYPE_NOTIFY_PASSKEY, - &passkey, FALSE, NULL); + return device_notify_passkey(device, passkey, entered); } void btd_event_simple_pairing_complete(bdaddr_t *local, bdaddr_t *peer, --- bluez-4.101.orig/src/event.h +++ bluez-4.101/src/event.h @@ -37,7 +37,7 @@ void btd_event_simple_pairing_complete(b void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer); int btd_event_user_confirm(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey); int btd_event_user_passkey(bdaddr_t *sba, bdaddr_t *dba); -int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey); +int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey, uint8_t entered); void btd_event_device_blocked(bdaddr_t *local, bdaddr_t *peer); void btd_event_device_unblocked(bdaddr_t *local, bdaddr_t *peer); void btd_event_device_unpaired(bdaddr_t *local, bdaddr_t *peer); --- bluez-4.101.orig/test/simple-agent +++ bluez-4.101/test/simple-agent @@ -55,9 +55,9 @@ class Agent(dbus.service.Object): return dbus.UInt32(passkey) @dbus.service.method("org.bluez.Agent", - in_signature="ou", out_signature="") - def DisplayPasskey(self, device, passkey): - print("DisplayPasskey (%s, %06d)" % (device, passkey)) + in_signature="ouq", out_signature="") + def DisplayPasskey(self, device, passkey, entered): + print("DisplayPasskey (%s, %06u entered %u)" % (device, passkey, entered)) @dbus.service.method("org.bluez.Agent", in_signature="os", out_signature="") debian/patches/git-b57c64f-network-null-deref.patch0000664000000000000000000000155112402114310017211 0ustar From b57c64f1aa5c51dd785f2572636b8c41ada06d72 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Tue, 30 Aug 2011 15:10:46 +0200 Subject: [PATCH] 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 debian/patches/06-alsalib.patch0000664000000000000000000000235412402114310013462 0ustar Description: Please install ALSA plugin in the multiarch directory Author: Steve Langasek Origin: Steve Langasek Updated by Nobuhiro Iwamatsu Debian BTS: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634976 Index: bluez-4.101/Makefile.am =================================================================== --- bluez-4.101.orig/Makefile.am 2012-06-23 04:36:49.000000000 +1200 +++ bluez-4.101/Makefile.am 2012-07-04 13:33:05.468094284 +1200 @@ -337,7 +337,7 @@ proximity/proximity.conf if ALSA -alsadir = $(libdir)/alsa-lib +alsadir = $(ALSA_LIBDIR)/alsa-lib alsa_LTLIBRARIES = audio/libasound_module_pcm_bluetooth.la \ audio/libasound_module_ctl_bluetooth.la Index: bluez-4.101/acinclude.m4 =================================================================== --- bluez-4.101.orig/acinclude.m4 2012-06-23 04:36:49.000000000 +1200 +++ bluez-4.101/acinclude.m4 2012-07-04 13:33:05.468094284 +1200 @@ -119,6 +119,8 @@ AC_CHECK_LIB(rt, clock_gettime, ALSA_LIBS="$ALSA_LIBS -lrt", alsa_found=no) AC_SUBST(ALSA_CFLAGS) AC_SUBST(ALSA_LIBS) + ALSA_LIBDIR=`$PKG_CONFIG --variable=libdir alsa 2>/dev/null` + AC_SUBST(ALSA_LIBDIR) ]) AC_DEFUN([AC_PATH_USB], [ debian/patches/09_fix_ftbfs_with_c99.patch0000664000000000000000000000144112402114310015625 0ustar http://permalink.gmane.org/gmane.linux.bluez.kernel/22306 Index: ubuntu/lib/bluetooth.h =================================================================== --- ubuntu.orig/lib/bluetooth.h 2012-05-01 15:49:22.741014152 +0100 +++ ubuntu/lib/bluetooth.h 2012-05-01 15:49:54.553012753 +0100 @@ -140,16 +140,16 @@ #define bt_get_unaligned(ptr) \ ({ \ struct __attribute__((packed)) { \ - typeof(*(ptr)) __v; \ - } *__p = (typeof(__p)) (ptr); \ + __typeof__(*(ptr)) __v; \ + } *__p = (__typeof__(__p)) (ptr); \ __p->__v; \ }) #define bt_put_unaligned(val, ptr) \ do { \ struct __attribute__((packed)) { \ - typeof(*(ptr)) __v; \ - } *__p = (typeof(__p)) (ptr); \ + __typeof__(*(ptr)) __v; \ + } *__p = (__typeof__(__p)) (ptr); \ __p->__v = (val); \ } while(0) debian/patches/series0000664000000000000000000000122013155666711012042 0ustar 01_lower_sink_ranking.patch 02_disable_hal.patch 03-Fix-return-code-of-hid2hci.patch 06-alsalib.patch #07-fix-639356.patch # 08-0001-systemd-install-systemd-unit-files.patch enable_audio_profiles.patch 09_fix_ftbfs_with_c99.patch sbc_mmx.patch dinovo_edge_keyboard.patch git-57170b3-fix_network_connect_method.patch git-2f92669-permit_concurrent_ag_hf.patch git-a66a557-gdbus_missing_flags.patch git-b57c64f-network-null-deref.patch git-ea793cb-input_io_channel_watches.patch telephony_ofono_add_watch.patch 12_check_device_before_removing_from_devices.patch 13_reset_default_adapter_id.patch ssp_parameter.patch CVE-2016-7837.patch CVE-2017-1000250.patch debian/patches/12_check_device_before_removing_from_devices.patch0000664000000000000000000000141612402114310022501 0ustar ## Description: Check the device before removing from devices list. ## Origin/Author: Shih-Yuan Lee (FourDollars) ## Bug: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1300623 Index: bluez-4.98/audio/unix.c =================================================================== --- bluez-4.98.orig/audio/unix.c 2011-12-22 06:53:54.000000000 +0800 +++ bluez-4.98/audio/unix.c 2014-04-01 12:44:58.396129509 +0800 @@ -1762,9 +1762,11 @@ return TRUE; failed: - clients = g_slist_remove(clients, client); - start_close(client->dev, client, FALSE); - client_free(client); + if (g_slist_index(clients, client) != -1) { + clients = g_slist_remove(clients, client); + start_close(client->dev, client, FALSE); + client_free(client); + } return FALSE; } debian/patches/git-ea793cb-input_io_channel_watches.patch0000664000000000000000000000651512402114310020603 0ustar From ea793cb9f744cd2942b66385118161b880de958a Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Tue, 19 Jun 2012 12:44:43 +0300 Subject: [PATCH] input: Fix not adding watches when io channel is connected This can leave dangling pointers in case one of the channel is never connected which cause -EALREADY to be returned by input_device_set_channel next time the device attempts to connect. For the same reason the code path when acting as client now add the watch as soon as the connection completes instead when both channels are connected. --- input/device.c | 31 ++++++++++++++++++++++++------- 1 files changed, 24 insertions(+), 7 deletions(-) diff --git a/input/device.c b/input/device.c index 0e3f4a9..09a9a39 100644 --- a/input/device.c +++ b/input/device.c @@ -387,6 +387,11 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data struct input_conn *iconn = data; struct input_device *idev = iconn->idev; gboolean connected = FALSE; + char address[18]; + + ba2str(&iconn->idev->dst, address); + + DBG("Device %s disconnected", address); /* Checking for ctrl_watch avoids a double g_io_channel_shutdown since * it's likely that ctrl_watch_cb has been queued for dispatching in @@ -415,6 +420,11 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data) { struct input_conn *iconn = data; + char address[18]; + + ba2str(&iconn->idev->dst, address); + + DBG("Device %s disconnected", address); /* Checking for intr_watch avoids a double g_io_channel_shutdown since * it's likely that intr_watch_cb has been queued for dispatching in @@ -811,13 +821,6 @@ static int input_device_connected(struct input_device *idev, if (err < 0) return err; - iconn->intr_watch = g_io_add_watch(iconn->intr_io, - G_IO_HUP | G_IO_ERR | G_IO_NVAL, - intr_watch_cb, iconn); - iconn->ctrl_watch = g_io_add_watch(iconn->ctrl_io, - G_IO_HUP | G_IO_ERR | G_IO_NVAL, - ctrl_watch_cb, iconn); - connected = TRUE; emit_property_changed(idev->conn, idev->path, INPUT_DEVICE_INTERFACE, "Connected", DBUS_TYPE_BOOLEAN, &connected); @@ -854,6 +857,10 @@ static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err, dbus_message_unref(iconn->pending_connect); iconn->pending_connect = NULL; + iconn->intr_watch = g_io_add_watch(iconn->intr_io, + G_IO_HUP | G_IO_ERR | G_IO_NVAL, + intr_watch_cb, iconn); + return; failed: @@ -913,6 +920,10 @@ static void control_connect_cb(GIOChannel *chan, GError *conn_err, iconn->intr_io = io; + iconn->ctrl_watch = g_io_add_watch(iconn->ctrl_io, + G_IO_HUP | G_IO_ERR | G_IO_NVAL, + ctrl_watch_cb, iconn); + return; failed: @@ -1272,11 +1283,17 @@ int input_device_set_channel(const bdaddr_t *src, const bdaddr_t *dst, int psm, if (iconn->ctrl_io) return -EALREADY; iconn->ctrl_io = g_io_channel_ref(io); + iconn->ctrl_watch = g_io_add_watch(iconn->ctrl_io, + G_IO_HUP | G_IO_ERR | G_IO_NVAL, + ctrl_watch_cb, iconn); break; case L2CAP_PSM_HIDP_INTR: if (iconn->intr_io) return -EALREADY; iconn->intr_io = g_io_channel_ref(io); + iconn->intr_watch = g_io_add_watch(iconn->intr_io, + G_IO_HUP | G_IO_ERR | G_IO_NVAL, + intr_watch_cb, iconn); break; } -- 1.7.7.6 debian/patches/02_disable_hal.patch0000664000000000000000000001177612402114310014370 0ustar Description: Disable usage of Hal in the telephony plugins, and disable the hal plugin. They do not do very useful things anyway, and just cause hal to start up, which is expensive. Author: Martin Pitt Origin: Ubuntu Updated by Michael Biebl Updated by Nobuhiro Iwamatsu Debian BTS: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599023 Index: bluez-4.101/audio/telephony-maemo5.c =================================================================== --- bluez-4.101.orig/audio/telephony-maemo5.c 2012-06-14 03:04:20.000000000 +1200 +++ bluez-4.101/audio/telephony-maemo5.c 2012-07-04 13:31:49.200092014 +1200 @@ -1385,6 +1385,7 @@ return type == DBUS_TYPE_INVALID ? TRUE : FALSE; } +#if 0 /* Disable hal */ static void hal_battery_level_reply(DBusPendingCall *call, void *user_data) { DBusError err; @@ -1501,6 +1502,7 @@ dbus_message_iter_next(&array); } } +#endif /* Disable hal */ static void csd_call_free(struct csd_call *call) { @@ -1715,6 +1717,7 @@ dbus_message_unref(reply); } +#if 0 /* Disable hal */ static void hal_find_device_reply(DBusPendingCall *call, void *user_data) { DBusError err; @@ -1768,6 +1771,7 @@ done: dbus_message_unref(reply); } +#endif /* Disable hal */ static void phonebook_read_reply(DBusPendingCall *call, void *user_data) { @@ -2019,9 +2023,11 @@ else if (dbus_message_is_signal(msg, NETWORK_INTERFACE, "signal_strength_change")) handle_signal_strength_change(msg); +#if 0 /* Disable hal */ else if (dbus_message_is_signal(msg, "org.freedesktop.Hal.Device", "PropertyModified")) handle_hal_property_modified(msg); +#endif /* Disable hal */ else if (dbus_message_is_signal(msg, SSC_DBUS_IFACE, "modem_state_changed_ind")) handle_modem_state(msg); @@ -2078,6 +2084,7 @@ telephony_ready_ind(features, maemo_indicators, BTRH_NOT_SUPPORTED, chld_str); +#if 0 /* Disable hal */ if (send_method_call("org.freedesktop.Hal", "/org/freedesktop/Hal/Manager", "org.freedesktop.Hal.Manager", @@ -2086,7 +2093,7 @@ DBUS_TYPE_STRING, &battery_cap, DBUS_TYPE_INVALID) < 0) error("Unable to send HAL method call"); - +#endif /* Disable hal */ return 0; } Index: bluez-4.101/audio/telephony-maemo6.c =================================================================== --- bluez-4.101.orig/audio/telephony-maemo6.c 2012-06-14 03:04:20.000000000 +1200 +++ bluez-4.101/audio/telephony-maemo6.c 2012-07-04 13:31:49.200092014 +1200 @@ -1575,6 +1575,7 @@ return type == DBUS_TYPE_INVALID ? TRUE : FALSE; } +#if 0 /* Disable hal */ static void hal_battery_level_reply(DBusPendingCall *call, void *user_data) { DBusError err; @@ -1690,6 +1691,7 @@ dbus_message_iter_next(&array); } } +#endif /* Disable hal */ static void csd_call_free(void *data) { @@ -2044,9 +2046,11 @@ else if (dbus_message_is_signal(msg, CSD_CSNET_SIGNAL, "SignalBarsChanged")) handle_signal_bars_changed(msg); +#if 0 /* Disable hal */ else if (dbus_message_is_signal(msg, "org.freedesktop.Hal.Device", "PropertyModified")) handle_hal_property_modified(msg); +#endif else if (dbus_message_is_signal(msg, SSC_DBUS_IFACE, "modem_state_changed_ind")) handle_modem_state(msg); @@ -2065,6 +2069,7 @@ watches = g_slist_prepend(watches, GUINT_TO_POINTER(watch)); } +#if 0 /* Disable hal */ static void hal_find_device_reply(DBusPendingCall *call, void *user_data) { DBusError err; @@ -2115,6 +2120,8 @@ remove_pending(call); } +#endif /* Disable hal */ + int telephony_init(void) { const char *battery_cap = "battery"; @@ -2154,6 +2161,7 @@ telephony_ready_ind(features, maemo_indicators, BTRH_NOT_SUPPORTED, chld_str); +#if 0 /* Disable hal */ if (send_method_call("org.freedesktop.Hal", "/org/freedesktop/Hal/Manager", "org.freedesktop.Hal.Manager", @@ -2162,7 +2170,7 @@ DBUS_TYPE_STRING, &battery_cap, DBUS_TYPE_INVALID) < 0) error("Unable to send HAL method call"); - +#endif return 0; } Index: bluez-4.101/audio/telephony-ofono.c =================================================================== --- bluez-4.101.orig/audio/telephony-ofono.c 2012-06-14 03:04:20.000000000 +1200 +++ bluez-4.101/audio/telephony-ofono.c 2012-07-04 13:31:49.200092014 +1200 @@ -1343,6 +1343,7 @@ return TRUE; } +#if 0 /* Disable hal */ static void hal_battery_level_reply(DBusPendingCall *call, void *user_data) { DBusMessage *reply; @@ -1526,6 +1527,7 @@ dbus_message_unref(reply); remove_pending(call); } +#endif /* Disable hal */ static void handle_service_connect(DBusConnection *conn, void *user_data) { @@ -1581,6 +1583,7 @@ watches = g_slist_prepend(watches, GUINT_TO_POINTER(watch)); +#if 0 /* Disable hal */ ret = send_method_call("org.freedesktop.Hal", "/org/freedesktop/Hal/Manager", "org.freedesktop.Hal.Manager", @@ -1590,7 +1593,7 @@ DBUS_TYPE_INVALID); if (ret < 0) return ret; - +#endif DBG("telephony_init() successfully"); telephony_ready_ind(features, ofono_indicators, BTRH_NOT_SUPPORTED, debian/patches/CVE-2017-1000250.patch0000600000000000000000000000323513155637036013453 0ustar Description: validate continuation requested data size Origin: Armis Security CVE-2017-1000250 Included is our offered patch for the information leak vulnerability: diff --git a/src/sdpd-request.c b/src/sdpd-request.c index 1eefdce..ddeea7f 100644 --- a/src/sdpd-request.c +++ b/src/sdpd-request.c @@ -918,15 +918,20 @@ static int service_search_attr_req(sdp_req_t *req, sdp_buf_t *buf) /* continuation State exists -> get from cache */ sdp_buf_t *pCache = sdp_get_cached_rsp(cstate); if (pCache) { - uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); - pResponse = pCache->data; - memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); - buf->data_size += sent; - cstate->cStateValue.maxBytesSent += sent; - if (cstate->cStateValue.maxBytesSent == pCache->data_size) - cstate_size = sdp_set_cstate_pdu(buf, NULL); - else - cstate_size = sdp_set_cstate_pdu(buf, cstate); + if (cstate->cStateValue.maxBytesSent >= pCache->data_size) { + status = SDP_INVALID_CSTATE; + SDPDBG("Got bad cstate with invalid size"); + } else { + uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); + pResponse = pCache->data; + memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); + buf->data_size += sent; + cstate->cStateValue.maxBytesSent += sent; + if (cstate->cStateValue.maxBytesSent == pCache->data_size) + cstate_size = sdp_set_cstate_pdu(buf, NULL); + else + cstate_size = sdp_set_cstate_pdu(buf, cstate); + } } else { status = SDP_INVALID_CSTATE; SDPDBG("Non-null continuation state, but null cache buffer"); debian/patches/telephony_ofono_add_watch.patch0000664000000000000000000000306712402114310017037 0ustar From: Mathieu Trudel-Lapierre Subject: Move add_watch so it's available to the code calling it. It should not have been conditioned out, add_watch is not hal code and is used elsewhere in the telephony ofono plugin. --- audio/telephony-ofono.c | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) Index: b/audio/telephony-ofono.c =================================================================== --- a/audio/telephony-ofono.c +++ b/audio/telephony-ofono.c @@ -1465,18 +1465,6 @@ static gboolean handle_hal_property_modi return TRUE; } -static void add_watch(const char *sender, const char *path, - const char *interface, const char *member, - GDBusSignalFunction function) -{ - guint watch; - - watch = g_dbus_add_signal_watch(connection, sender, path, interface, - member, function, NULL, NULL); - - watches = g_slist_prepend(watches, GUINT_TO_POINTER(watch)); -} - static void hal_find_device_reply(DBusPendingCall *call, void *user_data) { DBusMessage *reply; @@ -1529,6 +1517,18 @@ done: } #endif /* Disable hal */ +static void add_watch(const char *sender, const char *path, + const char *interface, const char *member, + GDBusSignalFunction function) +{ + guint watch; + + watch = g_dbus_add_signal_watch(connection, sender, path, interface, + member, function, NULL, NULL); + + watches = g_slist_prepend(watches, GUINT_TO_POINTER(watch)); +} + static void handle_service_connect(DBusConnection *conn, void *user_data) { DBG("telephony-ofono: %s found", OFONO_BUS_NAME); debian/patches/git-2f92669-permit_concurrent_ag_hf.patch0000664000000000000000000000312212402114310020216 0ustar From 2f92669697152848f2fae584d45fde5d80ea6eb8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fr=C3=A9d=C3=A9ric=20Dalleau?= Date: Fri, 22 Jun 2012 16:11:25 +0200 Subject: [PATCH] audio: Permit concurrent use of AG and HF roles Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1026378 If a device supports both HF and AG roles, then if a SCO connection related to AG profile happens, the connection is rejected because HF is not connected. One consequence is pulseaudio failing to load bluetooth module. --- audio/main.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/audio/main.c b/audio/main.c index 5c751af..a48c8b8 100644 --- a/audio/main.c +++ b/audio/main.c @@ -102,7 +102,7 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data) if (device->headset) { if (headset_get_state(device) < HEADSET_STATE_CONNECTED) { DBG("Refusing SCO from non-connected headset"); - goto drop; + goto gateway; } if (!headset_get_hfp_active(device)) { @@ -115,7 +115,11 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data) goto drop; headset_set_state(device, HEADSET_STATE_PLAYING); - } else if (device->gateway) { + goto connect; + } + +gateway: + if (device->gateway) { if (!gateway_is_connected(device)) { DBG("Refusing SCO from non-connected AG"); goto drop; @@ -126,6 +130,7 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data) } else goto drop; +connect: sk = g_io_channel_unix_get_fd(chan); fcntl(sk, F_SETFL, 0); -- 1.7.7.6 debian/patches/CVE-2016-7837.patch0000664000000000000000000000124113155666737013272 0ustar From 8514068150759c1d6a46d4605d2351babfde1601 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Wed, 7 Sep 2016 08:45:12 +0300 Subject: tools/csr: Fix possible buffer overflow Make sure we don't write past the end of the array. --- tools/csr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: b/tools/csr.c =================================================================== --- a/tools/csr.c +++ b/tools/csr.c @@ -2754,7 +2754,7 @@ static int parse_line(char *str) if (!off) return -EIO; - while (1) { + while (length <= sizeof(array) - 2) { value = strtol(off, &end, 16); if (value == 0 && off == end) break; debian/patches/dinovo_edge_keyboard.patch0000664000000000000000000000176512402114310015777 0ustar Description: work around Logitech diNovo Edge keyboard firmware issue Author: Tommy Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/269851 Index: bluez/scripts/bluetooth-hid2hci.rules =================================================================== --- bluez.orig/scripts/bluetooth-hid2hci.rules 2012-07-27 14:28:05.426609000 +1200 +++ bluez/scripts/bluetooth-hid2hci.rules 2012-07-27 14:40:01.949356631 +1200 @@ -11,7 +11,10 @@ RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1" # Logitech devices -KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \ +KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[3bc]", \ + RUN+="hid2hci --method=logitech-hid --devpath=%p" +# Logitech, Inc. diNovo Edge Keyboard +KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c714", \ RUN+="hid2hci --method=logitech-hid --devpath=%p" ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end" debian/patches/13_reset_default_adapter_id.patch0000664000000000000000000000125312402114310017132 0ustar ## Description: Reset default_adapter_id when there is no adapter. ## Origin/Author: Shih-Yuan Lee (FourDollars) ## Bug: https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1303819 Index: trusty/src/manager.c =================================================================== --- trusty.orig/src/manager.c 2014-04-08 10:26:15.040776000 +0800 +++ trusty/src/manager.c 2014-04-08 10:53:58.450958330 +0800 @@ -305,8 +305,10 @@ adapter_remove(adapter); btd_adapter_unref(adapter); - if (adapters == NULL) + if (adapters == NULL) { + default_adapter_id = -1; btd_start_exit_timer(); + } } void manager_cleanup(DBusConnection *conn, const char *path) debian/patches/01_lower_sink_ranking.patch0000664000000000000000000000137212402114310016014 0ustar Description: a2dpsink should have a rank < GST_RANK_MARGINAL Author: Sebastian Dröge Origin: Sebastian Dröge Updated by Nobuhiro Iwamatsu Debian BTS: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=571595 Index: bluez-4.101/audio/gsta2dpsink.c =================================================================== --- bluez-4.101.orig/audio/gsta2dpsink.c 2012-06-14 03:04:20.000000000 +1200 +++ bluez-4.101/audio/gsta2dpsink.c 2012-07-04 13:31:44.272091868 +1200 @@ -725,5 +725,5 @@ gboolean gst_a2dp_sink_plugin_init(GstPlugin *plugin) { return gst_element_register(plugin, "a2dpsink", - GST_RANK_MARGINAL, GST_TYPE_A2DP_SINK); + GST_RANK_MARGINAL-1, GST_TYPE_A2DP_SINK); } debian/bluetooth-agent.10000664000000000000000000000070012402114310012334 0ustar .TH BLUETOOTH-AGENT "1" "March 2010" .SH NAME bluetooth-agent \- Bluetooth pass agent .SH SYNOPSIS .B bluetooth-agent .SH DESCRIPTION \fBBluetooth-agent\fP is pass agent program for bluetooth. .SH USAGE .TP bluetooth-agent [\fB--adapter\fP adapter-path] [\fB--path\fP agent-path] [] .SH AUTHOR This manual page was written by Nobuhiro Iwamatsu , for the Debian GNU/Linux system (but may be used by others). debian/NEWS0000664000000000000000000001537112402114310007662 0ustar bluez-utils (4.40-1) unstable; urgency=low This version includes a new hid2hci program which expects the vendor ID and product ID of the device to be switched to HID/HCI mode, this means the switching is no longer done in init script but via udev rules for supported devices. Adding new devices can be done by dropping rules into /etc/udev/rules.d/ similar to ones found in /lib/udev/rules.d/62-bluez-hid2hci.rules or by manually running hid2hci, see hid2hci(8) manpage for further information. This version also ships a simple commandline agent (bluetooth-agent) to do pairing on the command line -- Filippo Giunchedi Fri, 22 May 2009 15:21:35 +0200 bluez-utils (3.36-3) unstable; urgency=low This version includes an new d-bus policy with updated access control. As a result of this, only users of netdev group or which are in front of the computer (i.e. match the at_console="true" rule) are able to communicate with hcid via dbus. See also #510644. -- Filippo Giunchedi Thu, 08 Jan 2009 18:35:38 +0100 bluez-utils (3.30-2) unstable; urgency=low This upstream version switches the service infrastructure from external processes to shared objects. Services (i.e. audio) are started automatically and do not require a .service file in /etc/bluetooth/. audio.service will be removed automatically by the upgrade unless modified. -- Filippo Giunchedi Mon, 14 Apr 2008 17:34:21 +0200 bluez-utils (3.7-1) unstable; urgency=low This version reverts the /etc/bluetooth/passkeys infrastructure as agents for passkeys are not supposed to be system-wide. A bluez-passkey-gnome is provided as a passkey agent, plus there's a example passkey-agent in /usr/share/doc/bluez-utils/examples/passkey-agent.c -- Filippo Giunchedi Sat, 7 Oct 2006 11:43:09 +0200 bluez-utils (3.1-3) unstable; urgency=low This version includes a new management for outgoing passkey (PIN) requests while the incoming passkeys defaults to 1234 in /etc/bluetooth/hcid.conf. See README.Debian for further informations. -- Filippo Giunchedi Wed, 26 Jul 2006 11:37:14 +0200 bluez-utils (3.1-1) unstable; urgency=low This new upstream version removes the need for external pin helper, pin requests are handled via dbus. The default pin (or now-called "passkey") is set to 1234 for backward compatibility. Also, udev rules for pcmcia card are included along with /lib/udev/bluetooth.sh (setserial required) in the bluez-pcmcia-support. -- Filippo Giunchedi Wed, 26 Jul 2006 11:37:02 +0200 bluez-utils (2.24-1) unstable; urgency=low This version moves /etc/{init.d,default}/bluez-utils to /etc/{init.d,default}/bluetooth for LSB compilance. If local modifications are detected the new files will be installed with the ".dpkg-new" suffix -- Filippo Giunchedi Wed, 7 Jun 2006 13:57:35 +0200 bluez-utils (2.19-1) unstable; urgency=high * Includes new D-BUS support: sends signals for inquiry results and remote name resolves. * Also adds support for device-specific SDP records. -- Edd Dumbill Fri, 19 Aug 2005 01:12:02 +0100 bluez-utils (2.9-1) unstable; urgency=low * This release improves input device support: EPoX keyboards and their new HID presenters should now work correctly in report protocol mode. -- Edd Dumbill Sun, 8 Aug 2004 15:19:24 +0100 bluez-utils (2.8-1) unstable; urgency=low * Users of dongles with HID proxy capability (this is where the dongle pretends to be a keyboard and mouse until it is switched into Bluetooth mode, allowing Bluetooth input devices to be used in BIOS etc.) are now supported. The switch is made as part of the bluez-utils init script. -- Edd Dumbill Mon, 14 Jun 2004 14:24:12 +0100 bluez-utils (2.7-1) experimental; urgency=low * Upstream has merged bluez-pan with this package. You should remove the /etc/init.d/bluez-pan script, and use /etc/default/bluez-utils to configure dund and pand, although for the moment the old /etc/default/bluez-pan is also read. * This source package now has Bluetooth printing support, which is built into the bluez-cups binary package. * DBUS support has been enabled in this build. To use it, add 'dbus_pin_helper' into the options section, and comment out the pin_helper. DBUS-aware pin helpers such as that in bluez-pin will now be used. * Bluetooth HID devices (eg, mouse, keyboard) are now supported for Linux 2.6.6 or better running the hidp patch from bluez.org. If running these, set HIDD_ENABLED to 1 in /etc/default/bluez-utils to enable support, then run hidd --connect to connect to your keyboard or mouse. -- Edd Dumbill Wed, 26 May 2004 12:43:08 +0100 bluez-utils (2.6-1) experimental; urgency=low * Upstream has merged bluez-sdp with this package. The sdp tools are now in this package. You should remove the /etc/init.d/bluez-sdp script. * All tools from /sbin now live in /usr/sbin: hciattach hciconfig hcid l2ping. -- Edd Dumbill Thu, 6 May 2004 11:58:16 +0100 bluez-utils (2.4-4) unstable; urgency=high * If you still use the old 'bluepin' PIN assistant: note it has moved from /bin/ to /usr/bin/. You will need to update your hcid.conf accordingly. Even better, install bluez-pin and use the helper from there instead. * hcitool has also moved to /usr/bin, and l2ping to /sbin. -- Edd Dumbill Wed, 15 Jan 2004 18:37:32 +0000 bluez-utils (2.4-3) unstable; urgency=low * If you're using devfsd and a recent Linux kernel (2.4.22 or later, or 2.6.x), remove the file /etc/devfs/devices.d/bluez and run update-devfsd. This will stop your system complaining when devfsd is started. This package no longer installs that file, but you must remove it yourself. If you need it in future, you can find it in /usr/share/doc/bluez-utils. -- Edd Dumbill Wed, 14 Jan 2004 21:14:35 +0000 bluez-utils (2.4-1) unstable; urgency=low * The rfcomm program has changed slightly: you now need a "bind yes" in each entry in /etc/bluetooth/rfcomm.conf to ensure they are bound at startup time. See man rfcomm for more details. -- Edd Dumbill Thu, 1 Jan 2004 18:38:35 +0100 bluez-utils (2.3-2) unstable; urgency=low * This package now depends on a new PIN helper bluez-pin. If you are upgrading this package and want to use the new helper instead of the default one (highly recommended) then alter your pin_helper line in /etc/bluetooth/hcid.conf to specify /usr/bin/bluez-pin. -- Edd Dumbill Thu, 28 Aug 2003 12:38:35 +0100 debian/source.lintian-overrides0000664000000000000000000000031412402114310014032 0ustar # transitional packages bluez source: debhelper-but-no-misc-depends bluez-utils bluez source: debhelper-but-no-misc-depends bluez-audio # metapackage bluez source: debhelper-but-no-misc-depends bluetooth debian/bluez.examples0000664000000000000000000000005112402114310012031 0ustar test/list-devices test/monitor-bluetooth debian/bluez-cups.README.Debian0000664000000000000000000000073712402114310013314 0ustar bluez-cups To configure a Bluetooth printer, set it up in CUPS like it was connected to your parallel or USB port. Then edit your /etc/cups/printers.conf and replace the device URI with a bluetooth one. The printer's URI will look something like this: bluetooth://00408C5E5DA4/spp If your printer uses HCRP (hardcopy cable replacement protocol) then remove the "/spp" from the end. SPP is serial port protocol. -- Edd Dumbill , Fri Jul 16 19:25:21 BST 2004 debian/copyright0000664000000000000000000001040412402114310011106 0ustar This package was debianized by Edd Dumbill on Sat, 13 Apr 2002 16:09:02 +0100. It was downloaded from http://www.bluez.org/ BlueZ - Bluetooth protocol stack for Linux Copyright: Copyright (C) 2001-2009 Marcel Holtmann Copyright (C) 2006-2009 Nokia Corporation Copyright (C) 2000-2003 Maxim Krasnyansky Copyright (C) 2002-2003 Jean Tourrilhes Copyright (C) 2007-2008 Frederic Dalleau Copyright (C) 2007-2008 Texas Instruments, Inc. Copyright (C) 2000-2005 CSR Ltd. Copyright (C) 2005-2008 Brad Midgley Copyright (C) 2007-2008 David Stockwell Copyright (C) 2007-2008 Fabien Chevalier Copyright (C) 2005-2006 Claudio Takahasi Copyright (C) 2006-2007 Luiz von Dentz Copyright (C) 2005-2007 Johan Hedberg Copyright (C) 2005-2006 Brad Midgley Copyright (C) 2004-2005 Henryk Ploetz Copyright (C) 2002-2003 Stephen Crane Copyright (C) 2000-2001 Qualcomm Incorporated Copyright (C) 2008 Joao Paulo Rechi Vita Copyright (C) 2009 Lennart Poettering Copyright (C) 2004 Scott James Remnant Copyright (C) 2009 Intel Corporation License: audio/ a2dp.c a2dp.h avdtp.c avdtp.h control.c control.h device.c device.h gateway.c gateway.h headset.c headset.h main.c manager.c manager.h sink.c sink.h telephony-dummy.c telephony-maemo.c telephony.h unix.c unix.h License: GPL version 2 or any later version gsta2dpsink.c gsta2dpsink.h gstavdtpsink.c gstavdtpsink.h gstbluetooth.c gstrtpsbcpay.c gstrtpsbcpay.h gstsbcdec.c gstsbcdec.h gstsbcenc.c gstsbcenc.h gstsbcparse.c gstsbcparse.h gstsbcutil.c gstsbcutil.h pcm_bluetooth.c gstbluetooth.c: ctl_bluetooth.c ipc.c ipc.h rtp.h ipctest.c License: LGPL version 2.1 or any later version sbc/ formats.h sbcdec.c sbcenc.c sbcinfo.c sbctester.c License: GPL version 2 or any later version sbc.c sbc.h sbc_math.h sbc_primitives.c sbc_primitives.h sbc_primitives_mmx.c sbc_primitives_mmx.h sbc_primitives_neon.c sbc_primitives_neon.h sbc_tables.h License: LGPL version 2.1 or any later version tools/ ubcsp.c ubcsp.h License: MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. avctrl.c bccmd.c avinfo.c ciptool.c csr.c csr.h csr_3wire.c csr_bcsp.c csr_h4.c csr_hci.c csr_usb.c dfu.c dfu.h dfubabel.c dfutool.c hciattach.h hciattach_st.c hciattach_tialt.c hid2hci.c ppporc.c hciattach_ti.c hciattach.c hciconfig.c hcitool.c l2ping.c hcisecfilter.c sdptool.c License: GPL version 2 or any later version doc/ All files. License: GFDL version 1.1 or any later version No Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. other: License: GPL version 2 or any later version On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2', the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1' and the GNU Free Documentation License can be found in `/usr/share/common-licenses/GFDL'. debian/bluez.maintscript0000664000000000000000000000006112402114310012551 0ustar rm_conffile /etc/default/bluetooth 4.98-2ubuntu4 debian/rules0000775000000000000000000000522012402114310010233 0ustar #!/usr/bin/make -f # build rules for bluez include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/rules/autoreconf.mk include /usr/share/cdbs/1/class/autotools.mk include /usr/share/cdbs/1/rules/patchsys-quilt.mk LDFLAGS += -Wl,--as-needed DEB_DH_INSTALLINIT_ARGS = "--name=bluetooth" DEB_CONFIGURE_EXTRA_FLAGS := LDFLAGS=-Wl,--as-needed \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ --enable-static \ --disable-hal \ --enable-sap \ --enable-health \ --enable-gstreamer \ --enable-alsa \ --enable-usb \ --enable-tools \ --enable-bccmd \ --enable-pcmcia \ --enable-hid2hci \ --enable-dfutool \ --enable-hidd \ --enable-pand \ --enable-dund \ --enable-cups \ --enable-test \ --enable-datafiles \ --enable-debug \ --enable-dbusoob \ --enable-wiimote \ --enable-gatt \ --with-telephony=ofono \ --with-systemdunitdir=/lib/systemd/system DEB_DESTDIR := $(CURDIR)/debian/tmp # for debug pakcages DEB_DBG_PACKAGES = bluez-dbg libbluetooth3-dbg TEST_PROGRAM_LIST = simple-agent simple-service test-adapter test-audio test-device \ test-discovery test-input test-manager test-network test-serial \ test-service test-telephony install/bluez:: install -D -m 0755 $(CURDIR)/debian/bluez_agent.udev \ $(CURDIR)/debian/bluez/lib/udev/bluez install -D -m 0755 $(CURDIR)/test/agent \ $(CURDIR)/debian/bluez/usr/bin/bluetooth-agent for d in $(TEST_PROGRAM_LIST) ; do \ install -D -m 0755 $(CURDIR)/test/$$d \ $(CURDIR)/debian/bluez/usr/bin/bluez-$$d ; \ done install -D -m 0644 $(CURDIR)/debian/README.examples \ $(CURDIR)/debian/bluez/usr/share/doc/bluez/examples/README binary-install/bluez-gstreamer:: LD_LIBRARY_PATH="$(CURDIR)/debian/tmp/usr/lib:$(LD_LIBRARY_PATH)" \ dh_gstscancodecs -pbluez-gstreamer binary-install/bluez:: install -D -m 0644 $(CURDIR)/debian/bluetooth-dbus.conf \ $(CURDIR)/debian/bluez/etc/dbus-1/system.d/bluetooth.conf common-install-arch:: dh_python3 clean:: -rm -f $(CURDIR)/debian/bluez-pcmcia-support.udev debian/README.examples0000664000000000000000000000020312402114310011644 0ustar These examples are from the test/ directory of bluez distribution, you'll need python-gobject and python-dbus to run some of them. debian/l2test.10000664000000000000000000000322612402114310010456 0ustar .TH L2TEST "1" "January 2012" .SH NAME l2test \- L2CAP testing .SH SYNOPSIS .B l2test .SH DESCRIPTION \fBl2test\fP is L2CAP testing program. .SH USAGE l2test [options] [bdaddr] Modes: \fB-r\fP listen and receive \fB-w\fP listen and send \fB-d\fP listen and dump incoming data \fB-x\fP listen, then send, then dump incoming data \fB-s\fP connect and send \fB-u\fP connect and receive \fB-n\fP connect and be silent \fB-y\fP connect, then send, then dump incoming data \fB-c\fP connect, disconnect, connect, \.\.\. \fB-m\fP multiple connects \fB-p\fP trigger dedicated bonding \fB-z\fP information request Options: [\fB-b\fP bytes] [\fB-i\fP device] [\fB-P\fP psm] [\fB-J\fP cid] [\fB-I\fP imtu] [\fB-O\fP omtu] [\fB-L\fP seconds] enable SO_LINGER [\fB-W\fP seconds] enable deferred setup [\fB-B\fP filename] use data packets from file [\fB-N\fP num] send num frames (default = infinite) [\fB-C\fP num] send num frames before delay (default = 1) [\fB-D\fP milliseconds] delay after sending num frames (default = 0) [\fB-X\fP mode] select retransmission/flow-control mode [\fB-Q\fP num] Max Transmit value (default = 3) [\fB-Z\fP size] Transmission Window size (default = 63) [\fB-F\fP fcs] use CRC16 check (default = 1) [\fB-R\fP] reliable mode [\fB-G\fP] use connectionless channel (datagram) [\fB-U\fP] use sock stream [\fB-A\fP] request authentication [\fB-E\fP] request encryption [\fB-S\fP] secure connection [\fB-M\fP] become master [\fB-T\fP] enable timestamps .SH AUTHOR This manual page was written by Nobuhiro Iwamatsu , for the Debian GNU/Linux system (but may be used by others). debian/bluez-udev0000664000000000000000000000025712402114310011165 0ustar #!/bin/sh -e # /usr is not guaranteed to be mounted when udev starts ( . /lib/udev/hotplug.functions wait_for_file /usr/sbin/bluetoothd exec /usr/sbin/bluetoothd "$@" ) & debian/bluez-compat.dirs0000664000000000000000000000003312402114310012435 0ustar usr/bin usr/share/man/man1 debian/changelog0000664000000000000000000010256413155667434011070 0ustar bluez (4.101-0ubuntu13.3) trusty-security; urgency=medium * SECURITY UPDATE: information disclosure in service discovery protocol daemon. - debian/patches/CVE-2017-1000250.patch: validate continuation request size before sending response. - CVE-2017-1000250 * SECURITY UPDATE: buffer overflow in command line tools - debian/patches/CVE-2016-7837.patch: ensure write does not go past end of array. - CVE-2016-7837 -- Steve Beattie Mon, 11 Sep 2017 18:53:46 -0700 bluez (4.101-0ubuntu13.1) trusty-proposed; urgency=medium * Add ssp parameter fix, add a missing parameter entered in agent dbus API. Fixed Logitech Bluetooth Keyboard K760, Logitech Bluetooth Keyboard K810, HP Bluetooth Keyboard K4000 secure simple pairing failed issue. (LP: #1035431) backported bluez5 commits: upstream commit 546fee067daedc2b7860481aeaebd1771d192dfb mgmt: Implement support for Passkey Notify event upstream commit 97b930870dcd016b9cdd612e47b832736b4d0c5d core: Refactor authentication handling upstream commit e86fe268c77017731b792296eea16206918f1852 agent: Add missing parameter to DisplayPasskey upstream commit 6a394b2c7f19b53b630bef2e865f9bc289d4b75c agent-api: DisplayPasskey: D-Bus doesn't have a uint8 type -- Jian-Ding Chen (timchen119) Thu, 04 Sep 2014 13:34:39 -0400 bluez (4.101-0ubuntu13) trusty; urgency=medium * debian/rules: Disable pnat, it shouldn't have been compiled in the first place; since it's only really useful on Maemo. (LP: #1280584) -- Mathieu Trudel-Lapierre Thu, 10 Apr 2014 16:10:13 -0400 bluez (4.101-0ubuntu12) trusty; urgency=low * debian/patches/13_reset_default_adapter_id.patch: Reset default_adapter_id when there is no adapter. (LP: #1303819) -- Shih-Yuan Lee (FourDollars) Tue, 08 Apr 2014 10:54:11 +0800 bluez (4.101-0ubuntu11) trusty; urgency=low * debian/patches/12_check_device_before_removing_from_devices.patch: The power of some Bluetooth device will be cut and the device will be removed from the devices list when suspending, so it has to check if the device still exists in the devices list. (LP: #1300623) -- Shih-Yuan Lee (FourDollars) Wed, 02 Apr 2014 23:53:58 -0400 bluez (4.101-0ubuntu10) trusty; urgency=low * debian/patches/telephony_ofono_add_watch.patch: fix telephony-ofono code to have the add_watch function not be conditioned out, since it's used. * debian/rules: explicitly specify to use ofono a the telephony service. * debian/bluez.dirs: add /var/lib/bluetooth, we need to have it created on Ubuntu Touch so that discovery writes cache data for classes, seen addresses, etc. (LP: #1234361) -- Mathieu Trudel-Lapierre Thu, 19 Dec 2013 21:36:00 -0500 bluez (4.101-0ubuntu9) trusty; urgency=medium * Use dh-autoreconf for current libtool. -- Steve Langasek Mon, 16 Dec 2013 01:20:58 -0800 bluez (4.101-0ubuntu8b1) raring; urgency=low * No-change rebuild against libudev1 -- Martin Pitt Wed, 13 Mar 2013 06:59:51 +0000 bluez (4.101-0ubuntu8) raring; urgency=low * debian/patches/enable_audio_profiles.patch: refreshed to *really* fix the socket API being enabled when it shouldn't as per upstream... -- Mathieu Trudel-Lapierre Thu, 06 Dec 2012 11:14:39 -0500 bluez (4.101-0ubuntu7) raring; urgency=low * debian/patches/socket_audio.patch: drop patch; PulseAudio has grown support for MediaEndpoint and the cohabitation of the socket and dbus APIs does not work well in PulseAudio 2.99. Furthermore, the socket API gets dropped in the next bluez release, so let's not force a deprecated API enabled now that's we have an alternative. * debian/patches/enable_audio_profiles.patch: refreshed. -- Mathieu Trudel-Lapierre Fri, 30 Nov 2012 20:58:15 -0500 bluez (4.101-0ubuntu6) quantal; urgency=low * debian/rules: add --enable-gatt (and remove the unrecognized configure options left over from previous releases). This fixes a regression in the support for Low Energy bluetooth devices such as thermometer probes and the like. (LP: #1055616) -- Mathieu Trudel-Lapierre Fri, 28 Sep 2012 17:03:12 -0400 bluez (4.101-0ubuntu5) quantal; urgency=low * debian/source_bluez.py: suggest installing bluez-hcidump as a step to get hci debugging information. (LP: #652057) * debian/control: add bluez-hcidump to Suggests for bluez, since it can be useful for debugging bluetooth issues (and suggested by the apport hook). -- Mathieu Trudel-Lapierre Wed, 15 Aug 2012 14:08:16 -0400 bluez (4.101-0ubuntu4) quantal; urgency=low * debian/patches/git-57170b3-fix_network_connect_method.patch: set the correct parameters and return values for the org.bluez.Network Connect() method. (LP: #1036241) * debian/patches/git-2f92669-permit_concurrent_ag_hf.patch: allow AG and HF roles to be enabled concurrently; should fix cases where HFP/HSP doesn't show in pulseaudio (where the plugin fails to start) (LP: #1026378) * debian/patches/git-a66a557-gdbus_missing_flags.patch: upstream converted to using GDBus macros, but some flags got lost in the process. Fix them. * debian/patches/git-b57c64f-network-null-deref.patch: fix an issue with NULL dereferencing when evaluating network interface names/indexes. * debian/patches/git-ea793cb-input_io_channel_watches.patch: Ensure input IO channel watches are always properly added when channels are connected. -- Mathieu Trudel-Lapierre Mon, 13 Aug 2012 17:16:30 -0400 bluez (4.101-0ubuntu3) quantal; urgency=low * debian/patches/dinovo_edge_keyboard.patch: support diNovo Edge keyboard. (LP: #269851) -- Tommy Fri, 27 Jul 2012 15:15:48 +1200 bluez (4.101-0ubuntu2) quantal; urgency=low * debian/control: enable autopkgtest tests; add XS-Testsuite. * debian/tests/control, debian/tests/bluez_response: add new tests for bluez adapter and device support. -- Mathieu Trudel-Lapierre Thu, 12 Jul 2012 14:53:13 -0400 bluez (4.101-0ubuntu1) quantal-proposed; urgency=low * New upstream release * debian/libbluetooth3.symbols: - Updated * debian/patches/10-unregister_interface_on_exit.patch: * debian/patches/11-explicitly_close.patch: * debian/patches/python3.patch: - Applied upstream -- Robert Ancell Wed, 04 Jul 2012 13:28:49 +1200 bluez (4.99-2ubuntu2) quantal; urgency=low * debian/source_bluez.py: Drop tabs to fix compatibility with Python 3. Thanks Edward Donovan! (LP: #1013171) -- Martin Pitt Mon, 18 Jun 2012 14:58:49 +0200 bluez (4.99-2ubuntu1) quantal; urgency=low [ Iain Lane ] * Merge with Debian unstable, remaining changes: - Upstart support: o Add debian/bluez.bluetooth.upstart and drop debian/bluez.bluetooth.default. o debian/rules: Drop -DEB_UPDATE_RCD_PARAMS o Disable 07-fix-639356.patch and don't install 97-bluetooth.rules (in debian/bluez.install) and debian/bluez-udev (in debian/rules), we don't want to use the udev rules to start bluez. The upstart job does that already. - debian/bluez-alsa.install: Install ALSA bluetooth configuration into the right place for ALSA 1.0.25. - Add debian/source_bluez.py Apport package hook. Install in debian/bluez.install. - debian/control: Build against libnl3-dev, not libnl-dev. - debian/patches/socket_audio.patch: re-enable the socket API for the bluetooth audio manager. This reverts an upstream change that switches to the MediaEndpoint DBus API by default, but it looks like PulseAudio isn't quite ready to use that yet. - Add sbc_mmx.patch: Fix building with gcc 4.7. - debian/patches/10-unregister_interface_on_exit.patch: unregister the SAP interface on exit. - debian/patches/11-explicitly_close.patch: make sure the io channel for HFP is properly closed on exit. - debian/patches/enable_audio_profiles.patch: properly enable the Source profile, its state is checked twice, once in audio/a2dp.c again which was not taken into account in the previous upload. - Drop debian/bluez.preinst and debian/bluez-alsa.preinst: Obsolete conffile migrations, 10.04 LTS has a much newer version. - Transition the BLUETOOTH_ENABLED variable to an Upstart override variable if it's been changed. * debian/control: Continue depending on module-init-tools instead of kmod (reverts Debian change), as we do not have the latter yet. * debian/patches/python3.diff: Some additional changes [ Steve Langasek ] * Switch to python3. -- Iain Lane Tue, 01 May 2012 15:42:57 +0100 bluez (4.99-2) unstable; urgency=low * Update debian/control. - Drop obsolete python-gobject dependency. (Closes: #663744) python-gi is used instead. - Change module-init-tools dependency to kmod. (Closes: #663359) * Fix FTBFS with -std=c99 option. (Closes: #661879) Add patches/09_fix_ftbfs_with_c99.patch * Update debian/README.Debian. (Closes: #663955) Add more infomation about alsa.conf. * Update bluez.postint. (Closes: #663066) Remove udev reload and makedev from postinst. -- Nobuhiro Iwamatsu Fri, 23 Mar 2012 17:51:50 +0900 bluez (4.99-1) unstable; urgency=low * New upstream release. * Update debian/control. - Update Standards-Version to 3.9.3. - Use architecture wild-card linux-any. (Closes: #662095) - Update version of cdbs to >= 0.4.97. * Remove some patches. Applied to version 4.99. - 09_fix_compile_with_C++.patch - 10-audio-Fix-disabling-local-A2DP-endpoints-when-UNIX-s.patch -- Nobuhiro Iwamatsu Thu, 08 Mar 2012 08:01:05 +0900 bluez (4.98-3) unstable; urgency=low * Fix A2DP not working on default. (Closes: #659897, #657255) Add patches/10-audio-Fix-disabling-local-A2DP-endpoints-when-UNIX-s.patch. -- Nobuhiro Iwamatsu Sat, 25 Feb 2012 16:49:54 +0900 bluez (4.98-2ubuntu7) precise; urgency=low * debian/patches/10-unregister_interface_on_exit.patch: unregister the SAP interface on exit. Thanks to Jesse Sung for the patch. * debian/patches/11-explicitly_close.patch: make sure the io channel for HFP is properly closed on exit. Thanks to Jesse Sung for the patch. (LP: #907818) -- Mathieu Trudel-Lapierre Wed, 21 Mar 2012 15:27:57 -0400 bluez (4.98-2ubuntu6) precise; urgency=low * debian/control: Drop unused python-gobject dependency. -- Martin Pitt Tue, 13 Mar 2012 19:41:36 +0100 bluez (4.98-2ubuntu5) precise; urgency=low * Fix the version number in debian/bluez.maintscript so it actually cleans up the file. (LP: #953448) -- Evan Broder Mon, 12 Mar 2012 15:07:44 -0700 bluez (4.98-2ubuntu4) precise; urgency=low [ Pali Rohár ] * Respawn bluetooth daemon if crashed. [ Evan Broder ] * Eliminate the /etc/default/bluetooth conffile as it's not the Upstart way. Transition the BLUETOOTH_ENABLED variable to an Upstart override variable if it's been changed. -- Evan Broder Wed, 07 Mar 2012 11:33:02 -0800 bluez (4.98-2ubuntu3) precise; urgency=low * debian/patches/enable_audio_profiles.patch: properly enable the Source profile, its state is checked twice, once in audio/a2dp.c again which was not taken into account in the previous upload. (LP: #948613) -- Mathieu Trudel-Lapierre Wed, 07 Mar 2012 14:36:24 -0500 bluez (4.98-2ubuntu2) precise; urgency=low * debian/patches/enable_audio_profiles.patch: enable the Gateway and Source audio profiles by default. (LP: #948613) -- Mathieu Trudel-Lapierre Wed, 07 Mar 2012 10:44:35 -0500 bluez (4.98-2ubuntu1) precise; urgency=low * Merge with Debian unstable. Remaining Ubuntu changes: - Upstart support: o Add debian/bluez.bluetooth.upstart. o debian/rules: Drop -DEB_UPDATE_RCD_PARAMS o Disable 07-fix-639356.patch and don't install 97-bluetooth.rules (in debian/bluez.install) and debian/bluez-udev (in debian/rules), we don't want to use the udev rules to start bluez. The upstart job does that already. - debian/bluez-alsa.install: Install ALSA bluetooth configuration into the right place for ALSA 1.0.25. - Add debian/source_bluez.py Apport package hook. Install in debian/bluez.install. - debian/control: Build against libnl3-dev, not libnl-dev. - debian/socket_audio.patch: re-enable the socket API for the bluetooth audio manager. This reverts an upstream change that switches to the MediaEndpoint DBus API by default, but it looks like PulseAudio isn't quite ready to use that yet. (LP #918736) - Add sbc_mmx.patch: Fix building with gcc 4.7. Not applied right now. - Drop debian/bluez.preinst and debian/bluez-alsa.preinst: Obsolete conffile migrations, 10.04 LTS has a much newer version. * 4.98-2 fixes building C++ apps. (LP: #927097) -- Martin Pitt Wed, 22 Feb 2012 10:51:07 +0100 bluez (4.98-2) unstable; urgency=low * Provides proximity.conf by bluez. (Closes: #656889) Update debian/bluez.install. proximity.conf was installed to etc/bluetooth/proximity.conf. -- Nobuhiro Iwamatsu Wed, 01 Feb 2012 05:24:00 +0900 bluez (4.98-1) unstable; urgency=low * New upstream release. * Update debian/bluetooth-dbus.conf. * Update debian/control. Add Multi-Arch: foreign to bluez. -- Nobuhiro Iwamatsu Tue, 24 Jan 2012 05:35:09 +0900 bluez (4.97-1) experimental; urgency=low * New upstream release. * Update debian/contorl. - Add check (>= 0.9.8-1.1) to Build-Depends. * Update debian/rules. - Remove --enable-attrib, --enable-udevrules and --enable-configfiles from configure. - Add --enable-time, --enable-alert and --enable-gatt-example to configure. * Update bluez-cups.install. Fix cups backend into multiarch path. (Closes: #645884) * Update man for l2test. (Closes: #649432) * Update debian/patches/06-alsalib.patch -- Nobuhiro Iwamatsu Tue, 27 Dec 2011 17:19:00 +0900 bluez (4.96-3) unstable; urgency=low * Install debian/bluez-udev to /lib/udev/bluez-udev. (Closes #639356, #643829) -- Nobuhiro Iwamatsu Fri, 30 Sep 2011 12:35:45 +0900 bluez (4.96-2) unstable; urgency=low * Add support static library of libbluetooth-dev. (Closes: #558742) Don't include static library in bluez-alsa and bluez-gstreamer. * Fix bluez udev rules attempt to access /usr when /usr may not be mounted. Thanks to anomie@users.sourceforge.net. (Closes: #639356) * Fix typo in debian/bluez.preinst. (Closes: #643321) Thanks to Trent W. Buck. * Remove dh-autoreconf and add '-Wl,--as-needed' to LDFLAGS. -- Nobuhiro Iwamatsu Sun, 28 Sep 2011 01:50:05 +0900 bluez (4.96-1) unstable; urgency=low * New upstream release. Applied some patch from Daniel Schaal. Thanks! (Closes: #636633) * Add debug packages. bluez-dbg and libbluetooth3-dbg. * Add support systemd. * Update debian/control. - Add s390x to Architecture. (Closes: #636545) - Add libreadline-dev to Build-Depends. * Drop patchsys-quilt.mk snippet: superfluous with source format 3.0 "(quilt)". * Refresh patch. * Switch to multiarch. * Update debian/rules. - Remove obsolete configure flags. - Add new plugins (proximity, sap, wiimote, thermometer, dbusoob). - Strip and move to .install files. - Add LDFLAGS=-Wl,--as-needed to configure option. * Add usr/bin/gatttool into bluez package. * Update bluez.lintian-overrides. * Update debian/copyright. Update path of license file. -- Nobuhiro Iwamatsu Thu, 04 Aug 2011 11:46:35 +0900 bluez (4.94-3) unstable; urgency=low * Add dh-autoreconf to Build-Depends. To support dh-autoreconf, update debian/control and debian/rules. * Update version and the install path for which libasound depended. Add patch/06-alsalib.patch. Thanks for Steve Langasek and Jordi Mallach. (Closes: #634976). * Remove Andrea Veri from Uploaders. Thank you for having maintained this package. (Closes: #635095) -- Nobuhiro Iwamatsu Sun, 24 Jul 2011 18:31:59 +0900 bluez (4.94-2) unstable; urgency=medium * Add udev to Replaces and Breaks field (Closes: #628904). * Fix typo from deamon to daemon (Closes: 629901). -- Nobuhiro Iwamatsu Thu, 09 Jun 2011 21:48:21 +0900 bluez (4.94-1) unstable; urgency=medium * New upstream release. * Update debian/control. - Add ppc64 to Architecture. - Add version depency of udev (Closes: #628904, #628765). * Remove debian/patches/03_fix_udevdir.patch. Applied to upstream. * Update debian/bluez.bluetooth.init. Applied patch from Cristian Ionescu-Idbohrn (Closes: #628491). * Update debian/bluez.postinst. Add abort-upgrade, abort-remove and abort-deconfigure target to bluez.postinst. * Fix return code of hid2hci. Add patch 03-Fix-return-code-of-hid2hci.patch * Fix work Logitech keyboard (Closes: #626975) Add patch 04-Fix-bluetooth-hid2hci.rules.patch -- Nobuhiro Iwamatsu Wed, 01 Jun 2011 15:30:01 +0900 bluez (4.93-3) unstable; urgency=low * Fix install hid2hci to /lib/udev. -- Nobuhiro Iwamatsu Tue, 31 May 2011 19:42:33 +0900 bluez (4.93-2) unstable; urgency=low * Update debian/README.Debian.gz. Add description of bluez-simple-agent (Closes: #488306, #384680). * Update debian/bluez_agent.udev and debian/bluez.bluetooth.init. Fix path of hid2hci (Closes: #628491). * Add debian/patches/03_fix_udevdir.patch. -- Nobuhiro Iwamatsu Tue, 31 May 2011 18:04:29 +0900 bluez (4.93-1) unstable; urgency=low * New upstream release. * Update debian/control. - Add libudev-dev to Build-Depends. * Update debian/bluetooth-dbus.conf. Add policy for lp group. -- Nobuhiro Iwamatsu Fri, 20 May 2011 10:31:07 +0900 bluez (4.91-1) unstable; urgency=low * New upstream release. * Updte debian/control + Update to S-V 3.9.2: no changes needed. + Remove libdbus-1-dev from Build-Depends. This is interpolated by libdbus-1-dev. * Update debian/libbluetooth3.symbols. -- Nobuhiro Iwamatsu Tue, 12 Apr 2011 11:50:49 +0900 bluez (4.89-1) unstable; urgency=low * New upstream release. -- Nobuhiro Iwamatsu Sat, 05 Mar 2011 17:08:40 +0900 bluez (4.87-2) unstable; urgency=low * Upload to unstable. -- Nobuhiro Iwamatsu Wed, 09 Feb 2011 01:38:45 +0900 bluez (4.87-1) experimental; urgency=low * New upstream release. -- Nobuhiro Iwamatsu Wed, 26 Jan 2011 07:58:27 +0900 bluez (4.86-1) experimental; urgency=low * New upstream release. * Update debian/rules. - Enable health plugin and attrib plugin. -- Nobuhiro Iwamatsu Mon, 24 Jan 2011 11:49:55 +0900 bluez (4.84-1) experimental; urgency=low * New upstream release. * Update README.Debian. - Update section of Keyboard and mouse support (Closes: #599894, #535929). -- Nobuhiro Iwamatsu Wed, 12 Jan 2011 17:23:25 +0900 bluez (4.82-1) experimental; urgency=low * New upstream release. * Add manpages of bluetooth-agent. -- Nobuhiro Iwamatsu Mon, 20 Dec 2010 01:39:43 +0900 bluez (4.81-1) experimental; urgency=low * New upstream release. * Drop patches/010_udev_rules_agent.patch (Closes: ##588034). Connection of bluetooth is cut off after system start, if applied this patch. And this patch is not already necessary. * Disabled HAL (Closes: 599023). Add patches/02_disable_hal.patch * Update debian/rules - Provide again bluetooth-agent utility (Closes: #598982). - Remove --enable-netlink option of configure. This option was not provided. * Update debian/bluez.install Remove path of plugins. * Update libbluetooth-dev.install Remove path of plugins. -- Nobuhiro Iwamatsu Thu, 02 Dec 2010 12:17:48 +0900 bluez (4.70-1) unstable; urgency=low * New upstream release. * Update debian/bluez.bluetooth.init (Closes: #593172). * Update debian/bluez.preinst (Closes: #592982, #568301). * Update debian/control. - python-gobject and python-dbus move from Suggests to Depends. * Replase bluetooth-agent to bluez-simple-agent. * Some test program move to usr/bin. -- Nobuhiro Iwamatsu Fri, 03 Sep 2010 08:43:02 +0900 bluez (4.69-1) unstable; urgency=low * New upstream release (Closes: #589727). * Update debian/control. - bumped standards-version to 3.9.1. * Update libbluetooth3.symbols. -- Nobuhiro Iwamatsu Wed, 28 Jul 2010 13:44:34 +0900 bluez (4.66-1) unstable; urgency=low * New upstream release. * Update debian/control. - Add libcap-ng-dev to Build-depends. * Update debian/rules. - Add serial.conf (Closes: #559672). - Update configure option. Remove --enable-manpages. Change --enable-pcmciarules to --enable-pcmcia. Add --enable-pnat, --enable-tracer, --enable-udevrules, --enable-configfiles and --enable-capng. * Add man file of hcitrace. * Update udev rule (Closes: #535075). Thanks to Sjoerd Simons. * Add patch 01_lower_sink_ranking.patch (Closes: #571595). Thanks to Sebastian Dröge. -- Nobuhiro Iwamatsu Tue, 22 Jun 2010 12:45:57 +0900 bluez (4.64-1) unstable; urgency=low * New upstream release. -- Nobuhiro Iwamatsu Sat, 15 May 2010 15:44:23 +0900 bluez (4.63-2) unstable; urgency=low * Remove some contents from debian/NEWS. (Closes: #579817) -- Nobuhiro Iwamatsu Thu, 06 May 2010 06:50:14 +0900 bluez (4.63-1) unstable; urgency=low * Update debian/control. - Remove Filippo Giunchedi from uploaders. - bumped standards-version to 3.8.4. * Add man files. bluetooth-agent.1, l2test.1. * Update libbluetooth3.symbols. Add hci_bustostr@Base, hci_read_inq_response_tx_power_level@Base, hci_typetostr@Base, sdp_get_supp_feat@Base, sdp_set_supp_feat@Base * Update debian/NEWS. * Add debian/source/format. -- Nobuhiro Iwamatsu Tue, 20 Apr 2010 06:08:24 +0900 bluez (4.60-1) unstable; urgency=low * New upstream release. * debian/control: - Add Nobuhiro Iwamatsu to Uploaders (Closes #564569). -- Nobuhiro Iwamatsu Sat, 23 Jan 2010 16:03:01 +0900 bluez (4.57-1) unstable; urgency=low * New upstream bug fix release. -- Andrea Veri Thu, 12 Nov 2009 21:27:54 +0100 bluez (4.56-2) unstable; urgency=low * debian/control: - makedev re-added as alternate depend of udev, as it's needed by postints. Thanks to Guillem Jover for the report. (Closes: #546860) -- Andrea Veri Wed, 14 Oct 2009 00:19:19 +0200 bluez (4.56-1) unstable; urgency=low * New upstream release. (Closes: #539361) * rctest man page is no more missing. (Closes: #535949) * debian/control: - bumped standards-version to 3.8.3. No changes needed. - added myself into uploaders plus DM tag. - removed makedev depends. (Closes: #546860) * debian/copyright: - added missing copyright holders. * debian/patches/001_agent_fixes.patch: - removed, applied upstream * debian/patches/002_a2dpsink_marginal.patch: - removed, applied upstream. * debian/patches/005_l2ping_section.patch: - removed, applied upstream. * debian/rules: - removed the hack to have man page installed correctly. It has been fixed upstream and points to the right section. (8) * debian/libbluetooth3.symbols: - refreshed. * debian/bluez.examples: - test/test-* removed and added all needed examples by hand to avoid the installation of useless stuff. -- Andrea Veri Mon, 12 Oct 2009 15:40:02 +0200 bluez (4.42-2) unstable; urgency=low * Fix "Bashisms in init script" (Closes: #534511) * Handle upgrade of old /etc/modprobe.d/bluez (Closes: #523050) * Conflict/Replace bluez-audio in bluez (Closes: #535089) -- Filippo Giunchedi Tue, 30 Jun 2009 20:05:13 +0200 bluez (4.42-1) unstable; urgency=low * New upstream release + drop not needed debian/patches/003_configure_amd64_rpath.patch * Provide transitional bluez-audio to migrate to bluez-alsa and bluez-gstreamer (Closes: #531449) * Install README.Debian in binary bluez (Closes: #532018) * Make bluez-{alsa,gstreamer} depend on bluez * Switch to group bluetooth from netdev for authorized users (Closes: #534118) * Mention pand/hidd/dund move to bluez-compat in init script and default (Closes: #532622) * debian/patches/002_test_agent_newapi.patch port bluetooth-agent to new D-Bus API * Update to S-V 3.8.2: no changes * Introduce common SSD_OPTIONS in init script and sleep 1 on restart -- Filippo Giunchedi Sun, 21 Jun 2009 14:01:04 +0200 bluez (4.40-2) unstable; urgency=low * Ship a libbluetooth3.symbols file instead of shlibs * Ship more examples from test/, thus suggest: python-gobject and python-dbus together with README.examples * Provide a script in /lib/udev/bluez for waiting on /usr being available and a patch udev rules to use it -- Filippo Giunchedi Tue, 26 May 2009 00:02:53 +0200 bluez (4.40-1) unstable; urgency=low * New upstream release - scripts/bluetooth.rules -> scripts/bluetooth-serial.rules * Upload to unstable * Change usage for hid2hci: install udev rules and issue a warning from init script -- Filippo Giunchedi Fri, 22 May 2009 14:56:07 +0200 bluez (4.34-0exp1) experimental; urgency=low * First upload of bluez 4.x (Closes: #499529) - include parts of the packaging from ubuntu, thanks! - bluez-utils and bluez-libs are now a single source package - libbluetooth2 -> libbluetooth3 bump - conflict bluez with bluez-utils (<= 3.36-3) - update debian/copyright, thanks to Nobuhiro Iwamatsu * Remove hid2hci patches/script * Remove broken link to documentation (Closes: #504675) * Install a sample commandline agent from test/ into bluetooth-agent - add 001_test_agent_default_adapter.patch to get the default adapter * Install test/simple-agent and test/list-devices as examples * Remove old commented code from maintainer scripts (pcmcia-support postinst and bluez preinst) * Update watch file to match bluez only * Add #DEBHELPER# to debian/bluez-utils.postrm * Update to S-V 3.8.1: no changes needed * Fix lintian warnings: - add -e to remaining maintainer scripts - remove full path to update-rc.d in debian/bluez.postinst - override "bluez-utils: maintainer-script-empty postrm" for transitional bluez-utils postrm * Use 7 in debian/compat * Fix debian/bluez.preinst to use dpkg-query, thus removing the lintian override -- Filippo Giunchedi Wed, 01 Apr 2009 12:20:01 +0200 bluez (4.29-0ubuntu1) jaunty; urgency=low * New upstream version (LP: #326811) - Use AVRCP version 1.0 for now. - Decrease AVDTP idle timeout to one second. - Delay AVRCP connection when remote device connects A2DP. - Add workaround for AVDTP stream setup with broken headsets. - Add missing three-way calling feature bit for Handsfree. - Fix handsfree callheld indicator updating. - Fix parsing of all AT commands within the buffer. - Fix authentication replies when disconnected. - Fix handling of debug combination keys. - Fix handling of changed combination keys. - Fix handling of link keys when using no bonding. - Fix handling of invalid/unknown authentication requirements. - Fix closing of L2CAP raw socket used for dedicated bonding. -- Baptiste Mille-Mathias Sun, 08 Feb 2009 10:48:36 +0100 bluez (4.28-0ubuntu1) jaunty; urgency=low * New upstream version. (LP: #324492) - Add AVDTP signal fragmentation support. - Add more SBC performance optimizations. - Add more SBC audio quality improvements. - Use native byte order for audio plugins. - Set the adapter alias only after checking the EIR data. - Fix auto-disconnect issue with explicit A2DP connections. - Fix invalid memory access of ALSA plugin. - Fix compilation with -Wsign-compare. -- Baptiste Mille-Mathias Mon, 02 Feb 2009 21:57:08 +0100 bluez (4.27-0ubuntu1) jaunty; urgency=low * New upstream version. (LP: #304784) - Improves interoperability and security handling with Bluetooth 2.1 based devices. -- Mario Limonciello Tue, 27 Jan 2009 12:44:39 -0600 bluez (4.25-0ubuntu6) jaunty; urgency=low * Drop previous patch, bluez is a bit strange and this is basically ok. -- Scott James Remnant Mon, 19 Jan 2009 17:01:14 +0000 bluez (4.25-0ubuntu5) jaunty; urgency=low * debian/patches/ubuntu_dbus_policy.patch: - Drop send_interface allow which isn't service-specific. LP: #318740. -- Scott James Remnant Mon, 19 Jan 2009 15:38:43 +0000 bluez (4.25-0ubuntu4) jaunty; urgency=low * Add Breaks to ensure the right udev version is used. -- Scott James Remnant Fri, 09 Jan 2009 11:35:06 +0000 bluez (4.25-0ubuntu3) jaunty; urgency=low * debian/hid2hci.rules: Update to use ATTRS{} instead of SYSFS{} -- Scott James Remnant Wed, 07 Jan 2009 14:18:52 +0000 bluez (4.25-0ubuntu2) jaunty; urgency=low * debian/rules: Install rules into /lib/udev/rules.d * debian/bluez.preinst: Remove old rule if unchanged. -- Scott James Remnant Wed, 07 Jan 2009 11:35:39 +0000 bluez (4.25-0ubuntu1) jaunty; urgency=low * New upstream release. (LP: #312087) -- Baptiste Mille-Mathias Tue, 30 Dec 2008 19:53:44 +0100 bluez (4.21-0ubuntu1) jaunty; urgency=low * New upstream version. (LP: #304109) -- Mario Limonciello Wed, 03 Dec 2008 15:56:03 -0600 bluez (4.17-0ubuntu1) jaunty; urgency=low * New upstream version. (LP: #284039) * Drop the following patches that landed upstream: - logitech_5500_ids.patch - dell_bt_365.patch - sco_connect_git.patch -- Mario Limonciello Wed, 05 Nov 2008 13:28:35 -0600 bluez (4.12-0ubuntu5) intrepid; urgency=low * Add debian/hid2hci.rules to enable running hid2hci as soon as some bluetooth dongles get plugged in. (LP: #288294) * debian/bluez.postinst: - Update udev rules on postinst. * debian/rules: - Install debian/hid2hci.rules to 62-bluez-hid2hci.rules -- Mario Limonciello Sat, 25 Oct 2008 23:32:00 -0500 bluez (4.12-0ubuntu4) intrepid; urgency=low * Add hid2hci.patch to enable hid2hci to be ran after suspending a machine. (LP: #268877) * debian/rules: - Install new script from above patch. * Add logitech_5500_ids.patch for enabling hid2hci on more logitech devices. (LP: #272352) -- Mario Limonciello Wed, 22 Oct 2008 16:01:59 -0500 bluez (4.12-0ubuntu3) intrepid; urgency=low * debian/bluez.postinst: - Don't show output for MAKEDEV. (LP: 280360) * Add dell_bt_365.patch which will enable putting the Dell BT365 adapter into HCI mode upon bootup. (LP: #286724) * debian/control: - Add one more binary package for old compatibility binaries. (LP: #281580) * debian/rules: - Enable compatibility binaries. These are HIGHLY discouraged from usage and will not necessarily be here in the future. * debian/bluez.install: - Adjust what binaries get installed, to be able to pull out hidd, dund, and pand as necessary. -- Mario Limonciello Mon, 20 Oct 2008 20:37:24 -0500 bluez (4.12-0ubuntu2) intrepid; urgency=low * debian/control: - Move libbluetooth3 to the top of the list so that it is the package that gets to keep the real changelog rather than symlinks. - Only Replaces: packages rather than conflicts to help with upgrades (LP: #279954) -- Mario Limonciello Tue, 07 Oct 2008 16:32:31 -0500 bluez (4.12-0ubuntu1) intrepid; urgency=low * Initial Release. (LP: #274950) - This package replaces bluez-utils and bluez-libs source packages. - It was generated by merging the contents of bluez-utils and bluez-libs and updating content. - Legacy functionality for hidd, dund, and pand are not present, and have been removed from all configuration files. * This release introduces encryption (LP: #182191) * debian/patches: - bluez-utils-oui-usage.patch was borrowed from the Fedora 10 packaging. - sco-connect-git.patch was taken from bluez git shortly after 4.12 release. It should "help" with some sco headset issues. * debian/control: - Update different packages per upstream's recommendations. - Update conflicts/replaces for earlier packages. - Add a transitional bluez-utils package to help with the transition. -- Mario Limonciello Tue, 07 Oct 2008 12:10:29 -0500 debian/bluez-alsa.install0000664000000000000000000000011012402114310012573 0ustar usr/lib/*/alsa-lib/*.so audio/bluetooth.conf usr/share/alsa/alsa.conf.d debian/bluez.bluetooth.init0000664000000000000000000001057212402114310013173 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: bluetooth # Required-Start: $local_fs $syslog $remote_fs dbus # Required-Stop: $local_fs $syslog $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start bluetooth daemons ### END INIT INFO # # bluez Bluetooth subsystem starting and stopping # # originally from bluez's scripts/bluetooth.init # # Edd Dumbill # LSB 3.0 compilance and enhancements by Filippo Giunchedi # # Updated for bluez 4.7 by Mario Limonciello # # Note: older daemons like dund pand hidd are now shipped inside the # bluez-compat package PATH=/sbin:/bin:/usr/sbin:/usr/bin DESC=bluetooth DAEMON=/usr/sbin/bluetoothd HCIATTACH=/usr/sbin/hciattach HID2HCI_ENABLED=1 HID2HCI_UNDO=1 UART_CONF=/etc/bluetooth/uart RFCOMM_NAME=rfcomm RFCOMM=/usr/bin/$RFCOMM_NAME RFCOMM_CONF=/etc/bluetooth/$RFCOMM_NAME.conf SDPTOOL=/usr/bin/sdptool SSD_OPTIONS="--oknodo --quiet --exec $DAEMON" test -f $DAEMON || exit 0 # FIXME: any of the sourced files may fail if/with syntax errors test -f /etc/default/bluetooth && . /etc/default/bluetooth test -f /etc/default/rcS && . /etc/default/rcS . /lib/lsb/init-functions set -e # FIXME: this function is possibly a no-op run_sdptool() { # declaring IFS local in this function, removes the need to # save/restore it local IFS o test -x $SDPTOOL || return 1 # FIXME: where does SDPTOOL_OPTIONS come from? if ! test -z "$SDPTOOL_OPTIONS" ; then IFS=";" for o in $SDPTOOL_OPTIONS ; do #echo "execing $SDPTOOL $o" IFS=" " if [ "$VERBOSE" != no ]; then $SDPTOOL $o else $SDPTOOL $o >/dev/null 2>&1 fi done fi } hci_input() { log_progress_msg "switching to HID/HCI no longer done in init script, see /usr/share/doc/bluez/NEWS.Debian.gz" || : } alias enable_hci_input=hci_input alias disable_hci_input=hci_input start_uarts() { [ -f $HCIATTACH ] && [ -f $UART_CONF ] || return grep -v '^#' $UART_CONF | while read i; do if [ "$VERBOSE" != no ]; then $HCIATTACH $i else $HCIATTACH $i >/dev/null 2>&1 fi done } stop_uarts() { killall ${HCIATTACH##*/} >/dev/null 2>&1 || : } start_rfcomm() { if [ -x $RFCOMM ] && [ -f $RFCOMM_CONF ] ; then # rfcomm must always succeed for now: users # may not yet have an rfcomm-enabled kernel if [ "$VERBOSE" != no ]; then log_progress_msg "${RFCOMM##*/}" $RFCOMM -f $RFCOMM_CONF bind all || : else $RFCOMM -f $RFCOMM_CONF bind all >/dev/null 2>&1 || : fi fi } stop_rfcomm() { if [ -x $RFCOMM ] ; then if [ "$VERBOSE" != no ]; then log_progress_msg "${RFCOMM##*/}" $RFCOMM unbind all || : else $RFCOMM unbind all >/dev/null 2>&1 || : fi fi } restart_rfcomm() { if [ -x $RFCOMM ] && [ -f $RFCOMM_CONF ] ; then if [ "$VERBOSE" != no ]; then log_progress_msg "${RFCOMM##*/}" $RFCOMM unbind all || : $RFCOMM -f $RFCOMM_CONF bind all || : else $RFCOMM unbind all >/dev/null 2>&1|| : $RFCOMM -f $RFCOMM_CONF bind all >/dev/null 2>&1 || : fi fi } case $1 in start) log_daemon_msg "Starting $DESC" if test "$BLUETOOTH_ENABLED" = 0; then log_progress_msg "disabled. see /etc/default/bluetooth" log_end_msg 0 exit 0 fi start-stop-daemon --start $SSD_OPTIONS log_progress_msg "${DAEMON##*/}" run_sdptool || : start_uarts || : if test "$HID2HCI_ENABLED" = 1; then enable_hci_input fi start_rfcomm || : if test "$HIDD_ENABLED" = 1 || test "$PAND_ENABLED" = 1 || test "$DUND_ENABLED" = 1; then log_progress_msg "compatibily daemons not started, see bluez-compat package" fi log_end_msg 0 ;; stop) log_daemon_msg "Stopping $DESC" if test "$BLUETOOTH_ENABLED" = 0; then log_progress_msg "disabled." log_end_msg 0 exit 0 fi stop_rfcomm || : if test "$HID2HCI_UNDO" = 1; then disable_hci_input fi start-stop-daemon --stop $SSD_OPTIONS log_progress_msg "${DAEMON}" stop_uarts || : log_end_msg 0 ;; restart|force-reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$DESC" && exit 0 || exit $? ;; *) N=/etc/init.d/bluetooth echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0 # vim:noet debian/bluez.manpages0000664000000000000000000000012712402114310012012 0ustar debian/bluetooth-agent.1 debian/bluez-simple-agent.1 debian/l2test.1 debian/hcitrace.1 debian/libbluetooth-dev.install0000664000000000000000000000013512402114310014013 0ustar usr/include/bluetooth usr/lib/*/libbluetooth.a usr/lib/*/libbluetooth.so usr/lib/*/pkgconfig debian/bluez.bluetooth.upstart0000664000000000000000000000176112402114310013732 0ustar # bluez - bluetooth daemon description "bluetooth daemon" start on started dbus stop on stopping dbus env UART_CONF=/etc/bluetooth/uart env RFCOMM_CONF=/etc/bluetooth/rfcomm.conf expect fork respawn exec /usr/sbin/bluetoothd post-start script [ "$VERBOSE" = no ] && redirect='>/dev/null 2>&1' || redirect= # start_uarts() if [ -x /usr/sbin/hciattach ] && [ -f $UART_CONF ]; then grep -v '^#' $UART_CONF | while read i; do eval "/usr/sbin/hciattach $i $redirect" || : done fi # start_rfcomm() if [ -x /usr/bin/rfcomm ] && [ -f $RFCOMM_CONF ] ; then # rfcomm must always succeed for now: users # may not yet have an rfcomm-enabled kernel eval "/usr/bin/rfcomm -f $RFCOMM_CONF bind all $redirect" || : fi end script post-stop script # stop_uarts() logger -t bluez "Stopping uarts" killall hciattach >/dev/null 2>&1 || : # stop_rfcomm() logger -t bluez "Stopping rfcomm" if [ -x /usr/bin/rfcomm ]; then eval "/usr/bin/rfcomm unbind all $redirect" || : fi end script debian/bluez.install0000664000000000000000000000161012402114310011663 0ustar etc/bluetooth/main.conf etc/bluetooth/rfcomm.conf input/input.conf etc/bluetooth audio/audio.conf etc/bluetooth network/network.conf etc/bluetooth serial/serial.conf etc/bluetooth proximity/proximity.conf etc/bluetooth etc/dbus-1 usr/sbin usr/bin/rctest usr/bin/hcitool usr/bin/sdptool usr/bin/dfutool usr/bin/ciptool usr/bin/gatttool usr/bin/l2ping usr/bin/l2test usr/bin/rfcomm lib/udev/hid2hci lib/udev/rules.d/97-bluetooth-hid2hci.rules lib/systemd # usr/share/dbus-1 usr/share/man/man1/sdptool.1 usr/share/man/man1/hcitool.1 usr/share/man/man1/dfutool.1 usr/share/man/man1/ciptool.1 usr/share/man/man1/hciemu.1 usr/share/man/man1/rfcomm.1 usr/share/man/man1/rctest.1 usr/share/man/man8/bluetoothd.8 usr/share/man/man8/hid2hci.8 usr/share/man/man8/hciattach.8 usr/share/man/man8/l2ping.8 usr/share/man/man8/hciconfig.8 usr/share/man/man8/bccmd.8 debian/source_bluez.py usr/share/apport/package-hooks debian/bluez-compat.README.Debian0000664000000000000000000000115612402114310013621 0ustar bluez compatibility daemons =========================== This package contains old daemons like dund/pand/hidd which have been obsoleted by bluetoothd and the D-Bus API, they are provided for backward compatibility. It is possibile to start the daemons at boot if needed via /etc/rc.local file. If options were used via /etc/default/bluetooth this can be accomplished by a snippet like: test -f /etc/default/bluetooth && . /etc/default/bluetooth [ "$HIDD_ENABLED" -eq 1 ] && /usr/bin/hidd $HIDD_OPTIONS [ "$PAND_ENABLED" -eq 1 ] && /usr/bin/pand $PAND_OPTIONS [ "$DUND_ENABLED" -eq 1 ] && /usr/bin/dund $DUND_OPTIONS debian/bluez.postrm0000664000000000000000000000240412402114310011543 0ustar #!/bin/sh # postrm script for bluez # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in remove|upgrade|failed-upgrade|disappear) ;; purge) if [ "$(cat /etc/init/bluetooth.override)" = "$(printf "# Inserted by bluez\nmanual\n")" ]; then rm -f /etc/init/bluetooth.override fi ;; abort-install|abort-upgrade) if dpkg --compare-versions "$2" le-nl 4.98-2ubuntu1; then perl -i -0pe 's/# Inserted by bluez\nmanual\n//' /etc/init/bluetooth.override fi ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/bluez.postinst0000664000000000000000000000130612402114310012102 0ustar #!/bin/sh set -e case "$1" in configure) if [ -e /etc/init.d/bluez-utils ]; then update-rc.d -f bluez-utils remove # maybe a (medium/low debconf?) notice is best suited here fi # create bluetooth group if not already present if ! getent group bluetooth > /dev/null; then addgroup --quiet --system bluetooth fi # reload dbus config file if [ -x /etc/init.d/dbus ]; then invoke-rc.d dbus force-reload || true fi ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 0 ;; esac #DEBHELPER# debian/bluez-cups.install0000664000000000000000000000006612402114310012637 0ustar usr/lib/*/cups/backend/bluetooth usr/lib/cups/backend debian/bluez.docs0000664000000000000000000000004112402114310011142 0ustar */*-api.txt debian/README.Debian