[Date Prev][Date Next]
RE: MessageID integer problem
At 04:07 AM 4/12/2005, Bos, Jeroen wrote:
>>>So the ID number is 32,768. What I am getting right after message ID 32,767 is :
>>>02 <- Tag again
>>>03 <- Length is in next three bytes
>>>00 <- 0
>>>80 <- 128 * 256 = 32,768
>>>ff <- 255
>>>Thus I calculate 33,023 Which is what I return.
>>As encoded above? If not, your encoder is broken.
>Yes, I return 02 03 00 80 ff which is a bit according to the 'garbage in-garbage out' principle. But 02 03 00 80 ff is I guess not what the client expects: it halts the client.
I note that OpenLDAP clients do support debugging. If all
debugging is turned on, it will not only tell you precisely
what it sent, but what it got in return.
>About the first part of your remark : 02 02 80 00. I just noticed that I mistyped. Sorry. It should have read 02 03 00 80 00. That is I guess OK?
One might presume that a client that produces a particular
encoding of a message id would be happy if got a response
with same encoding. I note that OpenLDAP clients and
servers share the same encoding/decoding libraries, so
things won't generally work if that's not true. I tested
HEAD sources, using message id 33023 in all messages, and
saw no problems. In all cases, the message id was encoded
as 02 03 00 80 ff.i
I don't recall whether 2.0 suffered any problem in this
area, but as I noted before, you should consider upgrading
to at least the latest stable release (e.g., 2.2.24).