[sldev] SL Protocol

Lawson English lenglish5 at cox.net
Thu Jan 10 18:50:06 PST 2008


gmx0007 at gazeta.pl wrote:
>  I checked values in those packet and everything seems OK.
> Circuit code is little-endian, and UUID big-endian.
> Use same in UseCircuitCode(work correct)
>  packet as UserInfoRequest(doesn't).
> Maybe there are some constraints from login proces,
>  which make that SIM doesn't send all packets.
>
>  What should be fill in channel,mac(MAC or MAC hash?),viewer_digest,.. ?
> Is there any connection between those fileds and behaviour on sim ?
>   
What little you see in the webpages is what I (or someone else, such as 
John Hurliman with libsecondlife) has been able to glean from chats with 
Lindens or by trial and error.

The documentation that Linden Lab has is apparently no more complete 
than what we've put up on the wiki, though they may have specific 
missing bits of info that aren't up there.

The rule of thumb that John Hurliman has imparted to me concerning 
big-endian and little-endian is (if I recall correctly):

the header is big-endian. All  constants in the body of the packet are 
little-endian except UUIDs and the packet ID number.

The body of the packet (including the packet ID number!!!!!) can be 
zero-encoded as specified in the header flags (for an incoming packet) 
and by the packet description in the message template. You have to 
decode the packet ID number (if needed) before you can completely decode 
the rest of the packet, because you don't know how long the packet will 
be otherwise. The acks tacked to the end of a packet are not 
zero-encoded so if you encode an outgoing packet, besure to add acks 
after you encode the packet.

1) I hope I gave you accurate info;
2) I hope it helps.


Lawson









More information about the SLDev mailing list