Commit Graph

85 Commits

Author SHA1 Message Date
Jeff Ames
3bf8858727 Update svn properties, formatting cleanup. 2008-08-28 14:41:54 +00:00
Teravus Ovares
d48d928858 * One more tweak to the application/xml vs application/llsd+xml routine 2008-08-26 06:05:43 +00:00
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