Commit Graph

150 Commits

Author SHA1 Message Date
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
Justin Clarke Casey
f7d9b0bab7 * Move thread tracking code to base opensim server so that it's available for all servers (UGAIM as well as Region)
* This will work as long as those servers are actually registering any threads they use (does not include stuff plucked from the thread pool)
* command is now "show threads" rather than threads
2008-07-11 16:24:52 +00:00
Charles Krinke
1122f3f693 Mantis#1685. Thank you kindly, Mjm for a patch that:
The attached patch tries to read the SVN revision from local file 
"svn_revision" before checking "../.svn/entries".
This allows simulators not running from the source tree to properly 
display the SVN revision, if the installer generates the 
"svn_revision" file.
2008-07-08 01:11:52 +00:00
Dr Scofield
aaf8fff57e adding support for IP EndPoint whitelisting in HttpServer code. 2008-07-07 11:25:09 +00:00
Dr Scofield
7420f96128 switching to safer locks. 2008-07-07 09:58:01 +00:00
Dr Scofield
7f0bcc5aa1 further progress on HttpServer integration: OSHttpRequest can now be
instantiated from both .NET and HttpServer code path.
2008-07-07 09:47:36 +00:00
Jeff Ames
d470d30c09 Copyright notices and formatting cleanup. 2008-07-06 14:02:22 +00:00
Dr Scofield
313f7f60fd properly explaining each #pragma warning disable
massaging OSHttpRequestPump to not abort on exceptions...
2008-06-30 11:57:47 +00:00
Dr Scofield
feb30217de dr scofield's warning safari:
* commented out [Obsolete(....)] attributes where no replacement feature
  was available: if we want to attribute code that we think needs to be 
  reworked, we should define a new attribute and use that instead 
  (together with a little tool to retrieve all the attributed code then)
* commenting out unused variables
2008-06-27 16:58:21 +00:00
Dr Scofield
cea6e03ae0 dr scofield's warning safari: hunting down those little buggers 2008-06-27 16:18:56 +00:00
Dr Scofield
92e04ea587 status: work-in-progress, non-functional
fleshing out OSHttpRequestPump code.
2008-06-27 15:57:33 +00:00
Dr Scofield
63a1a2739a status: work in progress, non-functional
having OSHttpHandler as a delegate was not too hot, i'm
refactoring it into an interface.
2008-06-27 09:29:41 +00:00
Charles Krinke
ca8d1d57e1 Mantis#1591. Thank you graciously, Sempuki for a patch that:
Currently module loading is done ad-hoc. I propose creating a simple 
loader class that leverages Mono.Addins (and perhaps the new .NET 
addins when they become available in mono). Attached is a basic 
patch for review that compiles into HEAD, but doesn't yet replace 
any existing ad-hoc loaders.
2008-06-27 02:15:57 +00:00
Dr Scofield
744b44dc8b WORK-IN-PRGRESS: beware of falling pieces and shifting
tectonic plates: starting AddHandler() code.
2008-06-26 16:10:04 +00:00
Dr Scofield
daca971bf6 further work on the HttpServer stuff. not functional yet. just sharing
what crimes i'm committing.
2008-06-25 13:10:12 +00:00
Jeff Ames
a728417eda Minor formatting cleanup. 2008-06-18 03:50:39 +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
Charles Krinke
c04e284854 Change VersionInfo string from
"Opensimulator release (0.5.8)" to
"Opensimulator trunk (post 0.5.8)"
as we move forward with trunk again.
2008-06-15 01:08:55 +00:00
Charles Krinke
b226855d34 Change VersionInfo string from:
"OpenSimulator trunk (post 0.5.7)" to
"OpenSimulator release 0.5.8" in preparation
for tagging this minor release.
2008-06-14 23:51:35 +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
64f01ade04 Update svn properties, clean up formatting, refactor out duplicate hard-coded port numbers. 2008-06-13 00:21:53 +00:00
Justin Clarke Casey
f07b761583 * Drop periodic stats logging back down to 60 minutes to reduce console spam.
* Please feel free to comment if the periodic logging is causing you problems in some way - I'm loathe to add yet another switch to OpenSim.ini but will if it proves necessary
2008-06-11 11:25:29 +00:00
Justin Clarke Casey
ce9d0799ae * Add 'show info' command to all servers, which prints the directory in which the server was started
* This is potentially useful if you're using screen on a region console without knowing where it was originally started from
2008-06-11 00:41:07 +00:00
Justin Clarke Casey
c2054d225e * minor: Reduce statistic log snapshots to every 20 minutes to get more information 2008-06-10 23:47:33 +00:00
Justin Clarke Casey
686f16cedd * If a server has statistics, print these out to the log every hour to get some idea of how these evolve
* When returning GC.GetTotalMemory(), force collection first in order to get more accurate figures
2008-06-10 23:19:38 +00:00
Dr Scofield
caee0288fb * adding XmppPresenceStanza and deserialization/reification support
having reached the intermediate level of .NET's XmlSudoku, i've
  now figured out how to do deserialization using different 
  XmlSerializers (this stuff begins to grow on me, sigh).

  [still not used code, work-in-progress]

