Commit Graph

133 Commits (fcc3325f3bbeff204d7e5d779fcd8875d6dd4e10)

Author SHA1 Message Date
Teravus Ovares 1015ca3863 * It turns out that Mono doesn't currently support setting the Certificate validation handler, however, it throws a NotImplemented exception.
* Added Try/Catch/Message
2008-08-26 05:41:07 +00:00
Teravus Ovares b3a6f8d688 * Workaround for application/llsd+xml requests coming in as application/xml
* When OGP is active, disable SSL certificate chain validation.  I'll add more options here to come, as well as a way to test against a group of known certificate subjects.
2008-08-26 05:20:46 +00:00
Teravus Ovares 2912aafe25 * This commit incorporates the heart of the OpenGridProtocol patch that is currently on Forge in a nice, friendly modular format.
* There are a lot of changes and this is quite experimental.  It's off by default, but you can turn it on by examining the bottom of the opensim.ini.example for the proper OpenSim.ini settings.    Remember, you still need an agent domain..  
* Furthermore, it isn't quite right when it comes to teleporting to remote regions (place_avatar)
2008-08-25 07:35:17 +00:00
Charles Krinke 4c40a680fa Mantis#2032. Thank you kindly, Tyre for a patch that:
This small patch provides the required changes to populate 
the columns agentIP and agentPort in table "agents"
Tested with mysql (but should work for all supported db engines)
2008-08-23 18:40:07 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Dr Scofield e6e01cee17 From: Richard Alimi <ralimi@us.ibm.com>
The following is a patch that disables the addition of the Content-Length
HTTP response header when a chunked response is being sent.
2008-08-15 07:09:48 +00:00
Justin Clarke Casey 43b2ff1d11 * Drop cached inventory from the local region when a user crosses out into a remote region
* May resolves inventory problems that occur when the user moves between two regions`
* e.g. if the user moves to a second region, adds an inventory item, moves back to the original region then tries to manipulate that item
* Not yet implemented for teleport
2008-08-01 18:49:48 +00:00
Dr Scofield 03efaff60e moving GridInfo application plugin into a common standalone/grid
service, adding a plain REST GET handler returning XML (no LLSD),
adding appropriate add handler calls to OpenSimBase and UserServer.
2008-07-28 12:18:48 +00:00
Dr Scofield 7025a8040e From: awebb
Further improvements to the REST handlers.
2008-07-25 09:56:35 +00:00
Dr Scofield a6e2589537 force Culture to en-US in BaseHttpserver.HandleRequest() --- this
fixes mantis #1748 and #1771.
2008-07-18 14:40:07 +00:00
Dr Scofield 7692f3e18f further work in progress on the HttpServer side: XmlRpc handler path
almost complete and soon to be ready for testing; OSHttpResponse code
out.
2008-07-14 12:18:32 +00:00
Teravus Ovares 53c9ce46b3 * Enables binary data in BaseHttpServer with 'image' in content type.
* Enables regular jpeg map images to be served directly from the region.
* EX: http://192.168.1.127:9000/index.php?method=regionImagecc4583cd269b41bfa525dd198e19a5c5
* This is actually HTTP server address + port + index.php?method=regionImage<REGIONUUID, no dashes>
* The Webmap image location gets printed on the console when the simulator starts up.
* JPEG data is cached so we only create the webjpeg once.
2008-06-16 22:06:55 +00:00
Justin Clarke Casey b799031010 * minor: Print out uptime as well as stats in periodic diagnostics logging, so it's easier to tell which isntances each print out of information is from 2008-06-13 16:58:24 +00:00
Jeff Ames 0462510956 Update svn properties. Formatting cleanup. 2008-05-30 08:35:57 +00:00
Sean Dague 22c7845e0c attempting to get to the bottom of unresponsive grids servers by
adding back in a few messages on exceptions.
2008-05-29 15:01:26 +00:00
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Dr Scofield bdc792d319 here are further enhancements to the IHttpAgentHandler and to BaseHttpServer (from awebb)
i've added the OSHttpStatusCodes enumeration of HTTP status codes, have adapted 
BaseHttpServer to use those.

then RestPlugin now has proper Failure handling returning proper HTTP status
codes. Regions/POSTHandler is work-in-progress.
2008-05-22 12:00:01 +00:00
Dr Scofield 60ceef7ea2 my last "simplification" of the the if-then-else logic in BaseHttpServer placed the return in
the "if (request.UserAgent != null)" branch in the wrong place: as a result BaseHttpServer would not do 
anything if the user agent header field was present....ARGH! BAAAAAAD.
2008-05-20 12:58:27 +00:00
Dr Scofield 3e8adc0d78 (from awebb)
This patch adds an additional handler to the existing BaseHttpServer. 
It does not affect any of the existing behaviors except insofar as the 
new handler may be selected.

It is selected first because its Agent-oriented nature means that it 
should not be pre-empted.  The new handler type is defined by IHttpAgentHandler 
in Framework/Servers and has two interface methods: Match and Handle.

The Match function returns a boolean result based upon examination of 
information presented in the User-Agent header.

The Handle function expects to get the request and response instances 
associated with the flow. The handler is responsible for ALL activity 
associated with the request except in the event of an unhandled exception, 
in which case the HandleAgentRequest routine will generate a 500 status 
message and close the stream.

There are two immediateley apparent (and VERY easy to implement) 
improvements that could be made:

   1. The Match call could be allowed to operate over the entire 
      request context., rather than just agent identity.
   2. The Handler could return a boolean indication of whether or not 
      the request was actually handled, and if not, the remaining handler 
      mechanism could take a shot at it. This would eliminate issues 
      arising from pre-empted streams.
2008-05-19 17:35:29 +00:00
Dr Scofield d725d1208b adding OSHttpRequest and OSHttpResponse which wrap HttpListenerRequest and HttpListenerResponse respectively.
enhancing IStreamHandler and IStreamedHandler interfaces so that OSHttp{Request,Response} get passed in, 
allowing RestHandlers to set response status code, redirections, etc.
2008-05-19 11:38:35 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Jeff Ames 6a1b787436 More formatting cleanup. 2008-05-14 05:33:32 +00:00
Jeff Ames c995d60d37 Formatting cleanup. 2008-05-14 05:11:23 +00:00
Justin Clarke Casey 550018f02d * As part of the region registration process, the grid service now requests the status of the region using the region http uri just passed in
* If the status cannot be retrieved, then the region startup will terminate.
* The aim of this is for earlier detection of situations where the region can send messages out but cannot accept incoming requests (often due to firewall issues)
* This is currently an extremely simplistic check which completely trusts whatever http uri is given by the region
* This contact may be problematic, though since the user service needs to be able to contact the region http uri, it doesn't seem unreasonable for the grid to have to be able to do so too at this stage
* This change will require a prebuild
2008-05-13 13:36:21 +00:00
Adam Frisby 76d8eaa406 * Thanks to Mic Bowman for inspiring me to look at that we are still using ASCIIEncoder in places we shouldn't. 2008-05-01 18:50:44 +00:00
Adam Frisby 01f31fd933 * Breaking all the code, breaking all the code..!
* Made a bunch more members static, removed some dead code, general cleaning.
2008-05-01 16:23:53 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Justin Clarke Casey 70233d937f * Start catching rogue SocketExceptions which occur (at least on mono) when a response stream for a request which actually required no response, is closed 2008-04-19 22:48:06 +00:00
Charles Krinke bf7e7b2c57 Thank you very much, Kmeisthax for:
This patch makes the "Show in Search" checkbox on the viewer work. Additionally, I also discovered that show-in-search objects use the JointWheel flag, so this patch currently uses that flag. LibSL needs to add a flag to enum LLObject.ObjectFlags, "IncludeSearch = 32768" so we aren't using a legacy flag.

Additionally this patch also contains a small fix to BaseHTTPServer that lets the response content-type to be something other than text/html. For some reason this didn't get submitted with the DataSnapshot merge.
2008-04-16 03:55:21 +00:00
Teravus Ovares 682f4e9257 * Fixes an issue with the BaseHttpServer in Linux
* Fixes an estate naming issue
* Fixes a land issue with the landobject not reporting the proper parcel prim.
* A few other tweaks.
2008-04-15 06:21:44 +00:00
Justin Clarke Casey 48fc4ee059 * Log exceptions which make it up to the top of the http request frame, rather than having them disappear off into the ether 2008-03-31 17:34:32 +00:00
Justin Clarke Casey c1beb85315 * First draft resolution of mantis 777, 734, 389 - scripts do not save in non-home regions
* Should work in multi-region standalone and grid modes
* This should also solve other non-home region caps issues (map requests, RC client inventory requests, etc)
* We now pass CAPS information on to the destination region on region crossing, and set up a CAPS object when an agent becomes a master
* Current limitation is that this will only work if your http_listener_port is 9000
* This is a very early code cut (lots of bad practice, hard coding and inefficiency).  However, I wanted to get this out there for feedback and my own sanity.  Next few patches will clean up the mess.
2008-03-20 20:04:45 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Jeff Ames 6d774339d9 More compiler warning cleanup.
Removed verbose flag, since it doesn't do anything any more.
2008-02-29 10:51:40 +00:00
lbsa71 5b3897a4af * Caught HttpListenerException and swallowed if with output
* Moved Flush into Close since it's always done in that order.
* Minor renamings
* Reversed if for clarity
2008-02-25 15:36:24 +00:00
Tedd Hansen 7102ac7769 "threads" command now works. I've added manual tracking of threads (only if compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging. 2008-02-21 10:43:24 +00:00
lbsa71 bf42637ee8 * Caught 'OPTIONS' verb in BaseHttpServer that would otherwise explode.
(There are actually other non-content requests too, but I didn't know what we wanted to do with them)
2008-02-20 08:04:12 +00:00
Tedd Hansen 47c909ca0a Playing "Name that thread". Adding names and isbackground=true to all threads so it will be easier to debug. 2008-02-19 12:02:53 +00:00
Justin Clarke Casey 359f84ee43 * Output XmlRpc error message if user server gets a fault response from the region server on login
* This will make it more obvious if one accidentally starts one's region server in standalone rather than grid mode but then tries to login to a grid (as I am wont to do)
* We are now sending back a fault code (-32601) if no xmlrpc method is found rather than an ordinary message
2008-02-18 18:48:55 +00:00
Tedd Hansen c62328950a More exception checks and crash hints
If no scriptengine is specified then don't try to load any.
2008-02-18 14:21:51 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Teravus Ovares a962653e04 * After fighting with it a bit more, Opensim is now compatible with the most recent release client(RC) on the linden labs download page.
* Don't forget, you need -loginuri *and* -loginpage
* Ex: -loginpage http://10.1.1.2:8002/?method=login -loginuri http://10.1.1.2:8002/
* The ?method=login is important, don't forget to add it
* If you customize your http_loginform.html file, be sure to keep the form post address as is.
2008-01-10 04:37:03 +00:00
Teravus Ovares 85fe8ed085 * This update enables the web_login method.
* Remember, the client doesn't support web_login to other grids in the current RC, however the next RC will.
2008-01-09 22:05:28 +00:00
Teravus Ovares e1aa83e965 * Added a hashtable based HTTP processor in preparation of the web_login_key
* Added the web_login_key to the users table
* Added happy configurable http error message pages
* This update is large enough to have 'awe' value..    so backup your users or weep.
* Not tested on MSSQL, even though I added code to update the tables!
2008-01-09 04:13:04 +00:00
Teravus Ovares 6e8c3ac782 * Enabling the LLSD Login method by jhurliman so libSecondLife clients work on OpenSim again. 2008-01-07 20:00:37 +00:00
Teravus Ovares db3edff5d5 * Applying jhurliman's LLSD login enablement patch.
* I'm keeping it deactivated until some issues are resolved.
* I'm patching it in deactivated so the patch doesn't get outdated
* I've deactivated it by commenting out the handler for the application/xml+llsd content type.
* While I've tested this as much as possible on my setup and found the deactivated code doesn't cause any problems, consider this update experimental (event though it's deactivated)
2008-01-05 06:05:25 +00:00
Teravus Ovares 3738bc8899 * Updates UserServer
* Updates OSG1UserServices
* Friends list is now persistent in grid mode.
* You can add, new friends and remove them
2008-01-02 00:54:50 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Teravus Ovares 69cc4596b1 * Added some ugly hackish code to the user server to start implementing the new login method. You still can't yet log-in via the new method. Does not interfere with normal userserver operation, ie safe to update if you want. 2007-12-24 23:35:30 +00:00
Jeff Ames af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Jeff Ames 4bde56457f removed some duplicate hard-coded port numbers. changed ports to uint. 2007-12-06 01:41:41 +00:00
Adam Frisby e820159fb5 * Fixed compile issue. 2007-12-04 07:56:23 +00:00
Adam Frisby 7d5f032203 * Added SSL Support to HttpListener
* Added SSL Option to User Server to allow logins to be done via SSL.
* Added sane handling for when Remote Admin Plugin configuration is not found
* Added some performance boosts to an area of libTerrain which was highlighted in profiling.
2007-12-04 05:47:51 +00:00
MW ac77c32453 Attempt to fix mantis issue #82, taking prims into inventory and then rezzing them in another region. 2007-12-02 20:43:21 +00:00
MW 5ae8759de1 Added some error handling (and console output) to BaseHttpServer.
a few other bits of refactoring.
2007-12-02 18:49:42 +00:00
lbsa71 4fad66f855 * Diuerse beavtificatems 2007-11-01 19:19:05 +00:00
lbsa71 0d528e1d22 * Added a streamhandler that does streams both in and out
* The RestDeserialisehandler now does streams and returns an object instead of string
2007-10-31 12:45:03 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
Adam Frisby 5dad0ed729 * Return of R2162. /Take that SVN!/ 2007-10-22 21:57:32 +00:00
Sean Dague 6acaabefc3 revert r2162 as it completely clobbered all the work on
the ChatModule by MW and myself.  Couldn't find Adam online
after that rev went in.
2007-10-22 15:37:54 +00:00
Adam Frisby c4707a284f * Major ass commit.
* Sqlite Storage Engine now supports terrain -- however be aware that every terrain revision stored will at 512KB to your database file. At the moment it is storing every revision from the first.
* Fixed an issue where by noverbose mode would display lots of useless junk. Noverbose mode is now quite usable.
* Fixed a whole bunch of console message issues such as naming and categorisation
2007-10-22 15:23:48 +00:00
lbsa71 f076c71936 * Applied tleiades patch #435 fixing HttpBaseServer ABEND (thanx!) 2007-09-24 11:20:09 +00:00
Sean Dague ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
lbsa71 7adc2212c7 * Fixed: Accessing xmlrpc with invalid xml data would crash the sim.
* Ignored some bins and gens
2007-09-10 04:30:11 +00:00
MW 217d511077 Temporary fix for the region crossing crash, Although we need to start to change and improve how we handle caps. 2007-08-15 15:24:37 +00:00
Adam Frisby 038774de30 Commit 1/2
* DB4o no longer crashes the sim on Startup
* DB4o now crashes the sim on shutdown.
* Variety of console verbosity fixes.
2007-07-29 09:37:29 +00:00
Adam Frisby 3cbc1e011d * Reduced a significant number of compiler warnings (back down to 9 for all projects combined, all 'never used' things) 2007-07-24 03:59:32 +00:00
Sean Dague 2a3c79df83 changed to native line ending encoding 2007-07-16 15:40:11 +00:00
lbsa71 8bdbdf48c7 * updated bugfixed xmlrpc for massive win
* got rid of the ugliest hack in the project
2007-07-05 18:30:30 +00:00
lbsa71 5c32b33a66 * re-fixed the utf-16 bug in xmlRpcResponse serialization
* added LLSDStreamHandler.cs to Caps (Haven't enabled it yet, though)
* removed last traces of old rest handling
2007-07-04 16:28:59 +00:00
lbsa71 6a2588454a * Removed AssetHttpServer, using BaseHttpServer instead
* Removed legacy REST handling
* Created two custom IStreamHandlers for asset up/download
* Removed quite a lot of double and triple encodings, trying to work towards binary only and direct write into storage.
* Introduced BaseStreamHandler with GetParam() and some other goodies
2007-07-04 14:12:32 +00:00
lbsa71 9a51949cb4 * Added StreamHandler support
* Implemented RestStreamHandler
* Some caps functions now use it
* Moved out RestMethodEntry from httpserver
* The IStreamHandler interface now reports required method and Content-Type
2007-07-04 11:47:32 +00:00
Adam Frisby daf7b8ec76 * Cleaning - attempting to get compiler warnings back down to zero. 2007-07-04 05:25:40 +00:00
lbsa71 8b3cb93b49 * Started work on converting BaseHttpServer to a stream dispatcher 2007-07-04 04:29:23 +00:00
lbsa71 9b6b6d05d4 * Optimized usings (the 'LL ate my scripts' commit)
* added some licensing info
2007-07-03 14:37:29 +00:00
lbsa71 71f1b2d878 * Added conceptual LlsdMethod Demo to SimpleApp (work in progress) 2007-07-02 20:44:39 +00:00
lbsa71 fcabdab7bc * Started working on LlsdMethod for BaseHttpServer
*Renamed IRestHandler.cs to RestMethod.cs which is the correct name.
2007-07-02 16:03:58 +00:00
MW 9800c05c1b Started change to having SceneObject and then that having child Primitives which in turn have a Shape object (currently PrimitiveBaseShape). The plan is only for the SceneObject to interface with the physics engines. As a physics Entity should be able to have mulitple shapes connected to it. 2007-07-01 17:26:33 +00:00
MW 14ea54b441 should now work. 2007-06-28 11:54:51 +00:00
mingchen e41eedc9ae *Some more restructuring/fixing -- should compile, but high chance I forgot to add/remove something 2007-06-27 16:39:11 +00:00
MW 646bbbc84b Some work on restructuring the namespaces / project names. Note this doesn't compile yet as not all the code has been changed to use the new namespaces. Am committing it now for feedback on the namespaces. 2007-06-27 15:28:52 +00:00