Commit Graph

22 Commits

Author SHA1 Message Date
John Hurliman
a800bb0549 Added an exponential backoff to the event queue client after errors, submitted by Christopher Omega in [LIBOMV-568]
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2888 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-15 17:49:04 +00:00
John Hurliman
662c06f0db * Updated to the latest HttpServer which includes several SSL fixes for client and server certificates
* CapsBase (CapsClient) now accepts all server SSL certificates. The actual security logic will be implemented in the HTTP handler, but this is currently a TODO

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2865 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-09 08:13:36 +00:00
John Hurliman
a986f39143 * Rewrite of OpenMetaverse.Http.Trusted. The code is simplified by only generating PKCS#12 files, and root certificates are now marked for SSL client and server usage. This cuts down the number of files required to exactly one per service
* Updated to the latest HttpServer
* Added a placeholder client certificate checker to CapsServer. This is not worse than what was there before, but it still needs to be implemented

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2855 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-08 05:13:02 +00:00
John Hurliman
24df6dda11 * Added OpenMetaverse.Messages.CableBeachMessages.GetAssetMetadataMessage
* Removed a noisy debugging line from the EventQueue server

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2839 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-01 23:25:42 +00:00
John Hurliman
baaf1fb1f4 * Only append ACKs to outgoing packets if one or more ACKs are successfully dequeued
* Commented out noisy CAPS debugging messages
* Added a test (under packet tests for lack of a better place) to measure Environment.TickCount resolution and fail if the resolution is not consistently under a 10ms variance

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2813 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-27 00:29:43 +00:00
John Hurliman
63522e828c [OpenMetaverse.Http]
* Made sure to always close streams and responses in CapsBase
* Commented out noisy CAPS logging
* Updated to use the new HttpServer callback signature

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2791 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 05:33:40 +00:00
John Hurliman
3e10dff670 [LIBOMV-506] Fixes the problem in CapsBase (HttpWebRequest) on Mono 2.4. Stream.Close() had to be called before HttpWebRequest.BeginGetResponse(), otherwise the call would hang
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2691 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-06 18:44:19 +00:00
John Hurliman
c5409af63f * [LIBOMV-506] Complete rewrite of CapsBase to use HttpWebRequest instead of our homebrewed WebRequest hack. We lose the upload progress callback but gain IOCP thread instead of System.Thread usage and Keep-Alive support
* Content-Types described in http://tools.ietf.org/html/draft-hamrick-llsd-00 are used for CAPS requests. This *may* be incompatible with the current SL grid, needs testing
* Modified CapsClient requests to require OSDFormat enum and timeout values

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2680 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-01 06:04:32 +00:00
John Hurliman
3497eed168 Added CapsClient overloads that can send JSON data
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2637 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-20 23:41:34 +00:00
John Hurliman
53f19babdb Fixed the new CapsClient.GetResponse() to return OSD data (so it is actually useful)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2612 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-16 16:32:01 +00:00
John Hurliman
f918d41133 * Disable WinGridProxy filters until the proxy is running
* Rename CapsClient.StartRequest() to CapsClient.BeginGetResponse() to match HttpWebRequest
* Adding the blocking method CapsClient.GetResponse()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2611 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-16 16:25:47 +00:00
John Hurliman
1d49d4facb * Swapped out CookComputing.XmlRpcV2.dll for good ol' XMLRPC.dll
* Set another async thread in CapsBase to background to help libomv shutdown times
* Returned the login data structures to libomv types

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2586 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-08 21:02:58 +00:00
John Hurliman
6d8d41b10d * Setting CapsBase async handler threads to background threads. This *may* resolve the issue with libomv hanging open for ~20 seconds when shutting down
* Set EventQueueServer handling thread to background
* Commented out some noisy debugging in EventQueueServer

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2573 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-01 23:47:06 +00:00
John Hurliman
d4e07b8c4d * Few more tweaks to event queue server to improve performance and thread safety
[Simian]
* Made default assets for map water overlay and HyperGrid portals
* Fixed asset store loading regression
* Start synchronization after RegionHandshakeReply instead of CompleteAgentMovement (allows the sync function to be called for child agents as well)
* Start informing clients of neighbor regions when AgentThrottle is received (prevents client crashes, and this will become necessary data in the future)
* Minor fixes in map handling

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2488 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-17 00:17:07 +00:00
John Hurliman
20008e6f6b Several fixes to the EventQueueServer
* Only allow one open connection per event queue
* Send the invalid HTTP 502 response that the LL client is expecting for a timeout
* Check if the connection is still open before trying to send a response
* Use IHttpClientContext.Response() instead of IHttpResponse.Send(), which doesn't work in long-held connections like the event queue
* More logging

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2486 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-16 19:54:59 +00:00
John Hurliman
e69157a4af [Simian]
* Sim to sim caps for establishing child agents
* Still working out a bug in the libomv event queue, committing what is done for now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2485 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-16 18:02:48 +00:00
John Hurliman
3b3946244a * Updating OpenMetaverse.Http and Simian to new HttpServer.HttpListener.Create() requirement for an ILogWriter
* Move more state updates into ISceneProvider
* Lazy initialization of mesh data for SimulationObjects

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2436 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-13 22:21:01 +00:00
John Hurliman
71f3ff77ca Switched HttpServer.dll to the "lite" branch in the official C# WebServer repository. The fork maintained by libopenmetaverse will be removed soon
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2432 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-09 07:26:50 +00:00
John Hurliman
06404ab4e4 * Fixed endianness for OSD handling of uint, long, and ulong (big endian byte arrays are used)
* Fixed CapsServer to handle all content types (old SL clients were sending application/xml, new ones send application/llsd+xml)
* Start the EventQueue ID at 1 (seems to help)
* HyperGrid teleporting is now working in Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2428 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-05 03:12:41 +00:00
John Hurliman
808b681b83 * Fixed a nasty OSD->JSON bug that was producing invalid JSON for empty arrays or dictionaries
* Several fixes in OpenMetaverse.Http.CapsServer and OpenMetaverse.Http.EventQueueServer (this is the first time they've been tested)
[Simian]
* Initial capabilities and EventQueue support (appears to be working)
* HyperGrid is almost working
* More cleanup with how agents are removed from the scene

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2427 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-04 23:00:33 +00:00
John Hurliman
2c0ba2346a * Added a log4netLogWriter to OpenMetaverse.Http
* Started on capabilities support for Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2404 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-05 22:59:29 +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