* adding convenience property on OSHttpRequest.cs (from awebb)
2008-06-04 18:09:55 +00:00
Jeff Ames
4ec4e16c80 Formatting cleanup, minor refactoring, svn properties. 2008-06-04 09:59:27 +00:00
Justin Clarke Casey
4453c8bc5c * experimental: Make OpenSim archiver save and reload all prim textures when not all faces have the same texture 2008-06-02 17:23:13 +00:00
Justin Clarke Casey
a1395b90be * Add 'show version' help information into base OpenSim server 2008-06-02 16:28:04 +00:00
Justin Clarke Casey
fbaeb081aa * Move most bookending startup/shutdown messages to BaseOpenSimServer so they appear in non-console servers too 2008-06-01 02:02:20 +00:00
Justin Clarke Casey
15d41c2fc2 * Fix build break by eliminating remaining IScenePermissions references - must remember to nant clean
* Hook all server startups into base opensim server startup method
2008-06-01 01:34:46 +00:00
Justin Clarke Casey
45fef8589d * Move log version printing up into BaseOpenSimServer 2008-06-01 01:22:19 +00:00
Justin Clarke Casey
8cb5ec5fdd * Make version information common to all servers
* Now all servers respond to the "show version" command on the console
2008-05-31 20:35:12 +00:00
Teravus Ovares
febe78d062 * Implements UserServer logoff in a few situations
* User tries to log-in but is already logged in.  Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.
2008-05-31 12:18:29 +00:00
Jeff Ames
0462510956 Update svn properties. Formatting cleanup. 2008-05-30 08:35:57 +00:00
Dr Scofield
d7ec686691 this is a snapshot of the OSHttpServer work-in-progress. it's an initial skeleton,
far from complete, just want to check in early and often.
2008-05-29 15:46:54 +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
a97fa3f43e changing more 'raw' HTTP status codes to OSHttpStatusCodes. 2008-05-22 12:59:42 +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
a53cea6b7e i'm extending the RestStreamHandler.Handler(...) signature to actually
provide OSHttpRequest and OSHttpResponse to our REST handler. 

also, this adds proper RestPlugin.IsGod() checking against the X-OpenSim-Godkey
HTTP request header.

last, i added XML doc comments to RestPlugin.cs
2008-05-20 16:51:45 +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
4b622ec881 (from awebb)
Fixes a bug in BaseRequestHandler.

If the length of the patter is equal to, or greater than, the length of
the actual request path, then an exception is thrown. System using is
added to support use of String.Empty. Exception is used to ensure most
efficient operation on (assumed to be most common) successful case.
2008-05-19 18:30:25 +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
Justin Clarke Casey
0f50162961 * Refactor additional stats collection common code into base opensim server
* If extra stats not sent to the viewer are available on an opensim server, they are now uniformly accessible using the 'show stats' command
2008-05-14 21:53:40 +00:00
Sean Dague
4a07038bbe From: Dr Scofield <DrScofield@xyzzyxyzzy.net>
the attached patch set adds the (still work-in-progress but already
working) RestPlugin base class and the RestRegionPlugin code. we are using
XML serialization.

currently working:

GET /admin/regions/                 -> returns UUID list of known regions
   GET /admin/regions/<UUID>    -> returns detailed region information

we'll be adding support for POST/DELETE/PUT and also for
/admin/regions/<UUID>/name etc.
2008-05-14 19:13:54 +00:00
Jeff Ames
6a1b787436 More formatting cleanup. 2008-05-14 05:33:32 +00:00