UUID parameter without checking for it at the method entry. this patch
adds logic to obtain the master UUID via the user profile service,
and, if the master avatar does not exist, will create the user. in any
case the UUID is then the one supplied by the user profile service.
KeepAlive for certain XmlRpc handlers.
Making use of new AddXmlRpcHandler method in RemoteAdminPlugin to
avoid clients waiting indefinitely for response.
taking note of BaseHttpServer parameter in CommunicationsManager
constructor (was passed it but then just ignored so far).
fields is GONE (HttpServer does not support that), you can read the
"normal" HTTP headers available via properties, and you can add
headers. also, it is now possible to set a timeout for KeepAlive (for
those clients that pay attention to it).
this also fixes the broken REST inventory/assets/appearance services,
they should be working again.
testcase for OSHttpResponse will follow.
for inventory REST calls for the time being, as firefox, curl, and
also python's urllib2 cannot authenticate using digest auth.
fix permission checking for prim inventory to be the same as for
normal edit ops.
* you'd think from all this that I was one of those fanatically tidy people. I can assure you from looking around my bedroom/study that this is not the case :)
* RemoteAdmin SaveXMLMethod
* My tiny mind isn't quite sure how this is useful, but the load xml equivalent is already there, so what the hell :)
* Thanks Olish.
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle.
* This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big!
* Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
The following patch fixes the import of assets via the REST interface to
use the proper Base64->Bytes conversion. The previous conversion did not
work correctly for binary data, in particular for textures.
as those all work with MySQL (and are in fact required it seems);
adds examples as well
- adds region_file_template functionality for the create_region XmlRpc
call of RemoteAdminPlugin
- cleans up and fixes typo in UserProfileData
hierarchical rights structure. MasterAvatar: Owner of the region server
(may be null), net gods (users with GodLevel 200), Estate owner
(from database). Look at Opensim.ini.example to enable net gods.
Estate owner will default to master avatar.
The following patch implements retrieving prims in Xml2 format via the REST
interface. For example:
http://localhost:9000/admin/regions/<region-uuid>/prims/
It also allows an additional parameter which specifies a bounding box. If
this parameter is specified, only prims within the bounding box are
retrieved. For example:
http://localhost:9000/admin/regions/8cd759b4-e077-489d-9a34-e1ff70ef65dd/prims/0,0,0,128,128,128
will retrieve only the prims whose positions are in the bounding box with
corners (0,0,0) and (128,128,128).
out everything in the [GridInfo] section :-D Also, not yet LLSD but
XmlRpc, LLSD via GET will follow. OpenSim.ini.example contains sample
values and explanation. Oh, and default values provided are
platform: OpenSim
mode: standalone | grid
have fun.
* refactored some member names for readability and ccc (code convention conformance)
* took away two refs from Rest.Inventory since
* System.IO is part of System
* System.Xml.Serialization is part of System.Xml
UserManager.UpdateUserProfile(UserProfileData).
Adding UpdateUserProfile(UserProfileData) to IUserService interface.
Adding RemoteAdminPlugin.XmlRpcUpdateUserAccountMethod(...) to provide
a remote update capability.
* Migration should be automatic on sqlite and mysql
* Migration is not automatic on mssql, you will need to drop the invType column manually
* Migration should be fine, but as for any db change, I would recommend making sure you have backups before moving past this revision
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.
noticed that Scene.Close() will only call Close on non-shared region
modules. i've now added code to SceneManager.Close() to collect all
shared region module from each scene before calling Scene.Close()
on it and then, once, all Scenes are closed, go through the list of
collected shared region modules and close them as well. SceneManager.Close()
is only called when we initiate a shutdown --- i've verified that a
Scene restart does not trigger the shutdown of shared modules :-)
also, this adds a couple of bug fixes to the IRCBridgeModule (which
after all didn't take kindly to being closed) as well as a check to
InterregionModule's Close() call.
finally, this fixes the RestPlugin's XmlWriter so that it no longer
includes the "xsd=..." and "xsi=..." junk.
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.
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
takes a look at the HTTP request header and retrieves x-opensim-godkey (if it exists)
and compares that against the godkey from OpenSim.ini.
also, this makes AddStreamHandler() virtual so that it can be overridden.
* The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
* Fixes the admin_shutdown xmlrpc method
* Adds a share/python/console/shutdown.py script for shutting down a background OpenSim
* For more details see http://xyzzyxyzzy.net/2008/04/29/console-less-opensim/
* There should also be instructions in the opensimulator wiki soon as well