Compare commits
	
		
			No commits in common. "c8" and "c9-beta" have entirely different histories.
		
	
	
		
	
		
| @ -1 +1 @@ | |||||||
| c5137186e7cc60652eed44cff0067ef749e49eff SOURCES/bluez-5.63.tar.xz | ad4823acf2906e38b77305a329654e1f0bce0263 SOURCES/bluez-5.83.tar.xz | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | |||||||
| SOURCES/bluez-5.63.tar.xz | SOURCES/bluez-5.83.tar.xz | ||||||
|  | |||||||
							
								
								
									
										125
									
								
								SOURCES/0001-Add-missing-mesh-gatt-JSON-files.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								SOURCES/0001-Add-missing-mesh-gatt-JSON-files.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,125 @@ | |||||||
|  | From 669de134aa19fbd6b7ac59575446a064bbf27565 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Bastien Nocera <hadess@hadess.net> | ||||||
|  | Date: Wed, 14 Feb 2024 16:51:14 +0100 | ||||||
|  | Subject: [PATCH] Add missing mesh-gatt JSON files | ||||||
|  | 
 | ||||||
|  | ---
 | ||||||
|  |  tools/mesh-gatt/local_node.json | 61 +++++++++++++++++++++++++++++++++ | ||||||
|  |  tools/mesh-gatt/prov_db.json    | 37 ++++++++++++++++++++ | ||||||
|  |  2 files changed, 98 insertions(+) | ||||||
|  |  create mode 100644 tools/mesh-gatt/local_node.json | ||||||
|  |  create mode 100644 tools/mesh-gatt/prov_db.json | ||||||
|  | 
 | ||||||
|  | diff --git a/tools/mesh-gatt/local_node.json b/tools/mesh-gatt/local_node.json
 | ||||||
|  | new file mode 100644 | ||||||
|  | index 000000000000..5ffa7ada1f65
 | ||||||
|  | --- /dev/null
 | ||||||
|  | +++ b/tools/mesh-gatt/local_node.json
 | ||||||
|  | @@ -0,0 +1,61 @@
 | ||||||
|  | +{
 | ||||||
|  | +  "$schema":"file:\/\/\/BlueZ\/Mesh\/local_schema\/mesh.jsonschema",
 | ||||||
|  | +  "meshName":"BT Mesh",
 | ||||||
|  | +  "netKeys":[
 | ||||||
|  | +    {
 | ||||||
|  | +      "index": 0,
 | ||||||
|  | +      "keyRefresh": 0
 | ||||||
|  | +    }
 | ||||||
|  | +  ],
 | ||||||
|  | +  "appKeys":[
 | ||||||
|  | +    {
 | ||||||
|  | +      "index": 0,
 | ||||||
|  | +      "boundNetKey": 0
 | ||||||
|  | +    },
 | ||||||
|  | +    {
 | ||||||
|  | +      "index": 1,
 | ||||||
|  | +      "boundNetKey": 0
 | ||||||
|  | +    }
 | ||||||
|  | +  ],
 | ||||||
|  | +"node": {
 | ||||||
|  | +	"IVindex":"00000005",
 | ||||||
|  | +	"IVupdate":"0",
 | ||||||
|  | +	"sequenceNumber": 0,
 | ||||||
|  | +    "composition": {
 | ||||||
|  | +        "cid": "0002",
 | ||||||
|  | +        "pid": "0010",
 | ||||||
|  | +        "vid": "0001",
 | ||||||
|  | +        "crpl": "000a",
 | ||||||
|  | +        "features": {
 | ||||||
|  | +            "relay": false,
 | ||||||
|  | +            "proxy": true,
 | ||||||
|  | +            "friend": false,
 | ||||||
|  | +            "lowPower": false
 | ||||||
|  | +        },
 | ||||||
|  | +        "elements": [
 | ||||||
|  | +            {
 | ||||||
|  | +                "elementIndex": 0,
 | ||||||
|  | +                "location": "0001",
 | ||||||
|  | +                "models": ["0000", "0001", "1001"]
 | ||||||
|  | +            }
 | ||||||
|  | +        ]
 | ||||||
|  | +    },
 | ||||||
|  | +    "configuration":{
 | ||||||
|  | +        "netKeys": [0],
 | ||||||
|  | +        "appKeys": [ 0, 1],
 | ||||||
|  | +        "defaultTTL": 10,
 | ||||||
|  | +        "elements": [
 | ||||||
|  | +          {
 | ||||||
|  | +            "elementIndex": 0,
 | ||||||
|  | +            "unicastAddress":"0077",
 | ||||||
|  | +            "models": [
 | ||||||
|  | +               {
 | ||||||
|  | +                 "modelId": "1001",
 | ||||||
|  | +                 "bind": [1]
 | ||||||
|  | +                }
 | ||||||
|  | +            ]
 | ||||||
|  | +          }
 | ||||||
|  | +        ]
 | ||||||
|  | +    }
 | ||||||
|  | +  }
 | ||||||
|  | +}
 | ||||||
|  | diff --git a/tools/mesh-gatt/prov_db.json b/tools/mesh-gatt/prov_db.json
 | ||||||
|  | new file mode 100644 | ||||||
|  | index 000000000000..74a03128d4d5
 | ||||||
|  | --- /dev/null
 | ||||||
|  | +++ b/tools/mesh-gatt/prov_db.json
 | ||||||
|  | @@ -0,0 +1,37 @@
 | ||||||
|  | +{
 | ||||||
|  | +  "$schema":"file:\/\/\/BlueZ\/Mesh\/schema\/mesh.jsonschema",
 | ||||||
|  | +  "meshName":"BT Mesh",
 | ||||||
|  | +  "IVindex":5,
 | ||||||
|  | +  "IVupdate":0,
 | ||||||
|  | +  "netKeys":[
 | ||||||
|  | +    {
 | ||||||
|  | +      "index":0,
 | ||||||
|  | +      "keyRefresh":0,
 | ||||||
|  | +      "key":"18eed9c2a56add85049ffc3c59ad0e12"
 | ||||||
|  | +    }
 | ||||||
|  | +  ],
 | ||||||
|  | +  "appKeys":[
 | ||||||
|  | +    {
 | ||||||
|  | +      "index":0,
 | ||||||
|  | +      "boundNetKey":0,
 | ||||||
|  | +      "key":"4f68ad85d9f48ac8589df665b6b49b8a"
 | ||||||
|  | +    },
 | ||||||
|  | +    {
 | ||||||
|  | +      "index":1,
 | ||||||
|  | +      "boundNetKey":0,
 | ||||||
|  | +      "key":"2aa2a6ded5a0798ceab5787ca3ae39fc"
 | ||||||
|  | +    }
 | ||||||
|  | +  ],
 | ||||||
|  | +  "provisioners":[
 | ||||||
|  | +    {
 | ||||||
|  | +      "provisionerName":"BT Mesh Provisioner",
 | ||||||
|  | +      "unicastAddress":"0077",
 | ||||||
|  | +      "allocatedUnicastRange":[
 | ||||||
|  | +        {
 | ||||||
|  | +          "lowAddress":"0100",
 | ||||||
|  | +          "highAddress":"7fff"
 | ||||||
|  | +        }
 | ||||||
|  | +      ]
 | ||||||
|  | +    }
 | ||||||
|  | +  ],
 | ||||||
|  | +}
 | ||||||
|  | -- 
 | ||||||
|  | 2.43.0 | ||||||
|  | 
 | ||||||
| @ -1,54 +0,0 @@ | |||||||
| From: David Marlin <dmarlin@redhat.com> |  | ||||||
| 
 |  | ||||||
| Subject: input.conf: Change default of ClassicBondedOnly |  | ||||||
| 
 |  | ||||||
| Resolves: RHEL-18429 |  | ||||||
| 
 |  | ||||||
| CVE: CVE-2023-45866 |  | ||||||
| 
 |  | ||||||
| commit 25a471a83e02e1effb15d5a488b3f0085eaeb675 |  | ||||||
| Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> |  | ||||||
| Date:   Tue Oct 10 13:03:12 2023 -0700 |  | ||||||
| 
 |  | ||||||
|     input.conf: Change default of ClassicBondedOnly |  | ||||||
|      |  | ||||||
|     This changes the default of ClassicBondedOnly since defaulting to false |  | ||||||
|     is not inline with HID specification which mandates the of Security Mode |  | ||||||
|     4: |  | ||||||
|      |  | ||||||
|     BLUETOOTH SPECIFICATION Page 84 of 123 |  | ||||||
|     Human Interface Device (HID) Profile: |  | ||||||
|      |  | ||||||
|       5.4.3.4.2 Security Modes |  | ||||||
|       Bluetooth HID Hosts shall use Security Mode 4 when interoperating with |  | ||||||
|       Bluetooth HID devices that are compliant to the Bluetooth Core |  | ||||||
|       Specification v2.1+EDR[6]. |  | ||||||
| 
 |  | ||||||
| Signed-off-by: David Marlin <dmarlin@redhat.com> |  | ||||||
| 
 |  | ||||||
| diff --git a/profiles/input/device.c b/profiles/input/device.c
 |  | ||||||
| index 4a50ea9921a97751a94547c0e73177d58184a75d..4310dd192e113f9875c07117d523167655cef954 100644
 |  | ||||||
| --- a/profiles/input/device.c
 |  | ||||||
| +++ b/profiles/input/device.c
 |  | ||||||
