[Date Prev][Date Next] [Chronological] [Thread] [Top]

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).

Kurt