Skip to contentSkip to conversation

Fix broken EVT_REMOTE_NAME_REQ_COMPLETE

PATCH In review Andreas Gaufer 2 participants 2 messages Oct 25, 2007 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix broken EVT_REMOTE_NAME_REQ_COMPLETE

Hi Marcel,

I'm sending this bluez-libs patch for the third time now and i wonder why you do not include it. If there is anything wrong with it please let me know so I can learn.

Please look at

http://article.gmane.org/gmane.linux.bluez.devel/13859
http://thread.gmane.org/gmane.linux.bluez.devel/12491

We did extensive testing and rolled that patch into production environment already and there is another independent user (Matthias Becker) who confirmed its usefulness.

Hoping to hear from You

Andreas Gaufer

I fully agree with RFC 1855

src/hci.c +17 -0
diff -ur bluez-libs-3.21-orig/src/hci.c bluez-libs-3.21/src/hci.c
@@ -1010,6 +1010,8 @@
 	while (try--) {
 		evt_cmd_complete *cc;
 		evt_cmd_status   *cs;
+		evt_remote_name_req_complete *rn;
+		remote_name_req_cp *cp;
 
 		if (to) {
 			struct pollfd p;
@@ -1074,6 +1076,21 @@
 			memcpy(r->rparam, ptr, r->rlen);
 			goto done;
 
+		case EVT_REMOTE_NAME_REQ_COMPLETE:
+
+			if (hdr->evt != r->event)
+				break;
+
+			r->rlen = MIN(len, r->rlen);
+			memcpy(r->rparam, ptr, r->rlen);
+
+			rn = r->rparam;
+			cp = r->cparam;
+
+			if (bacmp(&rn->bdaddr,&cp->bdaddr) == 0)
+				goto done;
+			continue;
+
 		default:
 			if (hdr->evt != r->event)
 				break;

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

maintainer
#1 lore raw

Hi Andreas,

Quoted 4 lines

I'm sending this bluez-libs patch for the third time now and i wonder why you do not include it. If there is anything wrong with it please let me know so I can learn.

Quoted 8 lines

Please look at

http://article.gmane.org/gmane.linux.bluez.devel/13859
http://thread.gmane.org/gmane.linux.bluez.devel/12491

We did extensive testing and rolled that patch into production environment already and there is another independent user (Matthias Becker) who confirmed its usefulness.

I know, but I still don't think that you should use the raw HCI socket in this way. The D-Bus API will take care of name resolving for you in the background and it is doing always the right thing. However I decided to simply apply a modified patch (see attachment). You assign return values in the case where they are not used. That makes no sense.

Regards

Marcel

? src/.deps
? src/.libs
? src/Makefile
? src/Makefile.in
? src/bluetooth.lo
? src/hci.lo
? src/libbluetooth.la
? src/sdp.lo
Index: src/hci.c
===================================================================
RCS file: /cvsroot/bluez/libs/src/hci.c,v
retrieving revision 1.109

hci.c +17 -1
diff -u -r1.109 hci.c
@@ -1009,7 +1009,9 @@
 	try = 10;
 	while (try--) {
 		evt_cmd_complete *cc;
-		evt_cmd_status   *cs;
+		evt_cmd_status *cs;
+		evt_remote_name_req_complete *rn;
+		remote_name_req_cp *cp;
 
 		if (to) {
 			struct pollfd p;
@@ -1074,6 +1076,20 @@
 			memcpy(r->rparam, ptr, r->rlen);
 			goto done;
 
+		case EVT_REMOTE_NAME_REQ_COMPLETE:
+			if (hdr->evt != r->event)
+				break;
+
+			rn = r->rparam;
+			cp = r->cparam;
+
+			if (bacmp(&rn->bdaddr, &cp->bdaddr))
+				continue;
+
+			r->rlen = MIN(len, r->rlen);
+			memcpy(r->rparam, ptr, r->rlen);
+			goto done;
+
 		default:
 			if (hdr->evt != r->event)
 				break;

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel