[icq-devel] Valid Reference Numbers



Bryan Petty bpetty at cs.utah.edu
Wed Feb 26 10:16:17 CET 2003


I noticed Rudiger's documentation notes that you should cycle through the
31 bit range for your reference numbers or if you hit that 32nd bit, you
get disconnected. I had originally programmed my project to cycle it
among the 31 bits. It's easier for me anyway because I'm working with
signed 32 bit integers myself. However, today, I recieved a packet from
the ICQ server with a reference number greater than the highest 31 bit
number, thus causing my project to throw an exception trying to push that
number into a 32 bit signed integer (I'm working in Java).

It probably still requires more testing, but I just find it odd that if
the above is true, why am I all the sudden getting unsigned reference
numbers from the servers?

Here's the packet dump:

2a 02 ec d7 00 22 00 01 00 03 00 00 93 f1 97 2b
00 01 00 02 00 03 00 04 00 06 00 08 00 09 00 0a
00 0b 00 0c 00 13 00 15

SNAC(1, 3) SRV_FAMILIES
Note the reference number "93 f1 97 2b"

Bryan Petty
bpetty at cs.utah.edu



More information about the icq-devel mailing list