It would appear that the 23/10/05 version fails to
parse an OBEX CONNECT packet if the connection ID is
not -1.
I resolved the issue in my tree by replacing lines 85
and 86 in
de.avetana.bluetooth.obex.SessionNotifierImpl.java with
the following:
long conID;
int offset;
if (data[3] == (byte)0xcb) {
conID = ((data[4] & 0xFF) << 24) + ((data[5] & 0xFF)
<< 16) + ((data[6] & 0xFF) << 8) + (data[7] & 0xFF);
offset = 10;
}
else {
conID = -1;
offset = 5;
}
mtu = 0xffff & ((0xff & data[offset]) << 8 | (0xff &
data[offset + 1]));
HeaderSet request = OBEXConnection.parseHeaders(data,
offset + 2);
if (conID != -1)
request.setHeader(HeaderSetImpl.CONNECTION_ID, new
Long(conID));
... though I must admit I have no idea where the
connection ID value should be put (so I added it to the
request headers).