Commit Graph

15 Commits

Author SHA1 Message Date
Latif Khalifa
9efec5cef7 Bring binary serialized OSD in line with reference implementation
by Linden Lab's python LLSD parsers:
https://bitbucket.org/lindenlab/llbase/src/78beb7385d87/llbase/llsd.py
Patch by: Dahlia Trimble

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3592 52acb1d6-8a22-11de-b505-999d5b087335
2011-12-02 04:44:34 +00:00
Latif Khalifa
57dca5a748 Make adding header as specified default for LLSD/Binary serialization.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3549 52acb1d6-8a22-11de-b505-999d5b087335
2011-06-10 13:37:53 +00:00
Latif Khalifa
66d92f135e [API Change] Skip appending <? llsd/binary ?> header. Add overload that supports it.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3548 52acb1d6-8a22-11de-b505-999d5b087335
2011-06-10 12:56:19 +00:00
Latif Khalifa
ab15645ace LIBOMV-913: OSDDate does not properly serialize/deserialize
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3547 52acb1d6-8a22-11de-b505-999d5b087335
2011-06-10 11:53:08 +00:00
Latif Khalifa
6fc54a43f0 Removed optional parameter to DeserializeLLSDBinary(), decode binary serialized data both with and without the <? LLSD/Binary ?> header.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3456 52acb1d6-8a22-11de-b505-999d5b087335
2010-10-15 22:00:58 +00:00
Latif Khalifa
822db877d3 Docu fix
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3454 52acb1d6-8a22-11de-b505-999d5b087335
2010-10-15 01:08:34 +00:00
Latif Khalifa
9d0a95ea95 LIBOMV-875 (Allow LLSD/binary header to be optional)
Added optional second paramater "headersOptional" which when set to true
will not throw an exception when deserializing headerless binary LLSD.
Default behavior unchanged.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3452 52acb1d6-8a22-11de-b505-999d5b087335
2010-10-15 01:00:48 +00:00
John Hurliman
f108207698 * Fixed a bug in BitPack where existing 1 bits were not being overwritten by new 0 bits
* Added BitPack.PackBit()
* Made Binary LLSD deserialization more lenient when parsing the header. Tests pass again

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3364 52acb1d6-8a22-11de-b505-999d5b087335
2010-06-25 01:24:11 +00:00
John Hurliman
f5a84b39aa * LLSD JSON serialization can now take an optional parameter to enable/disable preserving default values in serialization
* Fixed a regression where OSDMap.ToString() and OSDArray.ToString() were pruning default values after switching from notation output to JSON
* Fixed LLSD decoding to ignore case when parsing headers and use <? llsd/binary ?> instead of <?llsd/binary?>

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3357 52acb1d6-8a22-11de-b505-999d5b087335
2010-05-25 23:07:16 +00:00
John Hurliman
46450da1ee * Reverts an accidental change to Utils.IntToBytes()
* Adds Utils.IntToBytesBig and Utils.DoubleToBytesBig()
* OSD.AsBinary() functions use big-endian functions where necessary

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2507 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 17:57:12 +00:00
Jim Radford
fb6376d2b6 LIBOMV-460 LIBOMV-423 BinaryLLSD Unit Tests Failing, this appears to be caused by an Endian issue
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2506 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 17:19:23 +00:00
John Hurliman
3ad7551a4a * Added Utils.EmptyBytes which is equal to new byte[0] and replaced all references of new byte[0] to Utils.EmptyBytes
* Added a CRC32 implementation to OpenMetaverseTypes.dll
* Added ToBytes() functions to most of the OMV types for writing bytes into an existing byte array

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2470 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 01:32:02 +00:00
John Hurliman
364c2c26d9 * Moved all capabilities code to the new library, OpenMetaverse.Http
* OpenMetaverse.Http contains a CAPS client + server, event queue client + server, SSL certificate generation (root CA, server certs, client certs), and client certificate authentication
* HttpServer.dll and Mono.Security.dll are new dependencies for OpenMetaverse.Http.dll

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2400 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-29 20:44:28 +00:00
John Hurliman
4b1f441574 * Sanity check in DeserializeLLSDXml() to return an empty LLSD block instead of throwing an exception
* Removing redundant code from OpenMetaverse.Utilities
* Using System.Diagnostics.StopWatch instead of Environment.TickCount for rate limiting, and speeding up packet sending from 75ms gaps to 10ms (might be slightly too fast, but it works for me)
* Cleaning up the logic a big in RequestAllSimParcels()
* Try/catch block in GridProxy around packet delegates

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2371 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-05 01:34:24 +00:00
John Hurliman
5fbcd0c4d6 * Moved OpenMetaverse.StructuredData to a separate library
* Added experimental JSON serialization/deserialization to OSD using LitJSON (works, but subject to change soon)
* Moved packet handling code out of Simian.cs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2361 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-18 03:16:38 +00:00