| @@ -81,7 +81,7 @@ struct input_device {
 |  | ||||||
|   |  | ||||||
|  static int idle_timeout = 0; |  | ||||||
|  static bool uhid_enabled = false; |  | ||||||
| -static bool classic_bonded_only = false;
 |  | ||||||
| +static bool classic_bonded_only = true;
 |  | ||||||
|   |  | ||||||
|  void input_set_idle_timeout(int timeout) |  | ||||||
|  { |  | ||||||
| diff --git a/profiles/input/input.conf b/profiles/input/input.conf
 |  | ||||||
| index 4c70bc561f05429442c6fe0a183584ad1536fa4b..d8645f3dd664e2d671791878462f8a0dc74e04a5 100644
 |  | ||||||
| --- a/profiles/input/input.conf
 |  | ||||||
| +++ b/profiles/input/input.conf
 |  | ||||||
| @@ -17,7 +17,7 @@
 |  | ||||||
|  # platforms may want to make sure that input connections only come from bonded |  | ||||||
|  # device connections. Several older mice have been known for not supporting |  | ||||||
|  # pairing/encryption. |  | ||||||
| -# Defaults to false to maximize device compatibility.
 |  | ||||||
| +# Defaults to true for security.
 |  | ||||||
|  #ClassicBondedOnly=true |  | ||||||
|   |  | ||||||
|  # LE upgrade security |  | ||||||
| @ -1,54 +0,0 @@ | |||||||
| From: David Marlin <dmarlin@redhat.com> |  | ||||||
| 
 |  | ||||||
| Subject: avrcp: Fix crash while handling unsupported events |  | ||||||
| 
 |  | ||||||
| Resolves: RHEL-35371 |  | ||||||
| Resolves: RHEL-35492 |  | ||||||
| 
 |  | ||||||
| Fixes CVE-2023-27349 |  | ||||||
| Fixes CVE-2023-51589 |  | ||||||
| 
 |  | ||||||
| commit f54299a850676d92c3dafd83e9174fcfe420ccc9 |  | ||||||
| Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> |  | ||||||
| Date:   Wed Mar 22 11:34:24 2023 -0700 |  | ||||||
| 
 |  | ||||||
|     avrcp: Fix crash while handling unsupported events |  | ||||||
|      |  | ||||||
|     The following crash can be observed if the remote peer send and |  | ||||||
|     unsupported event: |  | ||||||
|      |  | ||||||
|     ERROR: AddressSanitizer: heap-use-after-free on address 0x60b000148f11 |  | ||||||
|      at pc 0x559644552088 bp 0x7ffe28b3c7b0 sp 0x7ffe28b3c7a0 |  | ||||||
|      WRITE of size 1 at 0x60b000148f11 thread T0 |  | ||||||
|          #0 0x559644552087 in avrcp_handle_event profiles/audio/avrcp.c:3907 |  | ||||||
|          #1 0x559644536c22 in control_response profiles/audio/avctp.c:939 |  | ||||||
|          #2 0x5596445379ab in session_cb profiles/audio/avctp.c:1108 |  | ||||||
|          #3 0x7fbcb3e51c43 in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x55c43) |  | ||||||
|          #4 0x7fbcb3ea66c7  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0xaa6c7) |  | ||||||
|          #5 0x7fbcb3e512b2 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x552b2) |  | ||||||
|          #6 0x559644754ab6 in mainloop_run src/shared/mainloop-glib.c:66 |  | ||||||
|          #7 0x559644755606 in mainloop_run_with_signal src/shared/mainloop-notify.c:188 |  | ||||||
|          #8 0x5596445bb963 in main src/main.c:1289 |  | ||||||
|          #9 0x7fbcb3bafd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 |  | ||||||
|          #10 0x7fbcb3bafe3f in __libc_start_main_impl ../csu/libc-start.c:392 |  | ||||||
|          #11 0x5596444e8224 in _start (/usr/local/libexec/bluetooth/bluetoothd+0xf0224) |  | ||||||
| 
 |  | ||||||
| Signed-off-by: David Marlin <dmarlin@redhat.com> |  | ||||||
| 
 |  | ||||||
| diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c
 |  | ||||||
| index 80f34c7a77a17ddad89abe62e8a7a028c6fecf3c..dda9a303fb711ca009258ba671dc47b7fdd15f94 100644
 |  | ||||||
| --- a/profiles/audio/avrcp.c
 |  | ||||||
| +++ b/profiles/audio/avrcp.c
 |  | ||||||
| @@ -3901,6 +3901,12 @@ static gboolean avrcp_handle_event(struct avctp *conn, uint8_t code,
 |  | ||||||
|  	case AVRCP_EVENT_UIDS_CHANGED: |  | ||||||
|  		avrcp_uids_changed(session, pdu); |  | ||||||
|  		break; |  | ||||||
| +	default:
 |  | ||||||
| +		if (event > AVRCP_EVENT_LAST) {
 |  | ||||||
| +			warn("Unsupported event: %u", event);
 |  | ||||||
| +			return FALSE;
 |  | ||||||
| +		}
 |  | ||||||
| +		break;
 |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
|  	session->registered_events |= (1 << event); |  | ||||||
| @ -1,35 +0,0 @@ | |||||||
| From 5744f79d84ecee3929a682166034c5bbc36c0ef5 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Bastien Nocera <hadess@hadess.net> |  | ||||||
| Date: Wed, 20 Sep 2017 12:49:10 +0200 |  | ||||||
| Subject: [PATCH 1/4] build: Always define confdir and statedir |  | ||||||
| 
 |  | ||||||
| As we will need those paths to lock down on them. |  | ||||||
| ---
 |  | ||||||
|  Makefile.am | 6 +++--- |  | ||||||
|  1 file changed, 3 insertions(+), 3 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/Makefile.am b/Makefile.am
 |  | ||||||
| index 9d25a815b..ac88c12e0 100644
 |  | ||||||
| --- a/Makefile.am
 |  | ||||||
| +++ b/Makefile.am
 |  | ||||||
| @@ -28,14 +28,14 @@
 |  | ||||||
|  				$(LIBEDATASERVER_CFLAGS) $(ell_cflags) |  | ||||||
|  AM_LDFLAGS = $(MISC_LDFLAGS) |  | ||||||
|   |  | ||||||
| +confdir = $(sysconfdir)/bluetooth
 |  | ||||||
| +statedir = $(localstatedir)/lib/bluetooth
 |  | ||||||
| +
 |  | ||||||
|  if DATAFILES |  | ||||||
|  dbusdir = $(DBUS_CONFDIR)/dbus-1/system.d |  | ||||||
|  dbus_DATA = src/bluetooth.conf |  | ||||||
|   |  | ||||||
| -confdir = $(sysconfdir)/bluetooth
 |  | ||||||
|  conf_DATA = |  | ||||||
| -
 |  | ||||||
| -statedir = $(localstatedir)/lib/bluetooth
 |  | ||||||
|  state_DATA = |  | ||||||
|  endif |  | ||||||
|   |  | ||||||
| -- 
 |  | ||||||
| 2.21.0 |  | ||||||
| 
 |  | ||||||
| @ -1,36 +0,0 @@ | |||||||
| From 4c3eedcb96bd4795dd5c25c688005fc12f364aeb Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Gopal Tiwari <gtiwari@redhat.com> |  | ||||||
| Date: Wed, 20 Apr 2022 12:19:05 +0530 |  | ||||||
| Subject: [PATCH BlueZ] gdbus: Emit InterfacesAdded of parents objects first |  | ||||||
| 
 |  | ||||||
| This makes InterfacesAdded respect the object hierarchy in case its |  | ||||||
| parent has pending interfaces to be added. |  | ||||||
| 
 |  | ||||||
| Fixes: #272 |  | ||||||
| Fixes: #284 |  | ||||||
| Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1534857 |  | ||||||
| Fixes: https://bugs.archlinux.org/task/57464 |  | ||||||
| ---
 |  | ||||||
|  gdbus/object.c | 6 ++++++ |  | ||||||
|  1 file changed, 6 insertions(+) |  | ||||||
| 
 |  | ||||||
| diff --git a/gdbus/object.c b/gdbus/object.c
 |  | ||||||
| index 50a8b4ff1..f7c8c2be5 100644
 |  | ||||||
| --- a/gdbus/object.c
 |  | ||||||
| +++ b/gdbus/object.c
 |  | ||||||
| @@ -551,6 +551,12 @@ static void emit_interfaces_added(struct generic_data *data)
 |  | ||||||
|  	if (root == NULL || data == root) |  | ||||||
|  		return; |  | ||||||
|   |  | ||||||
| +	/* Emit InterfacesAdded on the parent first so it appears first on the
 |  | ||||||
| +	 * bus as child objects may point to it.
 |  | ||||||
| +	 */
 |  | ||||||
| +	if (data->parent && data->parent->added)
 |  | ||||||
| +		emit_interfaces_added(data->parent);
 |  | ||||||
| +
 |  | ||||||
|  	signal = dbus_message_new_signal(root->path, |  | ||||||
|  					DBUS_INTERFACE_OBJECT_MANAGER, |  | ||||||
|  					"InterfacesAdded"); |  | ||||||
| -- 
 |  | ||||||
| 2.26.2 |  | ||||||
| 
 |  | ||||||
| @ -1,38 +0,0 @@ | |||||||
| From cba55944f76ad0f01bb7c8976fd6699f058c68cd Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Bastien Nocera <hadess@hadess.net> |  | ||||||
| Date: Wed, 20 Sep 2017 14:42:14 +0200 |  | ||||||
| Subject: [PATCH] hostname: Fix "BlueZ 5.XX" adapter name on startup |  | ||||||
| 
 |  | ||||||
| The hostname plugin listens to property changes from systemd-hostnamed |  | ||||||
| but doesn't fetch initial values. This means that unless the |  | ||||||
| PrettyHostname or StaticHostname changes, the default adapter will be |  | ||||||
| called "BlueZ 5.XX" matching the version number. |  | ||||||
| 
 |  | ||||||
| This is the case since the hostname plugin replaced the adaptername |  | ||||||
| plugin in 2012. |  | ||||||
| 
 |  | ||||||
| Fetch the initial values for PrettyHostname, StaticHostname and |  | ||||||
| Chassis when the plugin is initiated, so as to make the values |  | ||||||
| available for adapter setup. |  | ||||||
| ---
 |  | ||||||
|  plugins/hostname.c | 4 ++++ |  | ||||||
|  1 file changed, 4 insertions(+) |  | ||||||
| 
 |  | ||||||
| diff --git a/plugins/hostname.c b/plugins/hostname.c
 |  | ||||||
| index f876d0afb..db9187378 100644
 |  | ||||||
| --- a/plugins/hostname.c
 |  | ||||||
| +++ b/plugins/hostname.c
 |  | ||||||
| @@ -307,6 +307,10 @@ static int hostname_init(void)
 |  | ||||||
|  		hostname_proxy = NULL; |  | ||||||
|  		g_dbus_client_unref(hostname_client); |  | ||||||
|  		hostname_client = NULL; |  | ||||||
| +	} else {
 |  | ||||||
| +		g_dbus_proxy_refresh_property(hostname_proxy, "PrettyHostname");
 |  | ||||||
| +		g_dbus_proxy_refresh_property(hostname_proxy, "StaticHostname");
 |  | ||||||
| +		g_dbus_proxy_refresh_property(hostname_proxy, "Chassis");
 |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
|  	return err; |  | ||||||
| -- 
 |  | ||||||
| 2.14.1 |  | ||||||
| 
 |  | ||||||
| @ -1,19 +1,29 @@ | |||||||
| From 90b72b787a6ae6b9b0bf8ece238e108e8607a433 Mon Sep 17 00:00:00 2001 | From 873e49357081e5c5d8d3d23759f1723db7292bf6 Mon Sep 17 00:00:00 2001 | ||||||
| From: Bastien Nocera <hadess@hadess.net> | From: Bastien Nocera <hadess@hadess.net> | ||||||
| Date: Sat, 9 Nov 2013 18:13:43 +0100 | Date: Mon, 12 Feb 2024 20:02:45 +0000 | ||||||
| Subject: [PATCH 1/2] obex: Use GLib helper function to manipulate paths | Subject: [PATCH] obex: Use GLib helper function to manipulate paths | ||||||
| 
 | 
 | ||||||
| Instead of trying to do it by hand. This also makes sure that | Instead of trying to do it by hand. This also makes sure that | ||||||
| relative paths aren't used by the agent. | relative paths aren't used by the agent. | ||||||
|  | 
 | ||||||
|  | [Emil Velikov] | ||||||
|  | Originally this patch was posted in 2013, but deferred since bluez was | ||||||
|  | planning to move away from glib. Presently there's no obvious action | ||||||
|  | towards that goal, so I think we can safely land this. | ||||||
|  | 
 | ||||||
|  | As mentioned by the author, current code allows for relative paths and | ||||||
|  | considering that obexd service runs without meaningful sandboxing and on | ||||||
|  | some distributions it is ran as root, we should plug the whole before | ||||||
|  | anyone (ab)uses it. | ||||||
| ---
 | ---
 | ||||||
|  obexd/src/manager.c | 10 +++++----- |  obexd/src/manager.c | 15 +++++---------- | ||||||
|  1 file changed, 5 insertions(+), 5 deletions(-) |  1 file changed, 5 insertions(+), 10 deletions(-) | ||||||
| 
 | 
 | ||||||
| diff --git a/obexd/src/manager.c b/obexd/src/manager.c
 | diff --git a/obexd/src/manager.c b/obexd/src/manager.c
 | ||||||
| index f84384ae4..285c07c37 100644
 | index 73fd6b9aff15..cc1de7ae2ed3 100644
 | ||||||
| --- a/obexd/src/manager.c
 | --- a/obexd/src/manager.c
 | ||||||
| +++ b/obexd/src/manager.c
 | +++ b/obexd/src/manager.c
 | ||||||
| @@ -650,14 +650,14 @@ static void agent_reply(DBusPendingCall *call, void *user_data)
 | @@ -644,18 +644,13 @@ static void agent_reply(DBusPendingCall *call, void *user_data)
 | ||||||
|  				DBUS_TYPE_STRING, &name, |  				DBUS_TYPE_STRING, &name, | ||||||
|  				DBUS_TYPE_INVALID)) { |  				DBUS_TYPE_INVALID)) { | ||||||
|  		/* Splits folder and name */ |  		/* Splits folder and name */ | ||||||
| @ -22,17 +32,21 @@ index f84384ae4..285c07c37 100644 | |||||||
|  		DBG("Agent replied with %s", name); |  		DBG("Agent replied with %s", name); | ||||||
| -		if (!slash) {
 | -		if (!slash) {
 | ||||||
| -			agent->new_name = g_strdup(name);
 | -			agent->new_name = g_strdup(name);
 | ||||||
| +		if (is_relative) {
 | +		agent->new_name = g_path_get_basename(name);
 | ||||||
| +			agent->new_name = g_path_get_basename(name);
 | +		if (is_relative)
 | ||||||
|  			agent->new_folder = NULL; |  			agent->new_folder = NULL; | ||||||
|  		} else { | -		} else {
 | ||||||
| -			agent->new_name = g_strdup(slash + 1);
 | -			if (strlen(slash) == 1)
 | ||||||
|  | -				agent->new_name = NULL;
 | ||||||
|  | -			else
 | ||||||
|  | -				agent->new_name = g_strdup(slash + 1);
 | ||||||
| -			agent->new_folder = g_strndup(name, slash - name);
 | -			agent->new_folder = g_strndup(name, slash - name);
 | ||||||
| +			agent->new_name = g_path_get_basename(name);
 | -		}
 | ||||||
|  | +		else
 | ||||||
| +			agent->new_folder = g_path_get_dirname(name);
 | +			agent->new_folder = g_path_get_dirname(name);
 | ||||||
|  		} |  | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  |  	dbus_message_unref(reply); | ||||||
| -- 
 | -- 
 | ||||||
| 2.14.1 | 2.43.0 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,73 +0,0 @@ | |||||||
| From: David Marlin <dmarlin@redhat.com> |  | ||||||
| 
 |  | ||||||
| Subject: pbap: Fix not checking Primary/Secundary Counter length |  | ||||||
| 
 |  | ||||||
| Resolves: RHEL-35501 |  | ||||||
| Resolves: RHEL-35504 |  | ||||||
| 
 |  | ||||||
| CVE: CVE-2023-50230 |  | ||||||
| CVE: CVE-2023-50229 |  | ||||||
| 
 |  | ||||||
| commit 5ab5352531a9cc7058cce569607f3a6831464443 |  | ||||||
| Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> |  | ||||||
| Date:   Tue Sep 19 12:14:01 2023 -0700 |  | ||||||
| 
 |  | ||||||
|     pbap: Fix not checking Primary/Secundary Counter length |  | ||||||
|      |  | ||||||
|     Primary/Secundary Counters are supposed to be 16 bytes values, if the |  | ||||||
|     server has implemented them incorrectly it may lead to the following |  | ||||||
|     crash: |  | ||||||
|      |  | ||||||
|     ================================================================= |  | ||||||
|     ==31860==ERROR: AddressSanitizer: heap-buffer-overflow on address |  | ||||||
|     0x607000001878 at pc 0x7f95a1575638 bp 0x7fff58c6bb80 sp 0x7fff58c6b328 |  | ||||||
|      |  | ||||||
|      READ of size 48 at 0x607000001878 thread T0 |  | ||||||
|          #0 0x7f95a1575637 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:860 |  | ||||||
|          #1 0x7f95a1575ba6 in __interceptor_memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:892 |  | ||||||
|          #2 0x7f95a1575ba6 in __interceptor_memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:887 |  | ||||||
|          #3 0x564df69c77a0 in read_version obexd/client/pbap.c:288 |  | ||||||
|          #4 0x564df69c77a0 in read_return_apparam obexd/client/pbap.c:352 |  | ||||||
|          #5 0x564df69c77a0 in phonebook_size_callback obexd/client/pbap.c:374 |  | ||||||
|          #6 0x564df69bea3c in session_terminate_transfer obexd/client/session.c:921 |  | ||||||
|          #7 0x564df69d56b0 in get_xfer_progress_first obexd/client/transfer.c:729 |  | ||||||
|          #8 0x564df698b9ee in handle_response gobex/gobex.c:1140 |  | ||||||
|          #9 0x564df698cdea in incoming_data gobex/gobex.c:1385 |  | ||||||
|          #10 0x7f95a12fdc43 in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x55c43) |  | ||||||
|          #11 0x7f95a13526c7  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0xaa6c7) |  | ||||||
|          #12 0x7f95a12fd2b2 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x552b2) |  | ||||||
|          #13 0x564df6977d41 in main obexd/src/main.c:307 |  | ||||||
|          #14 0x7f95a10a7d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 |  | ||||||
|          #15 0x7f95a10a7e3f in __libc_start_main_impl ../csu/libc-start.c:392 |  | ||||||
|          #16 0x564df6978704 in _start (/usr/local/libexec/bluetooth/obexd+0x8b704) |  | ||||||
|      0x607000001878 is located 0 bytes to the right of 72-byte region [0x607000001830,0x607000001878) |  | ||||||
|      |  | ||||||
|      allocated by thread T0 here: |  | ||||||
|          #0 0x7f95a1595a37 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154 |  | ||||||
|          #1 0x564df69c8b6a in pbap_probe obexd/client/pbap.c:1259 |  | ||||||
| 
 |  | ||||||
| Signed-off-by: David Marlin <dmarlin@redhat.com> |  | ||||||
| 
 |  | ||||||
| diff --git a/obexd/client/pbap.c b/obexd/client/pbap.c
 |  | ||||||
| index 1ed8c68eccd00097a8539aaa9ede9feed9b6d060..2d2aa950898c38984d544e7708610d4c2af43b59 100644
 |  | ||||||
| --- a/obexd/client/pbap.c
 |  | ||||||
| +++ b/obexd/client/pbap.c
 |  | ||||||
| @@ -285,7 +285,7 @@ static void read_version(struct pbap_data *pbap, GObexApparam *apparam)
 |  | ||||||
|  		data = value; |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| -	if (memcmp(pbap->primary, data, len)) {
 |  | ||||||
| +	if (len == sizeof(pbap->primary) && memcmp(pbap->primary, data, len)) {
 |  | ||||||
|  		memcpy(pbap->primary, data, len); |  | ||||||
|  		g_dbus_emit_property_changed(conn, |  | ||||||
|  					obc_session_get_path(pbap->session), |  | ||||||
| @@ -299,7 +299,8 @@ static void read_version(struct pbap_data *pbap, GObexApparam *apparam)
 |  | ||||||
|  		data = value; |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| -	if (memcmp(pbap->secondary, data, len)) {
 |  | ||||||
| +	if (len == sizeof(pbap->secondary) &&
 |  | ||||||
| +			memcmp(pbap->secondary, data, len)) {
 |  | ||||||
|  		memcpy(pbap->secondary, data, len); |  | ||||||
|  		g_dbus_emit_property_changed(conn, |  | ||||||
|  					obc_session_get_path(pbap->session), |  | ||||||
| @ -1,44 +0,0 @@ | |||||||
| From 98826d0717fe831265256f996c9e90d15262bef1 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Gopal Tiwari <gtiwari@redhat.com> |  | ||||||
| Date: Mon, 8 Jun 2020 19:54:24 +0530 |  | ||||||
| Subject: [PATCH BlueZ 2/4] systemd: Add PrivateTmp and NoNewPrivileges options |  | ||||||
| 
 |  | ||||||
| From 4570164f0c90603bd07eb9e7c07e17bbafb5b5da Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Craig Andrews <candrews@integralblue.com> |  | ||||||
| Date: Wed, 13 Sep 2017 15:23:09 +0200 |  | ||||||
| 
 |  | ||||||
| systemd: Add PrivateTmp and NoNewPrivileges options |  | ||||||
| 
 |  | ||||||
| PrivateTmp makes bluetoothd's /tmp and /var/tmp be inside a different |  | ||||||
| namespace. This is useful to secure access to temporary files of the |  | ||||||
| process. |  | ||||||
| 
 |  | ||||||
| NoNewPrivileges ensures that service process and all its children |  | ||||||
| can never gain new privileges through execve(), lowering the risk of |  | ||||||
| possible privilege escalations. |  | ||||||
| ---
 |  | ||||||
|  src/bluetooth.service.in | 6 ++++++ |  | ||||||
|  1 file changed, 6 insertions(+) |  | ||||||
| 
 |  | ||||||
| diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in
 |  | ||||||
| index f9faaa452..7c2f60bb4 100644
 |  | ||||||
| --- a/src/bluetooth.service.in
 |  | ||||||
| +++ b/src/bluetooth.service.in
 |  | ||||||
| @@ -12,8 +12,14 @@ NotifyAccess=main
 |  | ||||||
|  #Restart=on-failure |  | ||||||
|  CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE |  | ||||||
|  LimitNPROC=1 |  | ||||||
| +
 |  | ||||||
| +# Filesystem lockdown
 |  | ||||||
|  ProtectHome=true |  | ||||||
|  ProtectSystem=full |  | ||||||
| +PrivateTmp=true
 |  | ||||||
| +
 |  | ||||||
| +# Privilege escalation
 |  | ||||||
| +NoNewPrivileges=true
 |  | ||||||
|   |  | ||||||
|  [Install] |  | ||||||
|  WantedBy=bluetooth.target |  | ||||||
| -- 
 |  | ||||||
| 2.21.1 |  | ||||||
| 
 |  | ||||||
| @ -1,44 +0,0 @@ | |||||||
| From 13a348670fef0047555395ce6977e86e0005f8bd Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Bastien Nocera <hadess@hadess.net> |  | ||||||
| Date: Wed, 13 Sep 2017 15:37:11 +0200 |  | ||||||
| Subject: [PATCH 3/4] systemd: Add more filesystem lockdown |  | ||||||
| 
 |  | ||||||
| We can only access the configuration file as read-only and read-write |  | ||||||
| to the Bluetooth cache directory and sub-directories. |  | ||||||
| ---
 |  | ||||||
|  Makefile.am              | 3 +++ |  | ||||||
|  src/bluetooth.service.in | 4 ++++ |  | ||||||
|  2 files changed, 7 insertions(+) |  | ||||||
| 
 |  | ||||||
| diff --git a/Makefile.am b/Makefile.am
 |  | ||||||
| index ac88c12e0..0a6d09847 100644
 |  | ||||||
| --- a/Makefile.am
 |  | ||||||
| +++ b/Makefile.am
 |  | ||||||
| @@ -617,6 +617,9 @@
 |  | ||||||
|   |  | ||||||
|  SED_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ |  | ||||||
|  		$(SED) -e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \ |  | ||||||
| +		       -e 's,@libexecdir\@,$(libexecdir),g' \
 |  | ||||||
| +		       -e 's,@statedir\@,$(statedir),g' \
 |  | ||||||
| +		       -e 's,@confdir\@,$(confdir),g' \
 |  | ||||||
|  		< $< > $@ |  | ||||||
|   |  | ||||||
|  if RUN_RST2MAN |  | ||||||
| diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in
 |  | ||||||
| index 7c2f60bb4..4daedef2a 100644
 |  | ||||||
| --- a/src/bluetooth.service.in
 |  | ||||||
| +++ b/src/bluetooth.service.in
 |  | ||||||
| @@ -17,6 +17,10 @@ LimitNPROC=1
 |  | ||||||
|  ProtectHome=true |  | ||||||
|  ProtectSystem=full |  | ||||||
|  PrivateTmp=true |  | ||||||
| +ProtectKernelTunables=true
 |  | ||||||
| +ProtectControlGroups=true
 |  | ||||||
| +ReadWritePaths=@statedir@
 |  | ||||||
| +ReadOnlyPaths=@confdir@
 |  | ||||||
|   |  | ||||||
|  # Privilege escalation |  | ||||||
|  NoNewPrivileges=true |  | ||||||
| -- 
 |  | ||||||
| 2.21.0 |  | ||||||
| 
 |  | ||||||
| @ -1,40 +0,0 @@ | |||||||
| From 9a7872f04cb748e8de743d9136ecd91539d13cb7 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Gopal Tiwari <gtiwari@redhat.com> |  | ||||||
| Date: Mon, 8 Jun 2020 19:56:42 +0530 |  | ||||||
| Subject: [PATCH BlueZ 4/4] systemd: More lockdown |  | ||||||
| 
 |  | ||||||
| From 171d812218883281fed57b57fafd5c18eac441ac Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Bastien Nocera <hadess@hadess.net> |  | ||||||
| Date: Wed, 13 Sep 2017 15:38:26 +0200 |  | ||||||
| 
 |  | ||||||
| systemd: More lockdown |  | ||||||
| 
 |  | ||||||
| bluetoothd does not need to execute mapped memory, or real-time |  | ||||||
| access, so block those. |  | ||||||
| ---
 |  | ||||||
|  src/bluetooth.service.in | 6 ++++++ |  | ||||||
|  1 file changed, 6 insertions(+) |  | ||||||
| 
 |  | ||||||
| diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in
 |  | ||||||
| index 4daedef2a..f18801866 100644
 |  | ||||||
| --- a/src/bluetooth.service.in
 |  | ||||||
| +++ b/src/bluetooth.service.in
 |  | ||||||
| @@ -22,9 +22,15 @@ ProtectControlGroups=true
 |  | ||||||
|  ReadWritePaths=@statedir@ |  | ||||||
|  ReadOnlyPaths=@confdir@ |  | ||||||
|   |  | ||||||
| +# Execute Mappings
 |  | ||||||
| +MemoryDenyWriteExecute=true
 |  | ||||||
| +
 |  | ||||||
|  # Privilege escalation |  | ||||||
|  NoNewPrivileges=true |  | ||||||
|   |  | ||||||
| +# Real-time
 |  | ||||||
| +RestrictRealtime=true
 |  | ||||||
| +
 |  | ||||||
|  [Install] |  | ||||||
|  WantedBy=bluetooth.target |  | ||||||
|  Alias=dbus-org.bluez.service |  | ||||||
| -- 
 |  | ||||||
| 2.21.1 |  | ||||||
| 
 |  | ||||||
							
								
								
									
										174
									
								
								SOURCES/5.83-fixes.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								SOURCES/5.83-fixes.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,174 @@ | |||||||
|  | From a3a1298c0f4e2387694ad7ecd952cbd0a0b82c83 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | ||||||
|  | Date: Thu, 3 Jul 2025 13:30:22 -0400 | ||||||
|  | Subject: [PATCH 1/2] shared/shell: Fix not calling pre_run for main menu | ||||||
|  | 
 | ||||||
|  | When calling bt_shell_run the main menu pre_run was not being called | ||||||
|  | which cause tools with just one menu to not work as intended. | ||||||
|  | 
 | ||||||
|  | Fixes: https://github.com/bluez/bluez/issues/1319 | ||||||
|  | ---
 | ||||||
|  |  src/shared/shell.c | 3 +++ | ||||||
|  |  1 file changed, 3 insertions(+) | ||||||
|  | 
 | ||||||
|  | diff --git a/src/shared/shell.c b/src/shared/shell.c
 | ||||||
|  | index 3e5959fc1868..c69748594955 100644
 | ||||||
|  | --- a/src/shared/shell.c
 | ||||||
|  | +++ b/src/shared/shell.c
 | ||||||
|  | @@ -1449,6 +1449,9 @@ int bt_shell_run(void)
 | ||||||
|  |  	int status; | ||||||
|  |  	const struct queue_entry *submenu; | ||||||
|  |   | ||||||
|  | +	if (data.menu && data.menu->pre_run)
 | ||||||
|  | +		data.menu->pre_run(data.menu);
 | ||||||
|  | +
 | ||||||
|  |  	for (submenu = queue_get_entries(data.submenus); submenu; | ||||||
|  |  	     submenu = submenu->next) { | ||||||
|  |  		struct bt_shell_menu *menu = submenu->data; | ||||||
|  | -- 
 | ||||||
|  | 2.50.1 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | From a7ce88a861a0a26b50987ff455f0bb61379aa89c Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | ||||||
|  | Date: Mon, 7 Jul 2025 09:39:43 -0400 | ||||||
|  | Subject: [PATCH 2/2] shared/shell: Fix not running pre_run on | ||||||
|  |  MODE_NON_INTERACTIVE | ||||||
|  | 
 | ||||||
|  | If a command is given to be run in non-interactive mode the code would | ||||||
|  | not attempt to execute .pre_run first since some (sub)menus requires that | ||||||
|  | in order to properly initialize things. | ||||||
|  | 
 | ||||||
|  | Fixes: https://github.com/bluez/bluez/issues/1394 | ||||||
|  | Fixes: https://github.com/bluez/bluez/issues/1317 | ||||||
|  | ---
 | ||||||
|  |  src/shared/shell.c | 33 +++++++++++++++++++++++---------- | ||||||
|  |  1 file changed, 23 insertions(+), 10 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/src/shared/shell.c b/src/shared/shell.c
 | ||||||
|  | index c69748594955..694ddc0007f5 100644
 | ||||||
|  | --- a/src/shared/shell.c
 | ||||||
|  | +++ b/src/shared/shell.c
 | ||||||
|  | @@ -423,7 +423,8 @@ static void cmd_script(int argc, char *argv[])
 | ||||||
|  |  	return bt_shell_noninteractive_quit(EXIT_SUCCESS); | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | -static const struct bt_shell_menu_entry default_menu[] = {
 | ||||||
|  | +static const struct bt_shell_menu default_menu = {
 | ||||||
|  | +	.entries = {
 | ||||||
|  |  	{ "back",         NULL,       cmd_back, "Return to main menu", NULL, | ||||||
|  |  							NULL, cmd_back_exists }, | ||||||
|  |  	{ "menu",         "<name>",   cmd_menu, "Select submenu", | ||||||
|  | @@ -437,7 +438,7 @@ static const struct bt_shell_menu_entry default_menu[] = {
 | ||||||
|  |  	{ "export",       NULL,       cmd_export, | ||||||
|  |  						"Print environment variables" }, | ||||||
|  |  	{ "script",       "<filename>", cmd_script, "Run script" }, | ||||||
|  | -	{ }
 | ||||||
|  | +	{} },
 | ||||||
|  |  }; | ||||||
|  |   | ||||||
|  |  static void shell_print_help(void) | ||||||
|  | @@ -480,7 +481,7 @@ static void shell_print_menu(void)
 | ||||||
|  |  		print_menu(entry->cmd, entry->arg ? : "", entry->desc ? : ""); | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  | -	for (entry = default_menu; entry->cmd; entry++) {
 | ||||||
|  | +	for (entry = default_menu.entries; entry->cmd; entry++) {
 | ||||||
|  |  		if (entry->exists && !entry->exists(data.menu)) | ||||||
|  |  			continue; | ||||||
|  |   | ||||||
|  | @@ -495,7 +496,7 @@ static void shell_print_menu_zsh_complete(void)
 | ||||||
|  |  	for (entry = data.menu->entries; entry->cmd; entry++) | ||||||
|  |  		printf("%s:%s\n", entry->cmd, entry->desc ? : ""); | ||||||
|  |   | ||||||
|  | -	for (entry = default_menu; entry->cmd; entry++) {
 | ||||||
|  | +	for (entry = default_menu.entries; entry->cmd; entry++) {
 | ||||||
|  |  		if (entry->exists && !entry->exists(data.menu)) | ||||||
|  |  			continue; | ||||||
|  |   | ||||||
|  | @@ -627,9 +628,11 @@ fail:
 | ||||||
|  |  	return -EINVAL; | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | -static int menu_exec(const struct bt_shell_menu_entry *entry,
 | ||||||
|  | +static int menu_exec(const struct bt_shell_menu *menu,
 | ||||||
|  |  					int argc, char *argv[]) | ||||||
|  |  { | ||||||
|  | +	const struct bt_shell_menu_entry *entry = menu->entries;
 | ||||||
|  | +
 | ||||||
|  |  	for (; entry->cmd; entry++) { | ||||||
|  |  		if (strcmp(argv[0], entry->cmd)) | ||||||
|  |  			continue; | ||||||
|  | @@ -642,6 +645,9 @@ static int menu_exec(const struct bt_shell_menu_entry *entry,
 | ||||||
|  |  		if (data.menu == data.main && !strcmp(entry->cmd, "back")) | ||||||
|  |  			continue; | ||||||
|  |   | ||||||
|  | +		if (data.mode == MODE_NON_INTERACTIVE && menu->pre_run)
 | ||||||
|  | +			menu->pre_run(menu);
 | ||||||
|  | +
 | ||||||
|  |  		return cmd_exec(entry, argc, argv); | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  | @@ -673,7 +679,7 @@ static int submenu_exec(int argc, char *argv[])
 | ||||||
|  |  	memmove(argv[0], argv[0] + len + 1, tlen - len - 1); | ||||||
|  |  	memset(argv[0] + tlen - len - 1, 0, len + 1); | ||||||
|  |   | ||||||
|  | -	return menu_exec(submenu->entries, argc, argv);
 | ||||||
|  | +	return menu_exec(submenu, argc, argv);
 | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  static int shell_exec(int argc, char *argv[]) | ||||||
|  | @@ -686,9 +692,9 @@ static int shell_exec(int argc, char *argv[])
 | ||||||
|  |  	if (!argsisutf8(argc, argv)) | ||||||
|  |  		return -EINVAL; | ||||||
|  |   | ||||||
|  | -	err  = menu_exec(default_menu, argc, argv);
 | ||||||
|  | +	err  = menu_exec(&default_menu, argc, argv);
 | ||||||
|  |  	if (err == -ENOENT) { | ||||||
|  | -		err  = menu_exec(data.menu->entries, argc, argv);
 | ||||||
|  | +		err  = menu_exec(data.menu, argc, argv);
 | ||||||
|  |  		if (err == -ENOENT) { | ||||||
|  |  			err = submenu_exec(argc, argv); | ||||||
|  |  			if (err == -ENOENT) { | ||||||
|  | @@ -980,7 +986,7 @@ static char *cmd_generator(const char *text, int state)
 | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  |  	if (default_menu_enabled) { | ||||||
|  | -		cmd = find_cmd(text, default_menu, &index);
 | ||||||
|  | +		cmd = find_cmd(text, default_menu.entries, &index);
 | ||||||
|  |  		if (cmd) { | ||||||
|  |  			return cmd; | ||||||
|  |  		} else { | ||||||
|  | @@ -1171,7 +1177,7 @@ static char **shell_completion(const char *text, int start, int end)
 | ||||||
|  |  		if (wordexp(rl_line_buffer, &w, WRDE_NOCMD)) | ||||||
|  |  			return NULL; | ||||||
|  |   | ||||||
|  | -		matches = menu_completion(default_menu, text, w.we_wordc,
 | ||||||
|  | +		matches = menu_completion(default_menu.entries, text, w.we_wordc,
 | ||||||
|  |  							w.we_wordv[0]); | ||||||
|  |  		if (!matches) { | ||||||
|  |  			matches = menu_completion(data.menu->entries, text, | ||||||
|  | @@ -1449,6 +1455,12 @@ int bt_shell_run(void)
 | ||||||
|  |  	int status; | ||||||
|  |  	const struct queue_entry *submenu; | ||||||
|  |   | ||||||
|  | +	/* Check if on non-interactive mode skip pre-run since that is on-demand
 | ||||||
|  | +	 * by shell_exec() only for the menu in use.
 | ||||||
|  | +	 */
 | ||||||
|  | +	if (data.mode == MODE_NON_INTERACTIVE)
 | ||||||
|  | +		goto done;
 | ||||||
|  | +
 | ||||||
|  |  	if (data.menu && data.menu->pre_run) | ||||||
|  |  		data.menu->pre_run(data.menu); | ||||||
|  |   | ||||||
|  | @@ -1460,6 +1472,7 @@ int bt_shell_run(void)
 | ||||||
|  |  			menu->pre_run(menu); | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  | +done:
 | ||||||
|  |  	status = mainloop_run_with_signal(signal_callback, NULL); | ||||||
|  |   | ||||||
|  |  	bt_shell_cleanup(); | ||||||
|  | -- 
 | ||||||
|  | 2.50.1 | ||||||
|  | 
 | ||||||
| @ -1,33 +0,0 @@ | |||||||
| # Some devices have a bluetooth HCI connected to an uart, these needs to be |  | ||||||
| # setup by calling btattach. The systemd btattach-bcm.service takes care of |  | ||||||
| # this. These udev rules hardware-activate that service when necessary. |  | ||||||
| # |  | ||||||
| # For now this only suports ACPI enumerated Broadcom BT HCIs. |  | ||||||
| # This has been tested on Bay and Cherry Trail devices with both ACPI and |  | ||||||
| # PCI enumerated UARTs. |  | ||||||
| 
 |  | ||||||
| # Note we check for the platform device not for the acpi device, because |  | ||||||
| # some DSDTs list multiple bluetooth adapters, but only some (or none) |  | ||||||
| # are enabled. Only enabled adapters get a platform device created. |  | ||||||
| ACTION!="add", GOTO="btattach_bcm_rules_end" |  | ||||||
| SUBSYSTEM!="platform", GOTO="btattach_bcm_rules_end" |  | ||||||
| 
 |  | ||||||
| KERNEL=="BCM2E1A:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E39:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E3A:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E3D:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E3F:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E40:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E54:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E55:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E64:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E65:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E67:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E71:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E7B:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E7C:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E7E:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E95:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| KERNEL=="BCM2E96:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service" |  | ||||||
| 
 |  | ||||||
| LABEL="btattach_bcm_rules_end" |  | ||||||
| @ -1,30 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| 
 |  | ||||||
| # Simple shell script to wait for the tty for an uart using BT HCI to show up |  | ||||||
| # and then invoke btattach with the right parameters, this is intended to be |  | ||||||
| # invoked from a hardware-activated systemd service |  | ||||||
| # |  | ||||||
| # For now this only suports ACPI enumerated Broadcom BT HCIs. |  | ||||||
| # This has been tested on Bay and Cherry Trail devices with both ACPI and |  | ||||||
| # PCI enumerated UARTs. |  | ||||||
| # |  | ||||||
| # Note the kernel bt developers are working on solving this entirely in the |  | ||||||
| # kernel, so it is not worth the trouble to write something better then this. |  | ||||||
| 
 |  | ||||||
| BT_DEV="/sys/bus/platform/devices/$1" |  | ||||||
| BT_DEV="$(readlink -f $BT_DEV)" |  | ||||||
| UART_DEV="$(dirname $BT_DEV)" |  | ||||||
| 
 |  | ||||||
| # Stupid GPD-pocket has USB BT with id 0000:0000, but still claims to have |  | ||||||
| # an uart attached bt |  | ||||||
| if [ "$1" = "BCM2E7E:00" ] && lsusb | grep -q "ID 0000:0000"; then |  | ||||||
| 	exit 0 |  | ||||||
| fi |  | ||||||
| 
 |  | ||||||
| while [ ! -d "$UART_DEV/tty" ]; do |  | ||||||
| 	sleep .2 |  | ||||||
| done |  | ||||||
| 
 |  | ||||||
| TTY="$(ls $UART_DEV/tty)" |  | ||||||
| 
 |  | ||||||
| exec btattach --bredr "/dev/$TTY" -P bcm |  | ||||||
| @ -1,6 +0,0 @@ | |||||||
| [Unit] |  | ||||||
| Description=btattach for Broadcom devices |  | ||||||
| 
 |  | ||||||
| [Service] |  | ||||||
| Type=simple |  | ||||||
| ExecStart=/usr/libexec/bluetooth/btattach-bcm-service.sh %I |  | ||||||
							
								
								
									
										476
									
								
								SPECS/bluez.spec
									
									
									
									
									
								
							
							
						
						
									
										476
									
								
								SPECS/bluez.spec
									
									
									
									
									
								
							| @ -1,63 +1,31 @@ | |||||||
|  | %if 0%{?fedora} || 0%{?rhel} <= 8 | ||||||
|  | %bcond_without deprecated | ||||||
|  | %else | ||||||
|  | %bcond_with deprecated | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
| Name:    bluez | Name:    bluez | ||||||
|  | Version: 5.83 | ||||||
|  | Release: 2%{?dist} | ||||||
| Summary: Bluetooth utilities | Summary: Bluetooth utilities | ||||||
| Version: 5.63 |  | ||||||
| Release: 5%{?dist} |  | ||||||
| License: GPLv2+ | License: GPLv2+ | ||||||
| URL:     http://www.bluez.org/ | URL:     http://www.bluez.org/ | ||||||
| 
 | 
 | ||||||
| Source0: http://www.kernel.org/pub/linux/bluetooth/bluez-%{version}.tar.xz | Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz | ||||||
| Source1: bluez.gitignore | Source1: bluez.gitignore | ||||||
| 
 | 
 | ||||||
| # Scripts for automatically btattach-ing serial ports connected to Broadcom HCIs |  | ||||||
| # as found on some Atom based x86 hardware |  | ||||||
| Source2: 69-btattach-bcm.rules |  | ||||||
| Source3: btattach-bcm@.service |  | ||||||
| Source4: btattach-bcm-service.sh |  | ||||||
| 
 |  | ||||||
| # https://github.com/hadess/bluez/commits/build-fixes-5.46 |  | ||||||
| #Patch1: 0001-build-Enable-BIND_NOW.patch |  | ||||||
| #Patch2: 0003-tools-csr_usb-Fix-compilation-failure.patch |  | ||||||
| 
 |  | ||||||
| # https://github.com/hadess/bluez/commits/obex-5.46 | # https://github.com/hadess/bluez/commits/obex-5.46 | ||||||
| Patch3: 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch | Patch1: 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch | ||||||
|  | # https://patchwork.kernel.org/project/bluetooth/patch/20240214155019.325715-1-hadess@hadess.net/ | ||||||
|  | Patch2: 0001-Add-missing-mesh-gatt-JSON-files.patch | ||||||
|  | # Upstream fixes | ||||||
|  | Patch3: 5.83-fixes.patch | ||||||
| 
 | 
 | ||||||
| # https://github.com/hadess/bluez/commits/hostname-plugin-5.47 |  | ||||||
| Patch4: 0001-hostname-Fix-BlueZ-5.XX-adapter-name-on-startup.patch |  | ||||||
| 
 |  | ||||||
| # https://github.com/hadess/bluez/commits/systemd-hardening |  | ||||||
| Patch20: 0001-build-Always-define-confdir-and-statedir.patch |  | ||||||
| Patch21: 0002-systemd-Add-PrivateTmp-and-NoNewPrivileges-options.patch |  | ||||||
| Patch22: 0003-systemd-Add-more-filesystem-lockdown.patch |  | ||||||
| Patch23: 0004-systemd-More-lockdown.patch |  | ||||||
| Patch25: 0001-gdbus-Emit-InterfacesAdded-of-parents-objects-first.patch  |  | ||||||
| 
 |  | ||||||
| # https://bugzilla.redhat.com/show_bug.cgi?id=1567622 |  | ||||||
| #Patch24: 0001-adapter-Don-t-refresh-adv_manager-for-non-LE-devices.patch |  | ||||||
| 
 |  | ||||||
| #Patch25: 0001-core-Add-AlwaysPairable-to-main.conf.patch  |  | ||||||
| #Patch26: 0002-agent-Make-the-first-agent-to-register-the-default.patch  |  | ||||||
| 
 |  | ||||||
| #Patch27: 0001-HOGP-must-only-accept-data-from-bonded-devices.patch |  | ||||||
| #Patch28: 0002-HID-accepts-bonded-device-connections-only.patch |  | ||||||
| #Patch29: 0001-shared-att-Fix-possible-crash-on-disconnect.patch |  | ||||||
| 
 |  | ||||||
| #https://bugzilla.redhat.com/show_bug.cgi?id=1961511 |  | ||||||
| #Patch30: 0001-input-hog-Attempt-to-set-security-level-if-not-bonde.patch |  | ||||||
| 
 |  | ||||||
| # fixing https://bugzilla.redhat.com/show_bug.cgi?id=1965057 |  | ||||||
| #Patch31: 0001-shared-gatt-server-Fix-not-properly-checking-for-sec.patch |  | ||||||
| 
 |  | ||||||
| #Patch32: 0001-sdpd-Fix-leaking-buffers-stored-in-cstates-cache.patch |  | ||||||
| 
 |  | ||||||
| Patch40: 0001-Change-default-of-ClassicBondedOnly.patch |  | ||||||
| 
 |  | ||||||
| Patch50: 0001-pbap-Fix-not-checking-Primary_Secundary-Counter-lengt.patch |  | ||||||
| Patch51: 0001-avrcp-Fix-crash-while-handling-unsupported-events.patch |  | ||||||
| 
 |  | ||||||
| BuildRequires: git-core |  | ||||||
| BuildRequires: dbus-devel >= 1.6 | BuildRequires: dbus-devel >= 1.6 | ||||||
| BuildRequires: glib2-devel | BuildRequires: glib2-devel | ||||||
|  | BuildRequires: libell-devel >= 0.37 | ||||||
| BuildRequires: libical-devel | BuildRequires: libical-devel | ||||||
|  | BuildRequires: make | ||||||
| BuildRequires: readline-devel | BuildRequires: readline-devel | ||||||
| # For bluetooth mesh | # For bluetooth mesh | ||||||
| BuildRequires: json-c-devel | BuildRequires: json-c-devel | ||||||
| @ -67,65 +35,77 @@ BuildRequires: systemd-devel | |||||||
| BuildRequires: cups-devel | BuildRequires: cups-devel | ||||||
| # For autoreconf | # For autoreconf | ||||||
| BuildRequires: libtool automake autoconf | BuildRequires: libtool automake autoconf | ||||||
|  | # For man pages | ||||||
| BuildRequires: python3-docutils | BuildRequires: python3-docutils | ||||||
|  | BuildRequires: python3-pygments | ||||||
| 
 | 
 | ||||||
| Requires: dbus >= 1.6 | Requires: dbus >= 1.6 | ||||||
| 
 |  | ||||||
| Requires(post): systemd | Requires(post): systemd | ||||||
| Requires(preun): systemd | Requires(preun): systemd | ||||||
| Requires(postun): systemd | Requires(postun): systemd | ||||||
| 
 | 
 | ||||||
| %description | %description | ||||||
| Utilities for use in Bluetooth applications: | Utilities for use in Bluetooth applications: | ||||||
| 	- hcitool | 	- avinfo | ||||||
| 	- hciattach | 	- bluemoon | ||||||
| 	- hciconfig |  | ||||||
| 	- bluetoothd |  | ||||||
| 	- l2ping |  | ||||||
| 	- rfcomm |  | ||||||
| 	- sdptool |  | ||||||
| 	- bluetoothctl | 	- bluetoothctl | ||||||
|  | 	- bluetoothd | ||||||
|  | 	- btattach | ||||||
| 	- btmon | 	- btmon | ||||||
| 	- hcidump | 	- hex2hcd | ||||||
|  | 	- l2ping | ||||||
| 	- l2test | 	- l2test | ||||||
|  | 	- mpris-proxy | ||||||
| 	- rctest | 	- rctest | ||||||
| 	- gatttool |  | ||||||
| 	- start scripts (Red Hat) |  | ||||||
| 	- pcmcia configuration files |  | ||||||
| 
 | 
 | ||||||
| The BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A. | The BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A. | ||||||
| 
 | 
 | ||||||
| %package libs |  | ||||||
| Summary: Libraries for use in Bluetooth applications |  | ||||||
| 
 |  | ||||||
| %package libs-devel |  | ||||||
| Summary: Development libraries for Bluetooth applications |  | ||||||
| Requires: bluez-libs%{?_isa} = %{version}-%{release} |  | ||||||
| 
 |  | ||||||
| %package cups | %package cups | ||||||
| Summary: CUPS printer backend for Bluetooth printers | Summary: CUPS printer backend for Bluetooth printers | ||||||
| Requires: bluez%{?_isa} = %{version}-%{release} | Requires: bluez%{?_isa} = %{version}-%{release} | ||||||
| Requires: cups | Requires: cups | ||||||
| 
 | 
 | ||||||
| %package hid2hci |  | ||||||
| Summary: Put HID proxying bluetooth HCI's into HCI mode |  | ||||||
| Requires: bluez%{?_isa} = %{version}-%{release} |  | ||||||
| 
 |  | ||||||
| %package obexd |  | ||||||
| Summary: Object Exchange daemon for sharing content |  | ||||||
| Requires: bluez%{?_isa} = %{version}-%{release} |  | ||||||
| Requires: bluez-libs%{?_isa} = %{version}-%{release} |  | ||||||
| 
 |  | ||||||
| %description cups | %description cups | ||||||
| This package contains the CUPS backend | This package contains the CUPS backend | ||||||
| 
 | 
 | ||||||
|  | %if %{with deprecated} | ||||||
|  | %package deprecated | ||||||
|  | Summary: Deprecated Bluetooth applications | ||||||
|  | Requires: bluez%{?_isa} = %{version}-%{release} | ||||||
|  | Obsoletes: bluez < 5.55-2 | ||||||
|  | 
 | ||||||
|  | %description deprecated | ||||||
|  | Bluetooth applications that have bee deprecated by upstream. They have been | ||||||
|  | replaced by funcationality in the core bluetoothctl and will eventually | ||||||
|  | be dropped by upstream. Utilities include: | ||||||
|  | 	- ciptool | ||||||
|  | 	- gatttool | ||||||
|  | 	- hciattach | ||||||
|  | 	- hciconfig | ||||||
|  | 	- hcidump | ||||||
|  | 	- hcitool | ||||||
|  | 	- rfcomm | ||||||
|  | 	- sdptool | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | %package libs | ||||||
|  | Summary: Libraries for use in Bluetooth applications | ||||||
|  | 
 | ||||||
| %description libs | %description libs | ||||||
| Libraries for use in Bluetooth applications. | Libraries for use in Bluetooth applications. | ||||||
| 
 | 
 | ||||||
|  | %package libs-devel | ||||||
|  | Summary: Development libraries for Bluetooth applications | ||||||
|  | Requires: bluez-libs%{?_isa} = %{version}-%{release} | ||||||
|  | 
 | ||||||
| %description libs-devel | %description libs-devel | ||||||
| bluez-libs-devel contains development libraries and headers for | bluez-libs-devel contains development libraries and headers for | ||||||
| use in Bluetooth applications. | use in Bluetooth applications. | ||||||
| 
 | 
 | ||||||
|  | %package hid2hci | ||||||
|  | Summary: Put HID proxying bluetooth HCI's into HCI mode | ||||||
|  | Requires: bluez%{?_isa} = %{version}-%{release} | ||||||
|  | 
 | ||||||
| %description hid2hci | %description hid2hci | ||||||
| Most allinone PC's and bluetooth keyboard / mouse sets which include a | Most allinone PC's and bluetooth keyboard / mouse sets which include a | ||||||
| bluetooth dongle, ship with a so called HID proxying bluetooth HCI. | bluetooth dongle, ship with a so called HID proxying bluetooth HCI. | ||||||
| @ -145,31 +125,59 @@ them again. Since you cannot use your bluetooth keyboard and mouse until | |||||||
| they are paired, this will require the use of a regular (wired) USB keyboard | they are paired, this will require the use of a regular (wired) USB keyboard | ||||||
| and mouse. | and mouse. | ||||||
| 
 | 
 | ||||||
|  | %package mesh | ||||||
|  | Summary: Bluetooth mesh | ||||||
|  | Requires: bluez%{?_isa} = %{version}-%{release} | ||||||
|  | Requires: bluez-libs%{?_isa} = %{version}-%{release} | ||||||
|  | 
 | ||||||
|  | %description mesh | ||||||
|  | Services for bluetooth mesh | ||||||
|  | 
 | ||||||
|  | %package obexd | ||||||
|  | Summary: Object Exchange daemon for sharing content | ||||||
|  | Requires: bluez%{?_isa} = %{version}-%{release} | ||||||
|  | Requires: bluez-libs%{?_isa} = %{version}-%{release} | ||||||
|  | 
 | ||||||
| %description obexd | %description obexd | ||||||
| Object Exchange daemon for sharing files, contacts etc over bluetooth | Object Exchange daemon for sharing files, contacts etc over bluetooth | ||||||
| 
 | 
 | ||||||
| %prep | %prep | ||||||
| %autosetup -S git | %autosetup -p1 | ||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| libtoolize -f | autoreconf -vif | ||||||
| autoreconf -f -i | %configure --enable-tools --enable-library --disable-optimization \ | ||||||
| %configure --enable-tools --enable-library --enable-deprecated \ |            --enable-deprecated \ | ||||||
|            --enable-sixaxis --enable-cups --enable-nfc --enable-hid2hci \ |            --enable-sixaxis --enable-cups --enable-nfc --enable-mesh \ | ||||||
|  |            --enable-hid2hci --enable-testing \ | ||||||
|            --with-systemdsystemunitdir=%{_unitdir} \ |            --with-systemdsystemunitdir=%{_unitdir} \ | ||||||
|            --with-systemduserunitdir=%{_userunitdir} |            --with-systemduserunitdir=%{_userunitdir} | ||||||
| 
 | 
 | ||||||
| make %{?_smp_mflags} V=1 | %{make_build} | ||||||
| 
 | 
 | ||||||
| %install | %install | ||||||
| make install DESTDIR=$RPM_BUILD_ROOT | %{make_install} | ||||||
| 
 | 
 | ||||||
|  | %if %{with deprecated} | ||||||
| # "make install" fails to install gatttool, necessary for Bluetooth Low Energy | # "make install" fails to install gatttool, necessary for Bluetooth Low Energy | ||||||
| # Red Hat Bugzilla bug #1141909 | # Red Hat Bugzilla bug #1141909, Debian bug #720486 | ||||||
| # Debian bug #720486 |  | ||||||
| install -m0755 attrib/gatttool $RPM_BUILD_ROOT%{_bindir} | install -m0755 attrib/gatttool $RPM_BUILD_ROOT%{_bindir} | ||||||
|  | %else | ||||||
|  | for i in ciptool gatttool hciattach hciconfig hcidump hcitool rfcomm sdptool ; do \ | ||||||
|  | 	rm -f $RPM_BUILD_ROOT%{_bindir}/$i $RPM_BUILD_ROOT%{_mandir}/man1/$i*.1* ; \ | ||||||
|  | done | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| # Remove autocrap and libtool droppings | # "make install" fails to install avinfo | ||||||
|  | # Red Hat Bugzilla bug #1699680 | ||||||
|  | install -m0755 tools/avinfo $RPM_BUILD_ROOT%{_bindir} | ||||||
|  | 
 | ||||||
|  | # btmgmt is not installed by "make install", but it is useful for debugging | ||||||
|  | # some issues and to set the MAC address on HCIs which don't have their | ||||||
|  | # MAC address configured  | ||||||
|  | install -m0755 tools/btmgmt $RPM_BUILD_ROOT%{_bindir} | ||||||
|  | 
 | ||||||
|  | # Remove libtool archive | ||||||
| find $RPM_BUILD_ROOT -name '*.la' -delete | find $RPM_BUILD_ROOT -name '*.la' -delete | ||||||
| 
 | 
 | ||||||
| # Remove the cups backend from libdir, and install it in /usr/lib whatever the install | # Remove the cups backend from libdir, and install it in /usr/lib whatever the install | ||||||
| @ -182,20 +190,20 @@ rm -f ${RPM_BUILD_ROOT}/%{_sysconfdir}/udev/*.rules ${RPM_BUILD_ROOT}/usr/lib/ud | |||||||
| install -D -p -m0644 tools/hid2hci.rules ${RPM_BUILD_ROOT}/%{_udevrulesdir}/97-hid2hci.rules | install -D -p -m0644 tools/hid2hci.rules ${RPM_BUILD_ROOT}/%{_udevrulesdir}/97-hid2hci.rules | ||||||
| 
 | 
 | ||||||
| install -d -m0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/bluetooth | install -d -m0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/bluetooth | ||||||
|  | install -d -m0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/bluetooth/mesh | ||||||
| 
 | 
 | ||||||
| mkdir -p $RPM_BUILD_ROOT/%{_libdir}/bluetooth/ | mkdir -p $RPM_BUILD_ROOT/%{_libdir}/bluetooth/ | ||||||
| 
 | 
 | ||||||
| #copy bluetooth config file and setup auto enable | #copy bluetooth config file and setup auto enable | ||||||
| install -D -p -m0644 src/main.conf ${RPM_BUILD_ROOT}/etc/bluetooth/main.conf | install -D -p -m0644 src/main.conf ${RPM_BUILD_ROOT}/etc/bluetooth/main.conf | ||||||
|  | install -D -p -m0644 mesh/mesh-main.conf ${RPM_BUILD_ROOT}/etc/bluetooth/mesh-main.conf | ||||||
| sed -i 's/#\[Policy\]$/\[Policy\]/; s/#AutoEnable=false/AutoEnable=true/' ${RPM_BUILD_ROOT}/%{_sysconfdir}/bluetooth/main.conf | sed -i 's/#\[Policy\]$/\[Policy\]/; s/#AutoEnable=false/AutoEnable=true/' ${RPM_BUILD_ROOT}/%{_sysconfdir}/bluetooth/main.conf | ||||||
| 
 | 
 | ||||||
| #serial port connected Broadcom HCIs scripts | # Install the HCI emulator, useful for testing | ||||||
| install -D -p -m0644 %{SOURCE2} ${RPM_BUILD_ROOT}/%{_udevrulesdir}/ | install emulator/btvirt ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/ | ||||||
| install -D -p -m0644 %{SOURCE3} ${RPM_BUILD_ROOT}/%{_unitdir}/ |  | ||||||
| install -D -p -m0755 %{SOURCE4} ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/ |  | ||||||
| 
 | 
 | ||||||
| %check | #check | ||||||
| make check | #make check | ||||||
| 
 | 
 | ||||||
| %ldconfig_scriptlets libs | %ldconfig_scriptlets libs | ||||||
| 
 | 
 | ||||||
| @ -211,6 +219,12 @@ make check | |||||||
| %post hid2hci | %post hid2hci | ||||||
| /sbin/udevadm trigger --subsystem-match=usb | /sbin/udevadm trigger --subsystem-match=usb | ||||||
| 
 | 
 | ||||||
|  | %post mesh | ||||||
|  | %systemd_user_post bluetooth-mesh.service | ||||||
|  | 
 | ||||||
|  | %preun mesh | ||||||
|  | %systemd_user_preun bluetooth-mesh.service | ||||||
|  | 
 | ||||||
| %post obexd | %post obexd | ||||||
| %systemd_user_post obex.service | %systemd_user_post obex.service | ||||||
| 
 | 
 | ||||||
| @ -218,50 +232,58 @@ make check | |||||||
| %systemd_user_preun obex.service | %systemd_user_preun obex.service | ||||||
| 
 | 
 | ||||||
| %files | %files | ||||||
| %{!?_licensedir:%global license %%doc} |  | ||||||
| %license COPYING | %license COPYING | ||||||
| %doc AUTHORS ChangeLog | %doc AUTHORS ChangeLog | ||||||
| %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf | # bluetooth.service expects configuration directory to be read only | ||||||
|  | # https://github.com/bluez/bluez/issues/329#issuecomment-1102459104 | ||||||
|  | %attr(0555, root, root) %dir %{_sysconfdir}/bluetooth | ||||||
| %config %{_sysconfdir}/bluetooth/main.conf | %config %{_sysconfdir}/bluetooth/main.conf | ||||||
| %{_bindir}/btattach | %config(noreplace) %{_sysconfdir}/bluetooth/input.conf | ||||||
| %{_bindir}/ciptool | %config(noreplace) %{_sysconfdir}/bluetooth/network.conf | ||||||
| %{_bindir}/hcitool | %{_bindir}/avinfo | ||||||
| %{_bindir}/l2ping |  | ||||||
| %{_bindir}/rfcomm |  | ||||||
| %{_bindir}/sdptool |  | ||||||
| %{_bindir}/bluetoothctl |  | ||||||
| %{_bindir}/bluemoon | %{_bindir}/bluemoon | ||||||
|  | %{_bindir}/bluetoothctl | ||||||
|  | %{_bindir}/btattach | ||||||
|  | %{_bindir}/btmgmt | ||||||
| %{_bindir}/btmon | %{_bindir}/btmon | ||||||
| %{_bindir}/hciattach |  | ||||||
| %{_bindir}/hciconfig |  | ||||||
| %{_bindir}/hcidump |  | ||||||
| %{_bindir}/l2test |  | ||||||
| %{_bindir}/hex2hcd | %{_bindir}/hex2hcd | ||||||
|  | %{_bindir}/l2ping | ||||||
| %{_bindir}/mpris-proxy | %{_bindir}/mpris-proxy | ||||||
| %{_bindir}/gatttool | %{_mandir}/man1/bluetoothctl.1.* | ||||||
| %{_bindir}/rctest | %{_mandir}/man1/bluetoothctl-*.1.* | ||||||
| %{_datadir}/zsh/site-functions/_bluetoothctl | %{_mandir}/man1/btattach.1.* | ||||||
| %{_mandir}/man1/btattach.1.gz | %{_mandir}/man1/btmgmt.1.* | ||||||
| %{_mandir}/man1/btmon.1.* | %{_mandir}/man1/btmon.1.* | ||||||
| %{_mandir}/man1/ciptool.1.gz |  | ||||||
| %{_mandir}/man1/hcitool.1.gz |  | ||||||
| %{_mandir}/man1/rfcomm.1.gz |  | ||||||
| %{_mandir}/man1/sdptool.1.gz |  | ||||||
| %{_mandir}/man1/hciattach.1.* |  | ||||||
| %{_mandir}/man1/hciconfig.1.* |  | ||||||
| %{_mandir}/man1/hcidump.1.* |  | ||||||
| %{_mandir}/man1/l2ping.1.* | %{_mandir}/man1/l2ping.1.* | ||||||
| %{_mandir}/man1/rctest.1.* | %{_mandir}/man8/bluetoothd.8.* | ||||||
| %{_mandir}/man8/* | %dir %{_libexecdir}/bluetooth | ||||||
| %{_libexecdir}/bluetooth/bluetoothd | %{_libexecdir}/bluetooth/bluetoothd | ||||||
| %{_libexecdir}/bluetooth/btattach-bcm-service.sh |  | ||||||
| %{_libdir}/bluetooth/ | %{_libdir}/bluetooth/ | ||||||
| %{_localstatedir}/lib/bluetooth | %{_localstatedir}/lib/bluetooth | ||||||
| %{_datadir}/dbus-1/system-services/org.bluez.service | %{_datadir}/dbus-1/system-services/org.bluez.service | ||||||
|  | %{_datadir}/dbus-1/system.d/bluetooth.conf | ||||||
| %{_unitdir}/bluetooth.service | %{_unitdir}/bluetooth.service | ||||||
| %{_unitdir}/btattach-bcm@.service | %{_userunitdir}/mpris-proxy.service | ||||||
| %{_udevrulesdir}/69-btattach-bcm.rules | %{_datadir}/zsh/site-functions/_bluetoothctl | ||||||
| 
 | 
 | ||||||
|  | %if %{with deprecated} | ||||||
|  | %files deprecated | ||||||
|  | %{_bindir}/ciptool | ||||||
|  | %{_bindir}/gatttool | ||||||
|  | %{_bindir}/hciattach | ||||||
|  | %{_bindir}/hciconfig | ||||||
|  | %{_bindir}/hcidump | ||||||
|  | %{_bindir}/hcitool | ||||||
|  | %{_bindir}/rfcomm | ||||||
|  | %{_bindir}/sdptool | ||||||
|  | %{_mandir}/man1/ciptool.1.* | ||||||
|  | %{_mandir}/man1/hciattach.1.* | ||||||
|  | %{_mandir}/man1/hciconfig.1.* | ||||||
|  | %{_mandir}/man1/hcidump.1.* | ||||||
|  | %{_mandir}/man1/hcitool.1.* | ||||||
|  | %{_mandir}/man1/rfcomm.1.* | ||||||
|  | %{_mandir}/man1/sdptool.1.* | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| %files libs | %files libs | ||||||
| %{!?_licensedir:%global license %%doc} | %{!?_licensedir:%global license %%doc} | ||||||
| @ -270,9 +292,22 @@ make check | |||||||
| 
 | 
 | ||||||
| %files libs-devel | %files libs-devel | ||||||
| %doc doc/*txt | %doc doc/*txt | ||||||
|  | %{_bindir}/isotest | ||||||
|  | %{_bindir}/l2test | ||||||
|  | %{_bindir}/rctest | ||||||
| %{_libdir}/libbluetooth.so | %{_libdir}/libbluetooth.so | ||||||
| %{_includedir}/bluetooth | %{_includedir}/bluetooth | ||||||
|  | %{_mandir}/man1/isotest.1.* | ||||||
|  | %{_mandir}/man1/rctest.1.* | ||||||
|  | %{_mandir}/man5/org.bluez.*.5.* | ||||||
|  | %{_mandir}/man7/hci.7.* | ||||||
|  | %{_mandir}/man7/l2cap.7.* | ||||||
|  | %{_mandir}/man7/mgmt.7.* | ||||||
|  | %{_mandir}/man7/rfcomm.7.* | ||||||
|  | %{_mandir}/man7/sco.7.* | ||||||
| %{_libdir}/pkgconfig/bluez.pc | %{_libdir}/pkgconfig/bluez.pc | ||||||
|  | %dir %{_libexecdir}/bluetooth | ||||||
|  | %{_libexecdir}/bluetooth/btvirt | ||||||
| 
 | 
 | ||||||
| %files cups | %files cups | ||||||
| %_cups_serverbin/backend/bluetooth | %_cups_serverbin/backend/bluetooth | ||||||
| @ -282,98 +317,163 @@ make check | |||||||
| %{_mandir}/man1/hid2hci.1* | %{_mandir}/man1/hid2hci.1* | ||||||
| %{_udevrulesdir}/97-hid2hci.rules | %{_udevrulesdir}/97-hid2hci.rules | ||||||
| 
 | 
 | ||||||
|  | %files mesh | ||||||
|  | %doc tools/mesh-gatt/*.json | ||||||
|  | %config %{_sysconfdir}/bluetooth/mesh-main.conf | ||||||
|  | %{_bindir}/meshctl | ||||||
|  | %{_bindir}/mesh-cfgclient | ||||||
|  | %{_bindir}/mesh-cfgtest | ||||||
|  | %{_datadir}/dbus-1/system-services/org.bluez.mesh.service | ||||||
|  | %{_datadir}/dbus-1/system.d/bluetooth-mesh.conf | ||||||
|  | %{_libexecdir}/bluetooth/bluetooth-meshd | ||||||
|  | %{_unitdir}/bluetooth-mesh.service | ||||||
|  | %{_localstatedir}/lib/bluetooth/mesh | ||||||
|  | %{_mandir}/man8/bluetooth-meshd.8* | ||||||
|  | 
 | ||||||
| %files obexd | %files obexd | ||||||
| %{_libexecdir}/bluetooth/obexd | %{_libexecdir}/bluetooth/obexd | ||||||
| %{_datadir}/dbus-1/services/org.bluez.obex.service | %{_datadir}/dbus-1/services/org.bluez.obex.service | ||||||
|  | /usr/lib/systemd/user/dbus-org.bluez.obex.service | ||||||
|  | %{_datadir}/dbus-1/system.d/obex.conf | ||||||
| %{_userunitdir}/obex.service | %{_userunitdir}/obex.service | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
| * Mon Dec 09 2024 David Marlin <dmarlin@redhat.com> - 5.63-5 | * Mon Aug 18 2025 Bastien Nocera <bnocera@redhat.com> - 5.83-1 | ||||||
| + bluez-5.63-5 | - Fix problem with menu handling | ||||||
| - Resolves: RHEL-35371 |   Resolves: RHEL-103966 | ||||||
| - Fixing CVE-2023-27349 |  | ||||||
| - Resolves: RHEL-35492 |  | ||||||
| - Fixing CVE-2023-51589 |  | ||||||
| 
 | 
 | ||||||
| * Mon Aug 05 2024 David Marlin <dmarlin@redhat.com> - 5.63-4 | * Fri Jun 13 2025 Bastien Nocera <bnocera@redhat.com> - 5.83-1 | ||||||
| + bluez-5.63-4 | - Update to 5.83 | ||||||
| - Resolves: RHEL-35501 |   Resolves: RHEL-94819 | ||||||
| - Fixing CVE-2023-50230 |   Resolves: RHEL-56073 | ||||||
| - Resolves: RHEL-35504 |   Resolves: RHEL-1924 | ||||||
| - Fixing CVE-2023-50229 |  | ||||||
| 
 | 
 | ||||||
| * Thu Jun 06 2024 David Marlin <dmarlin@redhat.com> - 5.63-3 | * Fri Jan 24 2025 Bastien Nocera <bnocera@redhat.com> - 5.72-4 | ||||||
| + bluez-5.63-3 | - Fix plugin_init() startup warnings | ||||||
| - Add back the tests for OSCI. |   Related: RHEL-68934 | ||||||
| 
 | 
 | ||||||
| * Wed May 29 2024 David Marlin <dmarlin@redhat.com> - 5.63-2 | * Wed Jan 22 2025 Bastien Nocera <bnocera@redhat.com> - 5.72-3 | ||||||
| + bluez-5.63-2 | - Fix ConfigurationDirectory startup warning | ||||||
| - Change default of ClassicBondedOnly to true to align with HID specification. |   Related: RHEL-71798 | ||||||
| - Resolves: RHEL-18429 | 
 | ||||||
|  | * Mon Jul 15 2024 David Marlin <dmarlin@redhat.com> - 5.72-2 | ||||||
|  | - Bump release to rebuild for RHEL-9.5 | ||||||
|  | 
 | ||||||
|  | * Thu Feb 15 2024 Bastien Nocera <bnocera@redhat.com> - 5.72-1 | ||||||
|  | - Update to 5.72 | ||||||
|  | 
 | ||||||
|  | * Thu Jun 9 2022 Gopal Tiwari <gtiwari@redhat.com> - 5.64-2 | ||||||
|  | - Coverity fixes for bluez. | ||||||
|  | 
 | ||||||
|  | * Thu May 5 2022 Gopal Tiwari <gtiwari@redhat.com> - 5.64-1 | ||||||
|  | - Update to 5.64 | ||||||
|  | 
 | ||||||
|  | * Thu Dec 16 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-8 | ||||||
|  | - Fixing Gating and version | ||||||
|  |   Related: rhbz#2027435 | ||||||
|  | 
 | ||||||
|  | * Tue Dec 14 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-7 | ||||||
| - Fixing CVE-2021-41229 | - Fixing CVE-2021-41229 | ||||||
|  |   Related: rhbz#2027435 | ||||||
| 
 | 
 | ||||||
| * Tue May 17 2022 Gopal Tiwari <gtiwari@redhat.com> - 5.63-1 | * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 5.56-6 | ||||||
| + bluez-5.63-1 | - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags | ||||||
| - Fixing (#) |   Related: rhbz#1991688 | ||||||
| 
 | 
 | ||||||
| * Mon Dec 13 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-3 | * Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 5.56-5 | ||||||
| + bluez-5.56-3 | - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 | ||||||
| - Fixing (#2027434) |  | ||||||
| - Fixing CVE-2021-41229 |  | ||||||
| 
 | 
 | ||||||
| * Mon Jun 7 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-2 | * Sun Mar 14 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 5.56-4 | ||||||
| + bluez-5.56-2 | - Fix for avdtp audio disconnexts | ||||||
| - Fixing (#1968392) |  | ||||||
| - Removing bccmd check from tests |  | ||||||
| 
 | 
 | ||||||
| * Wed Jun 2 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-1 | * Sun Mar 14 2021 Hans de Goede <hdegoede@redhat.com> - 5.56-3 | ||||||
| + bluez-5.56-1 | - Drop obsolete udev rule + systemd service to call btattach on BT-HCIs | ||||||
| - Fixing (#1965057) |   connected via UART from userspace, this is all handled in the kernel now | ||||||
| - Removing bccmd, enabling hid2hci as upstream removed the support in bluez-5.56  | - Add the btmgmt util to the packaged files | ||||||
| 
 | 
 | ||||||
| * Wed May 26 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.52-5 | * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.56-2 | ||||||
| + bluez-5.52-5 | - Rebuilt for updated systemd-rpm-macros | ||||||
| - Fixing (#1961511) |   See https://pagure.io/fesco/issue/2583. | ||||||
| 
 | 
 | ||||||
| * Thu Oct 22 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-4 | * Sat Feb 27 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 5.56-1 | ||||||
| + bluez-5.52-4 | - Update to 5.56 | ||||||
| - Fixing (#1885378) |  | ||||||
| 
 | 
 | ||||||
| * Thu Oct 22 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-3 | * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.55-3 | ||||||
| + bluez-5.52-3 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild | ||||||
| - Revering the 5.52-2 patch due some mismatch with upsream patch.  |  | ||||||
| 
 | 
 | ||||||
| * Tue Oct 20 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-2 | * Sun Sep 13 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 5.55-2 | ||||||
| + bluez-5.52-2 | - Split tools marked as deprecated to separate sub package (rhbz #1887569) | ||||||
| - Fixing (#1885378) |  | ||||||
| 
 | 
 | ||||||
| * Tue Jun 9 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-1 | * Sun Sep 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 5.55-1 | ||||||
| + bluez-5.52-1 | - Update to 5.55 | ||||||
| - Fixing (#1830397) |  | ||||||
| 
 | 
 | ||||||
| * Fri Apr 24 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.50-4 | * Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.54-4 | ||||||
| + bluez-5.50-4 | - Second attempt - Rebuilt for | ||||||
| - Fixing CVE-2020-0556 |   https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild | ||||||
| 
 | 
 | ||||||
| * Mon Jan 13 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.50-3 | * Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.54-3 | ||||||
| + bluez-5.50-3 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild | ||||||
| - Bump the version  |  | ||||||
| 
 | 
 | ||||||
| * Mon Jan 13 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.50-2 | * Tue Apr 21 2020 Björn Esser <besser82@fedoraproject.org> - 5.54-2 | ||||||
|  | - Rebuild (json-c) | ||||||
|  | 
 | ||||||
|  | * Sun Mar 15 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 5.54-1 | ||||||
|  | - bluez 5.54 | ||||||
|  | 
 | ||||||
|  | * Sun Feb 16 2020 Peter Robinson <pbrobinson@fedoraproject.org> 5.53-2 | ||||||
|  | - Minor mesh updates | ||||||
|  | 
 | ||||||
|  | * Sun Feb 16 2020 Peter Robinson <pbrobinson@fedoraproject.org> 5.53-1 | ||||||
|  | - bluez 5.53 | ||||||
|  | 
 | ||||||
|  | * Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.52-4 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Thu Dec 12 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.52-3 | ||||||
|  | - Minor bluetooth mesh improvements | ||||||
|  | 
 | ||||||
|  | * Mon Dec 02 2019 Lubomir Rintel <lkundrak@v3.sk> - 5.52-2 | ||||||
|  | - Package the btvirt binary | ||||||
|  | 
 | ||||||
|  | * Sun Nov  3 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.52-1 | ||||||
|  | - bluez 5.52 | ||||||
|  | 
 | ||||||
|  | * Fri Sep 20 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.51-1 | ||||||
|  | - bluez 5.51 | ||||||
|  | 
 | ||||||
|  | * Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.50-9 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Thu Jun 06 2019 Bastien Nocera <bnocera@redhat.com> - 5.50-8 | ||||||
|  | + bluez-5.50-8 | ||||||
|  | - Backport loads of fixes from upstream, including: | ||||||
|  |   - dbus-broker support (#1711594) | ||||||
|  |   - a2dp codecs discovery | ||||||
|  |   - discoverability filter support (used in gnome-bluetooth, #1583442) | ||||||
|  |   - sixaxis pairing fixes | ||||||
|  | 
 | ||||||
|  | * Tue Apr 16 2019 Eduardo Minguez <edu@linux.com> - 5.50-7 | ||||||
|  | - Added avinfo | ||||||
|  | 
 | ||||||
|  | * Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.50-6 | ||||||
|  | - Disable tests temporarily | ||||||
|  | 
 | ||||||
|  | * Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.50-5 | ||||||
|  | - Rebuild for readline 8.0 | ||||||
|  | 
 | ||||||
|  | * Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.50-4 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.50-3 | ||||||
|  | - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild | ||||||
|  | 
 | ||||||
|  | * Wed Jun 27 2018 Bastien Nocera <bnocera@redhat.com> - 5.50-2 | ||||||
| + bluez-5.50-2 | + bluez-5.50-2 | ||||||
| - Fixing CVE-2018-10910 (#1606373) | - Fix A2DP disconnections with some headsets | ||||||
| 
 | 
 | ||||||
| * Fri Sep 7 2018 Gopal Tiwari <gtiwari@redhat.com> - 5.50-1 | * Mon Jun 04 2018 Bastien Nocera <bnocera@redhat.com> - 5.50-1 | ||||||
| + bluez-5.50-1 | + bluez-5.50-1 | ||||||
| - Update to 5.50 (#1504689) | - Update to 5.50 | ||||||
| 
 |  | ||||||
| * Fri Aug 24 2018 Gopal Tiwari <gtiwari@redhat.com> - 5.49-6 |  | ||||||
| + bluez-5.49-6 |  | ||||||
| - Disabling Mesh Networking for crypto issue while code reviewing.  |  | ||||||
| 
 |  | ||||||
| * Tue Aug 14 2018 Gopal Tiwari <gtiwari@redhat.com> - 5.49-5 |  | ||||||
| + bluez-5.49-5 |  | ||||||
| - Fix accessing NULL adv_manager (#1602779) |  | ||||||
| 
 | 
 | ||||||
| * Fri Apr 20 2018 Bastien Nocera <bnocera@redhat.com> - 5.49-3 | * Fri Apr 20 2018 Bastien Nocera <bnocera@redhat.com> - 5.49-3 | ||||||
| + bluez-5.49-3 | + bluez-5.49-3 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user