Compare commits

...

6041 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
56e245e5e9 minor: Tidy up disabled logging on AssetTransactionModule for future use. Make it clear that transaction parameter to HandleUDPUploadRequest is an ID. 2013-02-20 22:24:20 +00:00
Justin Clark-Casey (justincc)
89362dbc4e minor: remove some mono compile warnings in XEngine.cs 2013-02-20 22:24:13 +00:00
Melanie
2f6ddc68b0 Prevent items being destroyed by rename operations. Renaming of a wearable also
sends an asset transaciton but it is empty. So we can't ignore name data
when a transaction is present and can't treat every transaction as valid.

Conflicts:

	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
2013-02-20 22:23:54 +00:00
Justin Clark-Casey (justincc)
25b539e593 Fix issue where the "set terrain texture" console command did not tell the viewers that textures had updated (hence they did not display the changes).
Addresses http://opensimulator.org/mantis/view.php?id=6513
2013-02-20 22:23:46 +00:00
Talun
25a9ad1722 Mantis 6343: Turn a prim to flexy to OFF don't work llSetPrimParams
Correction so that scripts can turn Flexi off as well as on.
2013-02-20 22:23:30 +00:00
Justin Clark-Casey (justincc)
d3bbfcc97b minor: Fix full scene part console report to show proper Light* names rather than all wrongly FlexiDrag 2013-02-20 22:22:32 +00:00
Justin Clark-Casey (justincc)
c3cbba7778 minor: Call down to base OpenSimTestCase.SetUp() in NPCModuleTests to disable any enabled logging from previous tests 2013-02-20 22:22:26 +00:00
Justin Clark-Casey (justincc)
648932458a Disable json tests for now - I see this is failing on jenkins because mono 2.4.3 doesn't have Funcs >5 params, though mono 2.6 onwards does.
Standardize logging in JsonStoreScriptModule and some minor code formatting.
2013-02-20 22:21:50 +00:00
Justin Clark-Casey (justincc)
f1b978cdf0 See if getting the registering JsonReadNotecard with MethodInfo works around an apparent issue with registering methods with more than 5 parameters on mono 2.4.3 2013-02-20 22:21:44 +00:00
Justin Clark-Casey (justincc)
cb26e8a6c6 Increase logging by enabling during test setup rather than during individual tests of for JsonStore 2013-02-20 22:21:38 +00:00
Justin Clark-Casey (justincc)
7b8dc102d2 Enable logging in new json store tests to find out why they fail on jenkins but not locally. 2013-02-20 22:21:33 +00:00
Justin Clark-Casey (justincc)
cf04e09521 Add JsonTestPath() regression test 2013-02-20 22:21:25 +00:00
Justin Clark-Casey (justincc)
3f50de6445 Add regression test for JsonSetValue() 2013-02-20 22:21:20 +00:00
Justin Clark-Casey (justincc)
18659dfaea minor: remove mono compiler warning in SceneCommandsModule 2013-02-20 22:21:03 +00:00
Justin Clark-Casey (justincc)
ba175ee50b Add basic JsonGetValue() regression test. 2013-02-20 22:20:09 +00:00
Justin Clark-Casey (justincc)
995976c6db Add basic JsonCreateStore() regression test 2013-02-20 22:17:49 +00:00
Melanie
cfc9270bae Update ScriptModuleComms name space to CoreModules 2013-02-20 22:12:59 +00:00
Melanie
b2b6fd6aad Add a method to query all registered script constants to allow non-XEngine
script engines to use them.
2013-02-20 22:12:52 +00:00
Mic Bowman
96454ddee2 Moving ScriptModuleComms into the CoreModules tree. 2013-02-20 22:12:41 +00:00
Justin Clark-Casey (justincc)
4a0b9c411e Fix issue where lsl -> c# generation in co-operative termination mode did not correctly handle single statement versions of for, while and do-while loops.
Add regression tests to validate the fix.
This problem will not affect the default abort termination mode.
2013-01-30 03:59:22 +00:00
Justin Clark-Casey (justincc)
e67b84613d Fix build break where implicit animation console output code crept back into AnimationsCommandModule but it doesn't exist in this branch 2013-01-24 03:09:49 +00:00
Justin Clark-Casey (justincc)
d4f9982936 Remove unnecessary System.Linq reference from Compiler.cs
Hopefully will fix windows build via compile.bat
2013-01-24 03:05:11 +00:00
Justin Clark-Casey (justincc)
873ce644d3 Disable the not very useful infinite recursion co-op termination tests for now as they appear to cause failures with testing in jenkins.
These tests are not very useful anyway as they never actually get a chance to try termination before the script runs out of stack
2013-01-24 03:04:27 +00:00
Justin Clark-Casey (justincc)
1f8e43dd93 Fix mono 2.4.3 build break by using CreateInstanceAndUnwrap 9 method call deprecated in later .net versions 2013-01-24 03:04:19 +00:00
Justin Clark-Casey (justincc)
7bfd369b24 Add information on ScriptStopStrategy to [XEngine] in OpenSimDefaults.ini and OpenSim.ini.example. Default remains abort.
This setting controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op)
co-op should be more stable but this option is experimental.
If moving from co-op to abort, existing script DLLs will need to be recompiled.
This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run
or by deleting the script DLL* files in bin/ScriptEngines/<region-id>/
One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile
2013-01-24 03:04:09 +00:00
Justin Clark-Casey (justincc)
1da5a1ab21 Pass narrower WaitHandle rather than EventWaitHandle as co-op termination wait handle to script APIs.
APIs don't need to reference any methods on EventWaitHandle
2013-01-24 03:03:59 +00:00
Justin Clark-Casey (justincc)
af30d9b07e Improve logging by making it clearer which script is failing if an assembly fails to load.
Moves the noise co-op start/stop debug log messages to only display if xengine debug level >= 1
Logs which stop strategy is being used (abort or co-op)
Adjusts some other logging to remove not very useful stuff
2013-01-24 03:03:52 +00:00
Justin Clark-Casey (justincc)
b2c893a7be If ScriptStopStrategy hasn't been set to co-op in [XEngine] config, then continue to generate C# that is functionality identical to historical generation
This is to eliminate disruption until co-op termination has been well-tested.
In non co-op mode, XEngine will continue to load DLLs of the existing Script class and the new XEngineScript class.
Moving to co-op mode still requires existing script DLL deletion to force recompilation, either manually or by setting DeleteScriptsOnStartup = true for one run.
This change also means that scripts which fail to initialize do not still show up as running scripts.
2013-01-24 03:03:36 +00:00
Justin Clark-Casey (justincc)
3f80ac23b6 Add co-op termination regression test for infinite recursive manual call on event function.
Such code would normally terminate quickly with a stack overflow exception anyway.
2013-01-24 03:03:28 +00:00
Justin Clark-Casey (justincc)
701109c8c9 Set script delay factor to 0 in co-op termination tests
This is to ensure loops aren't actually terminating from a wait on an LSL function.
This was not the case with any of the existing tests.
2013-01-24 03:03:21 +00:00
Justin Clark-Casey (justincc)
5cbda393cd Add regression test for co-op termination on infinite user function call regression.
Such a script would probably run out of stack pretty quickly anyway.
2013-01-24 03:03:10 +00:00
Justin Clark-Casey (justincc)
98d0440c42 Add regression test for co-op stop of an infinite jump loop
Also fixes bug in do-while test
Improves detection of failure due to invalid script in test
Sets up xengine anew for each test rather than once for the while testsuite to improve isolation between tests.
Stop listening for chat after the first 'script is running' chat is received to reduce test run time.
2013-01-24 03:03:04 +00:00
Justin Clark-Casey (justincc)
8148d7e204 Add do-while co-op termination test
Minor changes to scripts in other tests.
2013-01-24 03:02:54 +00:00
Justin Clark-Casey (justincc)
b43a6b0199 Add single and comound while loop co-op termination test 2013-01-24 03:02:47 +00:00
Justin Clark-Casey (justincc)
d01943fa40 Fix bug in generating termination checks in compound statement for loop.
Add regression test for this case.
2013-01-24 03:02:39 +00:00
Justin Clark-Casey (justincc)
b6daf4d4c6 factor out common code in existing co-op termination regression tests 2013-01-24 03:02:33 +00:00
Justin Clark-Casey (justincc)
4495ecd158 Increase WaitForEventCompletionOnScriptStop to 120 secs to show that the co-op setting is active in its regression tests. 2013-01-24 03:02:24 +00:00
Justin Clark-Casey (justincc)
85df66db51 minor: comment out Console.WriteLine debugging message in XEngine 2013-01-24 03:02:17 +00:00
Justin Clark-Casey (justincc)
3024d0e61c Add regression test TestStopOnLongForLoop() 2013-01-24 03:02:11 +00:00
Justin Clark-Casey (justincc)
5ac0447e0f refactor: rename XEngineTest to more descriptive XEngineBasicTests 2013-01-24 03:02:04 +00:00
Oren Hurvitz
bb42862639 Assign the SmartThreadPool name in the constructor
This is required because some threads are created in the constructor, so assigning the name afterwards would be too late.
2013-01-24 03:01:26 +00:00
Justin Clark-Casey (justincc)
39b8f339ce Fix use of scene debug commands when region is set to root or a specific region where there is more than one region on the simulator. 2013-01-24 03:01:02 +00:00
Justin Clark-Casey (justincc)
af99e5e74a Add "debug set set animations true|false" region console command.
Setting this logs extra information about animation add/remove, such as uuid and animation name
Unfortunately cannot be done per client yet
2013-01-24 03:00:39 +00:00
Justin Clark-Casey (justincc)
f79800246a Implement non-wait co-operative termination of scripts for XEngine in addition to termination on wait.
This involves inserting opensim_reserved_CheckForCoopTermination() calls in lsl -> c# translation at any place where the script could be in a loop with no wait calls.
These places are for, while, do-while, label, user function call and manual event function call.
Call goes through to an XEngineScriptBase which extends ScriptBase.
IEngine is extended to supply necessary engine-specific parent class references and constructor parameters to Compiler.
Unfortunately, since XEngineScriptBase has to be passed WaitHandle in its constructor, older compiled scripts will fail to load with an error on the OpenSim console.
Such scripts will need to be recompiled, either by removing all *.dll files from the bin/ScriptEngines/<region-id> or by setting DeleteScriptsOnStartup = true in [XEngine] for one run.
Automatic recompilation may be implemented in a later commit.
This feature should not yet be used, default remains termination with Thread.Abort() which will work as normal once scripts are recompiled.
2013-01-24 03:00:18 +00:00
Melanie
4c1b1d89eb Complete removal of the now unused state queue 2013-01-24 02:04:41 +00:00
Diva Canto
a473482413 Changed a couple of debug messages at the request of osgrid. 2013-01-24 02:04:33 +00:00
Justin Clark-Casey (justincc)
535ec23646 Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-24 02:03:49 +00:00
Justin Clark-Casey (justincc)
245d6435e3 Revert "Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)"
Doing this as a favour to Melanie.  This will be back with passing the wait handles directly to the api.

This reverts commit 1b5c41c14a.
2013-01-24 02:00:13 +00:00
Justin Clark-Casey (justincc)
8728d4ce6a Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
2013-01-24 02:00:04 +00:00
Justin Clark-Casey (justincc)
44901f0b31 Instead of passing separate engine, part and item components to script APIs, pass down IScriptInstance instead.
This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests.
This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method
in order to facilititate continued script logic regression testing.
2013-01-24 01:59:42 +00:00
Justin Clark-Casey (justincc)
5054a07be2 Print full stacktrace from plugin loading failure to help determine what went wrong, rather than a possibly unhelpful simple exception message. 2013-01-24 01:35:08 +00:00
Justin Clark-Casey (justincc)
2f1cc6a06a refactor: Simplify ScriptInstance by retaining reference to SceneObjectPart instead of sometimes but not always looking it up. 2013-01-24 01:34:58 +00:00
Robert Adams
ff7693a14b Fix exception reporting in SceneObjectPart so it logs what the exception is rather than just saying it happened. 2013-01-24 01:34:35 +00:00
Justin Clark-Casey (justincc)
e89f93c78c Implement a workaround solution for saving manual script state changes by the user before logout instead of wrongly removing the script early.
This workaround relies on the fact that a closing client goes inactive before the attachments derez calls happen.
This reverts the change to remove scripts too early instead of stopping them, since the the two step stop then remove is necessary to execute the detach event.
2013-01-24 01:34:05 +00:00
Justin Clark-Casey (justincc)
d51aee876d Save attachments on detach/exit if a contained script state has been changed.
This involves making Attachments module listen for start/stop script changes.
It also involves removing the script from the region on detach in the same manner as every other DeleteSceneObject() call rather than simply stopping it
This is necessary tue to the bad assymetry of start and stop script triggers but it appears to be the correct behaviour anyway, as detached objects are completely gone from the sim.
Not just in a state where their scripts have been stopped.
2013-01-24 01:30:37 +00:00
Justin Clark-Casey (justincc)
3ad03d41e6 Fix a regression in the last few scene commands changes where setting these via the viewer estate dialog stopped working.
Forgot to register the new interface.
Also removes some code which got included by adpating an existing module.
2013-01-24 01:30:21 +00:00
Justin Clark-Casey (justincc)
69104f38f9 Add "debug scene get" console command to list current scene options 2013-01-24 01:29:49 +00:00
Justin Clark-Casey (justincc)
c6bb0d9662 Move scene debug commands into separate module. Command changes from "debug scene <key> <value>" to "debug scene set <key> <value>" to accomodate future settings 2013-01-24 01:29:40 +00:00
Justin Clark-Casey (justincc)
73717f2ce7 refactor: route the final scene backup through the same code that handles periodic backup
This is rather than making unnecessary duplicate checks that the SOG later performs again.
2013-01-24 01:29:29 +00:00
Justin Clark-Casey (justincc)
03bc92d112 minor: Capitalize GroupsModule command category 2013-01-24 01:29:12 +00:00
Justin Clark-Casey (justincc)
fd015c1ed7 minor: add missing newline to "debug scene" console command 2013-01-24 01:29:03 +00:00
Justin Clark-Casey (justincc)
8e548e4c8a Remove unimplemented "debug teleport" console command 2013-01-24 01:28:55 +00:00
Justin Clark-Casey (justincc)
44adf909b0 Add "debug scene pbackup true|false" console command. This enables or disable periodic scene backup. For debug purposes.
If false, scene is still saved on shutdown.
2013-01-24 01:28:47 +00:00
Justin Clark-Casey (justincc)
d43863af78 On baked texture save, replace any HG ID with an ordinary asset ID so the HGAssetBroker doesn't try to save back to the avatar's originating region 2013-01-24 01:28:29 +00:00
Justin Clark-Casey (justincc)
83c70dc914 revert accidental change to MemoryWatchdog stat calculation in previous b1b4687 2013-01-24 01:28:16 +00:00
Justin Clark-Casey (justincc)
10c1b15f12 Add "show script timers" command to show script timers. For debug purposes.
Also, "show sensors" changes to "show script sensors".
2013-01-24 01:28:05 +00:00
Justin Clark-Casey (justincc)
be5c6658bb Add "show sensors" command to show script sensor information for debug purposes. 2013-01-24 01:27:58 +00:00
Justin Clark-Casey (justincc)
f0a936832b minor: Remove unnecessary commented out code from last commit c28a2f05 and fix up code comment 2013-01-24 01:27:49 +00:00
Justin Clark-Casey (justincc)
ce5c2ee506 minor: make spacing consistent in console help output 2013-01-24 01:27:32 +00:00
Justin Clark-Casey (justincc)
bd33953c60 minor: Fix command match of "debug script" command to "debug scripts" to match other scripts commands (and it's own short help text) 2013-01-24 01:27:20 +00:00
Justin Clark-Casey (justincc)
ab22de03b8 minor: Allow "script *" console commands to take multiple script item ids 2013-01-24 01:27:13 +00:00
Melanie
61af272956 Add the new UpdateAgentInformation cap to make maturity on more recent viewers
work.
2013-01-24 01:27:06 +00:00
Justin Clark-Casey (justincc)
e43ddcd5ea minor: Rename BUILDING.txt to BUILDING.md in distbin distribution nant target 2013-01-24 01:26:48 +00:00
Justin Clark-Casey (justincc)
4041cb54f3 refactor: simplify llGetNumberOfPrims() to return prim count + sitting avatar count rather than independently inspecting every scene presence 2013-01-24 01:26:05 +00:00
Justin Clark-Casey (justincc)
87b4f335af minor: Add some doc to the extremely unhelpful 'fudge....' comment as to why we're deselecting the prim in code before scheduling an update on attachment 2013-01-24 01:25:28 +00:00
SignpostMarv
f9bb9191cf Improving documentation of AttachToAvatar and GetLine methods in LSL_Api.cs based on doxygen error output 2013-01-24 01:24:26 +00:00
SignpostMarv
4ab7697f00 updating documentation in SampleMoneyModule based on doxygen error log output; changing an xml-style hint to a uri-style hint in the class summary, improving documentation of Initialise method and removing a superfluous parameter, improving documentating of ClientClosed method and documenting an omitted parameter 2013-01-24 01:24:16 +00:00
SignpostMarv
d1ba3ea60d updating config properties added during upgrade process, adding error log file to doxygen config, adding doxygen output directory & error log to .gitignore 2013-01-24 01:24:04 +00:00
SignpostMarv
e597b33926 ran doxygen -s -u to upgrade the doxygen config file 2013-01-24 01:23:58 +00:00
Justin Clark-Casey (justincc)
3bb3a8f39b Change nant distbin target to also remove ThirdParty/ source code when making binary distribution 2013-01-24 01:23:51 +00:00
Justin Clark-Casey (justincc)
561626fe1b minor: Change channel digger replacement message in TerrainModule to Info from Warn.
This is to stop this unnecessarily triggering log analysis code which reports warn and error level statements.
2013-01-24 01:23:43 +00:00
Oren Hurvitz
86519bd407 Added locking in NullRegionData.
This prevents errors when one thread iterates over the regions (e.g., from RegenerateMaptileAndReregister()) while another thread is adding a region.
2013-01-24 01:22:54 +00:00
Justin Clark-Casey (justincc)
35a1949fb8 Fix indenting on ConsoleDisplayTable, align indenting on "show animations" console command 2013-01-24 01:22:46 +00:00
Justin Clark-Casey (justincc)
586a331a95 minor: minor code and log formatting fixes to recent changes in LandManagementModule 2013-01-24 01:22:34 +00:00
Justin Clark-Casey (justincc)
9b0f784c63 minor: Allow objects to be added directly to a row on a ConsoleDisplayTable rather than having to ToString() them first 2013-01-24 01:22:09 +00:00
Oren Hurvitz
ac0f5e75bd Implemented Return Objects when it's invoked from the Top Colliders or Top Scripts dialogs 2013-01-24 01:22:01 +00:00
Justin Clark-Casey (justincc)
f283ff5949 Add "show animations" console command for debug purposes.
This shows the current animation sequence and default anims for avatars.
2013-01-24 01:21:52 +00:00
Justin Clark-Casey (justincc)
04ee863c33 If an NPC is unowned, then always auto-grant permissions requested via llRequestPermissions()
This is consistent with all other OSSL NPC functions that allow unowned avatars to be manipulated.
Aims to address http://opensimulator.org/mantis/view.php?id=6483
2013-01-24 01:21:42 +00:00
Oren Hurvitz
16349c1368 Fixed bugs when getting the root folder.
1. The error checking for the case where there's no "My Inventory" folder was
incorrect: it checked the wrong variable.
2. If GetSystemFolderForType() is called to get AssetType.RootFolder then
it should return the root folder immediately; not look for another root
folder below it.
2013-01-24 01:21:30 +00:00
Justin Clark-Casey (justincc)
7caf21c8a8 minor: Assign names to the different SmartThreadPools for debugging purposes.
A different approach to the patch in http://opensimulator.org/mantis/view.php?id=6462
that doesn't involve further forking of SmartThreadPool
2013-01-24 01:21:17 +00:00
Justin Clark-Casey (justincc)
c98d215242 refactor: call Util.InitThreadPool() if we are initializing an uninitialized pool on first use rather than constructing it ourselves.
No functional change.
2013-01-24 01:21:09 +00:00
Justin Clark-Casey (justincc)
76cfab35a5 Clarify that AllowLightShareFunctions setting is false, which is the default in OpenSimDefaults.ini and the code. 2013-01-24 01:20:43 +00:00
Justin Clark-Casey (justincc)
2e02f49fd9 minor: If the physics module tells us that an object has gone out of bounds, more helpfully log the name, id, position and region of that object. 2013-01-24 01:19:00 +00:00
Justin Clark-Casey (justincc)
548deb9153 minor: Add commented out log lines to ScenePresenceAnimator for future debug use (such as logging anim pack contents sent to clients) 2013-01-24 01:18:39 +00:00
Justin Clark-Casey (justincc)
150c4faa79 Fix issue where calling llVolumeDetect(FALSE) would not remove phantom flag, causing subsequent issues if physics was re-enabled.
Added regression tests
Addresses http://opensimulator.org/mantis/view.php?id=6365
2013-01-24 01:18:25 +00:00
nebadon
6693ef8288 fix openjpeg on 64 bit OSX we were pointing to a file taht did not
exist.
2013-01-24 00:50:22 +00:00
Justin Clark-Casey (justincc)
ba93e36fce On XEngine.ProcessEventHandler(), instead of creating a new CultureInfo on every call use the single one set by Culture.SetCurrentCulture()
This is slightly different in that SetCurrentCulture() does not use overridden settings if the system culture matches en-US but some settings there have been changed.
This is what we want - we do not want to use any system overriden settings.
2013-01-24 00:44:22 +00:00
Justin Clark-Casey (justincc)
9ab580d1ea Extend default 1 second wait for event completion to other thread script reset (as called by llResetOtherScript()).
As with script stop (via llDie()) aborting other scripts event threads, llResetOtherScript() can also abort any current event thread on another script.
On mono 2.6, 2.10 and possibly later this may cause locking problems in certain code areas.
This commit reuses the recently introduced [XEngine] WaitForEventCompletionOnScriptStop to make this a 1 sec timeout, rather than 0 secs.
2012-12-17 22:53:40 +00:00
Justin Clark-Casey (justincc)
7deb2d9646 minor: add some more detail to the logging if an LLClientView fails to process a packet 2012-12-14 00:00:23 +00:00
Justin Clark-Casey (justincc)
c77728ebf8 Add WaitForEventCompletionOnScriptStop [XEngine] config param to OpenSimDefaults.ini to allow change of the wait time for an event to complete on script removal before aborting its thread
Default is 1000, as has previously been the case.
This parameter exists for further debug work concerning mono 2.10 crashes that may be related to locks not being removed on Thread.Abort
2012-12-14 00:00:16 +00:00
Justin Clark-Casey (justincc)
83487bfbec Log situations where workitem event threads are aborted on stop request because they failed to complete event processing within the given timeout.
This is for bug hunting purposes where thread aborts may be causing dangling lock issues and subsequent vm crashes on mono (with ReaderWriterLockSlim, etc.)
2012-12-14 00:00:01 +00:00
Justin Clark-Casey (justincc)
e6f475735f Add "debug script log" command to allow setting a numeric debug level on individual IScriptInstances for debugging purposes.
Current, state changes and event fires can be logged for individual scripts.
See command help for more details.
2012-12-13 23:59:53 +00:00
Justin Clark-Casey (justincc)
48486b137a Add asset id to "show script" and "show scripts" command output to make it easier to extract and inspect the script's asset via "dump asset" 2012-12-13 23:59:44 +00:00
Justin Clark-Casey (justincc)
4490020197 Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the aim of avoiding OpenSimulator problems due to script thread aborts.
When an object is removed, its scripts are stopped and then the thread running them is aborted if stop takes too long.
However, it appears that aborting a thread at just the wrong moment when it is obtaining a ReaderWriterLockSlim lock can leave this lock in an inconsistent state.
One symptom of this is that mono leaps to 100% cpu and a vm thread dump reveals lots of threads waiting for a ReaderWriterLockSlim lock without any thread actually holding it.
This is probably the same problem as encountered originally in commit 12cebb12
This commit looks to plaster this problem by putting lock obtaining methods inside finally blocks which should be uninterruptible by thread aborts.
2012-12-12 00:40:16 +00:00
Justin Clark-Casey (justincc)
770caad0ad minor: change method doc on GetTextureHandler.TryParseRange(), mainly to trigger another build 2012-12-12 00:39:39 +00:00
Justin Clark-Casey (justincc)
13e29ae3f7 Allow GetTexture calls with no second value in the range header (e.g. just 5333-)
It looks like the latest Kokua is doing this.
As per http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html, leaving off the second value is legal
This indicates the caller wants the rest of the entity.
2012-12-12 00:39:29 +00:00
Justin Clark-Casey (justincc)
b52ac8c5d1 Remove very probably unused PrimitiveBaseShape(bool) constructor to reduce code complexity 2012-12-12 00:22:56 +00:00
Justin Clark-Casey (justincc)
97a907ad84 Don't pointlessly set ExtraParams = byte[1] in PrimitiveBaseShape since this is ignored by the ExtraParams properly anyway 2012-12-12 00:22:47 +00:00
Justin Clark-Casey (justincc)
7ced077821 In BaseHttpServer.HandleRequest(), use Culture.SetCurrentCulture() rather than creating a new CultureInfo separately 2012-12-12 00:22:24 +00:00
Justin Clark-Casey (justincc)
fdbd448cc7 In XEngine.DoOnRezScript() use Culture.SetCurrentCulture() instead of constructing a new CultureInfo separately 2012-12-12 00:22:15 +00:00
Justin Clark-Casey (justincc)
d8c88f4894 Instead of printing script errors out to console, put to debug log so that we also get timestamps.
This commit also adds script name, part name, uuid, etc. for later identification.
This information has been sent to console since 2009 but may be turned down if it proves too noisy.
However, I still currently need it to investigate some region problems probably triggered by scripting.
2012-12-06 00:31:15 +00:00
Justin Clark-Casey (justincc)
d558bbfa35 minor: Fix more compiler warnings in CoreModules tests by properly overriding OpenSimTestCase.SetUp() 2012-12-06 00:30:45 +00:00
Justin Clark-Casey (justincc)
992dc1c2c7 Add engine-wide events queued and events processed numbers to output of "xengine status" console command. For debugging purposes. 2012-12-06 00:30:38 +00:00
Justin Clark-Casey (justincc)
ce1d3e9c96 Remove some mono warnings in script tests, chiefly where SetUp() wasn't properly calling to OpenSimTestCase.SetUp() 2012-12-06 00:30:30 +00:00
Justin Clark-Casey (justincc)
a8a712e1f8 Add IScriptInstance.EventsQueued to match EventsProcessed instead of asking callers to lock and directly inspect the EventQueue 2012-12-06 00:30:18 +00:00
Justin Clark-Casey (justincc)
5a71cbe530 For now, sort "show scripts" output in descending order sorted by events processed.
For debug purposes - should later add options to allow different sorting or show only highest 10, etc.
2012-12-06 00:30:11 +00:00
Justin Clark-Casey (justincc)
c2bdb36c11 Add IScriptInstance.EventsProcessed stat so that we can record this information and display in "show scripts" for debug purposes 2012-12-06 00:30:04 +00:00
Justin Clark-Casey (justincc)
6d03a5d01b minor: tidy up spacing at bottom of MundaneFrameworkTests 2012-12-06 00:29:49 +00:00
Justin Clark-Casey (justincc)
ad75cb2682 minor: also comment out the debug log message which reports searching for child agents in simulator scenes for now. 2012-12-06 00:29:15 +00:00
Justin Clark-Casey (justincc)
f46478f1df minor: Comment out "Delivering IM to..." messages for now. 2012-12-06 00:29:07 +00:00
Justin Clark-Casey (justincc)
7c811c39c8 Fix problem where restarting the currently selected region would stop various console commands (e.g. "show users") from working.
This was because the "currently selected" scene reference was being left as the dead scene instead of the restarted Scene object.
2012-12-06 00:26:42 +00:00
Justin Clark-Casey (justincc)
e18d6c0956 Show many more primitive properties on console command "show part name/id/pos" 2012-11-28 03:47:11 +00:00
Justin Clark-Casey (justincc)
a7af8345a5 Fix database service unit test failures by temporarily reverting BasicDataServiceTest extending OpenSimTestCase.
Mono 2.4.3 doesn't like this when running nunit, with nunit throwing
AssetTests`2 : System.MemberAccessException : Cannot create an instance of OpenSim.Data.Tests.AssetTests`2[TConn,TAssetData] because Type.ContainsGenericParameters is true.
and similar.  Mono 2.10.8.1 does not have this issue.
So will wait until min version of mono bumps before restoring.
2012-11-28 03:46:58 +00:00
Justin Clark-Casey (justincc)
b5ecc31096 Combine TestDeleteSceneObjectAsync() with TestDeRezSceneObject() as they are functionally identical.
Move TestDeleteSceneObjectAsync() and TestDeleteSceneObjectAsyncToUserInventory() from SceneObjectBasicTests -> SceneObjectDeRezTests
2012-11-28 03:46:49 +00:00
Justin Clark-Casey (justincc)
3a297c7fe6 Fix regression TestDeleteSceneObjectAsyncToUserInventory by adding a BasicInventoryAccessModule() and re-enable in test suite. 2012-11-28 03:46:41 +00:00
Justin Clark-Casey (justincc)
c3243ce0ce Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-28 03:46:33 +00:00
Justin Clark-Casey (justincc)
ace552ecc5 Make "show threads" and "thread abort" console commands available on all servers 2012-11-28 03:46:10 +00:00
Justin Clark-Casey (justincc)
1d75570c59 Make "force gc" console command available across all servers 2012-11-28 03:46:04 +00:00
Justin Clark-Casey (justincc)
70ccc63b83 Make "show version" console command available across all servers 2012-11-28 03:45:56 +00:00
Justin Clark-Casey (justincc)
31373ee099 Delete unused BaseHttpServer.HandleAgentRequest() 2012-11-28 03:45:50 +00:00
Justin Clark-Casey (justincc)
afaf7b5b94 Enable further client stack packet pooling by default by setting RecycleBaseUDPPackets = true by default.
This reduces base memory churn of every client connection, improving the garbage collection situation.
The effect is a significant portion of base load (an avatar standing still on a completely blank island)
but will probably still be swallowed up by other memory use on active regions.
Tests have shown no noticeable impact on speed of processing incoming packets, though setting remains
in case a switch back is needed.
2012-11-28 03:45:43 +00:00
Justin Clark-Casey (justincc)
6d0f66ae87 minor: Make note in log if scene was restarted due to an unrecoverable physics error 2012-11-28 03:45:15 +00:00
Justin Clark-Casey (justincc)
207233335e Add AllowRegionRestartFromClient setting to [EstateManagement] section of OpenSim.ini.
Setting this to false will block all restart requests from the viewer even if they are otherwise legitimate.
One use is to block region restarts if necessary whilst restart functionality remains buggy or triggers bugs in modules,
though these should be fixed as soon as practicable.
Default is true, as has been the case historically.
2012-11-28 03:44:44 +00:00
Justin Clark-Casey (justincc)
e9fbfd0905 Remove the redundant BypassPermissions() checks in EstateManagmentModule.
This is repeated in the PermissionsModule and checking it earlier does not allow a force override of the bypass value
2012-11-28 03:40:59 +00:00
Justin Clark-Casey (justincc)
c35f974637 minor: Add some console feedback on region restart and log who requested a region restart if done from the viewer. 2012-11-28 03:40:52 +00:00
Justin Clark-Casey (justincc)
a4007cbe71 Add regression test for checking scene close when SceneManager is asked to close 2012-11-28 03:39:31 +00:00
Justin Clark-Casey (justincc)
d70e0b1189 Add "help all" console command which will list all commands alphabetically in a single list 2012-11-28 03:39:20 +00:00
Justin Clark-Casey (justincc)
a9ce40a722 Factor out command script code.
This also allows comments in command scripts (lines starting with ;, # or //) to be used across all servers
2012-11-28 03:39:05 +00:00
Justin Clark-Casey (justincc)
8d207fd8e6 Make "config show/set/get/save" console commands available on all servers 2012-11-28 03:38:41 +00:00
Justin Clark-Casey (justincc)
2487adf0b1 Factor out common pid file creation and removal code.
Log path at which pid file is created or reason for failure to create.
2012-11-28 03:28:27 +00:00
Justin Clark-Casey (justincc)
4aa725f60b Add "get log level" command - this returns the current server session console logging level.
This supersedes getting information by calling "set log level" without a 4th argument, which is confusing.
2012-11-28 03:28:19 +00:00
Justin Clark-Casey (justincc)
0686a2fba9 Remove unused BaseOpenSimServer.ShowHelp() 2012-11-28 03:28:13 +00:00
Justin Clark-Casey (justincc)
b6305011db Make "set log level" command available across all servers 2012-11-28 03:28:06 +00:00
Justin Clark-Casey (justincc)
9cdf5199df Make "show info" command available across all servers
This helpfully lists version information, startup location and console log level
2012-11-28 03:27:59 +00:00
Justin Clark-Casey (justincc)
632dad337b Factor out common registration of "show uptime" command 2012-11-28 03:27:52 +00:00
Justin Clark-Casey (justincc)
08234d0097 factor out common HandleShow code for "show uptime" 2012-11-28 03:27:43 +00:00
Justin Clark-Casey (justincc)
d68ba391fc refactor: Factor out copy/pasted server uptime report code 2012-11-28 03:27:36 +00:00
Justin Clark-Casey (justincc)
603a140eb7 If an asset POST does not contain well-formed XML, return a 400 (Bad Request) HTTP status rather than simply dropping the request. 2012-11-28 03:27:30 +00:00
Justin Clark-Casey (justincc)
fd31f05cf0 Add regression test for a good request made to the asset service post handler.
Adds new OpenSim.Server.Handlers.Tests.dll to test suite
2012-11-28 03:27:15 +00:00
Justin Clark-Casey (justincc)
a8152c57b3 If GetAgents() is called with an empty userIDs array then don't bother with a useless potentially network call on the scene presence service connector.
This also eliminates the "[PRESENCE HANDLER]: GetAgents called without required uuids argument"
which has started to pop up in the logs when a call is made with an empty uuid array as occasionally happens.
2012-11-28 03:27:08 +00:00
Justin Clark-Casey (justincc)
4753d14a19 refactor: Move common presence connector code into BasePresenceServiceConnector 2012-11-28 03:26:50 +00:00
Justin Clark-Casey (justincc)
ee5e61d448 minor: If logging full incoming HTTP data, don't deceptively print ... at the end of the body. 2012-11-28 03:21:42 +00:00
Justin Clark-Casey (justincc)
41b76c4b9e Remove old InventoryService, which has for a long time been replaced by XInventoryService. 2012-11-28 03:21:31 +00:00
Justin Clark-Casey (justincc)
314de0fc49 Remove unnecessary ability to directly set InventoryItemBase.CreatorIdAsUuid
This was necessary historically but hasn't been for many years.
Can still get CreatorIdAsUuid, which is really just a UUID cached version of the string CreatorId
2012-11-28 03:21:23 +00:00
Justin Clark-Casey (justincc)
93f7e4fb9d Do not allow invariants to change on calls to XInventoryService.UpdateItem()
This is to help track down http://opensimulator.org/mantis/view.php?id=6359 where creator IDs on items and rezzed objects have been reported to sometimes change.
This should never happen - a particular item should never change creators (if an item is given then a new item (with new id) is created).
Invariants are inventory type, asset type, folder (changed only on MoveItems()), CreatorIdentification and Owner.
If caller attempts to change an invariant, warning is logged but other properties are still changed.
If you see this warning, reporting on Mantis 6359 would be very welcome with the exact operation being done at the time.
2012-11-28 03:21:15 +00:00
Justin Clark-Casey (justincc)
f8adf4de2f Add basic XInventoryServicesTests.TestAddItem() regression test. 2012-11-28 03:21:06 +00:00
Justin Clark-Casey (justincc)
08f0274b5a refactor: Move stat classes out of StatManager and into their own files for clarity. 2012-11-28 03:20:59 +00:00
Justin Clark-Casey (justincc)
94748aab84 Add a first draft mechanism for the IncomingPacketsProcessedStat to show the delta over time.
The chief motivation for this is to be able to tell whether there's any impact on incoming packet processing from enabling extra packet pooling.
2012-11-28 03:20:50 +00:00
Justin Clark-Casey (justincc)
468d1cf03e refactor: move common inventory folder version update code to parent class in mysql, mssql and sqlite database plugins 2012-11-28 03:20:28 +00:00
Justin Clark-Casey (justincc)
e8e6bc0c6a Improve inventory folder version updating for mssql database plugin.
I am not in a position to test this so the updates have been done blind.
If it needs any fixing will probably require patches.
2012-11-28 03:07:05 +00:00
Justin Clark-Casey (justincc)
c7b9d460e0 Fix build break from 1aa0271 by adding System.Core to prebuild.xml 2012-11-28 03:06:57 +00:00
Justin Clark-Casey (justincc)
e263368656 Implement folder version updating for the sqlite inventory plugin 2012-11-28 03:06:51 +00:00
Justin Clark-Casey (justincc)
4b6a9d107d Handle Map block requests on a separate thread rather than the main packet handling thread.
This prevents a slow grid information network call from holding up the main packet handling thread.
There's no obvious race condition reason for not doing this asynchronously.
2012-11-28 03:06:43 +00:00
Justin Clark-Casey (justincc)
ee5454fd4a Do HandleMapLayerRequest on its own thread rather than on the main inbound udp packet handling thread.
There's no obvious race condition reason for doing this on the main packet handling thread.
2012-11-28 03:06:35 +00:00
Justin Clark-Casey (justincc)
38d2d6a20c Following on from 4f982596, launch map name requests on an async thread from LLClientView directly.
This releases the inbound packet handling thread marginally quicker and is more consistent with the other async packet handling
2012-11-28 03:06:28 +00:00
Justin Clark-Casey (justincc)
7e493b9665 Make PacketPool class stats pull stats instead of push stats so they can be lifted up into LLUDPServer and be distiguished by scene name 2012-11-28 03:06:19 +00:00
Justin Clark-Casey (justincc)
b7c1a37676 Add IncomingPacketsProcessedCount stat for diagnostics.
Also puts some packet processing counts in a container named after the scene so that stats can be collected from more than one scene.
2012-11-28 03:06:12 +00:00
Justin Clark-Casey (justincc)
4fe042aa7f More consistently dispose of SqliteCommand in OpenSim.Data.SQLite where possible.
Not doing SQLiteInventoryStore since this is no longer used and should disappear in the future.
2012-11-28 03:06:00 +00:00
Justin Clark-Casey (justincc)
a83218fd08 If no ISimulationDataStore or IEstateDataStore implementations could be loaded then halt with informative message rather than a later NRE.
Halt already occurs if the relevant config sections are not present.
So it also makes sense to halt if the implementations themselves cannot be loaded.
2012-11-28 03:05:49 +00:00
Justin Clark-Casey (justincc)
221af2da70 minor: Add some explanative method doc to SceneHelpers.SetupSceneModules() 2012-11-28 03:05:16 +00:00
Diva Canto
c6c6ac0a3e Fix Unit tests -- the module contract was not being honored in the set up of scenes. 2012-11-28 03:04:02 +00:00
Justin Clark-Casey (justincc)
a5fdfd6343 Uncomment SceneObjectBasicTests.TestDeleteSceneObjectAsyncToUserInventory() and make it compile again
Not currently in test suite since not yet working.
Also add method doc to Scene.DeRezObjects()
2012-11-28 03:03:26 +00:00
Diva Canto
72e0c77f91 Minor improvement in the MapSearchModule. Stop blocking the client thread if the search takes too long. 2012-11-28 03:03:18 +00:00
Justin Clark-Casey (justincc)
862f595e5d Replace the 64 bit macosx version of libopenjpeg-dotnet.dylib with a 32-bit version from libopenmetaverse commit 3731ee4
This is because macosx mono is 32-bit and this can't p/invoke 64-bit binaries.
However, the reverse is also true.
If OpenSimulator stops working for you then please complain!  Long term alternative is probably to build a fat binary with both architectures.
2012-11-28 03:00:03 +00:00
Justin Clark-Casey (justincc)
db045e69f9 Also add the additional ScriptException constructor necessary to get [Serializable] to work. 2012-11-28 02:59:53 +00:00
Justin Clark-Casey (justincc)
6a54cb871b Mark ScriptException as [Serializable] for when it has to cross AppDomains 2012-11-28 02:59:47 +00:00
Justin Clark-Casey (justincc)
3619a83b28 Handle UUIDGroupName and ObjectGroup viewer UDP requests asynchronously rather than synchronously.
This is to avoid the entire scene loop being held up when the group service is slow to respond.
There's no obvious reason for these queries to be sync rather than async.
2012-11-28 02:59:39 +00:00
Justin Clark-Casey (justincc)
e3927d2868 Make "show object part" command correctly display script status.
Uses new IEntityInventory.TryGetScriptInstanceRunning()
Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
2012-11-28 02:59:30 +00:00
Justin Clark-Casey (justincc)
fe503de17a Only create a new list to check if objects have reached targets if there actually are any targets. 2012-11-28 02:59:13 +00:00
SignpostMarv
5498a64a9f fixing poorly-formatted xml doc string for Util.IsInsideBox 2012-11-28 02:58:37 +00:00
SignpostMarv
3148a231db refactoring llGetPos() to take advantage of implicit converter 2012-11-28 02:58:22 +00:00
Justin Clark-Casey (justincc)
bffdf20721 Fix memory leak where removing an NPC did not remove its circuits.
This was because we were removing by circuitcode where NPCs have no code.
Now removing by agent ID instead.
This commit also fixes the "show circuits" console command to work properly where the circuit has no associated IP address.
2012-11-28 02:57:13 +00:00
Justin Clark-Casey (justincc)
a4b64d4854 Add "force gc" region console command which manually invokes garbage collection.
For debugging purposes.
2012-11-28 02:57:02 +00:00
Melanie
fe195e0a9c Deep copy the collection of at_target objects so it can't be modified while
it's being iterated
2012-11-28 02:56:53 +00:00
Justin Clark-Casey (justincc)
9d70f48207 minor: Fix verbose IAR save message to make it a bit clearer that item data is being saved at that point, not asset data. 2012-11-28 02:56:44 +00:00
Justin Clark-Casey (justincc)
d83df8c1cf Fix "save iar" hanging permanently if the asset request phase times out.
Unlike "save oar", this was happening on the same thread as the original request.
The timeout happens on another so the original thread is never aborted.
On "save oar" this leaves the thread hanging (still bad) but on "save iar" it left the console thread hanging.
Temporary fix is to make "save iar" do asset request on a separate thread, like "save oar".
Longer term fix will be to restructure asset save to use a ManualResetEvent rather than a separate timeout timer.
2012-11-28 02:56:34 +00:00
Justin Clark-Casey (justincc)
c7c6c12146 minor: Make the error thrown logged when a simulator in grid mode is trying to set estate owner to a user that doesn't exist a little more obvious. 2012-11-28 02:56:22 +00:00
SignpostMarv
e83a4c24ee Formatting and casing correction in WorldCommModule, trailing new line in OSSL to get git diff to not complain 2012-11-28 02:56:09 +00:00
Justin Clark-Casey (justincc)
a1669be6c3 minor: Add comment as to why we are pulcking plain old ints out of the LSL_List when converting values from LSL for modInvoke() 2012-11-28 02:55:58 +00:00
SignpostMarv
e36799f515 system ints can end up in LSL lists, which can cause counter-intuitive unknown list element type errors in ConvertFromLSL (via modInvoke) 2012-11-28 02:55:36 +00:00
Justin Clark-Casey (justincc)
186fe5f7b0 Comment out InventoryTransferModule.NeedSceneCacheClear() and invocations since the call itself does nothing and the return value is ignored by all callers.
This is a very old method (+4 years) so is probably confusing code cruft.
2012-11-28 02:55:26 +00:00
Justin Clark-Casey (justincc)
27206eccef minor: if a scene is already shutting down on Scene.Close(), warn and exit instead of attempting to run another shutdown concurrently.
Thanks to Oren Hurvitz for this change.
2012-11-28 02:55:15 +00:00
Oren Hurvitz
62c0d60d3e Changed "course" to "coarse" in several places 2012-11-28 02:55:08 +00:00
Oren Hurvitz
c39342df3e Changed duplicate Asset ID's to unique ID's in CollisionSoundsAssetSet.xml 2012-11-28 02:55:00 +00:00
Justin Clark-Casey (justincc)
458a103529 In Scene.Close(), dispose of the physics scene after base.Close() since script events can still access Physics scene until the script engine shuts down (triggered off base.Close())
XEngine listeners to EventManager.OnShutdown which is triggered from base.Close().
Possibly it could listen for the earlier OnSceneShuttingDown instead, but the easier solution right now is to relocate disposal of the physics scene.
This bug has existed since c150320 (Thu Jul 26 15:27:18 2012) and was in 0.7.4
2012-11-28 02:54:52 +00:00
Justin Clark-Casey (justincc)
c22a37e7a6 Fix script error messages not showing up in viewer 3 and associated viewers.
Viewer 3 will discard such a message if the chat message owner does not match the avatar.
We were filling the ownerID with the primID, so this never matched, hence viewer 3 did not see any script error messages.
This commit fills the ownerID in with the prim ownerID so the script owner will receive script error messages.
This does not affect viewer 1 and associated viewers which continue to process script errors as normal.
2012-11-28 02:54:31 +00:00
Justin Clark-Casey (justincc)
01a8a65d75 Get osNpcCreate() and osNpcLoadAppearance() to generate a script error if appearance notecard does not exist, rather than returning UUID.Zero or silently failing. 2012-11-28 02:54:25 +00:00
Justin Clark-Casey (justincc)
28ced402d8 When scripts generate expected exceptions (e.g. due to checked bad parameter) throw ScriptException instead of just a plain old exception.
This is to make it easier to distinguish these exceptions from unexpected OpenSimulator problems internally and in regression tests.
No functional changes.
2012-11-28 02:54:17 +00:00
Justin Clark-Casey (justincc)
95e35fe84a Make osNpcCreate() return UUID.Zero instead of throwing an exception if notecard name is invalid. Make osNpcLoadAppearance() fail silently in same circumstance rather than throwing exception. 2012-11-28 02:54:05 +00:00
Justin Clark-Casey (justincc)
3692ff2bdb Add TestOsNpcLoadAppearance() 2012-11-28 02:53:55 +00:00
Justin Clark-Casey (justincc)
7235a5fed4 Move npc creation tests involving appearance from OSSL_ApiAppearanceTest to OSSL_ApiNpcTests
This is a more intuitive location.
2012-11-28 02:53:46 +00:00
Justin Clark-Casey (justincc)
614e5b52b8 Allow "show object", "show part", "dump object" and "delete object" to accept a local ID as well as a UUID.
This means that the sub-commands are now id rather than uuid, e.g. show object id
2012-11-28 02:53:39 +00:00
Justin Clark-Casey (justincc)
35ab31fb5f Add "dump object uuid" console command. This allows any object in the scene to be serialized and dumped to XML for debug purposes. 2012-11-28 02:53:15 +00:00
Justin Clark-Casey (justincc)
636994eea6 minor: Move co-ordinate related help to object commands to common ConsoleUtil.CoordHelp 2012-11-28 02:53:06 +00:00
Justin Clark-Casey (justincc)
146ac5ceda Make it possible to turn the base UDP object packet pools on and off whilst running via the "debug lludp pool <on|off>" console command. For debug purposes.
This does not currently apply to the higher LLUDP packetpool.
2012-11-28 02:52:53 +00:00
Justin Clark-Casey (justincc)
5413bfec30 Add object count stats for new IncomingPacket and UDPPacketBuffer pools if they are enabled. Add count stats for existing LLUDP pool.
This introduces a pull stat type in addition to the push stat type.
A pull stat takes a method on construction which knows how to update the stat on request.
In this way, special interfaces for pull stat collection are not necessary.
2012-11-28 02:52:46 +00:00
Justin Clark-Casey (justincc)
f39c2cd714 minor: Get content type handler logger to log "unset" for the content type instead of blank if no content type was set. 2012-11-28 02:52:40 +00:00
Justin Clark-Casey (justincc)
e0ef2bdf81 minor: Use LogIncomingToContentTypeHandler() method for incoming HTTP data where this wasn't already used.
This allows log level 5 (log sample or large part of incoming post data) to operate and removes copy/paste.
2012-11-28 02:52:29 +00:00
PixelTomsen
efc09e8022 SQLite DB: some values of land data will be not saved / loaded
http://opensimulator.org/mantis/view.php?id=6370

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-11-28 02:52:17 +00:00
Justin Clark-Casey (justincc)
1790355f3e minor: Rename assetCache constructor param in UUIDGatherer to assetService which is what it is. 2012-11-28 02:51:42 +00:00
Justin Clark-Casey (justincc)
d0d004c6ff Add method doc for IPresenceService 2012-11-28 02:51:36 +00:00
Justin Clark-Casey (justincc)
ee4abb681e Improve efficiency of friends notification by only make one PresenceService call for all friends rather than one for each friend.
However, large groups could still take a very long time since we still need to message each avatar on different simulators.
2012-11-28 02:51:24 +00:00
Justin Clark-Casey (justincc)
9e3605d952 Fix build break from commit e469879 2012-11-28 02:51:11 +00:00
Justin Clark-Casey (justincc)
0df4927710 Add "debug groups verbose <true|false>" region console command
This allows one to turn on super-verbose groups debug logging on and off whilst the region is in operation.
2012-11-28 02:51:01 +00:00
Justin Clark-Casey (justincc)
9d4415429d minor: Increase attachment name field from 36 to 50 chars in "attachments show" report 2012-11-28 02:50:47 +00:00
SignpostMarv
c86ac36876 altering documentation for llGetLinkName, as the current documentation is rather lengthy for a "summary". 2012-11-28 02:50:23 +00:00
SignpostMarv
4a4d800523 ensuring that operand order in llGetLinkName is internally consistent 2012-11-28 02:49:44 +00:00
Justin Clark-Casey (justincc)
01c148bbce minor: comment out currently unused logger in DynamicTextureModule 2012-11-28 02:49:28 +00:00
Justin Clark-Casey (justincc)
1cbe4363a3 Make "show part" console commands print out information about each item the part contains 2012-11-28 02:49:21 +00:00
Justin Clark-Casey (justincc)
c0254d914f minor: Convert ad-hoc list building in ObjectCommandsModule to use ConsoleDisplayList 2012-11-28 02:49:10 +00:00
Justin Clark-Casey (justincc)
53112f1e80 Add local and UUID to information output of "show object" and "show part" region console commands 2012-11-28 02:49:02 +00:00
Justin Clark-Casey (justincc)
0f312c58ca Add --full option to "show object name/uuid/pos" to show info on all parts of an object, not just whole object summary information. 2012-11-28 02:48:54 +00:00
Justin Clark-Casey (justincc)
2ca520c1eb Add number of inventory items to information displayed via "show part" console command 2012-11-28 02:48:47 +00:00
Justin Clark-Casey (justincc)
c9b7ac2ae5 minor: Remove event method doc from LLClientView that I forgot in the last commit (1de80c) 2012-11-28 02:47:47 +00:00
Justin Clark-Casey (justincc)
6e2ffd7050 minor: move recent OnAgentUpdate/OnPreAgentUpdate event doc up into IClientAPI from LLClientView 2012-11-28 02:47:40 +00:00
Justin Clark-Casey (justincc)
8726748e22 Reuse the same AgentUpdateArgs object for each AgentUpdate UDP packet (of which there are 10 a second) rather than constructing a new one every time.
We can do this because AgentUpdate packets are handled synchronously.
2012-11-28 02:47:31 +00:00
Justin Clark-Casey (justincc)
73c2db9e8f Explicitly return only the incoming AgentUpdate packet as this is the only one we pool atm, rather than attempting to return all incoming packets. 2012-11-28 02:47:24 +00:00
Justin Clark-Casey (justincc)
c1cab3e752 If RecycleBaseUDPPackets = true, also pool IncomingPackets to reduce memory churn 2012-11-28 02:47:15 +00:00
Justin Clark-Casey (justincc)
713fdda7f8 minor: Make BasicCircuitTests.SetUp() call overriden base method instead of ignoring it. 2012-11-28 02:47:08 +00:00
Justin Clark-Casey (justincc)
baa599e5b0 Add LastMemoryChurn stat using existing data so we can more quickly tell how memory churn changes rather than waiting for the average to move. 2012-11-28 02:47:01 +00:00
Justin Clark-Casey (justincc)
014c533ebe Add optional pool for the UDPPacketBuffer objects that handle all incoming UDP data.
Even when an avatar is standing still, it's sending in a constant stream of AgentUpdate packets that the client creates new UDPPacketBuffer objects to handle.
This option pools those objects.  This reduces memory churn.
Currently off by default.  Works but the scope can be expanded.
2012-11-28 02:46:53 +00:00
Justin Clark-Casey (justincc)
53d87510ce Make it possible to separate start and stop lludp packet processing from the console for debug processes.
This is controlled via the "debug lludp start <in|out|all>" and "debug lludp stop <in|out|all>" region console commands.
The command "debug lludp status" will show current status.
2012-11-28 02:46:46 +00:00
Justin Clark-Casey (justincc)
43aa74d139 minor: Comment out log message on every FRIENDS SIM CONNECTOR request for now. 2012-11-28 02:46:39 +00:00
Justin Clark-Casey (justincc)
ada9238907 minor: Add missing newlines and spacing to help for "debug eq" console command 2012-11-28 02:46:23 +00:00
Justin Clark-Casey (justincc)
4d98cdf829 minor: Add/correct some doc messages associated with entity teleport.
I believe UseCircuitCode is sent on EnableSimulator EQ message, rather than EstablishAgentCommunication
At least with LL 3.3.4, EstablishAgentCommunication appears unnecessary in the teleport context -
viewer still requests it though possibly only after TeleportFinish().  However, we will continue to send it.
2012-11-28 02:46:16 +00:00
Justin Clark-Casey (justincc)
547043047e minor: comment out "Registered seed capability" message for "Received SEED caps request" message for now.
I think this is more useful right now since it tells us if the viewer requested a seed caps at all in various scenarios (such as when teleporting to a new region).
2012-11-28 02:46:10 +00:00
Justin Clark-Casey (justincc)
9d3b68411a minor: Fix and elaborate on log information printed when an unrecognized estate method is received from the client. 2012-11-28 02:45:11 +00:00
Justin Clark-Casey (justincc)
470f8d3c04 Get rid of accidental scene start left in ScenePresenceAutopilotTests 2012-11-28 02:44:53 +00:00
Justin Clark-Casey (justincc)
da00b57d4b Fix problems with regression tests by allowing invoke of Update() with a finite number of frames even if the scene isn't active. 2012-11-28 02:44:45 +00:00
Justin Clark-Casey (justincc)
caedac67e0 Get Watchdog to log thread removal 2012-11-28 02:44:38 +00:00
Justin Clark-Casey (justincc)
2b5dc4eba4 Add "active true|false" to "debug scene" console command.
This allows the scene update and maintenance loops to be started and stopped for debug purposes.
2012-11-28 02:44:30 +00:00
Justin Clark-Casey (justincc)
39b8d01e71 minor: Use && instead of & when deciding whether to print Improve/ObjectUpdate packet out messages when debug is turned on.
Practical effect is probably none.
2012-11-28 02:44:23 +00:00
Justin Clark-Casey (justincc)
fca3154982 minor: Fix bug in categorization of blocks reused stat from packetpool 2012-11-28 02:44:17 +00:00
Justin Clark-Casey (justincc)
cef158c42d Remove now unnecessary OpenSim.Framework.Console reference from Monitoring.
Properly resolve circular reference which no longer appeared in Mono build as there were no using statements for it.
2012-11-28 02:44:10 +00:00
Justin Clark-Casey (justincc)
177c3bcfe6 Add AgentUpdate to PacketPool. This is the most common inbound packet from viewers. 2012-11-28 02:44:02 +00:00
Justin Clark-Casey (justincc)
35766f2c3a minor: Comment out "Client requested range for texture ... but" message. This is not useful during normal operation. 2012-11-28 02:43:55 +00:00
Justin Clark-Casey (justincc)
e175cf543c Fix percentage stats to multiply by 100. Adjust container name for packetpool stats. 2012-11-28 02:43:48 +00:00
Justin Clark-Casey (justincc)
96b0d1276e Enable reuse of data blocks for ImprovedTerseObjectUpdate using existing Packetpool code. 2012-11-28 02:43:42 +00:00
Justin Clark-Casey (justincc)
301546289e Fix build break by moving OpenSim.Framework.Console back below HttpServer in the build order.
Luckily, it turns out Framework.Monitoring doesn't need to reference Console directly.
2012-11-28 02:43:32 +00:00
Justin Clark-Casey (justincc)
813778b39e Fix packetpool for ImprovedTerseObjectUpdate packets.
These were neither being returned or in many places reused.
Getting packets from a pool rather than deallocating and reallocating reduces memory churn which in turn reduces garbage collection time and frequency.
2012-11-28 02:43:23 +00:00
Justin Clark-Casey (justincc)
6c3eceb197 Extend "show stats" command to "show stats [list|all|<category name>]"
This allows different categories of stats to be shown, with options to list categories or show all stats.
Currently categories are scene and simulator and only a very few stats are currently registered via this mechanism.
This commit also adds percentage stats for packets and blocks reused from the packet pool.
2012-11-28 02:43:11 +00:00
Justin Clark-Casey (justincc)
0afc43eed7 Assign endVector before control leaves ObjectCommandsModule.TryParseVectorRange() in order to fix mono 2.4.3 compile failure.
This doesn't fail the compile on mono 2.10.8.
2012-11-28 02:42:56 +00:00
Justin Clark-Casey (justincc)
6eb260d4eb Add "delete object pos <start-coord> to <end-coord>" console command.
This allows one to delete objects within a certain volume.
See help on console for more details.
2012-11-28 02:42:44 +00:00
Justin Clark-Casey (justincc)
63f1efc414 minor: Add method doc to EventManager.OnNewClient, OnClientLogin, ClientClosed, OnRemovePresence that any long-running operations should be launched on a thread separate to the event thread. 2012-11-28 02:42:02 +00:00
Justin Clark-Casey (justincc)
e685f7ab68 Lock on AgentCircuitData during Scene.AddClient() and RemoveClient() to prevent an inactive connection being left behind if the user closes the viewer whilst the connection is being established.
This should remove the need to run the console command "kick user --force" when these connections are left around.
2012-11-28 02:41:55 +00:00
Justin Clark-Casey (justincc)
ac8f420adb minor: elaborate method doc on Scene.NewUserConnection() 2012-11-28 02:41:42 +00:00
SignpostMarv
fa16f132e3 string format arguments in wrong order 2012-11-28 02:36:16 +00:00
Justin Clark-Casey (justincc)
7a5782c3e3 Get rid of some unnecessary casts in RemoteAdminPlugin.
This was stopping http://code.google.com/p/opensimtools/wiki/RemoteAdminPHPClass from working with some methods (e.g. create_user).
However, this casting has been around for at least 2 years so I'm puzzled that it worked in the first place, though it probably is extremely old sample code.
2012-11-28 02:35:28 +00:00
Justin Clark-Casey (justincc)
cf98691a3d Merge branch '0.7.4-post-fixes' into 0.7.4-extended
Conflicts:
	OpenSim/Data/MySQL/MySQLXInventoryData.cs
2012-11-15 02:52:37 +00:00
Justin Clark-Casey (justincc)
09aa87ba26 Fix SceneObjectUndoRedoTests.TestNoUndoOnObjectsNotInScene by not looking up ParentGroup scale limits if part is not in a sog 2012-11-15 02:38:57 +00:00
Justin Clark-Casey (justincc)
38fb0430bf Replace old Prebuild.exe accidentally added back in f977291 with one built without <copy> nant target generation and on mono 2.4.3 2012-11-15 02:16:03 +00:00
Justin Clark-Casey (justincc)
ec82e2fde8 Replace previously updated Prebuild.exe with one built directly with mono 2.4.3 2012-11-15 02:15:53 +00:00
Justin Clark-Casey (justincc)
fba2864cbc Stop Prebuild from generating <copy> statements which unnecessarily copy files into bin/Debug or bin/Release
nant_0.91~alpha2+dfsg-3_all.deb in Ubuntu 12.04 and earlier actually ignored these due to a bug
However, nant 0.92~rc1+dfsg-2 in Ubuntu 12.10 fixes this bug (possibly https://github.com/nant/nant/pull/39).
Which makes nant time-consumingly copy these files when the aren't actually used.
Tested removal of <copy> on both nant 0.91 and nant 0.92
Will be submitting this patch to prebuild project for comment though I suspect there's nobody there to pay attention.
2012-11-15 02:15:28 +00:00
Justin Clark-Casey (justincc)
60c6d3e108 Add [AssetService] AllowRemoteDeleteAllTypes (default false).
This allows a closed grid to delete asset types other than maptile remotely.
Only operational if AllowRemoteDelete = true also.
Defaults to false - do not enable if anybody other than you can make asset service requests.
2012-11-15 02:09:31 +00:00
Justin Clark-Casey (justincc)
92f9750ded Move check to allow only deletion of maptiles up to AssetServerDeleteHandler from AssetService.
This allows us to use a common check for both AssetService and XAssetService.
It also allows future console commands to delete an asset.
As before, deletion of maptile assets is not allowed remotely unless this is explicitly configured.
2012-11-15 02:09:20 +00:00
Justin Clark-Casey (justincc)
23106bce76 Merge branch '0.7.4-post-fixes' into 0.7.4-extended 2012-11-14 02:51:44 +00:00
Justin Clark-Casey (justincc)
15acba1972 minor: Adjust method doc on IXInventoryData MoveItem() and MoveFolder() to make it clear we're moving to an existing folder. 2012-11-14 01:53:32 +00:00
Justin Clark-Casey (justincc)
909d4dca82 Update parent inventory folder version numbers when folders are moved/created/deleted to match version numbers cached by viewers.
This is done in the way that one would expect (e.g. moving a folder increments version number on both source and destination parent folders).
This should hopefully improve viewer reuse of its cached inventory information.
Currently MySQL only but will be implement for SQLite/MSSQL if there are no issues.
2012-11-14 01:53:23 +00:00
Justin Clark-Casey (justincc)
5676f1d037 Update folder version numbers when moving items and making the Delete(string[], string[]) call (not just string, string).
This is to stop viewer inventory cache version numbers becoming out of sync with grid stored numbers when viewer performs these actions.
If there are no problems with these changes, they will be propogated to SQLite (and MSSQL if that's simple enough).
May also need to do the same on folder store/create/delete and maybe propogate version increments up the folder hierarchy, but that requires investigation.
2012-11-14 01:52:53 +00:00
Justin Clark-Casey (justincc)
d864d76254 Increment version number of a folder when an object it contains is deleted.
Not doing this was allowing the viewer inventory cache to become out of sync if an item was directly deleted.
2012-11-14 01:52:44 +00:00
Justin Clark-Casey (justincc)
9ff4d38cc9 Update folder version numbers when moving items and making the Delete(string[], string[]) call (not just string, string).
This is to stop viewer inventory cache version numbers becoming out of sync with grid stored numbers when viewer performs these actions.
If there are no problems with these changes, they will be propogated to SQLite (and MSSQL if that's simple enough).
May also need to do the same on folder store/create/delete and maybe propogate version increments up the folder hierarchy, but that requires investigation.
2012-11-08 21:16:49 +00:00
Justin Clark-Casey (justincc)
8dadbf706d Increment version number of a folder when an object it contains is deleted.
Not doing this was allowing the viewer inventory cache to become out of sync if an item was directly deleted.
2012-11-08 21:16:42 +00:00
Justin Clark-Casey (justincc)
ff968cbe43 refactor: Rename UserSessioNID -> UserSession in WebStatsModule since this is what it actually represents 2012-10-11 00:22:37 +01:00
Justin Clark-Casey (justincc)
582540657f Make UserSessionID a class rather than a struct, so that later updates to value suceed (rather than having to pull the data out and reinsert back into the Dictionary).
Fixes http://opensimulator.org/mantis/view.php?id=6338
2012-10-11 00:22:30 +01:00
Justin Clark-Casey (justincc)
05eeee6ee8 Add MaxPrimsUndo config setting to [Startup] section of OpenSim.ini.
This controls how many undo steps the simulator will store for each prim.
Default is now 20 rather than 5 as it briefly was.
The default number could be increased through this is a memory tradeoff which will scale with the number of prims in the sim and level of activity.
2012-10-11 00:22:23 +01:00
Justin Clark-Casey (justincc)
cd6f3b147d Don't store undo states if a scene object is manipulated when it is not in a scene.
Adds regression test for this.
2012-10-11 00:22:16 +01:00
Justin Clark-Casey (justincc)
86f519ba57 refactor: Change control structures in SOP.StoreUndoState() to reduce nesting. 2012-10-11 00:22:10 +01:00
Justin Clark-Casey (justincc)
febc6bae30 Make it possible to rescale SOGs when they are not in a scene. 2012-10-11 00:22:03 +01:00
Justin Clark-Casey (justincc)
48f818bf07 Enforce existing 5 action hardcoded undo limit.
This was present in the code but not enforced, which led to a memory leak over time as part properties were changed, whether by viewer, script or another source.
This commit enforces that limit, which will soon become configurable.
Regression test for undo limit added
Should help with http://opensimulator.org/mantis/view.php?id=6279
2012-10-11 00:21:56 +01:00
Justin Clark-Casey (justincc)
c2d21bb8cc Add basic undo/redo regression tests. 2012-10-11 00:21:49 +01:00
Justin Clark-Casey (justincc)
39fe1ba028 Fix very recently introduced race condition where a CreateNewItem outracing an UploadAsset request could throw an exception because m_asset did not yet exist.
This was accidentally introduced in 4fc0cfb
This commit also consistently removes the AssetXferUploader when the transaction completes, no matter if it completed on asset upload or item operation.
The amount of data being retained was small, since this was clothing/bodypart metadata in the asset rather than textures themselves.
2012-10-11 00:21:39 +01:00
Justin Clark-Casey (justincc)
7112e860dc Comment out old m_storeLocal from AssetXferUploader.
This was only used if none of new item, update item or update task item had been set.
But since all transactions go through these paths this old code is redundant.
2012-10-11 00:21:30 +01:00
Justin Clark-Casey (justincc)
4606137882 Insert transaction ID into AssetXferUploader constructor rather than at UploadAsset() to prevent item creation failure when NewInventoryItem thread reachs the object first.
This was preventing the previous race condition fix in 4fc0cfb from actually working.
This commit also removes some of the pointless transaction id checks - these conditions are already being enforced in AgentAssetsTransactions.
2012-10-11 00:21:22 +01:00
Justin Clark-Casey (justincc)
8eab6b7701 Move UDP update task item code to AssetXferUploader to match existing create user item and update user item mechanisms
This is done for consistency and to allow removal or some access methods that increase code complexity.
However, this path has not been used for a long time, not even by LL 1.23 - viewers use caps http upload for this instead
2012-10-11 00:21:16 +01:00
Justin Clark-Casey (justincc)
71cd68eec1 Fix occasional race condition failure when creating new clothing/body parts in the viewer or updating existing assets.
On creating these items, the viewer sends a UDP AssetUploadRequest followed by a CreateInventoryItem.
It was possible for the CreateInventoryItem/UpdateInventoryItem to occasionally outrace the AssetUploadRequest and fail to find an initialized Xfer object, at which point the item create would fail.
So instead we always set up a Xfer object on either the asset or inventory item update request.
This does not introduce a new race because code already exists to delay the item operation until the asset is uploaded if necessary (but this only worked if the xfer object already existed)
2012-10-11 00:21:08 +01:00
Justin Clark-Casey (justincc)
168c3b78f4 Fix llListFindList() returning no match when there is a match with a script constant component in the source list.
Adds regression test for this case.
Based on http://opensimulator.org/mantis/view.php?id=6156
Thanks SignpostMarv.
2012-10-11 00:21:01 +01:00
Justin Clark-Casey (justincc)
d175e49e15 refactor: Rename UserSessioNID -> UserSession in WebStatsModule since this is what it actually represents 2012-10-10 23:55:51 +01:00
Justin Clark-Casey (justincc)
79624d762e Make UserSessionID a class rather than a struct, so that later updates to value suceed (rather than having to pull the data out and reinsert back into the Dictionary).
Fixes http://opensimulator.org/mantis/view.php?id=6338
2012-10-10 23:55:39 +01:00
Justin Clark-Casey (justincc)
3ec9eec257 Fix bug in implementation of "show part pos" that would not filter probably.
Also refactors more of ObjectCommandsModule to remove duplicate code
2012-10-10 23:55:18 +01:00
Justin Clark-Casey (justincc)
e5ac4a72b7 Add "show part pos" console command to match "show object pos" 2012-10-10 23:55:12 +01:00
Justin Clark-Casey (justincc)
470ea6cf70 refactor: eliminate some now duplicate code in ObjectCommandsModule 2012-10-10 23:55:06 +01:00
Justin Clark-Casey (justincc)
45dc7ac7d1 Add Vector3.Zero return on TryParseConsoleVector() which fails on mono 2.4.3 but not mono 2.10.9 2012-10-10 23:54:58 +01:00
Justin Clark-Casey (justincc)
2905eaa8ff Add missing ConsoleUtil from last commit 2012-10-10 23:54:51 +01:00
Justin Clark-Casey (justincc)
deb068050b Add "show object pos <start-coord> to <end-coord>" command to simulator console.
This allows you to display details of all objects in a given bounding box.
Values parts of the co-ord can be left out as appropriate (e.g. to get all objects between the ground and z=30.
See "help show object pos" for more details.
2012-10-10 23:54:44 +01:00
Justin Clark-Casey (justincc)
8f803c5a7d Finally fix build break by allowing UserManagementModule (which constructs a packet directly) to reference OpenSim.Region.ClientStack.LindenUDP.
This time I actually properly did a clean build
2012-10-10 23:54:36 +01:00
Justin Clark-Casey (justincc)
601c7998eb Print number of objects found with "show object name" and "show part name" simulator console commands 2012-10-10 23:54:27 +01:00
Justin Clark-Casey (justincc)
5a686d40de Forgot to actually remove the packetpool set code from scene. 2012-10-10 23:54:19 +01:00
Justin Clark-Casey (justincc)
57837a1e81 Read PacketPool config in LLUDPServer with other config params rather than in Scene.
This is to resolve previous build break.
This unnecessarily but harmlessly reads and sets the parameter multiple times - scene was doing the same thing.
2012-10-10 23:54:13 +01:00
Justin Clark-Casey (justincc)
5162ebd2cc refactor: Move OpenSim.Framework.PacketPool to OpenSim.Region.Clientstack.Linden.UDP
This is to allow it to use OpenSim.Framework.Monitoring in the future.
This is also a better location since the packet pool is linden udp specific
2012-10-10 23:54:04 +01:00
Justin Clark-Casey (justincc)
1f869ab36d Output monitor data in response to console command on MainConsole.Instance rather than m_log
This should really be happening for all console commands (though many don't).
However, things might get difficult if both a console command and other code invoke the same paths.
2012-10-10 23:53:29 +01:00
Justin Clark-Casey (justincc)
e912e52e15 Add generic PercentageStat.
Not yet used.
2012-10-10 23:53:21 +01:00
Justin Clark-Casey (justincc)
14b0c03d5b Add experimental "slow frames" stat, available in "show stats" and via the monitoring module.
This increments a SlowFrames counter if a frame takes over 120% of maximum time.
This commit also introduces a generic OpenSim.Framework.Monitoring.Stat which is available to any code that wants to register a statistic.
This is more granualar than asking objects to create their own reports.
At some point this will supersede earlier IMonitor and IAlert facilities in MonitoringModule which are only available to scene code.
2012-10-10 23:52:59 +01:00
Justin Clark-Casey (justincc)
8414ec9429 Fix bug where debug http level 6 could not be specified. Also converts newlines at this level to '\n' to enable them to be logged. 2012-10-10 23:51:20 +01:00
Justin Clark-Casey (justincc)
ac03b1b82f Add MaxPrimsUndo config setting to [Startup] section of OpenSim.ini.
This controls how many undo steps the simulator will store for each prim.
Default is now 20 rather than 5 as it briefly was.
The default number could be increased through this is a memory tradeoff which will scale with the number of prims in the sim and level of activity.
2012-10-10 23:49:30 +01:00
Justin Clark-Casey (justincc)
d5c999553e Don't store undo states if a scene object is manipulated when it is not in a scene.
Adds regression test for this.
2012-10-10 23:47:34 +01:00
Justin Clark-Casey (justincc)
371df42d3f refactor: Change control structures in SOP.StoreUndoState() to reduce nesting. 2012-10-10 23:47:15 +01:00
Justin Clark-Casey (justincc)
a4a0396850 Make it possible to rescale SOGs when they are not in a scene. 2012-10-10 23:46:58 +01:00
Justin Clark-Casey (justincc)
83ad75b997 Enforce existing 5 action hardcoded undo limit.
This was present in the code but not enforced, which led to a memory leak over time as part properties were changed, whether by viewer, script or another source.
This commit enforces that limit, which will soon become configurable.
Regression test for undo limit added
Should help with http://opensimulator.org/mantis/view.php?id=6279
2012-10-10 23:39:14 +01:00
Justin Clark-Casey (justincc)
3f45d4ba9d Add basic undo/redo regression tests. 2012-10-10 23:39:02 +01:00
Justin Clark-Casey (justincc)
2fa8bc201a Fix very recently introduced race condition where a CreateNewItem outracing an UploadAsset request could throw an exception because m_asset did not yet exist.
This was accidentally introduced in 4fc0cfb
This commit also consistently removes the AssetXferUploader when the transaction completes, no matter if it completed on asset upload or item operation.
The amount of data being retained was small, since this was clothing/bodypart metadata in the asset rather than textures themselves.
2012-10-10 23:38:39 +01:00
Justin Clark-Casey (justincc)
e6b99ec849 Comment out old m_storeLocal from AssetXferUploader.
This was only used if none of new item, update item or update task item had been set.
But since all transactions go through these paths this old code is redundant.
2012-10-10 23:38:26 +01:00
Justin Clark-Casey (justincc)
e5c665384c Insert transaction ID into AssetXferUploader constructor rather than at UploadAsset() to prevent item creation failure when NewInventoryItem thread reachs the object first.
This was preventing the previous race condition fix in 4fc0cfb from actually working.
This commit also removes some of the pointless transaction id checks - these conditions are already being enforced in AgentAssetsTransactions.
2012-10-10 23:37:59 +01:00
Justin Clark-Casey (justincc)
5bb1273b3d Move UDP update task item code to AssetXferUploader to match existing create user item and update user item mechanisms
This is done for consistency and to allow removal or some access methods that increase code complexity.
However, this path has not been used for a long time, not even by LL 1.23 - viewers use caps http upload for this instead
2012-10-10 23:37:52 +01:00
Justin Clark-Casey (justincc)
5629f5141e Fix occasional race condition failure when creating new clothing/body parts in the viewer or updating existing assets.
On creating these items, the viewer sends a UDP AssetUploadRequest followed by a CreateInventoryItem.
It was possible for the CreateInventoryItem/UpdateInventoryItem to occasionally outrace the AssetUploadRequest and fail to find an initialized Xfer object, at which point the item create would fail.
So instead we always set up a Xfer object on either the asset or inventory item update request.
This does not introduce a new race because code already exists to delay the item operation until the asset is uploaded if necessary (but this only worked if the xfer object already existed)
2012-10-10 23:37:29 +01:00
SignpostMarv
15aef01b34 Documenting object-related events 2012-10-10 23:37:14 +01:00
SignpostMarv
67a010298f Documenting LSL script-related events 2012-10-10 23:37:05 +01:00
SignpostMarv
7c398a532b Documenting non-LSL script-related events 2012-10-10 23:36:43 +01:00
Justin Clark-Casey (justincc)
eefd39a0d5 Fix llListFindList() returning no match when there is a match with a script constant component in the source list.
Adds regression test for this case.
Based on http://opensimulator.org/mantis/view.php?id=6156
Thanks SignpostMarv.
2012-10-10 23:36:10 +01:00
Justin Clark-Casey (justincc)
176b1c85c0 minor: Make slow outgoing request log messages consistent with other log messages 2012-10-10 23:35:45 +01:00
Justin Clark-Casey (justincc)
2da6cfde80 Rename UuidGather.m_assetCache to m_assetService. If HGUuidGatherer hasn't been instantiated with an assetServerURL then call down to overriden UuidGatherer.GetAsset() instead of calling m_assetService.GetAsset() itself - these two codepaths are now identical. 2012-10-10 23:35:35 +01:00
Justin Clark-Casey (justincc)
8068c083f6 Simplify UuidGatherer by performing asset fetch synchronously rather than using the async call but waiting for completion anyway! 2012-10-10 23:35:27 +01:00
Justin Clark-Casey (justincc)
bbe04aab95 Lock GDI+ portion og VectorRenderModule.GetDrawStringSize() to prevent concurrent thread use provoking mono crashes.
Same rationale as commit 13690582.
2012-09-28 02:38:51 +01:00
Justin Clark-Casey (justincc)
d31a951d94 Lock GDI+ portion og VectorRenderModule.GetDrawStringSize() to prevent concurrent thread use provoking mono crashes.
Same rationale as commit 13690582.
2012-09-28 02:37:50 +01:00
Justin Clark-Casey (justincc)
c27a158961 Don't fail to create an IRC nick if nick randomization is disabled in the IRC module.
Patch from http://opensimulator.org/mantis/view.php?id=6293
Thanks Starflower.
2012-09-28 00:12:54 +01:00
SignpostMarv
068e97cf0e Documentation of teleport-related events 2012-09-28 00:12:48 +01:00
SignpostMarv
aa45d831f3 minor tweaks to existing comments for IDE goodness 2012-09-28 00:12:40 +01:00
SignpostMarv
eff8448154 Documentation of agent-related events 2012-09-28 00:12:32 +01:00
SignpostMarv
badd7f1578 Documentation of object-related events 2012-09-28 00:12:24 +01:00
SignpostMarv
e12cb7bca9 Documentation of OnPluginConsole 2012-09-28 00:12:17 +01:00
Justin Clark-Casey (justincc)
23fe2a2103 Make ResendAppearanceUpdates = true by default in [Appearance] in OpenSimDefaults.ini.
This resends appearance uuids to avatars in the scene once a minute.
I have seen this help in the past resolve grey appearance problems where viewers have for unknown reasons sometimes ignored the packet.
The overhead is very small since only the UUIDs are sent - the viewer then requests the texture only if it does not have it cached.
This setting will not help with cloudy avatars which are usually due to the viewer not uploading baked texture data or uploading something that isn't valid JPEG2000
2012-09-27 23:55:15 +01:00
Justin Clark-Casey (justincc)
e684e426af Add openmetaverse_data from libopenmetaverse to allow testing of texture baking via bot rather than just throwing out errors 2012-09-27 23:54:59 +01:00
Justin Clark-Casey (justincc)
e65959b6f7 Add basic asset connector tests to check behaviour for normal, local and temporary assets.
Make AssetServiceConnector return more useful data on failure, such as what DLL it was trying to load
Allow LocalAssetServiceConnector.GetData() to work without a cache present, as works for the other lasc Get* methods.
2012-09-27 23:54:40 +01:00
Justin Clark-Casey (justincc)
8041af6d18 For FlotsamAssetCache, always update access times of cached scene assets before looking for files to expire.
This is to resolve a problem where an asset marked as local but not temporary but still used in the scene would be removed.
The timed expiry scan no longer tries to refetch assets from the scene that are not currently in the cache - this is not helpful since it just drags a lot of data into the cache that may never be referenced.
This removes the DeepScanBeforePurge option since setting this to false will introduce the above problem.  This previously had a default of true.
2012-09-27 23:54:32 +01:00
SignpostMarv
56873b319b Documentation of parcel-related events
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-27 23:54:13 +01:00
SignpostMarv
b315fab771 correcting a typo that causes c# express to complain about xml comment containing invalid xml
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-27 23:54:05 +01:00
Justin Clark-Casey (justincc)
05342ed677 minor: Comment out friends notification log spam for now. 2012-09-27 23:53:47 +01:00
SignpostMarv
487bf31e06 documentation (OnSceneObjectPartCopy) 2012-09-27 23:53:20 +01:00
SignpostMarv
6f3b2ea632 documentation (OnRemovePresence) 2012-09-27 23:53:12 +01:00
SignpostMarv
307fdeff78 documentation (OnNewPresence) 2012-09-27 23:53:00 +01:00
SignpostMarv
8df3edcc30 documentation (OnClientConnect) 2012-09-27 23:52:51 +01:00
SignpostMarv
a43e282efa documentation (OnBackup) 2012-09-27 23:52:34 +01:00
SignpostMarv
7374690957 documentation (OnTerrainTick) 2012-09-27 23:52:26 +01:00
SignpostMarv
0c69575670 documentation (OnTerrainTainted) 2012-09-27 23:52:19 +01:00
SignpostMarv
148cad1976 documentation (OnClientMovement) 2012-09-27 23:52:08 +01:00
SignpostMarv
7db4e00b14 Documenting some of the events on OpenSim.Region.Framework.Scenes.EventManager (OnFrame) 2012-09-27 23:51:15 +01:00
BlueWall
a00f745eba Add file to .gitignore
Add OpenSim.userprefs which is created by Monodevelop to .gitignore
2012-09-27 23:50:53 +01:00
SignpostMarv
9ae335fafc adding documentation to script invokation methods 2012-09-27 23:49:06 +01:00
Justin Clark-Casey (justincc)
6bd7639d66 Also do other MySQL region settings related calls under m_dbLock, in common with other calls. 2012-09-27 23:48:51 +01:00
Justin Clark-Casey (justincc)
c336309234 Do Windlight storage and removal calls in MySQL under m_dbLock, as is done with all the other database calls. 2012-09-27 23:48:45 +01:00
SignpostMarv
41d217321d fixing bug where last element in list is ignored 2012-09-27 23:48:27 +01:00
Justin Clark-Casey (justincc)
2226dd1efb Revert "refactoring to allow Scene.GetLandData to accept Vector3 as an argument. Note that the prior work on LSL_Vector implicit operators means one does not need to explicitly cast a LSL_Vector to Vector3"
This reverts commit f8612b0d1b.
2012-09-27 23:29:47 +01:00
Justin Clark-Casey (justincc)
44699b07e4 Comment out the long unused afaik HTTP agent handlers.
As far as I know, this was only used by the IBM Rest modules, much of which has been commented out for a very long time now.  Other similar code uses HTTP or stream handlers instead.
So commenting this out to reduce code complexity and the need to make this facility consistent with the others where it may not be used anyway.
If this facility is actually being used then please notify me or uncomment it if you are core.
2012-09-27 23:24:40 +01:00
Justin Clark-Casey (justincc)
6739f0752b Add request number counting to incoming HTTP requests in the same way that this was already being done for outgoing HTTP requests.
This allows us to associate debug logging messages with the right request.
It also allows us to put a request number on 'long request' logging even if other debug logging is not enabled, which gives us some idea of whether every request is suffering this problem or only some.
This is a separate internal number not associated with any incoming number in the opensim-request-id header, this will be clarified when logging of this incoming request number is re-enabled.
This commit also adds port number to HTTP IN logging to allow us to distinguish between different request numbers on different ports.
2012-09-27 23:24:32 +01:00
Justin Clark-Casey (justincc)
1ebde81d6a Insert a new log level 4 for HTTP IN and HTTP OUT that will log how long the request took.
This is only printed if debug http level >= 4 and the request didn't take more than the time considered 'long', in which case the existing log message is printed.
This displaces the previous log levels 4 and 5 which are now 5 and 6 respectively.
2012-09-27 23:24:22 +01:00
Justin Clark-Casey (justincc)
195625b5e7 Add ability to turn on/off logging of outgoing HTTP requests flowing through WebUtil.
This is for debugging purposes.
This is controlled via the "debug http" command which can already log incoming requests.
This now gains a mandatory parameter of in, out or all to control what is logged.
Log messages are also shortened and labelled and HTTP IN or HTTP OUT to be consistent with existing UDP PACKET IN and PACKET OUT messages.
2012-09-27 23:24:14 +01:00
Justin Clark-Casey (justincc)
951c2702ff Don't fail to create an IRC nick if nick randomization is disabled in the IRC module.
Patch from http://opensimulator.org/mantis/view.php?id=6293
Thanks Starflower.
2012-09-27 23:24:08 +01:00
SignpostMarv
02b90df6ff Documentation of teleport-related events 2012-09-27 23:24:01 +01:00
SignpostMarv
f7c01c8e90 minor tweaks to existing comments for IDE goodness 2012-09-27 23:23:55 +01:00
SignpostMarv
e8c964efaf Documentation of agent-related events 2012-09-27 23:23:49 +01:00
SignpostMarv
74baab6f0f Documentation of object-related events 2012-09-27 23:23:39 +01:00
SignpostMarv
bff0ea2fc3 Documentation of OnPluginConsole 2012-09-27 23:23:33 +01:00
Justin Clark-Casey (justincc)
e474c19c40 Make ResendAppearanceUpdates = true by default in [Appearance] in OpenSimDefaults.ini.
This resends appearance uuids to avatars in the scene once a minute.
I have seen this help in the past resolve grey appearance problems where viewers have for unknown reasons sometimes ignored the packet.
The overhead is very small since only the UUIDs are sent - the viewer then requests the texture only if it does not have it cached.
This setting will not help with cloudy avatars which are usually due to the viewer not uploading baked texture data or uploading something that isn't valid JPEG2000
2012-09-27 23:23:27 +01:00
Justin Clark-Casey (justincc)
a2a81f1bb7 Update libopenjpeg libraries used by libopenmetaverse back up to 1.5, this time using lkalif's linux libraries built against a much earlier libc (2.7) 2012-09-27 23:23:18 +01:00
Justin Clark-Casey (justincc)
c291284629 Downgrade libopenjpeg back to 1.3 from 1.5.
This is because libopenjpeg 1.5 appears to require a minimum of glibc 2.14, whereas at least one fairly recent distro (openSUSE 11.4 from 2011-03-10) only has glibc
Further investigation pending.
2012-09-27 23:23:11 +01:00
Justin Clark-Casey (justincc)
7f7ad71def Add openmetaverse_data from libopenmetaverse to allow testing of texture baking via bot rather than just throwing out errors 2012-09-27 23:23:05 +01:00
justincc
7dfc0f30cc Update libopenmetaverse components to commit f5cecaa
Among other things this allows pCampbot to work under Windows since libopenmateverse now ships the same log4net.dll (publicly signed) as OpenSimulator
This also updates the libopenmetaverse embedded libopenjpeg from 1.3 to 1.5.
DLL naming and mapping for non-Windows libopenjpeg changes to remove version number to make future udpates easier and bring it into line with names of other shipped DLLs.
libopenjpeg updates have been made for OSX, Windows (32 and 64 bit) and Linux (32 and 64 bit).  Please report any issues.
2012-09-27 23:22:57 +01:00
Justin Clark-Casey (justincc)
c14e67a8bb Add basic asset connector tests to check behaviour for normal, local and temporary assets.
Make AssetServiceConnector return more useful data on failure, such as what DLL it was trying to load
Allow LocalAssetServiceConnector.GetData() to work without a cache present, as works for the other lasc Get* methods.
2012-09-27 23:21:19 +01:00
Justin Clark-Casey (justincc)
75b7e6009a For FlotsamAssetCache, always update access times of cached scene assets before looking for files to expire.
This is to resolve a problem where an asset marked as local but not temporary but still used in the scene would be removed.
The timed expiry scan no longer tries to refetch assets from the scene that are not currently in the cache - this is not helpful since it just drags a lot of data into the cache that may never be referenced.
This removes the DeepScanBeforePurge option since setting this to false will introduce the above problem.  This previously had a default of true.
2012-09-27 23:21:12 +01:00
Justin Clark-Casey (justincc)
63df56d613 Don't store the unnecessary VERSIONMIN. VERSIONMAX, METHOD or UserID (present as column PrincipalID) parameters in the Avatars table.
These are used to invoke avatar service calls but are not in themselves persistable avatar data.
2012-09-27 23:20:42 +01:00
SignpostMarv
f2e1f3e659 Documentation of parcel-related events
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-27 23:20:28 +01:00
SignpostMarv
b1b7d3b004 correcting a typo that causes c# express to complain about xml comment containing invalid xml
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-27 23:20:21 +01:00
Justin Clark-Casey (justincc)
f2c12d4fba Fix usage statement on "debug http" console command since max level is now 5 rather than 3 2012-09-27 23:20:10 +01:00
Justin Clark-Casey (justincc)
3a60c9c8c8 Fix bug in logging sample input at debug http level 4.
Also converts newlines to "\n" text.
2012-09-27 23:20:04 +01:00
Justin Clark-Casey (justincc)
44cd864205 minor: Comment out friends notification log spam for now. 2012-09-27 23:19:53 +01:00
SignpostMarv
f70d7013a5 Documentation of economy-related EventManager events 2012-09-27 23:19:41 +01:00
Mic Bowman
ac1e902d59 Allow an incoming identifier to be specified for a JsonStore. 2012-09-27 23:18:37 +01:00
Justin Clark-Casey (justincc)
b67bdee3cf Make "show http-handlers" command available for ROBUST instances as well as the simulator executable. 2012-09-27 23:18:08 +01:00
Justin Clark-Casey (justincc)
83d4fa98f0 Add levels 4 and 5 to "debug http" console command that will log a sample of incoming request data and the entire incoming data respectively.
See "help debug http" for more details.
2012-09-27 23:17:59 +01:00
SignpostMarv
70a968b342 documentation (OnSceneObjectPartCopy) 2012-09-27 23:17:53 +01:00
SignpostMarv
8e576f7511 documentation (OnRemovePresence) 2012-09-27 23:17:44 +01:00
SignpostMarv
4526424436 documentation (OnNewPresence) 2012-09-27 23:17:38 +01:00
SignpostMarv
fd43620e87 documentation (OnClientConnect) 2012-09-27 23:17:32 +01:00
SignpostMarv
56b8d331cb documentation (OnBackup) 2012-09-27 23:17:24 +01:00
SignpostMarv
14bfba8b3b documentation (OnTerrainTick) 2012-09-27 23:17:17 +01:00
SignpostMarv
af8d3ae790 documentation (OnTerrainTainted) 2012-09-27 23:17:11 +01:00
SignpostMarv
e6bb7e99be documentation (OnClientMovement) 2012-09-27 23:17:05 +01:00
SignpostMarv
97c56adb9d Documenting some of the events on OpenSim.Region.Framework.Scenes.EventManager (OnFrame) 2012-09-27 23:16:59 +01:00
SignpostMarv
f8612b0d1b refactoring to allow Scene.GetLandData to accept Vector3 as an argument. Note that the prior work on LSL_Vector implicit operators means one does not need to explicitly cast a LSL_Vector to Vector3 2012-09-27 23:16:35 +01:00
SignpostMarv
a2a46a18ae 4096 is used in various places as the maximum height of a region, refactoring to be a constant 2012-09-27 23:16:25 +01:00
Justin Clark-Casey (justincc)
1cf888b71f Add missing DynamicTexture.cs file from last commit 2012-09-27 23:15:49 +01:00
Justin Clark-Casey (justincc)
0109603cdc If reusing dynamic textures, do not reuse small data length textures that fall below current viewer discard level 2 thresholds.
Viewer LL 3.3.4 and before sometimes fail to properly redisplay dynamic textures that have a small data length compared to pixel size when pulled from cache.
This appears to happen when the data length is smaller than the estimate discard level 2 size the viewer uses when making this GetTexture request.
This commit works around this by always regenerating dynamic textures that fall below this threshold rather than reusing them if ReuseDynamicTextures = true
This can be controlled by the [Textures] ReuseDynamicLowDataTextures config setting which defaults to false.
2012-09-27 23:15:43 +01:00
SignpostMarv
c7c750d127 adding utility method for getting SceneObjectGroup from scene
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-27 23:15:30 +01:00
SignpostMarv
b738b50cd6 adding utility method for getting SceneObjectPart from scene
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-27 23:15:23 +01:00
SignpostMarv
351daf90f1 pasting in show uptime code
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-09-27 23:15:07 +01:00
BlueWall
19d9acf63a Add file to .gitignore
Add OpenSim.userprefs which is created by Monodevelop to .gitignore
2012-09-27 23:14:52 +01:00
Justin Clark-Casey (justincc)
eb40d3b6fc If the GetTexture capability receives a request for a range of data beyond that of an otherwise valid asset, return HTTP PartialContent rather than RequestedRangeNotSatisfiable.
This is because recent viewers (3.2.1, 3.3.4) and probably earlier ones using the http GetTexture capability will sometimes make such invalid range requests.
This appears to happen if the viewer's estimate of texture sizes at discard levels > 0 (chiefly 2) exceeds the total texture size.
I believe this does not normally happen but can occur for dynamic textures with are large but mainly blank.
If this happens, returning a RequestedRangeNotSatisfiable will cause the viewer to not render the texture at the final resolution.
However, returning a PartialContent (or OK) even with 0 data will allow the viewer to render the final texture.
2012-09-27 23:14:39 +01:00
BlueWall
f5da23d9db Fix Windows build
Add reference to fix Windows build: no windows here to test, please report any issues back to IRC #opensim-dev ASAP
2012-09-27 23:13:56 +01:00
SignpostMarv
b412bce095 adding documentation to script invokation methods 2012-09-27 23:13:11 +01:00
Justin Clark-Casey (justincc)
0b57ddd753 Also do other MySQL region settings related calls under m_dbLock, in common with other calls. 2012-09-27 23:12:58 +01:00
Justin Clark-Casey (justincc)
d0a6d82a23 Do Windlight storage and removal calls in MySQL under m_dbLock, as is done with all the other database calls. 2012-09-27 23:12:48 +01:00
Justin Clark-Casey (justincc)
ba2792bd1f Make ReuseDynamicTextures an experimental config setting in [Textures]. Default is false, as before.
If true, this setting reuses dynamically generated textures (i.e. created through osSetDynamicTextureData() and similar OSSL functions) where possible rather than always regenerating them.
This results in much quicker updates viewer-side but may bloat the asset cache (though this is fixable).
Also, sometimes issue have been seen where dynamic textures do not transfer to the viewer properly (permanently blurry).
If this happens and that flag is set then they are not regenerated, the viewer has to clear cache or wait for 24 hours before all cached uuids are invalidated.
CUrrently experimental.  Default is false, as before.
2012-09-27 23:12:39 +01:00
Justin Clark-Casey (justincc)
3f8c09e006 If the compile-time DynamicTextureModule.ReuseTextures flag is set, check metadata still exists for any reused asset in case some other process has removed it from the cache. 2012-09-27 23:12:32 +01:00
SignpostMarv
8f39268761 fixing bug where last element in list is ignored 2012-09-27 23:12:24 +01:00
Justin Clark-Casey (justincc)
cd8c8d78a9 Renaming existing 'torture' tests to 'performance' tests instead, since this better matches what they really do.
nant target name changes to test-perf instead of torture, to match test-stress
still not run by default
2012-09-27 23:11:55 +01:00
Justin Clark-Casey (justincc)
980678846d Add VectorRenderModuleStressTests that contains a long running test that generates thousands of vector textures concurrently.
Intended for use if there are future issues with mono crashes whilst generate dynamic textures.
This test is triggered via a new test-stress nant target.
Not run by default.
2012-09-27 23:11:44 +01:00
Justin Clark-Casey (justincc)
9a92d8d57e Add experimental DynamicTextureModule.ReuseTextures flag, currently only configurable on compile.
Disabled (status quo) by default.
This flag makes the dynamic texture module reuse cache previously dynamically generated textures given the same input commands and extra params for 24 hours.
This occurs as long as those commands would always generate the same texture (e.g. they do not contain commands to fetch data from the web).
This makes texture changing faster as a viewer-cached texture uuid is sent and may reduce simulator load in regions with generation of lots of dynamic textures.
A downside is that this stops expiry of old temporary dynamic textures from the cache,
Another downside is that a jpeg2000 generation that partially failed is currently not regenerated until restart or after 24 hours.
2012-09-27 23:11:10 +01:00
Justin Clark-Casey (justincc)
b155c601d7 Add IDynamicTextureManager.ConvertData() to match AsyncConvertData(). Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method. 2012-09-27 23:11:04 +01:00
Justin Clark-Casey (justincc)
536f2c085a minor: Simplify return of vector render module name and some very minor removal of unncessary syntax clutter 2012-09-27 23:10:08 +01:00
SignpostMarv
2602d4f16e refactoring using List.ConvertAll<string> 2012-09-27 23:05:50 +01:00
SignpostMarv
174addc426 adding a clip method to handle Vector3 objects to enable a minor amount of refactoring 2012-09-27 23:00:01 +01:00
Justin Clark-Casey (justincc)
849053681e Change flavour to Extended 2012-09-27 00:57:34 +01:00
Justin Clark-Casey (justincc)
a8d8ea7990 Flip release type to post fixes 2012-09-01 00:01:01 +01:00
Justin Clark-Casey (justincc)
10e6493f9f Set flavour to release. 2012-08-31 21:39:51 +01:00
Melanie
8c4f911935 Replace SendBannedUserList with Avination's version. Untested in core. Not even test compiled. 2012-08-31 16:35:36 +01:00
Justin Clark-Casey (justincc)
62bc85b5c7 Fix regression introduced in a0d178b2 (Sat Aug 25 02:00:17 2012) where folders with asset type of 'Folder' and 'Unknown' were accidentally treated as system folders.
This prevented more than one additional ordinary folder from being created in the base "My Inventory" user folder.
Added regression test for this case.
Switched tests to use XInventoryService with mostly implemented TestXInventoryDataPlugin rather than InventoryService
Disabled TestLoadIarV0_1SameNameCreator() since this has not been working for a very long time (ever since XInventoryService) started being used
since it doesnt' preserve creator data in the same way as InventoryService did and so effectively lost the OSPAs.
However, nobody noticed/complained about this issue and OSPAs have been superseded by HG like creator information via the --home save oar/iar switch.
2012-08-31 16:29:57 +01:00
SignpostMarv
76eba917f9 copying documentation from http://opensimulator.org/wiki/Threat_level 2012-08-31 16:29:46 +01:00
SignpostMarv
84a046eaf5 adding some files to .gitignore that get generated when debugging in c# express with OpenSim.32BitLaunch as the startup project 2012-08-31 16:29:40 +01:00
Justin Clark-Casey (justincc)
8d1d314f49 Add VectorRenderModule.TestRepeatSameDrawDifferentExtraParams() 2012-08-31 16:29:22 +01:00
Justin Clark-Casey (justincc)
9395f12584 Add VectorRenderModuleTests.TestRepeatDrawContainingImage() 2012-08-31 16:29:16 +01:00
Justin Clark-Casey (justincc)
b97f58d597 Add VectorRenderModuleTests.TestRepeatDraw() 2012-08-31 16:29:09 +01:00
Justin Clark-Casey (justincc)
30c36a3960 Following on from f8a89a79, do not allow more than one 'type' folder (e.g. calling cards) to be created in the base "My Inventory" user folder.
This is to accomodate situations where viewers will create more than one 'type' subfolder (e.g. calling cards)
But at the same time to prevent multiple such 'system' folders (those in the base "My Inventory" user folder).
This also makes GetFolderForType() only return a folder in the base "My Inventory" folder, if such a type folder exists
2012-08-31 16:28:20 +01:00
Justin Clark-Casey (justincc)
206eccc2b6 Allow multiple calling card type inventory folders to be created.
Modern viewers want to create Friends and All folders of this type inside the root Calling Cards folder.
2012-08-31 16:28:13 +01:00
Justin Clark-Casey (justincc)
2358a623e3 minor: Fix bad log message for failure to create an inventory folder 2012-08-31 16:28:04 +01:00
Justin Clark-Casey (justincc)
87850bd6dc Log initial script startup info notice when xengine actually starts to do this for debugging purposes, rather than before it actually starts to do this. 2012-08-31 16:27:54 +01:00
Justin Clark-Casey (justincc)
d80eda202f Extend "Restarting scripts in attachments" debug log message to show actual name of user and the region they are in 2012-08-24 22:57:18 +01:00
Justin Clark-Casey (justincc)
3edfa585ec If a connecting scene presence is replacing an existing scene presence then bypass close checks. 2012-08-24 22:43:14 +01:00
Justin Clark-Casey (justincc)
fa13a6a8da Bump version number to 0.7.4-rc2 2012-08-24 22:07:58 +01:00
Justin Clark-Casey (justincc)
9d5e7c89d9 Pass the "attachToBackup" bool given to SceneGraph.AddNewSceneObject() down into the 3-parameter AddNewSceneObject() method instead of always hardcoding true.
This doesn't affect any core OpenSimulator code since all callers were passing true anyway
But it allows region modules to create objects that are never persisted.
2012-08-24 21:53:57 +01:00
SignpostMarv
590bf0bcc0 adding sqlite journal files to .gitignore 2012-08-24 21:53:46 +01:00
Justin Clark-Casey (justincc)
b199a2dea3 If a script state save fails for some reason on shutdown/region removal, get xengine to spit out some useful information and continue to save other script states 2012-08-24 21:53:22 +01:00
Justin Clark-Casey (justincc)
f1d4b8d83e Add an [HGAssetService] section to SQLiteStandalone.ini with the same connection string as [AssetService].
This is necessary because commit 8131a24 (Tue Mar 27 10:08:13 2012) started passing the config section name rather than hardcoding "AssetService"
This meant that the HG external-facing asset service tried to read ConnectionString from [HGAssetService] rather than [AssetService].
On SQLite, not finding this meant that it fell back to [DatabaseService], which is set for OpenSim.db rather than Asset.db.
Therefore, all external asset requests returned null.
Solution taken here is to create an [HGAssetService] section with the same ConnectionString as [AssetService].
This bug does not affect normal MySQL/MSSQL config since they use the [DatabaseService] connection string anyway.
Addresses http://opensimulator.org/mantis/view.php?id=6200, many thanks to DanBanner for identifying the exact problem commit which was very helpful.
This was a regression from OpenSimulator 0.7.3.1 which did not contain this bug.
2012-08-24 21:53:12 +01:00
Justin Clark-Casey (justincc)
0088661356 Lock disposal of separate gdi+ objects under different threads since this prevents malloc heap corruption seen under Ubuntu 10.04.1 and 11.04 - probably a libcairo issue
In testing, it appears that if multiple threads dispose of separate GDI+ objects simultaneously,
the native malloc heap can become corrupted, possibly due to a double free().  This may be due to
bugs in the underlying libcairo used by mono's libgdiplus.dll on Linux/OSX.  These problems were
seen with both libcario 1.10.2-6.1ubuntu3 and 1.8.10-2ubuntu1.  They go away if disposal is perfomed
under lock.
2012-08-24 21:53:01 +01:00
Justin Clark-Casey (justincc)
1a7e3cabc0 Fix bug in SoundModule.PlayAttachedSound() where every sound update to an avatar would base its gain calculation on the previous avatar's gain, instead of the original input gain
This is similar to commit d89faa which fixed the same kind of bug in TriggerSound()
2012-08-24 21:52:51 +01:00
Justin Clark-Casey (justincc)
132d701b3e Tighten up OpenSim.Framework.Cache locking to avoid race conditions.
This is to resolve a reported issue in http://opensimulator.org/mantis/view.php?id=6232
Here, the land management module is using OpenSim.Framework.Cache (the only code to currently do so apart from the non-default CoreAssetCache).
2012-08-24 21:52:30 +01:00
Justin Clark-Casey (justincc)
3b97241716 Add --force flag to "kick user" console command to allow bypassing of recent race condition checks.
This is to allow a second attempt to remove an avatar even if "show connections" shows them as already inactive (i.e. close has already been attempted once).
You should only attempt --force if a normal kick fails.
This is partly for diagnostics as we have seen some connections occasionally remain on lbsa plaza even if they are registered as inactive.
This is not a permanent solution and may not work anyway - the ultimate solution is to stop this problem from happening in the first place.
2012-08-24 21:52:21 +01:00
Melanie
f82d090df3 Fix llDialog responses so that they can be heard throughout the region. This now conforms to the behaviour in SL. 2012-08-24 21:52:12 +01:00
Justin Clark-Casey (justincc)
7399d3e953 When reporting a thread timeout, create a copy of the info rather than passing the original ThreadWatchdogInfo structure.
This is to avoid the possibility of misleading reporting if a watchdog update outraces an alarm.
Should address any remaining issues from http://opensimulator.org/mantis/view.php?id=6012
2012-08-24 21:51:03 +01:00
Justin Clark-Casey (justincc)
cab546ecee Add information to ThreadStackSize about possibly increasing if suffering StackOverflowExceptions during script conversion/compilation (e.g. on Windows 64-bit) 2012-08-24 21:50:49 +01:00
Justin Clark-Casey (justincc)
7dc1c7d841 minor: Make xengine debug message on script load a scripting loading message instead.
This is more useful if compilation fails due to an uncatchable exception since we know what was being compiled.
2012-08-24 21:50:40 +01:00
Robert Adams
fbff51f387 Correct an exception report in SceneObjectPart so it outputs the stack. 2012-08-24 21:50:03 +01:00
SignpostMarv
b714fb0c39 Implementing PRIM_LINK_TARGET in a non-recursive fashion 2012-08-24 21:49:44 +01:00
Justin Clark-Casey (justincc)
f37038013d Don't enable the thread watchdog until all regions are ready.
This is to avoid false positives when the machine is under heavy load whilst starting up.
2012-08-24 21:49:36 +01:00
SignpostMarv
5e98e2b7c7 adding ATTACH_*_PEC constants 2012-08-24 21:49:27 +01:00
Justin Clark-Casey (justincc)
35f8f3ff79 minor: Add Gryc Ueusp to CREDITS for commit 884edac amongst others, by request. 2012-08-24 21:48:59 +01:00
Justin Clark-Casey (justincc)
7ec8e7e025 Prevent race conditions when one thread removes an NPC SP before another thread has retreived it after checking whether the NPC exists. 2012-08-24 21:48:48 +01:00
Melanie
c6efebdd8c Release http-in URLs when llResetScript is called 2012-08-24 21:48:15 +01:00
Justin Clark-Casey (justincc)
760047abc5 Flip version to 0.7.4-rc1 2012-08-03 23:58:34 +01:00
Justin Clark-Casey (justincc)
374ebab574 Strip experimental tag from --publish option of "save oar" region console command 2012-08-03 23:54:17 +01:00
Justin Clark-Casey (justincc)
fb91ca6f1d Fix old regression that stopped saving parcel owner data in OARs.
This was working in 0.7.2 but was accidentally removed from 0.7.3.
The --publish option for "save oar" will now save oars stripped of parcel owner information as well as scene object info.
Please use the --publish option if you want to publish oars that may be later loaded by others to the same grid from which they were saved.
2012-08-03 23:49:34 +01:00
Justin Clark-Casey (justincc)
2724cf685e Fix build break. 2012-08-03 23:13:19 +01:00
Robert Adams
8730dc9d6a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-08-03 15:10:55 -07:00
Robert Adams
d5cd60131f BulletSim: update DLLs and SOs 2012-08-03 15:10:00 -07:00
Robert Adams
e7ad6ed3a3 BulletSim: pass collision subscription information to the C++ code so collisions on objects that don't care are not reported up. 2012-08-03 15:09:56 -07:00
Robert Adams
ea36d4a4cf BulletSim: Add AddObjectForce to BulletSim API.
Add interface 2 enhancements to BSCharacter.
Modify AddForce and SetForce to use the new Bullet interface.
More DetailLog statements for character.
2012-08-03 15:09:52 -07:00
Justin Clark-Casey (justincc)
0e3b08fa5b Update settings loading in AvatarFactoryModule which should have been in last commit 205f2326 2012-08-03 23:09:47 +01:00
Justin Clark-Casey (justincc)
205f2326dc Consolidate PersistBakedTextures, DelayBeforeAppearanceSend and DelayBeforeAppearanceSave into [Appearance] section from [Startup] config section so that all appearance settings are in the same place and not in the startup bucket.
All these settings are in OpenSimDefaults.ini only.  If you are using them then please adjust your OpenSim.ini
2012-08-03 23:02:39 +01:00
Justin Clark-Casey (justincc)
5914270ff1 Restore SOG constructor chaining removed in recent 513b77b. This is not a functional change. 2012-08-03 22:15:06 +01:00
Justin Clark-Casey (justincc)
faffe2f2f9 Fix the recent windows compile error by putting newFont for case "R" in VectorRenderModule inside its own context, rather than disposing of the old font before using it as a prototype for the new. 2012-08-03 22:03:04 +01:00
Justin Clark-Casey (justincc)
8327e048b9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-08-03 21:56:48 +01:00
Justin Clark-Casey (justincc)
789e88d8bd Move previously unadvertised SendPeriodicAppearanceUpdates setting from [Startup] to [Appearance] config section.
Add description and default of false (as before) to OpenSimDefaults.ini
If set to true, this config switch will resend avatar appearance information (a small amount of UUID data, not the baked textures themselves) to other avatars in the sim every 60 seconds.
For me, this has helped with situations where avatars appear persistently grey - the LL viewer sometimes did not appear to request assets the first time the appearance data was sent.
However, this switch will not help with other appearance failure situations (e.g. failure to bake assets).
This setting is experimental but will not have any significant impact on the simulator if turned to true.
2012-08-03 21:36:00 +01:00
SignpostMarv
5181bdae0a attempting to fix a build issue
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-08-03 16:14:01 -04:00
Justin Clark-Casey (justincc)
513b77b78d refactor: rename SOG.RezzingObjectID to SOG.FromPartID to match FromFolderID, FromItemID and to reflect that it's a SOP ID rather than a SOG ID. 2012-08-03 02:26:54 +01:00
Justin Clark-Casey (justincc)
08ec18f8a3 Don't bothre setting RezzingObjectID to UUID.Zero in SOG constructor - this is already its default value as it's a struct. 2012-08-03 02:08:04 +01:00
SignpostMarv
cd9fd77e2c ImprovedTerseObjectUpdate packet does not support shape updates, thus scheduling terse updates will not (and does not) update shape information in the viewer 2012-08-03 01:55:46 +01:00
Oren Hurvitz
0588f27d18 Fixed a rare bug that caused Save OAR to fail because it thought it had timed-out
The bug manifested as follows: a large world was saved. All the assets were found. But for some unknown reason, the timeout timer was restarted. So after 1 minute it closed the Archive Writer, because it didn't receive any more assets during that minute. That caused the OAR to become corrupted because ArchiveWriteRequestExecution.Save() was still running.
2012-08-03 01:12:46 +01:00
Kevin Cozens
72075e68c7 Save membership fee to the database when a group is created. 2012-08-03 00:44:03 +01:00
Robert Adams
8b04e8a297 BulletSim: Debugging log statements added. Reduced size of updata buffer trying to find a corrupted memory problem. Update DLL and SO. 2012-08-02 16:30:23 -07:00
Justin Clark-Casey (justincc)
293d0cc629 minor: Comment out "Deleting asset" log messages for now 2012-08-03 00:25:22 +01:00
Justin Clark-Casey (justincc)
0cd698d82b Delete old blank SOGSpamTest 2012-08-03 00:23:03 +01:00
Justin Clark-Casey (justincc)
eeef9d7e99 Properly dispose of all GDI+ entities used in VectorRenderModule for dynamic textures.
The convention is that if an object implements IDiposable() the code must explicitly call Dispose() or call it via the using statement.
This may be particularly important for GDI+ objects since they encapsulate native code entities.
2012-08-03 00:00:54 +01:00
Justin Clark-Casey (justincc)
0dfccfc1d9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-08-02 23:54:32 +01:00
Melanie
68406ab8f9 Initialize the Rezzing object to UUID.Zero 2012-08-02 22:34:46 +01:00
Justin Clark-Casey (justincc)
86b005de1d Add simple draw test for the VectorRenderModule 2012-08-02 22:14:09 +01:00
SignpostMarv
cd2c5843a8 reduced-complexity implementation of function to get rezzing object key
Signed-off-by: Melanie <melanie@t-data.com>
2012-08-02 22:12:36 +01:00
Melanie
e36bc0d754 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-08-01 22:39:40 +01:00
Melanie
cf16ca9bda Create the ability for physics modules to request assets on demand by
themselves. For that, the physics module simply calls RequestAssetMethod, which
in turn points to Scene.PhysicsRequestAsset. This gives physics access to
the asset system without introducing unwanted knowledge of the scene class.
2012-08-01 22:37:38 +01:00
Justin Clark-Casey (justincc)
5f500c89ce Fix a bug in pCampbot grabbing behaviour where an exception would be thrown if the bot was not yet aware of any objects. 2012-08-01 22:30:34 +01:00
Justin Clark-Casey (justincc)
69a5beeabc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-08-01 00:40:31 +01:00
Justin Clark-Casey (justincc)
794363421d Look up the NPC module when the SensorRepeat class is created, rather than on every single sensor sweep. 2012-08-01 00:39:37 +01:00
Robert Adams
c51ef38e2d BulletSim: fix problem where resizing a primary shape (cube or sphere) would not rebuild the physics mesh. Update the DLLs and SOs to latest version. 2012-07-31 16:23:52 -07:00
Robert Adams
e38d26a2dc BulletSim: change boolean parameters in the shape data from int's to float's to be consistant with parameter data structure 2012-07-31 16:23:48 -07:00
Justin Clark-Casey (justincc)
04d8c6b4fe Change exception log messages in XInventoryService connector to error rather than debug, since these signal real problems.
Also outputs full exception instead of just the message to aid diagnostics.
2012-08-01 00:11:21 +01:00
Justin Clark-Casey (justincc)
7609daca38 Resolve a deadlock between INPCModule and SensorRepeat by replacing the SensorRepeat list with a new list on add/removes rather than locking it for the duration of the sensor sweep.
A deadlock was observed today where NPC removal on a script thread would lock the NPC list and then try to lock the sensor list via scripted attachment removal.
Concurrently, the sensor sweep thread would lock the sensor list and then try to lock the NPC list to check NPC status.
This commit resolves the deadlock by replacing the sensor list on update rather than locking it for the duration of the sweep.
2012-07-31 23:57:57 +01:00
Justin Clark-Casey (justincc)
d89faa3c16 Fix bug in SoundModule.TriggerSound() where every sound update to an avatar would base its gain calculation on the previous avatar's gain, instead of the original input gain.
This was making sound attenuate oddly when there were NPCs in the region, though it could also happen with ordinary avatars.
2012-07-31 22:52:17 +01:00
Mic Bowman
a76a289d11 Adds support to ScriptModuleComms for region modules to export
constants to the script engine.
2012-07-31 10:45:37 -07:00
Robert Adams
f9a8915cca BulletSim: update the DLLs and SOs. This fixes the exception on shutdown 2012-07-31 09:44:32 -07:00
Robert Adams
50dbb9ffe4 BulletSim: add parameters and API calls for setting ERP and CFM.
Set ERP and CFM in linkset constraints.
Reorder rebuilding of object bodies so they are not rebuilt everytime
   something is linked and unlinked.
2012-07-31 09:23:05 -07:00
Justin Clark-Casey (justincc)
6b1d12edcb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-30 23:25:54 +01:00
Justin Clark-Casey (justincc)
b899d64dc1 If we're fetching active gestures via the XInventoryServiceConnector, then properly look at the ITEMS dictionary already returned rather than the level above this. 2012-07-30 23:14:20 +01:00
Melanie
3f6dfa92ab Return world rotation on llGetObjectDetails()'s OBJECT_ROT 2012-07-29 16:05:35 +01:00
SignpostMarv
72d29bdb40 LSL/OSSL lacks Math.Min & Math.Max implementations. 2012-07-28 00:09:11 +01:00
Justin Clark-Casey (justincc)
7e89b99e6a Avoid a race condition between the scene shutdown thread and the update thread since commit c150320 (Thu Jul 26 15:27:18 2012)
c150320 started explicitly disposing of the physics scene and nulling it out on region shutdown.
However, the update loop may not have yet checked Scene.ShuttingDown, particularly if avatars were not in the scene, causing failure when it tried to lookup time dilation.
This commit moves the setting of m_shuttingDown above the existing 500ms pause to notify avatars that they are being kicked.
This should not affect the few other places that use this flag.
2012-07-27 23:58:53 +01:00
SignpostMarv
adbdb220df making first run more resilient to bad input (loop until good input, rather than crash) 2012-07-27 23:40:19 +01:00
SignpostMarv
b23ab3ea85 adding asset cache and map tile directories to .gitignore 2012-07-27 23:37:24 +01:00
Justin Clark-Casey (justincc)
d4f476c7ce Remove the LandGeom checks in OdeScene - these are pointless since LandGeom is always IntPtr.Zero and contacts returned always have a valid geometry.
Possibly this was for a feature that was never implemented or was otherwise removed.
Thanks to SignpostMarv for the spot of the warning that shows this parameter was never changed.
2012-07-27 23:31:19 +01:00
justincc
134c6d181f Update OpenMetaverse libraries at commit 6212cbd, this time built on Windows
This is to try and resolve a strange Initialization exception for the AppearanceManager type that only occurs on Windows 64 bit (not Windows 32 bit or Linux!)
2012-07-27 23:05:17 +01:00
Justin Clark-Casey (justincc)
f3c5ce1bbd minor: Comment out unused MemoryWatchdog.m_churnRatePerMillisecond - this is currently calculated dynamically 2012-07-27 22:20:43 +01:00
Justin Clark-Casey (justincc)
0d9afad3fe Remove duplicated IScenePresence.PresenceType. This is already in ISceneAgent.PresenceType from which IScenePresence inherits.
No other code changes required.
2012-07-27 22:15:25 +01:00
Justin Clark-Casey (justincc)
cd44c3b90a Replace libopenmetaverse commit 6212cbd with the same libraries but this time built with xbuild rather than nant.
This may fix Windows and some mono version builds.
2012-07-27 21:50:18 +01:00
Justin Clark-Casey (justincc)
1133f81dce Remove a couple of compiler warnings pointed out by SignpostMarv 2012-07-27 20:40:25 +01:00
Justin Clark-Casey (justincc)
811dc95105 Update libopenmetaverse to commit 6212cbd (Wed Jul 25 20:11:47 2012)
Built from https://github.com/openmetaversefoundation/libopenmetaverse/commits/master
This update incorporates a fix by Melanie in libomv where textures would sometimes rotate slightly when other properties were changed.
Hence addresses http://opensimulator.org/mantis/view.php?id=6100
This update also incorporates libomv bot code updates that significantly reduce the warning spam for pCampbot.
The change rate of libomv is low and many changes refer to bot or code not used by OpenSimulator, so I think it is sufficiently stable to use evne though it's not a release.
2012-07-27 20:16:29 +01:00
BlueWall
6ee17f5b36 Add autoclean for scripted use
./runprebuild.sh autoclean - cleans projects w/o prompting
2012-07-26 21:39:53 -04:00
BlueWall
f4bae34283 Add target switches
./runprebuild.sh vs2008/vs2010 to set the target
2012-07-26 21:34:33 -04:00
BlueWall
faf250df2d add clean task to reuprebuild.sh
./runprebuild.sh clean to clean up the project files
2012-07-26 21:28:20 -04:00
Justin Clark-Casey (justincc)
5f741143fd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-27 00:30:04 +01:00
Justin Clark-Casey (justincc)
21b1fec32d Fix issue where RegionCombinerModule was not removing regions from its dictionary on RemoveRegion(), causing a later issue if regions were restarted (removed then readded). 2012-07-27 00:28:23 +01:00
Robert Adams
ce812c88cc BulletSim: fix a recursive loop when fetching the mass of the root of a linkset. 2012-07-26 16:06:00 -07:00
Robert Adams
7d30637d51 BulletSim: refactor all the linkset logic out of the prim class
and into its own class. The BulletSim data structures track
individual prims as linksets of 1 so most of the prim code is not
different between a linked and unlinked object.
2012-07-26 16:05:57 -07:00
Robert Adams
d4a667a918 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-26 16:04:11 -07:00
Robert Adams
9e914f5c32 Add check so Ode does not try to simulate after it has been Dispose()'ed. Fixes exception that happens when shutting down region (improvements from last patch) 2012-07-26 16:03:15 -07:00
Justin Clark-Casey (justincc)
0aaf52fca4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-26 23:46:54 +01:00
Justin Clark-Casey (justincc)
66824dd18c When copying items, copy the item description field instead of the asset description field.
If we copy the asset description then we will only ever replicate the very first description, if there was one, not any subsequent changes.
Thanks to Oren Hurvitz of Kitely for this patch from http://opensimulator.org/mantis/view.php?id=6107
I have adapted it slightly to change the order of arguments (name before description rather than vice-versa) and slightly improve some method doc.
2012-07-26 23:44:29 +01:00
Robert Adams
c1503205c0 Add a Dispose() of the physics engine when a scene is being shutdown. 2012-07-26 15:27:18 -07:00
Robert Adams
c6d02801db BulletSim: update BulletSim DLLs and SOs 2012-07-25 16:31:22 -07:00
Robert Adams
9ca1075e7e BulletSim: remove unused, commented out code in BSConstraint 2012-07-25 16:31:17 -07:00
Robert Adams
0a4c080e63 BulletSim: fix line endings in newly added files (Is it DOS or is it UNIX? Only it's hairdresser knows for sure) 2012-07-25 16:31:12 -07:00
Robert Adams
d7add2940a BulletSim: add parameters for setting linkset constraint factors 2012-07-25 16:31:08 -07:00
Robert Adams
75f7721b0c BulletSim: small change to use the pointer to the bullet object for zeroing forces. 2012-07-25 16:31:04 -07:00
Robert Adams
bf6529db32 BulletSim: Redo parameter specification so only one place has
to change to have a parameter show up in the ini file and
command line. Will make it much easier for the next person.
2012-07-25 16:30:59 -07:00
Robert Adams
2d05e16f7e BulletSim: Add C# classes for storing and tracking constraints. 2012-07-25 16:30:55 -07:00
Robert Adams
5707e171f4 BulletSim: Move constraint tracking from C++ code to C# code
for more flexibility.
2012-07-25 16:30:50 -07:00
Justin Clark-Casey (justincc)
5aec0ff207 Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring with other monitoring code from OpenSim.Framework 2012-07-25 23:27:00 +01:00
Justin Clark-Casey (justincc)
35efa88c26 Rename OpenSim.Framework.Statistics to OpenSim.Framework.Monitoring.
This better reflects the long-term purpose of that project and matches Monitoring modules.
2012-07-25 23:11:50 +01:00
Justin Clark-Casey (justincc)
227126adb7 Add MemoryWatchdog class missing from git master a1e9964 2012-07-25 22:38:28 +01:00
Justin Clark-Casey (justincc)
22aa436648 Correct churn stat from MB/s from KB/s 2012-07-25 22:33:24 +01:00
Justin Clark-Casey (justincc)
a1e99642c1 Add experimental "OpenSim object memory churn" statistics to output of region console "show stats" command
This aims to capture the amount of memory that OpenSim turns over whilst operating a region.
This memory is not lost - apart from leaks it is reclaimed by the garbage collector.
However, the more memory that gets turned over the more work the GC has to do to reclaim it.
2012-07-25 22:29:40 +01:00
Justin Clark-Casey (justincc)
31304c222d Make SceneManager.OnRegionsReadyStatusChange event available.
This is fired when all regions are ready or when at least one region becomes not ready.
Recently added EventManager.OnRegionReady becomes OnRegionReadyStatusChange to match OnLoginsEnabledStatusChange
2012-07-25 21:00:59 +01:00
Justin Clark-Casey (justincc)
3cf8edfd68 Rename "image queues clear" console command to "clear image queues"
There is less justification for this word arrangement (verb after noun) now that command help is categorized.
Also removes "image queues show" in favour of existing alias "show image queues".
2012-07-24 23:51:04 +01:00
Justin Clark-Casey (justincc)
1427430b7b Add information about each column to "show queues" region console command help. 2012-07-24 23:48:53 +01:00
Justin Clark-Casey (justincc)
ef8570f789 Extend region console "show queues" command to show already collected time since last packeted received by the simulator from a viewer. 2012-07-24 23:39:31 +01:00
Justin Clark-Casey (justincc)
c846a5461c Remove bad using statement in AttachmentsModuleTests.
It seems that the mono 2.10.8.1 doesn't choke on this but for some reason 2.4.3 fails.
2012-07-24 22:46:22 +01:00
Justin Clark-Casey (justincc)
c992629576 extend regression TestRezScriptedAttachmentFromInventory() to check actual start of script rather than just the script status reported by SOG.ContainsScripts() 2012-07-24 22:40:06 +01:00
Justin Clark-Casey (justincc)
bc13c52c98 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-24 22:38:26 +01:00
Justin Clark-Casey (justincc)
2858b1b1f4 extend regression TestDetachScriptedAttachementToInventory() to check correct running status on a re-rezzed attachment 2012-07-24 22:33:54 +01:00
Robert Adams
892dd59b13 BulletSim: update BulletSim.dlls and so's 2012-07-23 16:38:31 -07:00
Robert Adams
bf6547be01 BulletSim: change how prim mass is saved so it is always calculated but zero is given if not physical. 2012-07-23 16:32:47 -07:00
Robert Adams
dda681515b BulletSim: small optimizations for link and unlink code 2012-07-23 16:32:41 -07:00
Robert Adams
8a574395c7 BulletSim: add Dispose() code to free up resources and close log files. 2012-07-23 16:32:36 -07:00
Robert Adams
85c6eb7c50 BulletSim: add all the new functions to BulletSimAPI.
Modify ZeroMotion() to not make tainting calls and to use new API calls.
2012-07-23 16:32:30 -07:00
Robert Adams
73f9e14b43 BulletSim: improve linking to add each link individually rather than rebuilding the object each time. Makes it an O(n) operation rather than O(n\!). 2012-07-23 16:32:24 -07:00
Melanie
e126915bc1 Change attachment handling to remove object from the scene first as per
justincc's original work. Sample scripts before doing so. Also refactor some
crucial common code and eliminate parameters that were only ever used with
the same constant value.
2012-07-23 21:39:26 +01:00
Melanie
fc77bca936 Committing Avination's memleak fix-a-thon, installment #3
When linking, detach the no longer used SOG's from backup so they can be
collected. Since their Children collection is never emptied, they prevent
their former SOPs from being collected as well.
2012-07-23 19:53:26 +01:00
Melanie
55c1c10c0d Committing Avination's memleak fix-a-thon, installment #2
Ensure items coming off the lockless queue are released. Also ensure this
is done when the queue is cleared.
2012-07-23 19:26:21 +01:00
Melanie
7d16d0664e Commiting Avination's memleak fix-a-thon, installment #1
As the MinHeap shrinks, free object references that have been sent. Also,
free the last item when it empties.
2012-07-23 19:21:59 +01:00
Robert Adams
ac612e2105 Update BulletSim DLLs and SOs 2012-07-20 16:12:54 -07:00
Justin Clark-Casey (justincc)
1b1418e1de Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-20 23:47:25 +01:00
Robert Adams
b537bbc410 Reorder BulletSim in prebuild.xml so OpenSim.Region.CoreModules is compiled before BulletSim is 2012-07-20 15:44:53 -07:00
Robert Adams
b25d874afa BulletSim: add reference to OpenSim.Region.CoreModules in BSScene.cs attempting to fix a mono compile error. 2012-07-20 15:34:19 -07:00
Justin Clark-Casey (justincc)
ef14232e64 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-20 23:20:40 +01:00
Justin Clark-Casey (justincc)
13929613b1 Move RegionConfig.ini.example into bin/Regions/Regions.ini.example - all other example files are in the same directory as their real files.
Only files ending in .ini and .xml are actually loaded.
Also improves the help at the top of Regions.ini.example to mention that OpenSimulator would generate Regions.ini anyway on first startup.
2012-07-20 23:18:41 +01:00
Robert Adams
ca3b6b1f90 BulletSim: more detail logging for vehicle and general physics debugging.
Physical linksets are fully functional.
Tweeking of the vehicle code to make it semi-work.
Utilize the new API2 for some setting operations.
Add GetOrientation() API call for proper reporting of children of linksets.
Changes the interface between C# and C++ code so old DLLs won't work!
2012-07-20 14:08:29 -07:00
Robert Adams
24dfb5bcb3 Remove an added but unnecessary dependency in prebuild.xml 2012-07-20 14:07:35 -07:00
Robert Adams
7451bb1613 BulletSim: fix compile errors from last commit. Clean up passing of physics scene into vehicle dynamics code. 2012-07-20 14:02:29 -07:00
Robert Adams
cda67a68de BulletSim: Add very detailed logging to BSDynamics for vehicle debugging 2012-07-20 14:02:27 -07:00
Robert Adams
e9c437ed0e Correct namespace of BinaryLoggingModule (a cut-and-paste error). Add a simple, high performance logger for high frequency logging (physics sub-operations, for instance). 2012-07-20 14:02:26 -07:00
Robert Adams
c400918c84 BulletSim: Add PID variables to physical scene. Not PIDing yet, but soon.
Cleaned up code and got rid of compile warnings.
2012-07-20 14:02:24 -07:00
Robert Adams
f9913b6ef7 BulletSim: Add detailed and voluminous debug logging that is enabled
with an ini configuration parameter.
Correct computation of relative offsets of children in a linkset.
Remove a prim from any link relationship before deleting it.
Minor code flow cleanups.
2012-07-20 14:02:22 -07:00
Justin Clark-Casey (justincc)
ecf7bb268c As per opensim-dev mailing list discussion, extend llGetDetectedType() to return OS_NPC if an OS npc is detected.
The detection will also return agent is the NPC has been created with the OS_NPC_SENSE_AS_AGENT option.
2012-07-20 21:36:33 +01:00
Justin Clark-Casey (justincc)
bcfc392edf As per opensim-dev mailing list conversation, introduce OS_NPC constant for use with llSensor()
This same constant will later be used with llGetDetectedType().
This constant has a different name from NPC to avoid possible conflict with future LSL changes.
This constant has a different value to try and avoid unnecessary conflict with future constants that may use the same value.
Using the 'NPC' constant with llSensor() will remain valid but is deprecated.
2012-07-20 21:08:04 +01:00
Mic Bowman
a4281ca014 Enables support for UUIDs to be returned in lists from
modInvoke commands.

Thanks SignpostMarv!!!
2012-07-20 10:48:51 -07:00
Mic Bowman
644fb6b013 Implements a very useful OSSL function to test a string to see
if it is a UUID. The function is osIsUUID().

Thanks SignpostMarv!
2012-07-20 10:25:50 -07:00
Melanie
fe99948c58 Fix the order of operations on detach. The object must always be serialized
while still in the scene to avoid losing important script state.
DeleteSceneObject can not be called before doing this!
2012-07-20 11:54:59 +02:00
Justin Clark-Casey (justincc)
be39f03caa minor: switch around mixed up circuit code and endpoint data in "show connections" region console command 2012-07-19 23:35:56 +01:00
Justin Clark-Casey (justincc)
d1d331a4c0 Make LLClientView instant message handling asynchronous rather than synchronous to prevent long operations from holding up all inbound packet processing.
Giving a large folder from one avatar to another was causing a long delay when handled synchronously, since it took some time to retrieve the necessary data from the inventory service.
Handling this asynchronously instead stops this delay from disrupting all avatars in the scene.  This has been shown in OSGrid.
I see no reason for not handling all IM messages asynchronously, just as incoming chat is handled asynchronously, so this has been switched for all instant messages.
Thanks to Nebadon for testing this change out.
2012-07-19 23:20:03 +01:00
Justin Clark-Casey (justincc)
c4533e755b Comment out OnIncomingInstantMessage and OnInstantMessage handlers in GroupsModule, since these led to a private blank method 2012-07-19 23:13:08 +01:00
Justin Clark-Casey (justincc)
e94831ddab Stop explicitly closing and nulling out Animator in order to prevent NREs in various places due to race conditions.
Even where checks are being made they aren't enough since they all assume that the Animator they just checked is still there in the next line, which is not necessarily the case without locking.
The memory used is small and these should be GC'd anyway when the SP is released.  If this is not happening then the wider problem of old SPs being retained needs to be resolved.
2012-07-19 22:59:28 +01:00
Justin Clark-Casey (justincc)
ccc7e75ce4 minor: remove some mono compiler warnings 2012-07-19 22:37:48 +01:00
Justin Clark-Casey (justincc)
ba80f137b5 Prevent race conditions between two threads that call LLClientView.Close() simultaneously (e.g. ack timeout and an attempt to reconnect) 2012-07-19 22:32:27 +01:00
Justin Clark-Casey (justincc)
e9a121e1b2 Add TestCreateDuplicateRootScenePresence() regression test. 2012-07-19 21:54:50 +01:00
Justin Clark-Casey (justincc)
c0ab406e2e Add basic TestCreateRootScenePresence() regression test 2012-07-19 21:41:13 +01:00
Justin Clark-Casey (justincc)
6dda7c65ae Add EventManager.OnRegionLoginsStatusChange fired whenever logins are enabled or disabled at any point, not just during initial startup.
This replaces EventManager.OnLoginsEnabled which only fired when logins were first enabled
and was affected by a bug where it would never fire if the region started with logins disabled.
2012-07-19 00:09:22 +01:00
Justin Clark-Casey (justincc)
64db0bcbd2 Add back notification to neighbouring regions when RegionReadyModule is not active accidentally just removed in 528004d 2012-07-18 23:40:00 +01:00
Justin Clark-Casey (justincc)
528004d349 Perform other region ready actions even if simulator is configured to leave logins disabled on startup. 2012-07-18 23:35:05 +01:00
Justin Clark-Casey (justincc)
1971b6bb4f Stop the 15 second initial script compile wait if a script is being rezzed on a previously empty region. 2012-07-18 22:24:52 +01:00
Justin Clark-Casey (justincc)
d97e27434c Fix bug where region ready would be triggered a second time if a script was rezzed on a previously script-free region.
There is no need to listen for OnRezScript in RegionReadyModule since OnEmptyScriptCompileQueue will only fire if scripts were compiled.
2012-07-18 22:17:39 +01:00
Justin Clark-Casey (justincc)
58b72933c8 Fix bug where region ready was being triggered twice in quick succession if a region contained no scripts. 2012-07-18 22:09:20 +01:00
Justin Clark-Casey (justincc)
4973fddc51 Establish EventManager.OnRegionReady event. This will only be triggerred once when the region is ready.
Switch MapImageServiceModule to use this.
2012-07-18 21:52:07 +01:00
Justin Clark-Casey (justincc)
6460e587c4 Pass entire scene object in OnLoginsEnabled event rather than just the region name.
This saves listeners from having to re-retrieve the scene from their own lists, which won't work anyway if multiple regions with the same name have been allowed
2012-07-18 21:29:12 +01:00
Justin Clark-Casey (justincc)
742ad5eb93 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-18 21:26:28 +01:00
Dan Lake
dd85d7d981 Merge branch 'master' of git://opensimulator.org/git/opensim 2012-07-18 13:07:07 -07:00
Dan Lake
0dd14ca0a3 Missing parameter in log error message was throwing exception 2012-07-18 13:05:48 -07:00
Justin Clark-Casey (justincc)
cd6d7429f8 Only listen to LoginsEnabled event in RegionReadyModule if it has been asked to disable logins until all scripts have been compiled 2012-07-18 21:03:35 +01:00
Justin Clark-Casey (justincc)
eb590becf0 Close() the ScenePresence after we've removed it from the scene graph, to cut down race conditions when another thread manages the grab the presence after some SP structures have been reset. 2012-07-18 00:14:02 +01:00
Justin Clark-Casey (justincc)
b9749d5aaf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-17 23:48:53 +01:00
Justin Clark-Casey (justincc)
48a5f10be1 Revert "Revert "refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself.""
This reverts commit 59a29f5f22.
The original revert was committed by mistake - it turns out this was not the cause of Mantis 6089

Conflicts:

	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-07-17 23:48:09 +01:00
Justin Clark-Casey (justincc)
56870d9609 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-17 23:34:50 +01:00
Justin Clark-Casey (justincc)
ecb759c1e5 Fix regression where llGiveInventory() had stopped asking non-owner receivers to accept/decline.
This appears to be a regression from back in commit db91044 (Mon Aug 22 2011) where we started to send TaskInventoryOffered msg dialog rather than InventoryOffered dialog.
This is probably correct, but failed because the bucket was too large and because we wouldn't have handled the TaskInventoryDeclined option anyway.
This patch handles both of these and make llGiveInventoryList() use TaskInventoryOffered as well
Fixes http://opensimulator.org/mantis/view.php?id=6089
2012-07-17 23:31:38 +01:00
Justin Clark-Casey (justincc)
59a29f5f22 Revert "refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself."
This reverts commit 58b13d51a7.
2012-07-17 22:56:21 +01:00
Melanie
c489bc1cd2 Make the scrpt running flag work properly 2012-07-17 15:00:42 +02:00
Justin Clark-Casey (justincc)
356d597296 Restore update of inventory item on derez/logout. This is necessary to update the name if this has been changed whilst attached.
Note, this behaviour appears to be at variance with the ll grid as of Tues 17 July 2012, testing with viewer 3.2.1.
The item name in inventory does not change either at the point of detach or after a relog.
2012-07-17 00:17:51 +01:00
Justin Clark-Casey (justincc)
b0facd147a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-17 00:02:45 +01:00
Justin Clark-Casey (justincc)
b6476eaac3 Stop sending the viewer an inventory create message if a known attachment item is updated.
This doesn't seem to make any sense and probably stems from a period when this code was directly involved in attaching objects directly from the scene.
This message is already being sent by InventoryAccessModule code instead.
2012-07-17 00:00:26 +01:00
Melanie
2a85372169 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-07-16 23:33:33 +01:00
Melanie
1c3b0da74a Revert "Fix script "Running" behavior"
A better solution using the already present flags must be found.

This reverts commit 6d3ee8bb39.
2012-07-16 23:31:55 +01:00
Justin Clark-Casey (justincc)
c1667d39a6 refactor: factor out common code in WebStatsModule.OnMakeRootAgent() 2012-07-16 23:15:02 +01:00
Justin Clark-Casey (justincc)
217f47b0d5 In WebStatsModule.OnMakeRootAgent(), get region ID directly from SP.Scene.RegionInfo.RegionID instead of manually looking it up from the stored scene list. 2012-07-16 23:09:48 +01:00
Justin Clark-Casey (justincc)
ed14dac0a3 Stop warning about no session from ViewerStats if user teleports to another region in the same simulator that was not next to the source region.
This was because teleporting to the new region invoked the new session setup code before the agent was removed from the old region, which then invoked the session teardown code.
Now, we only invoke the teardown code if the region ID occupied by the agent being removed is the same as the one registered for the current session.
2012-07-16 23:03:23 +01:00
SignpostMarv
ee7478fa16 sending more user-friendly messages to the script error window rather than the thrown exceptions.
Signed-off-by: Melanie <melanie@t-data.com>
2012-07-16 21:32:38 +01:00
dahlia
5d3723a47f update PrimMesher.cs to dll version r72 which fixes some path errors in sliced linear prims. Addresses Mantis #6085 2012-07-13 21:22:15 -07:00
SignpostMarv
84b7ae2573 acting on feedback from justincc 2012-07-14 01:45:34 +01:00
SignpostMarv
423101b425 acting on feedback from justincc 2012-07-14 01:45:34 +01:00
SignpostMarv
e3453dd9ca added in some extra variables, it sometimes thinks it is on the same parcel :(
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
SignpostMarv
b6cd3b625e adding workaround for silent failure if position is outside the bounds of a region, implementing parcel prim count check.
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
SignpostMarv
8d59385eea Implementation of llSetRegionPos(). Does not implement failure on object entry/prim limit/access restrictions.
Signed-off-by: SignpostMarv <github@signpostmarv.name>
2012-07-14 01:45:34 +01:00
Justin Clark-Casey (justincc)
ec6a195e40 When generating a Warp3D texture, set the detailTexture[i] variable on resize from the JPEG2000 original rather than only saving it to disk.
This appears to be the cause of the warp 3d exception seen when starting a new region for the first time.
Subsequent starts were okay because resized saved bitmap was correctly retrieved from disk.
Should fix http://opensimulator.org/mantis/view.php?id=5204 and http://opensimulator.org/mantis/view.php?id=5272
2012-07-14 01:11:30 +01:00
Justin Clark-Casey (justincc)
2954ceccae Remove a callstack print out I accidentally left in 2 commits ago in 9ccb578 2012-07-13 01:08:49 +01:00
Justin Clark-Casey (justincc)
884d603cac Rather than instantiating a UTF8 encoding everywhere when we want to supress the BOM, use a single Util.UTF8NoBomEncoding.
This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
2012-07-13 01:03:28 +01:00
Justin Clark-Casey (justincc)
9ccb578721 Don't cache regions data on the other unused LocalGridServiceConnector that the module code still sets up even if we're using one directly instantiated from the RemoteGridServiceConnector.
Also improves log messages to indicate which regions are sending/receiving various neighbour protocol messages.
2012-07-13 00:44:00 +01:00
Justin Clark-Casey (justincc)
d6f54b25cd Stop redundantly passing in the endpoint to the LLClientView constructor.
This can always be retrieved via the LLUDPClient and is so done in various places already.
2012-07-12 23:48:42 +01:00
Justin Clark-Casey (justincc)
dda999a22c Remove IClientIPEndpoint client interface for now.
This may well come back in the future when this subinterface is actually used but it currently isn't and I feel the name was poor.
Everything uses IClientAPI.RemoveEndPoint which also returned the full endpoint rather than just the ip address.
2012-07-12 23:43:02 +01:00
Justin Clark-Casey (justincc)
3b3d9967b1 Remove IClientAPI.GetClientEP() in favour of existing identical IClientAPI.RemoteEndpoint. 2012-07-12 23:29:57 +01:00
Justin Clark-Casey (justincc)
75ab9b4b88 Change very recent AllowedViewerList and BannedViewerList config setting names in OpenSim.ini.example to AllowedClients and BannedClients to match long-existing settings in [LoginService]
Also changes separator from comma to bar to match existing [LoginService] config features.
Divergence of config names for identical facilities in different places makes for an unnecessarily confusing user experience.
2012-07-12 23:18:30 +01:00
Justin Clark-Casey (justincc)
15283d35f1 Extend "show circuits" to show circuit code, ip and viewer name.
Also change to use standard table formatting
"show circuits" and "show connections" console commands are very similar but access different data structures.
2012-07-12 23:09:36 +01:00
Justin Clark-Casey (justincc)
6a0de355e0 Add active status to "show connections" 2012-07-12 22:37:48 +01:00
Justin Clark-Casey (justincc)
65a25ee510 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-12 22:35:38 +01:00
Justin Clark-Casey (justincc)
ca412032e8 Put output for "show connections" command into standard table format.
Also moves into own method.
2012-07-12 21:36:33 +01:00
Robert Adams
743437262e Many explanitory comments added to the link and delink code in
SOG and SOP. Should have no functionality changes.
2012-07-11 16:12:38 -07:00
Justin Clark-Casey (justincc)
916e3bf886 Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than constructing fresh copies.
The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
2012-07-11 22:54:22 +01:00
Justin Clark-Casey (justincc)
9c89ad9154 Fix build break for windows with missing package for IScriptEngine in prebuild.xml for OpenSim.Region.CoreModules.Tests.dll 2012-07-11 22:15:53 +01:00
Justin Clark-Casey (justincc)
33cff9b9d7 Allow XEngine StartDelay to be configured in the [XEngine] config section.
This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously.
Therefore, this is not yet documented externally.
2012-07-11 21:55:18 +01:00
Justin Clark-Casey (justincc)
0e611c47d3 Remove WorldComm module from the regression TestCompileAndStartScript() since the infrastructure no longer fails if this module isn't present, at least on the tested codepaths 2012-07-11 21:46:46 +01:00
Justin Clark-Casey (justincc)
fc24563206 Add regression TestDetachScriptedAttachmentToInventory()
This currently only does a relatively crude check for a ScriptState node in the serialized xml
2012-07-11 21:43:35 +01:00
Justin Clark-Casey (justincc)
14d05dc2a9 Add regression TestRezScriptedAttachmentsFromInventory() though this currently only checks for the presence of script items, not for started scripts 2012-07-11 19:54:40 +01:00
Justin Clark-Casey (justincc)
337ea019bd If a part has a sit target and an avatar is already sitting, allow another avatar to sit in the position given if no sit target was set.
Previous behave was that the second avatar could not sit.
This matches behaviour observed on the LL grid.
2012-07-10 23:55:22 +01:00
Justin Clark-Casey (justincc)
cdea572d2e refactor: move management of SOP.SitTargetAvatar into SOP.AddSittingAvatar() and SOP.RemoveSittingAvatar() 2012-07-10 23:50:04 +01:00
Justin Clark-Casey (justincc)
11e0ad6dc8 Revert "refactor: Add SOP.IsSitTargetOccupied to improve readability"
This reverts commit c8f0d476d2.
On reconsideration, I think this is less readable since immediately following code still sets SitTargetAvatar directly
2012-07-10 23:39:05 +01:00
Justin Clark-Casey (justincc)
c8f0d476d2 refactor: Add SOP.IsSitTargetOccupied to improve readability 2012-07-10 23:34:40 +01:00
Justin Clark-Casey (justincc)
69a6f6e3cd refactor: use sit orientation argument passed in to SP.SendSitResponse() rather than creating a new copy
There are no issues with side-effects since this is a struct.
2012-07-10 23:26:40 +01:00
Justin Clark-Casey (justincc)
e8347b7095 Move common code to detect whether a part has a valid sit target into a SOP property rather than being repeated in SP.
This also makes the detection in SP.FindNextAvailableSitTarget() and SendSitResponse() identical.
Previously they varied slightly (SendSitResponse didn't check for an older type of invalid quaternion) but the practical effect is most probably zero.
2012-07-10 23:21:39 +01:00
Justin Clark-Casey (justincc)
506437b684 Remove log line accidentally left in SP.SendSitResponse() 2012-07-10 23:06:34 +01:00
Justin Clark-Casey (justincc)
9f01c3d408 Disable logging in regression test in OSSL_ApiAttachmentTests 2012-07-10 23:04:44 +01:00
Justin Clark-Casey (justincc)
58869e5aa0 Fix recent SOP.GetSittingAvatars() to return null if there are no sitting avatars rather than throwing an exception.
Extends sitting avatar regression tests to test new sitters information
2012-07-10 23:03:52 +01:00
Justin Clark-Casey (justincc)
f3134b5cf6 When an attachment is detached to inv or derezzed, stop the scripts, update the known item with script state still in the script engine and then remove the scripts.
This is to fix a regression starting from 5301648 where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
2012-07-10 22:41:11 +01:00
Justin Clark-Casey (justincc)
eb5ec4a786 If a script is being stopped manually, then give the scriptpool thread 1 second to finish normally before forcibly aborting.
This is to avoid the worst of the problems in mono 2.6, 2.10 where an aborted thread does not always release all its locks.
This very short grace period is identical to the existing behaviour when a script is removed from the scene.
2012-07-10 21:42:51 +01:00
Justin Clark-Casey (justincc)
c8af20f966 This script allows an object to be attached directly from prim inventory to another avatar in the scene.
Very useful in serious game/environment scenarios where its only allowed for trusted creators.
Threat level Severe
2012-07-09 23:08:41 +01:00
Justin Clark-Casey (justincc)
d6f563794e Don't allow a prim to be sat upon if its part of an attachment 2012-07-09 21:43:44 +01:00
Justin Clark-Casey (justincc)
2eaa6d5ace Do not allow a script to attach a prim if its being sat upon.
This prevents a stack overflow where a get position on the avatar will refer to the attachment which will in turn refer back to the avatar.
This required recording of all sitting avatars on a prim which is done separately from recording the sit target avatar.
Recording HashSet is null if there are no sitting avatars in order to save memory.
2012-07-09 21:24:32 +01:00
BlueWall
1a2ab7bc69 More keys for automated ini processing 2012-07-08 22:50:56 -04:00
BlueWall
a96ac73302 Add more keys for OpenSim.ini.defaults automation 2012-07-08 13:45:17 -04:00
BlueWall
57094bd017 Add more automation keys to OpenSim.ini.example 2012-07-08 13:03:37 -04:00
Justin Clark-Casey (justincc)
112cddc9ca minor: rearrange INITIALIZATION COMPLETE log message so that it's clear init is only complete for a particular region at a time 2012-07-07 00:53:17 +01:00
Justin Clark-Casey (justincc)
16d5b79d57 minor: remove some recent mono compiler warnings 2012-07-07 00:36:01 +01:00
Justin Clark-Casey (justincc)
1201307c73 Remove duplicate Warp3DImageModule entry in CoreModulePlugin.addin.xml
This was causing 2 copies of the module to be created for each scene.
Probably no bad consequences other than a small waste of memory (both for the module and for the warp3D renderer it loaded)
2012-07-07 00:26:25 +01:00
Justin Clark-Casey (justincc)
a85741ac37 minor: Make WORLD MAP category log lines consistent 2012-07-07 00:14:16 +01:00
Justin Clark-Casey (justincc)
3bd134474b minor: Get RegionReady module to shout initialization complete status to draw the eye 2012-07-07 00:09:33 +01:00
Justin Clark-Casey (justincc)
b19ead5f9e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-07-07 00:05:16 +01:00
Justin Clark-Casey (justincc)
7ff4eec79c Remove redundant SetScene() function in Scene.AddSceneObject()
This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks.
There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
2012-07-07 00:02:45 +01:00
Robert Adams
7aff238eee Merge branch 'bulletsim2'
Cleanup preceeding major work. No major functional changes.
Collisions reported to simulator more efficiently.
BulletSim binaries updated using a more recent version of Bullet (v2.80-r2527).
2012-07-06 15:59:09 -07:00
Robert Adams
af9d8de515 BulletSim: update the binaries to the current sources 2012-07-06 15:56:35 -07:00
Justin Clark-Casey (justincc)
f1f390cfdf Remove now duplicate interregion object check that should have been removed a few commits ago in 43a2da9 2012-07-06 23:22:40 +01:00
Justin Clark-Casey (justincc)
74014a3854 minor: Remove some wrong comments in attachments regression tests 2012-07-06 23:13:00 +01:00
Robert Adams
e4a6611865 Clean up collision reporting code so they are properly passed to
the simulator in batches.
More comments.
2012-07-06 15:09:19 -07:00
Justin Clark-Casey (justincc)
056c9a59b2 Add assert to attachment regression tests to check that number of objects in the scene graph 2012-07-06 23:07:50 +01:00
Talun
ae1f2114f5 Mantis 6077 trim NPC chat on channel zero.
This patch trims leading and trailing spaces from NPC chat and
suppresses the sending of empty chat strings on open chat channel 0.
2012-07-06 22:49:18 +01:00
Talun
1b1f841c6a Mantis 6063 osNpcTouch.
Allow NPCS to touch obects.
2012-07-06 22:37:19 +01:00
Justin Clark-Casey (justincc)
43a2da9edb Pull prim crossing/teleport checks up into Scene.IncomingCreateObject() from Scene.AddObject()
Only IncomingCreateObject() needs these checks.  General object adding does not need to perform crossing perm checks
2012-07-06 22:33:16 +01:00
Justin Clark-Casey (justincc)
f6e5791ecd refactor: extract method UpdateUserInventoryWithAttachment() from AttachObject() for better code comprehension 2012-07-06 22:07:19 +01:00
Justin Clark-Casey (justincc)
843112340e Log MONO_THREADS_PER_CPU value on simulator startup, or "unset" if it is not set 2012-07-06 00:37:45 +01:00
Justin Clark-Casey (justincc)
7e73f609e5 Log warning if time between invocations of the watchdog thread is twice the timer setting.
This is to help detect situations where thread timeout warnings are being generated because of general machine issues rather than deadlock, network or other problems.
2012-07-05 23:15:59 +01:00
Justin Clark-Casey (justincc)
db9616f7ba minor: add client name to various login service log messages to disambiguate messages from concurrent logins. Also adds destination resolution debug log message showing region endpoint.
Adding endpoint to the log helps to find issues where the region external host information has been wrongly configured
2012-07-05 21:30:20 +01:00
Justin Clark-Casey (justincc)
8674604ff5 regrade osFormatString, osMatchString and osReplaceString to VeryLow.
I can't see that these present any real hazard to sim functioning.
2012-07-05 21:10:59 +01:00
Justin Clark-Casey (justincc)
462f7bccf9 minor: Add more information to OSFunctionThreatLevel and clarify some text in using PARCEL_OWNER, PARCEL_GROUP_MEMBER, ESTATE_MANAGER, ESTATE_OWNER permission categories 2012-07-05 20:58:20 +01:00
SignpostMarv
510e809aba porting console commands from raw2sculpt 3.2 2012-07-05 00:16:31 +01:00
Justin Clark-Casey (justincc)
951b45b80f Add OSSL function osForceAttachToAvatarFromInventory()
This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first.
Still only attaches objects to the owner of the script.
This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them.
Threat level high.
2012-07-05 00:05:06 +01:00
Justin Clark-Casey (justincc)
7b327848d0 Use GetInventoryItem() in llRezAtRoot rather than iterating through a cloned dictionary 2012-07-04 22:21:47 +01:00
Justin Clark-Casey (justincc)
2f998fce1f refactor: In llGetNotecardLine() use existing GetInventoryItem() rather than inspecting a clone of the TaskInventory dictionary that was not cloned thread-safe 2012-07-04 22:00:39 +01:00
Justin Clark-Casey (justincc)
1816ecb747 refactor: In llGetNumberOfNotecardLines() use existing GetInventoryItem() rather than inspecting a clone of the TaskInventory dictionary that was not cloned thread-safe 2012-07-04 21:57:57 +01:00
Justin Clark-Casey (justincc)
eacba4fc0b refactor: use existing GetInventoryItem() in GetScriptByName(), itself renamed from ScriptByName() 2012-07-04 21:54:30 +01:00
Justin Clark-Casey (justincc)
9fac7fd932 refactor: In llGetInventoryType() use existing GetInventoryItem() 2012-07-04 21:50:52 +01:00
Justin Clark-Casey (justincc)
f2b0377c28 refactor: In llGetInventoryCreator() use existing GetInventoryItem() 2012-07-04 21:49:21 +01:00
Justin Clark-Casey (justincc)
d933bdbd59 refactor: In llGetInventoryPermMask() use existing GetInventoryItem() 2012-07-04 21:47:20 +01:00
Justin Clark-Casey (justincc)
f9fa34408d refactor: in llGetInventoryPermMask use existing GetInventoryItem() 2012-07-04 21:42:04 +01:00
Justin Clark-Casey (justincc)
857494f6bd refactor: In llRemoteLoadScriptPin() use existing GetInventoryItem() 2012-07-04 21:36:44 +01:00
Justin Clark-Casey (justincc)
dff7cae2ee refactor: replace use of LSL_Api.GetTaskInventoryItem() with existing GetInventoryItem() 2012-07-04 21:33:35 +01:00
Justin Clark-Casey (justincc)
0e3fce9b5c refactor: In llGetInventoryKey() use existing GetInventoryItem() 2012-07-04 21:25:58 +01:00
Justin Clark-Casey (justincc)
4b2b14dad1 In llMessageLinked() use GetInventoryItems() rather than cloning TaskInventory directory
GetInventoryItems() returns a new list and so is equivalent, and creates this list under lock whereas Clone() is not thread-safe
2012-07-04 21:22:43 +01:00
Justin Clark-Casey (justincc)
3769739ca7 In llRequestInventoryData() use GetInventoryItems() rather than cloning TaskInventory directory
GetInventoryItems() returns a new list and so is equivalent, and creates this list under lock whereas Clone() is not thread-safe
2012-07-04 21:19:16 +01:00
Justin Clark-Casey (justincc)
3717812ce0 refactor: In llCollisionSound() use existing GetInventoryItem() method rather than have it iterate through TaskInventory itself. 2012-07-04 21:15:00 +01:00
Justin Clark-Casey (justincc)
ae64d089c6 refactor: In llRemoveInventory() use existing GetInventoryItem() method rather than have it iterate through TaskInventory itself. 2012-07-04 21:05:51 +01:00
Justin Clark-Casey (justincc)
58b13d51a7 refactor: make llGiveInventory() use existing GetInventoryItem() method rather than iterate through TaskInventory itself. 2012-07-04 20:57:48 +01:00
Justin Clark-Casey (justincc)
5691a8b860 refactor: rename Watchdog.WATCHDOG_TIMEOUT_MS to DEFAULT_WATCHDOG_TIMEOUT_MS to reflect what it actually is 2012-07-04 00:15:03 +01:00
Justin Clark-Casey (justincc)
f7b4802577 Correct spelling mistake m_BanedViewers to m_BannedViewers 2012-07-03 23:26:02 +01:00
Justin Clark-Casey (justincc)
8183c2926d minor: Add some method doc to HasGroupChanged and Schedule GroupForFull/PartUpdate() to indicate when region modules need to invoke them 2012-07-03 23:19:11 +01:00
Justin Clark-Casey (justincc)
3c9b9a848f Fix issue in database tests where sogs being stored are not in a scene.
This puts an extra m_part.ParentGroup.Scene == null check at the top of SceneObjectPartInventory.QueryScriptStates()
2012-07-03 22:58:58 +01:00
Michelle Argus
3399596e0e Adds a list of viewers that are allowed or banned from the region.
Signed-off-by: Melanie <melanie@t-data.com>
2012-07-02 18:45:11 +01:00
Melanie
d32cf21576 Add preservation of running state of scripts when drag-copying. 2012-07-01 18:30:59 +01:00
Justin Clark-Casey (justincc)
1926de5a05 Remove some mono compiler warnings 2012-06-30 01:25:39 +01:00
Justin Clark-Casey (justincc)
a4551b027b Removing unused handling of incoming create object by userID and itemID only.
It appears this was never actually used since attachments were rezzed in other code.
This was never available on remote simulator comms, only local.
2012-06-30 01:14:49 +01:00
Justin Clark-Casey (justincc)
56c776066c Remove code listed for removal in 0.7.3 that handled script restart for incoming attachments from pre-fatpack regions (versions of OpenSimulator more than a year old) 2012-06-30 01:06:37 +01:00
Justin Clark-Casey (justincc)
0229e90dcc Move update of the final optional ODE total frame stat inside the OdeLock rather than outside to avoid a very occasional race condition with the stat collection thread 2012-06-29 01:02:35 +01:00
Justin Clark-Casey (justincc)
e420f815dc refactor: rename _collisionEventPrim to m_collisionEventActors and _collisionEventPrimChanges to m_collisionEventActorsChanges to reflect their actual contents.
These dictionaries handle all actor types, not just physical prims.
2012-06-29 00:54:40 +01:00
Justin Clark-Casey (justincc)
1a7be7b00e Fix a regression where we stopped removing avatars from collision event reporting on logout, rather than stopping clearing their collision events.
This occurred in b18c8c8 (Thu May 17 2012).
This was a cause of very occasional race conditions and likely memory leakage as clients came and went from the region.
2012-06-29 00:36:50 +01:00
Justin Clark-Casey (justincc)
0f6b7b6a41 If a link points to a non-existing item in FetchInventory caps, then don't try to add it to the return data rather than suffering an exception later on 2012-06-29 00:11:44 +01:00
Justin Clark-Casey (justincc)
f202c36106 Add IScene.Name for code clarity to replace the RegionInfo.RegionName used in many, many log messages. 2012-06-29 00:03:22 +01:00
Justin Clark-Casey (justincc)
bfa6896678 Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG directly instead of an item ID to then shuffle through attachments, saving CPU busywork.
Almost all callers already had the sog to hand.
Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
2012-06-28 23:31:23 +01:00
Justin Clark-Casey (justincc)
571fd966cb Rather than iterating through all SOGs in the scene looking for the one that matches out fromItemID on detach, go through the agent's attachment sog list instead. 2012-06-28 23:01:12 +01:00
Justin Clark-Casey (justincc)
f263d6a910 Remove code that tried to delete an attachment back to inventory if RezSingleAttachmentFromInventoryInternal() returned null.
null would only ever be returned if the item couldn't be located within inventory and this would happen immediately.
In this case, derezzing wouldn't work anyway since there is no item to derez.
2012-06-28 22:48:49 +01:00
Justin Clark-Casey (justincc)
972b0b52f9 If rest of first line after colon is blank then still warn about running in XEngine if engine specified does not exist.
This is to take account of situations where the user was intending to specify a script engine using colon using its default language.
This probably generates few false positive as scripts are less likely to end a first line colon with a comment for other purposes.
2012-06-28 21:30:36 +01:00
Justin Clark-Casey (justincc)
25baa2d894 Avoid reporting false positives when a colon is in a comment in the first line of a script where the user was not trying to select a different script engine.
This works by only posting the "Selected engine unavailable" message if we're falling back on XEngine and the language is one handled by XEngine.
In cases where the language is not handled or not allowed, the user will still be notified by the later compiler error.
This avoids the overwhelming majority of false positives where the first line contains a : for other reasons (e.g. source control systems, vim settings, etc.)
Ultimately, I think it would be better to detect script language/engine with a mechanism that didn't just rely on : detection (e.g like #! in unix scripts).
2012-06-28 01:01:18 +01:00
Justin Clark-Casey (justincc)
f9769a9fcb minor: reuse colon index calculation in XEngine.OnRezScript. The index if a colon is found on the first line will always be the same as for the whole script. 2012-06-28 00:37:23 +01:00
Justin Clark-Casey (justincc)
bb48060b44 Fix issue in InventoryArchiveTestCase where it didn't call down to OpenSimTestCase.SetUp() 2012-06-27 00:50:36 +01:00
Justin Clark-Casey (justincc)
d043213317 refactor: Move ScenePresence <-> AgentData attachments copying code into AttachmentsModule. 2012-06-27 00:41:46 +01:00
Justin Clark-Casey (justincc)
5bec5bcf71 Automatically disable log4net before each regression test so that logging is confined to a single test if it's turned on.
This involves making test classes inherit from a common OpenSimTestCase.
This will be applied to more classes as required.
2012-06-27 00:01:51 +01:00
Justin Clark-Casey (justincc)
87ca820f9b Replace "kill uuid" console command with the more consistent "delete object uuid", which was present in the last opensim release. 2012-06-26 23:28:48 +01:00
Justin Clark-Casey (justincc)
0b29877790 Fix output for help on some object region console commands 2012-06-26 23:15:15 +01:00
Justin Clark-Casey (justincc)
97437feb06 Show region positions in "show regions" robust console command 2012-06-26 23:05:10 +01:00
Justin Clark-Casey (justincc)
2524517986 minor: correct GridService "show regions" cibsike cinnabd usage statement 2012-06-26 22:54:41 +01:00
Justin Clark-Casey (justincc)
99954c1498 refactor: Remove unnecessary AttachmentModuleTests.m_userId in favour of local variables 2012-06-26 22:53:08 +01:00
Justin Clark-Casey (justincc)
2b82c421ad refactor: Use local attachment module variables instead of global m_attMod.
This also avoids confusion between tests where one sets up m_attMod and another accidentally uses it after failing to set one up itself.
2012-06-26 22:31:25 +01:00
Justin Clark-Casey (justincc)
4329cc7b8a refactor: make m_presence a local variable in all AttachmentsModuleTests since it doesn't need to be global and some tests set up more than one sp 2012-06-26 22:21:54 +01:00
Justin Clark-Casey (justincc)
32a4ce94f0 Add regression test to check that attachments in source region are deleting when an agent teleports to a neighbouring region 2012-06-26 22:16:44 +01:00
Justin Clark-Casey (justincc)
340005c5bf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-26 22:12:39 +01:00
Justin Clark-Casey (justincc)
4b6c3fd4bb If crossing attachments into another region pre-fatpack, clone objects before changing properties to avoid hud display race condition with update threads.
This matches behaviour in fatpack crossing, where attachments are cloned before their properties are changed.
This only applies to crossings to simulators running code released before April 2011.
2012-06-26 21:06:47 +01:00
BlueWall
988112d446 Add stub for llCastRay 2012-06-26 15:15:25 -04:00
Justin Clark-Casey (justincc)
1f22b29ca3 Add much easier ConsoleDisplayTable AddColumn() and AddRow() methods.
Use these for new "show regions" command rather than old cumbersome stuff.
2012-06-26 00:40:46 +01:00
Justin Clark-Casey (justincc)
5292b8b8be Add "show regions" console command to ROBUST to show all regions currently registered.
Command is not added in standalone, which has its own version of "show regions" that can also show estate name
2012-06-26 00:34:37 +01:00
Justin Clark-Casey (justincc)
854f2a913c Add "show region at" command to grid service to get the details of a region at a specific location. "show region" command becomes "show region name" to disambiguate
This is the same format as used by "show object name", etc.
"deregister region" also becomes "deregister region id"
2012-06-25 23:55:14 +01:00
Justin Clark-Casey (justincc)
f5316984ab minor: update currently commented out log message at top of AvatarFactoryModule.SetAppearance() for future use 2012-06-25 23:31:22 +01:00
Justin Clark-Casey (justincc)
e5b739aaeb When attachments are being saved and deleted for a closing root agent, delete first to avoid a hud race condition with update threads.
If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
2012-06-25 22:48:13 +01:00
Justin Clark-Casey (justincc)
5301648cff In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove attachment before changing properties for correct inventory serialization.
Serialization of attachments requires IsAttachment = false so that correct positions are serialized instead of avatar position.
However, doing this when a hud is still attached allows race conditions with update threads, resulting in hud artifacts on other viewers.
This change sets SOG.IsDeleted before serialization changes take place (IsDeleted itself is not a serialized property).
LLClientView then screens out any deleted SOGs before sending updates to viewers.
2012-06-25 21:08:19 +01:00
BlueWall
6d3ee8bb39 Fix script "Running" behavior
Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
2012-06-23 04:15:14 -04:00
Justin Clark-Casey (justincc)
78143769bf Resolve various race conditions between accessing and removing external script URLs by more consistently locking on m_UrlMap 2012-06-22 23:49:52 +01:00
Justin Clark-Casey (justincc)
dca04c7b61 Avoid a race condition where an incoming request to a script external URL can trigger an exception is the URL was being removed at the same time.
This involves three steps
1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index
2) Return true instead of false in HasEvents() if no matching request is found in the map.  This call will only happen in the first place for raced requests.
3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK.

Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
2012-06-22 23:16:18 +01:00
Justin Clark-Casey (justincc)
80a41e670d Avoid race condition between m_PrimObjects iteration in XEngine.PostObjectEvent and places where the list is modified by extending the m_PrimObjects lock. 2012-06-22 02:23:25 +01:00
Justin Clark-Casey (justincc)
9f3feeff8d If starting scripts on initial sim start, provide INFO level log feedback each time 50 scripts have been started.
This is to provide an indication of what's happening now that the default isn't to report every single script start.
Changes XEngine logging level in OpenSim.exe.config from WARN to INFO.
2012-06-22 02:10:27 +01:00
Justin Clark-Casey (justincc)
f907182ab2 Eliminate unnecessary extra call to TriggerEmptyScriptCompileQueue in XEngine.DoOnRezScriptQueue()
The later invocation of this function will happen on an empty compile queue.
2012-06-22 01:57:14 +01:00
Justin Clark-Casey (justincc)
4cf49369b5 Stop flicking IsAttachment false and then true in AttachmentsModule.UpdateAttachmentPosition() in order to avoid a hud update race condition.
Previously, setting IsAttachment to false then true was necessary to serialize the updated attachment object information.
However, UpdateAttachmentPosition no longer does this update.
Whilst IsAttachment is set to false there is a race condition where the update thread can wrongly send hud object updates to clients that do not own the hud, resulting in screen artifacts.
2012-06-22 01:43:26 +01:00
Justin Clark-Casey (justincc)
fda39c11bf Fix bug where attachments would not retain position if just rotated and not moved.
This was because we were not setting AttachedPos in SOG.UpdateGroupPositionPR, unlike UpdateGroupPosition
2012-06-22 01:33:27 +01:00
Justin Clark-Casey (justincc)
798846c5b6 refactor AttachmentsModule tests to use a common method for standard attachment item setup 2012-06-22 00:40:04 +01:00
Justin Clark-Casey (justincc)
06617ffd06 Add regression test for updating attachment position 2012-06-22 00:18:30 +01:00
Justin Clark-Casey (justincc)
d24122b706 Add item id, name, prim name and id to log message when state exists but loading fails.
Drop logging about memory limit exceeded to warn from error
2012-06-21 02:24:44 +01:00
Justin Clark-Casey (justincc)
afcabf5244 Retrigger build - last jenkins run was glitched 2012-06-21 02:13:03 +01:00
Justin Clark-Casey (justincc)
5709bed548 Add state file location to errors logged when there's some issue with retrieving state (e.g. exceeds memory limit) 2012-06-21 02:09:14 +01:00
Justin Clark-Casey (justincc)
68ea096f1b Use HasPrivateAttachmentPoint properties in SOG.DeleteGroupFromScene() instead of magic numbers 2012-06-20 23:25:07 +01:00
Justin Clark-Casey (justincc)
714db90832 refactor: use SOG.HasPrivateAttachmentPoint in SOP.SendTerseUpdateToClient() instead of attachmentpoint magic numbers. 2012-06-20 22:46:01 +01:00
Justin Clark-Casey (justincc)
b23425c7c4 As with LLSDInventoryItem from commit 01a2b0b, send type values in LLSDInventoryFolder for inventory CAPs as integers rather than strings.
Should also resolve some issues with exceptions being thrown in some inventory fetches.
2012-06-20 02:28:00 +01:00
Justin Clark-Casey (justincc)
9ec9dafae6 Lower warn logging on not having friends/group module on permissions to debug.
It's a valid configuration not to have these modules, but I think it's still worth logging the fact that certain permissions won't work (always return true)
2012-06-20 01:33:25 +01:00
Justin Clark-Casey (justincc)
6c312bce7f minor: Lower flotsam asset cache warning about not having a FlotsamCache.ini to debug
It's perfectly okay not to have this section.
2012-06-20 01:30:20 +01:00
Justin Clark-Casey (justincc)
7b6c0232a5 Change default logging level for XEngine to WARN instead of DEBUG.
This is to reduce log spam from script loading, which is especially spammy for avatar movements with scripted attachments.
All important messages are at warn or above.
If you still want/need to see these messages, set <level value="DEBUG"/> in the <logger name="OpenSim.Region.ScriptEngine.XEngine"> section of OpenSim.exe.config.
This affects no other package logs, which still output at the root configured level (currently DEBUG by default).
2012-06-20 01:10:18 +01:00
Justin Clark-Casey (justincc)
4cfaa01c0a Remove STARTUP COMPLETE message from the startuplogo.txt file and into main logging 2012-06-20 01:06:55 +01:00
Justin Clark-Casey (justincc)
6b3f9fcde0 Comment out the neighbour and land in connectors from info logging that they are starting up 2012-06-20 00:42:54 +01:00
Justin Clark-Casey (justincc)
625e5e913a Comment out recently added log message detailing number of scripts started when compile queue empties for now 2012-06-20 00:25:18 +01:00
Justin Clark-Casey (justincc)
881e92a726 Raise some IO associated Exception logging in XEngine to error level, in line with other similar cases.
Remove more unnecessary Close() calls - these are being triggered by the Dispose() called when exiting the using statement for these sdk io objects.
2012-06-20 00:19:50 +01:00
Justin Clark-Casey (justincc)
0fa303b1cf Log how many scripts are candidates for starting and how many are actually started.
Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
2012-06-20 00:10:19 +01:00
Justin Clark-Casey (justincc)
9737e6d52e If RegionReady is active, don't falsely say that logins are enabled in the main scene loop before RegionReady is signalled when initial script compilation finishes.
Also raises this logging level to Info from Debug since this information is of high importance.  This matches the behaviour of the RegionReady module
2012-06-20 00:07:03 +01:00
Justin Clark-Casey (justincc)
e23d7ff9c0 minor: If logging because mesh/sculpt data isn't present for an object, log object UUID rather than local id, since UUID doesn't potentially vary between simulator starts. 2012-06-20 00:05:48 +01:00
Justin Clark-Casey (justincc)
ef686ead37 Like the assembly and text files, only write the c#-lsl linemap in XEngine.SetXMLState() if the trust binaries flag is set.
This doesn't affect other locations where the map is written, such as on script compilation.
2012-06-19 02:11:46 +01:00
Justin Clark-Casey (justincc)
bc06f3dcaf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-19 01:55:31 +01:00
Justin Clark-Casey (justincc)
8e7032ece8 minor: Add a little more detail to IOException logging in XEngine.SetXMLState()
Also removes superflous Close() commands for statements taking place within using() constructs
Also adds some comment out debug log messages for future use.
2012-06-19 01:53:50 +01:00
BlueWall
5c5b359bcb Oops! putting back the entry for map urls 2012-06-16 07:26:16 -04:00
BlueWall
fc1522ab60 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-16 06:29:49 -04:00
BlueWall
2ed768cbf5 Adjust Robust*.ini.examples V3 webprofile entries 2012-06-16 06:29:15 -04:00
Justin Clark-Casey (justincc)
7119de56ff Change read config paramter from max_urls_per_simulator to max_external_urls_per_simulator, which is what it was meant to be 2012-06-16 04:12:53 +01:00
Justin Clark-Casey (justincc)
ed513fc7be Fix bug introduced in commit c6e3752 (13 Jun 2012) where poll responses would always return OK even if some other status code had been set 2012-06-16 03:43:45 +01:00
Justin Clark-Casey (justincc)
22f25dfcab Implement max_external_urls_per_simulator setting in [LL-Functions] to allow configuration of how many urls can be set up by llRequestURL()
Defaults remains as 100.
This setting is per simulator instead of per region due to how the url script module is structured.
2012-06-16 03:32:47 +01:00
Justin Clark-Casey (justincc)
aaa30dcebc Add region name to UseCircuitCode log messages 2012-06-15 05:01:36 +01:00
Justin Clark-Casey (justincc)
c935f03467 Put all debug console commands into a single Debug section rather than scattering them over other categories 2012-06-15 03:32:43 +01:00
Justin Clark-Casey (justincc)
94517c8d5c Make the "debug http" command available for robust as well as the simulator. This allows one to see incoming requests as they happen.
This required making everything use the common MainServer class for registering and retrieving http servers, rather than duplicate structures.
2012-06-15 02:51:52 +01:00
Justin Clark-Casey (justincc)
257b1b517d Add main instance to internal MainServer.m_Servers list to simplify internal logic.
This does require the server to be added before it is set as the main Instance
2012-06-15 02:03:50 +01:00
Justin Clark-Casey (justincc)
aeed4d3041 minor: Tell user the current debug http level if "debug http" console command is executed without a level parameter 2012-06-15 01:27:29 +01:00
Justin Clark-Casey (justincc)
478acfff34 When setting debug http level, do this for all known http servers, not just the main instance. 2012-06-15 01:24:36 +01:00
Justin Clark-Casey (justincc)
10e87f9cdc Make XMLRPCModule use an existing HTTP server if one already exists on the desired port. 2012-06-15 00:59:53 +01:00
Justin Clark-Casey (justincc)
6993a26ba5 Get rid of some unnecessary null checks in RegionApplicationBase.StartupSpecific() - a constructor can never return null.
Also adds some method doc to MainServer
2012-06-15 00:40:12 +01:00
Justin Clark-Casey (justincc)
93ba0332c4 minor: Extend 'debug http' usage statement to 0..3 from 0..2 2012-06-14 23:54:12 +01:00
Justin Clark-Casey (justincc)
9825861f4a Shuffle "debug http" levels so that 1 and 2 now cause different levels of warn to be logged if we receive invalid xml for xmlrpc. 2012-06-14 23:46:09 +01:00
Justin Clark-Casey (justincc)
f4b02f8e39 Fix a regression in BaseHttpServer.HandleXmlRpcRequests() from recent c6e3752
Accidentally make responseString null by default instead of String.Empty.
It needs to be something in case the XmlRpcRequest deserialize throws an exception due to bad xml (a failure which we silently swallow!)
2012-06-14 04:29:15 +01:00
Justin Clark-Casey (justincc)
2c6555021f Fix very recent regression in 917d753 where I put the ++updatesThisCall outside the batching part of ProcessEntityUpdates()
This stopped any batching happening and since this method is called periodically updates were sent very slowly
2012-06-14 03:49:54 +01:00
Justin Clark-Casey (justincc)
3888b9a670 If we're going to discard a terse update block because it's now someone else's hud, then don't still add it to the list of blocks for the update message. 2012-06-14 03:32:44 +01:00
Justin Clark-Casey (justincc)
1aa7469253 correct wrong incomplete comment from previous commit 3c3ea19 in AttachmentsModule 2012-06-14 02:30:40 +01:00
Justin Clark-Casey (justincc)
3c3ea19620 Fix a bug where scene objects attached as HUDs through scripts would not disappear for other avatars.
We do this by sending a kill message for that object to all other avatars apart from the one that has the hud.
2012-06-14 02:26:38 +01:00
Justin Clark-Casey (justincc)
0d2243a393 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-14 01:38:41 +01:00
Justin Clark-Casey (justincc)
917d753f1c Fix a race condition where an object update for a hud could be sent to non-owner avatars if the hud was attached directly from within the region.
If this happens, then the non-owners would see unremovable huds that they did not own until relog, and sometimes even beyond that.
This was due to a race between the entity update and the attachment code when moving an object from within scene to a hud.
2012-06-14 01:36:37 +01:00
Justin Clark-Casey (justincc)
a4290048e5 Add SOG.HasPrivateAttachmentPoint to tell if a SOG has a private attachment point. HUDs attachment points are private.
Change SOP.SendFullUpdateToClient() and SoundModule.PlayAttachedSound() to use this rather than different magic number formulations.
This also corrects a bug in PlayAttachedSound() where the code assumed that all attachment points over 30 were HUDs.
It appears this is no longer true with Neck and Root (Avatar Center)
2012-06-14 01:20:55 +01:00
Melanie
cba8b4f8b8 Fix not sending TransferInfo when an asset is not found. This clogs
up the sound pipeline in the viewer.
2012-06-14 00:58:17 +01:00
Justin Clark-Casey (justincc)
6a77a65675 minor: remove unnecessary IsAttachment = false setting for new object in UploadObjectAssetModule, property always starts as false 2012-06-14 00:35:26 +01:00
Justin Clark-Casey (justincc)
16ffc764bf minor: refactor part of LLClientView.ProcessEntityUpdates() to remove duplicate code 2012-06-13 23:54:32 +01:00
Justin Clark-Casey (justincc)
cf080a68d6 Remove long obsolete and unused IClientAPI.KillEndDone() 2012-06-13 23:42:22 +01:00
Justin Clark-Casey (justincc)
f726150afd Add ObjectUpdate as one of the packets that can be screened out when setting debug packet level 2012-06-13 23:39:23 +01:00
Justin Clark-Casey (justincc)
1f34c8277d In the osGetGrid functions, if the [GridInfo] section does not exist then return "Configuration Error", as already happens if there is no GridInfoURI 2012-06-13 04:05:02 +01:00
Justin Clark-Casey (justincc)
66cb533f26 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-13 03:51:13 +01:00
Justin Clark-Casey (justincc)
5145356467 Add "deregister region" by uuid command to grid service to allow manual deregistration of simulators.
Useful if a simulator has crashed without removing its regions and those regions have been reconfigured differently
2012-06-13 03:49:22 +01:00
Melanie
77f579dcc8 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-06-13 02:34:25 +01:00
BlueWall
7c0843aad1 Add the updated OpenSimDefaults.ini for the prior timer_Interval patch. 2012-06-12 21:55:31 -04:00
Melanie
4e18e71089 Committing the Avination implementation of llCastRay. This is a complete rewrite
wich does it's thing independently of physics. Enjoy!
2012-06-13 02:32:25 +01:00
Justin Clark-Casey (justincc)
94bbbf96c7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-13 02:25:42 +01:00
Justin Clark-Casey (justincc)
c6e375291a Don't include time to transmit response back to requester when assessing slow handling of requests.
This is to avoid logging a 'slow' request when the source of delay is the viewer in processing a response.
This is not something we can do much about on the server end - it's server-side delay that we're interested in.
To ensure consistency, this commit also had to refactor and simplify inbound non-poll network request handling, though there should be no functional change.
IOSHttpResponse no longer exposes the Send() method, only classes in OpenSim.Framework.Servers.HttpServer should be doing this.
Only the GetTextureHandler was sending its own response.  Now it leaves this to BaseHttpServer, like all other core handlers.
2012-06-13 00:03:44 +01:00
BlueWall
c53c55fed0 Add variable timer configureation for the timer_Script
Added "timer_Interval" to the OpenSimDefaults.ini, leaving the default value set to 1200, as the previous default setting. The value represents seconds. To change the default, copy the entry to OpenSim.ini and multiply the number of minutes for the interval by 60.
2012-06-12 17:15:56 -04:00
Justin Clark-Casey (justincc)
2ca31a9841 Remove accidental timeout left in during earlier debugging. Has been in since two commits ago (b099f26) 2012-06-12 02:46:14 +01:00
Justin Clark-Casey (justincc)
1b1f0a2d77 OnConnectionClosed listeners, retrieve data from IClientAPI.SceneAgent rather than scanning all scene for the presence with the right id
Stop checking IsLoggingOut on these listeners, if called with a root agent then we always want to perform these actions.
This covers cases where the client is closed due to manual kick, simulator shutdown, etc.
2012-06-12 02:43:33 +01:00
Justin Clark-Casey (justincc)
b099f26376 Set IClientAPI.IsActive = false early on client removal due to ack timeout rather than using IsLoggingOut flag.
IsActive is more appropriate since unack timeout is not due to voluntary logout.
This is in line with operations such as manual kick that do not set the IsLoggingOut flag.
It's also slightly better race-wise since it reduces the chance of this operation clashing with another reason for client deactivation (e.g. manual kick).
2012-06-12 02:16:36 +01:00
Justin Clark-Casey (justincc)
c89db34fc4 If the simulator closes a root agent due to ack timeout, then send the client a kick message with that reason, in case it is somehow still listening. 2012-06-12 02:03:31 +01:00
Justin Clark-Casey (justincc)
8c7149063b In PresenceDetector.OnConnectionClose(), use the IsChildAgent check already available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes. 2012-06-12 01:25:09 +01:00
Justin Clark-Casey (justincc)
bab7dab4c5 Comment out the scene presence sitting debug log messages for now 2012-06-11 23:37:16 +01:00
Justin Clark-Casey (justincc)
51fe97a00c Set CreateDefaultAvatarEntries = true in Robust.HG.ini.example to match Robust.HG.ini
Thanks to Ai Austin for the spot.
2012-06-11 23:33:32 +01:00
Justin Clark-Casey (justincc)
daad0a3e11 Revert "Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly."
This reverts commit a8a9d13dc0.

Accidentally committed, this patch might not be the correct approach.
2012-06-11 23:30:58 +01:00
Justin Clark-Casey (justincc)
a927787434 Add last frame time monitor to MonitorModule now that this value is useful 2012-06-11 23:30:11 +01:00
Justin Clark-Casey (justincc)
cbb5ddd944 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-11 23:27:48 +01:00
Melanie
71ba85137f Commitig the Avination implementation of llTeleportAgent and
llTeleportAgentGlobalCoords. These do NOT use PERMISSION_TELEPORT like
their SL counterparts because that permission is not yet understood by TPVs
based on v1.x.
2012-06-11 16:45:52 +01:00
Justin Clark-Casey (justincc)
a8a9d13dc0 Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly.
Addresses http://opensimulator.org/mantis/view.php?id=3268
2012-06-09 05:11:08 +01:00
Justin Clark-Casey (justincc)
1f3218e53f Create avatar entries necessary to stop new v3 avatars being clouds (pants, shape, etc.) by default in grid mode.
This only affects avatars created through the "create user" console command or createuser XMLRPC.
This matches the default setting for standalone
2012-06-09 01:11:15 +01:00
Justin Clark-Casey (justincc)
08cd5d2503 Add documentation to AllowGodFunctions setting in [LL-Functions] 2012-06-09 00:33:17 +01:00
Justin Clark-Casey (justincc)
817f2d341d Fix regression in 5f4f9f0 (Fri Jun 8 2012) which stopped "show stats" and json stats from working 2012-06-08 23:36:53 +01:00
Justin Clark-Casey (justincc)
794d184c25 Stop sending a DisableSimulator packet in LLClientView.Close(), which is a duplicate for child agents and unnecessary for root agents.
Close() already calls Scene.RemoveClient() which sends the right eq or udp DisableSimulator message to child agents.
2012-06-08 04:32:51 +01:00
Justin Clark-Casey (justincc)
f94b92df46 Instead of retrieving the known client again in LLUDPServer.RemoveClient(), check the IsLoggingOut flag instead.
This is slightly better thread-race wise
2012-06-08 04:12:22 +01:00
Justin Clark-Casey (justincc)
c215b1ad16 If logging a client out due to ack timeout, do this asynchronously rather than synchronously on the outgoing packet loop.
This is the same async behaviour as normal logouts.
This is necessary because the event queue will sleep the thread for 5 seconds on an ack timeout logout as the client isn't around to pick up the final event queue messages.
2012-06-08 03:53:03 +01:00
Justin Clark-Casey (justincc)
5f4f9f0230 Add regression test for client logout due to ack timeout. 2012-06-08 03:12:23 +01:00
Justin Clark-Casey (justincc)
d73805d7f4 Remove null checks at top of LLUDPServer.ProcessInPacket(). Neither packet nor client are ever null. 2012-06-08 01:51:28 +01:00
Justin Clark-Casey (justincc)
d71c6dea7e Store already retrieve IClientAPI in IncomingPacket structure for later use rather than doing another retrieve on dequeue.
Instead of checking whether the client still exists by trying to retrieve again from the client manager, this patch gets it back from IncomingPacket and checks the IClientAPI.IsActive state.
2012-06-08 01:43:58 +01:00
Justin Clark-Casey (justincc)
30f4a33f01 Don't make duplicate call to ScenePresence.Close() separately in ETM.DoTeleport() if an agent needs closing.
This is always done as part of Scene.RemoveClient()
Also refactors try/catching in Scene.RemoveClient() to log NREs instead of silently discarding, since these are useful symptoms of problems.
2012-06-08 01:26:43 +01:00
Justin Clark-Casey (justincc)
5c162ccd57 Go back to calling IncomingCloseAgent() in the "kick user" command for consistency instead of IClientAPI.Close() directly.
This no longer double counts child agent removals
2012-06-08 00:59:39 +01:00
Justin Clark-Casey (justincc)
d547bcf8d1 Remove duplicate update of user count in Scene.IncomingCloseAgent()
This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
2012-06-08 00:40:38 +01:00
Justin Clark-Casey (justincc)
af2954898e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-08 00:24:39 +01:00
Justin Clark-Casey (justincc)
b56673c920 Fix bug with "kick user" reducing agent counts by 2 instead of 1.
This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close()
DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
2012-06-08 00:18:25 +01:00
Justin Clark-Casey (justincc)
0c5fefacb4 Record the fact that child agents can have asset transactions.
Also change code to grab the agent asset transaction module once.
2012-06-07 23:51:04 +01:00
Justin Clark-Casey (justincc)
de87e4871b Don't send kill object messages to clients when a child agent is closed. 2012-06-07 23:35:21 +01:00
Melanie
39cb2063bf Add collision sounds to the asset set 2012-06-07 23:35:08 +01:00
Talun
d5cc959683 Mantis 6044 Building master currently fails.
Add missing reference to System.Core

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-06-07 11:16:18 -04:00
BlueWall
a1e857932a Make change to fix Windows builds 2012-06-07 10:17:37 -04:00
Justin Clark-Casey (justincc)
7550b97e65 Log warning if we try to remove a UDP client that has already been removed. 2012-06-07 04:00:29 +01:00
Justin Clark-Casey (justincc)
98b46d48fe Allow the thread watchdog to accept an alarm method that is invoked if the timeout is breached.
This alarm can then invoke this to log extra information.
This is used in LLUDPServer to show which client was being processed when incoming and outgoing udp watchdog alarms are triggered.
2012-06-07 02:44:13 +01:00
Justin Clark-Casey (justincc)
514dd85199 minor: Change log messages on Warp3DImageModule to show they are from this module 2012-06-06 04:18:38 +01:00
Justin Clark-Casey (justincc)
53c25a4778 Rename MapImageModule for Warp3D to Warp3DImageModule to match its class name and make it easier to distinguish between map image modules. 2012-06-06 04:15:00 +01:00
Justin Clark-Casey (justincc)
2b0de66216 Actively dispose of Bitmaps in Warp3D image module and world map module once we've finished with them.
This might help with memory leakage issues though I suspect it won't.
2012-06-06 04:11:16 +01:00
SignpostMarv
3b25021180 enabling all corners of a sim to be set in one call 2012-06-06 02:47:47 +01:00
Justin Clark-Casey (justincc)
abf94627f6 Ensure closure of bitmap and memory stream with using() statements in WorldViewModule.
If this has any effect then it will only be to the map images returned via requests to the /worldview simulator HTTP path (not enabled by default)
2012-06-06 02:45:36 +01:00
Justin Clark-Casey (justincc)
6adc810eaa Stop accidentally reading 4 Int16s instead of 2 in SIZE section of Terragen file when loaded from a stream.
Fixes a bug introduced 2 weeks ago in 67ebe80
Thanks to Plugh for pointing this out.
2012-06-05 19:40:16 +01:00
Justin Clark-Casey (justincc)
a5410c2c19 minor: Add user feedback when executing fix-phantoms 2012-06-05 01:37:40 +01:00
Justin Clark-Casey (justincc)
42179578fc Allow fix-phantoms command to appear even if CombineContiguousRegions = false, since this allows one to go back from a megaregion to normal regions.
Adapted from a patch by Garmin Kawaguichi in http://opensimulator.org/mantis/view.php?id=6027
Garmin says that fix-phantoms allows one to reset objects when going back from megaregion to normal regions as well as the othe rway around.
Thanks!
2012-06-05 01:33:58 +01:00
Talun
008c6a4610 Mantis 4597 AgentPaused packet is ignored.
The packet was actually being handled but not acted on.
This change extends the default timeout for paused clients to 5 minutes
and makes both the paused and non-paused timeout periods configurable.
2012-06-05 01:22:05 +01:00
Justin Clark-Casey (justincc)
01280e9b94 Remove unused ScenePresence list structure in llGetAgentList() 2012-06-05 00:34:18 +01:00
Justin Clark-Casey (justincc)
96d1ba90d7 Scale down per frame MS stats to match scaled simulator FPS stat.
This makes frame time stats properly tally with fps, which saves confusion and makes it easier to interpret numbers.
In some ways this is not so artifical - physics FPS runs at the higher rate.
2012-06-05 00:27:51 +01:00
Justin Clark-Casey (justincc)
655625ab87 Start sending spare frame time MS viewer stat. Make frame time correctly display total frame time, not just non-spare time.
This makes it easier to see when components of frame time exceed normal permitted frame time.
Currently reflect scene frame times.
2012-06-05 00:17:55 +01:00
Justin Clark-Casey (justincc)
c3d9acc9a9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-06-05 00:15:29 +01:00
Justin Clark-Casey (justincc)
a7f4804f53 Properly show per frame millisecond statistics per frame, not as amount of time taken per second.
This is to make these statistics actually match their names (and also be more accurate as number of frames can vary under heavy load)
Currently using scene frames (11.23 every second) instead of physics frames (56.18 per second)
2012-06-04 23:07:53 +01:00
BlueWall
3229e32b4e Add replaceable region modules to the "show modules" command 2012-06-04 17:25:38 -04:00
Melanie
9707a2d57c Remove profile from basic configuration 2012-06-04 18:24:02 +01:00
Melanie
d9d4fb10d9 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-06-04 18:22:43 +01:00
Robert Adams
f94ef37b46 Correct the delegate specification in EventManager.TriggerTerrainTainted. Looks like the wrong one was cut and pasted. 2012-06-04 10:26:39 -07:00
Melanie
5c646e2603 Remove the "Profile" config as it's covered by the replaceable interface 2012-06-04 18:22:09 +01:00
Justin Clark-Casey (justincc)
729d90173f Fix build break whree accidentally did inv.Folders rather than inv.Folders.Count in a minor change. 2012-06-02 05:03:56 +01:00
Justin Clark-Casey (justincc)
2de5479c3f minor: tidy up some comments 2012-06-02 05:01:56 +01:00
Justin Clark-Casey (justincc)
01a2b0b289 Fix various issues with http inventory
1) The return messages were being wrongly populated with the names of asset, inventory and sale types when their corresponding integers should have been used instead.
2) Folders with links were including the linked items in the descendents figure, when only the links should be included.
3) Links and linked items in link folders were not being included in the return data, and not in the correct order.

Now that these issues have been addressed, outfits and attachments appear to work consistently when HTTP inventory is enabled (as is now the default).
2012-06-02 04:57:10 +01:00
Justin Clark-Casey (justincc)
72219eae7d Instead of updating sim stats root agent, child, objects and scripts accounts every single scene frame, update in the once every 3 seconds SimStatsReporter run 2012-06-01 04:47:11 +01:00
Justin Clark-Casey (justincc)
6375db1533 Add optional total avatars, total prims and active prims stats to ODE plugin.
These will act as a sanity check with the main scene stats, to show that physics scene entities are being managed properly.
Total prims will not match scene total prims since physics total does not include phantom prims
2012-06-01 04:23:36 +01:00
Justin Clark-Casey (justincc)
4e06a46dc5 If OdeScene.Near() returns no collision contacts, then exit as early as possible. All subsequent code is only relevant if there are contacts. 2012-06-01 04:07:39 +01:00
Justin Clark-Casey (justincc)
200376b3c4 Add optional stat for the other collision time per frame not spent in ODE native spaces or geom collision code 2012-06-01 03:49:42 +01:00
Justin Clark-Casey (justincc)
d34b84b531 Add avatar forces calculation, prim force and raycasting per frame millisecond optional stats 2012-06-01 03:23:19 +01:00
Justin Clark-Casey (justincc)
9ff8efc720 Collection optional avatar and prim taint frame millisecond times 2012-06-01 03:03:48 +01:00
Justin Clark-Casey (justincc)
d1b5f8d9d7 Remove recent optional native collision frame milliseconds stat
Unnecessary since this has now been broken down into space collisions and geom collisions
2012-06-01 02:35:11 +01:00
Justin Clark-Casey (justincc)
31343aa7c3 Add optional stat that records milliseconds spent notifying collision listeners in physics frames 2012-06-01 02:33:44 +01:00
Justin Clark-Casey (justincc)
5f44be99ef Add avatar and prim update milliseconds per frame optional stats 2012-06-01 02:25:42 +01:00
Justin Clark-Casey (justincc)
5cc9b820e5 Add option native step frame ms stat 2012-06-01 01:58:28 +01:00
Justin Clark-Casey (justincc)
f2c8c7a7b8 Add total ODE frame time optional stat, as a sanity check on the main scene physics stat 2012-06-01 01:37:19 +01:00
Justin Clark-Casey (justincc)
8333b928fa Break down native ODE collision frame time stat into native space collision and geom collision stats 2012-06-01 01:27:19 +01:00
Justin Clark-Casey (justincc)
c33c8db825 Rename new collision stats to 'contacts' - there are/can be multiple contacts per collision and this is what is actually being measured. 2012-06-01 01:15:27 +01:00
Justin Clark-Casey (justincc)
e1f8d2adb0 Stop adding an unnecessary duplicate _perloopcontact if the avatar is standing on a prim.
This has already been added earlier on in the method.
2012-06-01 01:12:30 +01:00
Justin Clark-Casey (justincc)
8301f7b17f minor: comment out currently unused OdeScene.sCollisionData 2012-06-01 00:57:55 +01:00
Justin Clark-Casey (justincc)
93fa9e8991 Add ODE avatar and prim collision numbers if extra stats collection is enabled. 2012-06-01 00:56:13 +01:00
Justin Clark-Casey (justincc)
878b67b333 Fix OdeScene.GetTopColliders() to return the top 25 colliders rather than the first 25 that had non-zero collision scores.
Also zeros collisions scores on all prims after report collection, not just the top 25.
As before, this collision scores are only reset after a report is requested, which may give unrealistic numbers on the first request.
So to see more realistic scores, ignore the first report and then refresh the request after a couple of seconds or so.
2012-06-01 00:26:11 +01:00
Justin Clark-Casey (justincc)
0b02a4d42e Add an optional mechanism for physics modules to collect and return arbitrary stats.
If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule
(http://opensimulator.org/wiki/Monitoring_Module)
This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings].
This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing.
This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds.
The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
2012-05-31 01:52:26 +01:00
Justin Clark-Casey (justincc)
bf0b8170f7 Add console command "teleport user" to allow teleport from the region console
See "help teleport user" on the console for more details
2012-05-29 23:35:20 +01:00
Melanie
b660c4991b Fix collision filtering. The filter should be checked on the receiving part! 2012-05-29 18:18:47 +01:00
Justin Clark-Casey (justincc)
79f3ce2e9f refactor: factor out entity transfer state machine into a separate class to make code more analyzable 2012-05-28 23:06:00 +01:00
Justin Clark-Casey (justincc)
8f87f55d05 If handling the failure of teleport, move agent state to CleaningUp when we start the handling.
Also fixes the log warning from ResetInTransit() if the state is cleared direct from Transferring or ReceiveAtDestination, as pointed out in mantis 5426
2012-05-28 22:16:06 +01:00
Justin Clark-Casey (justincc)
7fd38788b4 minor: code formatting from 0b72f773 2012-05-26 02:14:32 +01:00
Talun
0b72f773c7 Mantis 6025 llRequestPermissions auto grant for NPCs.
If the script requesting permissions is owned by either the NPC or
the NPCs owner (if the NPC is created as owned) then grant any
permissions automatically.
2012-05-26 02:09:22 +01:00
Justin Clark-Casey (justincc)
43a6f28620 If restating a region, clean up the physics scene after the main scene has been closed not before.
If this is done before then on ODE agent update calls still incoming can fail as they try to use a raycastmanager that has been disposed.
Bullet plugin does nothing on Dispose()
However, I wouldn't be at all surprised if individual region restarting was buggy in lots of other areas.
2012-05-26 01:55:35 +01:00
Justin Clark-Casey (justincc)
3ac3be99ae Add Blake/Techplex to CONTRIBUTORS. Thanks! 2012-05-26 01:35:33 +01:00
Blake.Bourque
33b66009e4 One can now get hyoergrid region co-ordinates with llRequestSimulatorData 2012-05-26 01:32:42 +01:00
Justin Clark-Casey (justincc)
d6476b6277 Use GetInventoryItem() in LSL_Api.InventoryKey(string name, int type).
Also removes small bug where calling this method would add 1 to LPS, evne though all callers already did this.
2012-05-26 01:03:53 +01:00
Justin Clark-Casey (justincc)
f2a5fad18f Use SceneObjectPartInventory.GetInventoryItem() in OSSL.AvatarStopAnimation instead of searching the task inventory manually. 2012-05-26 00:54:00 +01:00
Justin Clark-Casey (justincc)
ff53add54d refactor: replace LSL_Api.InventoryKey(string) largely with SceneObjectPartInventory.GetInventoryItem(string)
Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
2012-05-26 00:36:01 +01:00
Talun
120f8145fc Mantis 6028 osAvatarStopAnimation not stopping animations via UUID
Corrected to stop animations using the animation UUID similar to llStopAnimation.
See http://opensimulator.org/wiki/OsAvatarStopAnimation
2012-05-25 23:45:03 +01:00
Justin Clark-Casey (justincc)
67ebe80dd9 Resolve some mono compiler warnings. 2012-05-25 04:03:16 +01:00
Justin Clark-Casey (justincc)
ab59c0a658 on agent cross, remove from physics scene after its been placed in transit, not before. 2012-05-25 03:39:10 +01:00
Justin Clark-Casey (justincc)
888210ea4a refactor: make ETM.CrossAgentToNewRegionAsync neighbourRegion == null check return earlier to simplify method 2012-05-25 03:06:26 +01:00
Justin Clark-Casey (justincc)
9f1fc7ea88 Remove a call stack debugging line accidentally left in from a few days ago at SceneObjectPartInventory.ApplyNextOwnerPermissions(). 2012-05-25 02:54:37 +01:00
Justin Clark-Casey (justincc)
96cde407ab Fix bug where a failed QueryAccess to a remove region would always have the reason "Communications failure" no matter what the destination region actually returned 2012-05-25 02:37:22 +01:00
Justin Clark-Casey (justincc)
40c78b0624 Stop it being possible for an agent to teleport back to its source region before the source region has finished cleaning up old agent data and structures.
If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states.
To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp).
This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up.
Tested on standalone, grid and with v1 and v3 clients.
2012-05-25 02:02:53 +01:00
Justin Clark-Casey (justincc)
7cceab1295 In remote QueryAccess, also receive the actual status (true|false) instead of always true no matter what the callee actually returned.
This was due to two things
1) SimulationServiceConnector.QueryAccess was always looking to the outer result["success"].
But if a "_Result" map is returned (which is certainly the case right now), then the true success is _Result["success"], result["success"] is always true no matter what
2) If QueryAccess was false at the destination, then AgentHandlers.DoQueryAccess() was never putting this in the result.
The default action of SerializeJsonString() is not to put false booleans in the JSON!!!, so this has to be explicitly set.
2012-05-25 01:41:00 +01:00
Justin Clark-Casey (justincc)
93ff27053a Don't actually proceed on a within-region teleport if another is already taking place, rather than just (falsely) logging that we're not going to proceed.
An oversight from recent commit 9ab0c81
2012-05-24 22:59:52 +01:00
Justin Clark-Casey (justincc)
cc53d91d2f On inter-region teleport, only stand the avatar up if the QueryAccess call to the destination scene actually succeeds. 2012-05-24 22:46:45 +01:00
Justin Clark-Casey (justincc)
cd225215b1 Now that the EntityTransferModule is per-region, fetch the event queue module once rather than repeatedly via scene presences 2012-05-24 22:40:24 +01:00
Justin Clark-Casey (justincc)
5c9086ade6 Fix issue where a dns resolution failure on the final destination might leave the user unable to teleport since the transit flag was not being reset.
This moves the 'already in transit' check further up and resets the flag if dns resolution fails and in the new required places.
2012-05-24 22:26:02 +01:00
SignpostMarv
99cebec4ab adding status codes from rfc 6585
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-24 12:09:15 -04:00
SignpostMarv
87f9aa9d08 porting IDE tooltip-friendly documentation tweaks from Aurora-Sim
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-24 12:09:15 -04:00
Justin Clark-Casey (justincc)
f4cd4c8e28 Comment out accidentally left in log line that was printing out the control file on OAR save 2012-05-24 04:33:36 +01:00
Justin Clark-Casey (justincc)
38ce9d45a5 Make ISimulationScene.GetScene() used the more efficient region id for lookup rather than the region handle. 2012-05-24 01:00:18 +01:00
Justin Clark-Casey (justincc)
459c7635af If an agent is still registered as 'in transit' by the source region, don't allow an immediate teleport back.
This is to help relieve a race condition when an agent teleports then immediately attempts to teleport back before the source region has properly cleaned up/demoted the old ScenePresence.
This is rare in viewers but much more possible via scripting or region module.
However, more needs to be done since virtually all clean up happens after the transit flag is cleared .
Possibly need to add a 'cleaning up' state to in transit.
This change required making the EntityTransferModule and HGEntityTransferModule per-region rather than shared, in order to allow separate transit lists.
Changes were also required in LocalSimulationConnector.
Tested in standalone, grid and with local and remote region crossings with attachments.
2012-05-24 00:31:14 +01:00
PixelTomsen
bc543c1797 Environment Module - allows Environment settings for Viewer3 warning: includes database region store migrations for mssql, mysql, sqlite
enable/disable this module:
Cap_EnvironmentSettings = "localhost" (for enable)
Cap_EnvironmentSettings = "" (for disable) at ClientStack.LindenCaps section (OpenSimDefaults.ini file)
 or owerwrite in OpenSim.ini

mantis: http://opensimulator.org/mantis/view.php?id=5860

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-23 17:04:19 -04:00
BlueWall
b490050165 Format cleanup 2012-05-23 16:58:04 -04:00
BlueWall
682d4075e3 Fix llGetSimulatorHostname to return configured hostname 2012-05-23 15:08:39 -04:00
Justin Clark-Casey (justincc)
4d1986c0e4 minor: Change [OBJECT COMMANDS MODULE] log strings to [REGION COMMANDS MODULE] strings, though all these are currently commented out anyway 2012-05-23 04:20:54 +01:00
Justin Clark-Casey (justincc)
ee98b9c394 Add "show scene" command which lists stats for the currently selected console scene(s)
This includes prim count, script count, avatar count, etc.
Information is currently the same as "show stats", though show stats can only show one scene at a time because it listens for the latest outgoing stats packet (a bad approach that needs to change).
Might be better to tie this module into the other stats module to display arbitrary stats rather than fetching directly from scene.SimStatsReporter.
Console command is "show scene" because "show region" already exists for the grid service, which is unfortunate.
Might need to make a distinction between "scene" relating to a live scene and "region" relating to more static region data (url, coords, etc.)
2012-05-23 04:10:45 +01:00
Justin Clark-Casey (justincc)
8f88c17df9 refactor: Rename ConsoleTableRow and ConsoleTableColumn to ConsoleDisplayTableRow and ConsoleDisplayTableColumn 2012-05-23 03:23:37 +01:00
Justin Clark-Casey (justincc)
059a1e90b9 Add ConsoleDisplayList for more consistent formatting of console output in list form.
Convert "show region" to use this structure rather than hand-constructing
2012-05-23 03:19:25 +01:00
Justin Clark-Casey (justincc)
2222d979cc refactor: rename ConsoleTable -> ConsoleDisplayTable for clarity 2012-05-23 02:37:38 +01:00
Justin Clark-Casey (justincc)
c6ce41bfba Add missing Y co-ord in "show region" console command information 2012-05-23 02:31:53 +01:00
Justin Clark-Casey (justincc)
050007b44d Lay out "show region" information in an easier to read line by line format 2012-05-23 02:30:16 +01:00
Justin Clark-Casey (justincc)
68918d632f Fetch the dialog module reference in AttachmentsModule in RegionLoaded() not AddRegion()
The reference is not guaranteed to be there when AddRegion() is called but will definitely be present at RegionLoaded() if it's going to be present at all.
2012-05-23 02:09:31 +01:00
Justin Clark-Casey (justincc)
ec8745cf51 minor: Make log class names in InventoryAccessModule uniform 2012-05-23 02:05:48 +01:00
Justin Clark-Casey (justincc)
ff429a259b Fix bug where an avatar that had an object they owned attached through llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene.
This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All
Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
2012-05-23 01:58:10 +01:00
Justin Clark-Casey (justincc)
9ab0c81c1d Setting 'in transit' on a local teleport as well as inter-region teleports.
This is to eliminate possible race conditions if two teleport calls are made concurrently, where at least one is a local teleport.
This is pretty much impossible on a manual user teleport but can happen on script-invoked teleports.
2012-05-21 21:33:59 +01:00
Justin Clark-Casey (justincc)
7e97f0e898 minor: extend commented out LinkInventoryItem log message for future use 2012-05-21 21:00:22 +01:00
Justin Clark-Casey (justincc)
16d303f7cd Fix bug where outfit folders could not be renamed.
Outfit folders are a type of system folder whose details are allowed to change.
2012-05-21 19:38:43 +01:00
Justin Clark-Casey (justincc)
0db60eea85 Improve locking of RegionCombinerModule.m_regions 2012-05-19 04:59:36 +01:00
Justin Clark-Casey (justincc)
5759313f7f Add size of region to OAR control file. Megaregions (sw root OARs when saved) will have a size larger than 256x256
Not yet read.  Do not rely on this information yet, it may change.
2012-05-19 04:56:47 +01:00
Justin Clark-Casey (justincc)
824a3a114b refactor: Add RegionConnection.PosX and PosY to return position in meters rather than copy/pasting the necessary calculations in lots of places. 2012-05-19 04:22:30 +01:00
Justin Clark-Casey (justincc)
fb8705dd4d refactor: Rename connection paramaters from "conn" and "regionConnections" so that it's easy to tell whether they refer to the root region connection or a new region connection 2012-05-19 04:01:05 +01:00
Justin Clark-Casey (justincc)
d7f90dee1c Correct some log messages in RegionCombinerModule about the position of the root region of a megaregion relative to an added region 2012-05-19 03:56:25 +01:00
Justin Clark-Casey (justincc)
4e5ac27928 Make the megaregion total area given to the physics module accurate instead of over-inflated.
This was previously over-inflated because adding a region to the NE of the root region resulted in double counting of regions already added.
An accurate extent will also be necessary for other purposes.
2012-05-19 03:45:58 +01:00
Justin Clark-Casey (justincc)
3f2a727b6d Remove recent IRegionCombinerModule.IsMegaregion(). In theory, there can be more than one megaregion in a simulator, separated by water.
Rename IsRootRegion() to IsRootForMegaregion()
2012-05-19 03:17:21 +01:00
Justin Clark-Casey (justincc)
26dfcf5395 Add some method doc to RegionCombinerModule. Clean up log messages. 2012-05-19 03:07:24 +01:00
Justin Clark-Casey (justincc)
33247c8d85 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-19 02:46:37 +01:00
Justin Clark-Casey (justincc)
2b60a5c5d6 Add is_megaregion flag into oar control file. Not currently read - for future use. Please do not rely on this remaining here.
An adaptation of part of Garmin's patch from http://opensimulator.org/mantis/view.php?id=5975, thanks!
Flag only written if the SW corner OAR is saved - this is the only one that captures object data presently (though not land or terrain data).
This adds an IRegionCombinerModule interface and the necessary methods on RegionCombinerModule
2012-05-19 02:45:17 +01:00
BlueWall
247a56593f Further refinement on properties 2012-05-18 20:02:32 -04:00
BlueWall
e338c15433 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-18 19:34:19 -04:00
BlueWall
895dadbdbd Cleanup + change properties to set fields with private set : Thanks Justin for the tip. 2012-05-18 19:34:12 -04:00
Justin Clark-Casey (justincc)
9fa0577c7e Enable FetchInventoryDescendents2 and FetchInventory2 caps by default. This appears to be required now for LL 3.3.1 to work properly.
Without this, LL 3.3.1 continually pushes LLInventoryModelFetchDescendentsResponder::error 499 to its log.
This cap will be ignored by older viewers - UDP inventory will work normally.
2012-05-19 00:00:52 +01:00
Justin Clark-Casey (justincc)
fc5d274229 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-18 23:56:44 +01:00
Justin Clark-Casey (justincc)
896cd45939 Fix issue where a new outfit folder is not created when a new outfit is saved if there are no previous outfits
This was because AddFolder() was disallowing these though they are legal.
2012-05-18 23:55:18 +01:00
BlueWall
c05f87b50c Provide Telehub setting to allow use of landmarks
Setting to allow use of landmarks to override telehub routing. Default is off.
2012-05-18 17:51:38 -04:00
Justin Clark-Casey (justincc)
0147dc6302 Fix build break. Comment out EQG deregister/register logging. 2012-05-18 03:50:23 +01:00
Justin Clark-Casey (justincc)
90722875e8 Add millisecond logging to pCampBot for debugging purposes 2012-05-18 03:44:31 +01:00
Justin Clark-Casey (justincc)
45af29291a Add level 2 debug eq logging which logs event queue polls.
Refactor: eq message logging into common method.
2012-05-18 03:43:36 +01:00
Justin Clark-Casey (justincc)
565c73751c Invoke log4net configurator in pCampBot.exe in order to get OpenSim sylte logging 2012-05-18 00:49:39 +01:00
Justin Clark-Casey (justincc)
6501b1b1bb refactor: move EventQueueGet path generation into common method. Rename some local variables in line with code conventions. Add commented out EQG log lines for future use. 2012-05-18 00:38:29 +01:00
Justin Clark-Casey (justincc)
b18c8c8e78 Don't eagerly clear frame collision events when physics actors subscribe and unsubscribe from collisions, in order to avoid a race condition.
Since this is done directly from ScenePresence, it can lead to a race condition with the simulator loop.
There's no real point doing it anyway since the clear will be done very shortly afterwards by the simulate loop and either there are no events (for a new avatar) or events don't matter (for a departing avatar).
This matches existing behaviour in OdePrim
2012-05-17 23:59:43 +01:00
Justin Clark-Casey (justincc)
521ad080f1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-17 23:56:36 +01:00
Justin Clark-Casey (justincc)
4d34763f8c Check agent limit against root agent count rather than both root and child agents
From sl docs such as http://community.secondlife.com/t5/English-Knowledge-Base/Managing-Private-Regions/ta-p/700115
agent should apply to avatars only.
This makes sense from a user perspective, and also from a code perspective since child agents with no physics or actions take up a fraction of root agent resources.
As such, the check is now only performed in Scene.QueryAccess() - cross and teleport check this before allowing an agent to translocate.
This also removes an off-by-one error that could occur in certain circumstances on teleport when a new child agent was double counted when a pre-teleport agent update was performed.
This does not affect an existing bug where limits or other QueryAccess() checks are not applied to avatars logging directly into a region.
2012-05-17 23:33:26 +01:00
BlueWall
2af11fea37 Merge branch 'master' of /home/opensim/lib/osgrid/opensim 2012-05-17 00:49:33 -04:00
BlueWall
295bb3227d Force the default Telehub router if no matches are found in the config. 2012-05-17 00:47:19 -04:00
BlueWall
bd39f5f803 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-16 23:20:37 -04:00
BlueWall
0aa7baf49a Fix boo-boo in OpenSim.ini.example affecting telehub sequential routing
Configuration value should be "sequence" instead of "sequential"
2012-05-16 23:17:42 -04:00
Justin Clark-Casey (justincc)
c45b5a3d1c minor: improve method doc for TestSameSimulatorSeparatedRegionsCreateAgentFails() 2012-05-17 03:27:05 +01:00
Justin Clark-Casey (justincc)
d19fb6fb0c Add regression TestSameSimulatorSeparatedRegionsCreateAgentFails() 2012-05-17 03:12:31 +01:00
Justin Clark-Casey (justincc)
f0c9cb8dc0 Comment out TestSameSimulatorSeparatedRegionsQueryAccessFails() regression test logging accidentally left in 2012-05-17 01:34:04 +01:00
Justin Clark-Casey (justincc)
6b6a00a3d5 minor: Remove redundant EstateOwner != UUID.Zero check in IsAdministrator because checking EstateOwner == user
Due to an earlier check we already know that user != UUID.Zero so if EstateOwner == UUID.Zero, EstateOwner == user can never be true
2012-05-17 01:30:50 +01:00
Justin Clark-Casey (justincc)
bdcf2d1348 Add regression TestSameSimulatorSeparatedRegionsQueryAccessFails() 2012-05-17 01:27:59 +01:00
Justin Clark-Casey (justincc)
e444cb9da4 Remove redundant "Teleport failed:" from reason when QueryAccess fails for the destination simulator. This part of the string is already provided by the viewer.
Also adds more reason logging for diagnostics when teleports are refused/fail.
2012-05-17 00:33:04 +01:00
Justin Clark-Casey (justincc)
23ae24b406 Route OAR SOG loading through the common SceneObjectSerializer.FromXml2Format() rather than the functionally identical but buggy Xml2ToSOG().
Remove buggy Xml2ToSOG().
2012-05-16 00:10:42 +01:00
Justin Clark-Casey (justincc)
e644e34545 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-15 23:47:42 +01:00
Justin Clark-Casey (justincc)
1b5ce8c10e Fix issue where loading OARs could sometimes result in link numbers being reordered.
This was because the parts in scene objects were sometimes not serialized in link order.
This is perfectly fine since the parts still have the right link numbers, but an extra fix to adjust for this
had not been done in the SerialiserModule methods that OAR loading used.
Add regression test for same.
Addresses http://opensimulator.org/mantis/view.php?id=5948, http://opensimulator.org/mantis/view.php?id=5749
2012-05-15 23:43:59 +01:00
Justin Clark-Casey (justincc)
02f3b116c6 Allow use of regular expressions in "show object name", "show part name" and "delete object name" console commands if --regex switch is used.
Deleteing objects by name, creator uuid or owner uuid now requires confirmation to avoid accidental deletion.
2012-05-15 23:42:49 +01:00
Melanie
ef94c31ef8 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-05-15 03:17:42 +01:00
dahlia
1ce576b115 Add another null check to Melanie's last commit. Seems to eliminate sqlite errors in log but no idea if it's working properly 2012-05-14 19:34:18 -07:00
Melanie
65e1d7b2d7 Guard against null root part on SQLite. This really needs to be fixed so SQLite
loads roots before children like MySQL does.
2012-05-15 03:16:12 +01:00
Melanie
069bcd45e5 Try to fix sqlite breakage 2012-05-15 02:27:21 +01:00
Melanie
e7819ce909 Port Avination's collision fixes to core. 2012-05-15 01:02:38 +01:00
Oren Hurvitz
52a32878a9 Save the Telehub and its Spawn Points in the OAR 2012-05-14 19:59:45 +01:00
Justin Clark-Casey (justincc)
d7fd9b159a set executable bit for Ionic.Zip.dll for running OpenSimulator under cygwin 2012-05-14 19:36:26 +01:00
Justin Clark-Casey (justincc)
af6c85308a minor: add explanative comment to 'missing baked texture' logging commonly seen on inter-simulator teleports where avatar baked textures are not available from the asset service. 2012-05-14 18:57:42 +01:00
Justin Clark-Casey (justincc)
deeac69312 minor: comment out individual attachment transfer log messages for now 2012-05-14 18:48:40 +01:00
Justin Clark-Casey (justincc)
c2aa3b90d9 Set the agent in transit teleport flag at the first available opportunity (i.e. when IsInTransit() was being checked) to close down a race condition.
On EntityTransferModule.DoTeleport() there was an IsInTransit() check to prevent multiple simultaneous teleport attempts.
However, the SetInTransit() was only performed later on, which left a window in which multiple threads could pass the IsInTransit() check.
This has been seen in the field and the results aren't pretty.
This commit effectively combines the IsInTransit() and SetInTransit() checks so there is no such window.
More failure cases are made to to call ResetInTransit() to adjust to this move.
2012-05-14 18:36:26 +01:00
Justin Clark-Casey (justincc)
42557d7d4c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-14 18:33:20 +01:00
Justin Clark-Casey (justincc)
fad557485c Add more region information to some teleport related logging 2012-05-14 18:06:48 +01:00
BlueWall
847127f83c Oops - missed the config changes 2012-05-14 00:15:56 -04:00
BlueWall
171480f235 Merge branch 'master' of /home/opensim/src/OpenSim 2012-05-13 17:40:03 -04:00
BlueWall
b80db81cdd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-13 17:39:05 -04:00
Chris Koeritz
30a272ba31 Modifications for SMTP in OpenSimulator. Email size limit was fixed (was out of step with documentation at 1024, so boosted to 4096). Added configuration item for maximum email size. Redundant sleep inside email module was fixed (LSL Api was already sleeping). Added sleep time configuration item for snooze between email sending for LSL Api. Added two new configuration items (email_max_size and email_pause_time) into the example OpenSim.ini, plus fixed a spelling error (llimits) and odd tabbing.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-13 17:34:20 -04:00
BlueWall
7c229c8b81 Add configurable SpawnPointRouting
Will use one of three selected methods to route avatar landing
	points when using Telehubs. The setting is in [Startup] using
        SpawnPointRouting = closest/random/sequence

	closest: The default setting. Routes avatar to the nearest SpawnPoint
	to the location.

	random: Picks random SpawnPoints to land the avatar.

	sequence: Follows a sequence to place the avatar on the next available
	SpawnPoint location

Conflicts:

	OpenSim/Region/Framework/Scenes/Scene.cs
2012-05-13 17:20:54 -04:00
Justin Clark-Casey (justincc)
9d66792c2a Fix mono compiler warning.
Last jenkins failure looked like a glitch.
2012-05-12 03:04:47 +01:00
Justin Clark-Casey (justincc)
8b958e7e74 Revert "Save the Telehub and its Spawn Points in the OAR"
This reverts commit b0b7b45b94.

Sorry BlueWall, I wanted to discuss an aspect of the data storage but I couldn't assign bugs in 'patch included' state to myself until I changed mantis just now and I forgot to mention it on irc.
I wouldn't normally revert but thinks get tricky when it comes to data formats.
Essentially, I would like to see the Yaw, Pitch and Distance values as separate XML entities (as used in other aspects such as vectors, quaternions) rather than as a . delimited string
We can discuss this more with Oren in opensimulator.org/mantis/view.php?id=6008
2012-05-12 02:36:56 +01:00
Oren Hurvitz
b0b7b45b94 Save the Telehub and its Spawn Points in the OAR
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-10 22:56:37 -04:00
Justin Clark-Casey (justincc)
480216f50f Print out more information on connecting bots 2012-05-11 02:38:29 +01:00
Justin Clark-Casey (justincc)
f231ac39de Increase minimum period between bot actions to 3 seconds, so that teleport doesn't fall under the minimum 2 second limits that clients take to process it 2012-05-11 02:23:18 +01:00
Justin Clark-Casey (justincc)
9c392f6a68 Stagger multiple bot logins by 5 seconds to make this part of the test more 'realistic'
TODO: Need to make this value configurable by a command line parameter to pCampbot
2012-05-11 02:05:32 +01:00
Justin Clark-Casey (justincc)
0ddf3c5289 Do bot startup on another thread so console is responsive during this process 2012-05-11 01:56:00 +01:00
Justin Clark-Casey (justincc)
93b615c51d Do each bot shutdown on its own threads to prevent one slow shutdown holding up all the rest.
This does increase the aggressiveness of shutdown
Also prevents the bot list being locked for a long period, which was preventing commands such as "show bots" from working during shutdown
2012-05-11 01:37:03 +01:00
Justin Clark-Casey (justincc)
dc39ec82fa Change bot.IsConnected to be ConnectionState with Disconnected, Connecting, Connnected and Disconnecting states 2012-05-11 00:53:21 +01:00
Justin Clark-Casey (justincc)
ab4e6a02a5 If a bot is not connected, show region name "(none)" instead of throwing an exception in the "show bots" command of pCampbot 2012-05-11 00:37:20 +01:00
Justin Clark-Casey (justincc)
903cff9264 Add ConsoleTable framework class for future uniform formatting of console output tables.
Still subject to change - if you use this be prepared to change your output code if/when the methods change.
Make new "attachments show" command use this.
2012-05-10 23:47:39 +01:00
Justin Clark-Casey (justincc)
abc029d1f4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-10 23:43:38 +01:00
Justin Clark-Casey (justincc)
bce3e7cb06 Add "attachments" show console command that will show the server's record of which attachments an in-scene avatar has.
For debugging purposes.
2012-05-10 22:48:03 +01:00
Dan Lake
117c183fde Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-10 14:43:02 -07:00
Dan Lake
f374b63ac8 Add even for terrain tainting and synchronize terrain module with physics scene before physics simulation step rather than after 2012-05-10 14:42:46 -07:00
Mic Bowman
de44734fe9 Saving estate state is really slow (relatively) and it gets
completely rewritten every time a region starts up. This
makes the data write only when the data was not already
read from the database.

There is a still a major race condition whenever two regions
share the same estate data, but at least it won't be triggered
on startup.
2012-05-10 09:08:40 -07:00
Justin Clark-Casey (justincc)
d8a78374aa Where necessary, rename OpenSim/Services/Connectors/*.cs files to reflect the actual class names.
This is usually because the file name was singular (*Service*) but the class name was plural (*Services*).
This is to make configuration easier rather than having to look in the c# code itself to find the slightly different name of the connector.
This does not affect existing configuration since the files are being renamed rather than the classes.
2012-05-09 23:25:01 +01:00
Justin Clark-Casey (justincc)
6987aef38d Improve logging on the prim inventory script asset request path for future use.
This adds name and description of the request handler to http request logging when DebugLevel >= 1
2012-05-09 23:12:30 +01:00
Justin Clark-Casey (justincc)
e813f41478 Escape and unescape xml element names if necessary in ServerUtils.BuildXmlData() and ParseElement()
If AvatarService appearance data is retrieved over the network, then ServerUtils was attempting to transfer names such as "Wearable 0:0" directly to xml element names, resulting in an exception.
Space is not valid in xml element names.  Neither is : in this case since the intention is not to namespace.  Using names directly as keys is not a good idea.
To get around this problem this patch escapes and unescapes the element names as appropriate.
This has no impact on existing xml (since it had to be valid in the first place) but allows AvatarService data to be used over the network.
Setting appearance (from simulator to AvatarService) did not suffer this problem since the values are passed in the query string which is already properly escaped.
2012-05-09 21:11:14 +01:00
Talun
61e99bcdcb Mantis 6015 new LSL function llGetAgentList.
Details in the lsl wiki
2012-05-09 00:14:24 +01:00
Justin Clark-Casey (justincc)
e5dbb652d5 Remove physics actor related race conditions in SetVehicleFlags() and SetPhysicsAxisRotation()
sop.PhysActor can currently become null at any time.
2012-05-09 00:11:10 +01:00
Dan Lake
3bc5620d74 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-08 16:06:02 -07:00
Dan Lake
20952c75c5 Trigger event when scene presences are updated 2012-05-08 16:05:34 -07:00
Talun
c21c9e13ef Mantis 1456 same region teleport of a sitting avatar.
Region to region was fixed some time ago in EntityTransferModule.
This applies the same fix for same region teleports.
2012-05-09 00:02:13 +01:00
Justin Clark-Casey (justincc)
ef279c5a62 Add automated TestllBreakLink() 2012-05-08 23:36:23 +01:00
Justin Clark-Casey (justincc)
c0658a102e Add automated TestllCreateLink() 2012-05-08 23:29:51 +01:00
Justin Clark-Casey (justincc)
6406d5a5b9 refactor: Eliminate local id parameter from api initialize.
This is always available from m_host.LocalId
2012-05-08 23:20:27 +01:00
Justin Clark-Casey (justincc)
01b78235db Instead of constantly looking up unchanging self item in script code, pass in self item on initialization. 2012-05-08 23:05:01 +01:00
Justin Clark-Casey (justincc)
abbd050a13 Perform SceneGraph.DuplicateObject() under existing m_updateLock already used for link and delinking, in order to avoid race conditions.
DuplicateObject() relies on source object having correct link numbers for the duration of the dupe.
Both link and delink can change link numbers such that they are not consistent for short periods of time.
2012-05-08 21:31:35 +01:00
Justin Clark-Casey (justincc)
5d1d47e1f9 Revert "Better error handling if Load OAR or Save OAR fail"
This reverts commit 65c88b2ff4.

Yet again I accidentally committed something whilst evaluating it.
2012-05-07 20:01:17 +01:00
Oren Hurvitz
15844da3af Log the full exception when errors occur in BaseHttpServer 2012-05-07 19:56:00 +01:00
Oren Hurvitz
65c88b2ff4 Better error handling if Load OAR or Save OAR fail 2012-05-07 19:07:38 +01:00
Justin Clark-Casey (justincc)
a82dc263ab For osGetGridNick(), osGetGridName(), osGetGridLoginURI() and osGetGridCustom(), try to read from the [GridInfoService] section on standalone rather than [GridInfo]
[GridInfoService] is the section that's actually in bin/config-include/StandaloneCommon.ini.example
2012-05-07 19:05:21 +01:00
Justin Clark-Casey (justincc)
5053506d88 refactor: Instead of performing a ScenePresence lookup twice over LocateClientObject() and GetClientScene(), do the lookup just once in LocateClientObject() 2012-05-07 18:27:33 +01:00
Justin Clark-Casey (justincc)
cdf97ab3a6 Fix a bug in FriendsModule.StatusNotify() where all subsequent friends would not be notified once a non-local friend was found. 2012-05-07 17:21:45 +01:00
dahlia
4032455332 add a null check for Primitive.Sculpt in PrimitiveBaseShape constructor for OpenMetaverse.Primitive object 2012-05-07 00:33:50 -07:00
dahlia
4186fa10f0 remove default values from prior commit since mono cant deal with them 2012-05-07 00:08:56 -07:00
dahlia
b697d0e895 add OS_NPC_RUNNING option to osNpcMoveToTarget() to allow running speed for moving NPCs 2012-05-06 23:54:50 -07:00
Melanie
b60f51dafc Stop llSetPos from sending one update per child prim 2012-05-06 19:21:54 +01:00
nebadon
c11b3760da just another test :) 2012-05-05 14:49:10 -07:00
nebadon
f19fe50629 never say last test!! 2012-05-05 14:45:53 -07:00
nebadon
86dd5adceb one last test.. 2012-05-05 14:42:33 -07:00
nebadon
8d070cf47b last test clean up the mess.. 2012-05-05 14:32:40 -07:00
nebadon
531c52abe3 test #2 2012-05-05 13:59:40 -07:00
nebadon
9317b888f9 testing new opensimulator.org hardware out to make sure git still works! 2012-05-05 13:49:10 -07:00
Justin Clark-Casey (justincc)
01b00ad0d5 Fire the scripting changed event with CHANGED_OWNER when an object that has changed owners is rezzed.
This needs to occur after the script is resumed rather than before, when the event is just dropped.
Addresses http://opensimulator.org/mantis/view.php?id=5890 and http://opensimulator.org/mantis/view.php?id=5952
2012-05-05 00:29:14 +01:00
Justin Clark-Casey (justincc)
e18686528e Use the more efficient HashSet instead of List for FlotasmAssetCache.m_CurrentlyWriting 2012-05-04 23:03:33 +01:00
Justin Clark-Casey (justincc)
dec6ad2933 Don't try and update the access time of a file that is actively being cached.
This may cause IOErrors on Windows.
Aims to help with http://opensimulator.org/mantis/view.php?id=6003
2012-05-04 22:57:33 +01:00
Justin Clark-Casey (justincc)
da4819a170 Temporarily add debug log lines to lsl url request and release
To help with http://opensimulator.org/mantis/view.php?id=5993
2012-05-04 22:11:25 +01:00
Justin Clark-Casey (justincc)
c84ef57e52 minor: remove mono compiler warning 2012-05-04 21:04:42 +01:00
Talun
92fde6ed26 Mantis 60004 problems with damage and llSetDamage. In damage enabled areas this patch - Deletes any objects that have damage set > 0 that deliver that damage to an avatar Stops Gods receiving damage, Stops volume detect objects causing damage Deletes NPCS when their helth reduces to zero Gradually "heals" damage to an avatar Resets health on going to a non damage area 2012-05-04 21:01:09 +01:00
Justin Clark-Casey (justincc)
6096a1f30e Change LongCallTime on WebUtil to 3000, to match the time where request handling is considered "slow".
This may be the wrong thing to do but stops lots of log spam in HG setups now that the monitoring is extended to other outgoing calls.
LongCallTime may need to be made configurable.
2012-05-04 20:53:30 +01:00
Justin Clark-Casey (justincc)
e83bc049df refactor: Rename new DeleteFoldersEx/PurgeFoldersEx methods to DeleteFolders/PurgeFolders overloads as previously discussed with Oren - I think this makes more sense on balance
These overloads are not publicly available on core connectors or IInventoryService.
2012-05-04 20:37:21 +01:00
Oren Hurvitz
ad23774433 Allow deleting folders even if they're not in the Trash
The functions DeleteFolders() and PurgeFolder() still work as before, i.e. they only allow deleting folders that are in the Trash. However, the functions DeleteFoldersEx() and PurgeFolderEx() can now be used to delete any folder.
2012-05-04 20:30:46 +01:00
Justin Clark-Casey (justincc)
cccef2e56d Calculate the Daylight Savings Time information sent to the viewer based on US Pacific Standard Time rather than whatever timezone the login server is set to.
This is because the viewer doesn't receive a timezone from the server but bases its displays on Pacific Standard Time.
However, it still expects to receive notification from the server as to whether or not Daylight Savings Time for PST is in operation.
This commit introduces a new DSTZone setting in the [LoginService] config setting that accepts a list of timezone names valid across different platforms to calculate Pacific DST.
If you need the old behaviour of calculating DST based on the local timezone of the server running the login service, then please override DSTZone with "local".
A mailing list announcement will be made later.
Thanks to Olivier Van Helden and Gudule Lapointe for determining this behaviour and providing this patch.
From http://opensimulator.org/mantis/view.php?id=5972
2012-05-04 19:21:43 +01:00
Justin Clark-Casey (justincc)
fb99ee6774 minor: Tweak BaseHttpServer message to make it clear that this relates to slow handling of inbound requests. 2012-05-04 01:16:56 +01:00
Justin Clark-Casey (justincc)
c9faf0df74 Extend 'slow' request logging to other server outbound requests (forms, rest, async rest) as well as the existing logging on outbound OSD requests.
Also prints out the first 100 chars of any slow request data since this can contain useful info (such as agent ID).
2012-05-04 01:12:56 +01:00
Justin Clark-Casey (justincc)
c221eaf0b0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-05-03 22:39:04 +01:00
Justin Clark-Casey (justincc)
fcd5b0817b Reinsert a 2000ms delay before closing a no longer required agent on the source region after teleport to resolve Imprudence teleport problems.
Viewers 1 and 3 are fine with doing this immediately.  However, Imprudence has a small delay (<200ms, >500ms) after receiving the AgentCompleteMovement reply packet on the destination region before regarding that region as the currnet region.
If Imprudence receives a DisableSimulator in this period, it quits.
We are not restoring the full 5000ms delay since this brings back a bug where teleports permanently fail if an avatar tries to teleport back too quickly.
This commit also sends the AgentCompleteMovement packet to the client before telling the source region to release its old agent, in order to further cut down any possibility of the DisableSimulator being recieved before the AgentMovementComplete.
2012-05-03 22:30:36 +01:00
Snoopy Pfeffer
100e4ca67e Fixes Mantis #5999. llSetLinkPrimitiveParams with PRIM_BUMP_SHINY did cause a runtime error. 2012-05-03 19:00:09 +02:00
Justin Clark-Casey (justincc)
bf5f8b54ae Remove the somewhat misleading logging of the string length of some unknown requests, as this appeared to be some kind of numbered error code.
This brings these messages into line with similar messages that did not do this.
2012-05-03 02:22:06 +01:00
Justin Clark-Casey (justincc)
9ffc2c1062 minor: resolve some mono compiler warnings 2012-05-03 01:56:24 +01:00
Justin Clark-Casey (justincc)
231a3bf147 Implement optional name and description on http stream handlers so that we can relate a slow request to what the handler actually does and the agent it serves, if applicable.
This is most useful for capabilities where the url is not self-describing.
2012-05-03 01:45:49 +01:00
Justin Clark-Casey (justincc)
40f3c24562 Comment out the five second sleep in etm.DoTeleport() if the old agent needs to be closed because it is no longer in the child's view distance.
This sleep appears unnecessary since a sleep has already occurred in WaitForCallback() whilst waiting for the destination region to notify of teleport success.
There are no async operations between this sleep and the WaitForCallback()
If this sleep is present, then teleporting back to the source region within 5 seconds results in a disconnection.
If this sleep is commented out then teleporting quickly back and forth between two simulators appears to work without issue.
Tested on standalone, local grid and distributed grid.
Please revert if there's something that I've missed.
2012-05-01 23:49:02 +01:00
Justin Clark-Casey (justincc)
a29f7f7551 Remove some test code that accidentally crept in with 9d2e1c67 2012-05-01 23:25:30 +01:00
Justin Clark-Casey (justincc)
9d2e1c67a8 Add regression test for teleporting between neighbouring regions on the same simulator
This adds a non-advertised wait_for_callback option in [EntityTransfer].  Default is always true.
Teleport tests disable the wait for callback from the destination region in order to run within a single thread.
2012-05-01 23:14:12 +01:00
Justin Clark-Casey (justincc)
5786521103 Move max teleport distance check down into etm.DoTeleport() since this should apply to all teleport calls, not just those through Teleport() 2012-05-01 18:38:46 +01:00
Justin Clark-Casey (justincc)
37dd174697 refactor: Split most of EntityTransferModule.Teleport() into its same region and different region teleport components.
DoTeleport() now retrives IEventQueue itself rather than requiring it to be passed in.
2012-05-01 17:52:30 +01:00
Justin Clark-Casey (justincc)
b678ea18b2 Create TestHelpers.EnableLogging() and DisableLogging() to turn logging on and off within tests.
This makes *.Tests.dll.config files no longer needed, hence deleted.
2012-04-30 18:44:22 +01:00
Justin Clark-Casey (justincc)
cc482d2d56 Add TBG Renfold to contributors 2012-04-30 17:39:11 +01:00
TBG Renfold
9c2a73b61e llGenerateKey implementation. Creates a random UUID I.E: UUID.Random().ToString();
Signed-off-by: TBG Renfold <tbg.renfold@g2mv.co.uk>
2012-04-30 17:36:49 +01:00
Justin Clark-Casey (justincc)
d0598c63f3 refactor: Simplify by combining SafeSendControlsToScripts() from fe8e835 into SendControlsToScripts() (instead of SendControlToScripts()). 2012-04-30 17:33:08 +01:00
Oren Hurvitz
fe8e835bfc Fixed: scripted controls didn't work if the avatar was sitting down
This fixes a bug introduced in 6473674bbf
2012-04-30 17:18:15 +01:00
Justin Clark-Casey (justincc)
4ad45934c6 If there are no new prim items to store then don't bother opening the MySqlConnection only to do nothing with it. 2012-04-30 16:00:31 +01:00
Justin Clark-Casey (justincc)
522eff6138 Consistently use using() to make sure we dispose of used MySqlCommands where this is not already being done. 2012-04-30 15:54:35 +01:00
Justin Clark-Casey (justincc)
8380166251 Comment out debug [ASYNC DELETER] messages for now. 2012-04-28 00:39:40 +01:00
Justin Clark-Casey (justincc)
cd755fe598 Remove mono compiler warning. Adjust message log to error from info 2012-04-28 00:31:11 +01:00
Justin Clark-Casey (justincc)
133f05dc41 Add text about using double quotes to surround console command arguments containing spaces to "help" text.
e.g. show object name "My long object name"
2012-04-28 00:29:08 +01:00
Justin Clark-Casey (justincc)
2bad430ed8 Put scene object related console commands into new "Objects" help category rather than "Regions" 2012-04-28 00:08:04 +01:00
Justin Clark-Casey (justincc)
ab71779221 Revert "Revert "Implement bulk inventory update over CAPS (not recursive by design,""
This reverts commit a90b0e302c.

Sorry, accidentally reverted this completely by mistake, reverting the revert.
2012-04-27 23:54:45 +01:00
Justin Clark-Casey (justincc)
737e177163 Revert "Log the full exception when errors occur in BaseHttpServer"
This reverts commit e31e7c68c8.

Applied for patch assessment and accidentally committed too early.
2012-04-27 23:46:46 +01:00
Justin Clark-Casey (justincc)
a90b0e302c Revert "Implement bulk inventory update over CAPS (not recursive by design,"
This reverts commit 6e7f13a72d.
2012-04-27 23:46:33 +01:00
Justin Clark-Casey (justincc)
da29cbccfa Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-27 23:39:13 +01:00
Justin Clark-Casey (justincc)
d25469f66e Add flags information (phantom, physics, etc.) to "show object" and "show part" console commands 2012-04-27 23:38:25 +01:00
Oren Hurvitz
e31e7c68c8 Log the full exception when errors occur in BaseHttpServer 2012-04-27 21:52:04 +01:00
BlueWall
db566fbb09 Fix prebuild.xml
adding a reference to a dll requires 'path="..."'
2012-04-27 16:17:46 -04:00
Oren Hurvitz
6473674bbf Fixed: custom walking animations didn't stop when the avatar stopped walking.
This happened because the scripts were notified about control changes (e.g., the user stopped pressing the Forward key) when the animation was still WALK, so the script didn't stop the walking animation. Fixing this required: a) Update the movement animation *before* notifying the script; b) Add locking to prevent clashes with the Heartbeat thread (which also updates the animations); c) Handle the case of a user who stops walking just as the avatar is in the air: the avatar should STAND in that case, not WALK.

This reverts commit feef1dd732.
2012-04-27 20:47:02 +01:00
Oren Hurvitz
9622e8ac72 If a Grid God teleports then include the Godlike teleport flag. This can affect the starting position in the destination region. 2012-04-27 20:22:35 +01:00
Oren Hurvitz
37d770f814 Use DotNetZip to compress OARs and IARs.
DotNetZip provides much better compression than standard .NET.
2012-04-27 19:46:31 +01:00
Justin Clark-Casey (justincc)
9d1791def8 Add Stefan_Boom / stoehr to contributors 2012-04-27 19:42:12 +01:00
Justin Clark-Casey (justincc)
e39e4f6bfb minor: style adjustments in SensorRepeat, mainly related to patch from stoehr 2012-04-27 19:40:19 +01:00
Stefan_Boom
b35a1d5681 Fixing wrong position of llSensor, SensePoint wasnt following the rotation of the root prim. 2012-04-27 19:31:50 +01:00
Diva Canto
9bc94c502a MapImageService: changed the event at which the map tiles are uploaded, because they were being uploaded before the region was registered with the grid 2012-04-27 11:05:40 -07:00
Diva Canto
a9dbe39319 MapImage security issue. Compare strings instead of IPAddresses. 2012-04-27 10:39:20 -07:00
Diva Canto
292752bb78 MapImage security issue: better error messages 2012-04-27 10:22:43 -07:00
Diva Canto
ac64fe03d8 Amend to last commit: account for the existence of proxies. 2012-04-27 09:59:46 -07:00
Diva Canto
2970a18e54 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-27 09:26:14 -07:00
Diva Canto
c84f63f4dc Minor change in error message (HG teleport failures) 2012-04-27 09:24:50 -07:00
Diva Canto
e4e754ee93 MapImageService: added an additional security check for OSGrid and other grids like it. 2012-04-27 09:23:56 -07:00
Justin Clark-Casey (justincc)
07e62df558 Add regression test for teleporting an agent between separated regions on the same simulator.
This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
2012-04-27 00:58:54 +01:00
Oren Hurvitz
8a65f5a70d OSSL: Removed check for CanRunConsoleCommand() in osKickAvatar.
OSSL permissions are now controlled in OpenSim.ini.
2012-04-26 22:53:13 +01:00
Oren Hurvitz
0da8fe3124 Refactored how asset/inventory types are associated with content types: gathered all the knowledge into a single class. Added the Mesh content type. 2012-04-26 22:49:14 +01:00
Oren Hurvitz
ee13d817f1 When creating an OAR, objects where the user is the Creator are always included, regardless of their permissions.
The purpose of the permission checks is to prevent the unauthorized copying of assets, but users can always copy assets that they created.
2012-04-26 22:41:31 +01:00
Justin Clark-Casey (justincc)
cb6791fb30 Tweak log messages on local region to region teleport path to help with problem resolution. 2012-04-26 22:35:25 +01:00
Justin Clark-Casey (justincc)
d19aa9e792 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-26 21:54:50 +01:00
BlueWall
2542ca2a49 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-26 16:40:36 -04:00
BlueWall
fba802bb03 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-04-26 16:13:47 -04:00
Talun
b8114d2b67 Add a version of osNpcSay that takes a channel number Mantis 5747
osNpcSay(UUID npc, string message) left untouched

New functions:-
osNpcSay(UUID npc, int channel, string message)
osNpcShout(UUID npc, int channel, string message)
osNpcWhisper(UUID npc, int channel, string message)

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-26 16:13:29 -04:00
Justin Clark-Casey (justincc)
ca228c4770 Comment out old Scene.HandleLogOffUserFromGrid() to reduce client closing analysis complexity 2012-04-26 16:20:53 +01:00
Justin Clark-Casey (justincc)
f49912f92a minor: Add more detail to unauthorized caps client message 2012-04-26 16:10:24 +01:00
Justin Clark-Casey (justincc)
b0cbf16c19 minor: Add region name to dropped inbound packet message 2012-04-26 16:04:49 +01:00
Justin Clark-Casey (justincc)
4c4ffb9868 Add request verb and url to error messages in WebUtil that lack this.
Make exception printing consistent across windows and mono.
2012-04-26 00:43:31 +01:00
Justin Clark-Casey (justincc)
e52fe03fff minor: Add avatar name to removing agent log message 2012-04-26 00:42:37 +01:00
Justin Clark-Casey (justincc)
74dbfe6bb5 Comment out avatar move to target message for now. 2012-04-25 23:46:42 +01:00
Mic Bowman
133370f158 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-25 11:57:29 -07:00
Mic Bowman
a2d544c938 Add a configuration switch to turn on/off the use of the trash
folder when deleting objects from a scene. The use of the trash
folder causes assets to be created and stored everytime you delete
an object from the scene (slows down the delete and adds mostly useless
assets to your database).

Default is on (use the trash folder) which is the standard behavior.
2012-04-25 11:54:57 -07:00
Melanie
88553bb884 Port Avination link order to make OpenSim behave like SL. Make Primstar scripts work. Fixes Mantis #5990 2012-04-25 19:09:22 +01:00
Mic Bowman
1afae01311 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-25 09:52:44 -07:00
Mic Bowman
bec100a662 Add try/catch around Json script method registration to avoild some issues
with .NET 3.5 vs 4.0 differences.

See http://opensimulator.org/mantis/view.php?id=5971
2012-04-25 09:51:30 -07:00
Diva Canto
7aa25c6762 Slight rewording of output messages. 2012-04-24 22:40:07 -07:00
Diva Canto
fd281ded3f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-24 22:17:52 -07:00
Diva Canto
cf1c34605b HG: Moved User-level code down to the HGEntityTransferModule where it belongs. 2012-04-24 22:17:10 -07:00
Melanie
550ff3b4da Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-04-25 04:01:55 +01:00
Melanie
3be3189ee0 Commit the avination Teleport() methods (adaptedto justincc's changes) 2012-04-25 04:00:01 +01:00
Justin Clark-Casey (justincc)
af86e2939c zero out SP velocity before calling SP.Teleport(), as the client expects (though this is also effectively done by physics at the moment) 2012-04-25 03:47:26 +01:00
Justin Clark-Casey (justincc)
683cfc6f82 refactor: Combine ScenePresence.Teleport() and TeleportWithMomentum()
These are identical apart from setting Velocity = zero, which has no practical effect anyway since this is zeroed when the avatar is added back to the physics scene.
2012-04-25 02:07:55 +01:00
Justin Clark-Casey (justincc)
a65ca24701 Add regression test TestSameRegionTeleport() 2012-04-25 01:51:40 +01:00
Justin Clark-Casey (justincc)
f24289c47f Comment out AvatarService.SetAvatar debug log line for now 2012-04-25 01:09:23 +01:00
Justin Clark-Casey (justincc)
6b299a4287 Comment out some debug ATTACHMENTS log messages for now. 2012-04-25 00:52:33 +01:00
Justin Clark-Casey (justincc)
39a6d7cab4 Comment out the noisier AVFACTORY log messages for now.
Permanently comment out warnings about ScenePresence not being found - this is entirely expected if the avatar has alraedy logged out or left the scene.
2012-04-25 00:47:32 +01:00
Justin Clark-Casey (justincc)
0f470326aa Improve teleport log debug and error messages to tell us who is teleporting. 2012-04-25 00:19:38 +01:00
Justin Clark-Casey (justincc)
54d5ff6774 Go back to always using the local timezone for now - not all machines have US/Pacific or Olsen Amercia/Los_Angeles and this introduces variability that the server operator cannot control
Please see http://opensimulator.org/mantis/view.php?id=5972 soon for more comments.
2012-04-24 23:00:50 +01:00
Justin Clark-Casey (justincc)
ef1668adb3 Revert "Refactored how asset/inventory types are associated with content types: gathered all the knowledge into a single class. Added the Mesh content type."
This reverts commit d3a4d67a20.

Accidentally committed this when I didn't mean to yet.
2012-04-24 21:42:32 +01:00
Oren Hurvitz
2f398231ac Minor improvements to logging
Eliminated an extra newline in the console if the log line doesn't contain a category (example of a category: "[ASSETS]").
2012-04-24 21:38:09 +01:00
Oren Hurvitz
d3a4d67a20 Refactored how asset/inventory types are associated with content types: gathered all the knowledge into a single class. Added the Mesh content type. 2012-04-24 20:52:18 +01:00
Oren Hurvitz
da5fd53702 Fixed problem with MySQL: it was possible for one thread to use an incomplete list of column names if another thread was creating the list at the same time. Now this is thread-safe. 2012-04-24 20:49:28 +01:00
Oren Hurvitz
c70e85a327 When reading a region, use null objects to represent NULL fields.
Previously NULL fields were converted to an empty string due to the use of ToString(). But if the field was an Int (e.g., "locZ"), then the subsequent attempt to convert an empty string to an int caused an exception. Now the field is null so we don't try to convert it, so there's no exception.
2012-04-24 20:46:31 +01:00
Oren Hurvitz
6011bfa5e3 OSSL: fixed the threat level check for osParseJSONNew 2012-04-24 20:41:29 +01:00
Justin Clark-Casey (justincc)
cbe889e10b minor: formatting changes to top of LLLoginResponse.SetDefaultValues(), chiefly some break up of the long line. 2012-04-24 20:30:19 +01:00
Olivier van Helden and Gudule Lapointe (Speculoos.net)
0e3053e4c9 DST settings to match client default Pacific Time (mantis #5972) 2012-04-24 20:22:34 +01:00
Justin Clark-Casey (justincc)
c6f30e044b Restore _parent_scene.actor_name_map[prim_geom] = this; accidentally removed from ODEPrim.SetGeom.
This occurred in 7a574be3fd from Sat 21 Apr 2012.
This should fix collision detection.
Mnay thanks to tglion for the spot and the fix in http://opensimulator.org/mantis/view.php?id=5988
2012-04-24 20:15:10 +01:00
Diva Canto
fd27988978 Changed the Map-related messages from Info to Debug. They're debug messages. 2012-04-23 21:29:18 -07:00
Justin Clark-Casey (justincc)
6c21e15cb9 Add online/offline indicator to "friends show" region console command.
Improve output table formatting.
2012-04-24 00:32:01 +01:00
Justin Clark-Casey (justincc)
40e37d8b78 Add osForceAttachToAvatar() and osForceDetachFromAvatar()
These behave identically to llAttachToAvatar() and llDetachFromAvatar() except that they do not enforce the PERMISSION_ATTACH check
Intended for use in completely controlled dedicated environments where these checks are more a UI hinderance than a help.
Threat level high.
2012-04-24 00:03:57 +01:00
Justin Clark-Casey (justincc)
b798b32b19 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-23 22:54:11 +01:00
Justin Clark-Casey (justincc)
1f8d1bcdcf Replace common code to fetch self inventory item (as opposed to uuid) with GetSelfInventoryItem()
However, at some point it would be far more convenient to receive the TaskInventoryItem in the constructor rather than just the item UUID, so we don't have to constantly refetch our self item.
2012-04-23 22:52:46 +01:00
Justin Clark-Casey (justincc)
60065f06b3 refactor: Replace calls to InventorySelf() with existing m_itemID in LSL_Api
There's no point look up an item ID that we already have.
2012-04-23 22:23:47 +01:00
Talun
679da63da6 Mantis 5977 Corrections to llRegionSayTo
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-04-23 07:16:33 -04:00
Justin Clark-Casey (justincc)
49ed68e98c refactor: simply some properties code in BasicPhysicsPlugin 2012-04-22 20:28:12 +01:00
Justin Clark-Casey (justincc)
58c890df5d Make TestSetPhysicsSinglePrim() actually add the object to the scene in order to test more code paths. 2012-04-22 20:03:34 +01:00
Justin Clark-Casey (justincc)
8205fe79ce Fix bug where setting phantom on a prim would result in a server log message rather than setting phantom.
This was an oversight when removing some race conditions from PhysicsActor setting recently.
Regression tests extended to probe this code path.
Extending regression tests required implementation of a BasicPhysicsPrim (there was none before).  However, BasicPhysics plugin is still of no current practical use other than to fill in as a component for other parts of regression testing.
2012-04-22 19:51:51 +01:00
Justin Clark-Casey (justincc)
ae2b8f7007 Comment out spurious Body != IntPtr.Zero code after disableBody(), since disableBody() sets Body == IntPtr.Zero on all code paths. 2012-04-21 03:42:54 +01:00
Justin Clark-Casey (justincc)
f609594595 refactor: Simplify ODEPrim.AddChildPrim() by returning early where appropriate. 2012-04-21 03:23:51 +01:00
Justin Clark-Casey (justincc)
77a7de87e1 Add test for setting physics in a linkset 2012-04-21 02:45:16 +01:00
Justin Clark-Casey (justincc)
d5c724e5b8 Add regression test for prim status when root prim in a new linkset is non-physical 2012-04-21 01:51:57 +01:00
Justin Clark-Casey (justincc)
9ac48b2aff Fix a bug where linking a non-physical prim with a physical prim as root would make the non-physical prim phantom rather than part of the physics object.
On region restart, the whole object would become physical as expected.
Observed behaviour from elsewhere is that all prims in a new linkset should take on the status of the root prim.
Add regression test for this behaviour.
2012-04-21 01:43:09 +01:00
Justin Clark-Casey (justincc)
17bf2a62db Add test for correct physics status on linking two physics objects
Also fixes last build break.
2012-04-21 01:09:42 +01:00
Justin Clark-Casey (justincc)
71900968b2 refactor: extract common setup code in SceneObjectStatusTests 2012-04-21 01:01:24 +01:00
Justin Clark-Casey (justincc)
ae789f6c16 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-21 00:55:27 +01:00
Justin Clark-Casey (justincc)
06552f217e Add TestSetPhysics() to SOP status tests 2012-04-21 00:54:48 +01:00
Justin Clark-Casey (justincc)
7a574be3fd Remove redundant prim_geom != IntPtr.Zero checks in ODEPrim.
prim_geom == IntPtr.Zero only before a new add prim taint is processed (which is the first taint) or in operations such as scale change which are done in taint or under lock.
Therefore, we can remove these checks which were not consistently applied anyway.
If there is a genuine problem, better to see it quickly in a NullReferenceException than hide the bug.
2012-04-21 00:12:07 +01:00
Justin Clark-Casey (justincc)
c8307cdf1e Improve bitmap disposal to do null checks and not to potentially try disposal of uninitialized variables.
This issue doesn't cause the mono 2.10.5 compiler to fail but appears to cause the windows compiler to fail.
Resolves http://opensimulator.org/mantis/view.php?id=5973
2012-04-20 23:35:11 +01:00
Justin Clark-Casey (justincc)
566327a948 If a physical prim is manually moved (e.g. by a user) then set the geometry position as well as the body position
This is necessary to stop the moved prim snapping back to the original position on deselection if moved only once
This resolves http://opensimulator.org/mantis/view.php?id=5966
2012-04-20 23:24:24 +01:00
Justin Clark-Casey (justincc)
75f117484b Always dispose of existing opened bitmap from file in SaveFile(), instead of simply dropping the reference if the existing file didn't contain a bitmap of the same size. 2012-04-20 03:57:22 +01:00
Justin Clark-Casey (justincc)
cba64ebc79 Explicitly dispose of bitmaps opened from files in GenericSystemDrawing and JPEG.cs 2012-04-20 03:46:33 +01:00
Justin Clark-Casey (justincc)
4ac2f839bd Remember to dispose of the bitmap opened from a file in GatekeeperServiceConnector.GetMapImage() 2012-04-20 03:32:38 +01:00
Garmin Kawaguichi
63cda3a6d0 concerns GenericSystemDrawing.cs
in OpenSim\Region\CoreModules\World\Terrain\FileLoaders\GenericSystemDrawing.cs
Ln 67
Apply Justin's solution

Signed-off-by: Garmin Kawaguichi <garmin.kawaguichi@magalaxie.com>
2012-04-20 03:26:02 +01:00
Justin Clark-Casey (justincc)
f3dda2d85d Add more exception detail to Exception and IOException throws in BaseHttpServer.HandleRequest() 2012-04-20 03:12:25 +01:00
Justin Clark-Casey (justincc)
2b98e2f106 Stop teleports from dropping tall avatars through or embedding them in the floor when lured by short avatars.
This involves giving the ceiling of the Z-component in a lure rather than the floor.
Ideally we would give the exact float compensating for relative avatar height but it looks like that isn't possible with the parcel id format used in lures
2012-04-20 02:50:36 +01:00
Melanie
beb7b8d189 Fix a logic error in app domain creation 2012-04-18 23:23:37 +01:00
Melanie
7a255efdb2 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-04-18 20:07:32 +01:00
Melanie
ea73a03553 Don't re-add the assembly resolver for each script if not creating the appdomain 2012-04-18 20:01:41 +01:00
Justin Clark-Casey (justincc)
c85f9d681a On "show part" command, show link number.
This replaces the Parts count which was rather pointless for a prim (it was either 1 if a child or the number of parts if the root).
This information is still avaliable on the "show object" command.
2012-04-18 00:39:39 +01:00
Justin Clark-Casey (justincc)
b430c0162c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-18 00:00:09 +01:00
Justin Clark-Casey (justincc)
859646ef5c minor: Add some method doc. Add warnings since calling SOG link/delink methods directly rather than through Scene may allow race conditions. 2012-04-17 23:54:51 +01:00
Mic Bowman
84891930aa clean up some more logging spam in the jsonstore modules 2012-04-17 14:23:43 -07:00
Mic Bowman
4db518b9a3 Fix the Csharp 3.0 vs 4.0 problem in JsonStore initialization.
Cut down on the logging spam.
2012-04-17 14:15:17 -07:00
Mic Bowman
2d45ba47ac add configuration for jsonstore module, disabled by default 2012-04-17 13:55:00 -07:00
Mic Bowman
5ff2bda587 This commit adds a new optional region module, JsonStore, that provides structured
storage (dictionaries and arrays of string values) for scripts and region modules.
In addition, there are operations on the storage that enable "real" distributed
computation between scripts through operations similar to those of a tuple space.
Scripts can share task queues, implement shared locks or semaphores, etc.

The structured store is limited to the current region and is not currently
persisted. However, script operations are defined to initialize a store from a notecard
and to serialize the store to a notecard.

Documentation will be posted to the opensim wiki soon.
2012-04-17 13:45:27 -07:00
Mic Bowman
4bb72c9ffe make the namespace for the ScriptModuleComms consistent with its file system location 2012-04-17 13:45:03 -07:00
Justin Clark-Casey (justincc)
cca6b6bd0d Add TestGetChildPartPositionAfterObjectRotation() 2012-04-17 02:14:10 +01:00
Justin Clark-Casey (justincc)
2f2181683c Add test TestGetChildPartPosition() 2012-04-17 01:51:13 +01:00
Justin Clark-Casey (justincc)
7e1ab216e3 Move some public methods on WebStatsModule to private to reduce some static analysis complexity.
There's no obvious reason for these methods to be public.
2012-04-17 01:33:55 +01:00
Justin Clark-Casey (justincc)
24a0cc5261 refactor: Rename EstateSettings.IsEstateManager() to EstateSettings.IsEstateManagerOrOwner() to reflect what it actually does.
This makes it consistent with other parts of OpenSimulator that are treating ESTATE_MANAGER and ESTATE_OWNER as different entities.
As per opensim-dev mailing list.
2012-04-17 01:25:41 +01:00
Talun
5655239f44 Null reference in llGetObjectMass on a seated avatar. 2012-04-17 00:56:46 +01:00
Justin Clark-Casey (justincc)
e6ec83125b Use INSERT OR REPLACE INTO sql in WebStatsModule for session update rather than separate insert and update statements 2012-04-17 00:46:43 +01:00
Justin Clark-Casey (justincc)
572440cd23 correct bug where f_invalid was being inserted on a webstats update for an existing session rather than d_world_kb 2012-04-17 00:33:23 +01:00
Justin Clark-Casey (justincc)
1bb3873338 Simplify WebStatsModule by removing the uncompleted migrations section.
Use "create table if not exists" instead.
Client stats data is transitory data that it is not worth migrating.
2012-04-17 00:19:36 +01:00
Justin Clark-Casey (justincc)
f213f55586 Fix bug in WebStatsModule where an exception would always be output on update if the user teleported to another region on that simulator.
This was because update was looking for an existing stats record unique in session id, agent id and region id.
But if the user teleports to another region then region id changes.
WebStatsModule promptly doesn't find the existing record and tries to insert a new one, but only session id is the primary key and that's still the same, which makes things go bang.
This makes the update search only on the unique session id.
This is only an issue with simulators that have multiple regions where the webstats module is enabled.
2012-04-17 00:02:58 +01:00
Justin Clark-Casey (justincc)
2c74e1bba8 Add GroupPosition and GetWorldPosition() checks to TestGetRootPartPosition() 2012-04-14 01:57:09 +01:00
Justin Clark-Casey (justincc)
da342d0b21 minor: make test names consistent 2012-04-14 01:53:40 +01:00
Justin Clark-Casey (justincc)
f61b234252 refactor: move common init code into SetUp() in SceneObjectSpatialTests 2012-04-14 01:52:16 +01:00
Justin Clark-Casey (justincc)
317aebcce6 refactor: put SOG position test in a separate TestSceneObjectGroupPosition() 2012-04-14 01:47:56 +01:00
Justin Clark-Casey (justincc)
40d01fb20b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-14 01:43:57 +01:00
Justin Clark-Casey (justincc)
3ae98611f2 Add simple RelativePosition and OffsetPosition checks to TestGetRootPartPosition 2012-04-14 01:43:03 +01:00
Melanie
e8898710d5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-04-14 01:14:43 +01:00
nebadon
2254a718c8 Add Talun to the CONTRIBUTORS.txt, Thank you for the great patches
Talun
2012-04-13 17:09:23 -07:00
Talun
4d652c7041 Missing or unimplemented LSL memory functions.
Implemented to behave as if scripts were LSO.

Signed-off-by: nebadon <michael@osgrid.org>
2012-04-13 17:08:00 -07:00
Melanie
4bdd9d51bc Correct whitespace error introduced by previous commit 2012-04-14 01:04:26 +01:00
Justin Clark-Casey (justincc)
eeec1f32c6 Add very basic TestGetRootPartPosition() test 2012-04-14 01:01:28 +01:00
Kevin Cozens
a366c05ae2 Added ability to exclude inventory items or folders when saving IAR files. 2012-04-13 23:31:12 +01:00
Justin Clark-Casey (justincc)
eced091689 Change threat level of osNpcStopMoveToTarget from Low to High to match other NPC functions, and change OSSL permissions name to osNpcStopMoveToTarget instead of osNpcStopMoveTo
Thanks to Oren Hurvitz for pointing out these mistakes.
2012-04-13 22:52:24 +01:00
Justin Clark-Casey (justincc)
1ad3fdb40b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-13 22:34:36 +01:00
Justin Clark-Casey (justincc)
ab7c0e7547 Remove hardcoded god requirement from osSetRegionWaterHeight, osSetRegionSunSettings and, osSetEstateSunSettings no matter the threat level.
Change threat level on osSetRegionSunSettings and osSetEstateSunSettings from nuisance to high to match similar functions.
If you had enabled these functions but had relied on the hardcoded god check in the code, then please adjust your OSSL permissions config.
Thanks to Oren Hurvitz for pointing this out.
2012-04-13 22:32:33 +01:00
Talun
08e509978d Mantis 55025 Implement script time.
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-12 18:44:00 -07:00
nebadon
30d8506bc2 make changes to FlotsamCache.ini.example as noted in mantis #5960
http://opensimulator.org/mantis/view.php?id=5960
2012-04-12 18:27:14 -07:00
Snoopy Pfeffer
8be14095fe HGFriendsModule: Type casts to fix compile error 2012-04-11 18:56:28 +02:00
Snoopy Pfeffer
1f4d3d3582 HGFriendsModule: Added optional user level based restriction to send friendship invitations to foreign users. 2012-04-11 18:52:07 +02:00
Diva Canto
f2ede8c7e0 HGFriendsModule: add the scaffolding for supporting permissions pertaining to HG friendships. Snoopy take it from here. 2012-04-11 08:13:11 -07:00
Snoopy Pfeffer
78fd487a70 New OS scripting functions osSetTerrainTexture and osSetTerrainHeight as originally proposed in SL Jira (https://jira.secondlife.com/browse/SVC-244). 2012-04-10 21:49:43 +02:00
Justin Clark-Casey (justincc)
4ab479bf58 Add uri to various log messages when region registration fails. Upgrade some debug log messages to error. 2012-04-10 20:40:59 +01:00
Justin Clark-Casey (justincc)
fb44e7b636 minor: convert tabs to spaces in config example files from recent 7c534e5 2012-04-10 17:46:34 +01:00
Justin Clark-Casey (justincc)
2b339bfd97 Correct max_listeners_per_region in OpenSimDefaults.ini to max_listens_per_region
Value for this setting in OpenSimDefaults.ini (1000) is same as setting in code (1000) so this should have no effect
Thanks to Ovi Chris Rouly for pointing this out.
2012-04-10 17:22:02 +01:00
Snoopy Pfeffer
f9dd4ed89c Do not timeout group member cache entry, as long as there are frequent group membership requests. These are caused by movements within the parcel boundaries. 2012-04-10 15:51:26 +02:00
Talun
78c0028179 Mantis5502 implementation of some of the new constants
Signed-off-by: Melanie <melanie@t-data.com>
2012-04-09 21:25:22 +01:00
Diva Canto
0f277dfa17 Addresses mantis #5846 2012-04-08 17:54:59 -07:00
Diva Canto
d4a370a5f2 A few more minor improvements on Suitcase inventory service. 2012-04-07 14:52:15 -07:00
Diva Canto
7c534e558d Added gatekeeper and uas addresses to grid info, so that viewers can take advantage of that info. 2012-04-07 14:38:32 -07:00
Diva Canto
0d566aa385 Better Suitcase Inventory Service. 2012-04-06 21:52:48 -07:00
Diva Canto
806082cd6e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 20:35:01 -07:00
Diva Canto
9637e50956 Moved the inventory manipulation from HGEntityTransferModule to HGInventoryAccessModule where it belongs. They need to exchange some events, so added those to EventManager. Those events (TeleportStart and TeleportFail) are nice to have anyway. 2012-04-06 20:34:31 -07:00
Justin Clark-Casey (justincc)
cce760dbfc Rather than having a FromFolderID property on every single prim and only ever using the root prim one, store on SOG instead.
This reduces pointless memory usage.
2012-04-07 00:40:55 +01:00
Justin Clark-Casey (justincc)
7d8bb33c5b Store FromItemID for attachments once on SOG instead of on every SOP and only ever using the root part entry.
This eliminates some pointless memory use.
2012-04-07 00:33:02 +01:00
Justin Clark-Casey (justincc)
70b5a2dace refactor: Eliminate unnecessary SOP.m_physActor 2012-04-06 23:49:23 +01:00
Justin Clark-Casey (justincc)
33e91f1088 Implement PRIM_POS_LOCAL on llSetPrimitiveParams() and other prim params LSL functions.
This is the same as PRIM_POSITION
2012-04-06 23:43:03 +01:00
Justin Clark-Casey (justincc)
4a58d4c5a4 refactor: Use clearer part.ParentGroup.IsAttachment in LSL_Api.GetPartLocalPos() 2012-04-06 23:36:13 +01:00
Justin Clark-Casey (justincc)
3af1cd65f9 Fix llGetLinkPrimParams for PRIM_POS_LOCAL for child prims whether in scene or attachments.
Return relative position to root prim rather than 0,0,0.
Should fix same issue with llGetLocalPos()
http://opensimulator.org/mantis/view.php?id=5951
2012-04-06 22:41:35 +01:00
Justin Clark-Casey (justincc)
47108bb351 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 21:15:31 +01:00
Justin Clark-Casey (justincc)
f2903db390 For llGetMass(), return the mass of the avatar is the object is attached.
As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass
This is the mass as used by the physics engine (ODE or Bullet).
2012-04-06 21:14:19 +01:00
Talun
c3a8c00ce0 Addition of missing constants for llGetObjectDetails including for Mantis 5502
Signed-off-by: nebadon <michael@osgrid.org>
2012-04-06 12:42:46 -07:00
Justin Clark-Casey (justincc)
627efc172b Make llGetMass() return total mass of object when called on root prim.
As per http://lslwiki.net/lslwiki/wakka.php?wakka=llGetMass
Aims to resolve http://opensimulator.org/mantis/view.php?id=5954
2012-04-06 20:32:39 +01:00
Justin Clark-Casey (justincc)
908cebbea8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 20:29:54 +01:00
Diva Canto
6a9f36788d Deleted the unused and commented code from 2 commits ago. 2012-04-06 12:28:15 -07:00
Diva Canto
4c32f79c10 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-04-06 11:52:38 -07:00
Diva Canto
7435582b70 If an AddItem fails, try adding it to the right folder type. 2012-04-06 11:52:05 -07:00
Diva Canto
25b3edc21c WARNING: LOTS OF COMMENTED AND UNUSED CODE IN THIS COMMIT. This is on purpose; it's an historical record of what works and what doesn't wrt manipulating inventory at the viewer. I'll remove the unused code in a subsequent commit, but wanted to place it in history. The uncommented code works. 2012-04-06 11:51:12 -07:00
Diva Canto
953fe46811 A few minor tweaks here and there in XInventoryService. 2012-04-06 11:48:41 -07:00
Diva Canto
6eaff18961 Finish the implementation of GetUserInventory, even though it's still not used. 2012-04-06 11:38:47 -07:00
Diva Canto
8fd86c9156 Packing of folder in SendBulkUpdateInventory always set the folder type to -1. Not sure if there's a reason for it, but I'm changing it to the given folder type. 2012-04-06 11:24:34 -07:00
Diva Canto
e324fb2415 Guard against null inventory contents. 2012-04-06 11:22:30 -07:00
Diva Canto
cdbe34716f Thank you, BaseHttpServer, for telling me where things go wrong. 2012-04-06 11:21:27 -07:00
Snoopy Pfeffer
67537f3596 Added missing refresh of group membership client side cache to the groups module. Before memberships of non active groups often were not stored in the cache (n_groupPowers). 2012-04-05 13:03:57 +02:00
Snoopy Pfeffer
8f45eb913c Revert last commit 2012-04-05 11:10:05 +02:00
Snoopy Pfeffer
e4406c846d Group based access restrictions to parcels require group membership, but not that this group is active for that user. 2012-04-05 10:25:54 +02:00
Snoopy Pfeffer
600a86bcae Little bug fix in HasGroupAccess, to properly store the case "true" in the cache. 2012-04-05 10:02:18 +02:00
Melanie
a5d6b624f6 Simplify group access checks and break them out into a separate method.
Use existing cache if the avatar is within the region and use an
ExpiringCache to cache status if the avatar is not in the region. The
30 second delay now applies to scripted objects ony and only when the owner
is not present.
2012-04-05 00:45:58 +01:00
Snoopy Pfeffer
36c8fa16c0 Implements group based access restrictions for parcels of land. Because of caching there can be a delay of up to 30 seconds until the access rights are effectively changed for a user. 2012-04-05 00:53:40 +02:00
Garmin Kawaguichi
9a9923405a terrain save-tile extensions Signed-off-by: Garmin Kawaguichi <garmin.kawaguichi@magalaxie.com>
Signed-off-by: Melanie <melanie@t-data.com>
2012-04-03 20:06:03 +01:00
Justin Clark-Casey (justincc)
633f4bb3d8 remove possible PhysActor unexpectedly null race conditions when changing prim collision status
factor out common SOP physics scene adding code into a common SOP.AddToPhysics() that is the counterpart to the existing RemoveFromPhysics()
2012-04-03 09:28:17 +01:00
Justin Clark-Casey (justincc)
e480e25d8b Fix more SOP.PhysActor race conditions in LSL_Api 2012-04-03 06:01:05 +01:00
Justin Clark-Casey (justincc)
7468299673 Eliminate race condition where many callers would check SOP.PhysicsActor != null then assume it was still not null in later code.
Another thread could come and turn off physics for a part (null PhysicsActor) at any point.
Had to turn off localCopy on warp3D CoreModules section in prebuild.xml since on current nant this copies all DLLs in bin/ which can be a very large number with compiled DLLs
No obvious reason for doing that copy - nothing else does it.
2012-04-03 05:51:38 +01:00
Melanie
6e7f13a72d Implement bulk inventory update over CAPS (not recursive by design,
do NOT CHANGE THIS, needed for HG 2.0)
2012-03-31 02:32:47 +01:00
Justin Clark-Casey (justincc)
32a953fed7 refactor: Rename SOG.GetChildPart() to GetPart() since it can also return the 'root' part. 2012-03-31 01:52:06 +01:00
Justin Clark-Casey (justincc)
f0406f9fe2 Rename SOG.HasChildPrim(uint) to SOG.ContainsPart(uint) to match existing ContainsPart method and remove method duplication.
HasChildPrim is also misleading since the 'root' prim can also be returned.
2012-03-31 01:45:37 +01:00
Justin Clark-Casey (justincc)
387d7fdad5 Allow llRegionSayTo() to work on the PUBLIC_CHANNEL, as per http://wiki.secondlife.com/wiki/LlRegionSayTo
Addresses http://opensimulator.org/mantis/view.php?id=5950
2012-03-31 01:29:13 +01:00
Justin Clark-Casey (justincc)
38d241a317 Add MSSQL login processing fix for servers run on different locales.
This may no longer be an issue with better locale enforcement in OpenSimulator but it doesn't hurt to have this patch.
http://opensimulator.org/mantis/view.php?id=4680
Thanks to controlbreak for this
2012-03-31 01:12:04 +01:00
Justin Clark-Casey (justincc)
69fc8c4985 minor: small message adjustment and unnecessary code elimination when notifying client of no build permission 2012-03-31 01:07:14 +01:00
Justin Clark-Casey (justincc)
c2b98cfd4e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-31 01:04:38 +01:00
PixelTomsen
874140f950 fix Infinite loading on No Rez http://opensimulator.org/mantis/view.php?id=5932 2012-03-31 01:01:59 +01:00
Diva Canto
5a8ed50639 Added missing dependency for MS 2008. I hope. (I don't have 2008 to test this) mantis #5949 2012-03-30 12:39:45 -07:00
Justin Clark-Casey (justincc)
e5343bccdf Add Extended flavour option to opensim version information.
This flavour is for changes in addition to the 0.7.3-post-fixes branch that are too large to be considered fixes but should be reasonably stable.
This flavour will almost certainly never see a formal release.
2012-03-30 02:11:32 +01:00
Justin Clark-Casey (justincc)
269e479cdc minor: remove some now unneeded code from FriendsCommandsModule 2012-03-30 02:00:01 +01:00
Justin Clark-Casey (justincc)
3525c876c8 Make default "show friends" console command show friends fetched from the friends service.
There is no a --cache option which will show friends from the local cache if available.
2012-03-30 01:57:38 +01:00
Justin Clark-Casey (justincc)
1ef62ca75e Lock NullFriendsData.m_Data for consistency and against concurrent read/write 2012-03-30 01:23:34 +01:00
Justin Clark-Casey (justincc)
bce7964ac2 refactor: Move "friends show cache" console command out into separate FriendsCommandsModule.
Expose required methods on IFriendsModule.  Rename GetFriends() -> GetFriendsFromCache() for self-documentation
2012-03-30 01:05:29 +01:00
Justin Clark-Casey (justincc)
59157d9d63 Add simple login test with online friends. Add IFriendsModule.GrantRights() for granting rights via a module call.
Rename IFriendsModule.GetFriendPerms() -> GetRightsGrantedByFriend() to be more self-documenting and consistent with friends module terminology.
Add some method doc.
2012-03-30 00:42:55 +01:00
Justin Clark-Casey (justincc)
b8d383da0a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-30 00:38:23 +01:00
Diva Canto
30db0ac5e2 Finish up the SuitcaseInventory service. 2012-03-29 16:25:55 -07:00
Justin Clark-Casey (justincc)
bf09d6a22b refactor: Stop passing both IClientAPI and agentID to friend event listeners, these are redundant. Replace a few magic numbers with FriendRights enum already used elsewhere. 2012-03-29 18:31:57 +01:00
Justin Clark-Casey (justincc)
012b01f224 Add simple regression test for logging in with offline friends. Don't expect to receive any in this instance. 2012-03-29 03:19:45 +01:00
Justin Clark-Casey (justincc)
cd3f3cbdde Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-29 01:29:00 +01:00
Justin Clark-Casey (justincc)
22a85b947a Add back parts of reverted changes that were not concerned with child agent caching.
This adds ScenePresence to IClientAPI.SceneAgent earlier on in the add client process so that its information is available to EventManager.OnNewClient() and OnClientLogin()
Also add a code comment as to why we're caching friend information for child agents.
2012-03-29 01:26:30 +01:00
Melanie
62b1c807c2 Also add OSS header to interface 2012-03-29 01:14:50 +01:00
Melanie
bd83676d6c Change namespace on CallingCardModule and correct interface file placemant. Also ass OpenSource header 2012-03-29 01:13:08 +01:00
Justin Clark-Casey (justincc)
93ac47f0d3 Revert "Simplify friends caching by only doing this for root agents - no functions require caching for child agents."
We need to cache child agents so that friends object edit/delete permissions will work across boarders on regions hosted by different simulators.

This reverts commit d9f7b8549b.
2012-03-29 01:08:47 +01:00
Justin Clark-Casey (justincc)
a1de9bc33f Revert "Add comment about setting client.SceneAgent in AddNewClient()"
This reverts commit 964cae4f37.
2012-03-29 01:08:37 +01:00
Melanie
c52ff5cf7b Committing the Avination calling card module 2012-03-29 00:47:09 +01:00
Melanie
5a82d939e6 Adding the Avination calling card interface 2012-03-29 00:34:28 +01:00
Melanie
532e3dad26 Pushing the Avination Calling card hooks. Module to follow. 2012-03-29 00:31:11 +01:00
Justin Clark-Casey (justincc)
964cae4f37 Add comment about setting client.SceneAgent in AddNewClient() 2012-03-29 00:21:14 +01:00
Justin Clark-Casey (justincc)
d9f7b8549b Simplify friends caching by only doing this for root agents - no functions require caching for child agents.
This allows us to avoid unnecessary multiple calls to the friends service.
All friends functions originate from the root agent and only go to other root agents in existing code.
This also allows us to eliminate complex ref counting.
2012-03-28 23:40:25 +01:00
Justin Clark-Casey (justincc)
7aa0c05fba Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 23:38:04 +01:00
Justin Clark-Casey (justincc)
33df0c2efd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 23:36:30 +01:00
Robert Adams
4138880464 BulletSim: update 64 bit libraries and change Linux configuration to use the files in the lib32 and lib64 directories as needed. 2012-03-28 15:36:20 -07:00
Diva Canto
6bf4d88397 HG 2.0 Suitcase inventory: proof of concept now working properly with the heavy SendBulkInventoryUpdate message. Waiting for Melanie to finish the light-weight version of that message. 2012-03-28 15:32:19 -07:00
Justin Clark-Casey (justincc)
874bf1f8e5 Enable voice by default on parcels to weaken effects of viewer 2/3 ParcelVoiceInfoRequest bug
Viewer 2/3 contains a bug where the viewer will constantly retry ParcelVoiceInfoRequest requests on voice-disabled parcels where voice is otherwise available.
Attempts to fix this server-side have not been successful - sending a non-OK http code (e.g. a 404) just makes the viewer request again immediately.
Dropping the request entirely is a bit better but the viewer still retries after a minute.
Estate settings already enabled voice by default so doing the same for parcels.  This only has an effect if you have any voice system active at all.
Ultimately, the re-request bug needs to be fixed viewer-side (LL suffers from the same issue!) but it might be worth implementing the drop request hack.
2012-03-28 23:30:28 +01:00
Diva Canto
51dc1e709c HG 2.0: added the beginning of HGSuitcaseInventoryService. Plus moved the hack away from ScenePresence. This is better but it still doesn't restore the inventory upon arrival. 2012-03-28 15:01:37 -07:00
Diva Canto
03766c010f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 20:38:02 -07:00
Diva Canto
af96b99356 More on switching the root folder from under the viewer. More experiments. 2012-03-27 20:36:54 -07:00
Melanie
614c404923 Typo fix 2012-03-28 03:45:52 +01:00
Diva Canto
4007f62158 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 19:09:03 -07:00
Diva Canto
300968e933 HG: Switch root folders from under the viewer. Towards HG 2.0. This is guarded by an obscure config that no one but me should be using at this point. 2012-03-27 19:08:29 -07:00
Melanie
b24605d526 Fix typos 2012-03-28 02:55:29 +01:00
Justin Clark-Casey (justincc)
514a9fdf8e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 02:52:11 +01:00
Justin Clark-Casey (justincc)
12d3ea3029 Add "friends show cache <first-name> <last-name>" command for debugging purposes.
This adds a reverse lookup (name -> ID) to IUserManagement instead of hitting the UserAccountService directly.
2012-03-28 02:51:34 +01:00
Melanie
a43e804e59 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-03-28 02:46:31 +01:00
Melanie
0463a00d34 Start on Bulk inventory update via CAPS. Not functional yet. HG v2 2012-03-28 02:45:50 +01:00
Melanie
8c0f1e9058 Add a corresponding method for items. HG v2 2012-03-28 02:10:07 +01:00
Melanie
710c14fb57 Add SendRemoveInventoryFolders which allows to remove one or more
folders from the viewer's inventory view. For HG v2.0. More to come
2012-03-28 01:49:06 +01:00
Justin Clark-Casey (justincc)
445e8bc560 minor: Add some documentation to OnNewClient and OnClientClosed events 2012-03-28 01:08:56 +01:00
Justin Clark-Casey (justincc)
cb41fb64be Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-28 01:06:18 +01:00
Melanie
37603ca6da Reverse a conditional in XInventory that made updating system folder evrsion numbers impossible 2012-03-27 23:11:06 +01:00
Diva Canto
db5f46fa23 Let grided simulators retrieve the user's inventory skeleton 2012-03-27 15:24:55 -07:00
Justin Clark-Casey (justincc)
b74a89bc12 minor: clean up some code formatting in VivoxVoiceModule.cs 2012-03-27 22:33:42 +01:00
Diva Canto
5e07336672 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 14:25:36 -07:00
Diva Canto
91950b3147 Amend to previous commit regarding the config name. Bugs bite. 2012-03-27 14:24:59 -07:00
Snoopy Pfeffer
19837ff4dd Two new scripting functions osInviteToGroup(userID) and osEjectFromGroup(userID) that invite/eject users to/from groups the object containing the script is set to. These functions also work for closed groups. 2012-03-27 22:30:02 +02:00
Snoopy Pfeffer
5d37a31436 Merge branch 'master' of ssh://snoopy@opensimulator.org/var/git/opensim 2012-03-27 22:16:25 +02:00
Snoopy Pfeffer
7223b63563 User level based restrictions for HyperGrid teleports, asset uploads, group creations and getting contacted from other grids. Incoming HyperGrid teleports can also be restricted to local users. 2012-03-27 22:09:58 +02:00
Dan Lake
971d32fda3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 12:51:58 -07:00
Dan Lake
0247d738e2 When loading objects from DB, first add to scene, then call TriggerOnSceneObjectLoaded. 2012-03-27 12:50:58 -07:00
Diva Canto
de242a29ca HG: beginning of a more restrictive inventory access procedure (optional). Experimental: we'll try switching the root folder from under the viewer. 2012-03-27 11:54:13 -07:00
Diva Canto
2e2634896d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 10:09:08 -07:00
Diva Canto
8131a24cde Send the config section name up to the service classes themselves (XInventory and Assets). 2012-03-27 10:08:13 -07:00
Justin Clark-Casey (justincc)
b78224176e Add Garmin Kawaguichi to CONTRIBUTORS.txt 2012-03-27 02:10:39 +01:00
Justin Clark-Casey (justincc)
09c85a6a6c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-27 02:10:02 +01:00
Garmin Kawaguichi
1aa1a9eb3d In TerrainModule.cs, the command terrain save-tile is modified to remove an unnecessary double argument "minimum Y tile" 2012-03-27 02:05:57 +01:00
Robert Adams
872d513daa BulletSim: make avatar animations update properly.
It seems that ODE calls the avatar collision handling routine even
if there are no collisions. This causes the animation to be updated.
So, for instance, going from HOVER to FLY is caused by the physics engine
calling the collision routine each frame with 0 collisions.
2012-03-26 17:36:33 -07:00
Robert Adams
84c9bd52d3 BulletSim: update BulletSim binaries and configuration fixing a crash which happens when there are more than a few hundred physical objects. 2012-03-26 13:48:15 -07:00
Melanie
ad865ab4fc Add some more overloads to allow registering overloaded methods and lists
of methods.
2012-03-26 16:46:07 +01:00
Robert Adams
2fcdecf090 BulletSim: fix typo introducted by previous checkins (git merge sometimes makes mistakes) 2012-03-26 08:57:40 -07:00
Robert Adams
f8879e06d2 Merge branch 'bulletsim1' 2012-03-26 08:49:12 -07:00
Robert Adams
3691e39178 BulletSim: update BulletSim.dll and libBulletSim.so with latest versions 2012-03-26 08:48:51 -07:00
Melanie
3810e98474 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Conflicts:
	OpenSim/Region/OptionalModules/Scripting/ScriptModuleComms/ScriptModuleCommsModule.cs
2012-03-26 14:21:15 +01:00
Melanie
7e0936e4b6 Add a hust UUID to the script invocations 2012-03-26 14:19:55 +01:00
Mic Bowman
055269805d Fix compile error in ScriptModuelComms and add some debugging into the modInvoke
routines to simplify finding method registration issues.
2012-03-25 22:59:06 -07:00
Melanie
98a6c78943 Fix the omission on the interface declaration 2012-03-26 03:33:39 +01:00
Melanie
c9c01d5226 Further simplify ScriptComms 2012-03-26 03:20:40 +01:00
Melanie
ac0f1ff0a6 Dynamically create the delegate type to reduce complexity in the caller 2012-03-26 01:47:20 +01:00
Melanie
d7cc194e83 Correct the design error I introduced into ScriptComms. Untested but about to
be.
2012-03-26 01:47:14 +01:00
Melanie
cb44808504 Simplify the module invocation registration. The types and method name
can be pulled fromt he delegate so we don't need to pass them explicitly
2012-03-25 19:52:38 +01:00
Mic Bowman
a07fa0395f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-24 22:45:17 -07:00
Mic Bowman
a14437ad5a Add support for key, vector, rotation and list types for both
arguments and return values to the modInvoke family of functions.

See http://opensimulator.org/wiki/OSSL_Script_Library/ModInvoke
2012-03-24 22:43:42 -07:00
Justin Clark-Casey (justincc)
4f17537555 Allow the user to enter help topics in upper or lowercase.
Forcing uppercase (e.g. help Assets) is too annoying.
Thanks to WhiteStar for pointing this out.
2012-03-24 03:07:01 +00:00
Justin Clark-Casey (justincc)
f03c3c062e Hack example on to "terrain save-tile" extended help.
Thanks to Garmin Kawaguichi for the initially suggested text.
2012-03-24 02:41:45 +00:00
Justin Clark-Casey (justincc)
f53c6b2594 Use system provided temporary file in "terrain save-tile" to avoid problems with drive letters on windows
Thanks to Garmin Kawaguichi for picking up on this and providing an initial solution (which I adapted).
2012-03-24 02:30:43 +00:00
Justin Clark-Casey (justincc)
cf61c74e90 Give feedback when "terrain save-tile" is not successfully invoked. 2012-03-24 02:16:44 +00:00
Robert Adams
07388071d4 Merge branch 'bulletsim1' of ssh://island.sciencesim.com/home/sceneapi/radams1/bs-opensim into bulletsim1
Conflicts:
	OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
2012-03-23 16:20:53 -07:00
Robert Adams
ff54b3c366 BulletSim: change default of shouldDisableContactPoolDynamicAllocation from False to True. It seems that collisions don't happen well when it is False (things fall through terrain). 2012-03-23 15:50:32 -07:00
Robert Adams
3f53b7bc91 BulletSim: Add new configuration parameters to get and set console commands 2012-03-23 13:15:24 -07:00
Robert Adams
142de1d02f BulletSim: add a bunch of internal Bullet configuration parameters to OpenSimDefaults.ini and the code. 2012-03-23 13:15:23 -07:00
Robert Adams
1273f259e4 BulletSim: remove confusion between angularVelocity and rotationalVelocity (there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID. 2012-03-23 13:15:22 -07:00
Robert Adams
2f6e8564fe BulletSim: add updated (but not working) BulletSim dlls 2012-03-23 13:15:20 -07:00
Robert Adams
1a738caeca BulletSim: update TODO list. Rearrange code for readability. Add per object friction and restitution runtime settable parameters. 2012-03-23 13:15:18 -07:00
Robert Adams
de24feb275 BulletSim: Add AvatarRestitution parameter. Centralize computation of buoyancy for flying. Tweek avatar default friction and resititution 2012-03-23 13:15:17 -07:00
Robert Adams
6ecdadb329 BulletSim: set buoyancy in only one place 2012-03-23 13:15:16 -07:00
Robert Adams
b22d040169 BulletSim: add some new runtime setable parameters to match the dll. 2012-03-23 13:15:14 -07:00
Robert Adams
6c50442625 BulletSim: update BulletSim.dll to Bullet 2.80 and add libBulletSim.so to the new lib32 and lib64 binary directories 2012-03-23 13:15:13 -07:00
Robert Adams
975184b3f9 BulletSim: Update list of TODO tasks 2012-03-23 13:15:11 -07:00
Robert Adams
164706043d Have the PhysicsParameters module output console command responses
directly to the console rather than logging at INFO (which doesn't
output anything for WARN).

There should really be a WriteLine method on ICommandConsole so all
of the different commands don't have to figure out where the command
output should go.
2012-03-23 13:11:58 -07:00
nebadon
6b87a29c86 fix yield prolog so it compiles with mono 2.11 there has been a bugzilla
report files with mono project in regards to this change, this simply
lets us move forward with using mono 2.11 for now :
https://bugzilla.xamarin.com/show_bug.cgi?id=4052
2012-03-23 02:22:57 -07:00
Justin Clark-Casey (justincc)
d4beb2f5bc Comment out log message about sending periodic appearance updates. 2012-03-23 03:39:39 +00:00
Justin Clark-Casey (justincc)
e5b182fb41 Add information about SendPeriodicAppearanceUpdates to OpenSimDefaults.ini for now.
Default remains false.
2012-03-23 03:38:33 +00:00
Justin Clark-Casey (justincc)
54887bf386 Add experimental SendPeriodicAppearanceUpdates = true/false setting to [Startup] in OpenSim.ini
On osgrid and other places, I have observed that manually sending appearance updates from the console often relieves grey avatar syndrome.
Despite hunting high and low, I haven't been able to find where this packet is sometimes being lost - it might be a persistent viewer bug for all I know.
Therefore, this experimental setting resends appearance data for everybody in the scene every 60 seconds.  These packets are small and the viewer only fetches texture
data if it doesn't already have it.
Default is false.
2012-03-23 03:33:07 +00:00
Justin Clark-Casey (justincc)
4ed833bc9d Add a scene maintenance thread in parallel to the heartbeat thread. The maintenance thread will end up running regular jobs that don't need to be in the main scene loop.
The idea is to make the critical main scene loop as skinny as possible - it doesn't need to run things that aren't time critical and don't depend on update ordering.
This will be done gradually over time to try and uncover any issues.  Many non-criticial scene loop activities are being launched on separate threadpool threads anyway.
This may also allow modules to register their own maintenance jobs without having to maintain their own timers and threads.
Currently the maintenance loop runs once a second, as opposed to the 89ms scene loop.
2012-03-23 02:49:29 +00:00
Justin Clark-Casey (justincc)
349454ca27 Remove unnecessary shutting down check in Scene.Heartbeat(). Add some method doc. Rename HeartbeatThread, shuttingdown to conform to code standards. 2012-03-23 01:46:11 +00:00
BlueWall
c0672cb7db Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 21:27:03 -04:00
BlueWall
176bba4f67 Merge branch 'master' of /home/opensim/src/opensim 2012-03-22 21:26:30 -04:00
Justin Clark-Casey (justincc)
18b3f1132e Rename Scene.StartTimer() to Start() - this method no longer uses a timer. Comment out more effectively unused old heartbeat code. 2012-03-23 01:21:43 +00:00
Justin Clark-Casey (justincc)
4ee8b3e23e Fix build break 2012-03-23 01:11:43 +00:00
Justin Clark-Casey (justincc)
a9995ede65 Fix bug in ScenePresenceAnimator.RemoveAnimation() introduced in commit 1a8769e
Forgot to uppercase the animation name for default animations, since for some reason we store and use them in upper rather than lowercase.
2012-03-23 01:08:13 +00:00
Justin Clark-Casey (justincc)
bc2963d42a Comment out unused scene loop restart code.
This has actually been unused since at least 0.7.2 due to earlier changes.
2012-03-23 01:03:10 +00:00
Justin Clark-Casey (justincc)
08b8ebcc7e Use m_lastFrameTick instead of m_lastUpdate in Scene.GetHealth(). m_lastUpdate is no longer properly updated and is redundant anyway. 2012-03-23 00:55:11 +00:00
BlueWall
c903813e00 RegionReady logging
Some maintenance to clean up logging messages
2012-03-22 20:49:45 -04:00
Justin Clark-Casey (justincc)
40b9b519b8 Add commented out section on collisions switch in Scene.SetSceneCoreDebug().
This was not implemented before the recent changes but should be at some point.
2012-03-23 00:12:14 +00:00
Robert Adams
efe61b2481 BulletSim: remove confusion between angularVelocity and rotationalVelocity (there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID. 2012-03-22 17:04:06 -07:00
Justin Clark-Casey (justincc)
15c2499ccd Comment out login parameters debug output accidentally included with c4b2d24 2012-03-22 23:31:41 +00:00
Justin Clark-Casey (justincc)
c1d064e1ca Comment out a terrain save-tile debugging message that accidentally crept in with c4b2d24 2012-03-22 23:16:52 +00:00
Justin Clark-Casey (justincc)
5bf45b9b98 refactor: simplify code for checks when part.OwnerID != destPart.OwnerID in MoveTaskInventoryItem() 2012-03-22 22:40:38 +00:00
Justin Clark-Casey (justincc)
760010d6fb Fix llGiveInventory() so that it checks the destination part for AllowInventoryDrop, not the source.
This allows llAllowInventoryDrop() to work.
Regression test added for this case.
2012-03-22 22:33:37 +00:00
Justin Clark-Casey (justincc)
3bcf71c647 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 22:33:16 +00:00
Justin Clark-Casey (justincc)
c4b2d24f33 Add llGiveInventory() test from object to object where both objects are owned by the same user. 2012-03-22 22:17:07 +00:00
Diva Canto
df624c13c9 HG Friends: don't notify if the server isn't there. 2012-03-22 15:08:57 -07:00
Diva Canto
25e5b6a76c Added new simple_build_permissions config to the .ini and .example files. 2012-03-22 14:21:07 -07:00
Melanie
6bc1ccf234 Change a false false to be truly true - or is this statement false?
Fixes perms boo-boo
2012-03-22 20:39:18 +00:00
Melanie
b5d0bc2488 Rework Diva's patch to simplify it 2012-03-22 20:25:20 +00:00
Melanie
45b588cf00 Revert "Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch."
This reverts commit 6146e7ef25.
2012-03-22 20:10:38 +00:00
Diva Canto
6146e7ef25 Simple build permissions feature. NOTE: EXPERIMENTAL, DISABLED BY DEFAULT. Turns out that this can't be expressed by cascading Permission modules, so I did it as per this patch. 2012-03-22 12:57:12 -07:00
Justin Clark-Casey (justincc)
a8c87bab64 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 01:56:07 +00:00
BlueWall
c98e3a6422 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-21 20:34:51 -04:00
BlueWall
06c81a2afe Fix typo
Add enclosing " to urls
2012-03-21 20:33:45 -04:00
Robert Adams
4bfd9e28ca BulletSim: add updated (but not working) BulletSim dlls 2012-03-21 17:24:17 -07:00
Justin Clark-Casey (justincc)
9949ac2f9f refactor: Rename AvatarAnimations -> DefaultAvatarAnimations for code clarity since non-default animations are handled completely separately from this class 2012-03-22 00:10:41 +00:00
Justin Clark-Casey (justincc)
71ec84d77f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-22 00:00:05 +00:00
Justin Clark-Casey (justincc)
1a8769e6ef Instead of loading default avatar animations in both SLUtil and AvatarAnimations, load just in AvatarAnimations instead.
This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST.
This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND")
but scripts refer to them with lowercase names (e.g. "sit").
2012-03-21 23:57:39 +00:00
Robert Adams
7783c93802 BulletSim: update TODO list. Rearrange code for readability. Add per object friction and restitution runtime settable parameters. 2012-03-21 16:16:47 -07:00
Robert Adams
cb2727cf6e BulletSim: Add AvatarRestitution parameter. Centralize computation of buoyancy for flying. Tweek avatar default friction and resititution 2012-03-21 16:16:46 -07:00
Robert Adams
6c55fd93a3 BulletSim: set buoyancy in only one place 2012-03-21 16:16:45 -07:00
Robert Adams
898a16802b BulletSim: add some new runtime setable parameters to match the dll. 2012-03-21 16:16:44 -07:00
Robert Adams
3e7e166124 BulletSim: update BulletSim.dll to Bullet 2.80 and add libBulletSim.so to the new lib32 and lib64 binary directories 2012-03-21 16:16:42 -07:00
Robert Adams
eafc3d6c47 BulletSim: Update list of TODO tasks 2012-03-21 16:16:41 -07:00
Diva Canto
5170cd7577 Updated the UserAccountsClient a little bit, plus some more sanity checks on the service connector. 2012-03-21 11:22:39 -07:00
Diva Canto
4a9ca3ca8f HG Friends: reroute the status notifications to the HGFriends service, so that they can scale better. They were previously being handled by the UAS; that is still there, but it's now obsolete and will be removed in a future release. 2012-03-21 10:35:06 -07:00
Diva Canto
d8bcb78b10 HG Friends: pulled sim-bound notification code to HGStatusNotifier, so that we can better manage this traffic. 2012-03-21 09:14:17 -07:00
Diva Canto
8ad426f329 Removed extraneous debug message 2012-03-21 08:08:43 -07:00
Diva Canto
1089e9b842 Removed extraneous debug message 2012-03-21 08:08:12 -07:00
Diva Canto
5abe1b4fce Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 21:36:46 -07:00
Diva Canto
91cc09b7bf HG Friends config for Robust.HG.ini.example 2012-03-20 21:36:24 -07:00
Diva Canto
d49dd5573b Removed extraneous debug messages. Added a check for UUID.Zero. 2012-03-20 21:36:02 -07:00
Justin Clark-Casey (justincc)
54a8a5baba If "debug scene updates true" then print out to log when a garbage collection occurs. 2012-03-21 02:02:14 +00:00
Justin Clark-Casey (justincc)
de53aa32e0 Add Scene.DebugUpdates switch which, if turned on, will print out a warning when a frame updates takes longer than twice the desired time
This is controlled via "debug scene updates true|false" on the region console.
Also fix an oversight with "debug scene teleport true|false"
2012-03-21 01:27:09 +00:00
Justin Clark-Casey (justincc)
ab243f4a57 Incorporate scene teleporting debugging into "debug scene teleport true|false" command 2012-03-21 01:13:44 +00:00
Justin Clark-Casey (justincc)
9671e43497 Replace "scene debug true false true" console command with "scene debug scripting true" or other parameters as appropriate.
This is to allow individual switching of scene debug settings and to provide flexibiltiy for additional settings.
2012-03-21 01:02:58 +00:00
Melanie
7a0d7be44c Refix the fixed fix! 2012-03-21 00:17:58 +00:00
Diva Canto
69a9a6993e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 17:33:26 -07:00
Justin Clark-Casey (justincc)
91a001d3cf fix compile error from last commit 2012-03-21 00:31:31 +00:00
Diva Canto
9e8b194356 Fixed borkness with map search introduce by my last changes to it. 2012-03-20 17:29:34 -07:00
Diva Canto
742acc0a3c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 17:26:18 -07:00
Diva Canto
f7c61790b7 Fixed borkness with previous merge. 2012-03-20 17:25:52 -07:00
Justin Clark-Casey (justincc)
022366a074 refactor: simplify EstateManagementModule.handleEstateDebugRegionRequest() 2012-03-21 00:23:46 +00:00
Diva Canto
841b4232f6 Line endings 2012-03-20 17:19:55 -07:00
Diva Canto
3fa51f66ec Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Framework/Util.cs
2012-03-20 17:19:14 -07:00
Diva Canto
d08ad6459a HG Friends: allow the establishment of HG friendships without requiring co-presence in the same sim. Using avatar picker, users can now search for names such as "first.last@grid.com:9000", find them, and request friendship. Friendship requests are stored if target user is offline. TESTED ON STANDALONE ONLY. 2012-03-20 17:14:19 -07:00
Justin Clark-Casey (justincc)
7bf628ab31 Add ability to log warn if a frame takes longer than twice the expected time. Currently commented out. 2012-03-21 00:02:08 +00:00
Justin Clark-Casey (justincc)
4c41b53a4b Add prim name to "[MESH]: No recognized physics mesh..." log message 2012-03-20 23:35:50 +00:00
Justin Clark-Casey (justincc)
02f9caf6ce remove some mono compiler warnings 2012-03-20 23:34:10 +00:00
Justin Clark-Casey (justincc)
3701f893d3 remove unnecessary tmpFrameMS, use maintc instead for frame time calculation 2012-03-20 23:31:57 +00:00
Justin Clark-Casey (justincc)
c39fba8f9d minor: remove some mono compiler warnings 2012-03-20 23:19:11 +00:00
Justin Clark-Casey (justincc)
8bdd38b804 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-20 23:14:15 +00:00
Justin Clark-Casey (justincc)
30b2a8c778 Move frame loop entirely within Scene.Update() for better future performance analysis and stat accuracy.
Update() now accepts a frames parameter which can control the number of frames updated.
-1 will update until shutdown.
The watchdog updating moves above the maintc recalculation for any required sleep since it should be accounted for within the frame.
2012-03-20 23:12:21 +00:00
nebadon
bd1f848bf6 slight increase in jump power to make running jump slightly better. 2012-03-20 14:17:15 -07:00
nebadon
9ed3532c1b reduce avatar verticle jump from the absurd 5 meter jump to a less
absurd 3m vertical jump to better match what you would see in Second
Life and be more in line with what users would expect.
2012-03-20 13:45:38 -07:00
Justin Clark-Casey (justincc)
86bd287b53 refactor: precalculate the fixed movement factor for avatar tilting (sqrt(2)) rather than doing it multiple times on every move. 2012-03-20 20:39:33 +00:00
Justin Clark-Casey (justincc)
5f2a65c976 refactor: Eliminate unnecessary duplicate avCapsuleTilted 2012-03-20 20:28:58 +00:00
Justin Clark-Casey (justincc)
a3abd65e3d Remove pointless ThreadAbortException catching in a test that isn't run anyway. 2012-03-20 01:41:32 +00:00
Justin Clark-Casey (justincc)
8c911ddaf0 Remove some pointless catching/throwing in the scene loop. 2012-03-20 01:39:19 +00:00
Justin Clark-Casey (justincc)
4cbaf053cf Fix small typo 2012-03-20 00:53:33 +00:00
Justin Clark-Casey (justincc)
1c0f3a1f21 Fix crash where two scene loop threads could changes m_MeshToTriMeshMap at the same time.
Have to lock m_MeshToTriMeshMap as property is static and with more than one region two scene loops could try to manipulate at the same time.
2012-03-20 00:40:03 +00:00
Justin Clark-Casey (justincc)
e9271ec653 Add some doc about the EventManager.OnLoginsEnabled event. 2012-03-19 22:48:26 +00:00
Justin Clark-Casey (justincc)
e2b1c569da Fix a bug where logins to standalones would fail if the RegionReady module was not active
Unfortunately, the OnLoginsEnabled event is currently only guaranteed to fire if the RegionReady module is active.
However, we can instantiate the AuthorizationService in the module RegionLoaded method since by this time all other modules will have been loaded
2012-03-19 22:45:03 +00:00
Justin Clark-Casey (justincc)
437f18bc41 Stop console command "xengine status" throwing an exception if there are no scripts in a region.
Addresses http://opensimulator.org/mantis/view.php?id=5940
2012-03-19 21:43:23 +00:00
Justin Clark-Casey (justincc)
4972491efb Move startup/shutdown command .txt files to .txt.example files to avoid clobbering on updates.
Thanks to Whitestar in http://opensimulator.org/mantis/view.php?id=5938 for pointing out this problem.
2012-03-19 00:29:02 +00:00
Justin Clark-Casey (justincc)
ab54ce1907 Fix configuration problems where XAssetDatabasePlugin was picked up accidentally.
The asset data plugin now implements IXAssetData rather than IAssetData so the ordinary AssetService should no longer pick it up.
This replaces the changes in 92b1ade.  There is no longer any need to adjust your StandaloneCommon.ini/Robust.ini/Robust.HG.ini files.
This may explain very recent issues in the last few weeks where textures have been disappearing or turning white (as they were going to different places).
Unfortunately, you will need to rollback to an earlier database backup or reupload the textures.
2012-03-19 00:18:04 +00:00
Diva Canto
d1256536b5 Added GetUUID(first, last) on UserAgentsService so that we can finally make direct user connections. 2012-03-17 21:27:28 -07:00
Diva Canto
441ef301a3 Amend to previous commit: normalize strings ToLower. 2012-03-17 19:41:47 -07:00
Diva Canto
7dfa0309c6 More on HG access control. This commit splits the UserManagementModule into the Basic one and the HG one, so that we can do everything that needs to be done for HG ACLs to work without interfering with the vanilla opensim. For the moment, it finds foreign users who have left a trace in the region, e.g. an object. This makes it possible to ban/IM/etc these users using the regular avatar picker. TODO: contact the UAS directly given a name of the form First.Last @foo.com. 2012-03-17 15:36:20 -07:00
Diva Canto
92b1ade78e BAD JUSTIN!
People using standalone in master, please update your StandaloneCommon.ini according to this change.
People using robust in master, please update your Robust.HG.ini.example[.HG].ini according to this change.
2012-03-17 15:01:10 -07:00
Diva Canto
1a4fdd2666 Moved HandleAvatarPickerRequest from the generic Scene.PacketHandlers to the UserManagementModule where it belongs. No functional changes. 2012-03-17 10:48:22 -07:00
Diva Canto
d87a5758fb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-17 10:00:43 -07:00
Diva Canto
33c14cb107 Region access control! Region operators can now specify things like DisallowForeigners (means what it says) and DisallowResidents (means that only admins and managers can get into the region). This puts the never-completed AuthorizationService to good use. Note that I didn't implement a grid-wide Authorization service; this service implementation is done entirely locally on the simulator. This can be changed as usual by pluging in a different AuthorizationServicesConnector. 2012-03-17 10:00:11 -07:00
Justin Clark-Casey (justincc)
4a57112f19 Add osGetInventoryDesc() as per http://opensimulator.org/mantis/view.php?id=5927
This allows one to get description data for a given prim inventory item.
Thanks MarcelEdward and GuduleLapointe!
2012-03-17 04:02:23 +00:00
Justin Clark-Casey (justincc)
1e4180fc93 Clean up "save iar" help 2012-03-17 02:54:19 +00:00
Diva Canto
a4dca88a57 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-16 13:08:27 -07:00
Diva Canto
a2009ffe2e Terrain: added [Terrain] section with an option to load an initial flat terrain. Default is still pinhead island. I much rather have a flat land in the beginning. 2012-03-16 13:08:05 -07:00
Justin Clark-Casey (justincc)
59b6f6a6e0 minor: reuse threadpool count we just fetched instead of fetching it again 2012-03-16 03:56:56 +00:00
Justin Clark-Casey (justincc)
bece2023e7 Add total scripts count to "show threads"
However, this returns 0 on Mono (at least on 2.6.7)!  So not showing if it is zero.
2012-03-16 03:52:13 +00:00
Justin Clark-Casey (justincc)
9497a7c7bd refactor: separate out console and status report generation parts of XEngine 2012-03-16 03:32:14 +00:00
Justin Clark-Casey (justincc)
922d8c9312 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-16 03:28:17 +00:00
Justin Clark-Casey (justincc)
6e8f80f1ab Improve threadpool reporting to "show threads" console command (also gets printed out periodically) 2012-03-16 03:26:47 +00:00
Diva Canto
05bb2e4275 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-15 20:22:59 -07:00
Diva Canto
05a1493fff More on map search: send extra messages to the user regarding the region being found or not, because the UI is horribly confusing -- places profile is always "loading..." whether the region exists or not. 2012-03-15 20:22:26 -07:00
Justin Clark-Casey (justincc)
421b562a04 Add process working memory to "show stats" memory statistics.
This shows the actual amount of RAM being taken up by OpenSimulator (objects + vm overhead)
2012-03-16 02:43:33 +00:00
Justin Clark-Casey (justincc)
78e992dbd0 Move startup_commands.txt.example to startup_commands.txt for consistency with the existing shutdown_commands.txt.
Add comments to both files saying what they are (files that can contain console commands to execute on sim startup/shutdown) with an example.
2012-03-16 02:13:45 +00:00
Justin Clark-Casey (justincc)
b19be657b6 Remove unnecessary "backup" command in shutdown_commands.txt
The simulator is already doing this internally.
2012-03-16 02:10:59 +00:00
Justin Clark-Casey (justincc)
aa881e8065 Allow comments to appear in command scripts (e.g. shutdown_commands.txt).
These can start with ; # or //
2012-03-16 02:07:26 +00:00
Justin Clark-Casey (justincc)
34f6f87b6c Remove unused bin/ScriptEngines/Default.lsl
It would certainly be nice to change the default script on disk, but this is currently unused and isn't a suitable default.
At this location it would also stop an easy manual deletion of script engine compiles and state.
2012-03-16 01:51:16 +00:00
Justin Clark-Casey (justincc)
8550a4a07e In Top Scripts report, don't show scripts with no or less than 1 microsecond of execution time.
This is to make the report clearer and less confusing.
2012-03-16 01:46:21 +00:00
Justin Clark-Casey (justincc)
c386b68373 Aggregate script execution times by linksets rather than individual prims.
This is for the top scripts report.
2012-03-16 01:31:53 +00:00
Justin Clark-Casey (justincc)
7df4a544fe Fix owner name display in "Top Colliders" and "Top Script" region reports. 2012-03-16 00:53:36 +00:00
Justin Clark-Casey (justincc)
a4b01ef38a Replace script-lines-per-second with the script execution time scaled by its measurement period and an idealised frame time.
The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute.
Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100.
The actual measurement value should be script execution time per frame but XEngine does not work this way.
Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time.
This is still not ideal but gives reasonable results and allows scripts to be compared.
This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
2012-03-16 00:34:30 +00:00
Diva Canto
0548eeb571 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-15 16:03:33 -07:00
Diva Canto
18d1d6d3b4 More on SLURLs and V3. This is hacky, but it works. Basically, we have to redefine the encoding of HG URLs because the viewer messes them up. Examples of what works and doesn't work:
- secondlife://ucigrid00.nacs.uci.edu|8002/128/128 <-- works throughout the viewer
- secondlife://http|!!ucigrid00.nacs.uci.edu|8002+Test+Zone+1/128/128 <-- works throughout the viewer
- secondlife://http|!!grid.sciencesim.com!grid!hypergrid.php+Yellowstone01+74/128/128 <-- works throughout
- secondlife://http%3A%2F%2Fucigrid00.nacs.uci.edu%3A8002%20UCI%20Central%201/128/128 <-- works in chat, but not as URLs in the webkit
2012-03-15 16:03:09 -07:00
Diva Canto
df144eb9e2 Revert "Revert "More hacking around viewer bug""
This reverts commit e5612553ce.
2012-03-15 14:55:25 -07:00
Diva Canto
f52917288a These SLURLs are very confusing! -- reverting the revert. Hack is, indeed, needed.
Revert "Revert "Hack around https://jira.secondlife.com/browse/VWR-28570""

This reverts commit 5a9560db28.
2012-03-15 14:54:25 -07:00
Diva Canto
5a9560db28 Revert "Hack around https://jira.secondlife.com/browse/VWR-28570"
This reverts commit 697ac7fd9d.
2012-03-15 14:36:48 -07:00
Diva Canto
e5612553ce Revert "More hacking around viewer bug"
This reverts commit 10731732b4.
2012-03-15 14:36:29 -07:00
Mic Bowman
8b5298a62e Protect the scriptmodulecomms interface. 2012-03-15 13:37:43 -07:00
Mic Bowman
402ff75d78 Adds a new script command 'modInvoke' to invoke registered functions
from region modules. The LSL translator is extended to generate the
modInvoke format of commands for directly inlined function calls.

A region module can register a function Test() with the name "Test".
LSL code can call that function as "Test()". The compiler will translate
that invocation into modInvoke("Test", ...)
2012-03-15 13:16:02 -07:00
Diva Canto
fd4ad82367 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-15 11:06:08 -07:00
Diva Canto
10731732b4 More hacking around viewer bug 2012-03-15 11:05:43 -07:00
Diva Canto
697ac7fd9d Hack around https://jira.secondlife.com/browse/VWR-28570 2012-03-15 10:17:02 -07:00
Justin Clark-Casey (justincc)
acb1355ff2 Remove property/field duplication in ScriptInstance where it's unnecessary. 2012-03-15 02:02:31 +00:00
Justin Clark-Casey (justincc)
2d32401e23 Simplify some logic in the ScriptInstance constructor - running is set to false in both if/else branches 2012-03-15 01:32:16 +00:00
Justin Clark-Casey (justincc)
f0c1746063 minor: correct indentation levels 2012-03-15 01:26:38 +00:00
Justin Clark-Casey (justincc)
5ddda89238 Remove duplication of m_RunEvents and Running 2012-03-15 00:48:44 +00:00
Justin Clark-Casey (justincc)
2f81e53f63 Fix a problem where multiple near simultaneous calls to llDie() from multiple scripts in the same linkset can cause unnecessary thread aborts.
The first llDie() could lock Scene.m_deleting_scene_object.
The second llDie() would then wait at this lock.
The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away.
Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead.
This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
2012-03-15 00:20:47 +00:00
Justin Clark-Casey (justincc)
12cebb12d5 Alleviate an issue where calling Thread.Abort() on script WorkItems can fail to release locks, resulting in a crippled simulator.
This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well.
It has been seen to happen when llDie() is called in a linkset running more than one script.
Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete.
Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time.
Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
2012-03-15 00:06:52 +00:00
Diva Canto
d6dd3c42d1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-13 20:16:19 -07:00
Diva Canto
479dd65a63 Teleports: bounce off repeated requests of teleporting the same agent. Some scripts do that, and that fails the whole thing. 2012-03-13 20:15:38 -07:00
Diva Canto
5a09572393 Minor sanity check on simulation agent handler (content type) 2012-03-13 20:14:51 -07:00
Justin Clark-Casey (justincc)
95ec96bf86 refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event)
Also add other various illustrative comments
2012-03-14 00:29:36 +00:00
Diva Canto
37828c9b9a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-13 08:07:11 -07:00
Diva Canto
4eb2605c79 Datasnapshot: added "secret" to the registration/deregistration query so that data providers can verify authenticity if they want. 2012-03-13 08:06:30 -07:00
Justin Clark-Casey (justincc)
25592bbd85 Add max thread and min thread information to "xengine status" region console command 2012-03-12 21:16:05 +00:00
Robert Adams
e0dd38f672 Rename the stream extension method WebUtil.CopyTo() to WebUtil.CopyStream().
.NET 4.0 added the method Stream.CopyTo(stream, bufferSize). For .NET 3.5
and before, WebUtil defined an extension method for Stream with the signature
Stream.CopyTo(stream, maxBytesToCopy). The meaning of the second parameter
is different in the two forms and depending on which compiler and/or
runtime you use, you could get one form or the other. Crashes ensue.
This change renames the WebUtil stream copy method to something that
cannot be confused with the new CopyTo method defined in .NET 4.0.
2012-03-12 10:07:04 -07:00
Melanie
1547fe959e Change OpenSim.ini.example to reflect how to actually enable prim limits,
as opposed to how it was first designed.
2012-03-12 16:06:35 +00:00
Diva Canto
13fb582c12 DataSnapshot: renamed gridserverURL to gatekeeperURL, and normalimzed the capitalization of 'name' to lower case, also in the same <grid> section. 2012-03-12 07:55:17 -07:00
Diva Canto
824eb7ed20 Added osGetGridGatekeeperURI() 2012-03-10 19:51:28 -08:00
Diva Canto
291dc39691 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-10 08:09:43 -08:00
Justin Clark-Casey (justincc)
05e821c444 Fix TestSaveOarNoAssets() by not launch a no-assets request on a separate thread.
This was previous behaviour anyway.
2012-03-10 03:11:28 +00:00
Justin Clark-Casey (justincc)
6e26f17923 minor: In IAR save, log when we start adding the control file rather than saying afterwards that we added it. 2012-03-10 02:13:17 +00:00
Justin Clark-Casey (justincc)
5507752dc5 minor: rearrange some save oar messages so they say what they're about to do rather than what they've just done. 2012-03-10 02:11:30 +00:00
Justin Clark-Casey (justincc)
1693799623 On OAR saving, try fetch assets serially rather than firing all the requests at the asset service at once.
This may (or may not) improve reliability for http://opensimulator.org/mantis/view.php?id=5898
Quick tests show that save time is the same.
2012-03-10 02:03:07 +00:00
Justin Clark-Casey (justincc)
3a5928f813 Add satguru and Fernando to contributors 2012-03-10 01:31:27 +00:00
Justin Clark-Casey (justincc)
d6ebf2d6ca Add ability to specify a default estate to be used when creating regions.
This is configured in the new [Estates] section of OpenSim.ini.
If a default estate is configured then all new regions are automatically joined to it instead of asking the user.
If the default estate does not already exist then it is created.
Current default behaviour remains the same - the user is asked for estate details when necessary.
Thanks to Frenando Oliveira for the patch which I adapated further.
2012-03-10 01:27:05 +00:00
Mic Bowman
7b8e9d88e3 Serialize all web requests to a particular host:port pair; only applied to the PostToService variants. 2012-03-09 16:53:51 -08:00
Justin Clark-Casey (justincc)
bdc968f1fc Factor out common default animations code into SLUtil. LLClientView now makes use of the SLUtil copy via a method rather than each LLClientView loading a separate copy.
As per opensim-users mailing list discussion.
2012-03-09 23:57:24 +00:00
Melanie
5c5a493791 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-03-09 22:59:23 +00:00
satguru srivastava
35f2479858 fix for NPC not playing internal animations 2012-03-09 22:58:59 +00:00
Diva Canto
a58152bd2a More on inventory transfer hold ups:
- Added an inventory cache for caching root and system folders
- Synchronized the remote inventory connector, so that all the remote inventory calls are serialized
This will not make much difference in the hold ups. We'd have to move the FireAndForget high up to AddInventoryItem, but that opens up a can of worms regarding the notification of the recipient... the recipient would be notified of the offer before the items are effectively in his inventory, which could lead to surprises.
2012-03-09 12:59:24 -08:00
Diva Canto
81869c4a3f More on HG inventory transfers. Move the FireAndForget higher up. 2012-03-09 09:48:12 -08:00
Diva Canto
f545d669de Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-08 19:32:21 -08:00
Diva Canto
7db5ba7702 More on the freeze on HG inventory transfers: spawn a threadlet on the functional asset posts so that the client threads doesn't freeze (but the network posts are serialized). 2012-03-08 19:31:53 -08:00
Justin Clark-Casey (justincc)
06dda14505 Simplify minimap coarse location code by just reference SP.AbsolutePosition
This is rather than checking whether the avatar is sitting and doing its own calculation.
2012-03-09 02:50:57 +00:00
Justin Clark-Casey (justincc)
205c36d3a4 Get rid of unnecessary ParentID == 0 check on SP.Get_AbsolutePosition since this is handled by the necessary ParentPart check 2012-03-09 02:44:08 +00:00
Justin Clark-Casey (justincc)
94e58ff6b9 Use SP.ParentPart instead of ParentID in places where it's more efficient (saving extra null checks, etc.)
However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null.
Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
2012-03-09 02:38:11 +00:00
Justin Clark-Casey (justincc)
b454326273 refactor: cleanup SP.HandleAgentSit so that everything is done within one if (part != null), rather than having unnecessary multiple checks 2012-03-09 02:33:48 +00:00
Diva Canto
c22446ede0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-08 18:29:08 -08:00
Diva Canto
8a34d1b710 HG inventory/asset transfers: serialize asset posts. I'm using the same pattern as suggested in the patch mantis #5921. Testing it in this smaller context to see how it works. 2012-03-08 18:28:46 -08:00
Justin Clark-Casey (justincc)
73c47f7205 Remove a race condition from SP.Set_AbsolutePosition where we assume the ParentPart is still not null if the ParentID != 0
Another thread could come in and stand the avatar between those two instructions.
2012-03-09 02:22:22 +00:00
Melanie
42a7a85062 FireAndForget scripted rez - port from Avination 2012-03-09 00:57:49 +00:00
Justin Clark-Casey (justincc)
df4b06aed1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-09 00:20:10 +00:00
Justin Clark-Casey (justincc)
034c9d6bcc Merge branch 'xassetservice' 2012-03-09 00:19:42 +00:00
Justin Clark-Casey (justincc)
3c5bd7c35a minor: move some compression related var setup inside compression if/then switch 2012-03-09 00:16:49 +00:00
Justin Clark-Casey (justincc)
0cbdf9dad2 Put big fat EXPERIMENTAL warning in xassetservice database plugin
This should not currently be used in any circumstances except for experimentation.
Database tables used by this plugin can still change at any time with no migration path.
2012-03-09 00:05:34 +00:00
Diva Canto
9c8ef96301 Fixes mantis #5923 2012-03-08 15:55:43 -08:00
Melanie
675d40357c Hold a ref to the prim we're sat on rather than querying scene each time
the check for significant is carried out. Prevents a deadlock condition.
2012-03-08 19:14:34 +00:00
Justin Clark-Casey (justincc)
fa2a64564a Move "change region" command into general category 2012-03-08 02:24:37 +00:00
Justin Clark-Casey (justincc)
dfdb0e140c Uses shorter AddCommand form for "show estates" 2012-03-08 02:23:52 +00:00
Justin Clark-Casey (justincc)
650d761c06 Display help commander topics in capitalized form - the commands themselves are still lowercase.
Also convert the estate commands to simply AddCommand() calls so that commands from two different modules can be placed in the same category
2012-03-08 02:17:45 +00:00
Justin Clark-Casey (justincc)
430304c176 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-08 01:59:00 +00:00
Justin Clark-Casey (justincc)
749c3fef8a Change "help" to display categories/module list then "help <category/module>" to display commands in a category.
This is to deal with the hundred lines of command splurge when one previously typed "help"
Modelled somewhat on the mysql console
One can still type help <command> to get per command help at any point.
Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet).
Does not affect command parsing or any other aspects of the console apart from the help system.
Backwards compatible with existing modules.
2012-03-08 01:51:37 +00:00
Justin Clark-Casey (justincc)
6bdea15ecf minor: make NPC tests run in a given order, comment out log lines in mock region data plugins, null out scene in script and npc torture tests, add other doc comments to torture tests 2012-03-07 01:11:37 +00:00
Melanie
a1b28a61a6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-03-07 01:04:09 +00:00
Melanie
7769362687 Always zero the PhysActor on dupes to prevent side effects on the orignal prim 2012-03-07 01:03:26 +00:00
Justin Clark-Casey (justincc)
f3678d217f Stop individually deleting objects at the end of each ObjectTortureTest.
We can now do this since the entire scene and all objects within it are now successfully gc'd at the end of these tests.
This greatly improves the time taken to run each test (by reducing teardown time, not the time to actually do the test work that we're interested in).
Slightly simplifies config read in Scene constructor to help facilitate this.
2012-03-07 00:31:18 +00:00
Justin Clark-Casey (justincc)
23aba007dd Add documentation to make more explicit the difference between OnRezScript and OnNewScript in the event manager
OnNewScript fires when a script is added to a scene
OnRezScript fires when the script actually runs (i.e. after permission checks, state retrieval, etc.)
2012-03-07 00:04:24 +00:00
Justin Clark-Casey (justincc)
3376979923 Remove static m_MainInstance in LocalGridServiceConnector.
I believe this was originally required back when there could be two LocalGridServiceConnectors but this is no longer the case.
Having such statics makes performance testing much more difficult since they prevent GC of objects unless static references are explicitly nulled.
2012-03-06 23:51:50 +00:00
Justin Clark-Casey (justincc)
98251cdab3 Add sensor, dataserver requests, timer and listener counts to "xengine status" command.
This is for diagnostic purposes.
2012-03-06 23:21:17 +00:00
Justin Clark-Casey (justincc)
e9d8eb5a27 Remove unnecessary explicit ElapsedEventHandler in SimReporter 2012-03-06 22:31:25 +00:00
Justin Clark-Casey (justincc)
0f4cdc0c5b Explictly close down the StatsReporter so that we can shutdown its timer
This is another step necessary for the scene to be garbage collected between performance tests
2012-03-06 19:05:32 +00:00
Justin Clark-Casey (justincc)
b3449e998a Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()
They were all failing assertions but the exceptions these threw were caught as expected Exceptions.
I don't think we can easily distinguish these from the Exceptions that we're expecting.
So for now we'll do some messy manually checking with boolean setting instead.
This patch also corrects the assertions themselves.
2012-03-06 02:30:22 +00:00
Justin Clark-Casey (justincc)
a92153ed88 Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that they're running 2012-03-06 02:21:19 +00:00
Justin Clark-Casey (justincc)
85198a45cb Fix off by one error in script error reporting. 2012-03-06 02:01:47 +00:00
Justin Clark-Casey (justincc)
1dc03e5c4f Simplify NPCModuleTests code by putting the NPCModule in an instance variable rather than making each test fetch it seperately.
Also rename instance variables in the test to conform to naming standards and for understandability
2012-03-06 01:47:43 +00:00
Justin Clark-Casey (justincc)
d44b7c486a Go back to setting appearance directly in NPCModule.SetAppearance() to fix mantis 5914
The part reverted is from commit 2ebb421.
Unfortunately, IAvatarFactoryModule.SetAppearance() does not transfer attachments.
I'm not sure how to do this separately, unfortunately I'll need to leave it to Dan :)
Regression test added for this case.
Mantis ref: http://opensimulator.org/mantis/view.php?id=5914
2012-03-06 01:27:30 +00:00
Chris Hart
413bc1e77e Updates to MSSQL store for 0.7.3 to include:
* Telehub support
* Bugfix to Friends lookups
* Updates to Creator fields to store up to 255 characters for HG item creator storage
2012-03-06 00:27:49 +00:00
Justin Clark-Casey (justincc)
441449e240 Switch to sha256 from sha1 in order to avoid future asset hash collisions.
Some successful collision attacks have been carried out on sha1 with speculation that more are possible.
http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms
No successful attacks have been shown on sha256, which makes it less likely that anybody will be able to engineer an asset hash collision in the future.
Tradeoff is more storage required for hashes, and more cpu to hash, though this is neglible compared to db operations and network access.
2012-03-06 00:14:21 +00:00
Justin Clark-Casey (justincc)
fd2b285b1b remove unnecessary hash local variable 2012-03-05 23:50:41 +00:00
BlueWall
ac934e2dbb Add WebProfiles config to other config example 2012-03-04 11:11:01 -05:00
BlueWall
33a154e446 Merge branch 'master' of /home/opensim/var/repo/opensim into v3_support 2012-03-04 10:42:37 -05:00
Justin Clark-Casey (justincc)
3780df8a32 Make asset compression optional. Currently set to false and not configurable from outside MySQLXAssetData. 2012-03-03 01:43:36 +00:00
Justin Clark-Casey (justincc)
75dc8b1aed Implement basic gzip compression for xassetdata
Whether this is worthwhile is debatable since here we are not transmitting data over a network
In addition, jpeg2000 (the biggest data hog) is already a compressed image format.
May not remain.
2012-03-03 01:28:58 +00:00
Justin Clark-Casey (justincc)
2535a4cafc If asset data already exists with the required hash then don't rewrite it 2012-03-03 00:05:02 +00:00
Justin Clark-Casey (justincc)
94b323d1d8 Perform asset storage transactionally 2012-03-02 23:41:54 +00:00
Justin Clark-Casey (justincc)
7113b44bdd Merge branch 'master' into xassetservice 2012-03-02 23:30:19 +00:00
Justin Clark-Casey (justincc)
98ad6ed255 comment out "[CAPS]: ScriptTaskInventory Request" log spam 2012-03-02 23:29:35 +00:00
Justin Clark-Casey (justincc)
e81b3502ef Make xassetservice execute one query to retrieve the asset, not two 2012-03-02 23:26:03 +00:00
Justin Clark-Casey (justincc)
c2c102d33e Remove outdated comment about checking attachment prims in Scene.PipeEventsForScript() 2012-03-02 22:52:26 +00:00
Justin Clark-Casey (justincc)
089fd61a3b Allow a script to receive events if its root prim is in an area where it's allowed to run rather than checking its own prim.
This allows scripts to run in child prims that are outside region boundaries.
This is an interim patch applied from http://opensimulator.org/mantis/view.php?id=5899 though it does not resolve that bug
Thanks tglion!
2012-03-02 22:43:24 +00:00
BlueWall
d242d47e5c OpenID auth needs hashing before authenticating 2012-03-02 15:05:06 -05:00
BlueWall
6fc350725d Merge branch 'master' into v3_support 2012-03-02 15:02:09 -05:00
Dan Lake
64a036b4cf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-03-02 09:19:35 -08:00
Dan Lake
8d249f8456 ScenePresence line endings and fix AllowMovement default to true. 2012-03-02 09:19:13 -08:00
Justin Clark-Casey (justincc)
6e3523e25e minor: remove mono compiler warning 2012-03-02 04:08:07 +00:00
Justin Clark-Casey (justincc)
2a2656f629 Merge branch 'master' into xassetservice 2012-03-02 04:01:53 +00:00
Justin Clark-Casey (justincc)
be4199c3bc Make XAssetService a de-duplicating asset service.
This is an extremely crude implemenation which almost works by accident.  Nevertheless it does work.
It can be tested with the instructions at http://opensimulator.org/wiki/Feature_Proposals/Deduplicating_Asset_Service#Testing
It does not interact at all with the existing asset service or any data stored there.
This code is subject to change without notice and should not be used for anything other than gawking.
2012-03-02 03:57:55 +00:00
Diva Canto
8fccd2b555 Send the right name and creation date on the BasicProfileModule. 2012-03-01 19:55:51 -08:00
Dan Lake
e8779cd9e5 In ScenePresence, removed several private variables used to store public parameters. They were only used by the get/set and make code harder to refactor. 2012-03-01 19:22:05 -08:00
Justin Clark-Casey (justincc)
dd63cd1656 Start by adding XAssetService as a copy of the existing AssetService.
This is the start of exploring the creation of a bundled OpenSimulator asset service that does de-duplication and possibly file storage of assets.
Along the lines of coyled's SRAS, but not intended to replace, merely to act as a more performant bundled default.
Might end up nicking stuff from kcozen's patch at http://opensimulator.org/mantis/view.php?id=5429
More details at http://opensimulator.org/wiki/Feature_Proposals/Deduplicating_Asset_Service
Feedback and discussion welcome as commits are made.
2012-03-02 02:23:35 +00:00
Justin Clark-Casey (justincc)
ec48a2f32b minor: Rename pCampbot console prompt to "pCampbot" rather than "Region" 2012-03-02 01:54:48 +00:00
Justin Clark-Casey (justincc)
94971bf3b9 Provide feedback on bot login states in pCampbot 2012-03-02 01:31:28 +00:00
Justin Clark-Casey (justincc)
d8c4985527 Move SenseRepeaters.Count check inside the SenseRepeatListLock.
No methods in the List class are thread safe in the MS specification/documentation
2012-03-02 00:28:37 +00:00
Justin Clark-Casey (justincc)
dcfd05c8ea lock SenseRepeatListLock when added a new sensor during script reconstitution.
This is already being done in the other place where a sensor is added.
Adding a sensor whilst another thread is iterating over the sensor list can cause a concurrency exception.
2012-03-02 00:22:23 +00:00
Mic Bowman
8a375f3c30 Adds an OSSL command for regular expression-based string replacement. Parameters
are osReplaceString(string source, string patter, string replace, integer count, integer start)
The count parameter specifies the total number of replacements to make, -1 makes
all replacements.
2012-03-01 14:49:49 -08:00
BlueWall
7a88d21e59 Merge branch 'master' of /home/opensim/src/opensim 2012-03-01 14:20:46 -05:00
BlueWall
a2b0ed537e Fix indexing on string trim
Thanks to zadark for pointing this out,
	smxy for deciphering the ?: operator and
	Plugh for the fix \o/ yay for IRC
2012-03-01 14:18:48 -05:00
Justin Clark-Casey (justincc)
0007711eb5 Use a fully stubbed out MockConsole for unit tests rather than inheriting from CommandConsole.
This is so that the static MainConsole.Instance doesn't retain references to methods registered by scene and other modules to service commands.
This prevents the scene from being garbage collected at the end of a test.
This is not the final thing preventing GC - next up is the timer started by SimStatsReporter that holds a reference to Scene that prevents end of test gc.
2012-03-01 03:23:10 +00:00
Justin Clark-Casey (justincc)
255afbf08a Remove more now unused third party libraries. 2012-03-01 02:11:15 +00:00
Justin Clark-Casey (justincc)
aabbbb32ff Flick master up to 0.7.4 2012-02-29 23:45:14 +00:00
Justin Clark-Casey (justincc)
1e95b01f13 Extend distsrc target to cleanup the files generated by running prebuild 2012-02-29 21:51:46 +00:00
BlueWall
69c999033b Revert "Fix authentication for OpenID provider"
This reverts commit 9f597c2d42. Fixing OpenID causes issues with other parts of the code.
2012-02-29 15:52:15 -05:00
BlueWall
1a54e76948 Trigger a build 2012-02-29 14:54:06 -05:00
BlueWall
df75f5ae37 Merge branch 'master' of /home/opensim/src/opensim 2012-02-29 14:42:36 -05:00
BlueWall
afc9a7d3f9 Merge branch 'master' of /home/opensim/src/opensim into v3_support 2012-02-29 14:39:51 -05:00
BlueWall
9f597c2d42 Fix authentication for OpenID provider 2012-02-29 14:39:07 -05:00
Justin Clark-Casey (justincc)
a181fae722 Don't start pCampbot if the user doesn't supply bot firstname, lastname stub and password 2012-02-29 03:00:56 +00:00
Justin Clark-Casey (justincc)
40c838896c Use correct casing of RegionSettings.Sandbox in the various database modules.
MySQL and MSSQL have it as Sandbox, sqlite as sandbox.
In various different places in every plugin the wrong casing is used...
Consistency, who needs it?  Or one day sqlite can change to Sandbox.
2012-02-29 00:33:17 +00:00
Justin Clark-Casey (justincc)
670c7842a4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-29 00:03:55 +00:00
Justin Clark-Casey (justincc)
2fce7dd593 Call Dispose() via using() on SqliteCommands in WebStatsModule after use. 2012-02-28 22:54:21 +00:00
Kevin Cozens
a813e7ffdd Fixed two typos. White space cleanups.
Signed-off-by: nebadon <michael@osgrid.org>
2012-02-28 14:12:39 -07:00
Mic Bowman
4268427ac3 Some clean up in WebUtil, remove unused ServiceRequest function. 2012-02-27 15:15:03 -08:00
Diva Canto
142f8a4aec HG: Remove async in posting assets to foreign grid. Mono hates concurrency there. 2012-02-25 21:00:19 -08:00
BlueWall
4177571a78 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into v3_support 2012-02-25 14:33:56 -05:00
PixelTomsen
01f454242d PRIM_SCULPT_FLAG_INVERT, PRIM_SCULPT_FLAG_MIRROR implemented
http://opensimulator.org/mantis/view.php?id=5763
2012-02-25 15:33:33 +00:00
Justin Clark-Casey (justincc)
4a5f9fe6a2 Move libopenjpeg native libraries into lib32 and lib64 as appropriate. 2012-02-25 04:26:32 +00:00
Justin Clark-Casey (justincc)
6159110258 Remove some more unused Bullet libraries. 2012-02-25 04:22:59 +00:00
Justin Clark-Casey (justincc)
ca19b9078f Remove old libbulletnet native libraries. These are not used in the current generation bullet physics plugin. 2012-02-25 03:36:43 +00:00
Justin Clark-Casey (justincc)
6138662716 Move other sqlite and ode 32-bit and 64-bit libraries into lib32 or lib64 as appropriate. 2012-02-25 03:25:56 +00:00
Justin Clark-Casey (justincc)
3fbcd21916 Remove xunit.dll, Fadd.Globalization.Yaml.dll and Fadd.dll. It looks like these were once connected with HttpServer.dll but are now unused. 2012-02-25 03:12:41 +00:00
Justin Clark-Casey (justincc)
b48b0b1e58 Remove EXPERIMENTAL tags from load iar/save iar commands. 2012-02-25 00:48:41 +00:00
Justin Clark-Casey (justincc)
f9066e7d86 Establish a distsrc nant target for producing the source distribution.
This is in addition to the distbin target.  The distbin target now needs distsrc to be run first.
Still needs some extra tweaking that I shall eventually put in as sed invocations or similar.
2012-02-25 00:36:28 +00:00
PixelTomsen
7b5e42c744 llGetLinkMedia, llSetLinkMedia, llClearLinkMedia implementation mantis: http://opensimulator.org/mantis/view.php?id=5756 http://opensimulator.org/mantis/view.php?id=5755 http://opensimulator.org/mantis/view.php?id=5754 2012-02-24 23:10:41 +00:00
Justin Clark-Casey (justincc)
bafef292f4 Take watchdog alarm calling back outside the m_threads lock.
This is how it was originally.  This stops a very long running alarm callback from causing a problem.
2012-02-24 05:25:18 +00:00
Justin Clark-Casey (justincc)
9e6ffe7798 Rename Watchdog.GetThreads() to GetThreadsInfo() to reflect what it actually returns and for consistency. 2012-02-24 05:15:47 +00:00
Justin Clark-Casey (justincc)
84735b644c Get rid of some of the identical exception catching in Scene.Update(). 2012-02-24 05:12:56 +00:00
Justin Clark-Casey (justincc)
f67f37074f Stop spurious scene loop startup timeout alarms for scenes with many prims.
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24 05:02:33 +00:00
Justin Clark-Casey (justincc)
fe229f10e6 In osSetSpeed(), if no avatar for a uuid is found then don't attempt to set speed. 2012-02-24 04:08:59 +00:00
PixelTomsen
0b9f4d7e74 llLinkSitTarget implementation http://wiki.secondlife.com/wiki/LlLinkSitTarget 2012-02-24 00:58:11 +00:00
Justin Clark-Casey (justincc)
f034958bdc Load appropriate 32-bit/64-bit Windows sqlite dll if using WebStatsModule.
This should resolve http://opensimulator.org/mantis/view.php?id=5901
2012-02-23 23:11:47 +00:00
Justin Clark-Casey (justincc)
90ea00a109 Try to resolve some problems with viewers crashing after hitting parcel banlines or freezing on the banline.
This involves
1) On forcible teleport, call m_scene.RequestTeleportLocation() rather than ScenePresence.Teleport() - only EntityTransferModule now should call SP.Teleport()
2) When avatar is being forcibly moved due to banlines, use a 'stop movement' tolerance of 0.2 to requested position rather than 1
This prevents the avatar sometimes being stuck to banlines until they teleport somewhere else.
This aims to fix some problems in http://opensimulator.org/mantis/view.php?id=5822
2012-02-23 22:56:42 +00:00
BlueWall
af377470e1 Merge branch 'master' into v3_support 2012-02-22 22:29:30 -05:00
Melanie
9ed4245d9e Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-02-23 01:42:08 +00:00
Melanie
1dfc990264 Add a position parameter to region crossing of objects. This avoids the
potential bad update that places an object at the opposite side of the
origin sim for a moment before actually crossing it. Especially important in
grids like OSG where lag between sims is high.
2012-02-23 01:40:30 +00:00
BlueWall
165ae251ec V3 Support
The V3 webapps need SSO capability and use OpenID. We need to send both our OpenID server url and a token for the user in the login response.
2012-02-22 16:36:28 -05:00
BlueWall
67bea681e2 Add web profile url setting to ini 2012-02-21 23:04:49 -05:00
Justin Clark-Casey (justincc)
5d31267185 Remove two spurious m_sceneGraph != null checks in Scene.cs. It's set in constructor and never subsequent set to null. 2012-02-22 00:55:16 +00:00
Justin Clark-Casey (justincc)
cf9b3e7708 Restore the taskItem null check that I accidentally blatted in 5397a6d
This is a valid check because the caller could supply an invalid uuid.
2012-02-21 23:41:48 +00:00
PixelTomsen
1c533eb520 Fix:LINK_ROOT flag for llGetLinkName() by SinglePrim 2012-02-21 23:15:33 +00:00
Justin Clark-Casey (justincc)
5397a6d4c6 Fix problem with dragging child part inventory item to user inventory.
This fixes the problem by fixing the permissions module to look at root part permissions rather than having to do this for every caller.
Resolves http://opensimulator.org/mantis/view.php?id=5569
2012-02-21 22:54:30 +00:00
Justin Clark-Casey (justincc)
76f411147d Revert "Fix:Cannot drag inventory from child prim into inventory http://opensimulator.org/mantis/view.php?id=5569"
This reverts commit 15ce73caca.

As per the COMMENTS in http://opensimulator.org/mantis/view.php?id=5569, I was going to fix this in a more general way.
2012-02-21 22:49:06 +00:00
PixelTomsen
15ce73caca Fix:Cannot drag inventory from child prim into inventory http://opensimulator.org/mantis/view.php?id=5569 2012-02-21 22:07:12 +00:00
BlueWall
7cf970fb27 V3 Support:
This starts V3 support by adding a profile server url to the login response. This requires viewer support - which is also being worked on.
2012-02-21 14:21:03 -05:00
Justin Clark-Casey (justincc)
a27e5a9c95 Both 32-bit and 64-bit BulletSim.dll must have the same name. Rename the 64 bit one in lib64 2012-02-21 04:12:17 +00:00
Justin Clark-Casey (justincc)
daee2eda93 Load 32-bit or 64-bit BulletSim Windows library automatically as appropriate.
This uses the same approach as ODE.
radams, if this doesn't work for you please feel free to revert.
2012-02-21 04:10:39 +00:00
Justin Clark-Casey (justincc)
a15b00d3ef Replace previous windows 64-bit sqlite3.dll with one from http://system.data.sqlite.org/downloads/1.0.79.0/sqlite-netFx35-binary-bundle-x64-2008-1.0.79.0.zip
In this zip, it's called System.Data.SQLite.dll.  We rename it to lib64/sqlite3.dll
This is a little unexpected but it works.  For some reason my hand-rolled one in Visual Studio 2008 did not.
This is sqlite 3.7.10.  Other libraries are still currently 3.7.6 but this should make no difference.
This should make it possible to use OpenSim.exe on 64-bit Windows now, though currently the bullet physics plugin will still complain (can be ignored if you are not using bullet).
2012-02-21 04:01:27 +00:00
Justin Clark-Casey (justincc)
1b906ef2ad Replace win 64-bit sqlite3.dll with another version, though I suspect this one won't work either. 2012-02-21 03:24:01 +00:00
Justin Clark-Casey (justincc)
68a4ef5ef6 Add 64 bit Windows sqlite3.dll and use this if running a 64-bit windows process. 2012-02-21 02:52:20 +00:00
Justin Clark-Casey (justincc)
90dc5f47e7 Fix bug where NPCs would establish child agents on other neighbour regions that had come up after the NPC was created. 2012-02-21 01:57:19 +00:00
Justin Clark-Casey (justincc)
19d271d3fc Remove PhysXPlugin and wrappers.
In over 4 years this never progressed beyond an unimplemented stub.
This doesn't mean that it can't come back if someone is interested in implementing PhysX support.
2012-02-21 01:45:17 +00:00
Diva Canto
4a329098e8 Amend to last commit: synchronize access to queues. 2012-02-20 11:12:02 -08:00
Diva Canto
99b9c1a9d5 More improvements on agent position updates: if the target sims fail, blacklist them for 2 min, so that we don't keep doing remote calls that fail. 2012-02-20 10:58:07 -08:00
Diva Canto
1c3ee5d1ce One more tweak related to the previous 2 commits. 2012-02-19 16:42:01 -08:00
Diva Canto
b489c85226 Amend to last commit. This should have been committed too. 2012-02-19 15:37:37 -08:00
Diva Canto
dcea23906b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-19 12:28:47 -08:00
Diva Canto
20c65ac438 A few more tweaks on position updates and create child agents. Mono hates concurrent uses of the same TCP connection, and even of the connections to the same server. So let's stop doing it. This patch makes movement much smoother when there are lots of neighbours. 2012-02-19 12:28:07 -08:00
BlueWall
bcb9577495 Use localy defined name, TPFlags, for Constants.TeleportFlags 2012-02-19 12:09:57 -05:00
PixelTomsen
d22715126c Fix:Fly setting for Parcel dosen't work http://opensimulator.org/mantis/view.php?id=5887
Signed-off-by: nebadon <michael@osgrid.org>
2012-02-19 01:58:28 -07:00
PixelTomsen
a114367b9b Fix:OmegaX, OmegaY and OmegaZ not saved for child prims http://opensimulator.org/mantis/view.php?id=5893
Signed-off-by: nebadon <michael@osgrid.org>
2012-02-19 01:00:01 -07:00
Diva Canto
2ffc055f7e This should smooth movement in heteregeneous networks by a lot: cache the region by position instead of looking it up all the time -- this was being done during the main update loop! 2012-02-18 21:59:42 -08:00
BlueWall
14e9bf894c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-18 00:51:23 -05:00
BlueWall
f4cd35322f Route logins according to Estate, Telehub and TeleportFlags 2012-02-18 00:45:43 -05:00
BlueWall
7bdcf9eb26 Propagate our teleport flags on logins 2012-02-18 00:32:09 -05:00
Justin Clark-Casey (justincc)
9846a1e56e Report an error if the required native Windows ODE library can't be found. 2012-02-18 02:52:29 +00:00
Justin Clark-Casey (justincc)
4cc97df8f3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-18 02:46:44 +00:00
Justin Clark-Casey (justincc)
0ef64fbe03 Actually add the Windows 64-bit ode.dll file.
This might be why it didn't work.
2012-02-18 02:46:07 +00:00
BlueWall
fbccff4994 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-17 21:15:18 -05:00
Justin Clark-Casey (justincc)
84184708de Fix a bug where changing shape parameters of a child prim in a linkset would not persist.
Resolves http://opensimulator.org/mantis/view.php?id=5819
2012-02-18 01:15:43 +00:00
BlueWall
8f8b478d36 Parcel sales support to SQLite 2012-02-17 20:04:38 -05:00
Justin Clark-Casey (justincc)
b817c337dc On Windows automatically load the correct native ODE library depending on whether the process is 32-bit or 64-bit
In theory, this means that a 64-bit Windows OS user can now run OpenSim.exe with ODE and use more than 2 (or 3) GB of memory.
However, this is completely untested since I don't currently own a 64-bit Windows box.  Feedback appreciated.
Using OpenSim.32BitLaunch.exe should continue to work.  Other platforms are unaffected.
This will currently not work with sqlite - I will add that too if this works.
2012-02-18 00:33:52 +00:00
BlueWall
d03e878d53 Fillin missing SQLite support for Telehubs 2012-02-17 17:31:20 -05:00
Dan Lake
b313d16493 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-17 13:51:54 -08:00
Dan Lake
784263f5e3 Added the TriggerAvatarAppearanceChanged to EventManager. It's triggered by AvatarFactoryModule after an avatar's appearance has been succesfully changed and persisted (if the persist option is set). 2012-02-17 13:45:45 -08:00
Robert Adams
6baa13ab7a Add new and updated script events 2012-02-17 09:12:41 -08:00
BlueWall
0e16e0fb6a Merge branch 'master' of /home/opensim/src/opensim 2012-02-17 08:21:33 -05:00
BlueWall
ba98d6fffe Fix missing telehub handling on login 2012-02-17 08:03:53 -05:00
Justin Clark-Casey (justincc)
972f73ed2b Make osNpcStopAnimation() call AvatarStopAnimation() rather than AvatarPlayAnimation() 2012-02-17 02:53:12 +00:00
BlueWall
c5ff37bf3e Merge branch 'master' of /home/opensim/src/opensim 2012-02-16 09:01:02 -05:00
BlueWall
6b867773a8 Remove some debugging output form the logger 2012-02-16 08:59:34 -05:00
Justin Clark-Casey (justincc)
912aac3447 minor formatting changes from last commit (4486n7d) 2012-02-16 03:37:40 +00:00
PixelTomsen
4486b7d8e8 Fix: Object owned by the group does not return to the last owner http://opensimulator.org/mantis/view.php?id=5404 2012-02-16 03:35:18 +00:00
Justin Clark-Casey (justincc)
1267094a51 Turn off logging on test in last commit (2b84295). 2012-02-16 03:02:11 +00:00
Justin Clark-Casey (justincc)
2b842958cc If shape properties fail SOP parsing (e.g. due to commas instead of decimal points) print out one short message listing the failing node names rather than lots of exceptions.
Adds skeleton bad float values deserialization test
2012-02-16 02:58:00 +00:00
Justin Clark-Casey (justincc)
80ec2ac167 Correct a bug introduced in 1f402fdf (Feb 7 2012) where the delete friends grid call would try and contact the wrong uri. Also fixes the build from df960d5 2012-02-16 01:39:12 +00:00
Justin Clark-Casey (justincc)
df960d5767 Add known identity informatio nto log message if an exception is thrown during LLUDPServer.HandleUseCircuitCode() 2012-02-16 01:25:54 +00:00
Justin Clark-Casey (justincc)
c0760f9f91 Comment out "experimental" log message printed out whenever a physics mesh was generated for a mesh
Also adds prim name to the "no asset data" error log message
2012-02-16 00:28:57 +00:00
Justin Clark-Casey (justincc)
c906128191 Fix some logic mistakes where firstly osNpcCreate() without options was creating npcs sensed as agents and secondly the OS_NPC_SENSE_AS_AGENT option was having the opposite effect.
Hopefully makes progress on addressing http://opensimulator.org/mantis/view.php?id=5872
2012-02-16 00:22:39 +00:00
Justin Clark-Casey (justincc)
f574d3c8fc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-15 01:50:57 +00:00
Justin Clark-Casey (justincc)
ebe5e1731d In ObjectTortureTests, run garbage collector on Teardown and run scene loop update when scene objects have been deleted.
At least on mono 2.6.4, running GC.Collect() is not guaranteed to force gc of all objects when run in the same method where those objects had references.
Therefore, GC.Collect() is now being done in the per-script teardown of ObjectTortureTests.
In addition, scene loop update is being run after garbage collection in order to clean out the viewer update list of scene objects in the SceneGraph.
These measures mean that scene objects/parts are now garbage collected after a test run if deleted from the scene, resulting in a much better memory usage report (though probably still not very accurate).
However, deletion takes a very long time - what's really needed is to find out now why the entire scene isn't being GC'd by this measure.
This change hasn't yet been applied to the other stress tests.
2012-02-15 01:45:25 +00:00
Dan Lake
2ebb421331 Refactor appearance saving for NPC to use AvatarFactoryModule interface. 2012-02-14 17:20:34 -08:00
Mic Bowman
a9e8bd59a3 Fix a race condition in the simian groups connector. When requests were
too slow they would circumvent the cache (piling up on the network service
and making the problem even worse). This condition happens frequently
during permission checks.
2012-02-13 19:38:22 -08:00
PixelTomsen
4589ce61bc Fix: get embedded objects from Notecard fails with activated FreeSwitchVoiceModul
http://opensimulator.org/mantis/view.php?id=2607
2012-02-14 02:12:12 +00:00
PixelTomsen
33e66107be Fix: Lightshare Module(Windlight)-Region settings are not applicable for database sqlite mantis: http://opensimulator.org/mantis/view.php?id=5888 2012-02-14 02:06:42 +00:00
PixelTomsen
db90dea9bd Fix: MSSQLDB Grid - unable to register region http://opensimulator.org/mantis/view.php?id=5886 2012-02-14 02:04:02 +00:00
Justin Clark-Casey (justincc)
04544b4510 Revert "Add GridStore migration for MSSQL."
This reverts commit 0b17a66e68.
2012-02-14 02:03:23 +00:00
Justin Clark-Casey (justincc)
0b17a66e68 Add GridStore migration for MSSQL.
This is done blind since I don't use MSSQL.  If this doesn't work, then one will have to wait for it to be updated for the 0.7.3 opensim release.
2012-02-14 02:02:11 +00:00
Justin Clark-Casey (justincc)
04986bbb15 Add some more data to the new user connection logging for debug purposes. 2012-02-14 01:50:51 +00:00
Justin Clark-Casey (justincc)
b0d02adeee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-14 00:01:24 +00:00
Justin Clark-Casey (justincc)
48b962c401 Update [XEngine] AppDomainLoading advice in OpenSim.ini.example 2012-02-14 00:00:49 +00:00
Mic Bowman
04a195266b short circuit the expensive parts of the permission checking code
if the current user is the owner of an object. none of the later
checks can reverse the outcome.
2012-02-13 13:21:42 -08:00
Justin Clark-Casey (justincc)
21393af631 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-13 20:48:50 +00:00
Justin Clark-Casey (justincc)
189c67db95 On object deserialization, go back to logging errors at DEBUG level rather than ERROR. Restore extra log message if shape processing fails.
Logging level was DEBUG before 312e145 (Fri Feb 3 2012).
312e145 also accidentally removed the 'general error' log message if any shape deserialization failed.
This commit restores it, though this has no functional impact.
2012-02-13 20:43:26 +00:00
Justin Clark-Casey (justincc)
b92b9228ef correct the default avatar_terminal_velocity value that I accidentally left in whilst testing 2012-02-11 02:29:07 +00:00
Justin Clark-Casey (justincc)
f49897a419 Clamp ODE character velocity. Make ODE falling character 54m/s by default.
If velocity reaches 256 in any vector then bad things happen with ODE, so we now clamp this value.
In addition, a falling avatar is clamped by default at 54 m/s, which is the same as a falling skydiver.
This also appears to be the value used on the linden lab grid.
This should resolve http://opensimulator.org/mantis/view.php?id=5882
2012-02-11 02:28:40 +00:00
Justin Clark-Casey (justincc)
aab30f5e67 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-11 00:11:28 +00:00
Justin Clark-Casey (justincc)
e7fd732209 Make ScenePresence.MovementFlag a private only settable value to reduce complexity of code analysis 2012-02-11 00:10:59 +00:00
Melanie
5023cc86f0 Change parser to leave embedded quotes alone if the pattern is recognized
as an OptionSet long option
2012-02-10 23:58:39 +00:00
Justin Clark-Casey (justincc)
71e484516a minor: Remove warning from RegionInfo due to repeated config.GetString() call where the first was unused. 2012-02-10 23:41:14 +00:00
Justin Clark-Casey (justincc)
38f878952c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-10 23:39:59 +00:00
Justin Clark-Casey (justincc)
d80422eba7 Add line numbers to Util.PrintCallStack() 2012-02-10 23:39:32 +00:00
BlueWall
ee078f717a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-10 16:28:11 -05:00
BlueWall
73f34de1f9 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-02-10 16:27:14 -05:00
Justin Clark-Casey (justincc)
b3d152f3ba Fix an npc delete race condition with LSL sensors where an initial presence check could succeed but then the npc removed before the subequent npc check.
The resulting null would cause an exception.  We now check for null before looking at SenseAsAgent.
Hopefully fixes http://opensimulator.org/mantis/view.php?id=5872
2012-02-10 21:26:05 +00:00
PixelTomsen
a7dc7e636e Fix: Covenant view fails after updates or cache-clean see mantis http://opensimulator.org/mantis/view.php?id=2879
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-02-10 15:45:03 -05:00
Justin Clark-Casey (justincc)
44d84bc277 Fix bug where somebody taking a copy of an object they didn't own that was rezzed before the region was restarted would wrongly place the copy in the object owner's inventory.
Addresses http://opensimulator.org/mantis/view.php?id=5825
2012-02-10 19:58:34 +00:00
PixelTomsen
7273e05995 Fix: Unable to remove AV from friend list (sqldb-bug) http://opensimulator.org/mantis/view.php?id=3731 2012-02-10 02:30:55 +00:00
Justin Clark-Casey (justincc)
ddca5347c3 When an asset is uploaded (e.g. a mesh) set individual copy/move/transfer permissions, not PermissionMask.All
Setting PermissionMask.All will cause next permissions to replace current permissions when the object is rezzed, since bit 4 will be set.
This is not correct behaviour for a freshly uploaded mesh.  Freshly rezzed in-world prims also do not have bit 4 set (don't yet know exactly what this is).
Should resolve http://opensimulator.org/mantis/view.php?id=5651
2012-02-10 02:13:15 +00:00
Justin Clark-Casey (justincc)
e8cc1bd329 Fix another Torture test build break on Windows. 2012-02-09 20:12:29 +00:00
Justin Clark-Casey (justincc)
9c84a8162f If NPCModule.CreateNPC() fails to create the required ScenePresence (which should in theory never happen), don't add the NPC to the npc list but return UUID.Zero instead. 2012-02-09 01:17:59 +00:00
Justin Clark-Casey (justincc)
16c4636048 Add NPC torture tests for 100, 1000 and 2000 create and delete NPC calls. 2012-02-09 00:38:09 +00:00
Justin Clark-Casey (justincc)
dbe32a1f6d minor: put in commented out logging statements for future reuse 2012-02-09 00:10:45 +00:00
Justin Clark-Casey (justincc)
3fa61c4a39 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-08 22:21:15 +00:00
Justin Clark-Casey (justincc)
dfa19e23f0 Stop a scene object from attempting to link with itself (which results in an exception and constant complaints in v3 viewers).
Aims to address http://opensimulator.org/mantis/view.php?id=5878
2012-02-08 22:19:34 +00:00
Robert Adams
d5c08c44bf Add missing reference to prebuild.xml for torture tests 2012-02-07 16:40:09 -08:00
Justin Clark-Casey (justincc)
bef2a368f4 Make WebStats logging report consistently as WEB STATS MODULE instead of VC, VS and WEBSTATS 2012-02-07 23:38:53 +00:00
Justin Clark-Casey (justincc)
a4367e75d3 Set UseMeshiesPhysicsMesh = true in [Mesh] by default
This means that uploaded meshes will get a physics (collision) mesh if uploaded with that option via a viewer.
2012-02-07 23:15:23 +00:00
Justin Clark-Casey (justincc)
c87751a822 Add start GC memory and end GC memory to object stress test printouts.
This illustrates that references to Scene, SOG, etc. are not currently being released when a stress test ends (or at regression test end in general).
This means even the current stress tests take much more memory than they need, a problem that will have to be addressed.
2012-02-07 23:03:53 +00:00
Justin Clark-Casey (justincc)
1f402fdf5e Add url to logging if SynchronousRestFormsRequester.MakRequest() throws an exception in service connectors 2012-02-07 21:40:28 +00:00
Justin Clark-Casey (justincc)
bd928218dd Add TestAddTaskInventoryItem() 2012-02-07 21:00:47 +00:00
Justin Clark-Casey (justincc)
773994723a Add warning about only uncommenting EstateConnectionString if you know what you're doing to GridCommon.ini.example (was already in StandaloneCommon.ini.example) 2012-02-07 20:35:04 +00:00
Justin Clark-Casey (justincc)
7583768b9e Remove debug logging if physics actor is null in SOP.ApplyPhysics()
This is not valid in the case of BasicPhysics which can return a null PhysicsActor (though I think it should really return a do-nothing PhysicsActor).
2012-02-07 20:26:26 +00:00
Justin Clark-Casey (justincc)
c22970448f Add TestCompileAndStart100Scripts() torture test. 2012-02-07 19:42:32 +00:00
Justin Clark-Casey (justincc)
038d1bf742 Add a regression test to compile and start a script. Remove Path.GetDirectoryName when getting assembly loading path in Compiler.CompileFromDotNetText().
The Path.GetDirectoryName call in Compiler.CompileFromDotNetText is unnecessary since AppDomain.CurrentDomain.BaseDirectory is always a directory.
Later path concatenation is already done by Path.Combine() which handles any trailing slash.
Removing Path.GetDirectoryName() will not affect the runtime but allows NUnit to work since it doesn't add a trailing slash to AppDomain.CurrentDomain.BaseDirectory.
2012-02-07 17:44:37 +00:00
Melanie
130b1c0665 Revert my two quick fixes for the lag issue and put in the real fix, which
is to only write to the database if data was changed. I was writing to the db
on every step of every avatar. Sure to give us lag, that.
2012-02-05 20:47:02 +00:00
Melanie
a5fcdde179 Revert "Remove checks on ban list expiry on every move. To be re-added on parcel"
This reverts commit 35f14a262d.
2012-02-05 20:12:45 +00:00
Melanie
0904772a6f Revert "Check ban list for a particular parcel only when an avatar moves into it."
This reverts commit 8923ad755d.
2012-02-05 20:12:35 +00:00
BlueWall
4e11983c7c Make configuration uniform
Pickup the max physical prim size in Scene to make it uniform since adding code to get default size from the OpenSim*.ini.
2012-02-05 12:38:20 -05:00
Melanie
8923ad755d Check ban list for a particular parcel only when an avatar moves into it.
This restores functionality remove in the last commit without reintroducing
the performance penalty.
2012-02-05 04:03:32 +00:00
Melanie
35f14a262d Remove checks on ban list expiry on every move. To be re-added on parcel
boundary crossing only as soon as I'm properly awake. This should fix
recent performance issues
2012-02-05 03:44:15 +00:00
BlueWall
13999dfc1d Set PhysPrimMax default to 0 so ini files won't be overridden 2012-02-04 21:52:55 -05:00
nebadon
36ed0dcdaa change NonPhysicalPrimMax to NonphysicalPrimMax in Scenes.cs to make the
variable in OpenSim.ini and Regions.ini match
2012-02-04 19:45:10 -07:00
nebadon
44badf452e change NonPhysicalPrimMax to NonphysicalPrimMax to make this variable
work correctly, it was being ignored because of the case, this effects
OpenSim.ini.example and OpenSimDefaults.ini
2012-02-04 19:41:25 -07:00
BlueWall
df07b97abd Make NonphysicalPrimMax setting work properly
RegionInfo setting will override only if it is > 0
2012-02-04 21:30:16 -05:00
BlueWall
43b4e4cfc3 Quiet the map module logging 2012-02-04 19:08:52 -05:00
BlueWall
6034e5d112 Add default value to TelehubObject 2012-02-04 00:28:22 -05:00
Justin Clark-Casey (justincc)
8779ff3c8f Supply correct parameters to detailed authentication login fail message 2012-02-04 02:00:35 +00:00
Justin Clark-Casey (justincc)
edc11a1d39 Add missing RCERR_UNKNOWN and RCERR_SIM_PERF_LOW LSL constants that would eventually be used by llCastRay(), though OpenSim does not use these yet. 2012-02-04 01:04:00 +00:00
Justin Clark-Casey (justincc)
09d6521361 Correct RC_* LSL constants used by llCastRay().
Many thanks to WhiteStar for doing the research on this.
2012-02-04 01:00:11 +00:00
Justin Clark-Casey (justincc)
6c252a0fa1 Add TestRegionSettingsDeserialize 2012-02-04 00:55:03 +00:00
Justin Clark-Casey (justincc)
9b762a5a84 Only look for an uploaded transactional asset in Scene.UpdateTaskInventory if we have been passed a non-zero transaction ID.
This resolves the recent regression from deeb728 where notecards could not be saved in prim inventories.
This looks like a better solution than deeb728 since only non-caps updates pass in a transaction ID.
Hopefully resolves http://opensimulator.org/mantis/view.php?id=5873
2012-02-04 00:20:27 +00:00
Justin Clark-Casey (justincc)
2b6c5fcb31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-03 23:48:12 +00:00
Justin Clark-Casey (justincc)
312e1457dd Change SceneObjectSerializer to use common ExternalRepresentationUtils.ExecuteReadProcessors() methods.
Adds ability to submit a customized exception message to match logging.
2012-02-03 23:47:01 +00:00
Snoopy Pfeffer
bd9d7484f0 Merge branch 'master' of ssh://snoopy@opensimulator.org/var/git/opensim 2012-02-04 00:39:58 +01:00
Dan Lake
4f8f44d9c3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-03 15:21:37 -08:00
Dan Lake
ea19e50919 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2012-02-03 15:21:07 -08:00
BlueWall
0742630d81 Merge branch 'master' of /home/opensim/src/opensim 2012-02-03 18:20:26 -05:00
Dan Lake
107cef2b0e Check for null scene in ScheduleFullUpdate and ScheduleTerseUpdate before triggering events on a potentially null Scene 2012-02-03 15:18:48 -08:00
Justin Clark-Casey (justincc)
ce34b359ad Extend m_avatars lock in NpcModule.CreateNPC over both creation of NPC scene presence and population of m_avatars.
This is required to stop a race where the SensorRepeat module can detect an NPC avatar before m_avatars is populated.
Extending the lock is the easiest to understand solution rather than getting complicated with null checks.
Hopefully resolves http://opensimulator.org/mantis/view.php?id=5872
2012-02-03 23:04:26 +00:00
PixelTomsen
5c545d1d2e Fix: Covenant changed time not set http://opensimulator.org/mantis/view.php?id=5869
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-02-03 18:02:51 -05:00
Snoopy Pfeffer
83ef13a79a Changed save oar and save iar parameter -p|--profile to -h|--home, including corresponding RemoteAdmin parameter 2012-02-03 23:53:18 +01:00
Justin Clark-Casey (justincc)
6234264211 Refactor common deserialization processor code to generic method ExternalRepresentationUtils.ExecuteReadProcessors() 2012-02-03 22:45:50 +00:00
Justin Clark-Casey (justincc)
f17066b7bf Change LandDataSerializer deserialization so that in the future it won't care about extra elements or element order.
This brings it into line with other deserializations such as object and will improve future backward compatibility.
2012-02-03 22:21:54 +00:00
Snoopy Pfeffer
1a18948935 Corrected console help texts for "save iar" 2012-02-03 23:04:18 +01:00
Dan Lake
61adf36339 Commenting out new event until I can fix OpenSim tests. Currently, testing objects does not create a Scene or EventManager so triggering events crashes some tests 2012-02-02 18:19:22 -08:00
Dan Lake
ed846f11f1 OpenSim tests do not always create an EventManager so calls to trigger events during tests must check for null EventManager 2012-02-02 18:06:34 -08:00
Dan Lake
3257dbe76d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-02 17:44:11 -08:00
Dan Lake
146d78edfa ObjectAddedToScene event should be fired when duplicating objects 2012-02-02 17:41:05 -08:00
Dan Lake
ee2b2aadc3 fix line endings 2012-02-02 17:39:05 -08:00
Melanie
76a658324c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-02-03 00:07:23 +00:00
Melanie
574c240202 Fix test failure 2012-02-03 00:05:36 +00:00
Melanie
447a66d660 Replace ParcelAccessEntry with a new struct, LandAccessEntry, which more
accurately reflects the data sent by the viewer. Add times bans and the
expiration of timed bans.
Warning: Contains a Migration (and nuts)
2012-02-02 23:40:56 +00:00
Justin Clark-Casey (justincc)
54d473e200 D'oh - we want to call llGetLinkNumberOfSides() in the LSL_Stub, not llGetLinkNumber(). 2012-02-02 23:35:16 +00:00
Justin Clark-Casey (justincc)
264c83aec4 Add llGetLinkNumberOfSides to LSL_Stub and ILSL_Api
It already existed in LSL_Api but it also needs to exist in these two other places for a script to be able to see it.
Hopefully resolves http://opensimulator.org/mantis/view.php?id=5489
2012-02-02 22:48:36 +00:00
Justin Clark-Casey (justincc)
17df4185ce Add stress tests for simple object add of 100 prim objects. Add time taken to output (this is unreliable). 2012-02-02 18:42:27 +00:00
Diva Canto
dbf6381e34 OpenID: server connector had a copy-and-paste error that made identity queries fail. 2012-02-02 08:39:23 -08:00
Melanie
567f4c51f8 Improve reliability of script state saving by covering various saving
and loading scenarios which resulted in loss of continuity on item ids
2012-02-02 01:52:17 +00:00
Dan Lake
0ce9ad4a56 Add event RegionHeartbeatEnd for modules interested in coordinating activity with region heartbeats 2012-02-01 17:01:28 -08:00
Dan Lake
c10193c72b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-02-01 16:25:35 -08:00
Melanie
003bd9f1b3 Small optimization to last commit 2012-02-01 10:05:04 +00:00
Melanie
cc1476fc36 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-02-01 09:45:42 +00:00
Melanie
241ddd031f Fix copy/paste errors 2012-02-01 09:45:15 +00:00
Melanie
c08d6df7e1 Prevent a changed attachment that has been saved from being saved again. 2012-02-01 09:38:20 +00:00
Melanie
fcc1fa2c32 Straighten out some attachment mess. Don't save attachment states for HG
visitors at all. On Leaving a sim, save only the changed ones. Don't save
all scripted stuff when leaving a sim.
2012-02-01 09:36:14 +00:00
Diva Canto
3d7b5e5e93 HG: This hopefully fixes the HG teleports back home to OSGrid. Looks like Uri.ToString() drops the port when it's port 80. 2012-01-31 22:00:59 -08:00
Justin Clark-Casey (justincc)
99e71222f0 Lay out script status in property per row format, since getting too long for console lines. 2012-02-01 00:27:42 +00:00
Justin Clark-Casey (justincc)
e3680f216e Add count of events queued for a particular script in "scripts show" console command 2012-02-01 00:17:02 +00:00
Justin Clark-Casey (justincc)
8b3da1bff4 Make script console commands only show for selected region. 2012-02-01 00:10:07 +00:00
Justin Clark-Casey (justincc)
437de6743c Implement "xengine status" console command to show various xengine stats 2012-02-01 00:07:06 +00:00
Justin Clark-Casey (justincc)
f028dca711 Add "show part uuid" and "show part name" console commands.
These commands will display part/prim details for a given uuid or name
The "show object uuid" and "show object name" commands will now only display details for objects (i.e. not child parts in a linkset).
This is for consistency with the "delete object" commands which only delete objects, not parts.
2012-01-31 23:35:13 +00:00
Justin Clark-Casey (justincc)
996cc6097e Implement "show object name <name>" console command to show details of an object with the given name 2012-01-31 23:21:02 +00:00
Justin Clark-Casey (justincc)
ac7cded080 Get rid of the "no objects found" feedback for now - this doesn't work well if a command is executed over multiple scenes. 2012-01-31 23:06:48 +00:00
Justin Clark-Casey (justincc)
ab89adfaef Implement "show object uuid <uuid>" console command.
This will show details about a part with the given uuid if it's found.
2012-01-31 23:03:39 +00:00
Justin Clark-Casey (justincc)
647b326edc Add more user feedback if an object isn't found for which delete was requested. 2012-01-31 22:27:05 +00:00
Justin Clark-Casey (justincc)
77b032549e Add the name of a deleted object to the console output 2012-01-31 22:22:32 +00:00
Justin Clark-Casey (justincc)
e3e38e34c5 If a particular region is selected in the console, only try to delete objects in that region, rather than in every region on the simulator
The old wrong behaviour was in place before the command was extracted to a module.
2012-01-31 22:21:10 +00:00
Justin Clark-Casey (justincc)
9bd02b5da1 Move object delete commands into a commands region module, in preparation for adding similar show commands. 2012-01-31 21:57:45 +00:00
Justin Clark-Casey (justincc)
2f84d5397b minor: remove mono compiler warning 2012-01-31 21:14:09 +00:00
Justin Clark-Casey (justincc)
1505c22995 Use Environment.TickCount & Int32.MaxValue; instead of Util.EnvironmentTickCount(); when producing the threads report to reduce wraparound.
This matches the tickcount masking in the thread watchdog.
For some reason, Util.EnvironmentTickCount() masks ticks by 0x3fffffff instead of 0xffffffff
2012-01-31 21:09:26 +00:00
Justin Clark-Casey (justincc)
10b9348071 Remove scene object null check on SceneGraph.AddSceneObject(). Complain explicitly if there's an attempt to add any object with a zero UUID.
Callers themselves need to check that they're not attempting to add a null scene object.
2012-01-31 20:30:30 +00:00
Justin Clark-Casey (justincc)
f3780b9eae Add torture tests to test adding 10,000, 100,000 and 200,000 single prim scene objects.
These can be run using the "nant torture" target.  They are not part of "nant test" due to their long-run future nature.
Such tests are designed to do some testing of extreme situations and give some feedback on memory usage, etc.
However, data can be inconsistent due to different machine circumstances and virtual machine actions.
This area is under development.
2012-01-31 19:56:37 +00:00
PixelTomsen
a98a146c50 Fix:llSetText - limited text to a maximum of 254 chars
mantis: http://opensimulator.org/mantis/view.php?id=5867

Signed-off-by: nebadon <michael@osgrid.org>
2012-01-31 10:17:38 -07:00
Melanie
d2dfa4cfe7 Make parcel sale overlays work. No auction support. 2012-01-31 03:09:44 +00:00
Melanie
fe0975dc24 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-30 21:39:36 +00:00
Melanie
2b84b6d8b1 Use the requested sim's map, not our own 2012-01-30 21:39:12 +00:00
Justin Clark-Casey (justincc)
dbc039783b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-30 21:34:40 +00:00
Melanie
53c3faac5d Patch in the rest of the maptile stuff 2012-01-30 21:24:21 +00:00
Melanie
c4cc626dff Add the needed column in the regions table and a few tweaks.
Warning: Contains a Migration
Warning: Cannot guarantee nut free
2012-01-30 20:34:32 +00:00
Melanie
bde2ff5e78 Next step for world map overlays 2012-01-30 20:11:47 +00:00
Melanie
ea16c9f858 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Conflicts:
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2012-01-30 19:49:12 +00:00
Melanie
df9c35bc0f Some plumbing for map overlays 2012-01-30 19:46:55 +00:00
Justin Clark-Casey (justincc)
9d93c4808e lock SceneObjectGroupsByFullID in SceneGraph.ForEachSOG() to stop failure if SceneObjectGroupsByFullID is updated elsewhere at the same time. 2012-01-30 19:21:58 +00:00
BlueWall
54e6b2402c Revert "Pickup map overlay tile from RegionSettings.ParcelImageID"
This reverts commit 00d1c88c59.

Need to dig a little deeper to see exactly how V1 viewers are using this
2012-01-30 12:39:08 -05:00
BlueWall
00d1c88c59 Pickup map overlay tile from RegionSettings.ParcelImageID 2012-01-30 11:49:22 -05:00
Melanie
3de534896e Add ParcelImageID to RegionSettings so we can have that overlay.
Warning: Contains a Migration.
Warning: May contain nuts.
2012-01-30 16:22:21 +00:00
Garmin Kawaguichi
5e60afe5ed Fix llEdgeOfWorld functionality - see mantis http://opensimulator.org/mantis/view.php?id=5865
Signed-off-by: nebadon <michael@osgrid.org>
2012-01-29 14:41:47 -07:00
PixelTomsen
e8b688b61f Fix:Get embedded objects in notecard http://opensimulator.org/mantis/view.php?id=2607
Signed-off-by: nebadon <michael@osgrid.org>
2012-01-29 12:40:43 -07:00
BlueWall
f7c237c0e1 Merge branch 'master' of /home/opensim/var/repo/opensim into mapwork 2012-01-28 11:35:28 -05:00
BlueWall
ae057a7589 Adding our parcel's generated id to map packets 2012-01-28 10:36:39 -05:00
BlueWall
1a20b60d82 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-28 08:47:25 -05:00
Bo Iwu
2e31f12cf4 Send CHANGED_TELEPORT during local TP again - partially revert cf73afec35
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-28 08:43:58 -05:00
Justin Clark-Casey (justincc)
2ef9fd05fa Add an overloaded SceneObjectPart.UpdateTextureEntry(Primitive.TextureEntry texEntry) for region modules 2012-01-28 02:45:13 +00:00
Justin Clark-Casey (justincc)
154ba0124a Add experimental --publish option to "save oar" so that OARs reloaded to the same grid don't have the publisher as owner. 2012-01-28 02:21:41 +00:00
Justin Clark-Casey (justincc)
088f1213b4 Remove accidental /user postfix from HomeURI in [HGInventoryAccessModule] in GridCommon.ini.example and from SRV_ProfileServerURI in [LoginService] in Robust.HG.ini.example
As per http://opensimulator.org/mantis/view.php?id=5852, confirmed by diva via aiaustin
2012-01-28 01:01:19 +00:00
Justin Clark-Casey (justincc)
e391d6390c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-28 00:44:11 +00:00
Justin Clark-Casey (justincc)
deeb7287a2 Comment out xfer section in Scene.UpdateTaskInventory() which was causing spurious errors and "script saved" messages when script properties were changed.
Viewers since at least Linden Lab 1.23 use the script upload capability to save script changes.
It's unknown whether the commented out code was working for very old viewers or not.
Code is commented out to reduce complexity and so that useful error messages don't need to be removed.
If there is a substantial population using extremely old viewers that can't upgrade to a newer version 1 viewer (e.g. 1.23) or similar TPV then this can be revisited.
2012-01-28 00:39:53 +00:00
Melanie
7352aea9ac Remove IClientAPI from the money module. It was only used to pass in the
agent id anyway
2012-01-28 00:18:12 +00:00
Justin Clark-Casey (justincc)
7837c611fb Add OS_NPC_SENSE_AS_AGENT option to osNpcCreate().
This allows NPCs to be sensed as agents by LSL sensors rather than as a specific NPC type (which is currently an OpenSimulator-only extension).
Wiki doc on this and other recent NPC functions will follow soon
2012-01-28 00:00:12 +00:00
Justin Clark-Casey (justincc)
31b87ff07b Increment LPS script stat for OSSL functions that were not already doing this 2012-01-27 23:24:49 +00:00
Justin Clark-Casey (justincc)
7c1d075a5a Implement osIsNpc(key npc):integer. This return TRUE if the given key belongs to an NPC in the region. FALSE if not or if the NPC module isn't present. 2012-01-27 23:17:13 +00:00
Justin Clark-Casey (justincc)
abf0dd4250 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-27 23:14:34 +00:00
Justin Clark-Casey (justincc)
9939f94f08 Implement osNpcGetOwner(key npc):key. This returns the owner for an 'owned' NPC, the npc's own key for an 'unowned' NPC and NULL_KEY is the input key was not an npc.
llGetOwnerKey() could also be extended but this does not allow one to distinguish between an unowned NPC and some other result (e.g. 'no such object' if NULL_KEY is the return.
Also, any future extensions to LSL functions by Linden Lab are unpredictable and OpenSim-specific extensions could clash.
2012-01-27 23:05:48 +00:00
Diva Canto
91ac21b9ec HG Inventoty: Guard against items not found. 2012-01-26 17:00:58 -08:00
BlueWall
6da82d9805 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-26 16:29:39 -05:00
PixelTomsen
616373db16 llManageEstateAccess implementation http://wiki.secondlife.com/wiki/LlManageEstateAccess
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-26 16:15:23 -05:00
Melanie
da720ce9be Support rejecting a teleport if a user is banned in all parcels that have
spawn points
2012-01-26 10:21:45 +00:00
BlueWall
a6abecf5fa Change references from sop to sog and add protection from null ref
I had code made additions to the map module that was based on the earlier work that I did before Melanie made improvements. Updating the new code to incorporate the same changes.
2012-01-26 00:33:34 -05:00
Justin Clark-Casey (justincc)
093469c33c Add basic TestAddScript() regression test 2012-01-26 01:16:03 +00:00
Justin Clark-Casey (justincc)
13d9b64b1d Re-enable error logging associated with assembly and script loading failure in ScriptInstance.
Swallowing exceptions just leads to more mysterious failures later on.
2012-01-26 00:28:51 +00:00
Justin Clark-Casey (justincc)
55c6cbabfd refactor: change RezScriptFromAgentInventory(), RezNewScript() and AddInventoryItem() to accept an agent id rather than a full IClientAPI.
This stops some code having to make spurious client == null checks and reduces regression test complexity.
2012-01-26 00:10:37 +00:00
Justin Clark-Casey (justincc)
8e5502fdc2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-25 23:24:44 +00:00
Justin Clark-Casey (justincc)
2de3a1b9da refactor: decompose most of RezScript() into RezScriptFromAgentInventory(), RezNewScript() and rename one RezScript() to RezScriptFromPrim() 2012-01-25 23:22:07 +00:00
nebadon
d053625663 Update save oar and save iar help responses to reflect new -h|--home
switches which replace -p|--profile ie: "save oar
--home=http://hg.osgrid.org:80 region.oar"
2012-01-25 15:59:07 -07:00
Robert Adams
e9de7e7107 Update BulletSim.dll with some interface changes and tuning (see opensim-libs). Change BSScene to use new interface. 2012-01-25 14:40:38 -08:00
Justin Clark-Casey (justincc)
2e7c1bcfd9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-25 21:26:34 +00:00
Pixel Tomsen
8f53c768f5 llGetParcelMusicURL implementation http://wiki.secondlife.com/wiki/LlGetParcelMusicURL
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-25 15:48:38 -05:00
Justin Clark-Casey (justincc)
82c3d0cf89 minor: stop the WebStatsModule logging UPDATE or INSERT every time it updates bin/LocalUserStatistics.db 2012-01-25 20:36:51 +00:00
Justin Clark-Casey (justincc)
e20cf3789b Serialize calls to ODE Collide() function across OdeScene instances to prevent ODE crashes on simulators running more than one region.
It turns out that calls to Collide() are not thread-safe even for objects in different ODE physics worlds due to ODE static caches.
For simulators running multiple regions, not serializing calls from different scene loops will sooner or later cause OpenSim to crash with a native stack trace referencing OBBCollider.
This affects the default OPCODE collider but not GIMPACT.  However, GIMPACT fails for other reasons under some current simulator loads.
ODE provides a thread local storage option, but as of ODE r1755 (and r1840) DLLs compiled with this crash OpenSim immediately.
2012-01-25 19:31:50 +00:00
Melanie
7444f3bfad Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Conflicts:
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2012-01-25 15:02:54 +00:00
Melanie
f84b69cad1 Change the WorldMapModule to use SOG rather than SOP for the telehub ans
cover a potential nullref
2012-01-25 15:00:06 +00:00
BlueWall
959bcfa7f8 Merge branch 'master' of /home/opensim/src/opensim 2012-01-24 21:35:12 -05:00
BlueWall
7c514fe155 Telehub map items displayed 2012-01-24 21:33:11 -05:00
Dan Lake
3d1f43046d Removed unused delegates in SceneGraph: ObjectDuplicateDelegate, ObjectCreateDelegate, ObjectDeleteDelegate 2012-01-24 17:05:53 -08:00
Justin Clark-Casey (justincc)
2d0412d366 Make errors reported by OpenSim when it halts because it can't find certain config sections or files a bit more user friendly. 2012-01-24 22:35:55 +00:00
Justin Clark-Casey (justincc)
8e0eaa980f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-24 22:16:45 +00:00
Justin Clark-Casey (justincc)
09baa3e679 Comment out asset statistics section from periodic stats as these have not been recorded for a very long time.
Some might make a comeback in the future but others are of dubious usefuless for health check purposes, or the complexity of collection outweighs their usefulness.
Some data is available via other means (e.g. "fcache status").
2012-01-24 22:14:21 +00:00
BlueWall
3ae6345f1b Merge branch 'master' of /home/opensim/src/opensim 2012-01-24 17:14:08 -05:00
BlueWall
dc329202ef Put Telehubs on the map 2012-01-24 17:11:35 -05:00
Justin Clark-Casey (justincc)
5e445aaf7b Fix "Abnormal client thread terminations" stat in period CONNECTION STATISTICS to count the number of times clients are disconnected due to ack timeouts.
This has been broken for a long period and would only ever show 0.
2012-01-24 22:09:13 +00:00
Justin Clark-Casey (justincc)
ab8956d58f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-24 22:04:28 +00:00
Justin Clark-Casey (justincc)
e8f1e7e96e Comment out inventory statistics section from periodic stats, since this only contained the now uncollected and irrelevant inventory cache number. 2012-01-24 22:03:30 +00:00
Dan Lake
488fe0ae9c Removed unused events in SceneGraph: OnObjectCreate, OnObjectRemove, OnObjectDuplicate 2012-01-24 13:41:26 -08:00
Justin Clark-Casey (justincc)
7e76397a26 minor: correct text and usage for "image queues show" reigon console command. 2012-01-24 20:54:35 +00:00
Justin Clark-Casey (justincc)
a704d444f2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-24 20:36:16 +00:00
Justin Clark-Casey (justincc)
8b035dc3c7 Restrict accessible of ODECharacter Shell and Body. Add method doc and some error log lines. 2012-01-24 18:46:24 +00:00
Melanie
855d3a3ba5 Teleport routing, part 1 2012-01-24 04:06:37 +00:00
Melanie
a4977bbe19 Simplify and streamline telehub editing code. Verify rotations and fix
spwan point positioning on rotated telehubs.
2012-01-24 02:36:35 +00:00
Melanie
0d2e02efb1 Reverse the spawn point distance vector 2012-01-24 01:30:41 +00:00
Melanie
c0e1784e86 Correct a coordinate to make the viewer like it 2012-01-24 01:18:13 +00:00
Melanie
7bb01a17ee Add a forgotten parameter 2012-01-24 00:38:00 +00:00
Melanie
87799c1f3d Change Telehubs to store only the data that is really needed and not
additional redundant information.
2012-01-24 00:32:10 +00:00
Melanie
c36c916342 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-23 21:25:59 +00:00
Melanie
48379e6442 IMPORTANT!!!!! Please READ. DO NOT Use this version or any before it since the
Telehub commits! They will eat your babies and corrupt your database while
they munch. DO NOT use anything from the first Telehub commit to this one.
FIRST GOOD COMMIT is the one FOLLOWING this one. You have been warned.
2012-01-23 21:23:55 +00:00
BlueWall
8db64dc77f Merge branch 'master' of /home/opensim/var/repo/opensim into telehub 2012-01-23 14:54:43 -05:00
BlueWall
6a85abbd14 Add update to Telehub position and rotation before adding SpawnPoints 2012-01-23 14:53:25 -05:00
BlueWall
c1f6478a37 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-23 11:10:56 -05:00
BlueWall
0037577814 Merge branch 'telehub' 2012-01-23 11:10:42 -05:00
BlueWall
9cfc43005d Cleanup 2012-01-23 10:28:18 -05:00
BlueWall
39c9b656c8 Cleanup unused parts, add some error handling 2012-01-23 09:42:15 -05:00
Melanie
f7bd7c5901 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-22 23:21:35 +00:00
Melanie
7c404375c7 Fix up some parameter naming 2012-01-22 23:20:10 +00:00
BlueWall
d1ef7ee5ca Add note about setting up test databases 2012-01-22 16:27:49 -05:00
BlueWall
74c1ed77a4 Finish connecting Telehub to database 2012-01-22 14:51:15 -05:00
BlueWall
1cd26ba85e Hooking up new telehub data to the database 2012-01-22 11:46:16 -05:00
Melanie
24b20f6e4b Change the key name I missed in last commit 2012-01-22 15:35:14 +00:00
Melanie
68365c20c0 Move Telehub tables and data from EstateSettings to RegionSettings.
This is damage control es EstateSettings is not the place this can be put.
EstateSettings is nt unique to a region and therefore would introduce
a hard limit of one telehub per estate, completely shutting off the
option of having SL style telehubs, e.g. one per region. Whole
estate teleport routing can still be implemented id desiresd, this
way all options are open while the other way most options get closed
off.
2012-01-22 11:36:04 +00:00
BlueWall
32d58d6e3e Telehub Support:
Telehub settings now persist to the database and are saved across sim restarts. So-far this only works on MySQL. this is a work in progress, teleport routing is not yet implemented.
2012-01-21 23:26:27 -05:00
BlueWall
590f707c42 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-20 23:54:29 -05:00
BlueWall
b6f3de5028 Telehub Support:
Support for viewer side of telehub management. Can manupulate Telehubs and SpawnPoints from the viewer estate managemnt tools. This is a work in progress and does not yet persist or affect teleport routing.
2012-01-20 23:50:37 -05:00
Justin Clark-Casey (justincc)
a0fb1e1788 Revert "Change linux, windows and mac ODE libraries to use the GIMPACT collider rather than OPCODE."
This reverts commit 4eef6725f4.

Reverting for now since this fails with "terminate called after throwing an instance of 'std::bad_alloc'" on Wright Plaza instances.
2012-01-20 17:51:12 +00:00
Justin Clark-Casey (justincc)
ea72428c9d Allow a viewer UDP image request retry to trigger another asset fetch if an existing fetch hasn't responded before a timeout.
This is to stop a high priority image/texture request from blocking the entire download queue if its asset fetch got dropped for some reason.
2012-01-19 23:09:16 +00:00
Justin Clark-Casey (justincc)
d38e2c0c91 Add image not in database test for LLImageManager 2012-01-19 21:57:12 +00:00
Justin Clark-Casey (justincc)
503faaea62 refactor: separate out common parts of LLImageManagerTests 2012-01-19 21:23:40 +00:00
Justin Clark-Casey (justincc)
381f74276b Add LLImageManager regression test for discard case 2012-01-19 21:14:09 +00:00
Justin Clark-Casey (justincc)
c92a9a6640 Add "image queues clear <first-name> <last-name>" console command
This allows a way to manually clear pending image queue requests for debug purposes
2012-01-19 19:49:06 +00:00
Justin Clark-Casey (justincc)
d75899f2d1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-19 19:47:18 +00:00
BlueWall
8f871cca10 Add osGetGridHomeURI function
Add osGetHomeURI function to the family of osGetGrid* functions. Returns the SRV_HomeURI setting from the [LoginService] configuration.
2012-01-19 14:21:12 -05:00
Justin Clark-Casey (justincc)
9356963bd3 Add basic request and send image regression tests for LLImageManager 2012-01-19 19:00:11 +00:00
BlueWall
edb2e4c5b3 Change URI to lowercase to match existing 2012-01-19 13:55:53 -05:00
BlueWall
bf9ce4709f Add fetching of SRV_HomeURI to "/json_grid_info"
Make SRV_HomeURI available on the GridInfoService through the "/json_grid_info" URI. This i s mainly to service OSSL, but can be seen externally via the URI.
2012-01-19 13:48:31 -05:00
Dan Lake
e41f23dead Trigger event when prims are scheduled for an update. This gives modules early access to changed parameters. 2012-01-19 03:06:35 -08:00
Dan Lake
5ced49aaa8 Cleaned up Color and Text parameters in SOP and made LocalFlags public for module access. 2012-01-19 03:03:22 -08:00
Dan Lake
2c6272d11a Add a version of GetGroupByPrim to Scene which accepts UUID instead of localID 2012-01-19 03:01:37 -08:00
Dan Lake
f8079bcd72 Fixed bugs in earlier commit on custom user parameters in Regions.ini 2012-01-19 02:52:05 -08:00
BlueWall
eea726d74e RegionReady:
Back out some of the oar monitoring for the time being. Need to find  a better way to get feedback. Will re-visit this soon.
2012-01-18 20:30:57 -05:00
BlueWall
e7619f7518 Merge branch 'master' of /home/opensim/src/opensim 2012-01-17 22:44:16 -05:00
BlueWall
ba7d8cedec Add function osGetGridCustom
Add function osGetGridCustom to take an argument for the GridInfo kpv to retrieve from the GridInfoService
2012-01-17 22:38:36 -05:00
BlueWall
717656c453 Merge branch 'master' of /home/opensim/src/opensim 2012-01-17 22:10:47 -05:00
BlueWall
9ed9720861 Update osGetGrid**** functions
The osGetGrid**** functions will now get the grid settings from the GridInfoService. Set the GridInfoURI in your ./bin/config-include/GridCommon.ini [GridInfo] section.
2012-01-17 22:07:40 -05:00
BlueWall
939d60da59 Merge branch 'master' of /home/opensim/lib/osgrid/opensim 2012-01-17 21:10:31 -05:00
BlueWall
ef5575be1b Add json handler for GridInfo 2012-01-17 21:09:46 -05:00
Justin Clark-Casey (justincc)
4eef6725f4 Change linux, windows and mac ODE libraries to use the GIMPACT collider rather than OPCODE.
As discussed on the opensim-dev mailing list, this is to avoid a demonstrated ODE collider segfault when stress-testing a simulator running more than one region using the bundled pCampbot.exe
As before, the ODE revision used is r1755 - only the collider has changed.
Tests so far reveal little performance change.
However, if noticeable issues do arise, please report on mantis and/or the opensim-dev mailing list.
The previous libraries are temporarily in bin/Physics-previous-ode-libs
These can be copied back to bin if one wants to compare behaviour with the previous libraries.
2012-01-17 20:49:20 +00:00
Melanie
e13a17cc0c Allow retrival of multiple user records in one operation, analog to presence 2012-01-16 23:09:24 +00:00
Justin Clark-Casey (justincc)
59a0c50d48 Comment out noisy log lines I accidentally included in the nant build target adjustment commit.
Left in the method doc.
2012-01-16 23:04:08 +00:00
Justin Clark-Casey (justincc)
82ad9d4e04 Remove monocov and other obsolete nant build targets.
monocov was a code coverage attempt 3 years ago which no longer works.
other removed targets have been commented out or unused for a very long time
2012-01-16 22:58:58 +00:00
Mic Bowman
2e4fbe6b17 protect the region ready alerts for loading oarfiles if no post URI is set 2012-01-14 23:43:21 -08:00
nebadon
43173f1b0d commented out redundant land owner checks for osTeleportAgent there is
no need for these checks just use Allow_osTeleportAgent = PARCEL_OWNER
also increased function to severe threat level to make it harder to
accidently enable it for everyone.
2012-01-14 18:36:46 -07:00
Melanie
ec299bfa87 Allow SmtpClients and other SSL users to work with our cert handler installed 2012-01-14 06:03:27 +00:00
Justin Clark-Casey (justincc)
82f0e19349 Extend scripts show command to accept a single item UUID parameter to display one script's status
Usage is now scripts show [<script-item-uuid>]
2012-01-14 00:44:19 +00:00
Justin Clark-Casey (justincc)
b5bb559cc0 Register the UrlModule for script engine events OnScriptRemoved and OnObjectRemoved just once in the UrlModule itself, rather than repeatedly for every script.
Doing this in every script is unnecessary since the event trigger is parameterized by the item id.
All that would happen is 2000 scripts would trigger 1999 unnecessary calls, and a large number of initialized scripts may eventually trigger a StackOverflowException.
Registration moved to UrlModule so that the handler is registered for all script engine implementations.
This required moving the OnScriptRemoved and OnObjectRemoved events (only used by UrlModule in core) from IScriptEngine to IScriptModule to avoid circular references.
2012-01-14 00:23:11 +00:00
Mic Bowman
a30a02e7ae Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-13 14:51:11 -08:00
Mic Bowman
e1a2c44ebe Cleaned up the LookAt code in SOP and SOG. Added support for incrementally
rotating physical objects. This does not use physics. Currently the rate
of change is determined as 1 / (PI * Strength).
2012-01-13 14:48:56 -08:00
BlueWall
cde80125ad Merge branch 'master' of /home/opensim/src/opensim 2012-01-13 17:16:20 -05:00
Bo Iwu
02d6b033d0 Fix improper code formatting introduced in 6214e6a217
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-01-13 17:10:48 -05:00
Mic Bowman
adea92f8b7 Fix llRotLookAt and llLookAt for non-physical objects. Per conversation
with Melanie and Nebadon, SL behavior seems to be that non physical
objects snap to the request rotation.
2012-01-13 11:37:17 -08:00
BlueWall
57ba9ef5ad Update RegionReadyModule
Fix triggering of alerts when rezzing first script to an empty region, add login disable when loading oars.
2012-01-13 11:35:44 -05:00
BlueWall
c5594e839e Undo some prior work
Move some added fuctions out of core into the addon module to keep things clean
2012-01-12 21:19:31 -05:00
BlueWall
acbff305f5 Merge branch 'master' of /home/opensim/var/repo/opensim 2012-01-12 21:06:27 -05:00
BlueWall
d40ec1c346 Move some interfaces to a more apropriate place 2012-01-12 20:49:50 -05:00
Justin Clark-Casey (justincc)
3b59af2225 Change the default osNpcCreate() to create an 'owned' npc rather than an 'unowned' one.
An owned NPC is one that only the original creator can manipulate and delete.
An unowned NPC is one that anybody with access to the osNpc* methods and knowledge of the avatar id can manipulate.
This is to correct an oversight I made in the original reimplementation where I mistakenly assumed that avatar IDs could be treated as private.
I am not anticipating that many people were deliberately making use of unowned npcs due to their insecure nature.
If you do need an unowned NPC please call the new overloaded osCreateNpc() function with the option OS_NPC_NOT_OWNED.
2012-01-13 00:03:39 +00:00
Justin Clark-Casey (justincc)
6e7154d55c Removing osNpcCreateOwned(). Please use osNpcCreate(string user, string name, vector position, string notecard, int options) instead with option OS_NPC_CREATOR_OWNED
Please note that correct option name is OS_NPC_CREATOR_OWNED not OS_NPC_CREATE_OWNED as mistakenly put in a previous commit.
2012-01-13 00:00:18 +00:00
Justin Clark-Casey (justincc)
47377f17c6 Add missing assert to confirm owner delete succeeded to the end of TestOsNpcRemoveOwned() 2012-01-12 23:46:43 +00:00
Justin Clark-Casey (justincc)
beab155434 Add api level test for removing an owned npc 2012-01-12 22:35:11 +00:00
Justin Clark-Casey (justincc)
caa207f59f Add ossl level test for removing an unowned npc 2012-01-12 21:03:54 +00:00
Justin Clark-Casey (justincc)
1ac5aa6808 Add remove test for unowned avatars 2012-01-12 20:47:19 +00:00
Justin Clark-Casey (justincc)
c4972e7734 Add osNpcCreate(string firstname, string lastname, LSL_Vector position, string notecard, int options) variant.
This will be documented soon.  Options can currently be
  OS_NPC_CREATE_OWNED - creates a 'creator owned' avatar that will only respond to osNpc* functions made by scripts owned by the npc creator
  OS_NPC_NOT_OWNED    - creates an avatar which will respond to any osNpc* functions that a caller has permission to make (through the usual OSSL permission mechanisms).

options is being added to provide better scope for future extensibility without having to add more functions
The original non-options osNpcCreate() function will continue to exist.
2012-01-12 19:37:30 +00:00
Justin Clark-Casey (justincc)
d27dd3714f Allow all NPCs to show up on sensors as all osNpc* script methods now check for ownership permission before executing.
As per #opensim-dev irc discussion.
2012-01-12 19:19:34 +00:00
Justin Clark-Casey (justincc)
ba3491c76e Add permissions checks for owned avatars to all other osNpc* functions.
This is being done outside the npc module since the check is meaningless for region module callers, who can fake any id that they like.
2012-01-12 19:06:46 +00:00
Justin Clark-Casey (justincc)
0a1d61950b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-12 19:03:26 +00:00
Diva Canto
cadd645076 Renamed one var and deleted commented code. No functional changes. 2012-01-12 10:22:52 -08:00
Justin Clark-Casey (justincc)
b47c0d7e51 refactor: Move existing npc owner checks to NPCModule.CheckPermissions() methods and expose on interface for external calls. 2012-01-12 18:14:19 +00:00
Diva Canto
8bdd80abfa HG: normalize all externalized user ULRs to be the Home URL, i.e. the location of the user's UAS. This corrects an earlier design which had some cases pointing to the profile server. WARNING: CONFIGURATION CHANGES in both the sims (*Common.ini) and the Robust configs (Robust.HG.ini). Please check diff of the example files, but basically all vars that were pointing to profile should point to the UAS instead and should be called HomeURI. 2012-01-12 09:56:35 -08:00
Bo Iwu
6214e6a217 Allow update of stored entries within User Management Module-this is needed for proper work of HG friends.
See http://opensimulator.org/mantis/view.php?id=5847
2012-01-12 17:51:13 +00:00
Michelle Argus
34137ed4ea Correcting ini.example were permissionmodules uses komma instead of space as separator 2012-01-12 12:27:41 -05:00
Justin Clark-Casey (justincc)
38db874755 If deserializing a scene object fails during IAR load then ignore the object rather than halting the IAR load with an exception. 2012-01-11 14:33:26 +00:00
Mic Bowman
5f7e392c7c Add a check to see if an asset exists before recreating it while
loading an archive. This does add an extra roundtrip to the asset
server if loading new assets but it protects against overwriting
(and potentially corrupting) existing assets.
2012-01-10 16:26:01 -08:00
Justin Clark-Casey (justincc)
53fb20880c minor: Fix wrong column length in image queues report 2012-01-10 22:02:35 +00:00
Justin Clark-Casey (justincc)
5002f06d24 rename "show image queue" to "show image queues" in line with other udp info commands.
Eliminate redundant one line methods
2012-01-10 21:36:35 +00:00
Justin Clark-Casey (justincc)
ef074deb52 Add "show image queue <first-name> <last-name>" region console command
This is so that we can inspect the image download queue (texture download via udp) for debugging purposes.
2012-01-10 21:30:12 +00:00
BlueWall
a2fe3e2081 Remove DEBUG option
Remove DEBUG option from OpenSim.ini.example as it is handled in the console now with "debug teleport"
2012-01-10 15:29:08 -05:00
Diva Canto
ce44f56af9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-10 11:11:08 -08:00
Diva Canto
7b84942f86 HG landing points: this hopefully fixes some confusion that was making HG avies always land in 0,0 2012-01-10 11:10:47 -08:00
Justin Clark-Casey (justincc)
18497cef73 Add avatar names to appearance log messages 2012-01-10 18:54:20 +00:00
Justin Clark-Casey (justincc)
a3bb1a81de correct very minor typo in "debug scene" help 2012-01-10 18:47:30 +00:00
BlueWall
66783398d0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-10 13:43:42 -05:00
Justin Clark-Casey (justincc)
d67e9916b8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-10 18:42:37 +00:00
BlueWall
3deb52d399 Teleport Debugging
Move setting from ini to existing facitilies - thanks justincc

	toggle with console command: debug teleport
2012-01-10 13:41:35 -05:00
Justin Clark-Casey (justincc)
d67e8291c8 Add "app find <uuid-or-start-of-uuid>" command to find the appearance using a particular baked texture, if any.
This is for debugging to relate texture console entries back to particular users on the simulator end.
2012-01-10 18:41:07 +00:00
Diva Canto
a22d0dcab9 HG Friends: fixed bug introduced by 571efeddb2 (r/17672) 2012-01-10 09:58:53 -08:00
BlueWall
707c8c6f2b Add some run-time debugging support
Add configuration option - DEBUG to enable debugging methods. This is temporary for helping users testing teleport routing be able to report back the data with the test cases. We can remove when finished with this, or leave it if it proves to be useful.

	Users: set DEBUG = true in OpenSim.ini to get more information from teleport routing. The default is false. It presently prints the TeleportFlags value.
2012-01-09 18:19:55 -05:00
BlueWall
b3a12167d6 Use our TeleportFlags
Switch to our TeleportFlags enum instead of LibOMV because we need to define a type for HG Logins. Also moved some debugging in ScenePresence into a function to make it simpler to enable/disable.
2012-01-09 17:54:35 -05:00
BlueWall
95345521f0 TP Routing debug
Fix test to checking against bitfield instead of int
2012-01-09 17:04:34 -05:00
BlueWall
3640afdd95 Fix teleport routing for incoming HG+Owner
Incoming HG owner/estate manager, etc. is routed according to the rules defined for teleports within the local grid. Left some commented debugging code inside so we can test other cases. Will remove when tings are settled in.
2012-01-09 14:31:22 -05:00
BlueWall
43145c7f67 Debugging HG teleport routing
Add some temporary debugging to the teleport routing to get a better view of what happens when HG jumps are made.
2012-01-09 13:07:02 -05:00
BlueWall
34c42cdab0 Fix HG teleport routing
Needed to breakout the ViaHGLogin check to it's own section. For some reason it would not factor in when combined with the other teleport flag types.
2012-01-09 01:37:28 -05:00
Melanie
0e855fea7c Fix a build break 2012-01-09 01:05:19 +00:00
Melanie
1ebd79e413 Add the HG case to landing point checks 2012-01-09 00:54:59 +00:00
Melanie
44cde8d5c6 Update teleport routing to match Avination 2012-01-08 23:36:49 +00:00
BlueWall
37fc19fae0 Update building instructions
a good place to trigger a test on the opensimulator site
2012-01-08 18:21:09 -05:00
BlueWall
fb16d49511 Merge branch 'master' of /home/opensim/src/opensim 2012-01-08 17:56:03 -05:00
BlueWall
266167f5a3 Fix teleport routing
Route non-owner avatars according to land settings
2012-01-08 17:41:47 -05:00
Melanie
32eb7ddc37 Fix threat level setting on osNpcPlayAnimation 2012-01-07 18:09:53 +00:00
Melanie
6f19e231b6 Don't try to save a NPCs attachment states on NPC delete 2012-01-07 18:09:45 +00:00
nebadon
58cb7cd084 fix a typo "osNpcCreated" to "osNpcCreate" in OSSL threat level check 2012-01-06 23:07:48 -07:00
Justin Clark-Casey (justincc)
f4231f0628 minor: remove mono compiler warning 2012-01-07 00:32:32 +00:00
Justin Clark-Casey (justincc)
ba163ab05b Add method doc to SPA.Falling and use automatic private get property 2012-01-07 00:29:55 +00:00
Justin Clark-Casey (justincc)
c5c079f6aa Fix bug where tapping home to stop falling would stop any avatar movement other than falling again.
Addresses http://opensimulator.org/mantis/view.php?id=5839
2012-01-07 00:17:40 +00:00
Melanie
679d155a39 Fix some syntax issues 2012-01-06 23:08:18 +00:00
Melanie
9668992493 Add osNpcPlayAnimation and osNpcStopAnimation which respect ownership as well 2012-01-06 22:59:50 +00:00
Melanie
1cffd8fa03 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-06 22:36:35 +00:00
Melanie
7518b075b7 Add osNpcCreateOwned to create an owned NPC. Those can be sensed only by the owner, can be destroyed only by the owner and only the owner can save their appearance. Added "NPC" as a flag to llSensor to sense NPCs and exclude them from "AGENT" results. 2012-01-06 22:35:06 +00:00
Justin Clark-Casey (justincc)
3073370d0e Allow RemoteAdmin to deal with all the different kinds of region id parameter that have been used in different methods.
See http://opensimulator.org/mantis/view.php?id=5814
Thanks Michelle Argus!
2012-01-06 22:29:27 +00:00
Justin Clark-Casey (justincc)
9bab43b4d1 eliminate a few tabs from OpenSimDefaults.ini 2012-01-06 21:36:30 +00:00
Justin Clark-Casey (justincc)
5f682b51ec Add disabled Cap_FetchInventory2 = "" reference to [ClientStack.LindenCaps] in line with all the other ones that are there 2012-01-06 21:29:18 +00:00
John Cochran
ff5a83d192 Fixed llAngleBetween() to allow denormal rotations 2012-01-06 21:14:42 +00:00
Justin Clark-Casey (justincc)
8c445dac67 Add script instruction count back to llRot2Euler. Other minor formatting/doc changes. 2012-01-06 21:12:22 +00:00
John Cochran
eb9bf71726 Replaced llRot2Euler function.
The original function suffered from unexpected results due to rounding
errors. An error of only 1 or 2 ulps would cause the code to not detect
a singularity at Y rotation +/- PI/2 and take the non-singularity code
path. The replacement code does not suffer from wildly inaccurate
results at the +/- PI/2 singularity. The check in the code for the
singularity isn't strictly needed, but gives more consistent results
At the singularity, the X and Z rotations add. The if check simply
forces the X rotation to be zero so the entirety of the X+Z rotation is
carried by Z.

Additionally, the test code has been updated to include test cases that
caused the old code to fail. The test algorithm is also updated to
perform a more meaningful test. The original code checked if the values
against expected values. This could fail at +/- PI rotations since a
rotation around an axis by PI causes the identical effect as a rotation
by -PI. The new test code checks that the returned angles can be used
to recreate a quaternion that causes the same rotation.
2012-01-06 21:08:54 +00:00
Justin Clark-Casey (justincc)
7661a0b2a9 Implement the FetchInventory2 capability. This accompanies the existing FetchInventoryDescendents2 capability.
Not yet enabled by default.  You can enable this by setting Cap_FetchInventory2 = "localhost" in the [ClientStack.LindenCaps] section of OpenSim.ini
Enabling both FetchInventory2 and FetchInventoryDescendents2 improves the situation with properly fetching attachments and hud objects
Probably because viewers are never expecting the odd situation where FetchInventoryDescendents2 is present but not FetchInventory2
However, for some reason attachments and hud objects occasionally fail to appear, though their status is correct in inventory
For attachments, focussing on the avatar makes them appear.  Hud objects have to be reattached.
2012-01-06 21:07:34 +00:00
Melanie
f8c15d38a6 If dragging a script that is no copy from prim inventory into agent
inventory, stop it first in scene. If deleting from prims, move to trash
rather then making it poof.
2012-01-06 17:43:35 +00:00
Melanie
fbb2a7e90d Add ThreatLevel.NoAccess to OSSL. This allows to enable OSSL without enabling
any methods, even those without threat, automatically. It is for use with
setups wanting to allow only specific methods to specific users.
2012-01-06 17:37:22 +00:00
BlueWall
b06d878790 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-05 17:55:24 -05:00
BlueWall
f252161941 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-05 17:54:51 -05:00
Justin Clark-Casey (justincc)
b86e7715a8 Improve "j2k decode" command to tell us how many layers and components were decoded, instead of just success/failure 2012-01-05 22:54:33 +00:00
BlueWall
e393b47da8 Merge branch 'new_modules' 2012-01-05 17:54:05 -05:00
BlueWall
2b4edd659f Adding empty ISearchModule interface 2012-01-05 17:53:03 -05:00
Justin Clark-Casey (justincc)
5ea9740f1b Add a "j2k decode" region console command that allows a manual request for a JPEG2000 decode of an asset
For debugging purposes.
2012-01-05 22:40:49 +00:00
Justin Clark-Casey (justincc)
da0fc3c8f5 Make "show asset" command available simulator side. Actually make the service command be "show asset" instead of "show digest" this time.
Last time I accidnetally just changed the usage message.
2012-01-05 21:11:32 +00:00
Justin Clark-Casey (justincc)
f06acc0a85 Add size and temporary information to "show asset" command 2012-01-05 21:05:10 +00:00
Justin Clark-Casey (justincc)
5b160f5b7b Rename 'show digest' console command to 'show asset' 2012-01-05 20:56:29 +00:00
Justin Clark-Casey (justincc)
7319ba62dd Move simulator asset info commands to an optional module from the connector. Make them conform with service side commands.
This stops them appearing twice when Hypergrid is enabled.
2012-01-05 20:51:49 +00:00
Justin Clark-Casey (justincc)
f2ff6d5186 Move asset commands from AssetService to AssetServerConnector so that we can harmonise the same commands on the simulator side.
No functional change.
2012-01-05 20:33:44 +00:00
Justin Clark-Casey (justincc)
50e459d265 recomment log messages I accidentally left uncommented 2012-01-05 19:44:06 +00:00
Justin Clark-Casey (justincc)
c201b54b85 Improve "app rebake" command to return a better message if no uploaded texture ids were available for the rebake request 2012-01-05 19:40:54 +00:00
Justin Clark-Casey (justincc)
da6c816204 Commenting out DataSnapShot message "Registering service discovery capability" for now.
Please uncomment if/when needed.
2012-01-05 17:10:38 +00:00
Melanie
2c401b7359 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2012-01-05 08:12:34 +00:00
Melanie
97ba3c9346 Small fix to GetWorldPosition to get closer to Avination sit behavior 2012-01-05 08:11:52 +00:00
Justin Clark-Casey (justincc)
8fb70a2058 Add "appearance rebake" command to ask a specific viewer to rebake textures from the server end.
This is not as useful as it sounds, since you can only request rebakes for texture IDs already received.
In other words, if the viewer has never sent the server this information (which happens quite often) then it will have no effect.
Nonetheless, this is useful for diagnostic/debugging purposes.
2012-01-04 22:45:07 +00:00
Justin Clark-Casey (justincc)
0634c38505 Separate out rebake request code from cache validation code AvatarFactoryModule.
This allows some logic simplification and allows an external caller to manually request rebakes even if textures are uploaded (future command).
2012-01-04 22:22:46 +00:00
Justin Clark-Casey (justincc)
7e6c84c334 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-04 21:41:28 +00:00
Justin Clark-Casey (justincc)
3a64522267 Minor formatting changes and commented out log lines for future debugging of image manager (udp texture fetch). No significant functional changes. 2012-01-04 21:40:15 +00:00
Dan Lake
3a2ac0e2ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-04 12:01:32 -08:00
Dan Lake
fc391d4b10 Added EventManager.OnRegionStarted which is triggered when Heartbeat is started. 2012-01-04 12:01:18 -08:00
Justin Clark-Casey (justincc)
aa625da6a6 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-04 19:53:48 +00:00
Justin Clark-Casey (justincc)
82df5de5cf Remove the pointless LLClientView.m_imageManager null check.
Despite the code comments we never actually null it.
2012-01-04 16:15:05 +00:00
Dan Lake
ecf9824b63 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-03 16:52:53 -08:00
Dan Lake
0ab2289cdc Access to these static methods to serialize objects are useful outside of serializer 2012-01-03 16:52:08 -08:00
Justin Clark-Casey (justincc)
6166a40440 Update C5.dll to version 1.1.1 from 1.1.0
C5 is a collections library and can be found at http://www.itu.dk/research/c5/
This is used in the UDP texture (image) sending code.
2012-01-03 20:22:15 +00:00
Justin Clark-Casey (justincc)
983b49c0c8 commented out "Prevented flyoff" log message for now as this becomes problematic with bot testing.
Please uncomment if still needed.
2012-01-03 18:25:31 +00:00
Justin Clark-Casey (justincc)
01eacd3a31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-03 18:22:14 +00:00
BlueWall
e78a3913e0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-01-03 12:22:13 -05:00
BlueWall
2c8e72217e Merge branch 'new_modules' 2012-01-03 12:20:49 -05:00
BlueWall
6941058824 Profile Updates
Update basic profile to use the replaceable interface, making configuration less error-prone. Add support to query avatar's home user account and profile service for regions usng the updated OpenProfileModule with Hypergrid.
2012-01-03 11:10:23 -05:00
Justin Clark-Casey (justincc)
fa79588a20 minor: add missing newlines to pCampbot usage statement 2012-01-03 15:42:36 +00:00
Justin Clark-Casey (justincc)
fac8c25851 Reduce accessibility of some J2KImage/LLImageManager properties and methods to reduce potential code complexity and make code reading easier. 2012-01-02 21:31:42 +00:00
Justin Clark-Casey (justincc)
014a86c26b Adding commented out log messages and some minor formatting for future bug hunting. No functional changes. 2012-01-02 19:46:30 +00:00
BlueWall
87374274b9 Fix for failed http request status
Thanks "sendapatch" for fixes to llHTTPRequest status reporting.
2012-01-01 23:44:46 -05:00
Diva Canto
56dbcae402 Bug fix in map tiles in standalone: the map has been blank since commit 01ae916bad r/17324 (Nov.18, justincc). But the root cause comes from commit 02e54c57c4 Author: Oren Hurvitz Date: 7/22/2011
This is a nasty situation. The map tile UUID is, in principle, stored authoritatively in RegionSettings. However, it also needs to be stored in the Grid Service because that's how other sims can retrieve it to send it in Map Blocks to non-V3 viewers. So every time the tile image changes, that change needs to propagate to the Grid Service, and this is done via RegisterRegion (ugh!). Interestingly, this problem didn't affect grids because by default AllowRemoteDelete is false, so the prior images aren't being deleted from the asset servers -- but they were not being correctly updated in the map either, the map was stuck with old images.
2011-12-30 21:32:28 -08:00
Diva Canto
5d8ed077bc Bring back the Hyperlinker to the Robust console. Moved the config to [GridService]. Changed all HG-related .inis, including HyperSimianGrid. No changes in user-facing inis. 2011-12-30 19:17:35 -08:00
Diva Canto
5aad1f7afe Default LocalToGrid to true. Fixes minor bug introduced yesterday where old robust UserAccount service would result is LocalToGrid at the sim being false. 2011-12-30 10:40:57 -08:00
Mic Bowman
967ea51980 Set the local grid flag in the user account through the simian connector
This should make bi-directional hypergrid work.
2011-12-29 16:37:16 -08:00
Diva Canto
571efeddb2 Added UserManagementModule.IsLocalGridUser(UUID) to be used throughout region Scenes and Modules. Changed existing modules to use it instead of assuming that foreign = null account. 2011-12-29 16:12:06 -08:00
Diva Canto
42f5394677 Added field LocalToGrid in UserAccount. Context: make HG work in Simian. 2011-12-29 15:39:12 -08:00
Diva Canto
98ab3dffa3 Deleted two obsolete files in Inventory modules. 2011-12-29 15:33:04 -08:00
Diva Canto
ef4d989f37 Deleted unused methods from HGAssetBroker 2011-12-29 15:21:56 -08:00
Diva Canto
6974596e83 Fixed mix-up in UserAccount fields when passing UserAccounts remotely. 2011-12-29 12:34:57 -08:00
Diva Canto
b756077269 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-29 12:18:22 -08:00
Diva Canto
70e36ee2b4 HG: more adjustments for making HG Simian work. Added server_uri as new key on get_agent_home in UAS. 2011-12-29 12:17:58 -08:00
Melanie
5b52440e61 Introduce a LightShare kill packet ans send it when needed. Currently only
understood by AVN v0.3
2011-12-28 09:24:02 +00:00
BlueWall
f36fe45fa7 Add Copy task to Prebuild.exe (vsxxxx targets)
<Files>
    <Match pattern="*.cs" recurse="true"/>
    <Match pattern="../bin/MyConfig.xml" buildAction="Copy" recurse="false" destination="$(OutputPath)" />
  </Files>
2011-12-25 00:04:42 -05:00
Diva Canto
b6cfe15c7c HG: more / love for Xmas 2011-12-24 07:44:26 -08:00
Diva Canto
f9a1fd5748 HG: one more adjustment with trailing /s 2011-12-23 15:08:13 -08:00
Diva Canto
d38b8caf2b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-23 10:58:55 -08:00
Diva Canto
26bb95fe3d HG: AAdded a few missing /'s at the end of URLs 2011-12-23 10:58:30 -08:00
Mic Bowman
c6ce464dbc remove the old region crossing handler 2011-12-23 10:13:32 -08:00
Mic Bowman
456c89a7a3 Fixes some problems with objects that attempt to cross a region boundary
into a region that does not exist. This is particularly problematic for
physical objects where the velocity continues to move them out of the
region causing an infinite number of failed region crossings. The patch
forces an object that fails a crossing to be non-physical and moves it
back into the starting region.
2011-12-22 16:59:51 -08:00
Mic Bowman
f394cb2e8f fix the UsesPhysics flag to reference the physics flag rather than the temponrez flag 2011-12-22 16:21:32 -08:00
Mic Bowman
6b08c051a3 Enables processing of hypergrid links through simiangrid services. Thanks
otakup0pe
2011-12-22 15:31:51 -08:00
Justin Clark-Casey (justincc)
790ca65c84 Align default ODE_STEPSIZE with that already used through OpenSimDefaults.ini 2011-12-22 20:22:15 +00:00
Justin Clark-Casey (justincc)
7ccd8f8f1d rename Scene.m_physicalPrim to PhysicalPrims since its public and access external as a property 2011-12-22 19:57:50 +00:00
Justin Clark-Casey (justincc)
f7dbdba447 Remove unused m_physicalPrim parameter from SOG.ApplyPhysics() 2011-12-22 19:52:09 +00:00
Justin Clark-Casey (justincc)
48113f0fc8 Make it possible to force all prims to be phantom via the collidable_prim boolean setting in the OpenSim.ini config [Startup] section.
Naturally, default is true.
When set to false, "phantom" flags on prims can be set as usual but all prims remain phantom.
This setting is for test purposes.
This switch does not affect the collision of avatars with the terrain.
2011-12-22 19:44:52 +00:00
Diva Canto
469955889e Region crossings redone: (1) removed WaitForCallback. Now that we are passing the entire agent with attachs in one big message we don't necessarily need to wait for confirmation. The callback sometimes is problematic and it adds delay to the process. (2) Z velocity sent to the viewer = 0. This is an heuristic; the Z velocity usually is negative, and it makes the viewer move the avie down. This only matters while the agent is in transit and therefore not being physically simulated by neither region. As soon as the receiving region receives CompleteMovement from the viewer, the position and velocity get corrected. 2011-12-22 09:30:06 -08:00
Melanie
7f527814d5 And a typo fix 2011-12-22 16:57:49 +00:00
Melanie
6412349dec Add a few comments, correct a merge artefact 2011-12-22 16:51:51 +00:00
Melanie
2347593dac Harmonizing SP with Avination 2011-12-22 16:48:52 +00:00
Diva Canto
219ec7ef20 Fixing a bug introduced yesterday. This put the precondition test inside CheckForBorderCrossing the right way. 2011-12-22 08:18:03 -08:00
Diva Canto
bb0c6a498b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-21 15:17:44 -08:00
Diva Canto
ddff2f246c Moved an external test into the method that uses those preconditions. 2011-12-21 15:17:26 -08:00
Diva Canto
651f9f47d0 HG: Verify that the user is local 2011-12-21 14:56:38 -08:00
Dan Lake
7693e6a3a8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-20 14:46:44 -08:00
Dan Lake
41b02a7208 Remove unused SetAcceleration and add set on Acceleration parameter 2011-12-20 14:45:32 -08:00
Dan Lake
a1dc4e830d Remove unused SetAcceleration and add set on Acceleration parameter 2011-12-20 13:40:24 -08:00
Justin Clark-Casey (justincc)
fa0a71253f Though the viewer warns about receiving this, not sending appears to break baked texture caching when crossing region boundaries.
Needs further investigation.

Revert "Stop sending the viewer its own AvatarAppearance packet."

This reverts commit 92039f295d.
2011-12-20 18:54:15 +00:00
Diva Canto
dd69c9fd20 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-20 09:53:05 -08:00
Diva Canto
25cbba9bca Fixed bug of avie going under the terrain when crossing regions in certain directions. This was a 1-off bug: the terrain was being placed in 127, 127 resulting in a bounding box if -2, 256. I placed it in 128, 128 resulting in a bounding box of -1, 257. 2011-12-20 09:43:39 -08:00
Justin Clark-Casey (justincc)
87a2d8d51b Move HandleObjectGroupUpdate() from GroupsModule to Scene.PacketHandlers.cs as this is updating SOG/SOP.GroupID, which is arguably generic. 2011-12-19 23:03:45 +00:00
Justin Clark-Casey (justincc)
92039f295d Stop sending the viewer its own AvatarAppearance packet.
The viewer warns in the log if it receives this.
Stopping this doesn't appear to have adverse effects on viewer 1 or viewer 3 - the viewer gets its own appearance from body parts/clothes and self-baked textures.
2011-12-19 20:13:48 +00:00
Justin Clark-Casey (justincc)
2899de1a5c Stop unnecessarily sending the TextureEntry in client avatar updates.
As far as I know, viewers don't use this mechanism to recieve new TextureEntry data for avatars.  This is done via the AvatarAppearance packet instead.
Tested this back to viewer 1.23.
Replacing with Utils.EmptyBytes since converting the texture entry to bytes on each AvatarUpdate (or which there are many) is not cost-free.
2011-12-19 19:19:05 +00:00
Justin Clark-Casey (justincc)
e8fbeeba5f Fix race condition where the appearance update timer could be stopped just after another thread had started it on QueueAppearanceSave() or *Send()
However, the window for this race is very small, and the next queued appearance save or send would restart the timer anyway.
2011-12-19 19:08:24 +00:00
Justin Clark-Casey (justincc)
fc9400db07 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-19 19:07:35 +00:00
Justin Clark-Casey (justincc)
0b91ec8dd2 Migrate detailed "appearance show" report generation up to AvatarFactoryModule from AppearanceInfoModule so that it can be used in debug (inactive).
Further filters "debug packet <level>" to exclused [Request]ObjectPropertiesFamily if level is below 25.
Adjust some method doc
Minor changes to some logging messages.
2011-12-19 18:58:05 +00:00
nebadon
6baee2e10b addresses mantis #5827
RAdmin - admin_save_oar fails if noassets parameter missing
thanks Michelle Argus
2011-12-19 11:51:03 -07:00
Justin Clark-Casey (justincc)
4d065f0453 Provide user feedback on execution of "backup" region console command 2011-12-17 02:42:43 +00:00
Justin Clark-Casey (justincc)
684482352c Fix bug where objects couldn't be set back to the "none" group.
This is handled by treating UUID.Zero as a special case.
Currently, asking for the "none" group returns nothing because XMLRPC groups, at least, is not properly handling this case.
It may be better in the future to have GroupsModule return an appropriate GroupsData structure instead or require the underlying services to behave appropriately.
This is a further component of http://opensimulator.org/mantis/view.php?id=5588
2011-12-17 02:35:08 +00:00
Justin Clark-Casey (justincc)
f9137c923b Fix bug where objects could not be set to a new group if the group had been created in that client session, or if no other action has been performed on the object.
There were two problems here:
1) On object group update, we looked for the group is the IClientAPI group cache rather than in the groups service.  This fails to groups created newly in that session
2) On object group update, we weren't setting the HasGroupChanged flag.  This meant that the change was not persisted unless some other action set this flag.
This commit fixes these issues and hopefully addresses http://opensimulator.org/mantis/view.php?id=5588
This commit also moves HandleObjectGroupUpdate() to the GroupsModule from the Scene.PacketHandlers.cs file
2011-12-17 02:23:24 +00:00
Diva Canto
964ec57ffe Changed the async approach on close child agents. This may improve crossings a little bit. 2011-12-16 17:24:50 -08:00
Diva Canto
99623894c7 Commented a couple of verbose debug messages. 2011-12-16 17:23:30 -08:00
Justin Clark-Casey (justincc)
9b56cc69c1 Add Garmin Kawaguichi to CONTRIBUTORS.txt 2011-12-17 00:29:42 +00:00
Justin Clark-Casey (justincc)
7f019cc196 If a startup simulator script is present, run it after the normal region selection code rather than before.
This allows the script to change the selected region without having it immediately undone.
Thanks to Garmin Kawaguichi for this patch.
2011-12-17 00:27:19 +00:00
Justin Clark-Casey (justincc)
4f628849f3 Add more documentation to EstateConnectorString in StandaloneCommon.ini.example 2011-12-17 00:14:48 +00:00
Justin Clark-Casey (justincc)
1bf05fbb1f refactor: simplify methods in Scene.PacketHandlers.cs by using GetGroupByPrim() rather than retrieving GetEntities() and inspecting the entire list 2011-12-17 00:11:17 +00:00
Justin Clark-Casey (justincc)
a3a17e929e Stop generating client flags when we send out full object updates.
These were entirely unused.
2011-12-16 23:20:12 +00:00
Justin Clark-Casey (justincc)
5c4056660f Don't pass on ChaneWaterHeight event from EventManager is new water height is less than 0
This is to stop bad values and subsequent viewer crashes.
Thanks to Michelle Argus for this patch.
2011-12-16 21:16:01 +00:00
Justin Clark-Casey (justincc)
5d79f857b0 Comment out accidentally left in "Adding physics prim" log message 2011-12-16 20:54:28 +00:00
Justin Clark-Casey (justincc)
a9b39d6e5d Tunnel [GroupsModule] DebugEnabled setting down into XmlRpcGroupsServicesConnectorModule so that we can record cache misses 2011-12-16 20:53:50 +00:00
Diva Canto
8300bb651e Sends the consistent child agent position upon creation of the child agent in other regions, as opposed to <128, 128, 70> 2011-12-16 09:33:22 -08:00
Diva Canto
3bf699ad36 No functional changes. Changed the prefix of that log message [CONNECTION BEGIN] to [SCENE] because that's where the message happens.
Also changed the instantiation of a vector object to be done only once instead of every time we receive a position update.
2011-12-16 08:59:33 -08:00
Diva Canto
7e4a2d69d5 HG minor bug fix and marked one method obsolete in UAS. 2011-12-16 08:48:29 -08:00
Justin Clark-Casey (justincc)
8013c0d2f5 Stop pointlessly setting the m_colliderarr[] to false in the ODECharacter constructor 2011-12-15 22:33:14 +00:00
Justin Clark-Casey (justincc)
c0ba99e5ad Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() when we've already passed size information to the avatar at PhysicsScene.AddAvatar()
Eliminate some copypasta for height setting in OdeCharacter
2011-12-15 22:29:36 +00:00
Justin Clark-Casey (justincc)
99570d8ebb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-15 21:59:01 +00:00
Justin Clark-Casey (justincc)
937c06db54 Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacter
Stop hiding RemoveAvatar failure, add log messages when characters are removed through defects or re-added unexpectedly.
Add commented out log lines for future use.
Use automatic property for PhysicsActor for better code readability and simplicity
2011-12-15 21:57:22 +00:00
nebadon
58ba81ae4e minor fix to MegaRegions, typo spotted by Ubit! 2011-12-15 10:49:15 -07:00
Justin Clark-Casey (justincc)
6f2d80cc93 minor: add some currently commented log lines for use in debugging 2011-12-14 21:27:47 +00:00
Justin Clark-Casey (justincc)
e830a77860 Simplify some manipulation of _taintedActors in OdeScene 2011-12-14 18:33:44 +00:00
Justin Clark-Casey (justincc)
a110a7bd6a Eliminate _taintedPrimsH and _taintedPrimsL (and _taintedPrimLock) in favour of just a _taintedPrims HashSet.
There's no point maintaining a list because any pending taint operations are all carried out in the same call anyway.
2011-12-14 18:03:25 +00:00
Justin Clark-Casey (justincc)
cec88872ae Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-14 17:59:55 +00:00
Justin Clark-Casey (justincc)
84023c8162 Fix off by one bug in objects GrabbingBehaviour of pCampBot.exe
Also fix usage message.
2011-12-14 16:43:49 +00:00
Dan Lake
f43e5f92fd Just adding a comment to SendFullUpdatToClient 2011-12-13 23:34:59 -08:00
Dan Lake
39736e52d8 Reorder clearing of upate schedule on SOP to before sending updates. Fix potential race condition. 2011-12-13 21:37:17 -08:00
Justin Clark-Casey (justincc)
b242ceda1e In AvatarFactoryModule.SetApperance(), perform ValidateBakedTextureCache() in the same thread rather than on another one.
The caller is already an async thread from LLClientView so this doesn't hold up the client.
However, launching on a separate thread does remove the effect of m_setAppearanceLock
This was potentially allowing two different SetAppearance threads to interfere with each other, though this probably rarely happens, if at all.
2011-12-13 20:42:39 +00:00
Justin Clark-Casey (justincc)
3a06640730 Get rid of the 'lolcat' library asset.
This was both unused and an invalid jpeg2000 texture from way back in 2008
2011-12-12 21:17:01 +00:00
Justin Clark-Casey (justincc)
4dfd2c7d47 minor: remove pointless comment from OdeScene.cs 2011-12-12 19:31:50 +00:00
Justin Clark-Casey (justincc)
e9b59e7627 Remove long unused libdb_dotNET43.dll 2011-12-12 19:31:12 +00:00
Dan Lake
c34ab0ee66 Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and IsColliding 2011-12-12 02:43:38 -08:00
Dan Lake
3c55d2e776 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-12 00:41:53 -08:00
Dan Lake
db8fd1eb9f Added an option for extra settings within region ini file. Any non-hardcoded key-value string pair can be added per-region and referenced by any part of OpenSim with access to the RegionInfo 2011-12-12 00:21:19 -08:00
nebadon
8ae824ff09 Mantis 5816: osParseJSON Decoding Problems
osParseJSON uses hand-crafted decoding that has two issues
* does not seem to handle top-level JSON lists
* does not seem to handle unicode text
thanks otakup0pe!
2011-12-11 23:25:12 -07:00
Melanie
3a91085ac2 Implement handler for TeleportCancel inbound packet 2011-12-10 15:17:34 +00:00
Justin Clark-Casey (justincc)
e88ad5aab9 minor: remove a mono compiler warning 2011-12-09 23:55:54 +00:00
Justin Clark-Casey (justincc)
5f276c3212 Print out one log message for every missing baked texture, rather than two. 2011-12-09 23:54:39 +00:00
Justin Clark-Casey (justincc)
0daa5d8b4d minor: comment out "unpacked appearance" log mesasge for now 2011-12-09 23:44:34 +00:00
Justin Clark-Casey (justincc)
f24898d049 Comment out ChildAgentDataUpdate.Pack() "Pack data" message for now. 2011-12-09 23:24:52 +00:00
Justin Clark-Casey (justincc)
13b1c8c173 Do some clean up Scene.cs log messages.
This prints out both exception message and stacktrace (Exception.ToString()) isn't enough on Windows.
This also uses m_log.*Format() which is more efficient than string concat.
2011-12-09 23:21:54 +00:00
Justin Clark-Casey (justincc)
af3cd00048 Get rid of IScene.PresenceChildStatus() which always had to execute a lookup in favour of IClientAPI.ISceneAgent.IsChildAgent instead. 2011-12-09 23:07:53 +00:00
Justin Clark-Casey (justincc)
fc27806e90 remove some unused fields in ScenePresence 2011-12-09 22:52:54 +00:00
Justin Clark-Casey (justincc)
cb0da425d5 Fix "fix-phantoms" help message. Thanks Garmin Kawaguichi. 2011-12-09 22:41:39 +00:00
Justin Clark-Casey (justincc)
94c242f792 Move client id check in Scene.Inventory.cs:UpdateInventoryItemAsset so that it doesn't trigger an exception if the item hasn't been found.
In this situation we will now put out a slightly more meaningful log error message instead.
2011-12-09 22:36:51 +00:00
Justin Clark-Casey (justincc)
4e9f50b878 Add commented log lines to FetchInventoryDescendents2 path for future use.
Haven't been able to resolve issue where attachments are removed by the viewer on relog on a localhost
2011-12-09 22:32:28 +00:00
Justin Clark-Casey (justincc)
63fe673af1 Revert "Revert "Stop performing the asset save part of baked texture uploading on the UploadBakedTexture cap asynchronously.""
This turned out not to be the upload texture issue.

This reverts commit 8721841fc3.
2011-12-08 23:45:53 +00:00
Justin Clark-Casey (justincc)
50eebb5cba Don't reply with an ack packet if the client is not authorized. 2011-12-08 22:00:59 +00:00
Justin Clark-Casey (justincc)
32d0ef89c6 Extend TestAddClient() to check that the first packet received is an ack packet 2011-12-08 21:45:02 +00:00
Justin Clark-Casey (justincc)
14e407aff3 Add OpenSim.Region.ClientStack.LindenUDP.Tests.dll back into the test suite 2011-12-08 20:55:38 +00:00
Justin Clark-Casey (justincc)
bc13855e64 Reactivate BasicCircuitTests.TestAddClient()
This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
2011-12-08 20:52:34 +00:00
Justin Clark-Casey (justincc)
0e265889dd Remove unnecessary AgentCircuitData null check from Scene.AddNewClient().
The only caller is the LLUDP stack and this has to validate the UDP circuit itself, so we know that it exists.
This allows us to eliminate another null check elsewhere and simplifies the method contract
2011-12-08 19:25:24 +00:00
Justin Clark-Casey (justincc)
55de189752 minor: remove some mono compiler warnings 2011-12-08 18:56:07 +00:00
Justin Clark-Casey (justincc)
54360dd20e When a client connects to a scene, send other avatar appearance data asynchronously to reduce hold up in the IN UDP packet processing loop.
This is already being done for the initial object data send.
2011-12-08 18:39:56 +00:00
Justin Clark-Casey (justincc)
f61e54892f On a new client circuit, send the initial reply ack to let the client know it's live before sending other data.
This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before.
This may stop some avatars appearing grey on login.
This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity
This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
2011-12-08 18:34:23 +00:00
Justin Clark-Casey (justincc)
355cde464a Simplify Scene.AddNewClient()
If sp becomes null right after we've checked or created it, then behaviour down the line is going to be wrong anyway.
So instead retain the check/create ScenePresence reference and use this.
2011-12-08 16:10:47 +00:00
Melanie
43732794dd Remove a left over log output 2011-12-08 05:46:59 +00:00
Justin Clark-Casey (justincc)
dae58e0937 Remove warning in admin_save_oar xmlrpc method where noassets == true was comparing against an object rather than a string 2011-12-07 22:42:05 +00:00
Justin Clark-Casey (justincc)
2b4de8f881 Have admin_load_heighmap and admin_save_heightmap xmlrpcadmin methods return success = true on success rather than false 2011-12-07 22:40:23 +00:00
Justin Clark-Casey (justincc)
fb2f4f158c Refactor RemoteAdminPlugin so that every xmlrpc method calls a common block of code to do password checks, etc., instead of copy/pasting this code into every method 2011-12-07 22:39:12 +00:00
Justin Clark-Casey (justincc)
eda770e978 Remove unused SceneManager.TryGetAvatarsScene()
It makes far more sense anyway to use TryGetRootScenePresence().Scene, in common with the rest of the code
This method could also return any scene for child or root agents, depending in which order the scenes happened to lie in the list
2011-12-07 21:17:13 +00:00
Justin Clark-Casey (justincc)
3d95015686 On an Exception in Scene.RemoveClient(), always remove the client (and SP) structure so that logout on unexpired packets isn't retriggered, causing the same exception 2011-12-07 18:43:48 +00:00
Justin Clark-Casey (justincc)
2b02d3dc84 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-07 17:33:06 +00:00
Justin Clark-Casey (justincc)
415b7b7ec4 Implement XMLRPCAdmin command admin_teleport_agent.
This allows someone with access to this command on the XMLRPCAdmin interface to teleport an avatar to an arbitrary region and/or position.
2011-12-07 17:31:57 +00:00
BlueWall
33c6067098 Trigger a Jenkins build 2011-12-07 11:21:50 -05:00
BlueWall
0fcd55aff3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-07 10:39:25 -05:00
BlueWall
fd023b317a Update libomv to 0.9.1 2011-12-07 09:56:15 -05:00
Justin Clark-Casey (justincc)
a8ed185c00 properly lock CapsHandlers.m_capsHandlers 2011-12-07 14:55:01 +00:00
BlueWall
6ec59ee892 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-07 07:52:24 -05:00
Justin Clark-Casey (justincc)
e6272b8d56 Stop also adding an ordinary http handler when we set up a poll http handler.
It appears that this is entirely unnecessary since the poll http handlers are dealt with on a separate code path.
2011-12-07 12:28:42 +00:00
Justin Clark-Casey (justincc)
8e542cfa03 Stop accidentally setting up the UploadTexture caps handler with the same url for all users
This meant that if a user exited the region, the UploadTexture handler would be effectively removed for everyone, causing subsequent failures.
This hopefully resolves the recent UploadTexture LLSD problems
This was a regression in 5640f2e (Thu Dec 1 23:24:15 2011 +0000)
2011-12-06 21:42:56 +00:00
Justin Clark-Casey (justincc)
8721841fc3 Revert "Stop performing the asset save part of baked texture uploading on the UploadBakedTexture cap asynchronously."
This is a possible cause of the dramatic upswing in "Unable to upload... No handler registered for LLSD requests..."
Needs more investigation.

This reverts commit 1854c52ea3.
2011-12-06 18:37:13 +00:00
Justin Clark-Casey (justincc)
136a6a6e0f Make "show appearance" a synonym for "appearance show" 2011-12-06 18:36:11 +00:00
Justin Clark-Casey (justincc)
b9a461c5ad In "appearance show", if a particular avatar is specified, print out texture UUID for each bake type and whether the simulator can find it. 2011-12-06 18:32:27 +00:00
Justin Clark-Casey (justincc)
ec4f217af8 Actually send the avatar data if an individual avatar is specified, rather than accidentally doing nothing 2011-12-06 18:06:29 +00:00
Justin Clark-Casey (justincc)
1b9eb52850 Allow "appearance show" command to take an optional avatar name 2011-12-06 18:03:16 +00:00
Justin Clark-Casey (justincc)
4be85eeaa5 Make it possible to manually send appearance information via the "appearance send" command for a chosen avatar as well as all 2011-12-06 16:42:44 +00:00
Justin Clark-Casey (justincc)
d33d12ba83 Provide feedback as to which avatars are resending appearance informion on "appearance send" console command 2011-12-06 16:07:24 +00:00
Justin Clark-Casey (justincc)
319507f521 Add test for not found response from GetTexture cap handler.
Add OpenSim.Region.Capabilities.Handlers.Tests.dll into test suite
2011-12-05 21:04:17 +00:00
Justin Clark-Casey (justincc)
af9ccfa15c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-12-05 20:50:44 +00:00
Justin Clark-Casey (justincc)
4567555c49 Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead of OSHttpRequest/OSHttpResponse.
This is required for the substitution of different HTTP servers or the newer HttpServer.dll without having to commit to a particular implementation.
This is also required to write regression tests that involve the HTTP layer.
If you need to recompile, all you need to do is replace OSHttpRequest/OSHttpResponse references with IOSHttpRequest/IOSHttpResponse.
2011-12-05 20:44:20 +00:00
BlueWall
2d3dda6db3 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-05 15:29:00 -05:00
Melanie
e7cb63fcf7 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-12-05 19:01:35 +00:00
Melanie
66f4ce354f Fix CHANGED_TEXTURE and CHANGED_COLOR. 2011-12-05 19:01:14 +00:00
Justin Clark-Casey (justincc)
37889eb3fa For the GetTexture capability, if a data range is requested that covers the whole asset length, return HTTP PartialContent instead of NotFound
NotFound is obviously wrong, and this change stops viewer 3.2.2 (and v probably earlier) complaining in the log about missing textures that are actually present.
We still return PartialContent even if the range requested is a superset of the data range as per httpd's behaviour
https://issues.apache.org/bugzilla/show_bug.cgi?id=51878
Viewer 3.2.2 and very probably earlier appear happy with this.
Whether fixing this NotFound bug has any practical effect apart from resolve viewer log messages is unknown.
2011-12-05 18:35:03 +00:00
Diva Canto
a2d98c7293 HG: Added HEAD method to Helo service. This is the preferred method, but its wide use will have to wait a few releases. So the sims are still calling GET for now. 2011-12-04 10:10:09 -08:00
Diva Canto
080dfcc9c9 HG: Renamed one method 2011-12-04 08:24:16 -08:00
Justin Clark-Casey (justincc)
a82aea53f8 Split up test SceneHelpers to provide an AddChildScenePresence() call 2011-12-03 19:32:59 +00:00
Justin Clark-Casey (justincc)
a4d82895be Remove T012_TestAddNeighbourRegion() and T013_TestRemoveNeighbourRegion() since they don't do anything useful. 2011-12-03 19:14:37 +00:00
Justin Clark-Casey (justincc)
3852f05e6e Extend TestCreateChildScenePresence to make assertions both at CreateAgent stage and then at Scene.AddClient() 2011-12-03 19:10:32 +00:00
Justin Clark-Casey (justincc)
4919c60560 Add beginning of ScenePresenceAgentTests.TestCreateChildScenePresence()
This required an option to be added to NullRegionData via ConnectionString for it to act as a non-static instance, so that regression tests (which only load this class once) don't get hopeless confused and complex to compensate.
Normal standalone operation unaffected.
2011-12-03 18:59:54 +00:00
Justin Clark-Casey (justincc)
ced820bd5e Improve locking in AgentCircuitManager 2011-12-03 16:19:11 +00:00
Justin Clark-Casey (justincc)
c934901a05 Use GetAgentCircuits() to receive a copy of the AgentCircuitsByUUID dictionary rather than AgentCircuitManager.AgentCircuits directly in "show circuits" to avoid enumeration exceptions 2011-12-03 16:11:47 +00:00
Justin Clark-Casey (justincc)
aac3f2d04e Add agent circuit number checks to TestCloseAgent() 2011-12-03 16:04:11 +00:00
Justin Clark-Casey (justincc)
aba42d8543 Correct SOP.GetNumberOfSides() to return 8 for meshes rather than 7
We are returning the actual number of 'sides', not the maximum index number.
Also minor format corrections.
2011-12-03 15:54:06 +00:00
marc
e75bcd4c59 Workaround for mesh to correct the number of faces in GetNumberOfSides(). Meshs are handeled as sculpts but can have up to 8 faces (SL restriction the collada format can handle even more). The patch enables all LSL function that adressing faces to behave correct. Like llGetNumberOfSides(); llSetLinkPrimitiveParamsFast(); llSetPrimitiveParams(); llSetColor();
Signed-off-by: marc <mare@sounddog.net>
2011-12-03 15:49:19 +00:00
BlueWall
6541fc08d4 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 22:46:37 -05:00
Justin Clark-Casey (justincc)
585fc5e79d Update SP.PhysicsCollisionUpdate() doc.
It might be inefficient, but there are collisions every frame if the avatar is walking/standing on the ground or a prim surface
2011-12-03 02:51:17 +00:00
Justin Clark-Casey (justincc)
e26ef8aeca change misleading login = http://127.0.0.1:9000/ in GridInfoService in Robust.ini.example to 8002 2011-12-03 02:48:16 +00:00
Justin Clark-Casey (justincc)
b66fe3e9ff Add method doc to SP.PhysicsCollisionUpdate() to make it clear that it's called continuously even where there are no collisions 2011-12-03 02:45:02 +00:00
Justin Clark-Casey (justincc)
a009871827 Add basic TestFlyingAnimation() regression test 2011-12-03 02:39:21 +00:00
Justin Clark-Casey (justincc)
feef1dd732 Stop calling Animator.UpdateMovementAnimations() at the end of HandleAgentUpdate().
There's no point doing this if it's being called via PhysicsCollisionUpdate
2011-12-03 02:05:11 +00:00
BlueWall
f144baa9a8 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 20:53:35 -05:00
Justin Clark-Casey (justincc)
f08aad8a40 For now, disable mechanism to limit avatar animation updates since this causes avatars to never reach the correct animation after some actions.
This reverts to situation where animation updates are made each frame on SP.PhysicsCollisionUpdate (though a packet is only sent if the anim actually changes).
m_updateCount was not being update on various avatar state changes, causing the correct animations to never be sent.
Always setting in HandleAgentUpdate() is not enough since the avatar is continually sending AgentUpdate packets.
One would need to identify all the conditions under which animations need to play out and set m_updateCount appropriately in SP.HandleAgentUpdate()
2011-12-03 01:47:12 +00:00
BlueWall
b94ab10922 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 20:21:35 -05:00
Justin Clark-Casey (justincc)
0ca8491bbe refactor: Use just ScenePresenceAnimator.CurrentMovementAnimation rather than duplicating it with m_movementAnimation 2011-12-03 00:40:08 +00:00
Justin Clark-Casey (justincc)
5bbfb082dd Use agent.Animator.CurrentMovementAnimation in llGetAgentInfo() rather than asking for a new determination 2011-12-03 00:33:24 +00:00
Justin Clark-Casey (justincc)
8185ce8b4a Do a cagent.Anims != null check in SP.CopyFrom() 2011-12-03 00:30:13 +00:00
Justin Clark-Casey (justincc)
5ba8ca5662 Rename ScenePresenceAnimator.GetMovementAnimation() -> DetermineMovementAnimation() for better code readability 2011-12-03 00:27:21 +00:00
Justin Clark-Casey (justincc)
96c191f4fd Stop SP.HandleAgentUpdate() and PhysicsCollisionUpdate() from being processed if we're dealing with a child ScenePresence.
Neither of these can have any effect on child agents
Now leaving warning about trying to set animation on a child agent active.  Might temporarily pop up now and again.
2011-12-03 00:09:18 +00:00
BlueWall
21f4ee8a3d Merge branch 'master' of /home/opensim/var/repo/opensim 2011-12-02 18:57:57 -05:00
Justin Clark-Casey (justincc)
054ebe8878 Stop some places where we're trying to reset animations in child agents where such requests are ignored. 2011-12-02 23:56:01 +00:00
Justin Clark-Casey (justincc)
2a6597f61e Remove pointless Animator.TrySetMovementAnimation("STAND") in ScenePresnece constructor.
Comment was right - it is indeed useless since SP always starts off as child and TrySetMovementAnimation screens out child SP
2011-12-02 22:14:47 +00:00
Justin Clark-Casey (justincc)
1854c52ea3 Stop performing the asset save part of baked texture uploading on the UploadBakedTexture cap asynchronously.
This prevents a possible race condition where the client would be told all baked textures had updated before they were in the asset service.
The client would then trigger a set appearance which, after a delay, would send the avatar appearance out to other clients.
The race condition seems unlikely because of this delay but it's still possible.
Might help with grey avatar appearances.
2011-12-01 23:38:25 +00:00
Justin Clark-Casey (justincc)
5460f2e035 refactor: Separate the upload baked texture handler out from BunchOfCaps 2011-12-01 23:24:15 +00:00
BlueWall
e7930b1d0f Make fix to Nini for null references in some cases. 2011-11-29 22:25:03 -05:00
Justin Clark-Casey (justincc)
2a9c9ae340 Provide more user feedback when "debug http" is set 2011-11-29 21:53:15 +00:00
Justin Clark-Casey (justincc)
fa63054c4f On "show caps", stop excluding the seed cap but do exclude it elsewhere 2011-11-29 20:37:03 +00:00
Justin Clark-Casey (justincc)
679a5f6c0b With "debug http 1", show the path with the query string instead of just the path.
Also simplifies debug levels to just 0 and 1
2011-11-29 17:26:45 +00:00
Justin Clark-Casey (justincc)
658d02b5e9 Improve some of the debug help messages 2011-11-29 16:56:31 +00:00
Justin Clark-Casey (justincc)
a17f93ff44 minor: remove mono compile warning, a Vector3 can never be null since it's a struct 2011-11-29 16:31:10 +00:00
Justin Clark-Casey (justincc)
d3a46b03bf tabulate "show caps" output for easier readability 2011-11-29 16:29:11 +00:00
Justin Clark-Casey (justincc)
ff0d020007 Correct mistake in "debug eq" help 2011-11-29 16:18:14 +00:00
Justin Clark-Casey (justincc)
b6b0bc7b32 Add "debug http" command for currently simple extra debug logging of non-event queue inbound http requests to a simulator 2011-11-29 16:15:52 +00:00
BlueWall
19c10c892a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-26 17:20:20 -05:00
BlueWall
ea0fc7b12c Add missing property to llGetLinkPrimitiveParams 2011-11-26 17:06:28 -05:00
Justin Clark-Casey (justincc)
4efd9a3b7b When removing an LSL sensor for a script (e.g. through llResetScript() or state change), don't also remove sensors for other scripts in the same prim.
Hopefully fixes http://opensimulator.org/mantis/view.php?id=4448 and http://opensimulator.org/mantis/view.php?id=4452
2011-11-26 01:55:36 +00:00
Justin Clark-Casey (justincc)
86cc00aaa8 minor: formatting changes in Scene.PacketHandlers.cs 2011-11-26 01:52:12 +00:00
Justin Clark-Casey (justincc)
46e1bcb6b6 minor: remove mono compiler warning 2011-11-26 01:40:46 +00:00
Justin Clark-Casey (justincc)
bafea2282a Rip out unused Scene.HandleFetchInventoryDescendentsCAPS().
This has been handled by WebFetchInvDescHandler.Fetch() for some time.
2011-11-26 01:39:23 +00:00
Justin Clark-Casey (justincc)
11c19b0d2e Use the same web fetch handler for every request from every avatar, since it contains no instance code 2011-11-26 00:29:01 +00:00
Justin Clark-Casey (justincc)
c5b636469d Stop locking the requests coming in to WebFetchInvDecHandler.
There's no technical reason for this as the methods are thread safe.  However, it might have served to slow down requests.
2011-11-26 00:13:04 +00:00
Justin Clark-Casey (justincc)
95a686dbf5 Fix config so that you can have both WebFetchInventoryDescendents and FetchInvnetoryDescendents2 caps active at once 2011-11-25 23:45:29 +00:00
Justin Clark-Casey (justincc)
5b4fe23f7f Resolve error where an unknown asset type would cause the fetch inventory descendents cap to fail.
Introduced just a few commits ago in 0688861
2011-11-25 23:43:57 +00:00
Justin Clark-Casey (justincc)
676d32974a Implement the FetchInventoryDescendents2 capability using the same code as WebFetchInventoryDescendents.
Enabling this by setting Cap_FetchInventoryDescendents2 = "localhost" in the [ClientStack.LindenCaps] section of OpenSim.ini downloads inventory via http rather than udp in later viewers.
2011-11-25 22:46:42 +00:00
Justin Clark-Casey (justincc)
b785f204ce remove some mono compiler warnings 2011-11-25 22:19:57 +00:00
Justin Clark-Casey (justincc)
0688861aa7 Use the more extensive Utils.AssetTypeToString()/InventoryTypeToString() conversion rather than the arrays in TaskInventoryItem 2011-11-25 22:15:29 +00:00
Justin Clark-Casey (justincc)
8c82ff16ad Fix WebFetchInventoryDescendents cap to use Utils.AssetTypeTostring/InventoryTypeToString to convert types to strings
These cover a wider range of types.
2011-11-25 21:54:31 +00:00
Justin Clark-Casey (justincc)
0a0aa77cfd Adding missing CrossBehaviour.cs file to fix build 2011-11-24 22:46:43 +00:00
Justin Clark-Casey (justincc)
8e32ce85a7 Remove bizarre call to PhysicsScene.Simulate(0) in Scene.GetNearestAllowedPosition()
At least on ODE, this wasn't doing any harm but there wasn't any point to it either
2011-11-24 22:45:29 +00:00
Justin Clark-Casey (justincc)
2ae5b40ca6 On pCampBot, add bot as a property on behaviours instead of passing it in every time 2011-11-24 22:36:45 +00:00
Justin Clark-Casey (justincc)
cbbd992df4 minor: remove mono compiler warning 2011-11-24 22:11:54 +00:00
Justin Clark-Casey (justincc)
a58f5b2f66 When setting packet level logging via "debug packet", apply to all clients, not just root ones.
Also adds scene name and client type (root|child) to logged information.
2011-11-24 22:08:34 +00:00
Justin Clark-Casey (justincc)
0a60e9537f comment out a noisy log line I accidentally left in from the last commit 2011-11-24 21:30:40 +00:00
Justin Clark-Casey (justincc)
63c137820b Stop passing a request handler to the initial caps.RegisterHandler in EventQueueGetModule since this is immediatley replaced by a poll server handler.
This allows us to comment out a bunch of code and simplify the codebase and readability.
2011-11-24 21:27:35 +00:00
Justin Clark-Casey (justincc)
0174e326e3 Add a "debug eq" console command for debugging.
This will log outgoing event queue message names if turned on.
2011-11-24 20:27:11 +00:00
Justin Clark-Casey (justincc)
decabe1181 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-24 20:22:17 +00:00
Justin Clark-Casey (justincc)
bdcfd6afee Add disabled CrossBehaviour to pCampBot, which is designed to cross test bots between neighbouring regions.
Not yet enabled since there is a bug where the initial cross will work but all subsequent movements on the receiving simulator appear to fail.
2011-11-24 17:35:33 +00:00
Dan Lake
89b2fb2ff4 Append asset ID to URL for storage requests to allow caching proxies to work with Simian 2011-11-23 16:41:30 -08:00
Dan Lake
5485e3da46 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-23 16:11:17 -08:00
Dan Lake
0cb33a5398 Line endings 2011-11-23 16:09:11 -08:00
Justin Clark-Casey (justincc)
ed7ddeecf2 Print out what behaviours are active when pCampBot starts up 2011-11-23 22:18:10 +00:00
Justin Clark-Casey (justincc)
d145750e87 Add teleport behaviour to pCampBot
This teleports the bot to any other regions +/- 5 on the x or y axis.
Quite aggressive at the moment since teleports keep occuring at a 1-10secs random interval.
No checking yet to see if teleport was successful.
2011-11-23 22:05:11 +00:00
Justin Clark-Casey (justincc)
1126efdcd0 In pCampbot, change "show status" command to "show bots" 2011-11-23 21:33:54 +00:00
Justin Clark-Casey (justincc)
9ae0641871 Rename Bot.BotManager to Manager 2011-11-23 21:33:10 +00:00
Justin Clark-Casey (justincc)
e9f2a9bddb get pCampBot to extract nearby and store nearby region information 2011-11-23 21:19:10 +00:00
Justin Clark-Casey (justincc)
617f139aac Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-23 21:10:50 +00:00
Justin Clark-Casey (justincc)
e394f83df0 Change random number generator property name in pCampbot 2011-11-23 18:00:41 +00:00
BlueWall
0738fc43e4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-23 10:50:29 -05:00
BlueWall
d4e3a7fe81 Shell Environment Variables in config
Adding updated Nini and support to use shell environment variables in OpenSimulator configuration.

  Nini @ https://github.com/BlueWall/Nini-Dev
2011-11-23 10:11:47 -05:00
Justin Clark-Casey (justincc)
b56410285b Log error if we attempt to add/remove an OdeCharacter from the _characters list inappropriately 2011-11-22 22:46:25 +00:00
Justin Clark-Casey (justincc)
ace4324e75 Stop removing actor from the hash maps in OdeScene.RemoveCharacter() since this is now being down in OdeCharacter.DestroyOdeStructures() 2011-11-22 22:37:06 +00:00
Justin Clark-Casey (justincc)
af90b52731 Comment out uncalled OdeScene.UnCombine() 2011-11-22 22:28:46 +00:00
Justin Clark-Casey (justincc)
fcb066cb5f Comment out unimplemented and uncalled RegionCombinerModule.UnCombineRegion() 2011-11-22 22:23:52 +00:00
Justin Clark-Casey (justincc)
d639f7fdf3 minor: remove mono compiler warning 2011-11-22 22:16:09 +00:00
Justin Clark-Casey (justincc)
b0fe0464af Stop an exception being thrown and a teleport/border cross failing if the desintation sim has no active script engines.
This involves getting IScene.RequestModuleInterfaces() to return an empty array (as was stated in the method doc) rather than an array containing one null entry.
Callers adjusted to stop checking for the list reference being null (which never happened anyway)
2011-11-22 22:13:57 +00:00
Justin Clark-Casey (justincc)
daf99f8c0a slightly simplify OdeScene.Simulate() by removing bool processtaints, since we can inspect count of taint lists instead.
also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
2011-11-22 21:51:00 +00:00
Justin Clark-Casey (justincc)
b89c48b1be Improve the error messages returned if the HelloNeighbour call fails.
This is the message a region sends to its neighbours when it comes up
2011-11-21 22:06:43 +00:00
Justin Clark-Casey (justincc)
c4e4a29478 Slightly improve "Unable to space collide" logging message, though I don't think I've ever seen this. 2011-11-21 21:31:26 +00:00
Justin Clark-Casey (justincc)
4ddff7eb0f Get rid of OdeCharacter != null checks since OdeScene._characters can never contain a null character.
Ignoring the ancient code glyphs not to do this....
2011-11-21 21:29:56 +00:00
Justin Clark-Casey (justincc)
82dc7886fc remove unnecessary OdeScene._activeprims locking. Code is single-threaded 2011-11-21 21:15:15 +00:00
Justin Clark-Casey (justincc)
7480f2fd0e Restore defects list. In hindsight, the reason for this is becuase we can't remove the character whilst iterating over the list.
This commit also removes locking on OdeScene._characters since code is single threaded
2011-11-21 21:04:24 +00:00
Justin Clark-Casey (justincc)
546259b2ff simplify operation of OdeScene._perloopContact 2011-11-21 20:30:37 +00:00
Justin Clark-Casey (justincc)
25d9001de1 don't bother locking OdeScene._perloopContact in single threaded code 2011-11-21 20:17:36 +00:00
Justin Clark-Casey (justincc)
e33b0fa35b don't lock OdeScene.contacts since only ever accessed by a single thread 2011-11-21 20:12:04 +00:00
Justin Clark-Casey (justincc)
e67ba0ad06 rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to match existing DestroyOdeStructures() 2011-11-21 20:01:34 +00:00
Justin Clark-Casey (justincc)
063f0f5d97 refactor: Eliminate one line ODECharacter.doForce() method for code clarity 2011-11-21 19:58:37 +00:00
Justin Clark-Casey (justincc)
225b925f4e Comment out calls to OdeScene.waitForSpaceUnlock() since that method does nothing right now 2011-11-21 19:48:31 +00:00
Justin Clark-Casey (justincc)
54789706f4 Reduce complexity of OdeScene.Simulate() by fully removing bad characters at point of detection rather than later on. 2011-11-21 19:45:22 +00:00
Justin Clark-Casey (justincc)
3becda919e move geom/actor map maintenance into DestroyODEStructures()/AvatarGeomAndBodyCreation().
This saves us having to do it separately when a character capsule size is changed
2011-11-21 19:31:29 +00:00
Justin Clark-Casey (justincc)
4faac1f090 When changing avatar size in ODE, remove the old actor from the name and actor maps 2011-11-21 19:06:53 +00:00
Justin Clark-Casey (justincc)
898904d83d When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove the actor reference in OdeScene.actor_name_map rather than leaving it dangling.
This also largely centralizes adds/removes in OdeScene.AddCharacter()/RemoveCharacter()
2011-11-21 18:27:41 +00:00
Justin Clark-Casey (justincc)
cead87005b Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of maintaining their own properties 2011-11-21 18:06:04 +00:00
Justin Clark-Casey (justincc)
4fdcfd79e4 Actually remove PhysicsActor.SOPDescription this time 2011-11-21 17:55:54 +00:00
Justin Clark-Casey (justincc)
39c1ae2408 Chain SOP constructors together rather than having copy/paste code 2011-11-21 17:55:10 +00:00
Justin Clark-Casey (justincc)
58a1147870 refactor: Make SOP.Description an automatic property 2011-11-21 17:51:38 +00:00
Justin Clark-Casey (justincc)
e0887944a0 Remove unused PhysicsActor.SOPDescription 2011-11-21 17:47:30 +00:00
Justin Clark-Casey (justincc)
4485007fce Instead of generating a new list for bad characters on every physics pass, keep reusing the same list. 2011-11-21 17:04:54 +00:00
Justin Clark-Casey (justincc)
a94ce3f1df Move DeleteScriptsOnStartup switch from [Startup] to [XEngine] in OpenSim.ini.example.
If anybody was changing this and wondering why there was no effect, this is why.
2011-11-21 15:30:00 +00:00
Justin Clark-Casey (justincc)
2206e2fc96 Remove the "[LOCAL SIMULATION CONNECTOR]: Did not find region {0} for SendCreateChildAgent" message
This is misleading since a simulator will call this method before successfully trying remote regions.
Also comments out spammy "[SIMULATION]: Stream handler called" AgentHandlers messages for now.
2011-11-19 01:32:21 +00:00
Justin Clark-Casey (justincc)
726ca72c47 minor: Make HelloNeighbour messages more informative 2011-11-19 01:27:06 +00:00
Justin Clark-Casey (justincc)
10a23a823e Get rid of the spurious [WEB UTIL] couldn't decode <OpenSim agent 57956c4b-ff2e-4fc1-9995-613c6256cc98>: Invalid character 'O' in input string messages
These are just the result of an attempt to canonicalize received messages - it's not important that we constantly log them.
Also finally get the deregister grid service message working properly
2011-11-19 01:16:07 +00:00
Justin Clark-Casey (justincc)
21353de9b7 Enable v2/v3 map tile url setting on robust as default in config
This is necessary to see map tiles on v2/v3 viewers and appears to work fine
2011-11-19 00:34:56 +00:00
Justin Clark-Casey (justincc)
b89534ad0a Remove mono compiler warnings. Fix problem with co-ordinate given in deregister region message 2011-11-19 00:34:13 +00:00
Justin Clark-Casey (justincc)
d05d065d85 Improve some grid region log messages to express regions at co-ordinate (e.g. 1000, 1000) rather than meter positions (256000, 256000) 2011-11-19 00:29:52 +00:00
Justin Clark-Casey (justincc)
7a18078177 improve region deregistration log message 2011-11-19 00:10:29 +00:00
Justin Clark-Casey (justincc)
01ae916bad Don't register a region twice on both official registration and maptile regeneration.
Maptile storage appears orthogonal to region registration
2011-11-19 00:07:34 +00:00
justincc
f72c4bdba5 Replace HttpServer_OpenSim.dll with Oren Hurvitz's patch applied.
This will hopefully address mantis 5471, 5694 and 5718.
This code is now in opensim-libs, along with Diva's slightly older patches (which were already applied to the DLLs in the opensim tree).
Thanks Oren!
2011-11-18 22:52:59 +00:00
Justin Clark-Casey (justincc)
9d458fdd7f Turn the [RegionReady] module on by default and login_disable = true while scripts are loading.
From field experience, we know that simulators can be unstable if a user logs in before the scripts have finished loading.
This commit turns login_disable = true in [RegionReady] on by default which prevents this from happening.
If you want the old behaviour, please copy these section from OpenSimDefaults.ini into OpenSim.ini and set login_disable = false
2011-11-18 21:31:23 +00:00
Justin Clark-Casey (justincc)
169387b390 Turn SellEnabled in the [EconomyModule] on by default.
This only provides enough functionality to allow operations for no money (e.g. sell for $0).
2011-11-17 23:53:25 +00:00
justincc
6dbe793112 Fix Windows build break 2011-11-17 23:10:58 +00:00
Justin Clark-Casey (justincc)
9c928e9dc6 For TerrainModule.SaveToFile(), don't bother throwing the exception onwards after printing out the error, since this method is invoked by users.
Still throwing the exception on the stream method since this invoked programatically
2011-11-17 22:15:46 +00:00
Justin Clark-Casey (justincc)
352672eaf2 Make "terrain save" more friendly by telling the user if we have saved and putting out a useful complaint message if we haven't for some reason 2011-11-17 22:13:32 +00:00
Justin Clark-Casey (justincc)
cacc028835 If the entire simulator is shutting down then don't bother to unload the scripts from the appdomain in XEngine.
All the other actions (script state save, etc.) still occur.
This makes shutdown where there are many scripts vastly quicker.
2011-11-17 21:03:08 +00:00
Justin Clark-Casey (justincc)
b6d83e9c0f Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId!
Instead, just have both subclasses use the PhysicsActor.LocalID property.
This restores collision functionality that fell away in 45c7789 yesterday
2011-11-16 23:01:59 +00:00
Dan Lake
bd01c4a5cb Call public ForEach instead of using m_entities directly. No semantic changes, just cleanup 2011-11-16 02:33:56 -08:00
Dan Lake
baa65d4a15 In AddNewClient, iterator over copy of entities rather than copying under read lock 2011-11-15 17:09:17 -08:00
Justin Clark-Casey (justincc)
e21949deaf Comment out the vebose logging on HGFriendsModule.
Recent issues in http://opensimulator.org/mantis/view.php?id=5794 were not related to HG friends
2011-11-16 00:26:54 +00:00
Justin Clark-Casey (justincc)
9488b235d1 Fix the build break 2011-11-16 00:10:55 +00:00
Justin Clark-Casey (justincc)
33b1e385ec Look up a homeURL only when it's not null, in addition to not being string.Empty 2011-11-16 00:01:21 +00:00
Justin Clark-Casey (justincc)
92dff85afb Enable log message to tell us what type of url is being requested from a user's homeurl 2011-11-15 23:38:24 +00:00
Justin Clark-Casey (justincc)
31ffd5450b Make tracked per scene thread names conform to the majorirty format.
This is <thread-name> (<region-name>)
2011-11-15 23:34:28 +00:00
Justin Clark-Casey (justincc)
aea547cd11 fix build break on UserManagementModule.
This also adds time since started to "show threads".  Unfortunately these two changes got mixed in.
2011-11-15 23:24:51 +00:00
Justin Clark-Casey (justincc)
5b9fe4497d Do proper locking of UserManagementModule.m_UserCache when getting.
This might help with
[USER AGENT CONNECTOR]: new connector to  ()
[USER AGENT CONNECTOR]: Unable to contact remote server  for GetServerURLs
[USER AGENT CONNECTOR]: Malformed Uri : Argument cannot be null.
Parameter name: uriString
2011-11-15 23:12:41 +00:00
Justin Clark-Casey (justincc)
29eb3b2eb5 improve formatting of "show threads" 2011-11-15 22:51:12 +00:00
Justin Clark-Casey (justincc)
ccae787d03 send a watchdog heartbeat for a poll worker thread when it's actually run 2011-11-15 22:20:44 +00:00
Justin Clark-Casey (justincc)
122304317c temporarily increasing logging in HGFriendsModule for debugging 2011-11-15 22:14:31 +00:00
Justin Clark-Casey (justincc)
e11b9dddb6 distinguish between FriendsSimConnector and FriendsServiceConnector in log 2011-11-15 21:51:45 +00:00
Justin Clark-Casey (justincc)
7db38a351c Add number of milliseconds since last update to "show threads" 2011-11-15 21:49:13 +00:00
Justin Clark-Casey (justincc)
94b1c16398 Dont' bother with a userAgentService != null check right after we've constructed it 2011-11-15 20:37:49 +00:00
Justin Clark-Casey (justincc)
828e4a5b09 Add comments about trying to avoid synchronous work off the EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another. 2011-11-15 20:26:42 +00:00
Justin Clark-Casey (justincc)
e16d7fe1da Instead of having scene add/remove collision events directly to the OdeScene collision event dictionary, marshall them via a change dictionary first.
This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where
1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing
2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments
3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.
2011-11-15 20:02:09 +00:00
Justin Clark-Casey (justincc)
45c7789b54 use a more efficient dictionary in OdeScene._collisionEventPrim rather than a list 2011-11-15 19:42:33 +00:00
Justin Clark-Casey (justincc)
a3c5f76942 Removed unused and mostly commented out SceneCommunicationService methods
As far as I can see, the SCS is only now used for informing neighbours of up/down status and possibly sending child agent updates and close requests
2011-11-15 18:16:43 +00:00
Justin Clark-Casey (justincc)
affec18625 Remove prebuild reference to now gone PumaCode.SvnDotNet.dll 2011-11-15 17:40:13 +00:00
Justin Clark-Casey (justincc)
20f26eeb17 Remove unused RegionCommsListener/IRegionCommsListener.
All this is now being handled through IEntityTransferModule and SimulationService instead, and has been for some time.
2011-11-15 17:38:55 +00:00
Justin Clark-Casey (justincc)
64784bc0cf remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is not being used any more - it's now IEntityTransferModule and SimulationService instead 2011-11-15 17:30:58 +00:00
Justin Clark-Casey (justincc)
430821d837 Rename FetchFriendslist() -> CacheFriends() and RefetchFriends() -> RecacheFriends() to reflect their intended function 2011-11-15 16:12:35 +00:00
Justin Clark-Casey (justincc)
2b5b4ac167 refactor: rename m_NeedsListOfFriends => m_NeedsListOfOnlineFriends to better reflect its actual function 2011-11-15 16:05:08 +00:00
Justin Clark-Casey (justincc)
50803dfe2c For clients that are entering a simulator from initial login, stop executing FriendsModule.FetchFriendslist() asychronously.
Executing this asynchronously allows a race condition where subsequent friends fetches hit a cache that FetchFriendsList() had not yet populated.
Changing this to synchronous may improve issues where a user does not see friends as online even though they are.
I don't believe synchronous is a problem here, but if it is, then a more complicated signalling mechanism is required.  Locking the cache isn't sufficient.
2011-11-15 15:57:53 +00:00
Justin Clark-Casey (justincc)
8d0aaa359f refactor: Don't create a new UUID for passing uuids to client - UUIDs are structs are so not passed by reference (and they're immutable!) 2011-11-15 15:05:10 +00:00
Justin Clark-Casey (justincc)
89632f3ea8 Add test for removing a friendship. 2011-11-14 20:56:56 +00:00
Dan Lake
ed19284d85 Merge branch 'remove-scene-viewer' 2011-11-14 12:37:48 -08:00
Justin Clark-Casey (justincc)
e5ff7f389b Improved method doc for AddFriend() - it actually does set up a two-way relationship.
Rename IFriendsModule.AddFriend() to AddFriendship()
2011-11-14 20:31:16 +00:00
Justin Clark-Casey (justincc)
a64def8b73 minor: remove some mono compiler warnings 2011-11-14 18:16:14 +00:00
Justin Clark-Casey (justincc)
348d15707d Add test for adding a friend whilst online 2011-11-14 18:08:02 +00:00
Justin Clark-Casey (justincc)
de895ee54a Add very simple FriendsModuleTests.TestNoFriends() 2011-11-14 17:18:51 +00:00
Justin Clark-Casey (justincc)
ff36a1bc7b If a friends identifier which is too short is given to HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
This is to progress http://opensimulator.org/mantis/view.php?id=5789
2011-11-14 16:06:06 +00:00
Justin Clark-Casey (justincc)
49ec85ae15 Do a ScenePresence null check in HGMessageTransferModule.SendIMToScene() to stop a NullReferenceException being thrown if an HG IM is sent to a simulator running multiple regions
This is an attempt to address http://opensimulator.org/mantis/view.php?id=5791
2011-11-14 15:24:02 +00:00
Dan Lake
5fd1749150 Remove SceneViewer from ScenePresence to reduce quadruple queueing of
prim update to only triple queuing. Existing method was:
1. Schedule prim for update, adding to scene update list
2. Update on SOGs during heartbeat queues update onto each SceneViewer
3. Update on SPs during heartbeat queues update onto each IClientAPI
4. ProcessEntityUpdates queues updates into UDP send stack

Now the SceneViewer has been eliminated so updates are scheduled at any
time and then put onto the IClientAPI priority queues immediately during
SceneGraph.UpdateObjectGroups.
2011-11-11 17:16:52 -08:00
Justin Clark-Casey (justincc)
e61ea79c72 doh - correct build break 2011-11-12 00:27:43 +00:00
Justin Clark-Casey (justincc)
f130e1a86f Add threads to the watchdog thread list before we start them.
Hopefully this wil make "WATCHDOG: Asked to update thread ## which is not being monitored" messages." go away.
2011-11-12 00:24:45 +00:00
Justin Clark-Casey (justincc)
25c32061e4 Make log messages on authentication failure more explicit 2011-11-11 23:45:08 +00:00
Justin Clark-Casey (justincc)
6adaf1be74 extract common ScenePresence setup code into Init() method for ScenePresenceSitTests 2011-11-11 23:36:35 +00:00
Justin Clark-Casey (justincc)
84ad23234b add SP.PhysicsActor checks to other sit/stand tests 2011-11-11 23:33:55 +00:00
Justin Clark-Casey (justincc)
acaf6937c5 add sit and stand on ground test 2011-11-11 23:32:43 +00:00
Justin Clark-Casey (justincc)
a3052e40ad extract ground sit code into SP.HandleAgentSitOnGround() for consistency with other sitting code. 2011-11-11 23:28:32 +00:00
Justin Clark-Casey (justincc)
6ce3daff94 Pick up the intended ConsolePrompt from [Startup] instead of console_prompt.
Addresses http://opensimulator.org/mantis/view.php?id=5786
2011-11-11 23:15:53 +00:00
Justin Clark-Casey (justincc)
2a2cdaa211 As with prim sitting avatars, make an avatar phantom when it sits on the ground and solid again when it stands.
This is to avoid http://opensimulator.org/mantis/view.php?id=5783 when a collision with a ground sitting avatar causes that avatar to automatically stand and sometimes not be able to move
A better solution may be to keep gound sitting avatars solid but remove their collision status.  However, this requires some physics code work.
2011-11-11 23:10:43 +00:00
Justin Clark-Casey (justincc)
ce8441132e Restore sending of OutPacket() for object kills removed in commit c7dd7b1.
OutPacket() must be called within the m_killRecord lock.  Otherwise the following event sequence is possible
1) LLClientView.ProcessEntityUpdates() passes the kill record check for a particular part suspends before OutPacket()
2) Another thread calls LLClientView.SendKillObject() to delete the same part and modifies the kill record
3) The same thread places the kill packet on the Task queue.
4) The earlier thread resumes and places the update packet on the Task queue after the kill packet.
This results in a ghost part in the sim that only goes away after client relog.
This commit also removes the unnecessary m_entityUpdates.SyncRoot locking in SendKillObject.
2011-11-11 22:37:57 +00:00
Justin Clark-Casey (justincc)
2a7f4e0602 remove unncessary IClientAPI parameter from SP.SendSitResponse() 2011-11-11 21:53:00 +00:00
Justin Clark-Casey (justincc)
b1cb4f5b04 As per mailing list last week, remove facility that would automatically move the avatar if prim with no sit target was out of sitting range.
Now, no movement occurs.
Note that you can still sit on a prim with an explicit sit target from any distance, as was the case before.
2011-11-11 21:42:58 +00:00
Justin Clark-Casey (justincc)
a658bddbcd Bump warp sit distance up to 10 meters, as discussed on opensim-dev mailing list last week.
This means that if the avatar is within 10 meters of the selected target, it sits on it immediately without walking.
Existing autopilot outside this range will be disabled in a later commit
2011-11-11 19:59:12 +00:00
Justin Clark-Casey (justincc)
01518de0bf update minimum mono version 2011-11-11 19:43:42 +00:00
Justin Clark-Casey (justincc)
8f4955f6a9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-11 19:40:31 +00:00
Justin Clark-Casey (justincc)
dc200d7bb5 Add new ScenePresenceSitTests with a single sit/stand test 2011-11-11 19:38:36 +00:00
nebadon
ad28238ece one more jenkins test! 2011-11-10 21:40:11 -07:00
nebadon
84ce0b487b one more test of jenkins! 2011-11-10 21:31:06 -07:00
nebadon
53528b0372 one more round with leeeeeeeeeeroy jaaaaaaenkins! 2011-11-10 21:22:07 -07:00
nebadon
de24e93a1f take two on jenkins testing! 2011-11-10 20:58:38 -07:00
nebadon
621fb9aba0 test push to see if sir jenkins responds! 2011-11-10 20:54:33 -07:00
Dan Lake
10e664eedc Fix compile error from an earlier commit 2011-11-10 17:37:33 -08:00
Dan Lake
7432ca6daf Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 17:21:49 -08:00
Dan Lake
96c59156a7 In SOP, replaced many references to private members with the public properties 2011-11-10 17:21:37 -08:00
Melanie
a5838cf0a6 Prevent linking objects while they are deeded. On unlinking deeded objects,
set LastOwnerID properly so the parts cannot be transferred, circumventing
no trans perms
2011-11-11 00:28:12 +00:00
Melanie
2bd4eaeb19 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-10 23:43:29 +00:00
Melanie
0daece6f2b Fix turn left and turn right properly. Works for both built-ins and LSL AOs 2011-11-10 23:42:48 +00:00
Dan Lake
8fbaa10ade Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 15:23:16 -08:00
Dan Lake
9359293b11 Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes. 2011-11-10 15:20:21 -08:00
Melanie
f5abae5ac6 Implement nudging support for strafing motion 2011-11-10 23:03:05 +00:00
Justin Clark-Casey (justincc)
c0d280d948 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-10 22:58:24 +00:00
Justin Clark-Casey (justincc)
2d4ac6288d Alter commit 3758306 to allow region name to be substituted within a region console prompt
This is to allow broader subsitution in the future.  Currently, the only substitions are \R (for region name) and \\ (for a single backslash)
e.g. "Region (\R) " is the current and continuing default prompt
This renames custom_prompt in [Startup] to ConsolePrompt
2011-11-10 22:56:13 +00:00
Dan Lake
f3fea81936 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-10 14:09:53 -08:00
Dan Lake
18c625bda6 When updating SOG, a physics taint should not override a full update with a terse update 2011-11-10 14:09:35 -08:00
Justin Clark-Casey (justincc)
b990914ec4 convert tabs from commit 3758306 to spaces 2011-11-10 21:04:12 +00:00
Melanie
444b345cdf Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-10 20:54:44 +00:00
Melanie
48d2300b8a Fix misaligned sit animation on scripted sit caused by the default sit
animation being run after the scripted one.
2011-11-10 20:54:15 +00:00
Justin Clark-Casey (justincc)
9cba179dff launch pCampbot shutdown console comand asynchronously 2011-11-10 20:03:36 +00:00
Justin Clark-Casey (justincc)
f31a58bd99 Remove unused index parameter from BotManager.startupBot(). Rename startupBot() => StartBot() 2011-11-10 19:40:45 +00:00
BlueWall
ce4560bf8f Add GuduleLapointe to list of contributors
Thanks for the patches!
2011-11-10 07:26:16 -05:00
GuduleLapointe
37583063ee Allow custom setting for the console prompt
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-11-10 06:56:32 -05:00
Justin Clark-Casey (justincc)
4f6915bad5 minor: Correct misleading method doc on SOG.UpdateRootRotation() 2011-11-09 21:49:08 +00:00
Justin Clark-Casey (justincc)
bbab7b6b4d Use IsConnected status to determine whether all pCampBots have disconnected, rather than maintaining a separate count
Checking IsConnected is more reliable.
2011-11-09 21:23:23 +00:00
Justin Clark-Casey (justincc)
674b521fdd In pCampBot, don't try and pull down Primitive faces or sculpts set to null 2011-11-09 20:21:48 +00:00
nebadon
d9b0d7e752 one final attempt and then im giving up on panda!!!!! 2011-11-07 19:03:09 -07:00
nebadon
4f7fe58af8 yet another feeble attempt at understanding panda shmanda! 2011-11-07 18:15:21 -07:00
nebadon
554d2ddc03 another shot at making panda use mono 2.4.3!! 2011-11-07 17:49:05 -07:00
nebadon
5d8205f170 another panda test for good measure! 2011-11-07 17:39:08 -07:00
nebadon
c081d7b7dd This is a test to make sure new mono is being used with panda! 2011-11-07 17:09:32 -07:00
Justin Clark-Casey (justincc)
7e488cd635 Remove unused avariable in PollServiceRequestManager 2011-11-07 23:24:13 +00:00
Justin Clark-Casey (justincc)
39b967e214 Correct test failure in sit position check of TestSitAndStandWithNoTarget()
Curiously, a Vector3.ToString() will not display the last two places of the float.  In this case, the failure of
the assertion would confusingly report Expected: <0, 0, 0.8454993> But was:  <0, 0, 0.8454993> when actual Z figure is 0.845499337
Should fully address http://opensimulator.org/mantis/view.php?id=5779
2011-11-07 22:53:52 +00:00
Melanie
6d92d65140 That such a trivial change can be so difficult to get right. Fix it this time. 2011-11-07 02:40:35 +00:00
Melanie
e775b3fc47 Fix build break 2011-11-07 02:03:17 +00:00
Melanie
67780b00f0 Fix up failing test to compensate for changed sit target offset 2011-11-06 21:47:12 +00:00
Melanie
559e6e52f5 Make the AsyncSceneObjectDeleter send a list of kills. This will make large
marquee-selected deletions of single prims or small link sets nearly
instantaneous
2011-11-06 20:43:49 +00:00
Melanie
c7dd7b13a2 Convert SendKillObject to take a list of uint rather than sending one
packet per prim. More to come as we change to make use of this.
2011-11-06 20:38:07 +00:00
Melanie
fa992a020c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-06 20:00:47 +00:00
Melanie
0bf757e42b Allow HG and other scene presences not linked to a user account to function. 2011-11-06 20:00:03 +00:00
Snoopy Pfeffer
927561383e HUD attachments: Removes some more messages sent to wrong clients. 2011-11-06 17:43:39 +01:00
Snoopy Pfeffer
dfbfc9826a Damaged assets, especially appearance textures, could crash the region server with a fatal exception.
Now, such excpetions are caught by an exception handler and just an error message is shown.
This was the kind of exception causing these fatal server crashes:

  APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs^M
  ^M
  Exception: System.ArgumentOutOfRangeException: Argument is out of range.
  Parameter name: offset exceeds the size of buffer
    at System.Net.Sockets.NetworkStream.BeginRead (System.Byte[] buffer, Int32 offset, Int32 size, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0
    at HttpServer.HttpClientContext.OnReceive (IAsyncResult ar) [0x00000] in <filename unknown>:0 ^M
  ^M
  Application is terminating: True^M
2011-11-06 15:05:19 +01:00
Melanie
bd10d14bbd Fix build break 2011-11-05 23:12:00 +00:00
Melanie
bbbcdaa462 Remove spammy autopilot debug 2011-11-05 22:54:47 +00:00
Melanie
01b6a4b62e Remove some left over debug and reverse experimental reordering of ifs 2011-11-05 22:46:45 +00:00
Melanie
4d3926694d Remove enableprejump config option and associated code as this is now
fully functional and cannot be disabled because that would break timings.
2011-11-05 22:43:45 +00:00
Melanie
71388fc02a Porting the ScenePresenceAnimator from Avination. Jump and fall anims now work
properly.
2011-11-05 22:41:00 +00:00
Melanie
ac3254a5f5 Change puvlic m_ variable to a getter property 2011-11-05 21:43:35 +00:00
Melanie
2dc452b4a7 ScenePresence part of the Avination animator fixes. 2011-11-05 21:41:16 +00:00
Melanie
b6df9e9fe4 Chnaging the sit target adjustment to a more precise approximation of SL. Some small
fixes ported from Avination. Some white space fixes.
2011-11-05 21:24:36 +00:00
nebadon
e8a8e462ed add myself to the contributors.txt 2011-11-05 03:03:57 -07:00
nebadon
e182cc198d Fix avatar height, removes the hip offset hack
Author: Mana Janus <mana@mjm-labs.com>
2011-11-05 02:56:52 -07:00
nebadon
4797ed6edd Multiple lines in welcome message use '\n' in the welcome message to
start a new line.
2011-11-05 02:42:21 -07:00
nebadon
f0d2fcfbe9 add Mana Janus and SpotOn3D to contributors.txt last patch was courtesy
of Mana Janus I failed to mention that, sorry!
2011-11-05 02:35:19 -07:00
nebadon
e3885625a0 Don't rotate child prims, if only the root prim is rotated. 2011-11-05 02:26:25 -07:00
Justin Clark-Casey (justincc)
cfce2529ad refactor: In sit code, compare against Vector3.Zero and Quaternion.Identity instead of individual components of a vector/quat 2011-11-05 02:04:48 +00:00
Justin Clark-Casey (justincc)
8105794121 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-05 01:42:20 +00:00
Justin Clark-Casey (justincc)
28c4dc9be4 Fix NPC sitting for prims without a sit target.
This is to partially address http://opensimulator.org/mantis/view.php?id=5769
We don't need to call SP.HandleAgentSit() again if we are within 10m since the autopilot won't trigger.
By calling it twice, the position of the sitting NPC was wrongly adjusted, ending up near <0,0,0>.
However, this change does mean that NPCs further than 10m away will not attempt to autopilot to the prim, though this code was broken anyway (is actually a different mechanism to normal NPC movmeent).
Hopefully this can be addressed soon.
2011-11-05 01:38:42 +00:00
Melanie
b199aad037 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-05 00:11:10 +00:00
Melanie
c803ed28c3 Replacing te linking code with the code from Avination. Link sets prims are now
numbered properly even when sets are linked to sets.
2011-11-05 00:09:37 +00:00
Justin Clark-Casey (justincc)
f7b8c54c24 Add comment for experimental effect of removing the Thread.Sleep(20) in ODEPrim.changevelocity() 2011-11-04 23:43:17 +00:00
Justin Clark-Casey (justincc)
d7815ace4a On standup, trigger the changed link script event after the avatar has been fully changed.
This was meant to help with the script in http://opensimulator.org/mantis/view.php?id=5772 but it doesn't work.
Probably the event is fired before the physics actor has been set up again for the stood avatar.
Fixing that would be much more complicated, but processing the event last of all seems like a good idea in any case.
2011-11-04 23:24:22 +00:00
Justin Clark-Casey (justincc)
ccca6ba935 Stop llPushObject() from causing problems by adding force via a taint rather than directly.
This isn't a perfect solution since there can be a race between the taint processing and taint setting, as force needs to be reset after processing.
Needs careful locking in the future.
2011-11-04 23:12:01 +00:00
Dan Lake
b8d50b10fb Rename ForEachAvatar back to ForEachScenePresence. The other changes
from previous commit which sort out which iterator is used are left
intact. A discussion is needed as to what constitutes an avatar vs a
ScenePresence.
2011-11-03 17:53:51 -07:00
Dan Lake
94dc7d07eb Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls to
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:

ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar

There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
2011-11-03 17:06:08 -07:00
Justin Clark-Casey (justincc)
69a4057135 remove the pointless check of the face texture struct against null in Bot.Objects_NewPrim() 2011-11-03 22:52:14 +00:00
Justin Clark-Casey (justincc)
e4bdf1e78f actually remove the sleep from PhysicsBehaviour that I shifted to Bot a couple of commits ago 2011-11-03 22:50:40 +00:00
Justin Clark-Casey (justincc)
f26fdbd8da Rename PhysicsBot => Bot since it doesn't just exercise physics anymore 2011-11-03 22:39:06 +00:00
Justin Clark-Casey (justincc)
ca2c25ece2 Move one of the old physics sleeps out into the main bot loop, so leaving out PhysicsBehaviour doesn't result in continuous other behaviours 2011-11-03 22:35:21 +00:00
Justin Clark-Casey (justincc)
5a67940acc Add click/grab behaviour to pCampbot, which gets bots to randomly click things.
This can be specified on pCampbot.exe by using g in the list of behaviours for the new -behaviours,-b switch
e.g. -b p,g to get both existing physics and grabbing behaviours.
grabbing is primitive, it attempts grabs on random prims whether they're actually signalled as clickable or not.
behaviour is currently primitive overall, behaviours are just executed in a list
2011-11-03 22:31:31 +00:00
Justin Clark-Casey (justincc)
3ea379e4cd Move PhysicsBehaviour into a spearate behaviours folder 2011-11-03 21:25:27 +00:00
Justin Clark-Casey (justincc)
66c60c56a0 Separate out physics testing actions into a separate PhysicsBehaviour class 2011-11-03 21:16:24 +00:00
Justin Clark-Casey (justincc)
a62ccb5c4c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-03 20:12:10 +00:00
Mic Bowman
40a1eddfd1 Drop the CopyTo parameter from Int32.MaxValue to 4096. This is a buffer size
not a target size. Mono 2.10 appears to try to allocate the full buffer which
immediately crashes. Tested on mono 2.6.7 and 2.10.5
2011-11-02 18:55:54 -07:00
Melanie
6b4ae4f30c Revert "fix CopyTo call that was breaking under mono 2.10"
This reverts commit d30971fdc2.
2011-11-03 00:23:32 +00:00
Mic Bowman
99a347ee11 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-02 17:11:10 -07:00
Mic Bowman
d30971fdc2 fix CopyTo call that was breaking under mono 2.10 2011-11-02 17:10:59 -07:00
Melanie
e746840226 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-11-02 23:51:48 +00:00
Melanie
08fcf958c2 Port the Avination offline messaging system to Core 2011-11-02 23:50:47 +00:00
Dan Lake
a724ebacd7 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-11-02 14:59:34 -07:00
Dan Lake
e2c51a977d Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.
UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are
using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on
SOP consistently now. Also started working toward eliminating those
calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule
from outside SOP in favor of just setting properties on SOP and let SOP
decide if an update should be scheduled. This consolidates the update
policy within SOP and the client rather than everywhere that makes
changes to SOP. Some places forget to call update while others call it
multiple times, "just to be sure".

UpdateFlag and Schedule*Update will both be made private shortly.

UpdateFlag is intended to be transient and internal to SOP so it has
been removed from XML serializer for SOPs.
2011-11-02 14:59:00 -07:00
Justin Clark-Casey (justincc)
59232a6ea8 Change default say distance to 20m from 30m, the same as on the big grid. This is to improve the migration of scripts that expect a 20m say distance.
If you want to keep a 30m say distance then please set this as the say_distance parameter in the [Chat] section of OpenSim.ini.
2011-11-02 20:05:31 +00:00
Justin Clark-Casey (justincc)
72923134e9 Get some hopefully more useful exception information when OpenJPEG.EncodeFromImage() fails in VectorRender and DynamicTexture modules 2011-11-02 18:40:49 +00:00
Justin Clark-Casey (justincc)
03993d0b14 Fix race condition that would sometimes send or save appearance for the wrong avatar.
In AvatarFactoryModule.HandleAppearanceUpdateTimer(), we loop through appearance save and send requests and dispatch via a FireAndForget thread.
If there was more than one request in the save or send queue, then this led to a subtle race condition where the foreach loop would load in the next KeyValuePair before the thread was dispatched.
This gave the thread the wrong avatar ID, leaving some avatar appearance cloudy since appearance data was never sent.
This change loads the fields into local references so that this doesn't happen.
2011-11-02 18:25:03 +00:00
Justin Clark-Casey (justincc)
b6873a7b5d Catch any exceptions exiting the top of the robust console, as we already do for the main simulator.
This prevents issues such as transient mono console problems from crashing the server.
2011-11-02 13:16:02 +00:00
Melanie
c5fb39e21f Restore the recursive calling of PRIM_LINK_TARGET because the version I made
breaks LINK_SET et al.
2011-11-02 12:09:18 +00:00
Melanie
1b9ae3fb51 Some positioning fixes from AVN trunk 2011-11-02 12:02:44 +00:00
Melanie
b9e700b60d Streamline PRIM_LINK_TARGET, eliminating a recursion and a failure scenario 2011-11-02 11:43:16 +00:00
Dan Lake
7c8bfac11b Removed redundant SceneContents property from Scene. It's the same as SceneGraph property. 2011-11-01 17:20:12 -07:00
Dan Lake
3bead3eb50 Part 2 of see_into_this_sim_from_neighbor configuration option removal 2011-11-01 17:11:43 -07:00
Dan Lake
4b58d4ff95 Removed see_into_this_sim_from_neighbor configuration option. 2011-11-01 16:51:14 -07:00
Justin Clark-Casey (justincc)
9456a540c5 Add "appearance send" command to allow manual sending of appearance. 2011-11-01 23:23:45 +00:00
Justin Clark-Casey (justincc)
8e2e4c47d9 Add "show status" command to pCambot 2011-11-01 22:09:21 +00:00
Justin Clark-Casey (justincc)
40750b44a0 Listen only for non SimShutdown Network.Disconnect firing so that we don't quite the program before all bots have actually logged off. 2011-11-01 21:47:14 +00:00
Justin Clark-Casey (justincc)
53f3b76a84 get rid of unused m_verbose field 2011-11-01 21:18:28 +00:00
Justin Clark-Casey (justincc)
12bd0ebd34 stop recording the threads on which we happen to start bots. These are pointless since they terminate quickly 2011-11-01 21:15:47 +00:00
Justin Clark-Casey (justincc)
9ef5107157 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-11-01 21:02:03 +00:00
Justin Clark-Casey (justincc)
87ec8a4ecb Retain a reference to an action thread rather than starting an infinite loop via a timer, so that we can actually abort the action thread on shutdown 2011-11-01 18:36:29 +00:00
Dan Lake
9d214d4903 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-10-31 16:42:50 -07:00
Dan Lake
3c55f3015f Removed unused show commands from Scene.cs and SceneBase.cs. The show modules command in OpenSim.cs now shows both shared modules and region modules. 2011-10-31 16:42:28 -07:00
Justin Clark-Casey (justincc)
b951c7fb1e Make bots share a cache so that asset downloads attempts are only made once instead of once for each bot 2011-10-31 23:22:55 +00:00
Justin Clark-Casey (justincc)
210868a832 Remove OpenSim.TestSuite
Hasn't been touched since 2009 and wasn't more than another copy of pCampBot
2011-10-31 23:10:10 +00:00
Justin Clark-Casey (justincc)
d366a08ebb Stop individual bots attempting to download the same asset more than once 2011-10-31 22:52:49 +00:00
Justin Clark-Casey (justincc)
0c6509098a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-31 22:27:35 +00:00
Justin Clark-Casey (justincc)
43e07efbc8 Fix bot disconnection 2011-10-31 22:27:12 +00:00
Dan Lake
3a2dcc7298 Merge branch 'master' of git://opensimulator.org/git/opensim 2011-10-31 15:21:39 -07:00
Dan Lake
d3153f47fa Adding green dots to map response should be for root agents only 2011-10-31 15:20:57 -07:00
Justin Clark-Casey (justincc)
b1647f6d04 adjust pCampbot so it starts up bots with the name format "<firstname> <lastname>_<bot-number>"
e.g. starting up two bots called "Ima Bot" will give them the names "Ima Bot_0" and "Ima Bot_1"
This is necessary since bots with random names can no longer be created, as there's no easy way to turn off account authentication
2011-10-31 22:14:49 +00:00
Justin Clark-Casey (justincc)
74cc834fec Remove unused PumaCode.SvnDotNet library 2011-10-31 21:37:35 +00:00
Justin Clark-Casey (justincc)
e3f51df3c2 Stop pCampbot from firing connected event twice, which results in double counting. 2011-10-31 21:33:25 +00:00
Melanie
a9a24062a5 Plug a security hole in the inventory service 2011-10-31 11:11:36 +00:00
Dan Lake
14646f2524 Fix line endings 2011-10-30 23:43:17 -07:00
Dan Lake
a85ff884d9 Experimental reorder of Heartbeat loop now simulates physics and sends updates to clients prior to sleep. Existing behavior was to sleep BEFORE sending updates. We found this patch reduced latency to clients by 1-2 heartbeat periods. 2011-10-30 23:39:39 -07:00
Justin Clark-Casey (justincc)
9bdf118e0d Add missing max_listens_per_region to [LL_Functions] config section in OpenSimDefaults.ini + explanation.
This setting controls the maximum number of listeners in a region
2011-10-29 02:45:50 +01:00
Justin Clark-Casey (justincc)
6d97545b6b Remove the SyncRoot locking from Scene which was only being done around the main physics loop and ScenePresence position and velocity setting
This is no longer necessary with ODECharacter taints (ODEPrim was already not taking part in this).  BSCharacter was already tainting.
2011-10-29 02:42:53 +01:00
Justin Clark-Casey (justincc)
9fdd1753fa Add taint target velocity for ODECharacters as is already done for ODECharacter position and position and velocity for ODEPrims.
This is to help stop surprises if the velocity is set in the middle of physics calculations, though this probably isn't a huge problem.
It's more for consistency and for the next step of removing some scene locks
2011-10-29 02:30:33 +01:00
Justin Clark-Casey (justincc)
ef8370fb8e tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment directly where possible, instead of transferring X, Y and Z components separately
some of this is probably a hold over from using ODE.Vector3, which is still necessary in some places.
2011-10-29 02:07:28 +01:00
Justin Clark-Casey (justincc)
a5ea9f8830 Move position set from taint to logically better position at top of ODECharacter.ProcessTaints() though this makes no practical difference 2011-10-29 01:46:22 +01:00
Justin Clark-Casey (justincc)
5ae8de3c00 Stop setting _position as well as m_taint_position in ODECharacter.Position
setting position at the same time as taint appears to undermine the whole purpose of taint
testing doesn't reveal any obvious regressions in doing this
2011-10-29 01:39:48 +01:00
Justin Clark-Casey (justincc)
61e97ee4c8 Remove completely unused SOG.Rotation parameter
We always use SOP.Rotation instead
2011-10-29 00:39:01 +01:00
Justin Clark-Casey (justincc)
c2da1c4580 set grp.RootPart.GroupPosition for code consistency (and readability) rather than calling SOP.OffsetForNewRegion 2011-10-28 23:43:31 +01:00
Justin Clark-Casey (justincc)
9bf8c3e7b7 Add missing doc to rotation/position methods in SOG 2011-10-28 23:38:57 +01:00
Justin Clark-Casey (justincc)
0fe756e42c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-28 23:16:46 +01:00
Justin Clark-Casey (justincc)
7b46506822 fetch SOP.RotationOffset once in UpdateRotation() and compare rather than fetch four separate times.
No functional change.
2011-10-28 23:15:51 +01:00
Dan Lake
272bf71279 Removed use of 'is' operator and casting to find the root ScenePresence in MessageTransfer modules and Groups module. 2011-10-27 02:26:37 -07:00
Dan Lake
06577d7299 Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence. 2011-10-27 01:25:12 -07:00
Dan Lake
b98613091c Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors. 2011-10-27 00:42:21 -07:00
Justin Clark-Casey (justincc)
40bee97015 For now, comment out error message on new script engine console commands.
This causes false positives if a simulator has more than 1 region and the current region is 'root' since this sends the command separately to each region and each region has its own XEngine
2011-10-27 03:01:27 +01:00
Justin Clark-Casey (justincc)
76c50d23f2 Comment out inventory folder bulk update code on InventoryAccepted message introduced in commit db91044 on Aug 22 2011
This should be unecessary since the folder update is already made at the time of the offer (and moved to trash if not accepted).
This code was also not taking into account the situation where an item was accepted.
Needs more fixing if this results in an aggression elsewhere.
2011-10-27 02:56:08 +01:00
Justin Clark-Casey (justincc)
e210d95821 Don't blow our brains out if LLClientView.BulkInventoryUpdate() is wrongly passed a null node reference.
Addresses worst aspect of http://opensimulator.org/mantis/view.php?id=5752
2011-10-27 02:50:58 +01:00
Justin Clark-Casey (justincc)
2db6a8ce8f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-27 02:06:59 +01:00
Justin Clark-Casey (justincc)
820242bc49 Fix a bug I introduced yesterday in ODE physics where prim scripts would only receive the very first collision. 2011-10-27 02:05:59 +01:00
BlueWall
4a472b74c7 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-10-26 10:38:21 -04:00
Michelle Argus
41395d5443 Added optional owner classes to existing OSSL agent Permissions
PARCEL_GROUP, PARCEL_OWNER, ESTATE_MANAGER and REGION_OWNER can be combined with the existing agent uuid option to limit ossl functions to agents and owner classes.

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 10:35:50 -04:00
BlueWall
ae8786ea6b Merge branch 'master' of /home/opensim/src/OpenSim 2011-10-26 08:48:46 -04:00
SignpostMarv Martin
9a28e7a4e0 Implementation of PRIM_OMEGA, but only for setting
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 08:41:07 -04:00
BlueWall
66bdd20628 Add some things to .gitignore to make the status cleaner 2011-10-26 08:33:17 -04:00
SignpostMarv Martin
059f4b6a3a Implementing PRIM_LINK_TARGET, but only for setting params
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-10-26 07:47:44 -04:00
Justin Clark-Casey (justincc)
c275c22928 Restart the event queue worker threads that I accidentally disabled earlier today in 8a0a78c.
Also adds these to the watchdogs with very large timeouts (should really be infinite)
2011-10-25 23:26:21 +01:00
Justin Clark-Casey (justincc)
182908d216 In Watchdog, add ability to specific timeout for a thread.
This also changes the point of registration to the StartThread() call rather than the first Update()
2011-10-25 23:16:01 +01:00
Justin Clark-Casey (justincc)
e549f2f443 Add m_threads dictionary locking to Watchdog.GetThreads() 2011-10-25 22:51:23 +01:00
Justin Clark-Casey (justincc)
6a74a4c12b Clear OdeCharacter CollisionEventUpdate when we subscribe or unsubscribe from collision events 2011-10-25 22:46:42 +01:00
Justin Clark-Casey (justincc)
0f83f87233 Remove unused fields from CollisionEventUpdate 2011-10-25 22:39:08 +01:00
Justin Clark-Casey (justincc)
c825c9a945 Get rid of the pointless null checks on collision listeners. Add warning about synchronicity for PhysicsActor.OnCollisionUpdate event doc 2011-10-25 22:35:00 +01:00
Justin Clark-Casey (justincc)
b9f106f484 When sending object collision updates, don't null out and recreate the CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead. 2011-10-25 22:28:40 +01:00
Justin Clark-Casey (justincc)
5d37f0471e For ScenePresence collision events, instead of creating a new CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead.
This assumes that the listener is using the data synchronously, which is currently the case.
2011-10-25 22:19:17 +01:00
Justin Clark-Casey (justincc)
7b6b36cee9 Fix bug where collision event listeners were not removed once the listener had gone away.
This was causing continuous use of temporary memory even when all avatars had left the scene.
Memory does leak but it does cause more calls to the garbage collector, which would pause the scene thread for a very short while during collection.
2011-10-25 21:40:51 +01:00
Justin Clark-Casey (justincc)
1fbb379536 minor: rename a parameter in OdeScene.Simulate() from actor -> prim since it's an OdePrim 2011-10-25 21:15:37 +01:00
Justin Clark-Casey (justincc)
ee4c4e5058 Add new LindenCaps test dll to panda run as well as "nant test" 2011-10-25 21:03:41 +01:00
Justin Clark-Casey (justincc)
a4d4f54848 minor: add "threads show" as synonym for "show threads" for consistency 2011-10-25 20:59:27 +01:00
Justin Clark-Casey (justincc)
968cae6c17 Add "threads abort <thread-id>" simulator console command that allows us to abort a watchdog managed thread.
This is for diagnostic purposes.
2011-10-25 20:49:46 +01:00
Justin Clark-Casey (justincc)
8a0a78cbcc Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead of the other way around.
This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes.
Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers
Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer
MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this.  This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
2011-10-25 20:24:21 +01:00
Justin Clark-Casey (justincc)
e14cb45b9b Drop some unnecessary ContainsKey() checking before Remove() in BaseHttpServer()
Remove() presumably does this check anyway since it just returns false if the key is not in the collection.
2011-10-24 23:26:41 +01:00
Justin Clark-Casey (justincc)
9ec672c70b Fix bugs in EventQueueGetModule.ClientClosed() and BaseHttpServer.RemovePollServerHTTPHandler() that stopped existing code in ClientClosed() from actually tearing down the poll handler
Actually doing the tear down appear to have no ill effects with region crossing and teleport.
2011-10-24 23:16:03 +01:00
Justin Clark-Casey (justincc)
79d5bc9beb separate out future common setup code from EventQueueTests.AddForClient() 2011-10-24 22:29:13 +01:00
Justin Clark-Casey (justincc)
48295793b0 re-enable running linden udp tests in local.include, though no tests are currently active there 2011-10-24 22:25:38 +01:00
Justin Clark-Casey (justincc)
e28e2d24c7 Add new EventQueueTests with basic test to check that adding a client registers an http poll 2011-10-24 22:23:41 +01:00
Justin Clark-Casey (justincc)
4c9400e646 Add optional getauthinfo and setauthinfo authentication service calls.
These are disabled by default, as before.  Please only turn these on in secure grids, since they allow the same facilities as the existing SetPassword call (also disabled by default)
These facilities can be helpful when integrating external systems, in addition to the existing option of adapting an IAuthenticationService or using WebLoginKey
2011-10-24 21:40:36 +01:00
Justin Clark-Casey (justincc)
b868328d51 Comment out the uuid gatherer lines that I accidentally left in. 2011-10-23 03:14:32 +01:00
Pixel Tomsen
c2272a755f Fix missing Busy-Mode Response
http://opensimulator.org/mantis/view.php?id=5748
2011-10-22 13:17:07 -04:00
BlueWall
3fc47275cf Add case to Lightshare/Windlight
Thanks thomax for a patch to add handling for Sun/Moon pos.
2011-10-22 13:06:34 -04:00
Justin Clark-Casey (justincc)
655aee44c4 Rename some of the example commented out server names to mygridserver.com like all the others.
This is to make it easier to change all these names at once, where all grids services are running from the same location.
Also rearranges some lines in [Modules] so that StandaloneCommon.ini.example and GridCommon.ini.exmaple are consistent.
2011-10-22 02:51:41 +01:00
Justin Clark-Casey (justincc)
229ca09b79 Make config comments about choosing assetcache modules clearer.
OpenSim needs an asset cache.  Running without one will cause problems.
Thanks to Ai Austin for the suggestions in http://opensimulator.org/mantis/view.php?id=4850
2011-10-22 02:47:53 +01:00
Justin Clark-Casey (justincc)
ffdf59a57c Get UUIDGatherer to scan notecards in the graph for asset uuids.
This is to support npc baked texture saving in oars and iars.
May address http://opensimulator.org/mantis/view.php?id=5743
2011-10-22 02:16:46 +01:00
Justin Clark-Casey (justincc)
30320505fa redirect UserInventoryHelpers to use a different CreateNotecardAsset() so we can comment out some inconsistency 2011-10-22 00:58:56 +01:00
Justin Clark-Casey (justincc)
bc2da4eaad correct misleading method doc on CreateNotecardAsset() 2011-10-22 00:55:50 +01:00
Justin Clark-Casey (justincc)
c4f8da7359 in AssetHelpers, store the actual text passed in to the method, not the string "data" 2011-10-22 00:45:47 +01:00
Justin Clark-Casey (justincc)
5d7eaedbeb encode notecard assets in proper format for tests, rather than just using whatever string is given 2011-10-22 00:21:45 +01:00
Justin Clark-Casey (justincc)
9b3bbedeea refactor: rename some AssetHelpers.CreateAsset() methods to CreateNotecardAsset() 2011-10-22 00:13:46 +01:00
Michelle Argus
a1f05a289d RemoteAdmin - Added optional terrain loading on region create using parameter heightmap_file to specify the terrain file to be loaded 2011-10-21 23:12:01 +01:00
Justin Clark-Casey (justincc)
4241ee5dfa very minor removal of old commented out line of code in OdeScene 2011-10-21 00:04:36 +01:00
Justin Clark-Casey (justincc)
30fe66d3ab remove unnecessary null check on _collisionEventPrim 2011-10-20 20:58:29 +01:00
Justin Clark-Casey (justincc)
9c43020876 Get OdeScene to use passed in time step rather than hard-coded 0.089
However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
2011-10-20 20:48:51 +01:00
Justin Clark-Casey (justincc)
6837e44d07 Pass PhysicsScene.Simulate() only the MinFrameTime rather than the useless Math.Max(SinceLastFrame.TotalSeconds, MinFrameTime)
SinceLastFrame was calculating the interval between any sleep that had occurred to pad out the frame time and the start of the next frame.
This would usually be below MinFrameTime but occasionally if the sleep was long it would be above, often due to the time required to update the watchdog.
This doesn't appear to play much practical role right now.
ODE was actually ignoring it entirely.  Bullet might be helped slightly by receiving a non-varying value.
2011-10-20 19:44:59 +01:00
Justin Clark-Casey (justincc)
b63ec987b0 For now, stop passing timeStep into methods where it's not actually used. 2011-10-20 17:54:32 +01:00
Justin Clark-Casey (justincc)
f16d125027 Change wording on asset requests.
Not all 'notified missing' assets are a problem.  Some are invalid references which happen to be buried in other text.
2011-10-19 23:56:17 +01:00
Dan Lake
9ab2943abf Removed redundant NotInTransit function from ScenePresence. IsInTransit=false does the same thing and NotInTransit was not used anywhere. 2011-10-19 15:50:09 -07:00
Dan Lake
eac29396d9 Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line endings from previous commit. 2011-10-19 15:38:25 -07:00
Dan Lake
8b20faf06c Merge branch 'master' of git://opensimulator.org/git/opensim 2011-10-19 14:43:16 -07:00
Dan Lake
da794f34a5 Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of scene presence by client ID. 2011-10-19 14:41:44 -07:00
Justin Clark-Casey (justincc)
601dabb1b7 Extend scripts stop/start/suspend/resume console commands to allow action on a single script by giving the script item id (which can be found via scripts show).
Not an ideal way to do this on a region with many scripts.  Needs refinement later.
2011-10-19 22:30:31 +01:00
Justin Clark-Casey (justincc)
32c3faedd6 Add "scripts stop" and "scripts start" console commands.
These will stop all running scripts and start all stopped scripts respectively.
A stopped script does not save any events for later processing.
2011-10-19 21:40:28 +01:00
Justin Clark-Casey (justincc)
f836710af5 minor: improve command help on scripts suspend/resume 2011-10-19 21:34:55 +01:00
Justin Clark-Casey (justincc)
5607fd3af8 Fix resume scripts.
On resume, we need to place requeue the script for event processing if there are any events on the queue.
Also need to do this under m_Script lock in order to avoid a race
2011-10-19 21:30:37 +01:00
Justin Clark-Casey (justincc)
3cf7fb4eca Add "scripts suspend" and "scripts resume" commands.
These aim currently to suspend and resume all scripts.
However, resume isn't currently working due to what looks like a bug in resume functionality itself.
2011-10-19 20:53:24 +01:00
Justin Clark-Casey (justincc)
b45219065c on log and "show scripts" messages, show script item UUID rather than asset UUID
The item ID is the one required for any script manipulation on the command line, so I think it's somewhat more useful to show this bearing in mind the limited space available
2011-10-19 20:26:05 +01:00
Justin Clark-Casey (justincc)
116fbe8258 add current script status to "scripts show" command (running, suspended, etc.) 2011-10-19 20:24:07 +01:00
Justin Clark-Casey (justincc)
ecad9f9fd5 Add "show scripts" command to show all scripts currently known to the script engine in the current region.
Also added synonym of "scripts show"
2011-10-19 20:09:02 +01:00
Justin Clark-Casey (justincc)
d9184eceab Add option to allow remote http calls to setpassword in the AuthenticationService.
This is switched on by setting AllowSetPassword = true in the [AuthenticationService] section of Robust.ini or Robust.HG.ini
Default is false as before.
2011-10-19 19:03:17 +01:00
Justin Clark-Casey (justincc)
fe484ab331 Slightly change log message in LoadRegionsPlugin 2011-10-19 01:22:07 +01:00
Pixel Tomsen
178b8d0926 Region-UUID - can not be zero-uuid
http://opensimulator.org/mantis/view.php?id=3426
2011-10-19 01:19:21 +01:00
Justin Clark-Casey (justincc)
4cffdf15ba Make ScopeID optional for http GetAccount and GetAccounts
If not specified then it assumes UUID.Zero. as occurs elsewhere in the codebase
2011-10-19 00:34:54 +01:00
Justin Clark-Casey (justincc)
9f171041c9 Make PrincipalID a synonym for UserID in GetUserAccount 2011-10-19 00:23:06 +01:00
Justin Clark-Casey (justincc)
97c66f8eac Get new NewUser and SetUserAccount calls to accept PrincipalID instead of UserID for consistency with output 2011-10-19 00:16:53 +01:00
Justin Clark-Casey (justincc)
9d59b285bb Allow an http call to set account details if AllowSetAccount = true in [UserAccountService].
As before, default is false to not allow these calls.
2011-10-19 00:06:40 +01:00
Justin Clark-Casey (justincc)
c85a780583 Provide an option to allow remote calls to the CreateUser method on the UserAccountService
Default is false, as before.
Enabling AllowCreateUser in [UserAccountService] for ROBUST allows avatars to be created via an http call, with viewer 2 appropriate bits and pieces.
Only Ruths can be created at present.
Please don't rely on the config since at some point CreateUser will be moved to a separate co-ordinating service.
2011-10-18 22:51:40 +01:00
Justin Clark-Casey (justincc)
581885da75 Temporarily put in log lines to record time taken to set terrain in OdeScene. 2011-10-18 21:21:15 +01:00
Justin Clark-Casey (justincc)
03202ada29 Store scene identifier passed in to OdeScene for later debug messages 2011-10-18 21:11:13 +01:00
Justin Clark-Casey (justincc)
1d4cd76e8a Don't bother taking OdeLock during OdeScene construction, since there can be no contention until the object is constructed. 2011-10-18 21:03:41 +01:00
Justin Clark-Casey (justincc)
f10a824e47 Remove unnecessary lock of OdeLock in OdePrim.changeadd()
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.
2011-10-18 20:58:59 +01:00
Justin Clark-Casey (justincc)
5515c45e3b minor: method doc to explain a lock of OdeLock 2011-10-18 20:56:11 +01:00
Justin Clark-Casey (justincc)
71d221cdc0 Remove the unused CollisionLocker from ODE
Despite its name, this wasn't actually being used in any collision checking
2011-10-18 17:35:58 +01:00
Justin Clark-Casey (justincc)
352002fd0b Set enable_adaptive_throttles = true in OpenSimDefaults.ini
As discussed in http://lists.berlios.de/pipermail/opensim-dev/2011-October/010599.html and the preceeding thread mails,
the aim of this setting is to avoid overloading the viewer UDP connection where the client is failing to ack packets.
Please mantis any anomalous viewer connection behaviour which wasn't there before.
2011-10-17 22:11:56 +01:00
Justin Clark-Casey (justincc)
aeb4ff0274 Allow an avatar to be explicitly named to the "debug packet" command 2011-10-17 20:58:23 +01:00
Justin Clark-Casey (justincc)
120114e96b refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter without a getter 2011-10-17 20:50:29 +01:00
Justin Clark-Casey (justincc)
96ff2c63ed Add avatar names to debug packet output 2011-10-17 20:37:01 +01:00
Justin Clark-Casey (justincc)
62a63f834b refactor: Use SOP.SitTargetAvatar instead of calling a special GetAvatarOnSitTarget() which returned exactly the same thing 2011-10-17 02:04:20 +01:00
Justin Clark-Casey (justincc)
79c13cd997 rename OS_NPC_SIT_IMMEDIATE to OS_NPC_SIT_NOW since it's shorter and more understandable
This makes something like osNpcSit(npc, llGetKey(), OS_NPC_IMMEDIATE) now become
osNpcSit(npc, llGetKey(), OS_NPC_SIT_NOW);
This is why it's in development :)
2011-10-17 01:57:23 +01:00
Justin Clark-Casey (justincc)
de161585c0 Implement osNpcStand(<npc-id>)
Allows you to stand an NPC that has sat.
2011-10-17 01:56:25 +01:00
Justin Clark-Casey (justincc)
ddcb88ff53 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-17 01:45:41 +01:00
Justin Clark-Casey (justincc)
0c041ce12f Implement osNpcSit(). This is still in development so don't trust it
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE)
e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE);
At the moment, sit only succeeds if the part has a sit target set.
NPC immediately sits on the target even if miles away - they do not walk up to it.
This method is in development - it may change so please don't trust it yet.
Standing will follow shortly since that's kind of important once you're sitting :)
2011-10-17 01:42:31 +01:00
Diva Canto
730460169f Bug fix on the bug fix on UserAccountService.cs 2011-10-16 16:13:24 -07:00
Diva Canto
bbd0e68c06 Guard HGAssetService against uninitialized variables and null arguments. 2011-10-15 20:23:26 -07:00
Justin Clark-Casey (justincc)
b9930a6305 improve method doc on Scene.OtherRegionUp()
this is really just to trigger panda.
2011-10-15 03:17:58 +01:00
Justin Clark-Casey (justincc)
ddf54b5537 move see_into_this_sim_from_neighbor [Startup] flag parsing into Scene with the others 2011-10-15 03:03:05 +01:00
Justin Clark-Casey (justincc)
528cc8136e fetch physical_prim switch from [Startup] config from inside scene, as is done for most other scene config params 2011-10-15 02:54:43 +01:00
Justin Clark-Casey (justincc)
5ddefc2564 remove now redundant m_physical_prim flag from SOP.ApplyPhysics() 2011-10-15 02:47:27 +01:00
Justin Clark-Casey (justincc)
3843efe478 Restore [Startup] physical_prim flag which can stop any prims being subject to physics
This had stopped working.  However, at the moment it still allows the physics flag to be set even though this has no effect.  This needs to be fixed.
Default for this flag is true as previously.
2011-10-15 02:42:43 +01:00
Justin Clark-Casey (justincc)
f2889d7ce9 remove redundant PhysActor.IsPhysical call from SOP.UpdatePrimFlags() as its done immediately afterwards in DoPhysicsPropertyUpdate() 2011-10-15 02:12:46 +01:00
Justin Clark-Casey (justincc)
732e937379 refactor: Remove redundant code in SOP.UpdatePrimFlags() 2011-10-15 02:07:05 +01:00
Justin Clark-Casey (justincc)
c93c9ea072 factor common code out into SOP.RemoveFromPhysics() 2011-10-15 02:02:39 +01:00
Justin Clark-Casey (justincc)
978fb3d482 reduce access to ODECharacter methods to make code analysis easier. Eliminate redundant argument on ProcessTaints() 2011-10-15 01:41:39 +01:00
Justin Clark-Casey (justincc)
9cc2694776 restrict unnecessary access levels on ODEPrim fields/properties 2011-10-15 01:31:09 +01:00
Justin Clark-Casey (justincc)
f2132329a3 refactor: make methods that do not need to be public in ODE private or internal to aid code reading/analysis. Remove some unused method arguments 2011-10-15 01:20:40 +01:00
Justin Clark-Casey (justincc)
bea65b06a4 Add back the missing bin/addon-modules directory that I somehow managed to accidentally delete in 2fbc98f (Jul 7 2011) 2011-10-14 23:32:15 +01:00
Justin Clark-Casey (justincc)
03102864f0 change default ODE world_stepsize to 0.0178 from 0.02
This exactly fits five ODE steps in the default frame time (0.089).
This means that ODE execution time now matches the default minimum frame time.
This eliminates errors between distance travelled as calculated by ODE in clear air and simple extrapolation.
On the old values, ODE would actually do calculations over 0.1 seconds rather than 0.089.
This means that once the avatar is at top speed, no additional packets need to be sent for smooth movement, since no error develops between server and viewer.
This approach replaces the tweaks previously discussed on the opensim-dev mailing list
2011-10-14 21:11:00 +01:00
Justin Clark-Casey (justincc)
4bfc2f5cde Change hardcoded ODE total frame time to match the default total frame time (0.09375 -> 0.089).
No apparant ill effects - because the default stepsize is 0.2, there are still 5 physics steps per physics frame.
This is a precursor to using the elapsed value passed in (and now changeable in config).
2011-10-14 21:07:57 +01:00
Diva Canto
83c7b9b609 Bug fix -- Test User on first run standalone might not be created properly: let all instances of UserAccountService have all its service references properly initialized, and register console commands on only one. 2011-10-13 18:03:19 -07:00
Justin Clark-Casey (justincc)
aa19ccf65c refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it sends entity updates (including presence ones), not just prims. 2011-10-14 01:45:46 +01:00
Justin Clark-Casey (justincc)
77c65951e0 Extract NullPhysicsScene from PhysicsScene to improve code readability 2011-10-14 01:38:14 +01:00
Justin Clark-Casey (justincc)
ee84c0589c Don't execute rest of code in XEngine.RemoveRegion() and Close() if the module is disabled. 2011-10-14 01:06:43 +01:00
Justin Clark-Casey (justincc)
4e7d4330c2 Expose minimum frame time and update periods for experimentation.
Settings are at bottom of [Startup] in OpenSimDefaults.ini, override in OpenSim.ini to change
Defaults are the same as previously.
More information to come on opensim-dev shortly.
Feel free to tweak but if you do please don't expect any support unless feedback on certain tweaks is explicitly requested.
2011-10-13 23:47:37 +01:00
Justin Clark-Casey (justincc)
128d8dfd8b refactor: Put the frame update period when temporary objects are cleaned up in a field, like all the other update periods 2011-10-13 22:28:42 +01:00
Justin Clark-Casey (justincc)
fd274a6688 refactor: chain the two scene constructors together to eliminate more copypasta 2011-10-13 22:21:03 +01:00
Justin Clark-Casey (justincc)
a6fa15e8b6 Tie reported FPS correction factor into the minimum frame time rather than setting separately.
This makes reported FPS scale as required if min frame time changes
2011-10-13 22:07:55 +01:00
Justin Clark-Casey (justincc)
ceb326284e Move fps stat adjustment factor into field rather than hard-coded. 2011-10-13 21:55:51 +01:00
Justin Clark-Casey (justincc)
20da04fd0c More method doc and formatting changes. Makes DestroyOdeStructures() private 2011-10-13 21:42:24 +01:00
Justin Clark-Casey (justincc)
227db07f2f refactor: move 3x copy/pasted ode structure removal code in ODECharacter into a DestroyOdeStructures() method
also adds some method doc
2011-10-13 18:19:13 +01:00
Justin Clark-Casey (justincc)
f08664f422 remove some mono compiler warnings 2011-10-12 21:54:25 +01:00
Justin Clark-Casey (justincc)
631d5e16ef Get rid of some traces of the old pre-ROBUST grid architecture config 2011-10-12 21:51:34 +01:00
Justin Clark-Casey (justincc)
f5f7ca47ea Bring LindenUDP.Tests back from the dead. No tests are running.
Code drift means that most of this stuff doesn't compile but the structure is still useful.
2011-10-12 21:31:22 +01:00
Justin Clark-Casey (justincc)
ea7366ddc6 When shutting down XEngine, log how many scripts are being shutdown so the user knows why they are waiting. 2011-10-12 19:42:04 +01:00
Justin Clark-Casey (justincc)
c5826d589a minor: insert some commented out log lines which are a blunt but useful instrument to see packet expiry and received acks 2011-10-12 19:35:40 +01:00
Justin Clark-Casey (justincc)
36e73dbc9b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-12 19:24:03 +01:00
Justin Clark-Casey (justincc)
f9ffd2538f Improve some method doc for LLUDPClient, LLUDPServer and UnackedPacketCollection 2011-10-12 19:22:30 +01:00
Melanie
4b7b9e81f7 Make it possible to disable the HG linker. On non-HG systems it spits yellow
spam, so it should not load unless HG is desired.
2011-10-12 15:41:59 +01:00
Melanie
0faa8db0ef Update OpenSimDefaults.ini to make the prior state (Groups messaging enabled
by default) the config default. This way it will work for current cases while
allowing the use of other groups modules without config bloat.
2011-10-12 09:23:57 +01:00
Melanie
ca74088d94 Change default groups messaging module in hardcode to the empty string.
Modules should not assume thet they are the one and only, but only be
enabled when explicitly configured.
2011-10-12 09:21:46 +01:00
Justin Clark-Casey (justincc)
fe3594c5ea Start recording object updates per second statistic (analogue of agent updates per secod) and expose via monitoring module as ObjectUpdatePerSecondMonitor
A useful diagnostic to find out how object updates are burdening a scene
2011-10-11 22:17:05 +01:00
Justin Clark-Casey (justincc)
f138a2056e meaningless change to goose panda 2011-10-11 00:29:41 +01:00
Pixel Tomsen
28f549bd64 osSetParcelDetails - PARCEL_DETAILS_CLAIMDATE
this new flag set parcels claim date
value 0 for this flag set current unixstamp

http://opensimulator.org/mantis/view.php?id=5725
2011-10-11 00:13:26 +01:00
Justin Clark-Casey (justincc)
353e7ce873 Allow monitoring of stats by region name 2011-10-10 23:58:27 +01:00
Justin Clark-Casey (justincc)
62aad4c18f Add other region stats (total frame time, physics fps, etc.) currently missing from MonitorModule
Unlike the other 3 stats mechanisms, monitor data can be queried per individual region, which makes this useful.
This doesn't affect an of the existing monitored stats.
2011-10-10 23:48:53 +01:00
Justin Clark-Casey (justincc)
19096bd391 Convert getLastReportedSimFPS() and getLastReportedSimStats() into more idiomatic LastReportedSimFPS and LastReportedSimStats on SimStatsReporter 2011-10-10 22:23:42 +01:00
Justin Clark-Casey (justincc)
8114f895c2 Provide a way to turn the MonitorModule on and off
Default is currently on since this is the historical setting
2011-10-10 22:17:29 +01:00
Justin Clark-Casey (justincc)
2b290793ab refactor: have lsl and ossl interrogate scene.StatsReporter directly rather than going through scene
I know this goes against the law of demeter but I don't think it's that useful here and I'd rather get rid of nasty little wrapper methods
2011-10-10 21:54:08 +01:00
Justin Clark-Casey (justincc)
013bf2775f remove unused LastAssetID from DynamicTextureUpdaer 2011-10-10 15:19:23 +01:00
Justin Clark-Casey (justincc)
156385f48b Tweak to language of last commit in rejecting UUID.Zero in GridService.RegisterRegion()
Allowing regions with UUID.Zero causes problems elsewhere according to http://opensimulator.org/mantis/view.php?id=3426
It's probably a bad idea to allow these in any case.
2011-10-08 02:15:04 +01:00
Pixel Tomsen
a6c5e00c45 GridService - Region UUID can not be NULL
http://opensimulator.org/mantis/view.php?id=3426
2011-10-08 02:13:18 +01:00
Justin Clark-Casey (justincc)
29660fe175 Remove the inconsistently applied now pointless FailIfRemoteAdminDisabled() check on XMLRPC RemoteAdmin handlers.
If admin is disabled then the XMLRPC handlers are never registered, which means that they cannot be called anyway.
2011-10-08 02:00:36 +01:00
Justin Clark-Casey (justincc)
71d29decc8 replace List used by m_accessIP in RemoteAdminPlugin with the more efficient HashSet 2011-10-08 01:53:10 +01:00
Justin Clark-Casey (justincc)
5551542c28 Improve explanation of access_ip_addresses in [RemoteAdmin] to say that there are no restrictions if not set 2011-10-08 01:39:27 +01:00
Justin Clark-Casey (justincc)
4073cd6ced Add option to allow only explicitly listed IPs to access RemoteAdmin facilities.
Also adds password check to some functions where this was missing and fixes some parameter checking.
This is a patch from http://opensimulator.org/mantis/view.php?id=5715 with a few small unrelated spacing tweaks from me.
Thanks Michelle Argus.
2011-10-08 01:23:26 +01:00
Justin Clark-Casey (justincc)
ff80113534 Go back to lying that sim fps is 55 when it's actually locked at a maximum of 11.
We're been lying since 2008 so I'm sure another few years can't hurt.
To know the real fps, either divide sim fps by 5 and/or look at the frame time.
2011-10-08 00:15:15 +01:00
Justin Clark-Casey (justincc)
f8c06c6114 flip master version up to 0.7.3 2011-10-07 23:41:55 +01:00
Justin Clark-Casey (justincc)
b5e6209cfd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-07 21:44:45 +01:00
Justin Clark-Casey (justincc)
5bc6503ae1 Correct DeleteScriptsOnRestart to DeleteScriptsOnStartup in comments in OpenSim.ini.example 2011-10-07 21:43:52 +01:00
BlueWall
1c54817977 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-07 16:36:43 -04:00
BlueWall
a9b3ab0c85 Add note to docs
This method is used by externasl/3rd party management tools to
  create users and they depend on us to generate the UUID.
2011-10-07 16:34:33 -04:00
Justin Clark-Casey (justincc)
e3c522e211 Comment out [SCENE PRESENCE] SendAppearanceToAllOtherAgents: log message
As per earlier discussions with dslake
2011-10-07 20:51:26 +01:00
Dan Lake
4b46b7a5ad Fixed line endings from previous commit 2011-10-06 23:20:51 -07:00
Dan Lake
f26a966b8e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-06 22:50:03 -07:00
Dan Lake
4748c19bdb Refactored "known child region" in ScenePresence. There were 4 different
ways to access the list/dictionary of child regions and locking was
inconsistent. There are now public properties which enforce locks.
Callers are no longer required to create new copies of lists.
2011-10-06 22:47:33 -07:00
Justin Clark-Casey (justincc)
1f78dc6504 remove the pointless slashes on the end of the (5!) different server stat retrieval mechanisms.
Original request URLs that end with / will still work, but this will allow one to type /simstatus as well as /simstatus/
Can't do this with webstats yet since it does insane things to the path.
2011-10-07 00:30:35 +01:00
Justin Clark-Casey (justincc)
4c812884be Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-06 23:47:41 +01:00
Pixel Tomsen
95910f03d4 WebStats - Home Link Fix
http://opensimulator.org/mantis/view.php?id=4536
2011-10-06 22:30:24 +01:00
Dan Lake
9a16e76f51 Simplified IsInTransit property on ScenePresence and removed InTransit() which called IsInTransit=true which called m_inTransit=true. Also removed NotInTransit(). 2011-10-06 12:39:19 -07:00
Dan Lake
08f264d096 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2011-10-06 12:22:15 -07:00
Dan Lake
bd9ba904c3 Refactor ScenePresence so gets and sets are through properties. Added private sets when needed. Removed redundant code when methods replicated what the set already does 2011-10-06 12:19:31 -07:00
BlueWall
77b8fb0f86 Added back UserAccount that creates random UUID for new account.
This should fix recent issues with 3rd party apps that use the
old interface w/o breaking the new one.
2011-10-05 22:01:12 -04:00
Justin Clark-Casey (justincc)
ca83f99332 Instead of adding stat agentMS in all kinds of places, calculate it instead in the main Scene.Update() loop, like the other stats
Some of the places where agentMS was added were in separate threads launched by the update loop.  I don't believe this is correct, since such threads are no longer contributing to frame time.
Some of the places were also driven by client input rather than the scene loop.  I don't believe it's appropriate to add this kind of stuff to scene loop stats.
These changes hopefully have the nice affect of making the broken out frame stats actually add up to the total frame time
2011-10-06 00:45:25 +01:00
Justin Clark-Casey (justincc)
7fa1c979cf rename WebStatsModules.m_scene to m_scenes since it's a list of scenes, not a single one 2011-10-05 23:36:27 +01:00
Justin Clark-Casey (justincc)
8a8983b3d4 Add user ID to new estate user prompt, to make it clearer and consistent with the main create user prompts 2011-10-05 23:34:18 +01:00
Justin Clark-Casey (justincc)
604708fc96 Change WebStatsModule to check its config properly, instead of catching the ineviable NullReferenceException!
Also, tidy up spacing.
2011-10-05 23:31:53 +01:00
Justin Clark-Casey (justincc)
9090039324 Remove unused local variable i from OdeScene.Simulate() 2011-10-05 22:15:28 +01:00
Justin Clark-Casey (justincc)
7d033187d8 Make reported sim fps more accurate, in line with frame time ms
Also remove some unused fields and improve naming on others.
2011-10-05 22:08:56 +01:00
Dan Lake
3142982353 Removed redundant scene presence lookups in HGMessageTransferModule 2011-10-05 12:58:24 -07:00
Dan Lake
38d205502a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 16:59:35 -07:00
Dan Lake
146322eb34 Removed redundant IClientAPI calls from TreePopulatorModule. Removing tree objects already triggers objectkill packet to client. No need to send again. 2011-10-04 16:59:05 -07:00
Justin Clark-Casey (justincc)
9a49b3b519 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 23:53:30 +01:00
Justin Clark-Casey (justincc)
b907a66f39 When creating a new user on the comand line, give the option of allowing a UUID to be specified to override the randomly generated one.
This can be useful in some migration cases where recreating user accounts with known IDs will preserve region scene object ownership.
2011-10-04 23:48:35 +01:00
Mic Bowman
413e299045 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 15:44:22 -07:00
Mic Bowman
b229a72a5f Turn off keepalives when commands are specified 2011-10-04 15:43:41 -07:00
Justin Clark-Casey (justincc)
8a216dc1cc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-04 22:49:06 +01:00
Justin Clark-Casey (justincc)
f1986d54bb Clarify explanation of DeleteScriptsOnStartup switch in [XEngine]. 2011-10-04 22:48:28 +01:00
Dan Lake
92c88121c7 Removed all refs to IClientAPI from IAttachmentsModule. Separated client handlers for attachments to call public interface and rearranged module file into sections 2011-10-04 14:40:39 -07:00
Dan Lake
bfa405e6f7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-03 16:45:04 -07:00
Dan Lake
460946ad62 Removed redundant code in AttachmentsModule and simplified interfaces which converted back and forth between ScenePresence and IClientAPI. More to be done still. 2011-10-03 16:44:32 -07:00
Justin Clark-Casey (justincc)
c7d0d71666 trival tweak to trigger the continuous integration system 2011-10-04 00:37:02 +01:00
Pixel Tomsen
b98442dcec Animation-States Turning Left, Turning Right implemented/enabled
http://opensimulator.org/mantis/view.php?id=3036
2011-10-04 00:27:11 +01:00
Justin Clark-Casey (justincc)
a8af0a5ba8 Return NULL_KEY from llGetTexture if a non-existent face is indicated, rather than ""
As per http://wiki.secondlife.com/wiki/LlGetTexture
2011-10-04 00:15:48 +01:00
Justin Clark-Casey (justincc)
8a6e6866d9 For llGetTexture(), if the face texture asset is in the inventory, return the inventory name rather than the asset UUID
This is as per http://wiki.secondlife.com/wiki/LlGetTexture
Applied patch in http://opensimulator.org/mantis/view.php?id=4552 with an additional break statement if an inventory item is found to exit early.
Thanks Michelle Argus!
2011-10-04 00:07:52 +01:00
Justin Clark-Casey (justincc)
34026887fe Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-03 23:26:52 +01:00
Justin Clark-Casey (justincc)
37ae6451f9 Remove vestigal RegionStatus.SlaveScene.
This appears to be code clutter since the code that uses this has long gone.
2011-10-03 23:25:09 +01:00
Dan Lake
e77c919290 Remove usage of Linden packet types from inside Attachments Module and interface 2011-10-03 11:55:54 -07:00
Dan Lake
31125a5fd2 Add execute permission to runprebuild2010.bat 2011-10-03 11:16:48 -07:00
Justin Clark-Casey (justincc)
56dbab35e1 Remove unimplementated UpdateMovement() methods from SOG, SOP.
SP still has an implementation but this is now just a public method on SP rather than an abstract one in EntityBase.
No point making the code more complex until it actually needs to be,
2011-10-01 01:26:50 +01:00
Justin Clark-Casey (justincc)
42fe774ad1 Remove OpenSim.Region.Examples.SimpleModule
This module is more than 2 years old and at least some of the 'example' code it gives is now misleading.
Even the logs say it say some bits were broken where it was put in!
2011-10-01 01:21:20 +01:00
Pixel Tomsen
c7db3df344 llGetLinkKey, llGetLinkName Fix for sitting Avatar
when an avatar sits on a prim, we get now his key & name ;-)

http://opensimulator.org/mantis/view.php?id=4476
2011-10-01 00:41:47 +01:00
Justin Clark-Casey (justincc)
a1875ec760 Add ability to pass in the permissions option (perm) to save oar via RemoteAdmin
Applies patch in http://opensimulator.org/mantis/view.php?id=5686
Thanks Michelle Argus!
2011-10-01 00:19:09 +01:00
Justin Clark-Casey (justincc)
246443773a minor: remove clutter null check from pass in config to AvatarFactoryModule.Initialize()
This is never null
2011-10-01 00:15:30 +01:00
Justin Clark-Casey (justincc)
844b4f3a16 copy config information on allow/disallow individual os functions into OpenSim.ini.example
I this is generally useful rather than a 'default' setting
2011-09-30 23:55:02 +01:00
Justin Clark-Casey (justincc)
6d0978594d remove unused postgresql dll 2011-09-30 18:58:26 +01:00
Justin Clark-Casey (justincc)
e742cffe15 Add Enabled switch in new [Attachments] section in OpenSimDefaults.ini to allow attachments to be temporarily turned off.
This is for debugging purposes.  Defaults to Attachments Enabled
2011-09-30 01:19:22 +01:00
Pixel Tomsen
528fcede6c llAvatarOnLinkSitTarget Implementation
http://wiki.secondlife.com/wiki/LlAvatarOnLinkSitTarget
2011-09-29 01:08:05 +01:00
Justin Clark-Casey (justincc)
a3531dec1a Add en_US culture setting to the async delete to inventory thread, to avoid any issues with float serialization with machines set to non en_US locales.
Doing this to see if addresses inventory object deserialization problems in http://opensimulator.org/mantis/view.php?id=5708, though if it does I'm really surprised not to have seen it before now.
Really need to go through and systematically set the culture for every timer and change all BeginInvoke calls to FireAndForget instead.
But don't want to do something like that this close to a release.
2011-09-26 23:00:16 +01:00
Snoopy Pfeffer
2b2580e3a1 Fix for rezzing and derezzing HUDs (see Mantis #5406). From now on updates are only sent to affected clients. 2011-09-25 00:51:43 +02:00
Justin Clark-Casey (justincc)
8caf3ed49e Remove the unimplented "clear assets" command.
This was a bizarre relic of a bygone age that had no implementations.
If you're using and want to clear the flotsam asset cache then please use the existing "fcache clear" command
2011-09-24 02:22:47 +01:00
Kevin Houlihan
e789ab659c Removed uncalled region load method.
The method LoadRegionsPlugin.LoadRegionFromConfig was no longer being referenced from anywhere, so I removed it. It's function has apparently been taken on by the PostInitialise of that module.
2011-09-24 02:06:34 +01:00
Kevin Houlihan & Michelle Argus
39d7945efc Added a setting to [Startup] section of config that will allow the simulator to start up with no regions configured.
I added the boolean config setting "allow_regionless", defaulting to false. If set to true, opensim will start up ok if no region configurations are found in the specified region_info_source. It will not ask the user to create a region.
2011-09-24 01:59:02 +01:00
Justin Clark-Casey (justincc)
c14c4bc1ec Don't try and resolve user account for authorization if the agent has come in via hypergrid.
If a user account isn't available, this just passes on the name given by the agent instead.
I'm not sure this is particularly useful since I believe that agent names could be faked in this context - it might be no more useful than a viewer agent string.
In fact, there might even be an argument that passing on this name provides a false expectation of authenticity.  However, I will apply for now.
Patch applied from http://opensimulator.org/mantis/view.php?id=5696
Thanks Michelle Argus.
2011-09-24 01:39:37 +01:00
Justin Clark-Casey (justincc)
839c1cdcc4 Improve locking when access queue in EventQueueGetModule 2011-09-24 01:10:23 +01:00
Justin Clark-Casey (justincc)
5364607005 Clarify explanation of the "DeleteScriptsOnStartup" config switch and add this to OpenSim.ini.example since it's very useful if you're not updating OpenSim from source.
On reflection, "DeleteScriptsOnStartup" isn't a great name since it suggests real script deletion rather than compiled versions.
2011-09-24 00:22:23 +01:00
Justin Clark-Casey (justincc)
def74404f1 make distribution creating code to copy FlotsamCache.ini.example to FlotsamCache.ini 2011-09-24 00:18:32 +01:00
Justin Clark-Casey (justincc)
bec0cbe82b remove unused SOP.Create() method 2011-09-23 22:20:15 +01:00
Justin Clark-Casey (justincc)
ceb09cde4d Correct asset id of library default iris texture.
For this change to show up you will need to clear viewer cache.
2011-09-23 21:57:52 +01:00
Justin Clark-Casey (justincc)
c8304b7f84 Fix avatar parameter updating for viewer 3 and maybe 2.
When a slider parameter is changed, the viewer uploads a new shape (or other asset) and the item is updated to point to it.
Viewer 1 uploaded the data in the initial request itself, so the asset references was almost always correctly updated.
However, viewer 3/2 always uploads data in a subsequent xfer, which exposed a race condition where the viewer would make the item update before the asset had uploaded.
This commit shuffles the order of operations to avoid this race, the item is updated with the new asset id instead of the old one while the upload was still taking place.
A second race had to be fixed where avatar appearance would also be updated with the old asset id rather than the new one.
This was fixed by updating the avatar appearance ids when the appearance was actually saved, rather than when the wearables update was made.
2011-09-23 02:59:33 +01:00
Justin Clark-Casey (justincc)
41616cad09 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-22 01:11:19 +01:00
Justin Clark-Casey (justincc)
3ccb58c05c Fix failure to teleport when an agent is lured on the same sim (and probably in neighbouring sims) with HG lure active
It turns out that the HG lure module was setting up a pending lure when it intercepted the instant message on its way out to the target avatar.
However, an IM would only be sent if the user was remote, so it would not be set up for users on the same sim or in an immediate neighbour.
We fix this by adding the pending lure when the message goes out and ignoring a duplicate pending lure add if it goes to out via IM.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5690
2011-09-22 01:08:38 +01:00
Dan Lake
28a482a7ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-21 16:24:48 -07:00
Dan Lake
2c0bb8118d Commented out new debug statements in ScenePresence 2011-09-21 16:24:19 -07:00
Justin Clark-Casey (justincc)
d358125cac Reinstate option to land an npc when it reaches a target.
This is moved into ScenePresence for now as a general facility
2011-09-22 00:16:05 +01:00
Justin Clark-Casey (justincc)
241e07d006 Move code which handles NPC movement into Scene so that this can also be used by Autopilot coming from the client side.
I thought that I had implemented this but must have accidentally removed it.
Adds a regression test to detect if this happens again.
Temporarily disables automatic landing of NPC at a target.  Will be fixed presently.
2011-09-21 23:56:11 +01:00
Justin Clark-Casey (justincc)
f9438e7147 Remove unused and never set SP.PreviousRotation 2011-09-21 22:01:57 +01:00
Justin Clark-Casey (justincc)
572b680cb0 get rid of an incredibly noisy logging message from the last commit 2011-09-21 20:15:06 +01:00
Justin Clark-Casey (justincc)
c9c40343af Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-21 20:05:11 +01:00
Justin Clark-Casey (justincc)
8159fd7110 When calling osNpcMoveTo(), rotate the avatar in the direction of travel.
This stops the npc walking backwards if the target is directly behind.
This means that the npc no longer returns to its original rotation once movement has finished.
If you want this behaviour, please store and reset the original rotation after movement.
This is somewhat to address http://opensimulator.org/mantis/view.php?id=5678
2011-09-21 19:28:41 +01:00
Dan Lake
7ec7a3cf33 Null simulation data must return a non-null region settings or other parts of the simulator expect 2011-09-20 15:35:36 -07:00
Dan Lake
7829b7a601 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-20 14:07:41 -07:00
Dan Lake
fa9291512a Make debug statements in ScenePresence consistent and add a few more 2011-09-20 14:07:10 -07:00
Justin Clark-Casey (justincc)
aadf7dd91c Remove vestigal OpenSim.Data mono addins extension points that don't look like they've been active for at least 2 and a half years 2011-09-20 20:56:32 +01:00
Justin Clark-Casey (justincc)
1e798136c3 adjust some whitespace to trigger another build, to check the last failure was just a glitch 2011-09-17 01:33:55 +01:00
Justin Clark-Casey (justincc)
27af016381 Add BulletSim physics option details to OpenSim.ini.example. Marked as in development and experimental. 2011-09-17 01:13:07 +01:00
Justin Clark-Casey (justincc)
f950338124 Remove old bullet DotNET and X libraries in preparation for BulletS
These weren't working properly anyway.
You will need to rerun prebuild.sh/.bat after this commit, and maybe "nant clean" as well.
2011-09-17 01:09:25 +01:00
Justin Clark-Casey (justincc)
6f69ab3bcb Add back BulletSPlugin.dll.config that I somehow managed to delete today in a00327d 2011-09-17 00:49:26 +01:00
Justin Clark-Casey (justincc)
385c4a210d On setting a new avatar appearance, if height hasn't changed then don't set that same height in ScenePresence.
This prevents unnecessary work in the ODE module, though possibly that should be checking against same size sets itself
2011-09-17 00:26:53 +01:00
Justin Clark-Casey (justincc)
744602f6d1 Revert "uncomment Standalone config in OpenSim.ini.example."
This reverts commit 44a491f36b.

This makes packaging OpenSim slightly easier but then generates a FriendsConnector error if naively used after compilation.
So let's revert to stick with the "DataStore" error for now - at least that's a known error.
2011-09-17 00:10:19 +01:00
Justin Clark-Casey (justincc)
6f542f73d4 Stop the avatar stalling on its first boarder cross when using the ODE plugin
When upgrading the previously child agent to a root, the code was setting the Size parameter on the ODECharacter PhysicsActor.
This in turn reset Velocity, which cause the border stall.
I'm fixing this by commenting out the Velocity = Vector3.Zero lines since they don't appear to play a useful purpose
2011-09-16 23:57:16 +01:00
Justin Clark-Casey (justincc)
adfe713b43 minor: I was wrong about OffsetPosition - sometimes it genuinely does return offset position!
Add method doc to explain this.
2011-09-16 22:55:24 +01:00
Justin Clark-Casey (justincc)
b2356340d2 Remove setter from SP.OffsetPosition, since all sets should flow through SP.AbsolutePosition
OffsetPosition is also misnamed - it returns the absolute position and never contains an offset.
2011-09-16 22:51:36 +01:00
Justin Clark-Casey (justincc)
c38b25a1d2 Fix base_hair.dat to actually contain the base hair asset rather than base eyes by mistake.
I must have had it cached last night.
This now makes completely fresh avatar setups appear properly (remember to wipe viewer cache and server cache as well as database).
As a bonus, eyes now appear by default too!
2011-09-16 21:43:58 +01:00
Justin Clark-Casey (justincc)
c695e23dd9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-16 21:06:09 +01:00
Kevin Houlihan
903d5c02cb Updated some variables to be closer to the coding standards (and easier to understand).
There were a few variables in LocalConsole with single character names, and the class fields did not use the m_ prefix.
I also removed a redundant variable, h. It was being set to 1 in a couple  of places, and incremented in another, but never actually used.
2011-09-16 20:24:47 +01:00
justincc
30b6838837 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-09-16 19:56:14 +01:00
justincc
a00327d0e5 Fix build errors on Windows by adding missing OpenSim.Services.Base reference 2011-09-16 19:54:23 +01:00
Kevin Houlihan
923f2459cf Passwords could be revealed in console by pressing backspace.
Pressing backspace causes hidden input (such as passwords) to be revealed on the console. The echo state was not being taken into account when handling a backspace key press.
2011-09-16 19:25:38 +01:00
Chris Hart
d4043c084a MSSQL Bug fix in user account retrieval, plus migrations for FriendsStore and InventoryStore 2011-09-16 19:09:46 +01:00
Kevin Houlihan
1458fab82c Reattaching a region was failing if the estate name had not changed (issue 5035).
Using the RemoteAdmin API to close then recreate a region would fail if the estate name had not changed. If the estate name /was/ changed then the existing estate would be renamed rather than a new one being created. The problem really arose from a lack of distinction in the data storage layer between creating new estates and loading existing ones.
2011-09-16 18:50:25 +01:00
Justin Clark-Casey (justincc)
9046651583 Pass any region scope through to the CreateUser() method 2011-09-16 00:36:43 +01:00
Justin Clark-Casey (justincc)
37370a8102 On standalone, by default create the necessary minimum body parts and clothes necessary to display a viewer 2 avatar, as implemented in c4efb97d
This is controlled by the CreateDefaultAvatarEntries switch in the [UserAccountService] section of config-include/Stnadalone.ini
This is left as false in grid mode
2011-09-16 00:30:37 +01:00
Justin Clark-Casey (justincc)
4ae4b14b5d refactor: move estate owner setup code into separate method 2011-09-16 00:24:23 +01:00
Justin Clark-Casey (justincc)
522d6261f1 Correctly create a freshly created estate owner's default items and avatar entries on standalone if applicable. 2011-09-16 00:12:12 +01:00
Justin Clark-Casey (justincc)
c4efb97d49 Write code to create minimum necessary body parts/clothing and avatar entries to make a newly created user appear as a non-cloud on viewer 2
Viewer 2 no longer contains the default avatar assets (i.e. "Ruth") that would appear if the user had insufficient body part/clothing entries.
Instead, avatars always appear as a cloud, which is a very bad experience for out-of-the-box OpenSim.
Default is currently off.  My intention is to switch it on for standalone shortly.
This is not particularly flexible as "Ruth" is hardcoded, but this can change in the future, in co-ordination with the existing RemoteAdmin capabilities.
Need to fix creation of suitable entries for users created as estate owners on standalone.
Avatars still appear with spooky empty eyes, need to see if we can address this.
This commit adds a "Default Iris" to the library (thanks to Eirynne Sieyes from http://opensimulator.org/mantis/view.php?id=1461) which can be used.
2011-09-15 22:59:29 +01:00
Justin Clark-Casey (justincc)
de19dc3024 refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to reflect what it actually does
This also makes it consistent with some other methods that send data to the client.
2011-09-15 18:58:58 +01:00
Justin Clark-Casey (justincc)
a4cc5f628f Only bother to create an inventory xfer file if there are any items in a prim inventory 2011-09-15 18:42:10 +01:00
Justin Clark-Casey (justincc)
8fb3e71b14 Shuffle order of code in invnetory connector GetFolderContent() calls to avoid a possible race condition 2011-09-15 18:36:22 +01:00
Justin Clark-Casey (justincc)
42f1b88eb2 If a prim inventory becomes empty through deletion, send an empty xfer file name rather than one that references a metadata file containing only the folder object.
If we do this, then viewer 3 crashes when we try and rez a script directly in an attachment's prim inventory.
Sending an empty file name was already being done if the prim's inventory had never been touched.
Now we always do that if there are no items in that inventory.
Hopefully addresses the remaining point in http://opensimulator.org/mantis/view.php?id=5644
2011-09-15 18:13:36 +01:00
Justin Clark-Casey (justincc)
bd991fc95f Don't try and delete attachments for child agent close 2011-09-13 22:54:50 +01:00
Justin Clark-Casey (justincc)
1084d8f6a2 Remove code from DetachSingleAttachmentToInv() that sets group changed on all parts, now that we're performing this check in UpdateKnownItem() for other purposes 2011-09-13 22:39:06 +01:00
Justin Clark-Casey (justincc)
61affee814 remove redunant itemID and agentID arguments from UpdateKnownItem().
itemID is always taken taken from the group's stored item id, and agentID is never used.
2011-09-13 22:33:15 +01:00
Justin Clark-Casey (justincc)
2d62484f11 Remove UpdateKnownItem() from IAttachmentsModule.
It's not appropriate for code outside the attachments module to call this.
2011-09-13 22:27:33 +01:00
Justin Clark-Casey (justincc)
62b3e74bc5 minor: remove redundant grp != null check from AM.UpdateKnownItem() 2011-09-13 22:24:33 +01:00
Justin Clark-Casey (justincc)
8880aea728 Stop attempts to rewear already worn items from removing and reattaching.
Viewer 2/3 will sometimes attempt to rewear attachments, even though they have already been attached during the main login process.
This change ignores those attempts.
This stops script failures during login, as the rewearing was racing with the script startup code.
It might also help with attachments being abnormally put into deleted state.
Hopefully resolves some more of http://opensimulator.org/mantis/view.php?id=5644
2011-09-13 22:13:58 +01:00
Justin Clark-Casey (justincc)
618277e797 Comment out attachments code in Scene.IncomingCreateObject(UUID userID, UUID itemID) for now
As far as I can see, this is only invoked by a PUT request to ObjectHandlers, which is not being used anyway.
Invoking attachments code at this point is probably inappropriate since it would still be invoked when the client entered the scene.
Being commented to simplify analysis of attachments issues.  Can be uncommented when in use.
Also, small tweak to lock and log removal of a SOG from the SceneObjectGroupsByLocalPartID collection in SceneGraph.GetGroupByPrim() if an inconsistency is found.
2011-09-13 20:25:32 +01:00
Justin Clark-Casey (justincc)
df73833a2c stop the duplicate remove of the root part ids from the full part and local part indexes in SG.DeleteSceneObject()
this is unnecessary because the parts array iterated through contains the root part as well as the non-root parts
2011-09-13 18:11:13 +01:00
Justin Clark-Casey (justincc)
f09a90d8a7 extend TestGetSceneObjectByPartLocalId() to test state after scene object deletion 2011-09-13 18:08:05 +01:00
Justin Clark-Casey (justincc)
07ba28f1de In SG.AddSceneObject(), stop unnecessarily adding the root part to object indexes sepearately from the other parts.
The SOG.Parts property contains the root part as well as the non-root parts
2011-09-13 17:56:02 +01:00
Justin Clark-Casey (justincc)
c14f0a22d4 Add new TestGetSceneObjectByPartLocalId() for retrieving a scene object via the local id of one of its parts 2011-09-13 17:52:10 +01:00
Justin Clark-Casey (justincc)
88bd71b978 improve TestAddSceneObject() to test a multi-part object rather than a single-part 2011-09-13 17:40:39 +01:00
Justin Clark-Casey (justincc)
306af9934a In an object return message, send a null-terminated empty string in binary bucket to prevent a viewer 3 crash.
This is the message sent to the client when the object is returned.
We were sending byte[0] in the binary bucket.  This didn't kill viewer 1 but did terminate viewer 3 (don't know about viewer 2).
So sending "\0" instead.
This is to address http://opensimulator.org/mantis/view.php?id=5683
2011-09-13 17:13:42 +01:00
Justin Clark-Casey (justincc)
dea0935361 eliminate redundant SP.m_regionInfo since it always has the scene.
We were already referencing through the scene in some places.
2011-09-12 23:00:15 +01:00
Justin Clark-Casey (justincc)
62b2450529 remove the unused SP.initializeScenePresence() 2011-09-12 22:54:54 +01:00
Justin Clark-Casey (justincc)
56cd7d9685 stop the redundant passing in of RegionInfo to SceneGraph, since the Scene is always passed in at the same time. 2011-09-12 22:51:56 +01:00
Justin Clark-Casey (justincc)
00f8946bd4 minor: if the script engine fails to find a prim for a script, also print out that prim's local id in the error message. 2011-09-12 22:44:14 +01:00
Justin Clark-Casey (justincc)
294120c9d3 comment out some recent terrain texture logging 2011-09-12 22:26:04 +01:00
Justin Clark-Casey (justincc)
ea0f78c971 Start locking entire add/remove operations on an IScenePresence.AttachmentsSyncLock object
Attach and detach packets are processed asynchronously when received from a viewer.
Bugs like http://opensimulator.org/mantis/view.php?id=5644 indicate that in some situations (such as attaching/detaching entire folders of objects at once), there are race conditions between these threads.
Since multiple data structures need to be updated on attach/detach, it's not enough to lock the individual collections.
Therefore, this commit introduces a new IScenePresence.AttachmentsSyncLock which add/remove operations lock on.
2011-09-12 21:57:22 +01:00
Justin Clark-Casey (justincc)
dab6387bba lock AvatarAppearance.m_attachments when we use it
This is partly to address http://opensimulator.org/mantis/view.php?id=5644, though something more thorough is needed.
2011-09-12 21:05:26 +01:00
Justin Clark-Casey (justincc)
44a491f36b uncomment Standalone config in OpenSim.ini.example.
This is to make my life easier when creating releases.
I think that it also gives a better story for anybody newly compiling from source.
2011-09-12 20:31:14 +01:00
Oren Hurvitz
7f318277f1 When creating an OAR, optionally exclude objects according to their permissions 2011-09-12 20:09:24 +01:00
Justin Clark-Casey (justincc)
517932722b minor: put <remarks> tags around some method doc 2011-09-12 20:06:09 +01:00
Justin Clark-Casey (justincc)
728fd0b1b8 lock attachments when enumerating through them in ScenePresence.CopyTo().
May have some effect on http://opensimulator.org/mantis/view.php?id=5644
2011-09-10 01:09:17 +01:00
Justin Clark-Casey (justincc)
9c32b131fd Add extra log information when attachments fail validation 2011-09-10 00:57:52 +01:00
Justin Clark-Casey (justincc)
7531851bec reinstate the validation logging on teleport. A 'fail' of validation still doesn't prevent the actual teleport. 2011-09-10 00:45:50 +01:00
Justin Clark-Casey (justincc)
de28c9cd24 Stop the UserManagementModule logging every user it adds for now 2011-09-10 00:23:52 +01:00
Oren Hurvitz
1dd904b78e Delay loading scripts until the scene has finished loading 2011-09-09 23:01:05 +01:00
Kevin Houlihan
7cafc2e46e Added a check to the CreateRegion method of the RemoteAdmin module that the specified user exists.
A meaningful exception message is returned if the user is not found. Previously it was returning "Object not set..."
2011-09-09 22:59:00 +01:00
Micheil Merlin
28961dd1cf llSetPrimitiveParams Prim type params precision errors 2011-09-09 22:53:45 +01:00
Justin Clark-Casey (justincc)
bea2e0f32b Comment out the part of the load oar code that zeroes out prim sit target orientations and positions.
The warning about these causing problems is very old and may no longer apply.
Hopes to fix http://opensimulator.org/mantis/view.php?id=5680
2011-09-09 22:50:54 +01:00
Justin Clark-Casey (justincc)
655935db49 Use a copy of the inventory items list to register users in the thread started by GetFolderContent(), to protect ourselves against callers modifying lists
Hopefully this addresses http://opensimulator.org/mantis/view.php?id=5681
2011-09-09 19:55:30 +01:00
Justin Clark-Casey (justincc)
42790f021f Fix unit tests from RegionSettings commit 2011-09-09 00:47:23 +01:00
Justin Clark-Casey (justincc)
086bf9f15d Save the default terrain texture UUIDs for a new region instead of leaving them as UUID.Zero.
Leaving them at UUID.Zero meant that when a viewer 2 logged into a region that had been freshly created, it received UUID.Zero for these textures, and hence display the land as plain white.
On a simulator restart, the problem would go away since when the database adapators loaded the new region settings, RegionSettings itself has code to use default textures instead of UUID.Zero.
This commit resolves the problem by saving the default texture UUIDs instead of Zero.
However, we currently have to do this in a roundabout way by resaving once the RegionSettings have been created by the database for the first time.  This needless complexity should be addressed.
This change will also have the effect of replacing any existing UUID.Zero terrain textures with the default ones.
However, this shouldn't have any effect since the UUID.Zeros were already being replaced in memory with those same UUIDs.
2011-09-09 00:38:04 +01:00
Justin Clark-Casey (justincc)
f5eace6781 Fix test failure. Oversight in setting up the tests themselves. 2011-09-08 21:54:40 +01:00
Justin Clark-Casey (justincc)
9615292133 Centralize module setup for NPC tests.
This is overkill for some tests since they dont' need all the modules, but I think the gain in code readability is worth it
2011-09-08 21:06:10 +01:00
Justin Clark-Casey (justincc)
96a3b68086 Remember to set and unset the fire and forget method at the top of the attachment and npc tests 2011-09-08 20:59:52 +01:00
Justin Clark-Casey (justincc)
bd5d2cb043 Use scene presence agent id for rezzed object ownership rather than item owner.
These should be identical.  However, the item isn't available when rezzing npc attachments.
2011-09-08 20:51:52 +01:00
Justin Clark-Casey (justincc)
3e7960d161 Increase information in logging for UserAgentServiceConnector.
Done for http://opensimulator.org/mantis/view.php?id=5669
2011-09-08 19:52:28 +01:00
Justin Clark-Casey (justincc)
08bd16285d When invoking any of the OSSL teleport functions, do it on a separate thread rather than the script thread.
This is to prevent the aborting of attachment script threads on teleport from aborting the one actually doing the teleport.
This allows OSSL teleport functions to work when invoked on scripts in attachments (and huds, I assume)
2011-09-07 23:55:41 +01:00
Justin Clark-Casey (justincc)
7cadb89a0f When a region is added to the HG Inventory Broker, also pass this through to the embedded local inventory connector to prevent an NRE when that connector tries to lookup the UserManager through the scene.
This is to address http://opensimulator.org/mantis/view.php?id=5669
However, if this failure was happening I'm kind of surprised that local HG inventory was working at all.....
We probably weren't seeing these exceptions previously because we weren't logging them when the reached the top of a FireAndForget thread.
2011-09-07 23:16:19 +01:00
Justin Clark-Casey (justincc)
d7a516d885 Add temporary debugging in HGInventoryBroker and RemoveXInventoryServiceConnector
This is for http://opensimulator.org/mantis/view.php?id=5669
If we can't retrieve an IUserManagement module we complain, and we also warn in the log when its manually set in XISC by HGInventoryBroker
2011-09-06 23:16:37 +01:00
Justin Clark-Casey (justincc)
e6cd4defdb Lock m_pendingObjects when calling GetPendingObjectsCount().
This is only called by a region console command.
We should also be locking m_partsUpdateQueue when dequeueing the next part, or locking m_pendingObjects in QueuePartForUpdate().
However, I won't do this now since I don't have time to analyze how this would affect liveness.
2011-09-06 22:48:05 +01:00
Justin Clark-Casey (justincc)
3d4d3427cd Comment out SceneViewer.Reset() and stop calling from Close() since this is useless work as a closed scene object is never reset.
Strictly speaking, we could also stop bothering to clear the m_updateTimes and m_partsUpdateQueue if we are sure that the whole SceneViewer is shortly to be garbage collected anyway, but we'll leave them around for now.
2011-09-06 22:44:34 +01:00
Justin Clark-Casey (justincc)
405a5b097b Comment out unused ISceneViewer.Reset() to reduce code complexity 2011-09-06 22:39:01 +01:00
Justin Clark-Casey (justincc)
4bf3adffb8 In SceneViewer, introduce an IsEnabled flag and perform Close() under an m_pendingObjects lock in order to avoid the race condition seen by danbanner in http://opensimulator.org/mantis/view.php?id=5669 2011-09-06 22:26:28 +01:00
Justin Clark-Casey (justincc)
1a8f5b97b9 refactor: Make logic in AM.AttachObject() clearer by not reusing existing variables in different contexts 2011-09-06 02:40:19 +01:00
Justin Clark-Casey (justincc)
5beee42809 rename AM.AddSceneObjectAsAttachment() to AddSceneObjectAsNewAttachmentInInv 2011-09-06 02:29:22 +01:00
Justin Clark-Casey (justincc)
b903d2ca96 In SetAttachment, if the existing attachment has no asset id then carry on rather than abort.
When a user logs in, the attachment item ids are pulled from persistence in the Avatars table.  However,
the asset ids are not saved.  When the avatar enters a simulator the attachments are set again.  If
we simply perform an item check then the asset ids (which are now present) are never set, and NPC attachments
later fail unless the attachment is detached and reattached.

Hopefully resolves part of http://opensimulator.org/mantis/view.php?id=5653
2011-09-06 01:59:21 +01:00
Justin Clark-Casey (justincc)
c6ec573d10 Get rid of the confusing version of IAttachmentsModule.RezSingleAttachmentFromInventory() with the updateInventoryStatus switch, since this is never called with false 2011-09-06 00:36:38 +01:00
Justin Clark-Casey (justincc)
05a4bedc30 get rid of the unused AttachmentsModule.ShowAttachInUserInventory() 2011-09-06 00:32:52 +01:00
Justin Clark-Casey (justincc)
0cb0140a1d Stop the pointless double setting of every attachment in AvatarAppearance.
The second was already being filtered out so this has no user level effect
2011-09-06 00:29:37 +01:00
Justin Clark-Casey (justincc)
cf73afec35 Try disabling the inconsistent attachment state check to see if this actually has an impact.
The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary.
This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message.
This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
2011-09-05 23:42:37 +01:00
Justin Clark-Casey (justincc)
5e579b71fd Allow the HGInventoryBroker to set the UserManager when it instantiates a RemoteXInventoryServiceConnector for a visiting HG user.
Not doing this causes NREs whenever that user tries to access inventory when Hypergrid is turned on since the Remote connector does not have a scene (which is only used to fetch the UserManager)
Aims to address http://opensimulator.org/mantis/view.php?id=5669
2011-09-05 22:55:48 +01:00
Snoopy Pfeffer
9f75eaf50e Fixed BulletSim config files for Linux *.so libraries. 2011-09-04 21:42:33 +02:00
Justin Clark-Casey (justincc)
5c1fa968ab Stop NPCs losing attachments when the source avatar takes them off.
This was happening because we were using the source avatar's item IDs in the clone appearance.
Switch to using the asset IDs of attachments instead for NPCs.
The InventoryAccessModule and AttachmentModule had to be changed to allow rezzing of an object without an associated inventory item.
Hopefully goes some way towards resolving http://opensimulator.org/mantis/view.php?id=5653
2011-09-03 01:11:16 +01:00
Justin Clark-Casey (justincc)
e6eb0d9a6f Comment out Scene.CleanDroppedAttachments() and calls.
This method wasn't actually doing anything since dropped attachments retain a PCode of 9.
Also, behaviour of dropped attachments in other places appears to be that they persist after avatar logout rather than get deleted.
2011-09-02 23:19:27 +01:00
Justin Clark-Casey (justincc)
dbcfb25a52 Remove redundant RootPart.CreatedSelected = true in IAM.RezObject() since this is done through parts iteration 2011-09-02 22:54:03 +01:00
Justin Clark-Casey (justincc)
26b471f25a Go back to resetting the State parameter for all parts of a SOG when SOG.ClearPartAttachmentData() is called.
Even though we don't use these on rez they are still present after an unlink, after which selecting them causes various viewers to crash
Hopefully really does address http://opensimulator.org/mantis/view.php?id=5664
2011-09-02 22:28:27 +01:00
Justin Clark-Casey (justincc)
af7c6c5f39 stop passing FromUserInventoryItemID right down into the deserializer.
the code becomes simpler if this is set from the outside - only one place needs to do this.
2011-09-02 00:50:16 +01:00
Justin Clark-Casey (justincc)
9c0a03731d Move more of IAM.RezObject() into DoPreRezWhenFromItem() 2011-09-02 00:41:21 +01:00
Justin Clark-Casey (justincc)
15ea82e925 move more of IAM.RezObject() into DoPreRezWhenFromItem() 2011-09-02 00:25:05 +01:00
Justin Clark-Casey (justincc)
01146bb3e3 factor out a section of IAM.RezObject() into DoPreRezWhenFromItem() 2011-09-02 00:04:22 +01:00
Justin Clark-Casey (justincc)
3e86064d6b refactor: factor out DoPostRezWhenFromItem() from IAM.RezObject() 2011-09-01 23:49:38 +01:00
Justin Clark-Casey (justincc)
cc8897127b remove the pointless m_Scene.GetNewRezLocation() call at the top of IAM.RezObject() since its always recalculated later on anyway 2011-09-01 23:37:03 +01:00
Justin Clark-Casey (justincc)
712d44635a refactor: Move sanity checks to the top of IAM.RezObject() to make the code more readable 2011-09-01 23:14:50 +01:00
Justin Clark-Casey (justincc)
e30651b931 use group.RootPart in IAM.RezObject() rather than group.GetChildPart(group.UUID); 2011-09-01 23:09:14 +01:00
Justin Clark-Casey (justincc)
8b83c4a433 Remove pointless NRE check in IAM.RezObject() since this can never occur 2011-09-01 23:06:57 +01:00
Justin Clark-Casey (justincc)
1bf29d60e1 Remove code which was automatically deleting non-root prims from scene objects that had previous been attachments.
Looks like this code was accidentally uncommented in e1b5c612 from feb 2010.
Appears to resolve the rest of http://opensimulator.org/mantis/view.php?id=5664
2011-09-01 22:05:05 +01:00
Justin Clark-Casey (justincc)
616e672fce If the user receiving an inventory folder has left the scene by the time the acceptence message arrives, then don't send them an inventory update.
Doing so causes a NullReferenceException
2011-09-01 02:43:17 +01:00
Justin Clark-Casey (justincc)
c491cdcb95 refactor: use SOG register target waypoints and rots directly instead of calling through the SOP, which doesn't make conceptual sense anyway. 2011-09-01 02:18:31 +01:00
Justin Clark-Casey (justincc)
7eca929686 Eliminate pointless checks of SOG.RootPart != null
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc)
10d883dc88 refactor: use ParentGroup.UUID directly instead of SOP.GetRootPartUUID() 2011-09-01 01:41:53 +01:00
Justin Clark-Casey (justincc)
63bf710237 Fix issue with llGetTorque() where it would only ever return a zero vector. 2011-09-01 01:37:35 +01:00
Justin Clark-Casey (justincc)
095b3e5756 Remove pointless cluttering SOP.ParentGroup != null checks.
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc)
083ba72b28 Fix a bug where the non-root parts of rezzed objects that had previously been attachments were sending their old attachment values to the client.
The root part state is the canonical value, so always send that instead.
Sending conflicting attachments states for non-root parts of a rezzed object is enough to crash the client.
Fixes http://opensimulator.org/mantis/view.php?id=5664.
Many thanks to mewtwo0641 for some fantastic qa work on this one.
2011-08-31 23:33:01 +01:00
Justin Clark-Casey (justincc)
ca9a054bba Don't set a GridUser entry for NPCs.
Resolves http://opensimulator.org/mantis/view.php?id=5665
2011-08-31 18:03:07 +01:00
Justin Clark-Casey (justincc)
7d58b5fa15 move common code into AttachmentsModule.DeleteAttachmentsFromScene() 2011-08-31 17:53:58 +01:00
Justin Clark-Casey (justincc)
3aa86d22d1 If a FireAndForget thread terminates with an exception, then catch and log rather than letting it terminate the simulator.
Exceptions don't appear to do this with the SmartThreadPool but they do with UnsafeQueueUserWorkItem (and maybe others)
2011-08-31 17:38:32 +01:00
Justin Clark-Casey (justincc)
e69f246b86 refactor: move multiple class to set avatar height into associated SP.AddToPhysicalScene() 2011-08-31 17:25:18 +01:00
Justin Clark-Casey (justincc)
899d109e82 get rid of appearance null checks - this is never null 2011-08-31 17:13:53 +01:00
Justin Clark-Casey (justincc)
8c703022c1 In WorldCommModule, replace the useless Attachments == null check with Attachments.Count == 0 instead 2011-08-31 16:50:18 +01:00
Justin Clark-Casey (justincc)
d3c03658aa minor: remove mono compiler warning 2011-08-31 16:48:21 +01:00
Justin Clark-Casey (justincc)
54839d28ad remove pointless m_attachments == null check since this field is never null 2011-08-31 16:46:43 +01:00
Justin Clark-Casey (justincc)
5a5206449f minor: seal up another instance of using the appearance list without locking 2011-08-31 16:41:58 +01:00
Justin Clark-Casey (justincc)
32444d98cb Make SP.Attachments available as sp.GetAttachments() instead.
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
2011-08-31 16:29:51 +01:00
Justin Clark-Casey (justincc)
2acfff9f6d remove pointless ToArray() call in AttachmentsModule.SaveChangedAttachments() 2011-08-30 23:39:26 +01:00
Justin Clark-Casey (justincc)
1809aaf74c minor: remove already processed avatar null check in Scene.RemoveClient()
remove some now duplicated method doc
2011-08-30 23:36:45 +01:00
Justin Clark-Casey (justincc)
ddc733cd3d refactor: move SP.SaveChangedAttachments() fully into AttachmentsModule 2011-08-30 23:32:30 +01:00
Justin Clark-Casey (justincc)
91f59f246f also get "nant clean" to remove old .mdb from .exe and .dll 2011-08-30 23:20:54 +01:00
Justin Clark-Casey (justincc)
9e4153f16b Hack our copy of Prebuild to just delete the dlls and mdbs in Physics, so as to leave the new config file 2011-08-30 23:17:02 +01:00
Justin Clark-Casey (justincc)
04bafd2122 refactor: Move ScenePresence.RezAttachments() into AttachmentsModule
This adds an incomplete IScenePresence to match ISceneEntity
2011-08-30 23:06:10 +01:00
Justin Clark-Casey (justincc)
a90e1cf3aa add Name property to ISceneEntity 2011-08-30 22:39:16 +01:00
Justin Clark-Casey (justincc)
1de68b34d9 refactor: migrate DropObject handling fully into AttachmentsModule from Scene 2011-08-30 22:25:38 +01:00
Justin Clark-Casey (justincc)
37a5cf5783 minor: comment out friends number logging from login for now 2011-08-30 22:08:43 +01:00
Justin Clark-Casey (justincc)
953611af53 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-30 22:07:32 +01:00
Justin Clark-Casey (justincc)
e7a515bab0 Fix bug where attachments were remaining on the avatar after being dropped.
If the inventory service is configured not to allow deletion then these will not disappear from inventory
2011-08-30 22:06:24 +01:00
Robert Adams
b705ad477e BulletSim: update values in OpenSimDefaults.ini to the same as defaults in the source. 2011-08-30 13:49:50 -07:00
Robert Adams
b281163457 BulletSim: add .so for 64 bit Linux. Move .config file to where it will be read. 2011-08-30 13:19:53 -07:00
Mic Bowman
17dab7245f Merge branch 'master' into bulletsim 2011-08-30 08:44:28 -07:00
Justin Clark-Casey (justincc)
be357f8fee Fix bug in persisting saved appearances for npcs
Assets have to be marked non-local as well as non-temporary to persist.  This is now done.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
2011-08-30 01:58:32 +01:00
Robert Adams
96dce3e16c Use GetMeshKey from PrimitiveBaseShape. 2011-08-29 10:10:48 -07:00
Mic Bowman
648866b597 Merge branch 'master' into bulletsim 2011-08-29 09:55:34 -07:00
Robert Adams
18037d41c4 Move GetMeshKey from buried inside Meshmerizer to a public method on PrimitiveBaseShape
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:50:54 -04:00
Robert Adams
80a2b81d52 Add level of detail specification to optionally reduce the number of vertices in generated prim meshes
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-28 16:49:25 -04:00
Makopoppo
795b56e695 Related to #4689 - Adding missing null check for SceneObjectPart
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-27 07:45:02 -04:00
Justin Clark-Casey (justincc)
d4d894c20f Stop avatars returning from neighbouring regions from stalling on the border crossing.
On making a root agent, we need to reset the ScenePresence.m_movement_flag so that it doesn't remember the
movement registered to the client when it exited the initial region.
If this is remember, then the client avatar movement isn't updated and it appears to stall in mid-air, though this is resolved with a prod/release of any other direction key.
This bug was probably introduced a few weeks ago.  Surprised that nobody brought it up.
2011-08-27 01:28:33 +01:00
Justin Clark-Casey (justincc)
1615e7d29f Eliminate duplicate AttachmentPoint properties by always using the one stored in the root part's state field. 2011-08-27 00:33:24 +01:00
Justin Clark-Casey (justincc)
b7700428ec refactor: camel case AttachmentPoint method arg as per code standards 2011-08-27 00:20:15 +01:00
Justin Clark-Casey (justincc)
33a894f3d2 refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values 2011-08-27 00:15:21 +01:00
Robert Adams
21708b832b BulletSim: add mesh representation. Use meshes for static objects and switch to hulls for physical objects. 2011-08-26 15:51:21 -07:00
Mic Bowman
23f10f1d22 Merge branch 'master' into bulletsim 2011-08-26 15:23:46 -07:00
Justin Clark-Casey (justincc)
15a514fcbc refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Justin Clark-Casey (justincc)
5f3ffc195f refactor: move SOG.DetachToGround() to AttachmentsModule.DetachSceneObjectToGround() and remove redundant code 2011-08-26 22:49:11 +01:00
Justin Clark-Casey (justincc)
ae614c1264 refactor: simplify DetachSingleAttachmentToGround() by retrieving the scene object group direct 2011-08-26 22:37:53 +01:00
Justin Clark-Casey (justincc)
040ad11e61 refactor: remove common presence set up in attachments tests 2011-08-26 22:24:51 +01:00
Justin Clark-Casey (justincc)
dc61bf4b1f comment out verbose test logging from last commit 2011-08-26 22:17:27 +01:00
Justin Clark-Casey (justincc)
1dba047e4d add regression test for detaching an attachment to the scene 2011-08-26 22:17:05 +01:00
Justin Clark-Casey (justincc)
002313bf13 refactor: move sog.DetachToInventoryPrep() into AttachmentsModule.DetachSingleAttachmentToInv() 2011-08-26 22:02:23 +01:00
Justin Clark-Casey (justincc)
fcbed6479a Downgrade warning about not saving unchanged attachment to debug instead, and change text to better indicate what it's saying 2011-08-26 21:46:12 +01:00
Justin Clark-Casey (justincc)
6c692d2e21 Fix a very recent regression from llAttachToAvatar() fix where I accidentally stopped normal script state persistence on login/logout and attach/detach 2011-08-26 21:26:29 +01:00
BlueWall
04d42860fe Merge branch 'master' of /home/opensim/src/opensim 2011-08-25 07:01:57 -04:00
Micheil Merlin
cf42fcd978 llSetPrimitiveParams correct prim hollow for cases where limit should be 70%.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-08-25 06:50:55 -04:00
Justin Clark-Casey (justincc)
4b4c5e69e5 Remove forcing of phantom on ground attached objects - attachments can be both non-phantom and flagged as physical.
As per Melanie
2011-08-24 22:45:51 +01:00
Justin Clark-Casey (justincc)
d5dc8133fc remove pointless IsDeleted check on SP.RezAttachments()
IsDeleted is never set for an SP, even though it's on EntityBase.
It might be an idea to set it in the future
2011-08-24 22:37:08 +01:00
Justin Clark-Casey (justincc)
6d4432f440 refactor: simplify EntityBase.IsDeleted property 2011-08-24 22:34:26 +01:00
Justin Clark-Casey (justincc)
21f1b68fdf extend initial rez regression test to check that attachment is phantom 2011-08-24 22:25:23 +01:00
Justin Clark-Casey (justincc)
73d913dad2 Make objects attached from the ground phantom 2011-08-24 22:12:51 +01:00
Justin Clark-Casey (justincc)
9ba4511d3e add SOG helper properties IsPhantom, IsTemporary, etc. to improve code readability
use these in some sog methods
2011-08-24 21:53:12 +01:00
Justin Clark-Casey (justincc)
801b7f18a7 return InventoryItemBase from AddSceneObjectAsAttachment() 2011-08-24 21:40:36 +01:00
Justin Clark-Casey (justincc)
5eeee480d4 refactor: move Scene.Inventory.attachObjectAssetStore() into AttachmentsModule.AddSceneObjectAsAttachment() 2011-08-24 21:35:44 +01:00
Justin Clark-Casey (justincc)
274e354006 get rid of pointless grp null check in attachObjectAssetStore() 2011-08-24 21:23:10 +01:00
Justin Clark-Casey (justincc)
0e0d40c810 minor: remove hardcoded region numbers with the region size constant and a currently hardcoded offset 2011-08-24 21:18:11 +01:00
Justin Clark-Casey (justincc)
ccf07f6ae3 refactor: remove pointless AgentId argument from attachObjectAssetStore() 2011-08-24 21:14:57 +01:00
Justin Clark-Casey (justincc)
b9ec625dbf add TestAddAttachmentFromGround() regression test 2011-08-24 21:07:46 +01:00
Justin Clark-Casey (justincc)
cf3ffe5bb4 Fix llAttachToAvatar()
Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay.
So we now don't do this.  The state will be serialized anyway when the avatar normally logs out.
The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
2011-08-24 20:49:23 +01:00
Justin Clark-Casey (justincc)
97b207240e rename AttachmentsModule.ShowDetachInUserInventory() to DetachSingleAttachmentToInv() for consistency and to reflect it's actual behaviour 2011-08-23 22:05:22 +01:00
Justin Clark-Casey (justincc)
014cd4f8bb remove mono compiler warnings 2011-08-23 21:41:16 +01:00
Justin Clark-Casey (justincc)
805ba268d5 replace TestRemoveAttachments() with a more thorough TestRemoveAttachment() 2011-08-23 21:37:36 +01:00
Justin Clark-Casey (justincc)
4a101080ee Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-23 21:21:02 +01:00
Justin Clark-Casey (justincc)
34aed96a2f replace old TestAddAttachments() with a more thorough TestAddAttachment() 2011-08-23 21:20:23 +01:00
Mic Bowman
ce011d7e44 Protect a check for default texture entry when setting alpha values. Apparently
if all faces have their own textures then the default texture is null
2011-08-23 10:52:12 -07:00
Justin Clark-Casey (justincc)
afd5469eec Remove pointless contains check in ScenePresence.RemoveAttachment() 2011-08-23 00:08:29 +01:00
Justin Clark-Casey (justincc)
1f3ce48be1 If an object failed to attach due to an exception, then try and detach it from the avatar's list of attachments as well as delete it from the scene.
This may help with the "Inconsistent attachment state" errors seen on teleport.
See http://opensimulator.org/mantis/view.php?id=5644 and linked reports
2011-08-23 00:04:38 +01:00
Justin Clark-Casey (justincc)
d328046efb If an attachment fails, then start logging the exception for now, in order to help with the inconsistent state bug.
This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods.  However, more of this is required.
2011-08-22 23:59:48 +01:00
Justin Clark-Casey (justincc)
2eaadf2dc0 Add warning log message to say which attachment fails validation in order to pin down problems with "Inconsistent Attachment State" 2011-08-22 23:28:37 +01:00
Justin Clark-Casey (justincc)
138a5e04b8 minor: remove mono compiler warning 2011-08-22 23:10:43 +01:00
Justin Clark-Casey (justincc)
940a248c3d minor: comment out simulator features log line 2011-08-22 22:44:49 +01:00
Justin Clark-Casey (justincc)
7cf4bb5256 Add ISimulatorFeaturesModule so that other modules can register features in addition to the hardcoded ones. 2011-08-22 22:13:07 +01:00
Snoopy Pfeffer
db91044593 Thanks Neil Canham for fixing bulk inventory updates, no sending BulkInventoryUpdate after accepting inventory items. 2011-08-22 14:51:43 +02:00
Justin Clark-Casey (justincc)
d74686fd51 read m_rpcHandlersKeepAlive under appropriate lock 2011-08-22 02:25:58 +01:00
Justin Clark-Casey (justincc)
c587b0a3a3 oops, fix build break from last commit 2011-08-22 02:10:45 +01:00
Justin Clark-Casey (justincc)
9469c62098 improve locking of m_agentHandlers in BaseHttpServer 2011-08-22 02:07:51 +01:00
Justin Clark-Casey (justincc)
f9a367e2f6 improve locking of m_HTTPHandlers in BaseHttpServer 2011-08-22 01:59:40 +01:00
Justin Clark-Casey (justincc)
5a11cffd23 improve locking of m_streamHandlers in BaseHttpServer 2011-08-22 01:58:50 +01:00
Justin Clark-Casey (justincc)
20a4367827 remove necessity to catch a KeyNotFoundException in BaseHttpServer.RemoveLLSDHandler() 2011-08-22 01:58:19 +01:00
Justin Clark-Casey (justincc)
8254116dc6 improve locking of m_llsdHandlers in BaseHttpServer 2011-08-22 01:52:08 +01:00
Justin Clark-Casey (justincc)
2f1ac1d144 minor: remove mono compiler warning 2011-08-22 01:45:46 +01:00
Justin Clark-Casey (justincc)
94a8ab80c8 improve locking of m_rpcHandlers in BaseHttpServer 2011-08-22 01:43:34 +01:00
Justin Clark-Casey (justincc)
2307d9a2f9 minor: Add explanative text for the new currency parameter. Convert some tabs to spaces 2011-08-22 00:58:11 +01:00
BlueWall
5e231acdce Add avatar and attachments to llRegionSay
llRegionSay will now message avatars on chan 0
  and will message attachments on the avatar that
  listen on channels other than 0.

  This behavior is consistant with the LL
  implementation as tested on regions in Agni
  with one exception: this implementation does
  not include issue:
    https://jira.secondlife.com/browse/SCR-66?
2011-08-20 12:36:35 -04:00
BlueWall
2787207aa2 Add llRegionSayTo
llRegionSayTo(key target, integer channel, string messasge)

	Allows messages to be sent region-wide
	to a particular prim.
2011-08-19 18:47:21 -04:00
Mic Bowman
384cb79a1a Merge branch 'master' into bulletsim
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneManager.cs
2011-08-19 14:49:16 -07:00
Justin Clark-Casey (justincc)
a0a0c64cb1 Get rid of HttpServer.dll to avoid confusion since we use HttpServer_OpenSim.dll (patched version) instead 2011-08-19 03:02:17 +01:00
Robert Adams
bb5b396fc5 Fix exception when using BasicPhysics 2011-08-19 00:53:57 +01:00
Justin Clark-Casey (justincc)
c9e6b7bd10 Stop NPC's getting hypergrid like names in some circumstances.
This meant punching in another AddUser() method in IUserManagement to do a direct name to UUID associated without the account check (since NPCs don't have accounts).
May address http://opensimulator.org/mantis/view.php?id=5645
2011-08-19 00:45:22 +01:00
Justin Clark-Casey (justincc)
3146f4bae0 Don't need to try both AssetService.Get and GetCached in GetMesh since Get always calls GetCached and code paths were identical 2011-08-18 23:36:43 +01:00
Robert Adams
fef73a1a10 BulletSim: add runtime setting of physics parameters. Update default values. 2011-08-18 14:32:09 -07:00
Justin Clark-Casey (justincc)
49258350e8 refactor: fold CreateSceneViewer() back into ScenePresence constructor 2011-08-18 01:22:01 +01:00
Justin Clark-Casey (justincc)
8d29d490a1 minor: remove some mono compiler warnings 2011-08-18 01:16:58 +01:00
Justin Clark-Casey (justincc)
45c37ef494 refactor: Fold 3 ScenePresence() constructors into one since only one is called. 2011-08-18 01:11:23 +01:00
Justin Clark-Casey (justincc)
c1a34cd8da Don't try to save changed attachment states when an NPC with attachments is removed from the scene.
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
2011-08-18 00:53:05 +01:00
Justin Clark-Casey (justincc)
d8f886ccdb comment out noisy attachments logging 2011-08-17 23:41:20 +01:00
Justin Clark-Casey (justincc)
eb8b6b7d52 minor: remove mono compiler warning 2011-08-17 23:28:57 +01:00
Justin Clark-Casey (justincc)
6b51d8a10e In the asset service, check that an asset exists before attempting to store it. 2011-08-17 23:24:41 +01:00
Justin Clark-Casey (justincc)
4a9b8184f7 For now, supress 'OH NOES' warnings given by HGInventoryBroker.CacheInventoryServiceURL when it tries to cache it for an NPC
This concept is meaningless for NPCs.  However, it might be better to make NPCism an actual property on ScenePresence and check.
Addresses http://opensimulator.org/mantis/view.php?id=5643
2011-08-17 01:51:58 +01:00
Justin Clark-Casey (justincc)
acfdca34fd Fix issue where loading a new appearance onto an NPC would not remove the previous attachments from the scene.
Addresses http://opensimulator.org/mantis/view.php?id=5636
2011-08-17 01:35:33 +01:00
Justin Clark-Casey (justincc)
bd5d35ee32 extend test to check that there is one attachment and that it has the right name 2011-08-17 00:42:58 +01:00
Justin Clark-Casey (justincc)
696bd44833 Add new regression TestRezAttachmentsOnAvatarEntrance() to do simple attachments check 2011-08-17 00:37:33 +01:00
Justin Clark-Casey (justincc)
d73c424078 get rid of logged warnings about lack of some modules - afaik these never occur in real life and just clutter up tests 2011-08-16 23:12:58 +01:00
Justin Clark-Casey (justincc)
57e54d84d6 Add new FireAndForgetMethod.None.
This executes the callback on the same thread that made the request.  Designed for use only by regression tests that rely on a predicable event ordering.
2011-08-16 23:05:08 +01:00
Justin Clark-Casey (justincc)
d3c10e609e Move some previously common code back into separate tests. Remove unused region handle from test. 2011-08-16 22:27:52 +01:00
Justin Clark-Casey (justincc)
0bbf7c21d7 Isolate existing incomplete attachments tests rather than have them rely on each other.
Much easier to debug this way.
2011-08-16 22:13:32 +01:00
Justin Clark-Casey (justincc)
c58b32e7ba drop number of attachments in test from 3 to 2 to reduce text complexity 2011-08-16 22:09:13 +01:00
Justin Clark-Casey (justincc)
601257f8b6 remove setting up of second scene in attachments since it's not currently used 2011-08-16 21:58:52 +01:00
Justin Clark-Casey (justincc)
66eb537d0c relocate AttachmentTests.cs to AttachmentsModuleTests.cs 2011-08-16 21:56:56 +01:00
Justin Clark-Casey (justincc)
eb431f91c0 Add terminating quotes to http addresses in [SimulatorFeatures] section of OpenSim.ini.example.
As per http://opensimulator.org/mantis/view.php?id=5638.  Thanks DutchGlory.
2011-08-16 21:50:15 +01:00
Justin Clark-Casey (justincc)
8d866ae8c3 minor: remove some mono compiler warnings 2011-08-16 21:45:01 +01:00
Justin Clark-Casey (justincc)
96ee87e39b Change the default standalone asset cache to be the Flotsam asset cache (with memory caching not enabled).
This matches the GridCommon setting and is the best tested setting.  It appears to work fine on standalone.
Also, add information that the flotsam asset cache is the recommended cache, since it is most used and actively maintained.
2011-08-16 21:38:51 +01:00
Justin Clark-Casey (justincc)
e29e50798a minor: Add warning to OpenSim.ini.example about bullet plugins not working right now, pending the new plugin 2011-08-16 21:31:48 +01:00
Justin Clark-Casey (justincc)
fd3a7ab70c minor: change some comment text in flotsam asset cache 2011-08-16 21:31:17 +01:00
Justin Clark-Casey (justincc)
8c95c83562 On Flotsam asset cache, go back to moving the file from the temporary location rather than copying.
Copying doesn't prevent IOExceptions on Windows due to file locking. (e.g. Mantis 5642, 5630).
So instead go back to moving the file, swallowing IOExceptions that occur just for the move due to competing caching threads or even different opensimulator instances.
2011-08-16 21:03:43 +01:00
BlueWall
0784791a44 Add "shutdown" message to RegionReady
Add "shutdown" message when removing region.
	From a patch submitted by Michelle Argus.
	Thanks Michelle
2011-08-15 16:21:04 -04:00
BlueWall
dc772c608d Fix for monodevelop
External libraries need the "path=..." set so
	Prebuild.exe can properly build the projects
2011-08-15 16:17:32 -04:00
BlueWall
e8f09cd5f7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-15 13:04:02 -04:00
BlueWall
e870442e31 Remove un-needed ATTACH command in migration script.
This was causing issues when using specified
	paths to database files by using a hard-coded
	name.
2011-08-15 12:59:17 -04:00
Snoopy Pfeffer
9a6ad1535e Added console command "delete object outside" to delete all objects outside region boundaries. This is especiyll useful in cases where physical objects outside regions boundaries cause much physics engine lag. 2011-08-15 17:46:51 +02:00
Snoopy Pfeffer
70ea625447 Added optional Login Service parameter "Currency" to be able to change the currency name shown in the viewer. 2011-08-14 18:20:20 +02:00
Snoopy Pfeffer
e19843a0ee WorldMap: Added map item for Land-for-Sale. Implemented backlist item timeouts (default 10 minutes; see also new config file setting BlacklistTimeout) and removing backlisted neigboring regions that have been restarted from the blacklist. 2011-08-14 17:45:23 +02:00
Micheil Merlin
b80dfb6572 llGetPrimitiveParams fix prim hollow/hole shape value 2011-08-13 15:34:08 +01:00
Justin Clark-Casey (justincc)
dcb4b2de09 Fix a problem in the Flotsam asset cache where assets were being put into the memory cache even when it wasn't enabled.
This hopefully addresses http://opensimulator.org/mantis/view.php?id=5634
This is the most probable cause of the memory problems that people have been seeing in the past month.
This bug has been around since commit 5dc785b (4th July 2011).  Doh!  This is why regressions tests are such a good idea... :)
Many thanks to Nebadon for using git bisect to track down this bug, which made it a 5 minute fix.
2011-08-13 15:21:03 +01:00
Justin Clark-Casey (justincc)
77625dae36 Revert "llGetPrimitveParams fix prim hollow/hole shape return value"
This reverts commit d0bcaf1f16.

Accidentally applied only the prebuild.xml conflict fix.  But the full application seems to generate a regression test error anyway.
2011-08-13 01:13:17 +01:00
Micheil Merlin
d0bcaf1f16 llGetPrimitveParams fix prim hollow/hole shape return value 2011-08-13 01:02:07 +01:00
Aaron Duffy
90c6fa89be Fix a bug preventing region modules from creating trees at anything but the default scale. 2011-08-13 00:52:32 +01:00
Justin Clark-Casey (justincc)
78ff82bfe9 If a map request to a server fails, always close the outbound connection.
This probably doesn't help with the current memory leak.
2011-08-12 23:40:22 +01:00
Justin Clark-Casey (justincc)
ed142ead25 minor: change login enable/disable messages in last commit so that they occur after the setting has been made 2011-08-12 22:50:58 +01:00
Justin Clark-Casey (justincc)
4b88f04c0a minor: On "login disable/enable" always tell the user the final login status, rather than remaining silent if it was already on/off 2011-08-12 22:46:42 +01:00
Justin Clark-Casey (justincc)
76e0afe83f tidy up some OSSL NPC parameter names 2011-08-12 02:46:44 +01:00
Justin Clark-Casey (justincc)
16ac5413dd rename position parameter in osNpcMoveToTarget to target 2011-08-12 01:52:12 +01:00
Justin Clark-Casey (justincc)
aebd46a434 rename osNpcStopMoveTo() to osNpcStopMoveToTarget() 2011-08-12 01:32:49 +01:00
Justin Clark-Casey (justincc)
2169cf04f9 When saving appearance, only save the baked textures, not the other face textures (which are already stored permanently) 2011-08-12 01:24:15 +01:00
Justin Clark-Casey (justincc)
65c4b8d37b Fix kicking of NPCs via "kick user" console command.
Needed to hook up the Close() function in the NPCAvatar IClientAPI implementation, which [unfortunately] is still needed
2011-08-12 00:51:05 +01:00
Justin Clark-Casey (justincc)
0a1bbc27d2 Allow the osNpcCreate() function to accept a notecard name or asset for initial appearance 2011-08-12 00:14:06 +01:00
Justin Clark-Casey (justincc)
d23d37d2aa implement osNpcGetPos() 2011-08-11 23:36:22 +01:00
Justin Clark-Casey (justincc)
a21e98ae1a implement osNpcGetRot() and osNpcSetRot()
Rotation works if done around the z axis.  Anything else leads to random results.
2011-08-11 23:28:14 +01:00
Justin Clark-Casey (justincc)
b1ae930c6b Implement osAgentSaveAppearance() to save the appearance of an avatar in the region to a notecard
This is separate from osOwnerSaveAppearance() so that owner saves can be allowed without allowing arbitrary avatar saves
2011-08-11 22:26:47 +01:00
Justin Clark-Casey (justincc)
50945dd560 add regression test for osNpcCreate when cloning an in-region avatar 2011-08-11 21:43:26 +01:00
Justin Clark-Casey (justincc)
83ca5a101d Split out to-be-common setup stuff from TestOsOwnerSaveAppearance() 2011-08-11 20:56:18 +01:00
Justin Clark-Casey (justincc)
5d694a224f Add missing System.Xml reference which is required to build on Windows but not mono 2011-08-11 20:05:11 +01:00
Justin Clark-Casey (justincc)
b3a4b10531 eliminate redundant ground sitting checks since these are already done in enclosing control structures 2011-08-11 03:16:46 +01:00
Justin Clark-Casey (justincc)
3d4cc93a8e minor: a little bit of log message correction/commenting out 2011-08-11 03:07:41 +01:00
Justin Clark-Casey (justincc)
1aa1711893 eliminate the rotation parameter from SP.HandleMoveToTargetUpdate(). This can just use the currently set Rotation
looks like I spoke to soon about eliminating jerkiness on "go here"/autopilot.  It's still there.
2011-08-11 03:06:38 +01:00
Justin Clark-Casey (justincc)
36f7d36fa1 instead of setting avatar rotation twice in SP.HandleAgentUpdate(), eliminate the second setting in AddNewMovement() 2011-08-11 02:54:15 +01:00
Justin Clark-Casey (justincc)
29093df1a7 get rid of intermediate local store of body rotation in ScenePresence, this is not used. 2011-08-11 02:36:02 +01:00
Justin Clark-Casey (justincc)
ee22569c92 only accept npc UUIDs to osNpc* functions, not names (except for create) 2011-08-11 02:19:13 +01:00
Justin Clark-Casey (justincc)
cace6eaa8a comment out some of the currently less useful debug log messages 2011-08-11 02:06:32 +01:00
Justin Clark-Casey (justincc)
4402851b08 Get NPCs to revert to the correct 'resting' animation (e.g. stand or hover) after finishing their movement. This also fixes judder after an avatar has finished "go here"/autopilot movement in a viewer.
This meant reseting the SP.AgentControlFlags since the Animator uses these to determine the correct default animation.
2011-08-11 01:56:42 +01:00
Justin Clark-Casey (justincc)
951ffad81e If SP.MoveToTarget has been called with a force walk, begin by landing the avatar.
There is a bug here - once an avatar has landed it glides to its new position instead of performing a walk animation
2011-08-11 00:23:54 +01:00
Justin Clark-Casey (justincc)
7f499ff3f3 Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()
Default for this function is now not to automatically land.
This allows better control by scripts when an avatar is going to be landing on a prim rather than the ground.
Stopping the avatar involves faking a collision, to avoid the pid controller making it overshoot.
A better approach would be to gradually slow the avatar as we near the target
2011-08-10 23:56:19 +01:00
Justin Clark-Casey (justincc)
fb92678b83 fly and no fly constants for osNpcMoveToTarget() 2011-08-10 22:34:42 +01:00
Justin Clark-Casey (justincc)
5d6c9644fa early code to allow scripts to force npcs not to fly when moving to target
this is to allow walking on prims.  it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
2011-08-10 01:47:37 +01:00
Justin Clark-Casey (justincc)
4cb8d6379d Stop trying to deregister caps or close child agents when an NPC is removed 2011-08-10 00:59:31 +01:00
Justin Clark-Casey (justincc)
195c1dc9b8 implement osNpcStopMoveTo() to cancel any current move target 2011-08-10 00:26:38 +01:00
Justin Clark-Casey (justincc)
cba54090c7 When an NPC appearance is loaded, rez the attachments too 2011-08-09 23:25:52 +01:00
Justin Clark-Casey (justincc)
92e96d394a When an NPC is created, stop telling neighbouring regions to expect a child agent 2011-08-09 23:11:07 +01:00
Justin Clark-Casey (justincc)
795c8e6c22 Add osOwnerSaveAppearance() to help with setting up NPC appearances. Not yet ready for user use.
Adds regression test.
2011-08-09 22:05:47 +01:00
Justin Clark-Casey (justincc)
57cc180fd5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-08-09 03:52:31 +01:00
Justin Clark-Casey (justincc)
e869eeb0bf Implement first draft functions for saving and loading NPC appearance from storage.
This works by serializing and deserializing NPC AvatarAppearance to a notecard in the prim inventory and making the required baked textures permanent.
By using notecards, we avoid lots of awkward, technical and user-unfriendly issues concerning retaining asset references and creating a new asset type.
Notecards also allow different appearances to be swapped and manipulated easily.
This also allows stored NPC appearances to work transparently with OARs/IARs since the UUID scan will pick up and store the necessary references from the notecard text.
This works in my basic test but is not at all ready for user use or bug reporting yet.
2011-08-09 03:51:34 +01:00
Snoopy Pfeffer
916d1b7511 Merge branch 'master' of ssh://snoopy@opensimulator.org/var/git/opensim 2011-08-09 01:14:53 +02:00
Justin Clark-Casey (justincc)
3e16a0fbdd factor out common notecard caching code from 3 methods. 2011-08-09 00:12:41 +01:00
Snoopy Pfeffer
1677587532 Let's see if I am really a core developer, now. ;) 2011-08-09 01:11:39 +02:00
Justin Clark-Casey (justincc)
78d8ce3816 refactor: split out generic parts of osMakeNotecard() into a separate. Add method doc. Other minor tidies. 2011-08-08 23:22:47 +01:00
Justin Clark-Casey (justincc)
6878049952 get rid of bogus log message 2011-08-06 03:06:05 +01:00
Justin Clark-Casey (justincc)
eec54adac5 remove some obsolete tests that are now done elsewhere 2011-08-06 02:38:38 +01:00
Justin Clark-Casey (justincc)
e37f8cf902 Add a test to check that ScenePresence and circuit go away when a root agent is closed down 2011-08-06 02:27:25 +01:00
Justin Clark-Casey (justincc)
85e07c78fb refactor: Change SceneHelpers.AddClient() to AddScenePresence().
This seems to make more sense as we can get SP.ControllingClient
2011-08-06 02:17:41 +01:00
Justin Clark-Casey (justincc)
83ba35a26b rip out sog generation methods in ScenePresenceAgentTests and use SceneHelpers instead
Not that it matters, since these tests are pretty bogus anyway.
Also, renames some test classes for consistency.
2011-08-06 02:01:25 +01:00
Justin Clark-Casey (justincc)
2b26d2f1a5 prevent "create region" console command from being able to create a region with the same id as one that already exists.
Addresses http://opensimulator.org/mantis/view.php?id=5617
2011-08-06 01:35:01 +01:00
Justin Clark-Casey (justincc)
76f46b2545 Do proper locking of m_localScenes list in SceneManager 2011-08-06 01:15:49 +01:00
Justin Clark-Casey (justincc)
dad1d6df18 rename TestHelper => TestHelpers for consistency 2011-08-06 00:31:03 +01:00
Justin Clark-Casey (justincc)
bda1a4be45 rename test SceneSetupHelpers -> SceneHelpers for consistency 2011-08-06 00:26:37 +01:00
Justin Clark-Casey (justincc)
cba40de109 extend phantom flag regression test to toggle back off 2011-08-06 00:22:14 +01:00
Justin Clark-Casey (justincc)
c6c91e6599 refactor: Fold most SOP.ScriptSet* methods back into script code. Simplify. 2011-08-06 00:13:08 +01:00
Justin Clark-Casey (justincc)
ba89fc3aa1 Add regression test for setting phantom status on a scene object. This is not yet complete. 2011-08-05 23:42:05 +01:00
Justin Clark-Casey (justincc)
f18780d0e3 Get "show region" command in GridService to show grid co-ordinates rather than meters co-ord.
This makes it consistent with "show regions"
Addresses http://opensimulator.org/mantis/view.php?id=5619
2011-08-05 22:56:53 +01:00
Mic Bowman
82f41fdcb5 BulletSim: fix problem with not convex hulling large objects by creating unit meshes and always scaling in Bullet 2011-08-05 14:53:39 -07:00
Justin Clark-Casey (justincc)
7d35bf8193 refactor: remove a sliver of unnecessary code 2011-08-05 22:45:42 +01:00
Justin Clark-Casey (justincc)
1a2518d19b Instead of moving the file to its final place when FlotsamCache writes to disk, copy it instead.
This is to eliminate IOException where two threads compete to cache the same file.
2011-08-05 19:57:47 +01:00
Mic Bowman
c3f579046c Merge branch 'master' into bulletsim 2011-08-05 11:13:02 -07:00
Robert Adams
7640b5abf6 BulletSim: Parameters settable from ini file. Linksets. Physical property value tuning 2011-08-05 11:01:27 -07:00
Justin Clark-Casey (justincc)
94d496cf2b remove the largely unused copy/pasted HandleAgentRequestSit() method 2011-08-05 00:57:43 +01:00
Justin Clark-Casey (justincc)
1918402cb1 if an NPC target is set to a ground location, then automatically land them when they get there.
This doesn't help where the target is a prim surface.  In these situations, it might be better to provide manual overrides so the script can control whethre an avatar flys there/lands, etc.
2011-08-04 03:08:35 +01:00
Justin Clark-Casey (justincc)
54ce029342 if an NPC move to target is above the terrain then make it fly to destination 2011-08-04 02:31:40 +01:00
Justin Clark-Casey (justincc)
f999acd095 minor: remove some mono compiler warnings 2011-08-04 01:46:34 +01:00
Justin Clark-Casey (justincc)
c678b75d65 if a move to target is set underground, constrain it to the terrain height 2011-08-04 01:45:56 +01:00
Justin Clark-Casey (justincc)
61a931490d move bAllowUpdateMoveToPosition switch outside of HandleMoveToTargetUpdate() 2011-08-04 01:30:37 +01:00
Justin Clark-Casey (justincc)
831f933ce6 only call move target code in SP.HandleAgentUpdate() if we're actually in the process of moving to a position 2011-08-04 01:22:01 +01:00
Justin Clark-Casey (justincc)
7b2b47530e move reset code out of HandleMoveToTargetUpdate() so that we only call it where needed instead of passing in a flag 2011-08-04 01:16:24 +01:00
Justin Clark-Casey (justincc)
fc64cc2439 Make SIGNIFICANT_MOVEMENT SP constant a top-level property so that other classes can use it. 2011-08-04 01:05:43 +01:00
Justin Clark-Casey (justincc)
7f6f100c5a When the NPC reaches within the SIGNIFICANT_CLIENT_MOVEMENT distance of the target, move it directly to the target.
This makes the movement exact.  Regression test changed to check avatar reaches exact target.
Also has the nice side effect of making NPC animations continue to work after the first movement (which wasn't working).  However, avatar still pauses in mid-stride
2011-08-04 01:00:33 +01:00
Justin Clark-Casey (justincc)
ba0c65e028 extend npc move test to check a second movement 2011-08-04 00:25:51 +01:00
Justin Clark-Casey (justincc)
6f913e8caf eliminate pre-existing unused SP.StopMovement() 2011-08-04 00:13:27 +01:00
Justin Clark-Casey (justincc)
a2f5b4ac9a Rename HandleMoveToPositionUpdate() to HandleMoveToTargetUpdate() for consistency. Improve method doc. 2011-08-04 00:10:53 +01:00
Justin Clark-Casey (justincc)
0299cb060e eliminate a reset position flag by using functionally equivalent DCFlagKeyPressed 2011-08-04 00:06:01 +01:00
Justin Clark-Casey (justincc)
6ab01b338f Stop calling the SP.ResetMoveToTarget() code if a target is not actually set 2011-08-03 23:59:13 +01:00
Justin Clark-Casey (justincc)
31fb6b2d72 remove move to duck walk compensation - no longer required.
extends npc move to regression test to check stop after sufficient sim updates
2011-08-03 23:40:05 +01:00
Justin Clark-Casey (justincc)
61d49d4f63 rename NPC.Autopilot to NPC.MoveToTarget internally. Add method doc to INPCModule 2011-08-03 23:20:36 +01:00
Justin Clark-Casey (justincc)
31cea17f8e extend move test to check avatar is moving in the right direction after setting a move target 2011-08-03 23:13:52 +01:00
Justin Clark-Casey (justincc)
21d8a6b0e8 extend move test to check one beat of the simulator without actually asking the npc to move. 2011-08-03 23:06:18 +01:00
Justin Clark-Casey (justincc)
d78fe44191 Add passing but incomplete NPC move regression test 2011-08-03 22:51:46 +01:00
Justin Clark-Casey (justincc)
e0503d397c stop avatar service being set up in NPC TestCreate() - it's no longer used 2011-08-03 22:45:43 +01:00
Justin Clark-Casey (justincc)
a333c60f28 refactor: rename the move to position methods to move to target to be consistent with terminology used by scene object part and elsewhere 2011-08-03 22:34:05 +01:00
Justin Clark-Casey (justincc)
2964467708 get rid of vestigal move to parameters 2011-08-03 22:11:05 +01:00
Justin Clark-Casey (justincc)
b7a3f36c65 enable the NPC module for its regression test 2011-08-03 04:48:47 +01:00
Justin Clark-Casey (justincc)
c1c0d780ee correct config comments mistakes 2011-08-03 04:36:25 +01:00
Justin Clark-Casey (justincc)
797def8aa4 Put config to enable disable [NPC] module.
Default is disabled.  You will need to explicitly enable to toy with this.
2011-08-03 04:33:45 +01:00
Justin Clark-Casey (justincc)
6e4ec29722 Do a partial fix/implementation of OSSL osNpcMoveTo()
Avatar moves and stops.  However, will stop in mid stride.
And if the move to position is in the air, avatar will continue to make vain and quite hilarious attempts to take off (but never doing so).
Clearly more work is needed.
2011-08-03 04:19:19 +01:00
Justin Clark-Casey (justincc)
68a5fe0431 Improve z axis move to/autopilot so the avatar does alternative crouch/huzzah when walking along the ground
Moving a flying avatar to a ground point doesn't yet land the avatar.  This may or may not be the best thing
2011-08-03 02:59:49 +01:00
Justin Clark-Casey (justincc)
30e816bfa2 Implement move to/autopilot for z axis movement as well.
This is jerky (an artifact of the way it's being done, I think), but it's better than on implementation.
2011-08-03 02:04:38 +01:00
Justin Clark-Casey (justincc)
0c23764ce2 get autopilot/go here to work immediately.
This works with viewer 1.23.5 and so in theory should work with libopenmetaverse.
2011-08-03 01:12:32 +01:00
Justin Clark-Casey (justincc)
1c126e6e22 refactor: Move update_movement_flag and the final check inside the m_allowMovement if in HandleAgentUpdate() since it's logically only ever used there 2011-08-03 00:55:52 +01:00
Justin Clark-Casey (justincc)
f9689f5cc9 refactor: move out code from HandleAgentUpdate() which processes updates to move to a set position
Also comment out the really spammy log message I accidentally left in on the last commit.
2011-08-03 00:46:46 +01:00
Robert Adams
74b23210a7 Fix Flotsam cache so it will use the disk cache if the memory cache is enabled 2011-08-02 23:44:40 +01:00
Justin Clark-Casey (justincc)
c122489e09 Partially fix autopilot/go here
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
2011-08-02 23:41:12 +01:00
Justin Clark-Casey (justincc)
b7f81d3492 If GetRegionByName can't match something in the local db, then search the hypergrid if that functionality has been enabled.
This should fix the problem today where old style HG addresses (e.g. "hg.osgrid.org:80:Vue-6400") stopped working since 8c3eb324c4
2011-08-02 01:06:32 +01:00
Justin Clark-Casey (justincc)
d2220da205 remove ancient late 2008 cruft that handles the situation where the GetRegionsByName used to not be implemented/returned null.
It's impossible that anybody is still running this since the infrastructure has changed massively since that time.
2011-08-02 00:58:08 +01:00
Justin Clark-Casey (justincc)
17e9d61f43 Change GridService.GetRegionByName() to only return info if there is an exact region name match, unlike GetRegionsByName()
This should fix the first part of http://opensimulator.org/mantis/view.php?id=5606, and maybe 5605.
Thanks to Melanie for helping with this.
2011-08-02 00:52:48 +01:00
Justin Clark-Casey (justincc)
e6fb9d74ef Revert "In GridService, have GetRegionByName() call GetRegionsByName() with a max return of 1 instead of duplicating code."
This reverts commit 8d33a2eaa1.

Better fix will be along in a minute
2011-08-02 00:40:23 +01:00
Justin Clark-Casey (justincc)
8d33a2eaa1 In GridService, have GetRegionByName() call GetRegionsByName() with a max return of 1 instead of duplicating code.
This also fixes the problem where this method would not return a hypergrid region, unlike GetRegionsByName()
2011-08-02 00:26:17 +01:00
Justin Clark-Casey (justincc)
b6ac1c46cd Get rid of AvatarAppearance.Owner to simplify the code.
This is not used for anything - appearances are always properties of objects with ids (ScenePresence, AgentCircuitData) and just has the potential to get out of sync when the appearance is cloned.
2011-08-02 00:13:04 +01:00
Justin Clark-Casey (justincc)
59f548cda8 Get osNpcCreate appearance working with avatars that are currently in the scene.
Had to stop using AvatarService for now since it doesn't store baked texture IDs (which is why this was failing).
Also failing because cloning appearance was also cloning the AvatarApperance.Owner field, which we weren't then changing.
Extended TestCreate() to check this.
2011-08-01 23:41:29 +01:00
Justin Clark-Casey (justincc)
05e94ff27e Move common gemo/agent map name code into CreateGeom()
Fix build break.
2011-08-01 07:04:13 +01:00
Justin Clark-Casey (justincc)
f9d6a91252 Instead of preserving old name in geom_name_map in change size or shape, use the Name property instead.
This is equivalent since the prim 'name' is never changed.  In fact, this propery is never used for prims
2011-08-01 06:52:52 +01:00
Justin Clark-Casey (justincc)
40a78db182 comment out unused code in OdeScene.TriCallback() 2011-08-01 06:47:45 +01:00
Justin Clark-Casey (justincc)
ccb4b76242 On geom removal, remove the name from the OdeScene.geom_name_map too 2011-08-01 06:40:29 +01:00
Justin Clark-Casey (justincc)
f79df6f43f remove the unused ODEPrim.prev_geom field 2011-08-01 06:35:59 +01:00
Justin Clark-Casey (justincc)
f32dbef647 When an ODE geom is removed (as when a non-phantom prim is deleted, resized or shape changed, also remove the OdeScene.actor_name_map entry pointing to the phys actor
This is to stop a small memory leak over time when prims are deleted or phantom-toggled
2011-08-01 06:32:30 +01:00
Justin Clark-Casey (justincc)
6618948ff9 refactor: centralize prim geom removal code from four places to one 2011-08-01 06:15:02 +01:00
Justin Clark-Casey (justincc)
509200d5cd minor: add note to RemovePrimThreadLocked() to the effect that it contrary to the summary, it is being called from within Simulate() lock (OdeLock) 2011-08-01 05:48:27 +01:00
Justin Clark-Casey (justincc)
dfa2f7d715 If a prim changes size or shape, add actor to _parent_scene.actor_name_map with new prim_geom key, as the old one becomes invalid.
This resolves http://opensimulator.org/mantis/view.php?id=5603 where changing size or shape would stop collision_start being fired in a running script.
In both this and existing code we are not removing old actors from actor_name_map when the existing prim_geom is removed, which leads to a small memory leak over time.
This needs to be fixed.
2011-08-01 05:43:04 +01:00
Justin Clark-Casey (justincc)
2102964826 minor: indentation correction 2011-08-01 05:14:16 +01:00
Justin Clark-Casey (justincc)
b757583662 Comment out SOP logging message I accidentally left in 2011-07-31 03:41:35 +01:00
Justin Clark-Casey (justincc)
aea7007533 refactor: split out ninja joint part of SOP.DoPhysicsPropertyUpdate() so that we don't have to look at it if it's not relevant 2011-07-31 02:50:50 +01:00
Justin Clark-Casey (justincc)
450bdb3657 In the packetpool, if we encounter a data block that somehow wasn't retrieved via GetDataBlock() then create a new stack instead of throwing an exception 2011-07-31 02:30:40 +01:00
Justin Clark-Casey (justincc)
d041276517 Remove _mesh field since the mesh data no longer needs to be stored after it's initially used.
This may improve memory usage for regions using mesh and sculpts, though I suspect that it doesn't address the current memory leak.
2011-07-31 01:03:52 +01:00
Justin Clark-Casey (justincc)
bd8f538f80 refactor: Remove argument to pass in an initial mesh to OdePrim since this is no longer required and it prevents removal of the _mesh field (which is only used temporarily)
If passing in a mesh becomes important again in the future then this can be reinstated.
2011-07-31 00:49:49 +01:00
Justin Clark-Casey (justincc)
196a774b24 minor: correct method doc for last commit 2011-07-31 00:45:20 +01:00
Justin Clark-Casey (justincc)
454312f5bc refactor: rename CreateGeom _mesh argument to mesh, so as to not confuse this with the pre-existing _mesh field 2011-07-31 00:44:23 +01:00
Justin Clark-Casey (justincc)
f1ce17071d minor: method doc 2011-07-31 00:43:02 +01:00
Justin Clark-Casey (justincc)
e08be91c84 Refactor: Replace instances of m_isphysical with IsPhysical rather than have some code reference the private var and other the public var without any functionality difference.
Add some method doc to IsPhysical
2011-07-30 23:44:47 +01:00
Justin Clark-Casey (justincc)
4f4d080461 refactor: Rename ODEPrim.ParentPrim() to AddChildPrim() for code readability 2011-07-30 23:20:43 +01:00
Justin Clark-Casey (justincc)
49a3740ee9 minor: remove mono compiler warnings, some code spacing adjustments 2011-07-30 03:56:29 +01:00
Justin Clark-Casey (justincc)
9fc59e2bf2 minor: remove some mono compiler warnings 2011-07-30 03:19:00 +01:00
Justin Clark-Casey (justincc)
d917010433 minor: Add method doc to collision subscription methods. Change method case to reflect OpenSim standards. 2011-07-30 03:11:36 +01:00
Justin Clark-Casey (justincc)
310a685220 refactor: extract method that generates a physics mesh from prim shape data 2011-07-30 02:34:50 +01:00
Justin Clark-Casey (justincc)
4197f66052 refactor: extract code which generate points and faces from sculpt data into it's own method.
fix build break.
2011-07-30 02:22:05 +01:00
Justin Clark-Casey (justincc)
b0eacadeb4 fix bug in previous commit 2011-07-30 02:09:17 +01:00
Justin Clark-Casey (justincc)
122e01949d refactor: move the code that generates physics meshs from prim mesh data into a separate method, in order to make the code more readable. 2011-07-30 02:08:32 +01:00
Justin Clark-Casey (justincc)
7791c1fd1e Replace the generic exception logging in flotsam asset cache with more specific stuff to return more information. 2011-07-30 01:35:22 +01:00
Justin Clark-Casey (justincc)
c4c6b457c3 correct misleading "fcache status" text - deep scans are not performed when this command is invoked. 2011-07-30 01:16:10 +01:00
Justin Clark-Casey (justincc)
835352aee9 Make it clearer what the save_crashes setting in [Startup] actually does. 2011-07-30 01:05:30 +01:00
Justin Clark-Casey (justincc)
2f5995f5c0 Temporary code to change bad AvatarHeight values in the AvatarService to the default Ruth height.
I was persuaded to do this because simulators on osgrid will persist in inserting bad values for an unknown length of time, even after the original simulator bug which was inserting bad values is out in an osgrid distro
This code can be removed at some point in the future, though I think there is an argument for having services police these values in open grids.
2011-07-30 00:58:17 +01:00
Justin Clark-Casey (justincc)
6d866ba6d5 Temporarily put in a log line which shows which locale the user is running in. 2011-07-29 23:43:35 +01:00
Justin Clark-Casey (justincc)
9a5e0ede7c For all Util.FireAndForget invocations, set thread to en_US before continuing wtih the invocation.
This is to avoid bugs where the locale is not manually set on the thread and bad data values get sent to the database or over the wire.
Lots of code does this manually but as we've seen, a subtle change can hit code which has forgotton to do this.
Since en_US show be used throughout the server at present, setting it at FireAndForget seems reasonable.
Arguably, it would be better to do this where data is sent, but doing it here is much easier.
All the manual BeginInvokes() remaining in the code should probably call FireAndForget instead.
2011-07-29 23:21:57 +01:00
Justin Clark-Casey (justincc)
84c68c61bd When we start the appearance saving thread, make sure we set the culture to En_US so that a different culture doesn't save values with commas as decimal points, etc.
This will hopefully stop giants stalking the grid.
See http://opensimulator.org/mantis/view.php?id=5614
2011-07-29 22:27:04 +01:00
Justin Clark-Casey (justincc)
5043be13fb Return null from CreateMeshFromPrimMesher if OpenJPEG decoding of the sculpt data fails.
This is to address http://opensimulator.org/mantis/view.php?id=5612
2011-07-29 21:49:23 +01:00
Justin Clark-Casey (justincc)
f3c5a5b745 fix extremely minor Ode bug where the _taintedPrimL list would always be cleared on every OdeScene.Simulate() even if it was already empty. 2011-07-29 01:18:42 +01:00
Justin Clark-Casey (justincc)
2a39d0cdb0 refactor: Move another chunk of ninja code out of the OdeScene.Simulate() loop for consistency and readability. 2011-07-29 00:51:07 +01:00
Justin Clark-Casey (justincc)
3f0d8f3cbf refactor: Simplify reading OdeScene.Simulate() loop by shunting all the NINJA joints stuff into its own method.
Now if ninja joints isn't active (which is the default) don't have to wade through a lot of massively indented irrelevant code.
2011-07-29 00:39:02 +01:00
Justin Clark-Casey (justincc)
9c6227da66 refactor: unindent the OdeScene.Simulate() loop to ignore the long commented out ifs and locks
This is to make it more readable.
2011-07-29 00:23:42 +01:00
Justin Clark-Casey (justincc)
8c3eb324c4 When using osTeleportAgent() and osTeleportAvatar(), only teleport if the region name exactly matches (not near matches)
This is to prevent situations where the first name returned by GridService.GetRegionsByName is not one that exactly matches the given region name, even when there is an exact match later on in the list.
Only the above two functions call this teleport method (the map uses a different routine) so this seems safe to change.
Addresses http://opensimulator.org/mantis/view.php?id=5606
2011-07-29 00:00:35 +01:00
Melanie
c4ffcd4b7d Ensure that packet headers get parsed correctly 2011-07-27 09:12:00 +01:00
Robert Adams
a95f2fe4b3 BulletSim: Update dlls 2011-07-25 10:11:55 -07:00
Melanie
4cdc8806fb Fix LLTextBox to work with the updated libOMV 2011-07-23 11:40:38 +01:00
Justin Clark-Casey (justincc)
504de8bc47 Pass the first name and last name from the agent circuit data to the authorization service rather than from the account.
This is to accomodate situations where the authorization service is being used by the hypergrid, where visitors have no user account.
See http://opensimulator.org/mantis/view.php?id=5517, this code is somewhat adapted/cleaned up from Michelle's patch
I'm a little ambivalent about this since visitors could put anything in firstname/lastname so it's not much of an auth measure.
It's up to the auth service to decide which data it actually uses.
Possibly we should be passing through other info such as agent circuit ip
2011-07-23 03:48:53 +01:00
Justin Clark-Casey (justincc)
ea58aee338 Change default AllowScriptCrossings config setting to true.
When this setting is false and other defaults haven't been changed, scripts entering the simulator from another sim are automatically restarted but their state is not preserved.
When this setting is true, state that accompanies the script is reloaded (e.g. if a script had a variable i = 1 when leaving the source region, it will still have i = 1 on the destination region).
This setting does not affect crossings when regions are run in the same simulator.  In this case, state is already preserved.
2011-07-23 02:31:00 +01:00
Makopoppo
4eaca4884e Fixed serverside_object_permission default value confliction 2011-07-23 02:26:13 +01:00
Justin Clark-Casey (justincc)
be9b4ad23a For default everyone permissions on library items, make notecards and scripts non-modifiable (but still copyable, etc).
Users should not be given the impression that they can modify these items.
This still does not solve the issue where library items cannot be dragged into prims or user inventory any time after they are initially seen.
Curiously, manually copying and pasting still appears to work.
On the surface, this seems to have something to do with library item caching on the client, since deleting the cache allows drag to work again once
Not sure what the exact problem is.
2011-07-23 02:18:23 +01:00
Justin Clark-Casey (justincc)
f0895028e9 Remove manually permissions settings on all current library items so that they use the defaults instead.
Some items had completely wrong permissions - this is easier than correcting them all.
The ability to set permissions in xml is retained since there are use cases for this (e.g. to create no-mod library scripts)
2011-07-23 02:13:11 +01:00
Justin Clark-Casey (justincc)
fcaa4f6012 Revert "Don't load current/next/everyone/base permissions from the library item xml files - always use PermissionMask.All instead (which was the existing default)."
There actually are uses for this.  I will correct the perms instead since some entries appear to be wrong.

This reverts commit 667b54f5a2.
2011-07-23 02:05:51 +01:00
Justin Clark-Casey (justincc)
667b54f5a2 Don't load current/next/everyone/base permissions from the library item xml files - always use PermissionMask.All instead (which was the existing default).
Library items always need the same permissions, so it doesn't make sense to load them from the xml files.  This just opens the door to permissions mistakes.
2011-07-23 01:59:14 +01:00
Robert Adams
869883f2dc BulletSim: fix buoyancy for prims. Start of configurable physics parameters. 2011-07-22 15:23:57 -07:00
Justin Clark-Casey (justincc)
aadc4eb3b8 Fix problem where sculpts were not getting physical proxies
Fixed this by inspecting Shape.SculptEntry at various places instead of Shape.SculptType.  Sculpties actually have a SculptType of Cylinder - only true mesh is SculptType.Mesh
This addresses http://opensimulator.org/mantis/view.php?id=5595
2011-07-22 19:23:38 +01:00
Dan Lake
3c09f918ad Merge branch 'bulletsim' of ssh://opensimulator.org/var/git/opensim into bulletsim 2011-07-22 10:24:26 -07:00
Robert.Adams
5ffec1cd64 Pass collisions and updates in pinned memory (saves marshaling).
Fix folding feet by using collision normals.
Add constraint specification.
2011-07-22 10:23:40 -07:00
Dan Lake
fa696c2eb2 Pass collisions and updates in pinned memory (saves marshaling).
Fix folding feet by using collision normals.
Add constraint specification.
2011-07-22 10:22:21 -07:00
Mic Bowman
4cbc912375 Merge branch 'master' into bulletsim 2011-07-22 09:02:32 -07:00
Melanie
6ac0bc7259 Thank you, Michelle Argus, for a patch that adds reading the agent limit
from XML properly.
2011-07-22 12:36:05 +01:00
Oren Hurvitz
02e54c57c4 Generate the initial maptile asynchronously
Signed-off-by: Melanie <melanie@t-data.com>
2011-07-22 09:52:21 +01:00
root
d8228f4374 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-07-21 21:12:50 +01:00
Oren Hurvitz
71ef4a8fb3 When an uncached asset is requested multiple times concurrently, only load it once
Signed-off-by: root <root@grid00001.t-data.com>
2011-07-21 20:52:56 +01:00
Oren Hurvitz
56830bfe07 When handling SetAppearance packet, always save the appearance; not only if the texture was changed 2011-07-21 20:18:36 +01:00
Oren Hurvitz
f97278610c Fixed updating avatar appearance
Signed-off-by: root <root@grid00001.t-data.com>
2011-07-21 20:13:32 +01:00
Justin Clark-Casey (justincc)
6426492da0 remove the windows debugging symbols for the long protobuf-net 2011-07-21 03:24:20 +01:00
Justin Clark-Casey (justincc)
630e11cbe1 remove dead MXP default symbols. The MXP code is long, long gone. 2011-07-21 03:22:27 +01:00
Justin Clark-Casey (justincc)
e1ce106790 make [SMTP] default comment option match actual default 2011-07-21 03:21:19 +01:00
Justin Clark-Casey (justincc)
0a09c45726 minor: group all the map tile options together 2011-07-21 03:18:10 +01:00
Justin Clark-Casey (justincc)
d2d67a1abf remove pointless quotes from GenerateMaptiles option in OpenSimDefaults.ini 2011-07-21 03:14:43 +01:00
Justin Clark-Casey (justincc)
69c2d3434a minor: remove the pointless quotes from the GenerateMaptiles option 2011-07-21 03:13:54 +01:00
Justin Clark-Casey (justincc)
703d130e96 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-07-21 03:10:28 +01:00
Justin Clark-Casey (justincc)
1c758ae01c make default TextureOnMapTile true for the older map imager
Don't know of a good reason not to do this, seems to work fine.
2011-07-21 03:08:58 +01:00
Dan Lake
81fe1cfad6 Merge branch 'bulletsim' of ssh://opensimulator.org/var/git/opensim into bulletsim 2011-07-20 15:04:23 -07:00
Dan Lake
2c11f7fc38 Merge branch 'master' into bulletsim 2011-07-20 15:01:32 -07:00
Dan Lake
3270bd560e Removed unused AddPrimShape methods in PhysicsScene caused by merge conflicts 2011-07-20 14:34:02 -07:00
Careminster Team
9fc7d65df7 Apply the localID to the Physics actor to prevent null calls later 2011-07-19 18:26:36 +01:00
Careminster Team
51c47677a1 Tidy up a superfluous AddPrimShape override in PhysicsScene 2011-07-19 18:17:19 +01:00
Justin Clark-Casey (justincc)
ee829a71c2 On all undo/redo operations, consistently lock the undo object for everything, in order to avoid any deadlock issues. 2011-07-19 06:13:05 +01:00
Justin Clark-Casey (justincc)
c50533659a If we store an undo, wipe anything already present on the redo stack
This stops problems when we undo a few steps and start off down another path.
Surprisingly, apart from this now fixed problem, redo appears to be working too.
2011-07-19 06:11:16 +01:00
Justin Clark-Casey (justincc)
ec1ecd3633 stop redo throwing an exception if there is nothing to redo 2011-07-19 06:05:23 +01:00
Justin Clark-Casey (justincc)
25c532f2ec refator: simplify UndoState.Compare() code 2011-07-19 05:58:52 +01:00
Justin Clark-Casey (justincc)
9dd5a24495 rip out pointless null checks in UndoState where part can never be null 2011-07-19 05:51:19 +01:00
Justin Clark-Casey (justincc)
bc3679b67d Fix undo when changing just the root prim's position in a linkset.
I think (ha ha) this largely fixes undo, except for the fact that rotation a set of prims with 'edit linked parts' selected doesn't quite work properly (though this works fine if the checkbox isn't selected).
Also, the double undo bug for resize is still present.
Redo might be incredibly buggy, haven't even looked at that yet.
2011-07-19 05:46:17 +01:00
Justin Clark-Casey (justincc)
0ef29da9b2 refactor: rename UpdatePrimPosition() to UpdatePrimGroupPosition() for consistency 2011-07-19 05:20:04 +01:00
Justin Clark-Casey (justincc)
62325829ec comment out all kinds of debugging guff 2011-07-19 05:14:58 +01:00
Justin Clark-Casey (justincc)
1fdb16f1cd Fix undo for rotation of the root prim in a linkset on its own.
The only obviously broken things right now are the undo of the position of just a root prim (stays in place) and the fact that resizes need two undoes.
2011-07-19 05:05:50 +01:00
Justin Clark-Casey (justincc)
b2722e984a Fix undo of rotation of single prims in a linkset 2011-07-19 04:40:02 +01:00
Justin Clark-Casey (justincc)
97f1edfd95 Fix undo of prim group rotation.
This isn't that great since I think I broke it a few commits earlier.
Undo of rotation of individual prims in a linkset is still broken
2011-07-19 04:15:27 +01:00
Justin Clark-Casey (justincc)
4b9ef4f39c Rename UpdatePrimRotation() to UpdatePrimGroupRotation() since this is what it actually does and is more consistent with other method names. 2011-07-19 03:44:49 +01:00
Justin Clark-Casey (justincc)
7c468cda36 Stop undo of just the root prim position in the linkset from shifting the whole linkset.
However, what happens now is that undo just doesn't do anything when the root prim is selected on its own.  This requires more code than just fiddling with undo states.
2011-07-19 03:38:22 +01:00
Justin Clark-Casey (justincc)
c94dc95844 fix undo when resizing of non-root individual prims in a linkset
undo resize, rotation and position still needs fixing when only editing root prim of a linkset
2011-07-19 03:27:16 +01:00
Justin Clark-Casey (justincc)
430a4aeba8 Fix undo for resizing linksets
This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim
Resizing individual components of linksets is still dodgy.
Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first.  This applies to single prims and linksets.  Need to look into this.
2011-07-19 03:01:54 +01:00
Justin Clark-Casey (justincc)
86f45f6fe7 remove undo state storage in a few places where it's pointless
no functional effect - existing bugs still remain
2011-07-19 01:24:43 +01:00
Justin Clark-Casey (justincc)
6fc74b36d1 Make various tweaks to undo code in an effort to get things working better.
Undo rotation and position appear to be working.
Resizing a single prim appears to be working, though the undo has to be done twice.
Resizing a group of prims still does not work properly - possibly because in the UndoState we don't store a knowledge of when we're resizing a whole group rather than individual prims.
This needs to be addressed.
2011-07-18 04:54:21 +01:00
Justin Clark-Casey (justincc)
aec3b58a57 use standard sdk stack in terrain model rather than OpenSim.Framework.UndoStack.
remove OpenSim.Framework.UndoStack
2011-07-18 02:06:06 +01:00
Justin Clark-Casey (justincc)
3f8e571b78 Use a standard generic system stack for the undo/redo stacks instead of our own homebrew.
system stack also uses an array, so no performance penalty.
Also exposes undo count and adds a test assertion for correct undo count after resize
2011-07-18 02:01:12 +01:00
Justin Clark-Casey (justincc)
bdd340b9fc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-07-18 01:35:00 +01:00
Justin Clark-Casey (justincc)
e9a739f45f refactor: group all the undo/redo code in SOP into one place for easier code reading 2011-07-18 01:33:57 +01:00
Marck
dd2564d7ec refactor: Pull up Assembly of the SQLite classes as a protected property, so that it can be overwritten in subclasses. That way extensions can decide in which assembly migration resources should be looked up. This is a refactor similar to commit 9923a2ff10 for MySQL -- no functional changes. 2011-07-16 09:49:38 +02:00
Justin Clark-Casey (justincc)
f5ddf37112 Replace ifs in SOG.GroupResize() with Math.Min()
Also fiddle a bit with undo.  This is not currently working properly, though to be fair it also didn't appear to work in 0.7.1.1 either (at least for resize).
Will get some more attention soon.
2011-07-16 05:23:21 +01:00
Justin Clark-Casey (justincc)
9a80adf33a remove now unncessary parts of SceneObjectGroup.Resize() 2011-07-16 04:49:21 +01:00
Justin Clark-Casey (justincc)
122745fe1c refactor: replace scale limiting code with more elegant Math.Min calls 2011-07-16 04:28:49 +01:00
Justin Clark-Casey (justincc)
2b68ac4ba3 refactor: Push all part resize code down into SceneObjectPart.Resize() 2011-07-16 04:22:57 +01:00
Justin Clark-Casey (justincc)
4b5a6b655b add test for resizing one part in a group 2011-07-16 03:52:30 +01:00
Justin Clark-Casey (justincc)
df2a59d31b refactor: make SceneObjectGroup.GroupScale() a property rather than a mehod 2011-07-16 03:30:14 +01:00
Justin Clark-Casey (justincc)
0f9882db5b minor: add a log warning if a sculpt/mesh async asset request returns no data 2011-07-16 03:24:36 +01:00
Justin Clark-Casey (justincc)
6f9b855719 refactor: remove pointless sender != null tests, etc, in AssetReceived, since the method called always belongs to the object that generated the request 2011-07-16 03:16:24 +01:00
Justin Clark-Casey (justincc)
982e71b6b8 eliminate unused and redundant SceneObjectGroup.AssetReceived() 2011-07-16 03:08:28 +01:00
Justin Clark-Casey (justincc)
c82f19e41c fix build break from last commit 2011-07-16 03:06:30 +01:00
Justin Clark-Casey (justincc)
3fc12e7224 Eliminate the pointless textured id argument to SculptTextureCallback 2011-07-16 03:02:28 +01:00
Justin Clark-Casey (justincc)
2b339b7d2b minor: remove mono compiler warnings 2011-07-16 02:56:54 +01:00
Justin Clark-Casey (justincc)
27fae36a21 remove the need to supply SceneObjectGroup.GroupResize() with a localId.
This is utterly pointless scene we already know which sog we're dealing with.
2011-07-16 02:53:36 +01:00
Justin Clark-Casey (justincc)
50bd48542c Add very basic test for resizing a scene object with one prim 2011-07-16 02:44:00 +01:00
Justin Clark-Casey (justincc)
6179879308 minor: remove mono compiler warnings 2011-07-16 01:53:25 +01:00
Justin Clark-Casey (justincc)
da7340b9fb If resized shape is a mesh/sculpt, leave it to the mesh asset callback to trigger the physics actor taint.
In the last commit, the fix was made by updating all the child prim physics actors with the new size rather than just the root part.
2011-07-16 01:42:56 +01:00
Justin Clark-Casey (justincc)
18652eb87e Fix physics proxy regeneration when a mesh with more than one submesh is resized
Addresses http://opensimulator.org/mantis/view.php?id=5584
2011-07-16 01:36:27 +01:00
Justin Clark-Casey (justincc)
7247ca1644 use constants in llGetObjectDetails() rather than magic numbers 2011-07-16 00:08:11 +01:00
Justin Clark-Casey (justincc)
a9ba9d4a9e change async parameter name in AddLocalPacketHandler since it becomes a reserved keyword in .net 5
Also adds some method doc.
2011-07-15 23:51:55 +01:00
Justin Clark-Casey (justincc)
0ee7a5ee81 If object is an attachment, make llGetVel() return the avatar's speed rather than the object's own zero speed.
As per http://opensimulator.org/mantis/view.php?id=5575
2011-07-15 23:36:32 +01:00
Justin Clark-Casey (justincc)
3e5b2d52ff minor: method doc for baked texture uploading 2011-07-15 22:58:29 +01:00
root
e9dbe54ab1 Fix some local id issues in physics glue 2011-07-15 20:07:59 +01:00
Robert Adams
b55076990c fix duplication of physical objects for physics engines that care about the initial value of localID 2011-07-15 11:37:34 -07:00
Justin Clark-Casey (justincc)
c7e8529122 minor: remove whitespace 2011-07-13 01:25:17 +01:00
Justin Clark-Casey (justincc)
0d64155bb5 Remove an unused 404 checker since on a 404, GetResponse() throws a WebException rather than proceeding. 2011-07-13 01:24:22 +01:00
Justin Clark-Casey (justincc)
938b4f8bf8 if a SynchronousRestObjectRequester request fails, then unless it's due to a 404, log the exception for diagnostic purposes
This is instead of logging "Invalid XML" for all failures, even if they weren't a result of invalid xml.
A default TReponse is returned in the event of a 404, which is the same behaviour as previously.
2011-07-13 01:19:12 +01:00
Justin Clark-Casey (justincc)
e434ba5e8e Remove the obsoleted SynchronousRestObjectPoster 2011-07-13 00:52:32 +01:00
Justin Clark-Casey (justincc)
08dc07dc76 refactor: Move all callers of the obsoleted SychronousRestObjectPoster.BeginPostObject() to the identical SynchronousRestObjectRequester.MakeRequest() 2011-07-13 00:48:36 +01:00
Justin Clark-Casey (justincc)
5158ec0913 Add experimental module to check status of services that the simulator is connected to.
Currently disabled.
2011-07-13 00:24:55 +01:00
Justin Clark-Casey (justincc)
bf1b8397bb Add a warning to URI config in GridCommon.ini.example not to add a slash to the end.
Tidy up GridCommon.ini.example
2011-07-12 23:35:06 +01:00
Justin Clark-Casey (justincc)
3e456163dd Port implementation of llCastRay() from Aurora.
I haven't been able to test this since the viewer won't parse the llCastRay() function.  Maybe some activation cap is missing.  Could wait until it is activated by default in the viewer.
2011-07-12 22:13:15 +01:00
Mic Bowman
1f3e42adf3 reorder bulletsim and convex decomposition projects in prebuild.xml. seems
to fix the build on mono/linux.
2011-07-12 11:14:48 -07:00
Justin Clark-Casey (justincc)
d31e0a67f7 temporarily fix the build break with building the OdePlugin tests assembly.
This needs to be fixed properly.
2011-07-12 03:26:22 +01:00
Justin Clark-Casey (justincc)
f75f906e35 minor: remove whitespace to trigger another build 2011-07-12 03:13:05 +01:00
Justin Clark-Casey (justincc)
7442f064f5 Make OdePlugin tests build from their own directory rather than from the main OdePlugin directory
I suspect the former arrangement was confusing nant since file changes didn't appear to be rebuilding properly
Ode tests don't currently execute because Ode.NET can't pick up the native libode dll
However, this appears to also have been the case before, and these tests weren't being included in the "nant test" suite anyway.
Will need to fix some time.
2011-07-12 02:58:14 +01:00
Justin Clark-Casey (justincc)
df0e5cc9fe When a mesh object is added to a scene, delay adding the physics actor until the sculpt data has been added to the shape (possibly via an async asset service request)
This prevents spurious 'no asset data' for meshes added on startup.
2011-07-12 02:33:09 +01:00
Dan Lake
3dcc15ede3 Moved ConvexDecompositionDotNet.dll to bin directory to fix picky references on Linux 2011-07-11 15:28:05 -07:00
Dan Lake
38f0cf4bf4 Moved ConvexDecompositionDotNet.dll to bin directory to fix picky references on Linux 2011-07-11 15:26:50 -07:00
Mic Bowman
616f3844b6 Moved ConvexDecompositionDotNet.dll to bin directory to fix picky references on Linux 2011-07-11 15:24:23 -07:00
Justin Clark-Casey (justincc)
dbd954d701 Fix permissions problem where newly uploaded meshes rezzed from inventory could not be copied by owner. 2011-07-11 22:56:14 +01:00
Dan Lake
b9cbe92f30 Merge branch 'master' into bulletsim 2011-07-11 12:23:20 -07:00
Robert Adams
51d6c58d10 Checkin 32 bit bulletsim shared library for Linux. 2011-07-11 12:23:00 -07:00
Justin Clark-Casey (justincc)
24efb021ff minor Tack the prim name on the end of the "experimental mesh proxy generation" message.
Can probably comment out this message soon, once a few other issues are tidied up.
2011-07-11 04:23:30 +01:00
Justin Clark-Casey (justincc)
8e44a8e2b9 Properly regenerate physics proxy when a mesh is resized.
This is done in SOP.Resize().  More common code from callers needs to be refactored into this method to reduce confusing copy/pasting
2011-07-11 03:47:49 +01:00
Justin Clark-Casey (justincc)
0badf3718d refactor: push the part of SceneObjectGroup.CheckSculptAndLoad() that actually deals with the part into a SceneObjectPart.CheckSculptAndLoad() method 2011-07-11 03:35:29 +01:00
Justin Clark-Casey (justincc)
2f3d0e209f When a sculpt/mesh texture is received by a part on a callback request, don't do the unnecessary work of copying the base shape.
Just setting the new base shape is enough to reinsert the sculpt data and set the taint.
Also cleans up a few more left-in debugging messages.
2011-07-11 03:13:59 +01:00
Justin Clark-Casey (justincc)
ce85675e70 comment out accidential ProcessTaints physics debug line left in code 2011-07-11 02:29:51 +01:00
Justin Clark-Casey (justincc)
6a15464b0a refactor: Make arguments to SceneGraph.UpdatePrimFlags() more readable 2011-07-11 02:29:19 +01:00
Justin Clark-Casey (justincc)
01b98c2e62 refactor: Make arguments for SceneObjectGroup.UpdatePrimFlags() more readable 2011-07-11 02:18:19 +01:00
Justin Clark-Casey (justincc)
e68ae44b6b minor: remove mono compiler warning 2011-07-11 02:11:37 +01:00
Justin Clark-Casey (justincc)
c6d4304a04 refactor: very minor space insertion 2011-07-11 02:11:16 +01:00
Justin Clark-Casey (justincc)
c964114f7e refactor: make argument to SOP.UpdatePrimFlags() more readable 2011-07-11 02:09:11 +01:00
Justin Clark-Casey (justincc)
457ba9d1a2 refactor: slightly simplify test 2011-07-09 02:27:47 +01:00
Justin Clark-Casey (justincc)
59aedbc94b Rename SceneSetupHelpers.AddRootAgent to AddClient() to better represent its effects and return object 2011-07-09 02:25:40 +01:00
Justin Clark-Casey (justincc)
f99b89990c Add scratch AvatarFactoryModuleTests with one test to do a partial check on AvatarFactoryModule.SetAppearance()
Baked texture set not yet checked, nor persistence of data in avatar service
This is a foundation for later npc related tests.
2011-07-09 02:21:56 +01:00
Justin Clark-Casey (justincc)
6963b8b046 refactor: Get LSLString(LSLInteger i) constructor to now call LSLString(int i) structure to remove code duplication. 2011-07-09 01:28:27 +01:00
Makopoppo
df586c9d25 Raw int numbers (ex.LSL Constants) are displayed like "1.000000" when type cast to string 2011-07-09 01:27:12 +01:00
Justin Clark-Casey (justincc)
f680c13495 Fix osMatchString() so that it reports all instance of pattern matches, not just the first one.
This is a slight adaptation of the patch in http://opensimulator.org/mantis/view.php?id=4568 which doesn't apply directly since the underlying code was changed by earlier makopoppo patches.
Thanks makopoppo!
2011-07-09 01:24:30 +01:00
Justin Clark-Casey (justincc)
52c3671aa0 fix formatting issues from last patch 2011-07-09 01:17:35 +01:00
Makopoppo
b983f38e2a lsGetWindlightScene() returns raw int value, which makes unable to compare to another value with llListFindList() 2011-07-09 01:08:26 +01:00
Makopoppo
04f8d0e45d Made some LSL_Constant or LS_Constant raw int values 2011-07-09 01:08:13 +01:00
Makopoppo
e7abf834d1 Instance-types-in-list fix for LSL/OSSL functions. This will fix llListFindList() which always returns -1 when you compare with the list from those functions.
*llCSV2List
*llGetAnimationList
*llGetLinkPrimitiveParams
*llGetObjectDetails
*llGetParcelDetails
*llGetParcelPrimOwners
*llGetPrimitiveParams
*GetLinkPrimitiveParamsEx
*osGetAgents
*osMatchString
*osGetLinkPrimitiveParams
*osGetPrimitiveParams
*osGetAvatarList
2011-07-09 00:49:53 +01:00
Justin Clark-Casey (justincc)
d79c6c8820 Rename SetSculptData() to SetSculptProperties(), since this is what it does (setting SculptData is done through the property) 2011-07-09 00:42:48 +01:00
Justin Clark-Casey (justincc)
5e8900dfd0 minor: code tidy and inserted log lines for future use.
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does
After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory
When phantom is toggled, the sculptdata is regenerated before remeshing.
But on resize, the sculptdata is not regenerated.
So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
2011-07-09 00:35:30 +01:00
Justin Clark-Casey (justincc)
c3d82bdcb1 When loading library asset set, only store an asset if it's different from an existing one with the same id.
We compare existing and loaded asset by doing an SHA1 on both, so that a changed library asset will still update the store.
This cuts asset library load time from 10 seconds to <1 sec.
Note, a fix on the previous commit revealed a bug where a library script cannot be copied except on the first login after a cache clear.
This is unrelated to this commit and needs to be fixed at some subsequent time.
2011-07-08 22:53:19 +01:00
Justin Clark-Casey (justincc)
a048ec3f95 stop the local inventory services connector from logging an error when an item id isn't found.
making this query is legitimate and so the log line can cause false positivies.  It is up to callers to log an error if appropriate.
2011-07-08 22:34:03 +01:00
Justin Clark-Casey (justincc)
192bd1057e fix bug where opening a library script would fail 2011-07-08 22:32:19 +01:00
Justin Clark-Casey (justincc)
5700c582ba refactor: rename bool returning GetAgentInventoryItem() to CanGetAgentInventoryItem() to improve code readability 2011-07-08 22:28:17 +01:00
Justin Clark-Casey (justincc)
e8ad8593b6 refactor: eliminate redundant return statement 2011-07-08 20:58:44 +01:00
Justin Clark-Casey (justincc)
40300c886c refactor: Factor out AddSubMesh() method from long CraeteMeshFromPrimMesher() method
Also remove some of the logging spam left in from the last commit.
2011-07-08 20:36:01 +01:00
Justin Clark-Casey (justincc)
b18ef976ff Fix interpretation of physics mesh proxies from mesh data
As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format, some submesh blocks may just have the flag "NoGeometry" to signal that they provide no mesh data.
If a block contains this, ignore it for meshing purposes rather than suffer a ClassCastException
This fixes physics proxy meshing, so you can now walk through mesh doorways, properly stand on the trailer of mesh trucks, etc.
To get mesh physics proxy, the UseMeshiesPhysicsMesh must be true in a [Mesh] config section in OpenSim.ini (example in OpenSimDefaults.ini).
Convex hull physics not currently supported.
2011-07-08 19:43:22 +01:00
Justin Clark-Casey (justincc)
29034bc0e0 minor: code tidy up - remove a couple of Console.WriteLine() accidentally added in the last commit 2011-07-08 18:34:44 +01:00
Justin Clark-Casey (justincc)
36df9ae79a refactor: Separate the OdeScene class into its own file from OdePlugin.cs, to improve code readability 2011-07-08 18:16:48 +01:00
Justin Clark-Casey (justincc)
1dcad4ac66 minor: commented out log lines for future use and very small code tidy 2011-07-08 17:58:01 +01:00
Justin Clark-Casey (justincc)
3bda7711b3 Switch the MeshUploadFlag CAP module on and off with the existing config AllowMeshUpload flag in [Mesh] (in OpenSimDefaults.ini)
Default is on.
2011-07-07 23:49:19 +01:00
Justin Clark-Casey (justincc)
2fbc98fa5c Make MeshUploadFlagModule non-shared rather than shared (since each scene needs its own cap) 2011-07-07 23:37:23 +01:00
Mic Bowman
e91861fff2 Ensure that the max transfer distance is initialized correctly. 2011-07-07 09:12:57 -07:00
Michael Cerquoni aka Nebadon Izumi
4e30361f63 add myself to contributors.txt 2011-07-07 03:30:40 -07:00
Michael Cerquoni aka Nebadon Izumi
281e80ccf3 add MeshUploadFlag capability fixed mesh upload with latest mesh viewer thank you dahlia and lkalif for helping to make this happen! 2011-07-07 03:30:37 -07:00
Justin Clark-Casey (justincc)
af8773d6d0 Add TestClearCache() 2011-07-04 23:05:31 +01:00
Justin Clark-Casey (justincc)
cb02fc44f5 add TestExpireAsset() 2011-07-04 23:03:05 +01:00
Justin Clark-Casey (justincc)
f58de55c84 refactor: Move test setup code into setup method 2011-07-04 22:59:36 +01:00
Justin Clark-Casey (justincc)
bebc51a6e0 Make it possible to disable the file part of the flotsam asset cache
This matches the ability to disable the memory part
This is controlled through the FileCacheEnabled parameter in FlotsamCache.ini
Default is true, so existing installations are not affected.
Improved fcache command feedback when various caches are disabled.
Re-enabled test for flotsam cache with file caching disabled.
2011-07-04 22:51:47 +01:00
Justin Clark-Casey (justincc)
5dc785bbf2 refactor: Split file cache manipulation code into separate methods, as has already been done for the memory cache 2011-07-04 22:30:18 +01:00
Justin Clark-Casey (justincc)
46f5893d55 Add basic flotsam asset cache test for retrieved cached asset.
Disabled temporarily since file system caching disrupts subsequent test runs
2011-07-04 21:35:15 +01:00
Justin Clark-Casey (justincc)
b8e7258051 If a user has the rights to edit a parcel's properties, then also allow them always to enter that parcel.
This is patch http://opensimulator.org/mantis/view.php?id=5567
Thanks Snoopy!
2011-07-02 01:14:29 +01:00
Justin Clark-Casey (justincc)
bb4cb16512 Add profile, merge, noassets and skip-assets options for loading/saving oars via RemoteAdmin
This is http://opensimulator.org/mantis/view.php?id=5453
Thanks Michelle Argus!
2011-07-02 01:05:03 +01:00
Justin Clark-Casey (justincc)
513d63455e Create a very basic initial test which just creates an 'npc' and tests that the scene presence exists 2011-07-02 01:01:40 +01:00
Justin Clark-Casey (justincc)
ed12e38480 refactor: simplify existing npc code by creating them directly rather than indirectly via a timer
no obvious reason for doing this asynchonously, especially as the caller was sleeping in order to pick up the response anyway!
2011-07-02 00:18:15 +01:00
Justin Clark-Casey (justincc)
fba961c63f Make default serverside_object_permissions = true since this better matches user expectations.
It also matches the default setting in the OpenSim.ini.example file
2011-07-01 23:06:46 +01:00
Justin Clark-Casey (justincc)
e765759f50 If OpenSim has been built from a git tree, then include version information automatically by dereferencing .git/HEAD
A blank bin/.version file will stop this being displayed.
2011-07-01 22:48:00 +01:00
Justin Clark-Casey (justincc)
759e855566 refactor: rename gitCommitFileName to manualVersionFileName since bin/.version doesn't necessary have to be a git hash 2011-07-01 21:47:30 +01:00
Justin Clark-Casey (justincc)
e41093635a fix build break I just introduced 2011-07-01 21:37:03 +01:00
Justin Clark-Casey (justincc)
9f72fbcb75 Add an async inventory details sender to respond to FetchInventory packets.
If a user with a very large inventory right-clicks on their "My Inventory" folder, viewer 1 code will send a massive number of Fetchinventory requests.
Even though each is handled asynchronously via a pool thread, the sheer frequency of requests overwhelms the pool and freezes inbound packet handling.
This change makes the first Fetchinventory thread also handle subsequent requests, freeing up the other threads.
Further efficiencies could be made by handling all the items in a particular FetchInventory request together, rather than separately.
2011-07-01 21:25:40 +01:00
Justin Clark-Casey (justincc)
2d2c29ef3e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-30 22:41:21 +01:00
Justin Clark-Casey (justincc)
a9b7487fcb improve and tidy up some config file comments 2011-06-30 22:36:41 +01:00
Justin Clark-Casey (justincc)
03feb50a72 minor: adjust some indentation and spacing in OpenSim.ini.example for consistency 2011-06-30 20:26:17 +01:00
dahlia
5c18ebf424 Allow physics proxy generation for meshes using new asset format.
Fix an invalid cast exception while decoding new mesh asset format.
2011-06-29 17:36:41 -07:00
Justin Clark-Casey (justincc)
c84a1bd99f Don't follow inventory links of links.
This is to avoid problems with corrupt inventories where an inventory link target points back at the source's folder
No viewer has been observed to set these up as of yet.  If this ever happens, we will need a more sophisticated solution to track sent folders within the recursion
2011-06-29 01:33:41 +01:00
Justin Clark-Casey (justincc)
1b4c08730e refactor: simplify redundant double containing folder check 2011-06-29 00:56:35 +01:00
Justin Clark-Casey (justincc)
3f0b8db0c1 If an inventory link target is in the same folder as the source, then don't recursively request that folder.
Currently, this should never actually happen but certainly best to handle this case
2011-06-29 00:54:53 +01:00
Justin Clark-Casey (justincc)
22f25fae38 Hack around with the NPC module to get osNpcCreate() partially working again.
This now creates an avatar but appearance is always cloudy.
Move doesn't work.
Really, creating an NPC should only involve a ScenePresence rather than doing anything with IClientAPI, since an NPC has no viewer to communicate with!
2011-06-29 00:28:22 +01:00
Makopoppo
ee92f22f2a [PATCH 2/2] [FIX] osGetPrimitiveParams() and osSetPrimitiveParams()
crashes throwing System.NullReferenceException

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:29 -04:00
Makopoppo
80010f8908 [PATCH] osSetSpeed() will accept float number
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Makopoppo
ffa790d69d [PATCH] Get osGetWindParam() and osSetWindParam() accessible
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Makopoppo
882d5c82b3 [PATCH 1/2] Fixed the function names of some OSSL functions shown as
threat-level check error message

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Makopoppo
e11c959400 [PATCH] Changed Wind parameters default value in OpenSim.ini.example
according to implementation

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-06-28 11:48:28 -04:00
Justin Clark-Casey (justincc)
36e2054760 minor: temporarily comment out the local status notify friends messages seen on login/logout, since it's a bit noisy on the console.
Please uncomment if/when this is still needed.
2011-06-27 23:12:54 +01:00
Justin Clark-Casey (justincc)
23bf773dea For an initial test, add 64 bit shared object bullet libraries built under Linux. These are not yet hooked up.
I'm not sure which one you actually need, Robert, so please prune as appropriate.  I haven't tested or hooked these up in any way yet.
2011-06-27 00:29:01 +01:00
Justin Clark-Casey (justincc)
698cd0b3c2 Remove the now unused [cms] section from OpenSimDefaults.ini 2011-06-25 01:33:09 +01:00
Justin Clark-Casey (justincc)
5daac0584a Fix bug in reset user password where entering an invalid name would cause an exception. Also, convert this commands log output to console output.
Console output is more appropriate for console commands.  The log only gets one side of the conversation anyway (since it doesn't necessarily record command inputs).
2011-06-25 00:08:14 +01:00
Justin Clark-Casey (justincc)
296774495b Implement "set user level" console command to set the user level (which determines whether a user has a god account)
Adapted from Makopoppo's patch in http://opensimulator.org/mantis/view.php?id=5552.  Thanks!
2011-06-25 00:03:34 +01:00
Justin Clark-Casey (justincc)
56dcc51094 Add a command "show account <first-name> <last-Name>" to the user account service that will show the given user details 2011-06-24 23:54:37 +01:00
Makopoppo
7545692f32 Changed actual default values of 'ServiceConnectorModule' and 'MessagingModule' in [Groups] section in accordance with OpenSim.ini.example descriptions 2011-06-24 22:40:21 +01:00
Oren Hurvitz
0dd3281caf Optionally, don't delete previously compiled scripts on startup 2011-06-24 22:07:20 +01:00
Justin Clark-Casey (justincc)
afb1248e39 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-24 21:57:16 +01:00
Justin Clark-Casey (justincc)
1a0a9d2290 Implement the latest mesh mechanism so that rezzing the uploaded mesh now works again.
Many thanks to the aurora project for pioneering this.
This code is almost certainly not bug free, but it does at least appear to handle simple meshes (except when the viewer crashes - but it is beta!).
2011-06-24 21:54:01 +01:00
BlueWall
1cad116b1d Merge branch 'master' of /home/opensim/src/opensim 2011-06-24 16:33:40 -04:00
BlueWall
75199a0d2c RegionReady Module:
Add notification to neighbors when logins are enabled.
2011-06-24 16:20:13 -04:00
Justin Clark-Casey (justincc)
37a7c16734 minor: method documentation 2011-06-24 21:01:48 +01:00
Justin Clark-Casey (justincc)
de20f0603f Tell hypergridders when their teleports fail because of the 4096 limit rather than just saying "destination not found"
Instead of performing the 4096 check when the region is linked (and subsequently removing the link), leave the link in place and perform the check in the entity transfer module
This allows us to explicitly tell the hypergridder why the teleport failed (region out of range).
It also allows people on regions that are within range (on a large source grid) to teleport.
The Check4096 config parameter in the [GridService] section is replaced by a max_distance paramter in a new [EntityTransfer] section in OpenSimDefaults.ini
Since the parameter is in OpenSimDefaults.ini no action needs to be taken unless you want to increase this limit.  It could also be decreased.
The check is being made in the base entity transfer module, since I believe the viewer problem occurs both on extremely large grids and while hypergridding.
2011-06-24 19:49:05 +01:00
Robert Adams
7974349262 Initial BulletSim.dll commit 2011-06-20 17:28:53 -07:00
Robert Adams
302d72701d BulletSim initial checkin 2011-06-20 17:24:42 -07:00
Diva Canto
7819b4a794 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-16 17:15:12 -07:00
Diva Canto
409738726d Added a couple of guards and warnings to the MapImage/MapImageServiceModule. 2011-06-16 17:14:41 -07:00
Mic Bowman
ad84728aba Add localID to physical object creation functions. 2011-06-15 11:31:32 -07:00
Mic Bowman
29da57e380 Add the PhysActor to the correct SOP when duplicating a physical
prim. Thanks, MisterBlue
2011-06-15 11:26:45 -07:00
Mic Bowman
289c8fe1bc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-15 11:24:29 -07:00
Mic Bowman
7a4fbdac7c Added an expiring cache for region information to the
RemoteGridService connector. Timeout is currently set at five
minutes. Negative results are not cached.

The result is that operations like send an instant message do
not have to go through the grid service every time.
2011-06-15 11:22:51 -07:00
Diva Canto
5b7ab50319 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-15 11:11:54 -07:00
Diva Canto
bbe489e64a Added missing config var for map image service. 2011-06-15 11:11:14 -07:00
Justin Clark-Casey (justincc)
603dbea190 tweak messages. Make verbose inventory item save message give the item name as well as item id and asset id 2011-06-14 00:51:18 +01:00
Diva Canto
822b9e085f Added SimulatorFeatures capability. Thanks Aurora devs for the bootstrap on the contents of the response.
Changed the experimental capability introduced a couple of commits ago: now sending that extra information as part of the response in the SimulatorFeatures cap.
2011-06-13 10:21:29 -07:00
Diva Canto
c62ccc75a1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-13 09:14:17 -07:00
Diva Canto
ecb28ae130 V2 map now working in grids too. WARNING: A few visible configuration variables added in order for this to work. See .ini.example changes 2011-06-13 09:13:44 -07:00
Diva Canto
ab11835aeb Same processing of the "/" in the MapImageService Cap as the one in the login service. 2011-06-13 07:59:28 -07:00
Diva Canto
0e4db3ca39 Added experimental new capability URL called MapImageService meant to work with Kokua viewer if devs are willing to do it. 2011-06-13 07:56:52 -07:00
Michael Cerquoni aka Nebadon Izumi
dc978d02a7 match water color for warp3d map tiler and adjust lighting 2011-06-13 12:37:43 +01:00
Diva Canto
4b9de140ab Add credit and link to SimianGrid project. Thanks, guys! 2011-06-12 22:25:30 -07:00
Diva Canto
95e050130c People are bound to forget the '/' at the end of MapTileURL, so let's correct that from the inside. 2011-06-12 22:10:16 -07:00
Diva Canto
2e77518c6d bit depth: 24!!! begeez! -- zoom levels work now. 2011-06-12 21:51:26 -07:00
Diva Canto
07d7c1cd2d Trailing / in MapTileURL must be there! 2011-06-12 18:29:44 -07:00
Diva Canto
78c16da544 A few bug fixes on map V2. Zoom level weirdness still there. 2011-06-12 17:05:45 -07:00
Diva Canto
fd57c91b4a First pass at making the V2 map work. Standalones only for now. There are some issues with the zoom level -- TBD. 2011-06-12 15:37:42 -07:00
Diva Canto
06e254c392 A few more cleanups on the way to close http://opensimulator.org/mantis/view.php?id=5516 once and for all. Moral of the story: don't send AgentOnline/Offline to viewers with a zero-length array. 2011-06-11 17:48:19 -07:00
Diva Canto
e1ca77a0db Only send AgentOnline to the client if the friendsOnline list has elements. Also, increased the timeout on UserAgentServiceConnector, StatusNotification again. 2011-06-11 17:22:35 -07:00
Diva Canto
d992779397 Switched order of SQL statements in Friends migration -- resulted in the wrong key 2011-06-11 09:36:57 -07:00
Diva Canto
e07d71d298 Added a Sleep in between each site call, to slow the xml-rpc requests down. 2011-06-10 21:17:34 -07:00
Diva Canto
5f311c91c7 More tweaking on the UserAgentServiceConnector: add constructor that does not do DNS lookup, and use that for friends notification. 2011-06-10 21:07:50 -07:00
Diva Canto
0ae022d688 Decreased timeout of HG StatusNotification to 4secs. http://opensimulator.org/mantis/view.php?id=5516 2011-06-10 20:59:57 -07:00
Diva Canto
487cb51f69 3rd way of reseting the HG Map. This time, don't use the grid service; instead keep track of which map blocks each client has seen in the region, and reset exactly those when the client closes. 2011-06-10 17:22:17 -07:00
Justin Clark-Casey (justincc)
9a62bfab0e If the flotsam asset cache console command "fcache clear" is specified on its own, clear both memory and file caches 2011-06-11 00:50:20 +01:00
Justin Clark-Casey (justincc)
39e878eb8f Align CenomeCache.ini.example values with CenomeCache defaults. 2011-06-11 00:35:31 +01:00
Justin Clark-Casey (justincc)
c7cef650db Make it clear that WaitOnInprogressTimeout is currently a dead setting in FlotsamCache.ini.example 2011-06-11 00:10:40 +01:00
Justin Clark-Casey (justincc)
b13b54c526 Make the internal flotsam asset cache defaults match config-include/FlotsamCache.ini.example. Enable the flotsam console commands even if FlotsamCache.ini isn't present.
For the most part, defaults are made to match those already in FlotsamCache.ini.example.
The one exception is that the 48 hour file timeout from the code is used instead of the 0 hours that was in the example file.  This can be tweaked if necessary.
Most importantly, the default cache directory is now ./assetcache (as in FlotsamCache.ini.example) rather than ./FlotsamAssetCache (as was the internal code default).
Therefore, if you were using flotasm without using the config file, then please rename your cache directory or start using the ini file and change the default there if you want to keep using your existing cache.
2011-06-11 00:04:21 +01:00
Justin Clark-Casey (justincc)
fc7e17baf7 When serializing objects, stop accidentally using the green text colour value for alpha
This addresses http://opensimulator.org/mantis/view.php?id=5111
2011-06-10 21:49:25 +01:00
Makopoppo
c7bdb66a1f Added missing "Old Guids=true" to ConnectionString 2011-06-10 21:10:37 +01:00
Oren Hurvitz
804fe2d9b0 Save the sun's position in OARs 2011-06-10 20:55:58 +01:00
Justin Clark-Casey (justincc)
08db3c5a8e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-10 20:42:15 +01:00
Justin Clark-Casey (justincc)
b5518dc906 minor: Add some commented out destructor logging messages for potential future use.
At the moment, client and scene objects are being garbage collected as expected, at least in simple scenarios.
2011-06-10 20:40:14 +01:00
Diva Canto
eeac2275c9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-10 09:17:06 -07:00
Diva Canto
98d1e7768a New method for resetting the map on HG: do it only once upon changing grids, and reset only exactly the map blocks that had regions in them. WARNING: this fetches all the regions from the Grid service, so there is a chance that this is a really bad idea in large grids. Pushing it for testing. 2011-06-10 09:16:43 -07:00
dahlia
387b228d68 partial update for new mesh asset format - handle both old and new formats for physics mesh 2011-06-10 00:38:38 -07:00
Justin Clark-Casey (justincc)
9149ef6c89 For MySQL, migrate region tables to the MyISAM storage engine rather than InnoDB
Using MyISAM proves vastly faster for persisting scene objects.
For instance, a scene object that took 9 seconds to persist before now takes 1.  This also improves the experience of loading large OARs.
We don't use any of the transactional features of InnoDB.
The only thing that may have an impact is that InnoDB does row locking on inserts while MyISAM does table locking.
However, field reports say there is no noticeable difference.
2011-06-10 02:33:50 +01:00
Justin Clark-Casey (justincc)
d780500c58 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-10 02:29:30 +01:00
Justin Clark-Casey (justincc)
2bc8dcfdbd minor: add method doc to make it clear that click action is fired when the click action is changed, not when a prim is clicked 2011-06-10 02:27:45 +01:00
Diva Canto
8d3a8a0a81 The map breakage is actually at 2048! 2011-06-09 16:51:47 -07:00
Diva Canto
e3e1f6308d Change the name of the newest command to "show names" so that it doesn't conflict with the existing "show users" 2011-06-09 16:11:47 -07:00
Diva Canto
4cf60c5d9d Removing special casing on failures. This may also fix reports of this issue:
22:07:53 - [USER AGENT CONNECTOR]: remote call to http://hg.osgrid.org:80/ returned an error: Requested method [locate_user] from 127.0.0.1 threw exception: Object reference not set to an instance of an object   at OpenSim.Services.HypergridService.UserAgentService.LocateUser (UUID userID) [0x00000] in <filename unknown>:0
2011-06-08 19:51:48 -07:00
Diva Canto
49e4e53928 Consistency fix on the last commit. 2011-06-08 16:41:58 -07:00
Diva Canto
2a46f756d6 Fixed a compilation problem. Also added a lengthy comment on the Map hack, so that it never goes unnoticed again. 2011-06-08 16:38:25 -07:00
Diva Canto
1bd712c541 Reverting the [HG]MapModule to its buggy behavior above 4096. Ppl seem to prefer the color blue, and I have given up trying to make things work above 4096.
Revert "Improved reuse on the WorldMap/WorldMapModule.cs"

This reverts commit d473d9975e.
2011-06-08 16:12:47 -07:00
Diva Canto
80fc607d75 Fixed "Unknown User" listed as creator/owner on prims created with the Build button by foreign visitors. Added command to the UserManagementModule to list all the known bindings between user UUIDs and their names: show user-names. 2011-06-08 16:01:33 -07:00
Diva Canto
9759b2a4bb Added EventManager.OnPrimsLoaded, an event that modules can hook up onto so that they know when the scene's objects have been loaded from the DB. 2011-06-08 15:18:14 -07:00
Diva Canto
90f657d77d Deleted wrong debug message. 2011-06-08 13:45:38 -07:00
Oren Hurvitz
61f1c2b2c5 Write estate errors on startup to the log 2011-06-07 20:20:04 -07:00
Oren Hurvitz
39323055bd When a plugin fails to load because a DLL is missing, log which DLL it is 2011-06-07 20:17:49 -07:00
Diva Canto
eabfc9ca15 Added error message to help understand http://opensimulator.org/mantis/view.php?id=5527 2011-06-07 20:05:24 -07:00
Diva Canto
3307db5d4a This hopefully fixes all issues with online/offline notifications across grids. http://opensimulator.org/mantis/view.php?id=5528 2011-06-07 19:36:04 -07:00
Diva Canto
02b40670be This makes the display names work better for foreigners 2011-06-07 12:10:57 -07:00
Diva Canto
41627bdf8a Remove scary error message 2011-06-07 12:09:32 -07:00
Diva Canto
f5d82350bb This fixes the crash reported in http://opensimulator.org/mantis/view.php?id=5529 related to sending IMs to foreign friends who are offline. Hopefully. 2011-06-07 10:51:12 -07:00
Diva Canto
1a23d322ac More on the hunt for the slow down on HGFriendsModule. - Don't requests the online friends on foreign grids. If this works, there's another way of getting that info. 2011-06-06 19:52:50 -07:00
Diva Canto
dce0e46eaa Moved the Mono Addins declaration of the HGFriendsModule to where the one for FriendModule is -- CoreModulePlugin.addin.xml (trying to hunt down the slowness reported by Nebadon related to HGFriends) 2011-06-06 18:20:02 -07:00
Diva Canto
e77ca65e57 This should make offline IMs work again. It should work for incoming foreign IMs where the local recipient is offline. I can't test any of this, because I don't run an offline IM server. 2011-06-06 17:46:34 -07:00
Diva Canto
6861606b6d Narrow down the exception catching to exactly the exception of interest. This may decrease the time of processing prims with broken user data. 2011-06-05 19:46:29 -07:00
Diva Canto
78e76bba38 Removed unused dependency (that happened to have the wrong path) 2011-06-05 18:50:21 -07:00
Justin Clark-Casey (justincc)
205b2f7ea4 Remove the unmaintained 'CMS' framework, which was really a 'source-control' experiment from 2008.
This hasn't been touched for about 2 years and I haven't being using it.  If this is wrong then please let me know.
2011-06-04 03:01:52 +01:00
Justin Clark-Casey (justincc)
fe471b6424 Extend TestGiveInventoryFolder() to test giving back the freshly received folder 2011-06-04 02:44:53 +01:00
Justin Clark-Casey (justincc)
12b1cbf8bf Fix give inventory tests to use different users rather than (accidentally) the same user. Extend TestGiveInventoryItem() to test giving back the same item. 2011-06-04 02:39:26 +01:00
Justin Clark-Casey (justincc)
fe890554fb insert an InventoryArchiveUtils.FindItemsByPath() to return multiple items rather than just the first one 2011-06-04 01:37:01 +01:00
Justin Clark-Casey (justincc)
896f039513 create TestGetInventoryItem() 2011-06-04 00:51:49 +01:00
Justin Clark-Casey (justincc)
1543fd7fff extend TestGiveInventoryFolder() to check for the receipt by user 2 2011-06-04 00:20:54 +01:00
Justin Clark-Casey (justincc)
66004a9375 If an llSensor() is in an attachment, make the detection cone face in the direction of the avatar, not the relative rotation of the attachment towards the avatar.
This is effectively a copy/paste from 459323a, which should be refactored sometime.
This seems the obvious problem from field reports but I have not tested the fix myself.  Feedback welcome.
2011-06-03 23:43:09 +01:00
Justin Clark-Casey (justincc)
d09210da86 minor: add in method print out to new test 2011-06-03 23:15:31 +01:00
Justin Clark-Casey (justincc)
527e10a04e add stub UserInventoryTests.GiveInventoryFolder(). Not yet complete 2011-06-03 23:13:05 +01:00
Diva Canto
cf86ba5559 Added prefix HG to the name of the landmark item in inventory, as a soft reminder that the landmark belongs to a place in another grid. People can change the name, but that's their decision. 2011-06-03 11:48:24 -07:00
Diva Canto
623706d988 HG Landmarks bug fix: pull landmark asset data from user's asset server when user is traveling. 2011-06-03 11:33:44 -07:00
Diva Canto
fde3e704d3 oops 2011-06-03 10:50:55 -07:00
Diva Canto
4ea89f39f2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-03 10:32:21 -07:00
Diva Canto
7772640ae8 .ini.example's updated for HG Landmarks 2011-06-03 10:29:59 -07:00
Diva Canto
e33cedfd42 HG Landmarks now working. 2011-06-03 10:26:58 -07:00
Diva Canto
995b893e4c HG Landmarks being created. WARNING: new config var under [HGInventoryAccessModule], Gatekeeper. 2011-06-03 09:04:34 -07:00
Diva Canto
76c60f1f99 Moved CreateNewInventoryItem to the InventoryAccessModule in preparation for supporting HG landmarks. 2011-06-03 08:27:01 -07:00
Justin Clark-Casey (justincc)
dfa4442319 Move the "!!!Standalone Only!!!" [FreeswitchService] section from OpenSim.ini.example to config/StandaloneCommon.ini.example where it belongs. 2011-06-02 22:43:44 +01:00
Justin Clark-Casey (justincc)
b8e2ee6978 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-02 21:48:50 +01:00
Justin Clark-Casey (justincc)
b000d4f67f minor: add ini.example doc to hint that the server address in [FreeswitchService] must be reachable by viewers 2011-06-02 21:37:17 +01:00
Diva Canto
2a12d143c2 HG IM: increase the timeout value 2011-06-02 10:44:10 -07:00
Diva Canto
6312eea459 HG IM bug fix: grid_instant_message was being placed in the default port instead of the specified one. 2011-06-02 10:14:26 -07:00
Diva Canto
65c71050cc Extra debug message 2011-06-02 09:39:29 -07:00
Diva Canto
3c15c0b264 Added test IM client. 2011-06-02 09:39:09 -07:00
Diva Canto
4696a9c95e Bug fix on HG IM. 2011-06-02 08:13:54 -07:00
Diva Canto
f2f30a7890 HG Friends bug fix: connector was shrinking principalID to UUID. 2011-06-02 07:26:40 -07:00
Diva Canto
c13acdf5a1 This is the better solution: make the combined key be only on the first 36 characters of each field -- that's the UUIDs. Thanks coyled. WARNING: Again, people who have gone through this migration and failed need to run it manually. 2011-06-01 20:19:22 -07:00
Diva Canto
43ecc46a22 It looks like there's a better solution for that problem.
Revert "Changed Friends table to have 165-sized varchars on PrincipalID and FriendID. The reason for this number is the following: there is a combined key of these 2 fields; apparently MySql can't handle keys larger than 1000 bytes; when the table is created with utf8 encoding, this combined key is bigger than 1000 bytes, and the migration fails. WARNING: this is not a new migration! People who have gone through this migration and failed should update the sizes of these fields manually."

This reverts commit 3fa54a156a.
2011-06-01 20:09:59 -07:00
Diva Canto
3fa54a156a Changed Friends table to have 165-sized varchars on PrincipalID and FriendID. The reason for this number is the following: there is a combined key of these 2 fields; apparently MySql can't handle keys larger than 1000 bytes; when the table is created with utf8 encoding, this combined key is bigger than 1000 bytes, and the migration fails. WARNING: this is not a new migration! People who have gone through this migration and failed should update the sizes of these fields manually. 2011-06-01 20:02:26 -07:00
Diva Canto
46cdd442a8 [Profiles] --> [Profile] 2011-06-01 18:18:31 -07:00
BlueWall
777f57d946 Re-Apply Use current TravelingAgent if the the login failure reason is "Logins Disabled" to fix NullReferenceException, allowing agent to login to fallback region when logins are disabled by "StartDisabled = true" or when logins are disabled by RegionReady""
This reverts commit 0a430bbffb.
2011-06-01 18:47:06 -04:00
BlueWall
0a430bbffb Revert "Use current TravelingAgent if the login failure reason is "Logins Disabled" to fix NullReferenceException, allowing agent to login to fallback region when logins are disabled by "StartDisabled = true" or when logins are disabled by RegionReady"
This reverts commit 4b9e446c62.
2011-06-01 18:10:56 -04:00
BlueWall
ac4d080aaf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-06-01 17:01:40 -04:00
BlueWall
984b801dd9 Merge branch 'master' of /home/opensim/src/opensim 2011-06-01 17:01:08 -04:00
BlueWall
4b9e446c62 Use current TravelingAgent if the login failure reason is "Logins Disabled" to fix NullReferenceException, allowing agent to login to fallback region when logins are disabled by "StartDisabled = true" or when logins are disabled by RegionReady 2011-06-01 16:57:01 -04:00
Makopoppo
b0ed0e63dc Adding boolean alias for commandline switches like -save_crashes=yes 2011-06-01 21:14:16 +01:00
Makopoppo
54096db30b Fix: The command line switches 'save_crashes' and 'crash_dir' haven't actually worked 2011-06-01 21:06:43 +01:00
Chris Hart
5fb0455e92 Updates to MSSQL to most recent compatibility, also included Windlight support. Needs plenty of testing but clean install and migration from 0.6.9 have been tested and work, a few indexes still need to be added for performance. 2011-06-01 21:01:04 +01:00
Justin Clark-Casey (justincc)
a3e0895f12 a few minor formatting tweaks 2011-06-01 20:55:03 +01:00
James Stallings aka Hiro Protagonist
c43ad8a0e7 A final couple of tweaks to GroupsModule.cs. Remove unneeded delegate, and prettify codeing style/formatting 2011-06-01 20:51:52 +01:00
Justin Clark-Casey (justincc)
8bacf56e46 revert the prematurely included groups patch, yet again 2011-06-01 20:51:38 +01:00
BlueWall
929bdba346 Merge branch 'master' of /home/opensim/src/opensim 2011-06-01 13:47:38 -04:00
BlueWall
aed6e74080 Add alternate region handling for url based logins as found in login to "home" or "last" 2011-06-01 13:44:20 -04:00
Justin Clark-Casey (justincc)
5711ada5c9 Fix dumb sql mistake in MSSQLGenericTableHandler.Delete() 2011-05-31 22:42:18 +01:00
Justin Clark-Casey (justincc)
c67fa72d56 When sending an LLUDP MoneyBalanceReply message, fill out the transaction item description even though there is none.
This is to deal with a problem in libomv where calling ToBytes() without this crashes because of an ItemDescription.Lnegth dereference.
2011-05-31 19:57:08 +01:00
Justin Clark-Casey (justincc)
8129e64e2a Fill in the new OwnerData field in the LLUDP ScriptDialog message.
If we don't do this then viewer 2.8 crashes.
Resolves http://opensimulator.org/mantis/view.php?id=5510
2011-05-31 19:25:01 +01:00
Justin Clark-Casey (justincc)
392d270264 revert the patch that accidentally got added in the last commit 2011-05-31 18:49:38 +01:00
Justin Clark-Casey (justincc)
c4b265aeae update libomv libraries to 0.9.0
this is a prerequisite to fixing llDialog issues for the latest Linden viewers, since they are now making use of a new OwnerData field in the ScriptDialog message
2011-05-31 18:47:13 +01:00
Diva Canto
44371118a2 Made GetMapImage public in the Hyperlinker 2011-05-30 20:23:45 -07:00
Diva Canto
b81a304baa Made the GatekeeperConnector a public property. 2011-05-30 20:12:05 -07:00
Diva Canto
e14b7ec9e1 HGWorldMap: don't send map blocks of hyperlinks that are farther than 4096 cells from the current region. 2011-05-30 17:19:46 -07:00
Diva Canto
d473d9975e Improved reuse on the WorldMap/WorldMapModule.cs 2011-05-30 17:15:55 -07:00
Makopoppo
7ea6dfecd9 Adding MSSQL connectionString example 2011-05-30 23:22:52 +01:00
Makopoppo
d671dbb7c7 Removing mssql_connection.ini.example - mssql_connection.ini is no longer used 2011-05-30 23:22:49 +01:00
Diva Canto
5cb7d8bc71 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-28 13:52:27 -07:00
Diva Canto
d5326197ac Fixed an issue with the response of CreateAgent over the SimulationConnector. 2011-05-28 13:52:06 -07:00
BlueWall
16fae059bb Comment the alert_uri so it remains disabled until set 2011-05-28 16:40:05 -04:00
BlueWall
3326e417b4 Merge branch 'master' of /home/opensim/src/opensim 2011-05-28 16:21:30 -04:00
BlueWall
c7e18f9017 Adding an event to signal that logins are enabled
Added an event to signal the eabling of logins and added an alert to send to a configured service.
2011-05-28 16:20:10 -04:00
BlueWall
d2c2a4301b Merge branch 'master' of /home/opensim/src/opensim 2011-05-28 00:39:21 -04:00
BlueWall
99f42c0a6e Add option to disable logins
This just covers script loading for now. More to come.
2011-05-28 00:35:06 -04:00
Justin Clark-Casey (justincc)
6f4a2685cf minor: remove mono compiler warning 2011-05-27 23:43:31 +01:00
Justin Clark-Casey (justincc)
28cd03cda5 fix bug where generic sqlite table delete wasn't working.
this would have caused dupe links bugs when using the sqlite adaptor
2011-05-27 22:54:59 +01:00
Diva Canto
44d5821c4e Fixed one comment in a config file. 2011-05-27 13:35:22 -07:00
Justin Clark-Casey (justincc)
b0c9696de0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-27 21:21:01 +01:00
Justin Clark-Casey (justincc)
e9988a3728 Make sure culture is en-US when saving archive related xml.
This might resolve http://opensimulator.org/mantis/view.php?id=5475
2011-05-27 21:19:20 +01:00
Diva Canto
fcef4688a8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-27 13:07:39 -07:00
Diva Canto
76525be7b2 HG lures working! Friends can offer friends HG teleports via the profile. WARNING: additional configuration for HG inis -- see *Common.ini.example 2011-05-27 13:07:18 -07:00
Justin Clark-Casey (justincc)
4e4db749eb If parsing fails in the primitive base shape (which prints out a debug log message), also print out the name and uuid of the part containing this shape.
This is to help in diagnosing parsing failures.
2011-05-27 20:59:35 +01:00
Justin Clark-Casey (justincc)
0af5bb239f When saving an iar, don't chase down link asset IDs (since these points to other items rather than real assets)
This bug had no practical effect other than to make "save iar" misreport the number of missing assets
2011-05-27 19:39:03 +01:00
Diva Canto
4087a453dc Avoid a scary warning message about null replies from the user agent service. 2011-05-27 08:53:26 -07:00
Diva Canto
d60f525baa HG inventory transfers over the profile working. 2011-05-27 08:19:40 -07:00
Diva Canto
36f9d55c36 Added a BasicProfilemodule so that the profile-based actions (like give inventory, etc) work. This is just a mock profile, the same for all users, and with no DB backend behind it -- meaning that nothing will be saved. For serious profiles, use 3rd party implementations. 2011-05-27 07:00:36 -07:00
Diva Canto
31d07859f9 Added missing config vars to StandaloneCommon.ini.example and fixed the ones in Robust.HG.ini.example 2011-05-26 19:43:24 -07:00
Diva Canto
abae859e7a Added missing configuration variables to Robust.HG.ini.example 2011-05-26 19:20:29 -07:00
Diva Canto
07acb4d321 Last commit before pushing. WARNING: (a) DB migration on the friends table; and (b) several config additions related to HG. See Robust.HG.ini.example, GridCommon.ini.example and/or StandaloneCommon.ini.example. 2011-05-26 19:15:39 -07:00
Diva Canto
0d29f73916 Commented a few extra debug messages. 2011-05-26 19:13:03 -07:00
Diva Canto
b17afe43c4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-26 15:52:34 -07:00
Diva Canto
0c58a9e680 HG IM in grid mode working fairly well. Unknown target user references looked back in source user's User Agent service. 2011-05-26 10:04:48 -07:00
Justin Clark-Casey (justincc)
91ec1a572a improve help information for "appearance show"
at the moment, this just performs a baked avatar check for everybody in the region.  If the check returns 'corrupt' then a baked texture is missing and other avatars will continue to see the gas ball.
2011-05-26 02:48:47 +01:00
Justin Clark-Casey (justincc)
3270f4353e Add --noassets option for "save iar"
Like "save oar", this saves an iar without assets
This can be useful for backup when you know the required assets will still be present (e.g. you're backing up the assets db separately).
This also bumps the iar format version to 0.3 and 1.2 respectively.
0.3 is backward compatible with previous opensim versions
1.2 is used if the --profile switch is specified.  It is only compatible with 0.7.1 presently.
2011-05-26 02:22:52 +01:00
Justin Clark-Casey (justincc)
c7e46e8a51 Bump OAR file format version up to 0.7 for this development cycle.
This adds a <assets_included>true|false</assets_included> element to the oar control file, though this is not used on reloading at this time.
This addition is backward compatible with previous opensim releases
2011-05-26 01:37:15 +01:00
Justin Clark-Casey (justincc)
ab855e6f8d fix bug where outfit folder links could not be deleted 2011-05-26 01:32:36 +01:00
Justin Clark-Casey (justincc)
d9889ae2e7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-26 01:28:48 +01:00
Justin Clark-Casey (justincc)
6f4d079fc5 Add a --noassets option to "save oar".
This switch stops any assets being saved in the oar.
This can be useful if you're using OAR to backup regions and you know you'll always have the original asset database available.
2011-05-26 01:27:01 +01:00
Diva Canto
587b17e23b HG: Renamed, shuffled some interfaces around. Move them all to IHypergridServices. 2011-05-25 12:37:37 -07:00
Diva Canto
5c2168cae7 HG: Instant Message working. Tested on HG standalones only. Needs a lot more testing. 2011-05-25 12:32:21 -07:00
Melanie
e398c33648 Add PayPrice to serialization format Xml2 2011-05-25 12:17:46 +01:00
BlueWall
ef3f6b4e63 Revert "Make client event handlers for money only work on root agents"
This reverts commit a8913141c0.

	Pulling this back until some testing under various money
	modules can be done. Need to be able to make purchases as
	a child agent.
2011-05-24 16:33:51 -04:00
BlueWall
a8913141c0 Make client event handlers for money only work on root agents 2011-05-24 16:07:48 -04:00
Diva Canto
e19031849e Added necessary code to drop inventory on hg friends using the profile window, but can't test because this mechanism doesn't seem to work without a profile service. 2011-05-24 09:38:03 -07:00
Melanie
28c25d8477 Allow disabling the legacy backup mechanism to avoid the object clone if
backup is not used.
2011-05-24 04:03:51 +01:00
Diva Canto
24f28d3534 HG friends: Status notifications working. Also initial logins get the online friends in other grids. 2011-05-23 19:45:39 -07:00
Melanie
61d4291da5 Create a method to force the script engine to save state from outside 2011-05-24 03:17:12 +01:00
Melanie
178d541dca Add an event for an orderly region shutdown that fires once per region before
the SceneGraph is torn down.
2011-05-24 01:19:48 +01:00
Melanie
24c00acedc Fix Mantis #4429: Allow llGiveInventory to work across sim borders. 2011-05-23 02:52:28 +01:00
Diva Canto
336665e035 More on HG Friends. Added Delete(string, string) across the board. Added security to friendship identifiers so that they can safely be deleted across worlds. Had to change Get(string) to use LIKE because the secret in the identifier is not always known -- affects only HG visitors. BOTTOM LINE SO FAR: HG friendships established and deleted safely across grids, local rights working but not (yet?) being transmitted back. 2011-05-22 16:51:03 -07:00
Diva Canto
fed3cc630e File to be removed 2011-05-22 15:35:40 -07:00
BlueWall
dc95e38e42 Add stubs for unimplemented lsl functions 2011-05-22 14:59:18 -04:00
Diva Canto
58c53c41de Fixed permissions bug related to friends in PermissionsModule. Added FriendsData[] GetFriends(string principalID) to IFriendsData and FriendInfo[] GetFriends(string PrincipalID) to IFriendsService. Refactored some more in the FriendsModule. Made client get notification of local friends permissions upon HGLogin. HG Friends object permissions work. 2011-05-21 16:48:00 -07:00
Diva Canto
80457111e0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-21 14:07:30 -07:00
Justin Clark-Casey (justincc)
bb9b317f15 Get rid of OpenSim.Tests.Common.Setup subpackage in favour of just OpenSim.Tests.Common instead 2011-05-21 01:05:20 +01:00
Justin Clark-Casey (justincc)
4073f10133 rename test helpers enclosing package from Setup to Helpers 2011-05-21 00:51:34 +01:00
Justin Clark-Casey (justincc)
94553d4753 rename UserInventoryTestsUtils -> UserInventoryHelpers for consistency 2011-05-21 00:48:01 +01:00
Justin Clark-Casey (justincc)
156cc1418b test helper rename for consistency 2011-05-21 00:44:58 +01:00
Justin Clark-Casey (justincc)
d7e5b76d73 refactor: rename AddSceneObjectItem to AddSceneObject 2011-05-21 00:39:42 +01:00
Justin Clark-Casey (justincc)
084059319c refactor: move scene object item creation code into TaskInventoryHelpers 2011-05-21 00:37:20 +01:00
Justin Clark-Casey (justincc)
9103fe84d5 move test task inventory notecard item creation into a new TastInventoryHelpers class 2011-05-21 00:25:58 +01:00
Justin Clark-Casey (justincc)
0050bb438c refactor: use SceneSetupHelpers.CreateSceneObject() 2011-05-21 00:15:22 +01:00
Justin Clark-Casey (justincc)
534ee52a12 rename UserProfileTestUtils to UserAccountHelpers to be consistent with other test helper names 2011-05-21 00:11:52 +01:00
Justin Clark-Casey (justincc)
3fed61a5d5 refactor: in TaskInventoryTests, use UserProfileTestUtils.CreateUserWithInvetory() 2011-05-21 00:07:24 +01:00
Justin Clark-Casey (justincc)
bc43cef581 minor: remove mono compiler warning 2011-05-21 00:05:00 +01:00
Justin Clark-Casey (justincc)
90567a9eaa refactor Scene.RezObject() to use AddNewSceneObject() rather than copy/pasting code with small differences 2011-05-21 00:02:53 +01:00
Justin Clark-Casey (justincc)
f2095ea279 refactor TestRezObjectFromInventoryItem() 2011-05-20 23:45:39 +01:00
Justin Clark-Casey (justincc)
4b0fc4faef implement Scene.GetSceneObjectGroup(string name) to match the equivalent GetSOP method 2011-05-20 23:41:14 +01:00
Justin Clark-Casey (justincc)
91a9f30b16 implement Scene.GetSceneObjectGroup(UUID fullID) using existing index 2011-05-20 23:34:34 +01:00
Justin Clark-Casey (justincc)
7ed419217f add test for rezzing an object from a prim item 2011-05-20 23:22:27 +01:00
Justin Clark-Casey (justincc)
9fc29e1595 Implement llGetLinKNumberOfSides().
Based on code in http://opensimulator.org/mantis/view.php?id=5489  Thanks onesong.
2011-05-20 20:19:32 +01:00
Justin Clark-Casey (justincc)
6e7b588235 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-20 20:06:51 +01:00
Kim King
a2c19847b4 ScriptEngine/Shared: Fix bug 5473 (v2). 2011-05-20 20:00:55 +01:00
Diva Canto
d21e9c755f HG Friends working to some extent: friendships offered and accepted correctly handled. Friends list showing correct foreign names. TODO: GrantRights. 2011-05-19 16:54:46 -07:00
BlueWall
584bce36ac Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-19 01:35:11 -04:00
BlueWall
926a100652 Add stub for llGetLinkNumberOfSides(integer link) 2011-05-19 01:34:11 -04:00
Justin Clark-Casey (justincc)
bdd7849094 Allow item links to be deleted even when other deletes and purges are disabled.
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in.
Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being
accidentally moved.  When a link is deleted, the target of the link is never touched.
This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-19 00:51:14 +01:00
Justin Clark-Casey (justincc)
6dcc87b1ad Accidentally committed too early
Revert "Allow item links to be deleted even when other deletes and purges are disabled."

This reverts commit 491279f99a.
2011-05-18 00:23:35 +01:00
Justin Clark-Casey (justincc)
c562b9ef19 correct small mistake in "delete object name <name>" usage summary 2011-05-18 00:22:09 +01:00
Justin Clark-Casey (justincc)
491279f99a Allow item links to be deleted even when other deletes and purges are disabled.
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in.
Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being
accidentally moved.  When a link is deleted, the target of the link is never touched.
This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-17 22:31:16 +01:00
Justin Clark-Casey (justincc)
784f70f704 don't throw a null reference if an inventory link target doesn't exist when we're inspecting in order to send the required inventory folders 2011-05-17 02:25:05 +01:00
Justin Clark-Casey (justincc)
467d7060ca Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-17 01:58:51 +01:00
Justin Clark-Casey (justincc)
4232b1a89b convert tabs to spaces 2011-05-17 01:57:18 +01:00
Kim King
901448a8eb Fixup documentation for AutoBackupModule. 2011-05-17 01:55:54 +01:00
Diva Canto
a2f034c554 Changed yet more Warns to Debugs. 2011-05-14 13:36:55 -07:00
Diva Canto
be6feff331 Also changed a couple of messages in WebUtil from Wanr/Info to Debug. 2011-05-14 13:09:59 -07:00
Diva Canto
082a9ecd31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-14 12:57:34 -07:00
Diva Canto
a3aa839d75 Stop spamming Nebadon's console when assets aren't found in the asset server. 2011-05-14 12:56:50 -07:00
Justin Clark-Casey (justincc)
e3b8d42bbc refactor: improve PrimLimitsModule to call ILandObject.GetSimulatorMaxPrimCount() rather than use copy/pasted code 2011-05-14 02:51:29 +01:00
Justin Clark-Casey (justincc)
340e3ccf16 refactor: remove thisObject argument from ILandObject.Get*MaxPrimCount() instance methods since it didn't make sense to use anything other than the instance themselves. 2011-05-14 02:42:47 +01:00
Justin Clark-Casey (justincc)
bef1ffa7db simplify code in llGetParcelMaxPrims() to use existing code in LandObject rather than duping the algo 2011-05-14 02:34:46 +01:00
Justin Clark-Casey (justincc)
1d86079141 Correct llGetParcelMaxPrims() to use the same calculation as used elsewhere instead of the old 0.22 prims/meter squared fudge factor.
Thanks to tglion for this.
2011-05-14 01:26:04 +01:00
Justin Clark-Casey (justincc)
26ce1d27d0 Minor doc change to see if this provokes a good panda build 2011-05-14 01:07:06 +01:00
Oren Hurvitz
64d868fb64 When loading an OAR that doesn't have parcels, create a default parcel 2011-05-14 00:41:32 +01:00
SignpostMarv Martin
cb6cd3714e The get_grid_info REST call now encodes XML Entities 2011-05-14 00:31:54 +01:00
Makopoppo
7a54638b57 Swapped the two restart command descriptions each other 2011-05-14 00:25:31 +01:00
Justin Clark-Casey (justincc)
5573fcfa93 Fix adding/removing/replacing outfits in viewer 2
To get this to work, I had to disable the dupe link check I put in a couple of commits ago.
When the viewer adds wearables to an existing outfit, it first requests deletes of all the existing links before creating a new set.
Since these messages are async, the creates were being received before the deletes had a chance to complete, resulting in missing current outfit links.
However, the dupe check shouldn't be as important now that broken links have been fixed - it was the broken links that were causing the client to create dupes.
Tested on kokua 0.1.0 WIP and SL 2.6.3.  I now have no problems managing outfits on my standalone.
2011-05-14 00:10:27 +01:00
Melanie
59d8588ae1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-05-13 12:03:16 +01:00
Melanie
eceedba23b Fix the cert validation handler so that it will not block other parts of
the server doing ssl successfully.
2011-05-13 12:02:49 +01:00
Diva Canto
e39dec6f37 Hopefully this fixes offline messages. The problem was: the server is not setting the ContentLength of the response. That comes up to OpenSim as ContentLength=-1, which made the existing test fail. 2011-05-12 20:48:24 -07:00
Diva Canto
1cc70df3b4 One more thing printed out. #OfflineIM 2011-05-12 20:20:08 -07:00
Diva Canto
84f2a779b2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-12 19:57:15 -07:00
Diva Canto
301321c853 Instrument the heck out of offline messages. THIS IS VERY VERBOSE. 2011-05-12 19:56:59 -07:00
Justin Clark-Casey (justincc)
5f9edd195c Fix broken inventory links on viewer 2.
It appears that if the viewer requests a folder containing links, we must also send the folders that contain the link targets first.
This was tested with Kokua 0.1.0 WIP though I predict it will also work with other viewer 2s
2011-05-13 03:24:19 +01:00
Diva Canto
691283c44e One more debug message for offline IMs. 2011-05-12 19:10:44 -07:00
Diva Canto
9e310a0c0f Sequencing the using and try clauses as they were before, but this shows that that obsolete function is not catching 404's as it should... 2011-05-12 18:53:22 -07:00
Diva Canto
42bfab84b8 Bummer, can't print the data I wanted to see. Printing just the context. 2011-05-12 18:47:14 -07:00
Diva Canto
f54a36bd59 Tracking a problem with offline IMs coming in as null list. 2011-05-12 17:34:26 -07:00
Diva Canto
e9e4c009b4 This makes compression of fatpacks actually work. Previously they always failed. See comment in WebUtil. 2011-05-11 20:44:03 -07:00
Justin Clark-Casey (justincc)
9988bff9e3 Add a smidgen of method doc about the fact that item links reuse the asset id item slot 2011-05-12 03:18:53 +01:00
Justin Clark-Casey (justincc)
ac12ace6f1 Prevent viewer 2 from creating a duplicate outfit inventory links.
I believe this is safe since there is a 1-1 correspondence between link item and worn item (i.e. you can't be wearing the same item at two spots simultaneously in one outfit).
This should stop lots of duplicate links being created when viewer 2 is used.
However, this doesn't prevent broken inventory links, which I believe is timing related since the effect is not consistent (e.g. keep relogging and the viewer should end up seeing them correctly) .  I think we actually see this problem on viewer 1 as well.
It might be easier just to implement the Fetch*2 inventory caps which are documented at http://wiki.secondlife.com/wiki/Inventory_API.  WebFetch* has been deprecated by Linden Lab since viewer 2.5.1 and according to the sl wiki, "has numerous bugs".
2011-05-12 02:46:13 +01:00
Diva Canto
7fa2489a6e Revert "Functional improvement: close the stream. Non-functional: add debug messages to find out why updates are getting an error. WARNING: MASSIVE CONSOLE SPAM ON TPs."
This reverts commit 5548f83750.
2011-05-11 13:15:27 -07:00
Diva Canto
af2e12d2b4 One more debug message. Don't use this unless your name is nebadon. 2011-05-11 10:43:50 -07:00
Diva Canto
5548f83750 Functional improvement: close the stream. Non-functional: add debug messages to find out why updates are getting an error. WARNING: MASSIVE CONSOLE SPAM ON TPs. 2011-05-11 10:21:42 -07:00
Diva Canto
47735468d2 Somewhat reverting the last commit. The viewer ignores 255's on tiles that were previously on, so we need to send 254 (offline) explicitly. Also removing the +/-4 for HGMap, because it makes the map flicker. 2011-05-10 09:02:25 -07:00
Diva Canto
e1a4a8d857 Changed the Access flag on HGMap to 255 (does not exist) and clarified the other value 254 too. Meanings taken from libomv. 2011-05-09 18:28:16 -07:00
Diva Canto
7e2b35bbb3 Fixes gray tiles around +/-4 when user clicks on an empty tile. Affects regions above 4096 primarily. 2011-05-09 11:35:41 -07:00
Diva Canto
8a5f6dc7a5 Fixes gray tiles on map search for viewers 1. 2011-05-09 10:25:42 -07:00
Diva Canto
c0a69bfaab The map is seriously broken. This doesn't fix it, but at least provides one more piece of data that seems to be required -- agent flags, which seem to be different in Viewer 2. WARNING: changes IClientAPI. 2011-05-08 22:50:04 -07:00
Melanie
fd66903f74 Convert the prim count module into a permissionsmodule 2011-05-09 03:16:01 +01:00
E. Allen Soard
527b4e7c7e Incremental - Just did some cleanup of comments and class name change to clean up from using BareBonesNonShared as a template. 2011-05-09 03:14:54 +01:00
E. Allen Soard
279ed08de1 Incremental patch to add config options to enable/disable the prim limits module to OpenSim.ini. EnforcePrimLimits is set to false by default to emulate the current behavior. 2011-05-09 03:14:48 +01:00
E. Allen Soard
65d595597d Adds an optional module to enforce prim limits on a given parcel Takes into account acculmitive prim allowance when multiple parcels are owned by the same avatar on the same region. Does not handle prims that are moved by a script or account for temporary objects at the time of creation. other wise handles all tested cases including: Creating a new object from the build menu Moving an object from another parcel duplicating an object via shift move rezing an object from a script 2011-05-09 03:14:41 +01:00
Melanie
2b88d8f93f Add commands to delete objects by name, UUID, creator or owner 2011-05-09 01:28:23 +01:00
Diva Canto
00f10c900a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-08 16:51:41 -07:00
Diva Canto
3a5e841b0b Fix content-type to be application/x-www-form-urlencoded 2011-05-08 16:51:04 -07:00
Diva Canto
a650c74d23 Comment verbose debug message in GetTexture 2011-05-08 16:50:36 -07:00
Melanie
c8b9558039 Also compress the actual fatpacks 2011-05-08 23:52:31 +01:00
Melanie
e345f03895 Remove a spammy debug I left in. Disable TP cancel button at the point
of no return.
2011-05-08 22:05:33 +01:00
Melanie
1be67914fa Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-05-08 20:20:40 +01:00
Melanie
9688db2f68 Enable compressed (gzip) fatpack transfers. 2011-05-08 20:20:00 +01:00
Diva Canto
25809caaeb Mantis #5472 2011-05-08 09:28:15 -07:00
BlueWall
d40e4562f2 Add missing configs for ssl in Robust.HG.ini 2011-05-07 18:54:21 -04:00
Diva Canto
72fb0d5b93 Mantis #5470 -- add forgotten MSSQL's GridUserStore. Thank you MrMonkE 2011-05-07 14:56:59 -07:00
Justin Clark-Casey (justincc)
d4fcba08af Add module with "appearance show" command.
At the moment, this command just asks the AvatarFactory to perform the existing baked texture check for each avatar in the simulator and returns "OK" or "corrupt".
This is for debugging purposes
2011-05-07 01:06:55 +01:00
Diva Canto
737add1683 Removed SimpleRegionInfo, which was obsolete and not used anywhere. 2011-05-06 17:02:46 -07:00
dahlia
eaa33cf478 adjust avatar terse update packet filter distance error threshold based on avatar speed 2011-05-06 16:56:54 -07:00
Justin Clark-Casey (justincc)
b140aef87a refactor: simplify ConfigSettings 2011-05-06 22:51:36 +01:00
Justin Clark-Casey (justincc)
04ecd748d9 remove further mono compiler warnings 2011-05-06 22:47:41 +01:00
Justin Clark-Casey (justincc)
3d095e84d6 minor: remove mono compiler warnings 2011-05-06 22:45:03 +01:00
Justin Clark-Casey (justincc)
f5ec332474 remove obsolete [StandAlone] config section parsing, none of which was actually used since being superseded by the connector architecture in 0.7 2011-05-06 22:41:07 +01:00
Justin Clark-Casey (justincc)
913e6b70c6 minor: slightly shorten "show digest" printing code 2011-05-06 22:13:56 +01:00
Justin Clark-Casey (justincc)
621279e498 on asset "show digest" command, print out the asset type name (e.g. texture) as well as its number 2011-05-06 22:04:26 +01:00
Justin Clark-Casey (justincc)
9ff94a3a44 Say which filename an asset has been dumped to on a successful dump 2011-05-06 21:58:41 +01:00
Justin Clark-Casey (justincc)
2ef8e03773 Change command help text for "show capabilities" to "show caps", as this is the actual command that has to be typed on the console.
Thanks to makopoppo for the patch - http://opensimulator.org/mantis/view.php?id=5467
2011-05-06 21:21:02 +01:00
Justin Clark-Casey (justincc)
7c3e8a106b Merge branch 'master' of https://github.com/allquixotic/opensim-autobackup 2011-05-06 20:51:55 +01:00
Diva Canto
74e981e796 One more bug fix concerning library items that weren't being copied to user's inventory. Also commented verbose debug message. 2011-05-06 09:56:27 -07:00
Diva Canto
50c0069f7d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-06 09:09:13 -07:00
Diva Canto
eafc01cf8f Bug fix: iars under Library weren't being loaded. 2011-05-06 09:08:24 -07:00
BlueWall
68bb0f81e2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-05-05 20:07:19 -04:00
Justin Clark-Casey (justincc)
fd44540c02 add descriptive explanations for region restart functionality 2011-05-06 01:06:28 +01:00
BlueWall
e4e95706d5 Add support for llRequestSecureURL() if ssl is enabled 2011-05-05 19:57:10 -04:00
BlueWall
8ca7938753 Adding ssl support
Adding ssl support for "Out of Band" applications such as the remote
	admin module or Robust services
2011-05-05 19:56:54 -04:00
Justin Clark-Casey (justincc)
8755a48cde fix command display for debugging 'emergency-monitoring' 2011-05-06 00:34:04 +01:00
Justin Clark-Casey (justincc)
46baadbb65 remove the NDesk.Options using since didn't end up needing it 2011-05-06 00:22:19 +01:00
Justin Clark-Casey (justincc)
bc49a0bc5d Add "dump asset" command to the asset service for debugging purposes.
This command dumps the asset with the given id to a file with the same name.
2011-05-06 00:09:08 +01:00
Melanie
1bdac6ed19 Fix up nant linux build break 2011-05-05 13:27:44 +01:00
Melanie
f5bb6edd85 Squish a warning 2011-05-05 13:01:46 +01:00
Melanie
4f588ad7ba Fix up some paths in prebuild 2011-05-05 12:52:31 +01:00
Diva Canto
e8944d6c31 Test m_Enabled on RemoveRegion. 2011-05-04 20:40:25 -07:00
Diva Canto
6d34932775 Merge branch 'master' into caps 2011-05-04 20:30:33 -07:00
Diva Canto
6c503e75ac Put the previous state back in the attachments in case the agent transfer fails. 2011-05-04 12:04:35 -07:00
Diva Canto
df7dacd004 Fixes mantis #5461. 2011-05-04 11:34:18 -07:00
Diva Canto
a0f3b23065 Merge branch 'master' into caps 2011-05-04 07:31:32 -07:00
dahlia
4c59d57596 use getters instead of member variables in velocity network filter code and add some more descriptive comments. 2011-05-04 03:29:06 -07:00
dahlia
13ab00e45a adjust terse avatar update filtering to send updates when distance traveled does not match expected distance, rather than at a fixed time period. this should smooth avatar motion somewhat when moving in a straight line and velocity is constant. 2011-05-03 19:47:50 -07:00
Diva Canto
98b84802e4 Changed the defaults, so that it behaves exactly is it has been behaving (no WebFetch cap by default). 2011-05-02 20:19:36 -07:00
Diva Canto
ac9697edbe Fixed: EventQueueGet and other caps were being wrongly deregistered. Also CapabilitiesModule was being instantiated twice (damn Mono.Addins). 2011-05-02 19:45:47 -07:00
Diva Canto
6b52c1d6cd Fix the GetTexture path to /CAPS/GetTexture for now until we have real capabilities. 2011-05-02 16:16:10 -07:00
Diva Canto
883f21dd02 WebFetchInventoryDescendents working. Tested with robust. 2011-05-02 14:33:34 -07:00
Diva Canto
2d403d5b18 Merge branch 'master' into caps 2011-05-02 11:56:51 -07:00
Diva Canto
aba9ffdbd0 Refactored the GetMesh module into a handler and a module, to be the same as GetTexture. 2011-05-02 11:56:40 -07:00
Diva Canto
f7d3720126 Increased timeout for fat UpdateAgent to 200secs. Nebadon's 3800-prim alien avatar takes 6secs to transfer between sims on the same machine... 2011-05-02 09:20:08 -07:00
Diva Canto
51d0b8b4e9 Oops, forgot this one. 2011-05-02 09:06:21 -07:00
Diva Canto
8cc547c277 Turns out that it's a bad idea to let Agent position updates linger for a long time on certain versions of mono. It's better to abort them if they take too long. So timeout is now an argument. Currently: 20secs for CreateAgent, 100secs for UpdateAgent (fat), 10 secs for UpdateAgent (Position); all of these divided by 4, for ReadWrite, as Mic had before. 2011-05-02 09:04:34 -07:00
Diva Canto
10180760b7 Works! 2011-05-02 08:48:55 -07:00
Sean McNamara
0995fedcac AutoBackupModule: Implement per-region settings in Regions.ini. 2011-05-02 04:32:31 -04:00
Sean McNamara
fffd42f5cb Merge git://opensimulator.org/git/opensim 2011-05-02 02:23:18 -04:00
Sean McNamara
2aab033aaa First pass at fixing justincc's feedback v2 ( http://opensimulator.org/mantis/view.php?id=5440 )
Fixing everything here (I think) except the per-region config. That's next.
2011-05-02 02:20:50 -04:00
Diva Canto
2d21052fa3 Start to drill down on GetTexture. Read the config and do different things. 2011-05-01 19:09:08 -07:00
Diva Canto
f79400e94c Broke down Caps.cs into a generic Caps object that simply registers/unregisters capabilities and a specific bunch of capability implementations in Linden space called BunchOfCaps.
Renamed a few methods that were misnomers.
Compiles but doesn't work.
2011-05-01 18:22:53 -07:00
Diva Canto
275046cf02 Change GetTextureModule.cs to conform to the new IRegion module interface. NOTHING OF THIS WORKS. Compiles. 2011-05-01 12:03:00 -07:00
Diva Canto
126d2adeba Move CapabilitiesModule back to CoreModules. This one belongs there. 2011-05-01 12:02:07 -07:00
Diva Canto
f10666c7ba How this might look like from a configuration perspective. Changes OpenSimDefaults.ini. 2011-05-01 10:07:54 -07:00
Diva Canto
8cc9d22b89 Merge branch 'master' into caps 2011-05-01 09:31:26 -07:00
Diva Canto
bbe41c75e1 Fixed confusing OSDMap that comes as the response of QueryAccess in the case it fails. 2011-05-01 09:30:23 -07:00
Diva Canto
f0bf64b6de Merge branch 'master' into caps 2011-05-01 09:11:16 -07:00
Diva Canto
6b2b036387 Added OpenSim.Capabilities.Handlers. For the moment it has only the GetTexture handler. The region module in Linden space uses it. WARNING: nothing of this works yet, it just compiles. 2011-05-01 09:08:18 -07:00
Diva Canto
d4323dd753 Increased Timeout to 30 secs. 2011-04-30 18:08:48 -07:00
Diva Canto
91a604d4b6 Removed XXX Debug. Increased ReadWriteTimeout on ServiceOSDRequest, because it was _way_ too low and is probably making writes abort in the middle. 2011-04-30 17:40:21 -07:00
Diva Canto
56df746133 XXX DEBUGGING! 2011-04-30 16:53:43 -07:00
Diva Canto
00e94b0ba8 Check for RegionID instead of RegionHandle. Other minor tweaks 2011-04-30 16:53:11 -07:00
Diva Canto
e3c27d8527 Nope, that didn't feel right. Moving all those modules to Linden space. 2011-04-30 13:24:25 -07:00
Diva Canto
c062138dad Moved several cap-based-service-providing modules from where they were into a newly created CoreModules/Caps. Not all. 2011-04-30 12:23:40 -07:00
Diva Canto
3e79842312 Renamed OpenSim.Framework.Capabilities.dll to OpenSim.Capabilities.dll 2011-04-30 11:03:22 -07:00
Diva Canto
d8ee0cbe1c First stab at cleaning up Caps. Compiles. Untested. 2011-04-30 09:24:15 -07:00
Melanie
99b35d3ca6 When coming in from a legacy region without fatpacks, start scripts the
usual way
2011-04-30 16:20:20 +01:00
Diva Canto
4d5d6222f7 Delaying starting the scripts on TPs and crossings until the agent is root. 2011-04-29 17:09:48 -07:00
Diva Canto
412503b216 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-29 15:52:40 -07:00
Diva Canto
0d49611f6d Remove the scripts of the attachments in the departing region and recreate them if fail. 2011-04-29 15:52:06 -07:00
Dan Lake
8f14c3f04f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-29 15:49:49 -07:00
Dan Lake
d565041e16 Fix crash when [Mesh] section is missing from configuration files 2011-04-29 15:49:10 -07:00
Diva Canto
73caa4e94a Minor correction to yesterday's changes. Make normal prim crossing (no attach) work well again. 2011-04-29 08:42:51 -07:00
Diva Canto
e462b926ac Minor improvement in version checking (Simulation service) 2011-04-29 08:01:44 -07:00
Diva Canto
97790075fe Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-28 20:47:34 -07:00
Diva Canto
9892e115cc Fatpack message on agent transfers: 1 message only (UpdateAgent) containing the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service. 2011-04-28 20:19:54 -07:00
Justin Clark-Casey (justincc)
5e578c9755 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-28 23:43:42 +01:00
Justin Clark-Casey (justincc)
cd7517ccb9 Stop CHANGED_INVENTORY firing twice if a notecard is edited in prim.
Addresses http://opensimulator.org/mantis/view.php?id=5444
Fix is to stop the asset transaction calling UpdateInventoryItem() since the caller is doing it anyway, which is more correct.
This did not effect scripts.
2011-04-28 22:59:12 +01:00
Diva Canto
35f190cc92 One less [Serializable] -- ClientInfo. 2011-04-28 09:06:57 -07:00
Diva Canto
549dc5aeb9 Eliminated sAgentCircuitData, a data structure that has been obsolete for quite some time. 2011-04-28 08:58:04 -07:00
Diva Canto
5c227da497 Added MrMonkE to the contributors. Fixed contributors. 2011-04-28 07:36:34 -07:00
Diva Canto
7ecf689584 Thank you MrMonkE for a patch that seems to bring the MSSQL data layer up to speed with 0.7.x. 2011-04-28 07:28:29 -07:00
Justin Clark-Casey (justincc)
50aa93137d Fix a bug where physical objects rezzed with an initial velocity by script do not receive this velocity.
This is a minimal fix for the 0.7.1 release, pending a non copy/paste solution.
This hopefully addresses http://opensimulator.org/mantis/view.php?id=5457
The bug was introduced in commit 3ba5eeb
2011-04-28 00:59:21 +01:00
Justin Clark-Casey (justincc)
5e3893ca5c add the executable bit to all bundled DLLs so that these are preserved when using git or untarring releases under cygwin on windows
Mono doesn't care if the
2011-04-27 23:57:26 +01:00
Diva Canto
e0576b56d3 Thank you Snoopy for a patch that adds some filtering to client versions allowed at login and HG-login times. NOTE: additional (optional) configuration variables in [LoginService] and [GatekeeperService]. See .examples. 2011-04-27 07:02:37 -07:00
Justin Clark-Casey (justincc)
12010849b8 Bump minimum required mono to 2.4.3 from 2.4.2. OpenSim fails at runtime below 2.4.3 due to unimplemented ServicePointManager.get_ServerCertificateValidationCallback() 2011-04-27 02:25:49 +01:00
Justin Clark-Casey (justincc)
1b43c05c3d Change default ini.example port used by Freeswitch in grid settings to 8004.
This is to facilitate running Freeswitch in a separate ROBUST shell, as on grid setups there can be quite a lot of traffic flowing between FreeSWITCH and ROBUST.  However, running in a spearate shell is not mandatory.
2011-04-27 02:05:16 +01:00
Justin Clark-Casey (justincc)
d722f22102 adjust freeswitch grid connector to port 8003 to agree with the default 8003 used in OpenSim.ini.example
Adjusting to 8003 seems sensible since this service doesn't need to be exposed to viewers.
2011-04-27 01:53:57 +01:00
dahlia
16f6f55f2d network traffic reduction - decrease update frequency for moving avatars when velocity is unchanged 2011-04-26 16:22:44 -07:00
Mic Bowman
1505fbb647 Add back the high prioritization for other avatars in the
BestAvatarResponsiveness prioritizer.
2011-04-26 08:54:05 -07:00
Sean McNamara
587aa91e36 Merge git://opensimulator.org/git/opensim 2011-04-26 11:45:38 -04:00
Mic Bowman
36fef21e52 Merge branch 'master' into queuetest 2011-04-26 08:42:21 -07:00
Sean McNamara
c82c7e6ed9 Wait for OnOarFileSaved event callback before executing script
We want to execute the (optional) user script after I/O is done on the oar.
I wasn't aware that ArchiveRegion is asynchronous -- now I am.
Should fully resolve comment 0018290 at
http://opensimulator.org/mantis/view.php?id=5440
2011-04-26 11:42:06 -04:00
Diva Canto
e579a990b4 Removed stale client components: MXP and VWoHTTP. 2011-04-25 18:59:01 -07:00
dahlia
037373b825 recover from unhandled exception from bad rotation data while processing entity updates in LLClientView.cs 2011-04-25 17:11:54 -07:00
Mic Bowman
b9bca893ef Removed debug message in the token bucket code 2011-04-25 16:13:16 -07:00
Mic Bowman
13f141a4d5 Fix the totals shown by show throttle 2011-04-25 15:36:59 -07:00
Mic Bowman
b7eda288bf Merge branch 'master' into queuetest 2011-04-25 15:12:53 -07:00
Mic Bowman
77ab7ce084 Fixed the transmission of throttles from root agent to child
agents. Child throttles are based on the number of child agents
known to the root and at least 1/4 of the throttle given to
the root.
2011-04-25 15:11:29 -07:00
Diva Canto
ef4f1fc4ba Made things consistent between LocalInventoryServiceConnector and RemoteXInventoryServiceConnector on GetFolderContent. 2011-04-25 11:00:48 -07:00
Mic Bowman
2fefb7adee Merge branch 'master' into queuetest 2011-04-25 10:55:19 -07:00
Mic Bowman
024c12abc3 Cleaned up various configuration options. Removed the category throttle
limits because the only ones used now are the defaults (which are overwritten
by the client throttles anyway). Updated the default rates to correspond to
about 350kbps.

Also added a configuration to disable adaptive throttle. The default
is the previous behavior (no adaptation).
2011-04-25 10:44:41 -07:00
Diva Canto
3a38bd8854 Addresses mantis #5449 -- crashing exception in SendInventoryFolderDetails. 2011-04-25 08:53:48 -07:00
Mic Bowman
1d7c83c39f Merge branch 'master' into queuetest 2011-04-25 08:41:21 -07:00
Diva Canto
0d5a80ad78 Removed unused libraries: RAILS.dll and dependencies. 2011-04-24 19:14:39 -07:00
Diva Canto
35c09cae8c Removed unused libraries Castle.* 2011-04-24 19:06:48 -07:00
Diva Canto
507f0e9ffd Upped VERSION_NUMBER in master to 0.7.2. 2011-04-24 16:21:01 -07:00
Diva Canto
e3c3d626fb Commented verbose debug message. 2011-04-24 16:14:24 -07:00
Sean McNamara
d287e0ac68 Merge git://opensimulator.org/git/opensim 2011-04-23 18:33:08 -04:00
Sean McNamara
440d54a521 AutoBackup: Removed unneeded imports. 2011-04-23 18:32:08 -04:00
Sean McNamara
082fad6dd2 Fix most issues raised by justincc: http://opensimulator.org/mantis/view.php?id=5440 2011-04-23 18:29:13 -04:00
Mic Bowman
e2c6ed236d Fix a bug looping through the priority queues. This should fix the problem
of not all prims being sent without reprioritization.
2011-04-23 12:17:10 -07:00
E. Allen Soard
44e43d9d24 Added MaxAgents configuration option to RegionConfig.ini allowing region hosters to setup regions maintaining more control over system resources. 2011-04-23 00:40:08 +01:00
Justin Clark-Casey (justincc)
d5256094d9 print invalid command message to the console, not the log 2011-04-23 00:16:55 +01:00
Mic Bowman
a3bd769cb3 Added a second immediate queue to be used for the BestAvatar policy
and currently used for all of an avatars attachments by the other
policies. Also changed the way items are pulled from the update queues
to bias close objects even more.
2011-04-22 14:55:23 -07:00
Mic Bowman
08e58e7ca6 Set the initial rate for the adaptive throttle to 160Kpbs
or about 15 packets per second.
2011-04-22 14:02:34 -07:00
Mic Bowman
3534f4492a Various clean ups. Removed some debugging code. Added a new "show pqueues"
command to look at the entity update priority queue. Added a "name" parameter
to show queues, show pqueues and show throttles to look at data for a specific
user.
2011-04-22 14:01:12 -07:00
BlueWall
cbe49ed917 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-04-21 19:08:31 -04:00
BlueWall
b8e282324e fix merge conflicts with OpenSimDefaults.ini 2011-04-21 19:06:54 -04:00
BlueWall
e0002f6b64 some mesh config asthetics 2011-04-21 19:04:41 -04:00
Mic Bowman
0897647709 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest 2011-04-21 15:41:15 -07:00
Mic Bowman
c5159ad8d0 Add some locking on the child list for the token bucket
hiearchy. A few other cosmetic changes.
2011-04-21 15:40:38 -07:00
Dan Lake
7f28dd4b31 Refactor UnackedPacketCollection so ProcessQueues will handle Adds, Acks, and Removes in that order. 2011-04-21 15:40:32 -07:00
Melanie
398bb2149a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-04-21 23:04:01 +01:00
Melanie
13d6e05d5a Implement agent limits 2011-04-21 23:03:38 +01:00
BlueWall
5e99d93651 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-21 15:16:12 -04:00
BlueWall
d9055c8dc3 Group collada meshies settings under [Mesh] in OpensimDefaults.ini 2011-04-21 15:15:24 -04:00
Justin Clark-Casey (justincc)
223c90c751 Remove duplicated freeswitch settings. 2011-04-21 19:31:37 +01:00
Justin Clark-Casey (justincc)
60685c3517 Adjust freeswitch logging to be somewhat less noisy. However, there is still quite a large amount of logging present for debug purposes. 2011-04-21 19:17:38 +01:00
Justin Clark-Casey (justincc)
e36cab99fd minor: small amount of method doc and some commented out odds and ends 2011-04-21 18:45:05 +01:00
Justin Clark-Casey (justincc)
44999dce76 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-21 18:44:04 +01:00
Justin Clark-Casey (justincc)
63c1b7e475 Alter uuid gather so that it properly analyzes coalesced objects.
This should correct save all the assets required for the items within the coalesced objects in an IAR.  This should also correctly gather the items on hypergrid takes.
2011-04-21 18:12:29 +01:00
Mic Bowman
371576d1dd Merge branch 'master' into queuetest 2011-04-21 08:23:01 -07:00
Dan Lake
3640d0204f Added ability to remove unacked packet from UnackedPacketCollection without an acknowledgement from the network. This prevents RTT and throttles from being updated as they would when an ACK is actually received. Also fixed stats logging for unacked bytes and resent packets in this case. 2011-04-21 01:51:08 -07:00
Dan Lake
b5ab33b5e1 bug fix. Now when an unacked update packet is handled through ResendPrimUpdates, it is removed from the UnackedPacketCollection. 2011-04-20 23:08:51 -07:00
Mic Bowman
7759bda833 Added an "immediate" queue to the priority queue. This is
per Melanie's very good suggestion. The immediate queue is
serviced completely before all others, making it a very good
place to put avatar updates & attachments.

Moved the priority queue out of the LLUDP directory and
into the framework. It is now a fairly general utility.
2011-04-20 21:58:49 -07:00
Mic Bowman
294b49ca3d Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
2011-04-20 16:28:33 -07:00
Mic Bowman
2b737c9cc2 Adds the first pass at an adaptive throttle to slow start new
clients. If the sent packets are ack'ed successfully the throttle
will open quickly up to the maximum specified by the client and/or
the sims client throttle.

This still needs a lot of adjustment to get the rates correct.
2011-04-20 16:23:33 -07:00
dahlia
212326eeb0 fix meshing failure on sculpt maps smaller than 64x64 2011-04-19 22:16:10 -07:00
Justin Clark-Casey (justincc)
ccc26f7443 Get Viewer 2 voice working with OpenSim.
See http://opensimulator.org/mantis/view.php?id=5336
It turns out that viewer 2 was upset by the lack of a response to viv_watcher.php.  This would send it into a continuous login loop.
Viewer 1 was quite happy to ignore the lack of response.
This commit puts in the bare minimum 'OK' message in response to viv_watcher.php.  This allows viewer 2 voice to connect and appears to work.
However, at some point we need to fill out the watcher response, whatever that is.
2011-04-20 01:02:40 +01:00
Justin Clark-Casey (justincc)
b786860bac synchronize Robust.HG.ini.example FreeSWITCH config with other config files 2011-04-19 22:38:43 +01:00
Justin Clark-Casey (justincc)
575257f3fe For consistency, uncomment ColladaMesh option in OpenSimDefaults.ini. Thanks for the spot, Ai Austin. 2011-04-19 21:58:55 +01:00
Justin Clark-Casey (justincc)
2fa210243b Clean up freeswitch config to what is currently required. Add explanation to config parameters. Clean up some log messages. 2011-04-19 21:54:26 +01:00
Mic Bowman
82de87ce99 Converted the property request queue to use the same retransmission
mechanism as the entity update queues.
2011-04-19 11:22:04 -07:00
Dan Lake
08d8a3e580 Requeue unacknowledged entity updates rather than resend then "as is".
Often, by the time the UDPServer realizes that an entity update packet
has not been acknowledged, there is a newer update for the same entity
already queued up or there is a higher priority update that should be
sent first. This patch eliminates 1:1 packet resends for unacked entity
update packets. Insteawd, unacked update packets are decomposed into the
original entity updates and those updates are placed back into the
priority queues based on their new priority but the original update
timestamp. This will generally place them at the head of the line to be
put back on the wire as a new outgoing packet but prevents the resend
queue from filling up with multiple stale updates for the same entity.
This new approach takes advantage of the UDP nature of the Linden protocol
in that the intent of a reliable update packet is that if it goes
unacknowledge, SOMETHING has to happen to get the update to the client.
We are simply making sure that we are resending current object state
rather than stale object state.

Additionally, this patch includes a generalized callback mechanism so
that any caller can specify their own method to call when a packet
expires without being acknowledged. We use this mechanism to requeue
update packets and otherwise use the UDPServer default method of just
putting expired packets in the resend queue.
2011-04-19 08:10:01 -07:00
Dan Lake
6e4d970dae Requeue unacknowledged entity updates rather than resend then "as is".
Often, by the time the UDPServer realizes that an entity update packet
has not been acknowledged, there is a newer update for the same entity
already queued up or there is a higher priority update that should be
sent first. This patch eliminates 1:1 packet resends for unacked entity
update packets. Insteawd, unacked update packets are decomposed into the
original entity updates and those updates are placed back into the
priority queues based on their new priority but the original update
timestamp. This will generally place them at the head of the line to be
put back on the wire as a new outgoing packet but prevents the resend
queue from filling up with multiple stale updates for the same entity.
This new approach takes advantage of the UDP nature of the Linden protocol
in that the intent of a reliable update packet is that if it goes
unacknowledge, SOMETHING has to happen to get the update to the client.
We are simply making sure that we are resending current object state
rather than stale object state.

Additionally, this patch includes a generalized callback mechanism so
that any caller can specify their own method to call when a packet
expires without being acknowledged. We use this mechanism to requeue
update packets and otherwise use the UDPServer default method of just
putting expired packets in the resend queue.
2011-04-18 16:48:49 -07:00
Justin Clark-Casey (justincc)
36c4e94ef7 Move mesh on/off swtich from [Startup] to [Mesh] in anticipation of future config parameters.
Default remains true.
OpenSimDefault.ini changed so if you haven't overriden this switch then you don't need to do anything.
2011-04-18 23:22:04 +01:00
Justin Clark-Casey (justincc)
f5a041d012 bump default IAR version to 0.2 and 1.1 for the --profile version.
There are no changes in this bump, they just signal a point at which the control file comes first in the archive.
2011-04-18 23:00:41 +01:00
Justin Clark-Casey (justincc)
6109605038 bump oar version number to 0.6.
This commit contains no data changes - the version bump is to establish a version at which the control file must come first in the archive.
2011-04-18 22:42:36 +01:00
Justin Clark-Casey (justincc)
6600aa2baf Add regression test to check that OARs start with the control file. 2011-04-18 22:35:33 +01:00
Justin Clark-Casey (justincc)
e00e518692 add test to ensure that an IAR starts with the control file 2011-04-18 22:24:42 +01:00
Justin Clark-Casey (justincc)
61619ddefc refactor: split out the code which actually copies a particular bundle to inventory 2011-04-18 21:59:01 +01:00
Justin Clark-Casey (justincc)
71114d4ad1 refactor: rename DeleteToInventory() to CopyToInventory()
DeleteToInventory() is misleading - it is the caller that decides whether to delete or not
2011-04-18 21:34:26 +01:00
Justin Clark-Casey (justincc)
5a404a9ab1 Fix bug where objects were being coalesced in the wrong positions.
This addresses http://opensimulator.org/mantis/view.php?id=5441
The bug was due to a pre-existing mistake in creating the inventory stored position
2011-04-18 21:07:11 +01:00
Justin Clark-Casey (justincc)
8533c63d89 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-18 20:36:26 +01:00
Justin Clark-Casey (justincc)
419fc9427e Provide a configuration setting to control whether multiple taken objects are coalesced to inventory
This is the CoalesceMultipleObjectsToInventory setting in [Inventory] in OpenSimDefaults.ini
Default is true.
2011-04-18 20:03:53 +01:00
Mic Bowman
452ae375f0 Merge branch 'master' into test-merge0418 2011-04-18 11:29:43 -07:00
Melanie
03e725ad87 Mantis #5442: Add admin_save_heightmap 2011-04-17 21:43:16 +01:00
Dan Lake
70084c5e3a More descriptive debug msg for ServiceOSDRequest failures. 2011-04-16 15:29:28 -07:00
Mic Bowman
3e0e1057ac Remove the call to remove tokens from the parent. Under heavy load
this appears to cause problems with the system timer resolution.
This caused a problem with tokens going into the root throttle as
bursts leading to some starvation.

Also changed EnqueueOutgoing to always queue a packet if there
are already packets in the queue. Ensures consistent ordering
of packet sends.
2011-04-15 16:44:53 -07:00
Diva Canto
cd6dce1108 Fixes mantis #5431 -- coalesced objects in HG-enabled regions. Needs more testing to make sure HG inventory isn't broken by this (it shouldn't). 2011-04-15 16:42:40 -07:00
Justin Clark-Casey (justincc)
ed74be6599 Make remote admin error messages more helpful on windows.
Also, make log messages conform more with convention.
2011-04-15 23:54:30 +01:00
Justin Clark-Casey (justincc)
1dba671f45 refactor: separate out code that adds permissions 2011-04-15 23:32:46 +01:00
BlueWall
065d3f42c7 Merge branch 'master' of /home/opensim/lib/develop/BlueWall 2011-04-15 18:28:46 -04:00
BlueWall
fc365f2a31 Thanks Snoopy for a patch that allows setting of perms on items given to new avatars 2011-04-15 18:23:37 -04:00
Justin Clark-Casey (justincc)
9c7f14bf36 minor: remove a small amount of code duplication 2011-04-15 23:07:23 +01:00
Justin Clark-Casey (justincc)
98c5ed2c79 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-15 22:49:59 +01:00
Justin Clark-Casey (justincc)
52d9230392 refactor: split out some rez code into a separate CreateItemForObject() method 2011-04-15 22:47:47 +01:00
BlueWall
37d2b6243b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-14 21:16:30 -04:00
BlueWall
40bf417da7 Add ColladaMesh switch 2011-04-14 21:15:42 -04:00
Justin Clark-Casey (justincc)
66a62678e5 get rid of all traces of the now used mock service infrastructure 2011-04-15 01:37:27 +01:00
Justin Clark-Casey (justincc)
631654a38d remove old code for a mock grid service, which got removed some time back 2011-04-15 01:30:49 +01:00
Justin Clark-Casey (justincc)
ba73df39a3 remove any reference to a mock authentication service since it doesn't exist and we don't use it 2011-04-15 01:26:07 +01:00
Justin Clark-Casey (justincc)
54e8855819 remove mock asset service for tests in favour of always using the real one 2011-04-15 01:23:26 +01:00
Justin Clark-Casey (justincc)
79bd430e08 Remove the mock inventory service for tests and just use the real one all the time with an in-memory data plugin 2011-04-15 01:10:26 +01:00
Justin Clark-Casey (justincc)
ad70cddcfc extend TestLoadCoalesecedItem() to check loaded object ids and positions 2011-04-15 00:56:40 +01:00
Justin Clark-Casey (justincc)
a0d80140f2 Make all the objects in a coalescence reappears after being loaded from an IAR. This still doesn't work proprerly since some required textures/contained item assets might be missing.
From pure code inspection, it looks like the uuid gatherer may get most asset uuids because the scene object serializer naively pulls non-root parts from all contained scene objects into one mega-object.  However, root part uuids may well still be missing, and there may be other odd artifacts from this bug.
It appears that storing the size of the coalescence and the offsets is redundant, since one can work out this information from the position data already in the scene object groups.
2011-04-15 00:42:06 +01:00
Justin Clark-Casey (justincc)
821e67fb95 implement stub TestLoadCoalesecedItem(). Doesn't do what it's meant to do yet. 2011-04-14 20:59:52 +01:00
Justin Clark-Casey (justincc)
55387542ea simplify InventoryArchiveTestCase setup 2011-04-14 20:35:00 +01:00
Justin Clark-Casey (justincc)
1569148b49 simplify TestSaveItemToIarV0_1() 2011-04-14 20:32:27 +01:00
Justin Clark-Casey (justincc)
e439264824 simplify TestRezObject() 2011-04-14 20:23:48 +01:00
Justin Clark-Casey (justincc)
c644ab6a2c Make scene object parts created by the test utils unit sized. 2011-04-14 20:21:44 +01:00
Justin Clark-Casey (justincc)
4b05e667cb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-14 20:15:34 +01:00
Mic Bowman
22b307ea1c Merge branch 'master' into queuetest 2011-04-14 11:59:25 -07:00
Justin Clark-Casey (justincc)
aaf9125869 simplify coalesced object tests by using existing scene object set up utils
this change makes it possible to set an absolute position on a group before it is put into a scene.
2011-04-14 17:33:55 +01:00
Mic Bowman
6ed6b46aad Comment out the warning if the prioritizer runs without a fully
initialized scene presence. Not sure why we are dumping updates
to a client that isn't there yet...
2011-04-13 21:01:51 -07:00
Mic Bowman
590d20903c Merge branch 'testmerge' into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
2011-04-13 15:41:17 -07:00
Mic Bowman
bf91d1b077 remove packet monitoring debugging code 2011-04-13 15:37:25 -07:00
Mic Bowman
b33aac737a Fixed the update of items in the priority queue to enable both
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
2011-04-13 15:37:25 -07:00
Mic Bowman
5e7aba4f88 fixed a couple bugs with the property queues 2011-04-13 15:37:25 -07:00
Mic Bowman
3fe22126ca First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-13 15:37:25 -07:00
Mic Bowman
5b89c66c97 New tokenbucket algorithm. This one provides fair sharing of the queues
when client and simulator throttles are set. This algorithm also uses
 pre-defined burst rate of 150% of the sustained rate for each of the
 throttles.

Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
2011-04-13 15:37:25 -07:00
Mic Bowman
4c62203b3b Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest 2011-04-13 15:31:12 -07:00
Justin Clark-Casey (justincc)
c5465414b6 Use common coalesced serialization code for both tests and the InventoryAccessModule.
Continue to restore original absolute positions of stored scene objects, though it's possible that these aren't used again
2011-04-13 22:55:26 +01:00
Justin Clark-Casey (justincc)
c81f5bfc5c Adjust the quanterions used in the rez coalsced object tests to get sensible bounding box and offset numbers.
Extend test to check position of objects in the rezzed coalescence.
2011-04-13 22:29:12 +01:00
BlueWall
c0fcc430fe Merge branch 'master' of /home/git/repo/OpenSim into queuetest 2011-04-13 17:03:30 -04:00
Justin Clark-Casey (justincc)
68cc5b46fe refactor: move code to obtain the coalescence size and object offsets into CoalescedSceneObjects from the serializer. 2011-04-13 21:48:16 +01:00
Justin Clark-Casey (justincc)
d8d28c3737 Fix bug where rezzing coalesced objects would give all objects the same name as the item.
This now only happens for the first object (which was the item selected last when the coalesce was originally taken)
This matches the expected behaviour of the environment as seen on the Linden Labs grid.
2011-04-13 21:31:45 +01:00
Justin Clark-Casey (justincc)
58efd761d1 Add coalesced scene objects class and serializer. This is currently only used by the TestRezCoalescedObject() regression test.
This structure matches the existing one for SceneObjects and will allow code to be reused by the uuid gatherer, other tests, etc.
Test is not yet fully implemented due to a bug in rezzing coalesced objects where they all get the same name as the item.
Only one object should get the same name as the item, which appears to be the one selected last when the the objects were coalesced in the first place.
This bug will be addressed shortly.
2011-04-13 21:17:43 +01:00
BlueWall
dec9c2283b Add ColladaMesh switch 2011-04-13 16:10:18 -04:00
Justin Clark-Casey (justincc)
08fd1d9bbd factor out some test code into the SetUp() 2011-04-13 18:11:04 +01:00
Justin Clark-Casey (justincc)
6613daa82a Add a regression test for rezzing a single object into a scene from user inventory 2011-04-13 17:46:36 +01:00
BlueWall
d3457eae7a Merge branch 'master' of /home/git/repo/OpenSim 2011-04-13 09:53:44 -04:00
dahlia
90b810c27e force mesh proxy for simple box prims with path cut 2011-04-12 22:47:30 -07:00
Diva Canto
7592a033df Moved 3 request handlers from OpenSim.Framework.Servers.HttpServer up to OpenSim.Framework -- just pasted them in WebUtil. This is so that code that uses the Service connectors don't need to include the HttpServer dll -- that was odd. 2011-04-12 20:24:28 -07:00
Diva Canto
16c911dcbb Implemented terrain save-tile command. Does the opposite of load-tile. For now, only saves to .png. 2011-04-12 19:46:27 -07:00
Diva Canto
5c870fce54 Bug fix in object serialization -- sculpt data was wrong. 2011-04-12 19:45:33 -07:00
Mic Bowman
b84ad81740 remove packet monitoring debugging code 2011-04-12 15:58:57 -07:00
Mic Bowman
78c04d61ca Fixed the update of items in the priority queue to enable both
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
2011-04-12 15:58:57 -07:00
Mic Bowman
1a0f107012 fixed a couple bugs with the property queues 2011-04-12 15:58:57 -07:00
Mic Bowman
69d014e1dc First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-12 15:58:57 -07:00
Mic Bowman
2f43687589 New tokenbucket algorithm. This one provides fair sharing of the queues
when client and simulator throttles are set. This algorithm also uses
 pre-defined burst rate of 150% of the sustained rate for each of the
 throttles.

Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
2011-04-12 15:58:57 -07:00
Mic Bowman
317617cfda remove packet monitoring debugging code 2011-04-12 15:55:21 -07:00
Mic Bowman
80ba3de902 Fixed the update of items in the priority queue to enable both
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
2011-04-12 15:40:57 -07:00
Justin Clark-Casey (justincc)
424995e138 Move example HttpProxy setting to OpenSim.ini.example and tidy 2011-04-12 23:22:21 +01:00
Justin Clark-Casey (justincc)
bed463666c minor typo correction. thanks Ai Austin. 2011-04-12 23:16:43 +01:00
Mic Bowman
7fa085b3fa fixed a couple bugs with the property queues 2011-04-12 14:40:57 -07:00
Justin Clark-Casey (justincc)
da4a9653a2 minor: remove some mono compiler warnings 2011-04-12 22:33:06 +01:00
Justin Clark-Casey (justincc)
b0889ed92a refactor: simplify bRayEndIsIntersection boolean set from RayEndIsIntersection byte 2011-04-12 22:30:43 +01:00
Justin Clark-Casey (justincc)
8e0d2cc43b If an object is rezzed directly from a prim inventory then give it the rotation it was stored with. 2011-04-12 22:21:46 +01:00
Justin Clark-Casey (justincc)
3ba5eeb6c3 Allow a null rotation to be passed in to RezObject so that we can control whether to use the serialized rotation or not. Not used yet. 2011-04-12 22:15:40 +01:00
Mic Bowman
3afddb9033 Merge branch 'test-select' into queuetest 2011-04-12 12:39:02 -07:00
Mic Bowman
0e97629ee7 Merge branch 'master' into queuetest 2011-04-12 12:38:47 -07:00
Mic Bowman
095e602c4a First pass at moving object property requests into a queue similar
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
2011-04-12 12:36:36 -07:00
Justin Clark-Casey (justincc)
98d7de22dc Fix (add) ability to rez objects by dragging them out of another prim's inventory.
This should happen if the client supplies a task ID with the RezObject call.
The rez goes through the same code as llRezObject(), so the same perms are applied.
Rotation isn't yet preserved, this should be fixed shortly.
2011-04-12 18:31:41 +01:00
Sean McNamara
049bce4d00 Fixup the global defaults config parsing code. 2011-04-12 01:14:21 -04:00
Justin Clark-Casey (justincc)
621d5b58e1 minor: add a bit more method doc to IInventoryService.GetItem() 2011-04-11 23:56:04 +01:00
Justin Clark-Casey (justincc)
49d80f5711 Include code to return more information about the NullReferenceException seen in
http://opensimulator.org/mantis/view.php?id=5403 prior to doing something about it.
2011-04-11 23:07:56 +01:00
Justin Clark-Casey (justincc)
64dc7e9f14 minor: remove now inaccurate comment 2011-04-11 22:35:07 +01:00
Justin Clark-Casey (justincc)
e8ecb2898c minor: remove some mono compiler warnings 2011-04-11 22:33:24 +01:00
Justin Clark-Casey (justincc)
3a98fb080a minor: adjust some spacing and indentation 2011-04-11 22:29:08 +01:00
E. Allen Soard
464fa45ec9 Implimented HTTP_VERIFY_CERT for llHttpRequest 2011-04-11 22:22:11 +01:00
Justin Clark-Casey (justincc)
333a2913cf slightly tweak OpenSim.ini.example text 2011-04-11 22:02:12 +01:00
Justin Clark-Casey (justincc)
0bd6bc8fba create "config show" as a region console command synonym for "config get".
This is to create greater consistency with all the other show commands.
2011-04-11 21:59:26 +01:00
Justin Clark-Casey (justincc)
d6948b15c4 Make it more obvious when it happens that DLL plugin loading fails. Improve exception output on Windows. 2011-04-11 21:51:17 +01:00
Justin Clark-Casey (justincc)
fda393b088 Add information comment to top of OpenSimDefaults.ini and make file consistent 2011-04-11 21:42:28 +01:00
Justin Clark-Casey (justincc)
e9c2beadec Add more instructions to OpenSim.ini.example to try and make it more understandable for new users. 2011-04-11 20:43:11 +01:00
Sean McNamara
95a6ee0a37 Fix NREs harder. 2011-04-11 13:20:46 -04:00
Sean McNamara
4ad05fb01d Fix some NREs on certain paths. 2011-04-11 13:12:26 -04:00
Sean McNamara
4974a1ce69 AutoBackup: Support region-independent settings too. 2011-04-11 12:34:26 -04:00
Mic Bowman
6e9cdb9ce3 New tokenbucket algorithm. This one provides fair sharing of the queues
when client and simulator throttles are set. This algorithm also uses
 pre-defined burst rate of 150% of the sustained rate for each of the
 throttles.

Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
2011-04-11 09:06:28 -07:00
Mic Bowman
72a24cf023 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/Prioritizer.cs
2011-04-11 08:41:36 -07:00
Mic Bowman
f778056c7a Removed some priority queue debugging code 2011-04-11 08:37:43 -07:00
Mic Bowman
ebc249e3be Changed the "not in scene" check in the prioritizier to just
a warning. There appears to be a race condition on slow logins
that attempts to prioritize before the scene presence is fully
initialized.
2011-04-10 17:02:40 -07:00
Mic Bowman
19c6d1d569 Split the priority queue class into a seperate file. LLClientView
is big enough.
2011-04-10 16:57:02 -07:00
Mic Bowman
83dc2470f2 Fix a bug in the computation of the RTO. Basically... the RTO (the
time to wait to retransmit packets) always maxed out (no retransmissions
for 24 or 48 seconds.

Note that this is going to cause faster (and more) retransmissions. Fix
for dynamic throttling needs to go with this.
2011-04-10 16:57:02 -07:00
Mic Bowman
0bd06d8ba8 Fixed the prioritizer functions for the new priority queues 2011-04-10 16:57:02 -07:00
Mic Bowman
77cf9405de Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-04-10 16:57:02 -07:00
Sean McNamara
9c0f3c73b1 Merge git://opensimulator.org/git/opensim 2011-04-10 18:28:54 -04:00
Justin Clark-Casey (justincc)
707b6673c9 minor: remove mono compiler warnings 2011-04-09 00:25:00 +01:00
Justin Clark-Casey (justincc)
2aa3984796 Update ODE for mac from source code in opensim-libs SVN library. This version is r1755 + patches as detailed in the svn logs.
This brings it into line with the Windows and Linux libraries.
This is a universal dylib with x86_64, i386 and ppc parts.  However, even on a 64 bit Intel machine Mono can only P/INVOKE the i386 version right now.  ppc is untested.
The configuration used to compile was

CFLAGS="-g -O2 -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -arch ppc" CXXFLAGS="-g -O2 -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -arch ppc" LDFLAGS="-arch i386 -arch x86_64 -arch ppc" ./configure --enable-old-trimesh --disable-asserts --enable-shared --disable-dependency-tracking --disable-demos --without-x

--disable-demos --without-x is required to build ODE on Mac OS X
CFLAGS, CXXFLAGS and --disable-dependency-tracking are necessary to build the universal dylib (some compilation lines use CFLAGS instead of CXXFLAGS)
The other settings are tweaks for using ODE with OpenSim
2011-04-08 20:50:23 +01:00
Melanie
abea0c74c2 Add support for the new display name related functions in LSL. This does not
implement the display names functionality as such, but it allows scripts
that are display name aware to function as if the display name were implemented
and set to the avatar name.
2011-04-08 04:19:17 +01:00
Justin Clark-Casey (justincc)
d31175060f trivial whitespace removal to trigger a panda rebuild 2011-04-08 00:42:35 +01:00
Justin Clark-Casey (justincc)
9ba787be67 Remove old SQLite library 2011-04-08 00:33:33 +01:00
Justin Clark-Casey (justincc)
0ced677510 Revert master version number to 0.7.1 for now to make merging easier. 2011-04-07 23:22:19 +01:00
Justin Clark-Casey (justincc)
9d40c0dcc7 Remove the SQLite legacy adaptor. This is no longer needed now that the main adaptor works on Mac OS X.
The SQLite legacy adapator was also not at all well maintained, even worse than the mainline sqlite adapator.
2011-04-07 23:20:04 +01:00
Justin Clark-Casey (justincc)
1b1e6f78fd Bundle a built-from-source Mac OS X sqlite3 universal dylib with OpenSim and use this instead of the system one.
This means that Mac OS X users can now use the standard sqlite adaptor instead of the legacy one.
This is SQLite 3.7.5.  I configured the build with the line

CFLAGS="-Os -g -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -arch ppc7400 -DSQLITE_ENABLE_COLUMN_METADATA" LDFLAGS="-arch i386 -arch x86_64 -arch ppc7400" ./configure --disable-dependency-tracking

The SQLITE_ENABLE_COLUMN_METADATA flag exports the metadata symbols that modern Mono SQLite adaptors need.
The -Os removes debugging symbols (as per the sqlite3 source pkg README)
The other parts are to cross compile for x86_64, i386 and ppc.  On Mac OS X, Mono can actually only P/INVOKE 32-bit libraries even on 64 bit platforms so i386 is being used.  The dylib has not been tested on ppc.
2011-04-07 21:44:54 +01:00
Justin Clark-Casey (justincc)
a6b1927cff bump main branch version number to 0.7.2. A separate 0.7.1-post-fixes branch now exists. 2011-04-06 22:05:07 +01:00
Justin Clark-Casey (justincc)
9bc2705f37 Fix bug where on duplication, the root part local id was continually used in populating the local id scene object index instead of each part's local id 2011-04-06 20:52:36 +01:00
Justin Clark-Casey (justincc)
8318915d7e Signal prim count taint if the AbsolutePosition of a scene object changes.
This updates prim counts correctly if an object is moved by something other than an avatar (e.g. scripts, region modules)
Create TestMoveOwnerObject() regression test for this case.
2011-04-06 20:48:00 +01:00
Justin Clark-Casey (justincc)
63533412f8 Improve previous ILandObject method doc.
For test code, take a part name prefix when creating objects, so that these can be more easily identified in the logs
2011-04-06 18:57:50 +01:00
Justin Clark-Casey (justincc)
fa202a05e9 Add method doc to some land bitmap methods in ILandObject.
Also changes prim count tests to use the correct upper region bounds, though the method actually ignores the overage.
2011-04-06 17:19:31 +01:00
Justin Clark-Casey (justincc)
2497962360 Change some text to make the autoreturn mechanism more obvious, and align with the fact that it's one word rather than two. 2011-04-05 22:25:00 +01:00
Justin Clark-Casey (justincc)
acacee98c6 properly refresh object owner list when refresh button is hit on land parcel object tab 2011-04-05 22:15:06 +01:00
Justin Clark-Casey (justincc)
0e465da187 remove now unused individual LandData prim counts.
However, the calls to the land management module to record prims need to remain, since they were also being used to return owner object lists, etc.
This is probably why prim counts were being done there in the first place.
2011-04-05 21:25:54 +01:00
Justin Clark-Casey (justincc)
f030ba8992 replace magic numbers in llGetParcelPrimCount() with constants 2011-04-05 20:39:58 +01:00
Justin Clark-Casey (justincc)
dc6ce24443 switch llGetParcelPrimCount() to use new prim counts module 2011-04-05 20:31:52 +01:00
Justin Clark-Casey (justincc)
3d400fc663 If an object is selected, then don't include it in owner/group/others prim counts.
This fixes the total prim count that the viewer displays when prims are selected - it appears to ignore the total that we pass it and adds up the counts separately.
2011-04-05 18:24:23 +01:00
Justin Clark-Casey (justincc)
c1dec225ab Handle the client's parcel info requests asynchronously rather than synchronously.
Handling these synchronously kills the inbound packet loop if many requests are made for remote land and those requests are handled slowly or timeout (timeout is 10s)
This can happen if a user searches for "land for sale" and then clicks many of the parcels in the list (or just presses down arrow to move through every entry).
2011-04-05 17:47:11 +01:00
Teravus Ovares (Dan Olivares)
18e206d2ed * Bugfix - Compile NullEstateData implement public List<int> IEstateDataStore.GetEstatesByOwner(UUID) 2011-04-04 23:45:28 -04:00
Mic Bowman
d5e0674213 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-04 20:04:01 -07:00
Mic Bowman
b2fbadeae8 Updates NullStorage plugin.
Thanks MisterBlue...
2011-04-04 20:02:13 -07:00
Justin Clark-Casey (justincc)
f58941e89f Make the "All Estates" option work from the client (this makes chosen changes to all the estates that the user owns).
This applies to adding/removing estate users, groups, managers and bans.
This is the application of the AllEstates_0.5.patch from http://opensimulator.org/mantis/view.php?id=5420
Thanks very much, Snoopy!
2011-04-05 01:30:13 +01:00
Mic Bowman
65af4bacc9 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/Prioritizer.cs
2011-04-04 14:25:21 -07:00
Mic Bowman
8b134f37f2 Fix a bug in the computation of the RTO. Basically... the RTO (the
time to wait to retransmit packets) always maxed out (no retransmissions
for 24 or 48 seconds.

Note that this is going to cause faster (and more) retransmissions. Fix
for dynamic throttling needs to go with this.
2011-04-04 14:18:26 -07:00
Mic Bowman
15c4bbea59 Fixed the prioritizer functions for the new priority queues 2011-04-04 13:19:45 -07:00
Mic Bowman
6885b7220c Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-04-04 11:41:07 -07:00
Melanie
adb14ad20a Implement rezzing coalesced objects 2011-04-03 20:32:04 +01:00
Melanie
a4b3439025 Implement rezzing coalesced objects 2011-04-03 20:26:18 +01:00
Melanie
b385d4aa03 Implement taking of coalesced objects.
WARNING!!!!!
You can TAKE them, but you can't REZ them again. Only the first of the contained
objects will rez, the rest is inaccessible until rezzing them is implemented.
Also, rotations are not explicitly stored. This MAY work. Or not.
2011-04-03 20:24:44 +01:00
Melanie
e8e940e33e Make CHANGED_OWNER work for deeding and god-mode in-world change 2011-04-03 14:16:41 +01:00
Justin Clark-Casey (justincc)
4f56c732bc Comment out some startup logging lines to make up for the one I added earlier on.
Most of these are where the region modules are telling us they are disabled.  Convention is only to log when enabled (even that is really noisy)
2011-04-02 02:29:42 +01:00
Justin Clark-Casey (justincc)
7bba0177fe If land is not group owned (group ID is always UUID.Zero) then don't check if a prim should be added to the group count 2011-04-02 01:53:47 +01:00
Justin Clark-Casey (justincc)
8e668abc6d add test for removing group owned objects 2011-04-02 01:46:06 +01:00
Justin Clark-Casey (justincc)
01b399055b add test for adding group object, factor out initial zero counts test 2011-04-02 01:37:46 +01:00
Justin Clark-Casey (justincc)
c13502a5cf add remove others object prim count test 2011-04-02 01:15:17 +01:00
Justin Clark-Casey (justincc)
2c86f6ba7d refactor: rename m_dummyUserId to m_otherUserId 2011-04-02 01:13:10 +01:00
Justin Clark-Casey (justincc)
5b0936d4b5 If the land has no group ownership (it is UUID.Zero) then don't put prims in the group count when they are also not group owned.
Also adds simple test for others owned count when an object is added
2011-04-02 01:07:52 +01:00
Melanie
3a113f9902 A stab at making CHANGED_OWNER work 2011-04-01 22:04:29 +01:00
dahlia
e974fde953 check threat configuration for LSL print() 2011-03-31 22:56:04 -07:00
dahlia
8c8a0a182e implement LSL "print()" API function 2011-03-31 21:14:53 -07:00
Justin Clark-Casey (justincc)
8f4bf43534 When asked to join region to existing estate, make first estate name the default instead of None 2011-04-01 00:55:05 +01:00
Justin Clark-Casey (justincc)
e1ceb461c0 Make default answer for 'do you wish to join region to an existing estate' yes instead of no. 2011-04-01 00:51:10 +01:00
Justin Clark-Casey (justincc)
39c610c165 Log which address and port the UDP listener is configured for. This will match that given for InternalAddress in the config (e.g. 0.0.0.0)
Can't obtain actually bound address until the UDP socket is used for the first time.
2011-04-01 00:41:52 +01:00
Justin Clark-Casey (justincc)
4d0cffa06e If the prim count gets an object with invalid bounds, don't try to count it.
This appears to be the more probable explanation for some failures seen.  Either we're counting attachments which are temporarily out of bounds (shouldn't be due to the IsAttachment) check or we're counting scene objects which have out of bounds co-ordinates (seems more likely)
2011-03-31 23:56:26 +01:00
Justin Clark-Casey (justincc)
6ae76ede98 suspend check that IAR control file is loaded for now
I was mistaken - some previous opensim versions don't save this file first.  Will have to bump iar version number and only check iars after the bump
2011-03-31 23:09:06 +01:00
Justin Clark-Casey (justincc)
88bd38690a Remove unused RegionInfo.getInternalEndPointPort() in favour of RegionInfo.InternalEndPoint.Port 2011-03-31 23:03:42 +01:00
Justin Clark-Casey (justincc)
efd0c003a3 Put in temporary logging message to find out if scene objects are requesting land objects for co-ordinates outside the region 2011-03-31 22:47:18 +01:00
Justin Clark-Casey (justincc)
7bba31e8d9 remove some mono compiler warnings 2011-03-31 22:20:12 +01:00
Justin Clark-Casey (justincc)
8022400bd4 Remove unused Datastore parameter from RegionInfo (legacy from early 2008) 2011-03-31 22:16:09 +01:00
Justin Clark-Casey (justincc)
f7ed7fc05d When a new parcel is created, make sure the prim counts are updated.
This is done by tainting the counts where appropriate
2011-03-30 00:42:02 +01:00
Justin Clark-Casey (justincc)
8b16f7d976 (re)implement selected prim count.
This does not currently count objects that are sat upon (which the viewer ui implies should be included in this count)
2011-03-30 00:13:07 +01:00
Justin Clark-Casey (justincc)
f754dedbef Merge branch 'primcounts' 2011-03-29 23:08:44 +01:00
Justin Clark-Casey (justincc)
fe258753a0 disable prim count debug logging temporarily 2011-03-29 23:07:01 +01:00
Diva Canto
309eb712a3 Improvement over 2 commits ago: make the hyperlink check understand port 80. 2011-03-28 19:34:55 -07:00
Diva Canto
d3771e5366 Added code to load a terrain tile of tiff/jpg format. Previously it only worked for one single region. 2011-03-28 16:48:12 -07:00
Diva Canto
2d209d3844 Fix mantis #5413. WARNING: new config variable in section [GridService] of the simulators called Gatekeeper -- intended to have the URL of the grid's Gatekeeper service (so that it can be checked against). See ini.examples. 2011-03-28 16:46:04 -07:00
Mic Bowman
61371c7c16 Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-03-28 10:00:53 -07:00
Marck
5a61c76455 The actual change to README.txt about running on Linux. 2011-03-28 13:35:31 +02:00
Marck
dd72a69ea5 More touchup for SQLite.
Apply the same change to both the 32-bit and 64-bit DLL target paths. This makes the previous addition to the instructions in the README for running on Linux unnecessary.
2011-03-28 13:13:21 +02:00
BlueWall
fe6900b305 Touchup for SQLite 2011-03-27 19:38:40 -04:00
Melanie
f25749f025 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-03-27 21:22:31 +01:00
Justin Clark-Casey (justincc)
435d72f106 Add SignpostMarv to contributors 2011-03-26 02:46:00 +00:00
Justin Clark-Casey (justincc)
797128a6ad Rename some member fields to standard m_ OpenSim code convention 2011-03-26 02:44:46 +00:00
Justin Clark-Casey (justincc)
83f48c26d6 add header file 2011-03-26 02:43:41 +00:00
Justin Clark-Casey (justincc)
de0730a54c Add OpenSim.Server.Base reference in prebuild.xml. Initialize svc_checks dictionary in WebkeyOrPasswordAuthenticationService, which was what was causing the load failure. 2011-03-26 02:42:50 +00:00
SignpostMarv Martin
361b3e7ab8 Removing hard-coded plugin loading in favour of direct class instantiation 2011-03-26 02:39:30 +00:00
SignpostMarv Martin
3f4be42a87 Altering log feedback 2011-03-26 02:28:11 +00:00
SignpostMarv Martin
e93531e124 Fixing bug that occurs when using web login- the result was not checked 2011-03-26 02:28:11 +00:00
SignpostMarv Martin
3bc859a834 Making combined auth service re-use the existing auth services instead of duplicating code
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin
0e808950fb InfoFormat > DebugFormat
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin
6153c45973 LLLoginHandlers now supports both password & web login
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin
af3956348f Adding a combined auth service, allowing users to login with either web login or password
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
SignpostMarv Martin
482686daab WebkeyAuthenticationService is now no longer a stub!
Signed-off-by: SignpostMarv Martin <me@signpostmarv.name>
2011-03-26 02:28:11 +00:00
Justin Clark-Casey (justincc)
f2d2470c25 When an object is duplicated, add it to the full/local id SOG indexes as well as Entities 2011-03-26 02:24:32 +00:00
Justin Clark-Casey (justincc)
b11e3d33f1 add save of LLClientView I forgot from last commit 2011-03-26 02:20:16 +00:00
Justin Clark-Casey (justincc)
541cd3e8c8 move total parcel prim calculations into IPrimCounts instead of doing this in LLClientView
need to move selected prim counts from LandData/LMM still
2011-03-26 02:19:28 +00:00
Justin Clark-Casey (justincc)
bfd9cc44b4 When an object is duplicated, add the dupe to the uuid/local id indexes as well as the basic entities list.
Added a prim counts test to reinforce this - shift-copy was no incrementing prim count.  This will sometime become a basic scene test.
New code needs to be refactored so we just call SceneGraph.AddSceneObject().  This will happen in the near future.
With this, basic owner prim counts on a single parcel appear to be working fine (with the same previous existing taint calls as used by the land management module).
More work to do.
2011-03-26 02:05:53 +00:00
Justin Clark-Casey (justincc)
3d0e072d50 Merge branch 'master' into primcounts 2011-03-26 00:57:52 +00:00
Justin Clark-Casey (justincc)
26d16567e1 Make SceneGraph.ForEachSOG() execute once for each SOG, not once for each prim (e.g. a SOG with 3 prims would have the action executed three times).
To do this, a new SceneObjectGroupsByFullID index in SceneGraph which just index's prims by their root part UUID, in order to avoid the inefficiency of filtering existing lists.
Existing callers to SceneGraph.ForEachSOG() did not fail due to the multiple per SOG action executions - they were probably just much less efficient.
Code suggests that no callers expected ForEachSOG() to execute actions on sog multiple times
2011-03-26 00:53:19 +00:00
Justin Clark-Casey (justincc)
f30bf429c2 refactor: rename SOG collections in SceneGraph to make it clearer that they are indexing each part's UUID, not just the root part. 2011-03-26 00:42:48 +00:00
Justin Clark-Casey (justincc)
cc8897fceb Add test for PCM taint. This currently fails due to unexpected behaviour of SceneGraph.ForEachSOG(). This will be corrected soon.
Also adds lots of temproarily debug logging
2011-03-26 00:34:49 +00:00
Justin Clark-Casey (justincc)
d8e1c380e6 minor: make it clearer in the log where we're loading region config files and not the regions themselves 2011-03-25 23:36:58 +00:00
Justin Clark-Casey (justincc)
3a55d59b45 in region web loader, print out url that config is being loaded from (this wasn't being done anywhere). 2011-03-25 23:29:06 +00:00
Justin Clark-Casey (justincc)
ea72745d43 Log the xml/ini regions config files that opensim loads from, and the regions that it loaded from them
This will show up with the lines [REGION LOADER FILE SYSTEM]: Loading config files from ./Regions, etc.
2011-03-25 23:18:47 +00:00
Justin Clark-Casey (justincc)
6ae04448f7 Start using IPrimCounts populated by PrimCountModule instead of LandData counts populated by LandManagementModule.
In order to pass ILandObject into IClientAPI.SendLandProperties(), had to push ILandObject and IPrimCounts into OpenSim.Framework from OpenSim.Region.Framework.Interfaces, in order to avoid ci
Counts are showing odd behaviour at the moment, this will be addressed shortly.
2011-03-25 23:05:51 +00:00
Justin Clark-Casey (justincc)
7f5019b0f2 Add ILandObject.IPrimCounts for the new prim count module.
Not functional yet, but tests now act against this object rather than interrogating the module directly
2011-03-25 21:47:54 +00:00
Justin Clark-Casey (justincc)
eaa37d15f2 factor out common test setup code in PCM tests 2011-03-23 23:28:23 +00:00
Justin Clark-Casey (justincc)
f001aab8aa extend TestAddOwnerObject() to add a second object 2011-03-23 23:19:15 +00:00
Justin Clark-Casey (justincc)
ebbe3afaf1 Add PrimCountModuleTests.TestRemoveOwnerObject().
Also adds SceneSetupHelpers methods to easily create sogs with different part UUIDs
2011-03-23 23:14:55 +00:00
Justin Clark-Casey (justincc)
d5c7ae5c6b refactor common sop setup parts into a single method 2011-03-23 22:40:23 +00:00
Justin Clark-Casey (justincc)
de88227bc4 refactor: simplify part of AddSceneObject() test setup by moving sog construction into SceneSetupHelpers.CreateSceneObject() 2011-03-23 22:29:27 +00:00
Justin Clark-Casey (justincc)
88673c86a4 use a 3 part object for the pcm test rather than a 1 part, for improved test coverage 2011-03-23 22:17:47 +00:00
Justin Clark-Casey (justincc)
f1f4985ab6 user a non UUID.Zero user in pcm test to avoid any special treatment of UUID.Zero 2011-03-23 22:14:04 +00:00
Justin Clark-Casey (justincc)
654aa7abeb Extend simple PCM add object test to check all counts 2011-03-23 22:12:20 +00:00
Justin Clark-Casey (justincc)
08c3cd6b36 Add method doc to the Get*() methods on PrimCountModule 2011-03-23 22:04:14 +00:00
Justin Clark-Casey (justincc)
67cafbd33a remove a rogue Console.WriteLine() from the last commit. 2011-03-23 21:54:02 +00:00
Justin Clark-Casey (justincc)
d011896341 Add generic EventManager.OnObjectAddedToScene and get PrimCountModule to listen for that rather than EventManager.OnParcelPrimCountAdd
OnParcelPrimCountAdd had the wrong semantics for the PrimCountModule - it was invoked for every entity in the scene, not just new ones, which would screw up the untainted count.
Extend automated test for this scenario.
2011-03-23 21:53:14 +00:00
Marck
9c979dd0fc Fix a typo in the SQLite DLL config and amend the instructions for running on Linux.
Under Linux (and probably also under OSX), the operating system must be able to find the new SQLite DLL in the library search path.
2011-03-23 08:35:39 +01:00
Justin Clark-Casey (justincc)
b34743e5fe Add an initial confidence-building TestAddObject() for prim counts. 2011-03-22 23:47:36 +00:00
BlueWall
be878795aa Typo fix 2011-03-22 17:36:01 -04:00
BlueWall
97d46648cd More SQLite work. 2011-03-22 16:42:12 -04:00
BlueWall
e3c327a305 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-03-21 22:06:43 -04:00
Justin Clark-Casey (justincc)
7acade00b9 On initial setup, include estate and regions names in questions to make it clearer what they relate to. 2011-03-21 23:26:35 +00:00
Justin Clark-Casey (justincc)
3382de4d8b In initial setup, stop a user being able to create a new estate with the same name as an existing estate. 2011-03-21 23:16:57 +00:00
Justin Clark-Casey (justincc)
060a53b896 On initial opensim setup, don't ask the user whether they want to join an existing opensim estate when there aren't any. Proceed directly to estate setup instead. 2011-03-21 22:57:20 +00:00
Justin Clark-Casey (justincc)
ee7cfc2854 refactor: use EstateDataService property directly instead of loading it into a local variable 2011-03-21 22:47:02 +00:00
Justin Clark-Casey (justincc)
2d1f0d224c minor: slightly adjust previous method doc. 2011-03-21 22:27:16 +00:00
Justin Clark-Casey (justincc)
793bfb5a66 add method doc to IEstateDataService and IEstateDataStore interfaces 2011-03-21 22:25:20 +00:00
Justin Clark-Casey (justincc)
d3a20a1e92 On initial region registration, if the user chooses the option to make the region part of an existing estate, then list the existing region names. 2011-03-21 21:37:06 +00:00
Melanie
fb890e543f Don't send a windlight profile to clients if windlight is not set for
that region. This should restore normal day and night cycles for
regions without WL settings.
2011-03-21 08:02:56 +00:00
BlueWall
f4a30f3a23 Upgrade SQLite:
Fixes metadata issues. Tested on Linux and Windows - may fix
	issues seen on OSx as well.
2011-03-18 12:12:08 -04:00
BlueWall
a3651eb5d0 Thanks Kevin Cozens for a patch that:
Fixes several spelling mistakes
2011-03-17 05:48:42 -04:00
Justin Clark-Casey (justincc)
04e3ae3733 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-16 00:15:48 +00:00
Justin Clark-Casey (justincc)
aadd0e8d42 minor: bring comment into line with code reality 2011-03-16 00:14:58 +00:00
BlueWall
d4ed38821f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-15 17:17:28 -04:00
BlueWall
28c335e25f Hello, World! 2011-03-15 17:16:50 -04:00
Justin Clark-Casey (justincc)
fdcf910e00 Fix a bug in T015_LargeSceneObjects() where the large scene object was stored 31 times (1 time for each added part) instead of once at the end, even though only the largest 31 prim scene object was retrieved and tested.
This considerably speeds up the test, when on sqlite it now only takes 2 seconds rather than 30+
2011-03-14 23:35:03 +00:00
Justin Clark-Casey (justincc)
38c3be07b8 when retrieving a sog in database tests, don't bother adding the scene since this isn't used 2011-03-14 23:32:44 +00:00
Justin Clark-Casey (justincc)
8509678e48 Add method doc to T015_LargeSceneObjects() and slightly clean up formatting.
This test takes a considerable time on SQLite but should remain since it's testing storage and retrieval of a scene object with 31 parts.
2011-03-14 23:26:50 +00:00
Justin Clark-Casey (justincc)
48c62eb51b Add current method output to all persistence level tests so that we can track where we are in the test suite 2011-03-14 23:17:15 +00:00
Justin Clark-Casey (justincc)
9885f68f44 When setting media on a prim values, use generic object permissions instead of media permissions.
Media permissions are just meant to be checked when we want to know if a user should be shown the navigation bar or allowed to navigate.  It should not be checked when we're setting the media up.
This bug was preventing a user from ever setting any more values if they had unchecked the owner settings.
2011-03-14 22:47:14 +00:00
Justin Clark-Casey (justincc)
2868f3fc72 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-14 21:56:58 +00:00
Melanie
cee5e3e264 Up the timeout on slow requests to 3000 to stop console spam. Make sure
request method and target are reported correctly and drop the txn id
as it's empty 99% of the time.
2011-03-14 14:51:13 +00:00
Justin Clark-Casey (justincc)
f6f8d124d1 minor: remove mono compiler warning 2011-03-12 00:52:43 +00:00
Justin Clark-Casey (justincc)
f6b638fec9 factor inventory file loading into its own method 2011-03-12 00:49:13 +00:00
Justin Clark-Casey (justincc)
c4060e56ef factor out iar asset load code into its own method 2011-03-12 00:35:40 +00:00
Justin Clark-Casey (justincc)
a3c7c04ead refactor: make boolean load indicators on load iars instance fields 2011-03-12 00:28:23 +00:00
Justin Clark-Casey (justincc)
367ed585e0 introduce iar load checks which make sure archive.xml comes first, then inventory nodes, then assets
this is necessary for correct loading.  "save iar" always saves in this order so there shouldn't be any problems - these checks are to give better feedback to other systems that may construct IARs.
2011-03-12 00:21:52 +00:00
Justin Clark-Casey (justincc)
cb863851e0 Update/simplify test running instructions 2011-03-11 22:38:51 +00:00
Mic Bowman
836ab6b0e8 Change how map blocks are encoded to make map search
work with viewer 2.
2011-03-10 15:23:46 -08:00
Justin Clark-Casey (justincc)
ad1dea5aff Add test for simple case where creator account with appropriate uuid exists on the target system for an iar load 2011-03-10 22:56:11 +00:00
Justin Clark-Casey (justincc)
8d69e68311 refactor: rename test user account fields 2011-03-10 22:52:41 +00:00
Justin Clark-Casey (justincc)
9ecb745ed7 factor out common scene setup code in InventoryArchiveTestCase 2011-03-10 22:48:19 +00:00
Justin Clark-Casey (justincc)
66d2d35425 extend TestLoadIarV0_1AbsentCreator() to check serialized object CreatorId as well 2011-03-10 22:40:24 +00:00
Justin Clark-Casey (justincc)
ce4421497e re-enable item.CreatorId check in TestLoadIarV0_1AbsentCreator() 2011-03-10 22:38:52 +00:00
Justin Clark-Casey (justincc)
b821f748ac For objects loaded from an IAR, make sure the CreatorID points towards the OSP resolved ID if newer CreationData is not present.
This should resolve issues where the creator for rezzed objects was being shown as "Unknown user" where previous behaviour was to show the OSP resolved account.
This is being done by parsing the serialized objects and updating the CreatorID if no CreationData exists.  This operation might be expensive for sculpties where the sculpt texture is inlined with the object data.  Will just have to see.
This relies on the IAR streaming inventory data before asset data (as is currently the case).  Will need to introduce more stringent checks for file order on loading (much like JAR zips must start with the manifest file).
This is for IAR loading only.  Tests updated to check this behaviour.
2011-03-10 21:56:15 +00:00
Justin Clark-Casey (justincc)
db2ad62c9b in AssetHelpers.CreateAsset(), create objects using the 'original' xml format rather than 'xml2' 2011-03-10 19:52:19 +00:00
Justin Clark-Casey (justincc)
a151afebe3 When setting up default iar for testing, use iar archiving code rather than constructing the tar manually 2011-03-10 19:40:19 +00:00
Justin Clark-Casey (justincc)
4dd60b7dce Change existing users load iar test so that it fulfills it's original intention (i.e. OSPA resolution, which is still active).
Will need to write a separate test for the simplest case where creator accounts with appropriate uuids exist on iar load.
2011-03-10 00:19:17 +00:00
Justin Clark-Casey (justincc)
549b0ea17c Split the inventory path testing parts of TestLoadIarV0_1ExistingUsers() into a new test TestLoadIarToInventoryPaths() 2011-03-10 00:06:32 +00:00
Justin Clark-Casey (justincc)
fa1996155e Make the item created in the default test iar an object rather than a script 2011-03-09 23:58:26 +00:00
Justin Clark-Casey (justincc)
07f68c8318 minor: change the order of some default iar setup in test case 2011-03-09 23:54:52 +00:00
Justin Clark-Casey (justincc)
9456bb77fb Upgrade nunit.framework.dll to version 2.5.9. Fix up tests appropriately.
This version removes the NUnit.Framework.SyntaxHelpers namespace, so any modules with their own tests will need to delete this using statement.
2011-03-09 23:25:24 +00:00
Justin Clark-Casey (justincc)
20aeace8d7 Add log messages on teleport failure to better pin down the cause. 2011-03-09 22:03:12 +00:00
Justin Clark-Casey (justincc)
3e5b1a1de5 Update MySql.Data.dll to version 6.3.6.
This version fixes a bug so that MySqlCommand.CommandTimeout = 0 now correctly sets an infinite command timeout.  This might help with failures on long-running migrations.
The mysql.data.dll v2 is used from the mysql package (as opposed to v4).  The v4 version (probably standing for NET 4.0) does not work under mono 2.6.7, which is still commonly used.
2011-03-09 20:55:44 +00:00
Justin Clark-Casey (justincc)
ae507bb060 Split out path tests from InventoryArchiveTests. Factor common code into test case parent 2011-03-09 01:53:27 +00:00
Justin Clark-Casey (justincc)
2fa8fc5052 remove inventory service preserving code from SceneSetupHelpers too 2011-03-09 01:37:31 +00:00
Justin Clark-Casey (justincc)
f375a5e9cb Simplify SceneSetupHelpers class by removing all code which was originally preserving service instances between tests. This wasn't being used anyway and just leads to hard to diagnose test failures. 2011-03-09 01:31:47 +00:00
Justin Clark-Casey (justincc)
8a2360bf81 Simplify TestLoadIarV0_1AbsentUsers() to use common IAR test setup. Make static dictionaries on NullUserAccountData instance instead to stop user accounts being carried over between tests 2011-03-09 01:21:31 +00:00
Justin Clark-Casey (justincc)
743a6b0da5 Make -m shortcut option for --merge on load iar specific. Correct some log message origins. 2011-03-08 22:44:02 +00:00
Diva Canto
9923a2ff10 Pull up Assembly of the MySQL classes as a protected property, so that it can be overwritten in subclasses. That way extensions can decide in which assembly migration resources should be looked up. This is just a refactor -- no functional changes whatsoever. 2011-03-08 09:02:29 -08:00
Justin Clark-Casey (justincc)
9b345ebf73 factor out SetPartMediaFlags() function in MoapModule. 2011-03-05 02:42:47 +00:00
Justin Clark-Casey (justincc)
2e46027c14 Construct test load iar only once and reuse for each test, rather than recreating it every time 2011-03-05 02:34:44 +00:00
Justin Clark-Casey (justincc)
9e579a7891 Fold ClearMediaEntry() back into SetMediaEntry() 2011-03-05 02:21:53 +00:00
Justin Clark-Casey (justincc)
9f85ee29ac Change MoapModule.ClearMediaEntry to set TextureEntryFace.MediaFlags back to false
Implement test for ClearMediaEntry()
2011-03-05 02:18:03 +00:00
Mic Bowman
12d5a20094 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-03-04 17:18:49 -08:00
Mic Bowman
3c0d607f45 Changed order of checks for local regions when processing
AgentUpdate messages. Should improve throttles and reprioritization
when an avatar is moving.
2011-03-04 17:17:53 -08:00
Justin Clark-Casey (justincc)
8efb01b3df minor: remove some mono compiler warnings 2011-03-05 01:15:27 +00:00
Justin Clark-Casey (justincc)
72cb498fd0 minor: Make MoapModule namespace consistent with other modules 2011-03-05 01:13:59 +00:00
Justin Clark-Casey (justincc)
481ca910da add test for MoapModule.SetMediaUrl() 2011-03-05 01:07:05 +00:00
Justin Clark-Casey (justincc)
3c89527b22 Fix bug where llSetPrimMediaParams() reported success but never set the media texture.
We weren't setting the TextureEntryFace.MediaFlags = true when a media texture was set directly via a script.  This was being done when the viewer was setting them directly.
2011-03-05 00:06:51 +00:00
Diva Canto
b82b0b1677 Normalizing comparison to lower case, just in case ppl set their config vars inconsistently. (maybe related to mantis #5386) 2011-03-01 09:20:50 -08:00
Sean McNamara
60989521a6 Merge git://opensimulator.org/git/opensim 2011-02-28 15:08:35 -05:00
Sean McNamara
b3c42e952f Fix small bug with remove region; update settings docs.
Our impl of IRegionModuleBase.RemoveRegion didn't remove the scene from the states map.
2011-02-28 11:54:07 -05:00
Sean McNamara
018645f9f8 First pass at busy heuristics. Compile-tested only. 2011-02-28 11:45:50 -05:00
Sean McNamara
a01c44e74d Be smarter about stopping timers. Cleanup formatting.
Use a boolean flag to tell timers that fire after IRegionModuleBase.Close() is called that they should not execute.
Also, I used MonoDevelop's auto-formatting feature to format the code uniformly. No guarantee about variable names though.
2011-02-28 11:04:54 -05:00
Melanie
cea47491de Fix a few little things 2011-02-27 19:49:23 +00:00
Sean McNamara
34b6904939 First working commit of AutoBackupModule.
It seems to do something! Heuristics are still TODO, but this is alpha 1.
2011-02-26 22:09:19 -05:00
Sean McNamara
d3511ca592 Start the timer. (Could it be that simple?) 2011-02-25 09:03:11 -05:00
Sean McNamara
cb049aa15f s/True/true 2011-02-25 08:58:42 -05:00
Sean McNamara
bb1f03abc6 Make timer auto-respawn. 2011-02-25 08:57:48 -05:00
Sean McNamara
7fa8ed0c47 Config works, but timer isn't firing. Hmm. 2011-02-25 08:48:02 -05:00
Sean McNamara
2da9bb3ca2 Try to fix config one more time.
Note that the way we specify settings has changed significantly here.
2011-02-25 08:31:10 -05:00
Justin Clark-Casey (justincc)
2b04cab1ee change some log messages from info to debug 2011-02-25 02:15:06 +00:00
Justin Clark-Casey (justincc)
0f545abfc1 Make the file expiration defaults the same whether the whole [FLOTSAM ASSET CACHE] section is missing or just the particular config values 2011-02-25 01:31:38 +00:00
Justin Clark-Casey (justincc)
939c47ac52 instead of using different default memory expiration depending on whether there is a [FLOTSAM ASSET CACHE] section present at all, use the same default all the time
this simplifies the code
2011-02-25 01:25:38 +00:00
Justin Clark-Casey (justincc)
beff0ac32f log actual cache directory for FlotsamAssetCache instead of always logging the default 2011-02-25 01:18:43 +00:00
Justin Clark-Casey (justincc)
197cc3883f Fix bug where having no maximum memory cache timeout would cause the flotsam asset cache to try using Double.MaxValue, which would cause the underlying OpenMetaverse.ExpiringCache to choke.
There is probably an underlying bug to fix in ExpiringCache.
2011-02-25 01:16:47 +00:00
Justin Clark-Casey (justincc)
2f5394e70d Fix bug where avatars in other regions would not always show up on the mini-map 2011-02-24 22:33:54 +00:00
Justin Clark-Casey (justincc)
db7c758b7f On a Grid Handler exception, explicitly log the exception message and stack trace so that we get somewhat better diagnostics on windows 2011-02-24 00:55:50 +00:00
Mic Bowman
1bb0bae78a Forces the owner of a rezzed object to be the "rezzer" of the
object rather than the owner of the inventory item. In theory,
this shouldn't happen unless you are using grid-wide library
for inventory.
2011-02-22 13:30:38 -08:00
Mic Bowman
5a16fa882c Parameterizes the view distance used to compute and manage
child agents in neighbor regions. This means you can extend
the view on a simulator beyond the default 3x3 regions.

This uses a region default draw distance and should be
replaced at some point by the avatar specified draw distance.
That will require more careful, dynamic recomputation of child
agents every time the draw distance changes.

WARNING: this is experimental and has known instabilities. specifically
all regions "within site" should be running the same default draw distance
or agents will not be closed correctly.
2011-02-22 13:23:54 -08:00
Marck
af22b7cb1a GetRegion(s)ByName with SQLite behaves like it does with other databases.
The in-memory storage of region data that is used by default with SQLite now handles wildcards in region names in the same way as SQL queries do with other databases.
2011-02-22 13:00:45 +01:00
Sean McNamara
c2658c2f14 More relevant console messages, and maybe fix config problem 2011-02-19 23:14:43 -05:00
Sean McNamara
7eac0af559 Fix an actual bug in the timer interval calculation (minutes -> msec) 2011-02-19 23:07:54 -05:00
Sean McNamara
e5c08a553c More debug messages 2011-02-19 22:55:32 -05:00
Sean McNamara
3c9bf5c476 Fix config source stuff harder (debug console prints only; no fix yet) 2011-02-19 22:47:05 -05:00
Sean McNamara
06a4810d21 Fix config source by taking it from Initialize 2011-02-19 22:29:45 -05:00
Sean McNamara
99e8260282 Add [Modules] option for unconditionally disabling entire module globally (for easy configuration) 2011-02-19 22:08:19 -05:00
Sean McNamara
dfa63ff031 Let GetNextFile do all the string-building work for SEQUENTIAL. 2011-02-19 20:15:38 -05:00
Sean McNamara
85654f82a5 First cut of AutoBackupModule; only compile-tested so far 2011-02-19 12:25:04 -05:00
Justin Clark-Casey (justincc)
9e47018cfb Remove test T020_TestMakeRootAgent() which hasn't been active for ages anyway
This test was non-viable.  Keeping inactive T021_TestCrossToNewRegion() around for now since it's still useful for reference purposes in constructing a future working test.
2011-02-19 00:14:13 +00:00
Justin Clark-Casey (justincc)
b3a1d8c7f7 Remove unused SceneSetupHelpers.DeleteObjectAsync().
Calling async code in automated tests is never a good idea - things become very fragile very quickly
2011-02-19 00:11:08 +00:00
Justin Clark-Casey (justincc)
9d668b09ca remove unused code to share services between scenes in SceneSetupHelpers - this is done differently elsewhere 2011-02-19 00:07:16 +00:00
Justin Clark-Casey (justincc)
60fe3d48ee Put some CapabilitiesModule null checks in Scene
Stop tests setting up a capabilities module by default
2011-02-18 23:50:54 +00:00
Justin Clark-Casey (justincc)
8249d77991 If GridService.GetNeighbours() could not find the region then log a warning rather than causing a null reference on the normal log line
This also extends the TestChildAgentEstablished() test to actually activate the EntityTransferModule, though the test is not yet viable
2011-02-18 23:25:59 +00:00
Justin Clark-Casey (justincc)
5c92f62941 minor: remove mono compiler warning 2011-02-18 23:10:46 +00:00
Justin Clark-Casey (justincc)
dd9efc1838 extend TestChildAgentEstablished() test slightly to put in EntityTransferModule. Not yet enabled. 2011-02-18 23:05:56 +00:00
Justin Clark-Casey (justincc)
eb699df5f6 On SceneSetupHelpers, go back to calling ScenePresence.CompleteMovement() for the last stage of AddRootAgent() instead of SP.MakeRootAgent()
Going this extra step doesn't appear to cause any test failures.
This is arguably better for test purposes, though at some stage another method may arise which does just call AddRootAgent().
2011-02-18 22:49:19 +00:00
Justin Clark-Casey (justincc)
023f953f39 remove another unused test teardown method 2011-02-18 22:25:45 +00:00
Justin Clark-Casey (justincc)
c155f57dbe remove unused test teardown method 2011-02-18 22:22:51 +00:00
Justin Clark-Casey (justincc)
c763edf56d separate attachment tests out into their own class 2011-02-18 22:20:08 +00:00
Justin Clark-Casey (justincc)
60d47836ce minor: remove mono compiler warning 2011-02-18 22:00:52 +00:00
Justin Clark-Casey (justincc)
88da253c94 Add very basic test which invokes the scene update loop once and checks the frame number.
This makes Scene.Update() match its original description of performing a single update, which also matches the semantics of SOG and ScenePresence.
2011-02-18 21:54:44 +00:00
Justin Clark-Casey (justincc)
e774679f62 minor: add method doc to a few ScenePresence methods 2011-02-18 21:19:16 +00:00
Justin Clark-Casey (justincc)
4725221435 Stop the avatar sometimes pausing for more than a second on the border when region crossing.
This restores a RemoveFromPhysicalScene() call in ScenePresence.CheckForBorderCrossing() when the agent has been placed in transit.
If we don't remove the agent from the physical scene, then the method continues to be called via ScenePresence.Update()
until the handover of the client between regions is completed.  Since this handover can take more than 1000ms (due to the 1000ms
event queue polling response from the server), this results in the avatar pausing on the border for the entire handover period.
2011-02-18 20:54:00 +00:00
Marck
4f9c3c73ad Add support for new naming syntax of linked regions to osTeleportAgent and osTeleportOwner. 2011-02-17 13:47:13 +01:00
Marck
47a5d8d742 Make osTeleportOwner work in foreign regions by relaxing the restrictions on teleporting an agent. 2011-02-17 13:47:12 +01:00
Diva Canto
dd4a503a22 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-16 09:57:43 -08:00
Diva Canto
c6f2d66eae Fix bug introduced by Query Access. The response does not come in a packaged _Result field, it comes as simple OSDMap with 2 fields in it.
Also in this commit: comment out irrelevant debug message on AuthService.
2011-02-16 09:57:12 -08:00
Marck
25265c964f Changed console command "alert" and added new command "alert-user".
This addresses Mantis #4709.
Command "alert" always sends a message to everybody; the variant "alert general" has been removed. Sending messages to one user is done with the dedicated command "alert-user".
2011-02-16 18:36:57 +01:00
Marck
5c15c5e0ff Changed default directory for storing map tile images from remote regions. 2011-02-16 18:36:40 +01:00
Diva Canto
fc84225038 XFF capitalization strikes again -- this time in the XMLRPC method. mantis #5386 2011-02-16 08:18:49 -08:00
Melanie
918c12c965 Change the QUERYACCESS method to eliminate spurious access denied messages 2011-02-16 08:06:11 +00:00
Diva Canto
5d6d0aa142 Catch HttpServer exception: mantis #5381 2011-02-15 08:38:37 -08:00
BlueWall
c9d2194ecb Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-02-14 12:54:51 -05:00
BlueWall
c75e916ccf Set filter to send proper rotations for root part
This allows the root prim, alone or in a set, to send it's
	rotation. This fixes unsitting the avatar on sit-offsest
	type teleports where the sit target is in the root prim of
	a linkset.
2011-02-13 07:42:53 -08:00
Marck
19d3792278 Fix and simplify QBasedComparer.
Make parsing of qvalues independent from a system's language setting and ensure that the comparison adheres to a descending order.
2011-02-13 11:11:49 +01:00
BlueWall
6601771f81 Set filter to send proper rotations for root part
This allows the root prim, alone or in a set, to send it's
	rotation. This fixes unsitting the avatar on sit-offsest
	type teleports where the sit target is in the root prim of
	a linkset.
2011-02-13 00:30:43 -05:00
BlueWall
0d495ced4c Revert "Fix unsitting of avatar on linked sets"
This reverts commit b492f1ce99.
2011-02-13 00:29:06 -05:00
Diva Canto
c169a62f55 Typo 2011-02-12 18:05:25 -08:00
BlueWall
b492f1ce99 Fix unsitting of avatar on linked sets 2011-02-12 20:50:24 -05:00
BlueWall
c0e1742d47 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-02-12 20:42:11 -05:00
Diva Canto
059e9eaf98 Fixed a couple of tests in the HttpServer. Not sure if this is enough. Mantis #5373 and #5384 2011-02-12 14:38:46 -08:00
Diva Canto
a8ced66e87 Improved error message on TP failure 2011-02-12 07:28:21 -08:00
Justin Clark-Casey (justincc)
9801bf03f8 minor: add comment explaining that GetRegionsByName needs to stay in TeleportAgent for its side effects. 2011-02-12 01:14:12 +00:00
Justin Clark-Casey (justincc)
03d82a5a85 Fix bug where "My estate" name was always used even if the user entered a different name on initial setup.
Turns out we had stopped saving estate settings immediately after the name change.  The scene constructor then reloade the settings and oblitereted the different name.
This code could be more efficient since there's no reason for scene to reload the settings when they are already known to be valid.
Thanks to Thoneve for the spot on this.
2011-02-12 01:08:56 +00:00
Justin Clark-Casey (justincc)
7e21c1eadf Hack in a crude temporary "estate show" command
This will show the estate for each region, along with that estate's id and the estate owner.
This is temporary because the command output might change.
This commit also converts the estate module from the old to the new region module format
2011-02-12 00:46:01 +00:00
Justin Clark-Casey (justincc)
26727ee044 refactor: split out estate management commands into separate class 2011-02-11 23:32:38 +00:00
Justin Clark-Casey (justincc)
754c244f46 In SQLiteSimulationData.RemoveLandObject(), don't manually remove the row from the data adaptor's Rows list in addition to calling Delete.
This matches the behaviour for other deletions and stops this operation failing on Windows .NET (though mono is fine with the duplication).
Probably a holdover from copying code from the older legacy adaptor.
Resolves http://opensimulator.org/mantis/view.php?id=5361
2011-02-11 23:06:14 +00:00
Justin Clark-Casey (justincc)
98af0db8c0 minor: Add some more information to the mesh_sculpted_prim [PHYSICS] setting 2011-02-11 22:16:53 +00:00
Justin Clark-Casey (justincc)
8fd58aa00c add estate name to show regions console command 2011-02-11 22:10:02 +00:00
Diva Canto
45382e6f82 Reinstated a couple of null checks related to the previous revert. 2011-02-10 06:26:26 -08:00
Diva Canto
89bb5c0941 Revert "Hunting down mantis #5365"
This reverts commit ebeef02fef.
2011-02-10 06:09:04 -08:00
Diva Canto
21715396fa Put the Ack of UseCircuitCode back to where it used to be. Some ppl are reporting login issues. 2011-02-09 17:45:19 -08:00
BlueWall
0f736e5601 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-02-09 14:45:40 -05:00
Diva Canto
f33e51e2ff Comment instrumentation out. Not needed anymore. Left in comments, in case it is needed again. Mantis #5365 2011-02-09 09:50:26 -08:00
Diva Canto
1cd951e5ae Fix the negative number problem in TokenBucket. mantis #5365 2011-02-09 09:39:53 -08:00
Diva Canto
830fee145d Revert "Brute-force debug -- mantis #5365"
This reverts commit 585473aade.
2011-02-09 08:35:36 -08:00
Diva Canto
1bba9c6300 Revert "Don't build strings unless we're in emergency debugging."
This reverts commit ba202ea9b0.
2011-02-09 08:35:21 -08:00
Diva Canto
477a869fb2 More detection of negatives. 2011-02-09 08:08:57 -08:00
Diva Canto
473fac4dc7 Detect negative dripAmounts in TokenBuckets. These negatives result from overflown integer operations. Also added Total to the scene throttles in show throttles. 2011-02-09 08:06:20 -08:00
Diva Canto
ba202ea9b0 Don't build strings unless we're in emergency debugging. 2011-02-08 21:09:10 -08:00
Diva Canto
585473aade Brute-force debug -- mantis #5365 2011-02-08 20:12:33 -08:00
Diva Canto
117462cba1 Avoid potential race conditions on UseCircuitCode. I artificially made the race condition happen, and got very similar results to those described in mantis #5365 -- no prims/avie sent back. 2011-02-08 17:53:01 -08:00
Diva Canto
f431bd20ec Minor addition to the previous commit 2011-02-08 14:49:50 -08:00
Diva Canto
82846afe4b Minor improvement to previous commit. 2011-02-08 12:37:37 -08:00
Diva Canto
ac7bc78555 Added emergency monitoring of UDP Outgoing packets thread. Just type "emergency-monitoring on/off" 2011-02-08 12:06:14 -08:00
Diva Canto
34bd41d186 Comment previous debug 2011-02-08 11:16:38 -08:00
Diva Canto
305c755cfb XFF header again -- debug. 2011-02-08 07:50:01 -08:00
Diva Canto
d627122cdc Mantis #5368 -- exception on WorldMap 2011-02-07 19:44:55 -08:00
Diva Canto
d934add021 Thanks Tokeiito for noticing this bug. mantis #5366 2011-02-07 14:49:18 -08:00
Diva Canto
ebeef02fef Hunting down mantis #5365
Revert "refactor: remove redundant null checks"

This reverts commit 6e58996b4d.
2011-02-07 07:45:03 -08:00
Diva Canto
98ea78fc77 New command: show pending-objects 2011-02-06 19:39:29 -08:00
Diva Canto
2c7e87c45b Better output for show neighbours 2011-02-06 07:51:20 -08:00
Diva Canto
3411d4867d Honor check of m_Enabled in WorldViewModule. 2011-02-05 19:40:55 -08:00
Diva Canto
cc81d924ca Fixed Caps handlers leak 2011-02-05 19:34:02 -08:00
Diva Canto
30fa5ad1e2 One more diagnosis command:
show caps
2011-02-05 19:21:12 -08:00
Diva Canto
b20ab1063f Added a couple of console commands to help diagnose issues:
show circuits: shows the lists of agent circuit data
show http-handlers: shows the currently registered http handlers
2011-02-05 17:57:30 -08:00
Diva Canto
3a2a48a8ca Add sane packing of ServiceURLs -- OSDMap. The old way (OSDArray) is still supported for backwards compatibility, but will be removed in the future. 2011-02-05 08:20:13 -08:00
Diva Canto
67555994ad Amend to yesterday's deletions: forgot to delete the RemoteInventory module in th addin.xml file. 2011-02-05 07:55:54 -08:00
Melanie
f78831ec98 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-02-05 04:25:14 +00:00
Melanie
4e0b0f0f4c Fix a typo in the QUERYACCESS method name 2011-02-05 04:24:43 +00:00
Diva Canto
632babf8fb Added an additional debug message, and removed a bunch of files that weren't being used anymore -- the old RemotsInventory connectors stuff. 2011-02-04 19:19:38 -08:00
Diva Canto
f5a3eb9fd5 Added a config var to HGInventoryAccessModule called OutboundPermission that controls whether the sim lets asset POSTs happen to foreign grids or not. It's True by default. If ppl want to allow foreign visitors but don't want to allow any assets out of their grid, they should set this to False. This is the beginning of policies for these things... 2011-02-04 17:05:45 -08:00
Justin Clark-Casey (justincc)
cdd64bb8f5 For now, reinstate the call to World.GridService.GetRegionsByName() commented out in 933f47e
Even though we don't use the results, just getting the regions may have side effects in making hypergrid links available for the later World.RequestTeleportLocation()
2011-02-05 00:15:25 +00:00
Justin Clark-Casey (justincc)
1ffd70cef7 minor: remove some mono compiler warnings 2011-02-04 23:20:10 +00:00
Justin Clark-Casey (justincc)
5b7a5a5b8b Add position to IM sent from llInstantMessage(), to better fulfill client expectations 2011-02-04 23:14:21 +00:00
Justin Clark-Casey (justincc)
a51005aacd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-04 23:08:27 +00:00
Justin Clark-Casey (justincc)
722f0ba18c Put something in the ImprovedInstantMessage.BinaryBucket for llInstantMessage() to stop this crashing viewer 2.4.0 (1.23.5 was fine with this).
We're putting in a string of format "<region name><x pos floor int><y pos floor int><z pos floor int> which appears to be the expected value.
This resolves http://opensimulator.org/mantis/view.php?id=5356
2011-02-04 23:07:47 +00:00
Mic Bowman
bb69a40fbb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-04 14:22:17 -08:00
Mic Bowman
7a6e1fa4cf Convert SimianMaptile refresh time from ms to seconds. Too many 0's
in the config file.
2011-02-04 14:21:18 -08:00
Justin Clark-Casey (justincc)
bc2e254b55 minor: fix indentation, spacing on commit 3585130
this previous commit tries to look up the texture by name first before just using the uuid.
this allows correct resolution of inventory textures which have uuids as names.
2011-02-04 21:55:22 +00:00
unknown
3585130ac8 SetTexture_fix 2011-02-04 21:52:06 +00:00
Justin Clark-Casey (justincc)
456cdee5ce minor: correct a log spelling mistake that was pointed out to me 2011-02-04 21:42:45 +00:00
Justin Clark-Casey (justincc)
2ddec29c61 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-02-04 21:15:41 +00:00
Diva Canto
144f367863 Bug fixed on map search for HG. Affected queries that had a region name at the end. 2011-02-04 12:57:22 -08:00
Kevin Cozens
034327b51f Send object date to viewer in microseconds (Fixes mantis bug #3990) 2011-02-04 20:55:41 +00:00
Justin Clark-Casey (justincc)
1613d89383 minor: Correct misspelling of neighbour in log messages.
Thanks Fly-Man-
2011-02-04 20:51:51 +00:00
Justin Clark-Casey (justincc)
ba8826d2b8 Fix "set log level" to once again display current log level if it's not given a parameter
This addresses http://opensimulator.org/mantis/view.php?id=5345
2011-02-04 17:11:35 +00:00
Justin Clark-Casey (justincc)
c1665cfe9c Make UUID 3a367d1c-bef1-6d43-7595-e88c1e3aadb3 reference a full alpha texture.
SL's viewer and some downstream projects assume that this UUID points to a full alpha texture, as per
http://opensimulator.org/mantis/bug_view_advanced_page.php?bug_id=4751 and
http://forums.kokuaviewer.org/viewtopic.php?f=8&t=1323

If the request isn't satified, some viewers will continuously make the request.
2011-02-03 22:34:10 +00:00
Mic Bowman
cf24069227 Change UpdateAgent (for changes in agent position) to be sent
once to each simulator rather than once to each region. This
should help with some of the delays caused by multiple outstanding
requests to a single service point.
2011-02-03 12:43:46 -08:00
Diva Canto
8fdc810a23 Addresses mantis #5360: CreatorData was being written as long as it wasn't null. This made iars backwards incompatible when some items had non-null foreign creators. This patch adds an explicit option (-c) to preserve foreign creator information. 2011-02-03 04:07:36 -08:00
Justin Clark-Casey (justincc)
4f7cf491e6 Comment out texture CAPS 'texture not found' message for now 2011-02-02 20:02:10 +00:00
Justin Clark-Casey (justincc)
2413e9eb3f Record number of resent packets in LindenUDP stack and display in stats report 2011-02-02 20:00:50 +00:00
Justin Clark-Casey (justincc)
2344150b6e Stop double counting dequeued packets for packets sent number
This is already being incremented in LLUDPServer.SendPacketFinal for every packet
2011-02-02 19:39:33 +00:00
Justin Clark-Casey (justincc)
0898be5750 Change SimianGroupsServicesConnectorModule.GetAgentGroupMembership() so that it returns null if the user isn't a member of the group.
This matches the behaviour of the same method for Flotsam Groups.  This is the behaviour assumed by existing code.
Method doc also added to IGroupsServicesConnector to the make the contract clear.
2011-01-31 22:54:36 +00:00
Melanie
8f008f394d Flash out the prim count module 2011-01-29 04:27:20 +00:00
Melanie
e7d5ff9bd2 Create the structure of classes and interfaces to replace the cruft that
is in the land management module today
2011-01-29 02:24:27 +00:00
Melanie
0936455725 Adding the prim count module skeleton 2011-01-28 23:44:17 +00:00
Melanie
38bfdb0c9d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-01-28 23:22:16 +00:00
Melanie
5942385d0e Add the prim count interfaces 2011-01-28 23:21:41 +00:00
Justin Clark-Casey (justincc)
933f47e89d Comment out unused call to GridService in TeleportAgent() 2011-01-28 22:59:07 +00:00
Justin Clark-Casey (justincc)
a4acf485d7 minor: don't bother reparsing the sources for includes if ReadConfig() was unsuccessful 2011-01-28 22:50:49 +00:00
Justin Clark-Casey (justincc)
1fcb919798 If a non-globbed included file from config cannot be found then warn the user 2011-01-28 22:46:29 +00:00
Justin Clark-Casey (justincc)
810f4b9835 Add groups cache timeout setting for Flotsam Groups back to OpenSimDefaults.ini 2011-01-28 22:07:35 +00:00
Justin Clark-Casey (justincc)
ab1ec3c3cc minor: remove a few mono compiler warnings 2011-01-28 21:51:25 +00:00
Kevin Cozens
a0380af18f Display supported file extensions/formats in "terrain load help" (Mantis #5349) 2011-01-28 21:24:05 +00:00
Kevin Cozens
9798b044fe Added loading and saving of terrain files using Terragen format (Mantis #1564)
Terrain files can now be loaded and saved using the Terragen (.ter) format.
Selection of the terrain file loader to use is now based on the extension
of the filename being loaded and the data is loaded using a memory stream
instead of writing it to a file and then loading it from the file.
2011-01-28 21:19:53 +00:00
Melanie
ab48caad08 Make the new style stuff compatible with the older revision 2011-01-28 05:25:53 +00:00
Melanie
188d86998d Fix up QueryAccess to also check parcels 2011-01-28 04:09:04 +00:00
Melanie
d90b0c53ec Fix bumping into sim borders and check estate bans for walking crossings 2011-01-28 02:38:14 +00:00
Melanie
80bf95b7b4 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-01-28 02:34:45 +00:00
Melanie
5a0cb7d37e Thank you, Goetz, for a patch to fix prim count display in cut regions. 2011-01-28 02:34:07 +00:00
Justin Clark-Casey (justincc)
f9ea5e69c5 Refactor: Break out LoadObjects() and LoadParcels() from a longer method 2011-01-27 21:07:21 +00:00
Justin Clark-Casey (justincc)
19e4473a97 Put confirmation on "land clear" command to avoid nasty accidents 2011-01-27 20:57:59 +00:00
Justin Clark-Casey (justincc)
be3685b1a2 When an oar is loaded, do not create a default parcel before loading the parcels from the OAR.
The region spanning parcel shouldn't exist in this situation.  If it does, when the land data is loaded it is repersisted with a local ID which comes after the ones loaded via the oar, which obliterates the oar loaded one.

Resaving the data we just loaded from the database is somewhat odd in itself (though this makes sense from the way that OAR loading was already using the same event).
2011-01-27 20:36:50 +00:00
Justin Clark-Casey (justincc)
42c0dbf49a Show local IDs in "land show" output.
Also properly insert region name in "land clear" command
2011-01-27 20:11:30 +00:00
Justin Clark-Casey (justincc)
ab9a0f2f1d Add "land clear" command
This clears all parcels from the currently selected region and replaces them with the single region spanning default parcel owned by the estate owner
2011-01-27 19:37:20 +00:00
Justin Clark-Casey (justincc)
5a26dc2743 Fix OAR parcel loading so that old parcels are replaced by the new instead of merged.
The --merge switch will still merge the old and new land parcelling.
2011-01-27 18:48:48 +00:00
Justin Clark-Casey (justincc)
e33cb3db93 remove unused CreateBaseLand() 2011-01-27 16:50:41 +00:00
BlueWall
d89d9d1b13 Merge branch 'master' of /home/opensim/src/OpenSim/Core 2011-01-27 08:53:57 -05:00
Melanie
b0f641fa15 Make it work 2011-01-27 06:41:07 +00:00
Melanie
17801bd78b Add a TeleportFlags member to SP so we can tell how we got there. 2011-01-27 05:33:46 +00:00
Melanie
adb341e32f Also set Godlike flag. Might be useful 2011-01-27 05:33:01 +00:00
Melanie
61b67b2ead Add TeleportFlags.ViaRegionID to the flags sent on login when the region
was entered by hand to determine whether or not to honor the landing
point
2011-01-27 05:32:54 +00:00
Mic Bowman
2bab8e5538 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-26 13:35:21 -08:00
Mic Bowman
240c0eaf1d Remove the RestorePresences functions (which don't seem to be doing
anything) and clean up the code in AddNewClient (so Appearance only
gets assigned once, not three times).
2011-01-26 13:33:34 -08:00
Justin Clark-Casey (justincc)
8eb2789ae1 Add some comments on ILandObject.StartPoint and EndPoint 2011-01-26 21:19:22 +00:00
Justin Clark-Casey (justincc)
a0469daf75 Implement command "land show". This shows all the parcels on the currently selected region/s
This is useful for diagnostics.  The command is "land show" rather than "show land" because it's implemented as a module specific subcommand.
2011-01-26 21:12:41 +00:00
Mic Bowman
c4727645b8 Removed a few more spurious appearance saves. When an avatar
enters a region the attachments module tries to update the
appearance with attachments that are already part of the appearance.
Just added a check to only save if the attachments weren't there
before.
2011-01-25 14:23:58 -08:00
Melanie
b91c99b596 Fix script data not being reset as it should be 2011-01-24 03:07:01 +00:00
Diva Canto
cc39d0bf4e Fixes mantis #5343 2011-01-23 14:47:58 -08:00
Justin Clark-Casey (justincc)
a32381cb9b stop extremely old region serialization commands from appearing in the console
as far as I know these are unused and unsupported.  Please re-enable if this is not the case.  This does not effect save-xml[2]/load-xml[2]
2011-01-22 00:27:34 +00:00
Justin Clark-Casey (justincc)
cb14e1d272 Update the "config get <section> <key>" command to "config get [<section>] [<key>]"
The config get command shows a current config value on the console.
Now, if <key> is omitted then all the values for the given section are printed.
If <section> is ommitted then all sections and all keys are printed.
Current config can also be dumped to a file using "config save <path>".  This can be handy for resolving or eliminating config issues
2011-01-21 23:59:55 +00:00
Justin Clark-Casey (justincc)
41105948bd remove some mono compiler warnings 2011-01-21 23:19:52 +00:00
Justin Clark-Casey (justincc)
e44ceaaea3 make "show info" and "show version" show the same version text 2011-01-21 23:07:19 +00:00
Justin Clark-Casey (justincc)
43f948d691 add current console log level to "show info" 2011-01-21 23:05:53 +00:00
Justin Clark-Casey (justincc)
bf5ec8cb88 remove some mono compiler warnings and unnecessary dictionary instantiations 2011-01-21 22:51:52 +00:00
Justin Clark-Casey (justincc)
5f3f7c3405 minor: remove unnecessary newline from "show throttles" information 2011-01-21 22:48:49 +00:00
Justin Clark-Casey (justincc)
6ef7ea454c Remove old 2 year unused linden stack region module shell 2011-01-21 22:48:04 +00:00
Justin Clark-Casey (justincc)
9971fdbcd5 properly format "show throttles" table 2011-01-21 22:31:46 +00:00
Justin Clark-Casey (justincc)
38debbc59f crudely refactor table generation code for "show queues" and "show throttles" 2011-01-21 00:56:37 +00:00
Justin Clark-Casey (justincc)
c383dbd06d implement "show throttles" command for showing current agent throttles and the server settings.
This is in a very crude state, currently.
The LindenUDPModule was renamed LindenUDPInfoModule and moved to OptionalModules
OptionalModules was given a direct reference to OpenSim.Region.ClientStack.LindenUDP so that it can inspect specific LindenUDP settings without having to generalize those to all client views (some of which may have no concept of the settings involved).
This might be ess messy if OpenSim.Region.ClientStack.LindenUDP were a region module instead, like MXP, IRC and NPC
2011-01-21 00:38:16 +00:00
Justin Clark-Casey (justincc)
58eb6b5fa3 minor: help text adjustment for "show queues" 2011-01-20 23:22:45 +00:00
Justin Clark-Casey (justincc)
df740d8e5c remove reference to CoreModules from ClientStack.LindenUDP
client stack uses modules in the same way that scene does - through their interfaces
2011-01-20 23:21:25 +00:00
Justin Clark-Casey (justincc)
1baf63dbae Move "show queues" command out of OpenSim.cs and into a separate module. 2011-01-20 22:57:12 +00:00
Justin Clark-Casey (justincc)
f50780f4c2 remove unimplemented "show assets" command 2011-01-20 21:56:48 +00:00
Justin Clark-Casey (justincc)
b0aebc6f3d minor: make "show info" help slightly clearer 2011-01-20 21:41:48 +00:00
Justin Clark-Casey (justincc)
d3dca7d25a For now, comment out logging messages about IM sending, since these cause high spam for large group messaging 2011-01-19 01:50:02 +00:00
Justin Clark-Casey (justincc)
28fda1cab6 with mic's permission, reduce appearance, baked texture logging verbosity for now 2011-01-19 01:41:32 +00:00
Justin Clark-Casey (justincc)
a42faca5b9 With mic's permission, adjust long call time info messages to 500ms from 200ms 2011-01-19 01:13:10 +00:00
Justin Clark-Casey (justincc)
97c0430093 Downgrade and comment out some other caps messages for now 2011-01-19 01:10:09 +00:00
Justin Clark-Casey (justincc)
7f000ea88e Correct "show queues" to show queued packet numbers for each client instead of bytes.
Byte amounts aren't actually available - this was a misunderstanding of TokenBucket.Content.  But raw packet numbers are.
2011-01-19 00:33:25 +00:00
Melanie
9f7b37b37c Fix build break 2011-01-18 01:48:37 +00:00
Melanie
06e225bc0b Also fix MySQLXInventoryData 2011-01-18 01:31:14 +00:00
Melanie
ac16a49ca0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-01-18 01:27:11 +00:00
Diva Canto
f73c90c633 Put the 'new' back to avoid a warning. Yes, we want to hide it. 2011-01-17 17:52:03 -08:00
Diva Canto
a07375a7ae Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-17 17:41:06 -08:00
Diva Canto
c98d1cffe2 Removed the call to sceneViewer.Reset upon MakeRoot and ChildAgentUpdate, because Reset hangs for a long time waiting for the lock. That is a problem in itself -- that long holding of the lock by some thread -- but let's just avoid it altogether. 2011-01-17 17:40:48 -08:00
Melanie
75644e0f6e Prevent activation and deactivation of gestures from clobbering the slam
bits
2011-01-18 01:26:42 +00:00
Melanie
31144a62b3 Change gesture activation to not quash any other flags 2011-01-18 01:26:37 +00:00
dahlia
624bf23abb force objectId to UUID.Zero for non-overridden animations in AvatarAnimation packet 2011-01-17 16:39:53 -08:00
Justin Clark-Casey (justincc)
3083c517a0 minor: resolve some mono compiler warnings 2011-01-18 00:29:10 +00:00
Justin Clark-Casey (justincc)
c544f0d0c5 Prune some of the excess logging for client logins.
Didn't touch the appearance related stuff.
2011-01-18 00:25:24 +00:00
Justin Clark-Casey (justincc)
523628dca3 minor: remove mono compiler warnings 2011-01-18 00:14:58 +00:00
Justin Clark-Casey (justincc)
8233ef25ba Reduce amount of debug lopgging put out by some simiangrid connectors. Please re-enable if needed. 2011-01-18 00:10:34 +00:00
Justin Clark-Casey (justincc)
6e58996b4d refactor: remove redundant null checks 2011-01-17 23:57:50 +00:00
Justin Clark-Casey (justincc)
81552099d6 Fix UnackedBytes client stack statistic as seen in "show queues"
Bytes were being wrongly added again on a resend
2011-01-17 23:45:25 +00:00
Diva Canto
37837850d3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-17 13:12:46 -08:00
dahlia
aecaadd3bd objectId in AvatarAnimation packet should be UUID.Zero for non-overridden animations 2011-01-17 13:10:09 -08:00
Diva Canto
4bcee1dfb4 Revert "DEBUG DEBUG DEBUG"
This reverts commit 59c2cd04ba.
2011-01-17 13:07:02 -08:00
Diva Canto
59c2cd04ba DEBUG DEBUG DEBUG 2011-01-17 12:35:19 -08:00
Diva Canto
5e35651efc Protect World Map module, RequestMapItemsAsync, from badly formed URLs. 2011-01-17 11:45:13 -08:00
Diva Canto
479d72ac97 Account for some component along the way lower-casing the HTTP header keys. (XFF header issue) 2011-01-17 11:37:39 -08:00
Diva Canto
0aeb8981b2 Brute force debug for XFF issue 2011-01-17 11:19:20 -08:00
Diva Canto
66f99ae267 More debug messages to help track the XFF header problem. 2011-01-17 11:03:46 -08:00
Melanie
30320077a2 Fix slam bits being lost when editing perms in prim inventory 2011-01-14 03:20:47 +00:00
BlueWall
69c8cc787f Make FireAndForgetWrapper a singleton class
Made FireAndForgetWrapper a singleton class to allow us to drop
	dependancy on the BclExtras35 library. BclExtras is broken in
	Mono 2.8.2 and we used the library in only one function.
2011-01-13 19:52:34 +00:00
BlueWall
b341bc0908 Make FireAndForgetWrapper a singleton class
Made FireAndForgetWrapper a singleton class to allow us to drop
	dependancy on the BclExtras35 library. BclExtras is broken in
	Mono 2.8.2 and we used the library in only one function.
2011-01-13 11:39:50 -05:00
Melanie
705f4e1e4b Dont' trust the viewer! Fix a permission slam error caused by trusting
the viewer too much.
2011-01-12 21:46:49 +00:00
Melanie
914e4b319e Fix direct item give permissions 2011-01-12 21:39:13 +00:00
Melanie
f75a3ee762 Use ToString() rather than a cast (more robust) 2011-01-12 21:25:51 +00:00
Melanie
7cfe17b5b3 Partial permissions fix for boxed items. 2011-01-12 21:25:38 +00:00
Melanie
dd154f7403 Fix god mode perms adjustment 2011-01-12 21:21:34 +00:00
Diva Canto
e80bcc0049 Improved debug messages to track what is going on with the XFF header 2011-01-09 16:52:41 -08:00
Diva Canto
0fabe0e5a5 Added more debug messages under the -verbose option. 2011-01-08 16:33:33 -08:00
Diva Canto
35a2961ccd Added a -v|verbose option to save iar. 2011-01-08 16:17:00 -08:00
Diva Canto
9d9a170571 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-08 15:50:25 -08:00
Diva Canto
eab0951a59 Fixes the issue of hung archives. Problem was with SceneObjectSerializer.
Also fixes a buglet in scene load xml command, where it was given the wrong argument index for filename.
2011-01-08 15:49:51 -08:00
Mic Bowman
ec22560045 Merge branch 'cmickeyb' 2011-01-08 13:33:52 -08:00
Mic Bowman
df7fb207a8 Moved the map tile processing used by the Simian Grid
Frontend into a separate region module. Configuration
settings added to the defaults ini file. Others may find
this useful for pushing map tiles to a separate server.
2011-01-08 13:33:07 -08:00
Diva Canto
a1c5de0f94 Try to fix a IAR problem reported by nebadon, where save iar seems stuck forever. 2011-01-07 12:32:47 -08:00
Diva Canto
02e661f8dd Minor additional debug message. 2011-01-07 11:39:22 -08:00
Diva Canto
8c0e156b4d Make HG map search consistent with new syntax for link-region, i.e. http://foo.org. Old syntax (foo.org) is still supported, but has surprising results when ppl search again, because internally the HG link names start with http. 2011-01-07 11:38:54 -08:00
Diva Canto
c18bcf3d8d A bit more frugal on the caller side of closing agents, now that the receiving end is async. No need for so much concurrency. 2011-01-07 10:25:49 -08:00
Diva Canto
52f88f5739 Spawn a threadlet upon receiving requests to close agents. The operation may take too long, and we don't need to keep the caller waiting. 2011-01-07 10:04:39 -08:00
Diva Canto
32a3f330ed Canonicalize URL endings for the UserAgentServiceConnector. 2011-01-06 17:42:16 -08:00
Diva Canto
fda56618e1 Deal with possibly un-initialized scripts in object transfers. Mantis #5310 2011-01-06 16:17:43 -08:00
Diva Canto
81587466e7 Map search: changed the flag sent to the client. It was 2 (???), now it's 0. This makes HG map tiles work on map search -- a longstanding annoyance. My map search tests were all ok, but since I don't understand these flag values, this may break something related to map search. 2011-01-06 12:53:54 -08:00
Diva Canto
21dedb573b HG map tile fetch: handle cached images appropriately. 2011-01-06 12:48:28 -08:00
Diva Canto
5b43f9cac4 HG bug fix. Must wait for client's UDP contact before getting scene presence. 2011-01-06 12:47:13 -08:00
Mic Bowman
d3ebf64369 Merge branch 'master' into cmickeyb 2011-01-05 15:01:53 -08:00
Mic Bowman
0b44e99730 comment out a couple simian debug messages 2011-01-05 14:51:11 -08:00
Mic Bowman
984a9b4085 Added more performance checks to the HTTP server. Each request
coming through the WebUtil fns has a request id in the header
that can match the request to the actual work done by the service
2011-01-05 14:32:00 -08:00
Diva Canto
17ebe8fb77 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-01-05 07:14:45 -08:00
Diva Canto
0c165bc421 Commented a verbose Debug message in LLUDPServer that got uncommented at some point. 2011-01-05 07:14:09 -08:00
Justin Clark-Casey (justincc)
4ac58093bf Make the default for the very verbose XMLRPC groups debug setting false rather than true! 2011-01-04 23:23:42 +00:00
Diva Canto
fbde9b1136 Note to self: try to make only 3 things at the same time. 2011-01-04 11:33:15 -08:00
Diva Canto
db55859125 Guard against null Animator. 2011-01-04 11:30:08 -08:00
Mic Bowman
6a5d52b4c8 removed the early return on agentupdates, this was debugging code 2011-01-04 09:12:32 -08:00
Mic Bowman
e0da281e3d Cleaned up debugging messages in the WebRequest handlers 2011-01-03 17:16:22 -08:00
Mic Bowman
d3987024d7 Merge branch 'master' into cmickeyb 2011-01-03 17:05:24 -08:00
Melanie
5286198650 Add permissions hooks for object transfers 2011-01-03 19:42:58 +00:00
Melanie
07cc032081 Allow cross-scope friendships to work, and also allow other cross scope name
resolution
2011-01-03 19:42:46 +00:00
Melanie
e1664b8d38 Fix child agent scoping 2011-01-03 19:42:26 +00:00
Melanie
c48ddbfef1 Fix scoping for prim region crossings 2011-01-03 19:41:02 +00:00
Melanie
9971766256 Implement Scope ID lookup on GetLandData. Stacked regions were not handled
properly
2011-01-03 19:40:55 +00:00
Mic Bowman
df5e4a1e5b Standardize the way WebRequests are made in the SimulationServiceConnector. Added
debugging calls for tracking performance of web requests.
2010-12-29 20:47:51 -08:00
Melanie
1f4d0ad460 Fix up a prior fix (refix the fixed fix :) 2010-12-30 02:31:05 +00:00
Melanie
a32f80b9e3 Implement SendPlacesReply 2010-12-30 01:36:09 +00:00
Diva Canto
d42e0c39fc Bug fix in neighbors: serverURI now always has a trailing '/'... neighbors were not getting notified. 2010-12-29 07:36:39 -08:00
Myan Thor
915c0b17b0 fixes a problem with ending slashes in GatekeeperService to verify session-addresses 2010-12-29 06:03:43 -08:00
Mic Bowman
94ed69b1da Update SimianGridServicesConnector to work more like
a connector so we can take advantage of the logic in
RemoteGridServicesConnector.
2010-12-27 17:18:49 -08:00
Diva Canto
6386dfd362 No need for these methods to be virtual now. 2010-12-27 16:26:29 -08:00
Diva Canto
f801d50a8a WARNING: simulator config var change! This affects only system-facing configs. Nothing to do if you follow the rules of not messing with Grid.ini and GridHypergrid.ini.
Change the remote Grid region module so that it takes the network connector as a config variable. This allows the region plugin to be reused for both Robust and Simian network connectors.
2010-12-27 15:25:08 -08:00
Mic Bowman
b16173e3e8 Drop the static from default wearables. It isn't
static.
2010-12-27 12:43:54 -08:00
Diva Canto
06077f775f Fixes mantis #5279 2010-12-25 08:28:42 -08:00
Diva Canto
b23b29a53e This fixes mantis #5198 and related. Physics is not my expertise, so I'm not 100% sure of what all the consequences of this change are. Pushing up, so others can take a look. 2010-12-24 16:23:00 -08:00
Diva Canto
3eaaaa0d99 One more pass at object inventory. This time, fix SceneObjectPartInventory so that it makes sure that the file is added to Xfer's before it signals the client to come and get it. This allows the simplification of the logic of Xfer's. 2010-12-24 08:50:00 -08:00
Diva Canto
135b012bbd Hopefully this fixes all prim inventory issues. No more abort, no more keeping track of time. Simply handle the issues, which are: (1) rapid double requests from the viewer for the same file; (2) sometimes the file generation takes too long and the Xfer request arrives at the XferModule before the file name is added.
This still has debug messages commented out, in case this needs more debugging. Pushing it so others can test.
2010-12-23 19:31:37 -08:00
Teravus Ovares (Dan Olivares)
d829580e5e Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-12-23 13:17:55 -05:00
Teravus Ovares (Dan Olivares)
c108968020 * Cleanup from a commit a while ago. 2010-12-23 13:17:33 -05:00
Diva Canto
bc67bc0d94 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-23 10:05:45 -08:00
Diva Canto
54418c5e69 Removed unused code -- this was the previous version of UDP texture sending, which now lives entirely in LindenUDP space. 2010-12-23 10:05:08 -08:00
Melanie
26e601a776 Put back a commented section of code. With some viewers, object inventory
transfers just don't start without it. Observed my Nebadon and yours truly.
2010-12-23 11:50:53 +00:00
Teravus Ovares (Dan Olivares)
46db73b62b * Re-Adding Scene TimeDilation to Object Update Packets.
* Added Calculating Time Dilation in the OdePlubin
* When multiple object updates are stuffed into one packet, average the time dilation between them as a compromise.
* Time Dilation on the update is calculated when the EntityUpdate object is created.  The pre-calc-ed TD is stored in the Entity update and used when it goes out on the wire.  Previously, it was 1.0 all the time. The time dilation is tied to when the update is created, not when the update is sent.
2010-12-23 03:30:09 -05:00
Diva Canto
862da9a55f Added a counter to NewFiles in Xfers to account for simultaneous object inventory requests, which apparently are happening and may cause race conditions if the file name is removed after the first transfer. 2010-12-22 17:55:58 -08:00
Melanie
f29675bf87 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-12-22 17:35:12 +00:00
Diva Canto
2d8f448322 Fixed wrong argument cardinality in debug message. 2010-12-22 10:42:29 -08:00
Melanie
990e73d7cb Fix a broken format on an error message. Also replace yet another e.Message
with e.ToString(). e.Message is USELESS, it doesn't tell us what happened
where, we should use e.ToSTring() everywhere
2010-12-22 17:33:06 +00:00
Teravus Ovares (Dan Olivares)
25ecd62b1f * Adds AbortXfer to the ClientAPI mix
* Adds an item that checks to see if the top request has been there for longer then 30 seconds without an update and sends an AbortXfer if it encounters one.   This allows the client to cancel the Xfer on it's side so you can re-select the prim and get the inventory when it fails the first time.
* Some interesting locking...    Using NewFiles to lock the rest of them.   We'll see how that goes.
* The goal of this is to ensure that Xfers are restartable when they fail.  The client will not do that on it's own.
2010-12-21 19:15:44 -05:00
Melanie
1c3e77b728 What is the point of using different types to express the same damn thing? 2010-12-21 22:58:52 +00:00
Melanie
19181c019a Another good catch. Update file name serial. 2010-12-21 22:56:48 +00:00
Melanie
ec8d1d0131 Added a missed return. Thanks diva! 2010-12-21 22:49:38 +00:00
Melanie
a31b96e1ba Fix up merge artifacts 2010-12-21 20:54:28 +00:00
Melanie
043dace118 Make prim inventories a bit more sane 2010-12-21 20:49:31 +00:00
Mic Bowman
a6a136bd90 Shooting in the dark for solutions to the appearance problem 2010-12-20 14:24:52 -08:00
Diva Canto
c082254b9d Put the coarse location updates back to 50 frames, otherwise the dots on the mini-map come and go noticeably. Also increased the Velocity a bit; I had decreased it to 0.885; now it's 0.9. 2010-12-19 19:29:07 -08:00
Marck
711283d3ca More changes to the long help text for console command link-region. 2010-12-20 02:50:19 +01:00
Marck
3b4af8a0dc Fix osTeleportAgent and osTeleportOwner for the case that GridService is used with a storage provider other than NullRegionData. 2010-12-20 02:09:35 +01:00
Marck
2a40c8511a Make long help text for new link-region command syntax more explicit. 2010-12-19 22:59:32 +01:00
Diva Canto
cf72fece6d Replaced the HttpServer_OpenSim.dll with one compiled for .NET 3.5 (the last one was 4.0, and that doesn't work). Also added the corresponding .xml and .pdb, if that makes any difference. 2010-12-18 18:23:51 -08:00
Diva Canto
d576d7c0a6 Replaced HttpServer_OpenSim.dll with a version that locks certain ops in HttpForm -- mantis #5128. 2010-12-18 17:36:37 -08:00
Justin Clark-Casey (justincc)
223264047e uncomment "load iar" help lines which added the --merge option 2010-12-18 00:59:37 +00:00
Justin Clark-Casey (justincc)
bf9555eaee minor: add [-p|--profile=<url>] to usage line that pops up if save iar console command isn't valid 2010-12-18 00:57:09 +00:00
Justin Clark-Casey (justincc)
ef43f98686 Raise maximum iar version that master can load to 1.x, so that it can load its own iars (oops) 2010-12-18 00:45:56 +00:00
Melanie
b32dcc6913 Fix notecards that end with an embedded object causing an exception 2010-12-17 22:50:00 +00:00
Justin Clark-Casey (justincc)
5782f5662b remove now unused subversion serialization backup config 2010-12-17 23:06:55 +00:00
Justin Clark-Casey (justincc)
490d05d212 remove broken and unmaintained subversion serialization module and it's associated libraries and licenses 2010-12-17 23:04:07 +00:00
Justin Clark-Casey (justincc)
3d32f05cde remove mono compiler warning: if (sop.Color != null) always returns true as sop.Color is a value type. 2010-12-17 22:40:11 +00:00
Justin Clark-Casey (justincc)
3b1c91c24b remove mono compiler warnings 2010-12-17 22:35:08 +00:00
Justin Clark-Casey (justincc)
0913d43c50 minor: 'debug packet' console command level <= 50 then don't log ImprovedTerseObjectUpdate messages 2010-12-17 22:29:43 +00:00
Justin Clark-Casey (justincc)
19f70b93a0 tidy up the [Groups] section in OpenSim.ini.example 2010-12-17 21:19:57 +00:00
Justin Clark-Casey (justincc)
0745d65344 Put in locks on m_killRecord to replace changed locks on m_entityUpdates.SyncRoot
These locks are necessary to avoid a delete/update race condition for scene objects.
However, since we're now locking on m_killRecord this shouldn't cause delays to m_entityUpdates reprioritization
2010-12-15 23:11:42 +00:00
Diva Canto
ed26376ec5 Yet more things out of the main Update thread loop and into threadlets. This time, SendPrimsUpdate. Plus a few more tweaks on triggering actions from the Update loop. #LoginLag. 2010-12-14 20:15:26 -08:00
Diva Canto
74c68474e0 Another attempt at moving heavy computation away from the Update loop. #LoginLag 2010-12-14 18:44:26 -08:00
Diva Canto
e3262ef5ac Commented out the UpdateLand call from the Update thread loop, because this may be causing the #LoginLag. Attachments taint the prim count. Twice. Each. 2010-12-14 17:50:37 -08:00
justincc
eb07dfc900 Fix windows compile break 2010-12-15 01:06:20 +00:00
justincc
b643661938 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-15 00:35:36 +00:00
justincc
d0576f39e0 replace ode.dll with one built without asserts turned on 2010-12-15 00:35:00 +00:00
Justin Clark-Casey (justincc)
6b135ee371 fix mistake in last change of local.include 2010-12-15 00:14:43 +00:00
Diva Canto
9d0339e8f9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-14 16:04:46 -08:00
Diva Canto
a4309578e2 Another stab at #LoginLag. Looking forward to hear the feedback! This makes updates for self movement as absolute top priority, going in to the unthrottled category. Self only, not other avies. 2010-12-14 16:04:28 -08:00
Justin Clark-Casey (justincc)
5f8c660489 add new optionalmodules test dll to panda test run (and nant test command) 2010-12-14 23:58:39 +00:00
Justin Clark-Casey (justincc)
3643be1c97 Rename SceneObjectUserTests to SceneObjectDeRezTests to better reflect its contents 2010-12-14 23:46:02 +00:00
Justin Clark-Casey (justincc)
92727ad596 minor: disable debug logging for previous test 2010-12-14 23:41:36 +00:00
Justin Clark-Casey (justincc)
8a5f9b91de Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-14 23:39:21 +00:00
Justin Clark-Casey (justincc)
81bccd6d13 Start implementing a test for 'share with group' object functionality. Not yet complete.
While implementing this, a bug was fixed in scene setup helpers where module RegionLoaded() was called immediately after AddRegion() instead of waiting for all AddRegions() to complete.
Also, XmlRpcGroupsModule non-message functionality will now work without a message transfer module (as indicated in the comments but with a contradictory implementation)
2010-12-14 23:36:34 +00:00
Justin Clark-Casey (justincc)
42c9c30e4c Add mock group services connector and use this in tests 2010-12-14 22:57:36 +00:00
Justin Clark-Casey (justincc)
c620e4c822 add infrastructure for groups module tests 2010-12-14 22:25:01 +00:00
Diva Canto
ff8ff773e7 Relax a highly constraining lock on m_entityUpdates that may be preventing reprioritizations from actually happening. #LoginLag 2010-12-14 12:58:32 -08:00
Diva Canto
10ae5454cb Made the map thread request the map items asynchronously, as the name suggested -- but with a cap of 20 async requests max at any given time. 2010-12-14 12:16:51 -08:00
Diva Canto
4357288a94 More on mantis #5270 2010-12-14 11:24:23 -08:00
Diva Canto
55e04e6c68 Fixes mantis #5270 -- Map tiles for hyperlinks not showing in world map for grided sims. 2010-12-14 08:11:49 -08:00
Melanie
e47cc10674 Null checking ParentGroup is not needed. It can't be null. 2010-12-14 12:07:35 +00:00
Diva Canto
4bdba0a487 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-13 21:36:08 -08:00
Diva Canto
b41164b620 This seems to get rid of the stuck PREJUMP animation, as reported by Justin in -dev. Also in this commit, a slight adjustment to the Velocity of SP -- this makes the avie walking feel less jerky for me. Will wait reports from others. 2010-12-13 21:35:40 -08:00
Justin Clark-Casey (justincc)
e08da02a0f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-14 00:12:17 +00:00
Justin Clark-Casey (justincc)
e62b3dba8a reinstate IAttachmentsModule.UpdateAttachmentPosition() since this is being used by a 3rd party region module and contains non-obvious attachment specific code
There are no functional changes.  UpdateAttachmentPosition() is adapted to the new approach of only saving attachment state on logout
2010-12-14 00:11:41 +00:00
Melanie
2a9f095071 Fix a small bug in ban list handling 2010-12-13 22:14:34 +00:00
Melanie
9bd7f3b03a Revamp the viewer -> banlist packet processing so fix a number of bugs.
Remove the too coarse CanEditParcel method in favor of a CanEditParcelProperties
method that takes a GroupPowers argument to specify what action is to be
taken. Also, make the method to set parcel data much more granular. Permissions
in a deeded setting should now work.
2010-12-13 20:35:56 +00:00
Melanie
d6803e6448 Change some lookups in he Land Management module to make group permissions
work better. Add a generic group permissions hoot to the scene permissions
system.
2010-12-13 20:28:14 +00:00
Marck
a4588befb7 Changed logging level for message about failure to retrieve a map image from a linked region. 2010-12-13 22:00:34 +01:00
Marck
9a24c0b41c Show map tile for hyperlinks. Perform Check4096 before adding a hyperlink.
Configuration option AssetService in section [GridService] must be set to enable this functionality.

Map tiles do currently not show for hyperlinks set in simulators that are connected to grids, see Mantis #5270.
2010-12-13 21:20:48 +01:00
Diva Canto
6b8d01d8c4 It turns out that the 1/2 sec burst for prims download is not a bug, but a feature of the client. The client sets the throttles in such a way that makes the server behave like that. The same happens in the Linden Grid.
Revert "This may have been the biggest, baddest bug in OpenSim ever... confusion between bytes per second and bytes per millisecond."

This reverts commit 870bbcfc6c.
2010-12-13 11:45:17 -08:00
Diva Canto
fe6c655f70 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-13 09:43:54 -08:00
Diva Canto
870bbcfc6c This may have been the biggest, baddest bug in OpenSim ever... confusion between bytes per second and bytes per millisecond. 2010-12-13 09:42:27 -08:00
Marck
7f0350b988 Trigger event with flag CHANGED_LINK when agent sits on objects that have not a sit target defined. This fixes Mantis #4692. 2010-12-12 20:12:34 +01:00
Diva Canto
8ea4933742 Fixed wrong configuration variable names. 2010-12-11 18:17:07 -08:00
Diva Canto
4d16ecf889 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-11 17:07:08 -08:00
Diva Canto
797ca8d0e7 Fixes the nudge movements! 2010-12-11 17:06:17 -08:00
Marck
69538d14d4 More OSSL function name normalization, this time for osParcelSetDetails. 2010-12-11 11:41:45 +01:00
Diva Canto
c42876df67 Revert "Another stab at mantis #5256"
This reverts commit ccb4f958c0.
2010-12-10 23:32:50 -08:00
Diva Canto
18b10fab60 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-10 23:16:47 -08:00
Diva Canto
ccb4f958c0 Another stab at mantis #5256 2010-12-10 23:16:26 -08:00
Justin Clark-Casey (justincc)
b46de6e025 Remove the restriction that you have to be logged in when loading/saving iars
This is pointless as we're supplying the password on the command line
2010-12-11 03:09:00 +00:00
Justin Clark-Casey (justincc)
387f743993 If we're saving an IAR with --profile information, then label this a version 1.0 IAR since it isn't compatible with older OpenSim releases. 2010-12-11 02:18:16 +00:00
Justin Clark-Casey (justincc)
373ef594ba Drop current OAR version back to 0.5 since these are currently now compatible with older OpenSim versions again.
Removed ability to choose 0.4 to avoid having to write code that polices this properly.  Please shout on the ml if you really need this.
2010-12-11 01:57:32 +00:00
Marck
b512ecd1dc Normalization of OSSL function names.
Added the following replacement functions for compliance to the OSSL standards stated on the wiki:
osGetTerrainHeight
osSetTerrainHeight
osGetSunParam
osSetSunParam
osSetPenColor

The functions that do not comply to the standard give a warning when used but work normally otherwise.

The graphics primitive drawing command "PenColor" has also been added as well as dynamic texture parameter "bgcolor" as an alternative to "bgcolour".

The following two functions have been renamed because they are not enabled yet aynway:
osWindParamSet => osSetWindParam
osWindParamGet => osGetWindParam
2010-12-10 22:20:35 +01:00
Diva Canto
d8fd917076 Revert "A stab at mantis #5256. Separate ScenePresence updates from SceneObject updates, and place them in different queues."
This reverts commit f84905e294.
2010-12-10 12:40:12 -08:00
Diva Canto
58b251506c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-10 11:33:09 -08:00
Diva Canto
f84905e294 A stab at mantis #5256. Separate ScenePresence updates from SceneObject updates, and place them in different queues. 2010-12-10 11:32:46 -08:00
Marck
6f37290f4c Adjust hypergrid console commands to latest changes. 2010-12-10 17:48:45 +01:00
Justin Clark-Casey (justincc)
3ef9a4da9a update libode for 64 bit linux to r1755 (post 0.11.1) from ode 0.10.1
the same thing was actually done for ode.dll a couple of commits ago but I got the commit msg wrong (should have been r1755, not r1754).  Damn these fat fingers.
2010-12-10 03:51:33 +00:00
Justin Clark-Casey (justincc)
a918c8df97 fix the minimap sitting avatar location bug
a sitting avatar should have it's offset position added to the scene object, not its absolute position
2010-12-10 03:46:16 +00:00
Justin Clark-Casey (justincc)
3053f5ba7d minor: remove some compiler warnings 2010-12-10 03:08:31 +00:00
Diva Canto
cefdee8aaf Normalized ALL URLs with trailing /'s hopefully. Fixed show hyperlinks command. mantis #5259 2010-12-09 16:52:37 -08:00
Diva Canto
3675bb2981 Make configs consistent, as per mantos #5258 2010-12-09 09:30:17 -08:00
Diva Canto
baa8ddfd26 Minor bug fixes. Hunting down mantis #5259 2010-12-09 08:28:21 -08:00
Diva Canto
ab980fc927 Fixed wrong comment 2010-12-08 19:47:05 -08:00
Diva Canto
90bcfefe09 Fixed previous compile error -- I haven't pushed the CreatorID in AssetBase yet... 2010-12-08 19:37:35 -08:00
justincc
f0957bb6ca Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-09 03:18:14 +00:00
justincc
e9e544ddc8 Update ode.dll to r1755 2010-12-09 03:17:41 +00:00
justincc
0f240a9f7c Update ode.dll to r1754 2010-12-09 03:16:37 +00:00
Justin Clark-Casey (justincc)
3de0749aa7 Update libode.so to r1755.
This revision dates from 02 Sep 2010 and has received some testing.  This code will be updated in the opensim-libs repository
Updates for libode-x86_64, ode.dll and libode.dylib will follow
2010-12-09 03:10:48 +00:00
Melanie
d7346dd5ff Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-12-09 01:55:45 +00:00
Diva Canto
1070cffcf9 Added ability for GetTexture to serve multiple formats. The format may come as an extra query parameter in the URL format=<format> (this was tested and working) or it may come in the Accept header (code added, but not tested). The result of the conversion is placed in the asset cache, under the name <uuid>-<format>. 2010-12-08 18:53:15 -08:00
Melanie
4df1d25d23 Plumb a code path for the entity transfer module to ask a destination scene
whether or not an agent is allowed there as a root agent.
2010-12-09 01:55:32 +00:00
Diva Canto
796216e44f Added an exception handler on CreateObject handler, just in case there's an exception being thrown that is silently being ignored by the http server. (Trying to catch Melanie's problem with attachments on TPs) 2010-12-07 20:05:53 -08:00
Diva Canto
7cfb3d7e96 Removed extraneous left-/ on /object/ subpath. Bug introduced during region URLs clean up. 2010-12-07 17:17:06 -08:00
Justin Clark-Casey (justincc)
1fa9399ab8 change doc. trivial commit to get panda to rebuild 2010-12-08 00:41:33 +00:00
Melanie
c0d3ab59e6 Remove old Freeswitch configurations 2010-12-07 15:30:10 +00:00
Diva Canto
72748746d5 Fixed some inconsistency with trailing /. Made debug messages consistent. Changed the stored region names of HG regions. Increased the size of regionName in DB. 2010-12-05 19:43:24 -08:00
Jonathan Freedman
45cd2e3ef9 Merge branch 'master-core' into mantis5110 2010-12-05 11:49:15 -08:00
opensim mirror account
6639aaeed4 Merge branch 'master' of /var/git/opensim/ 2010-12-03 22:00:08 -08:00
opensim mirror account
cdd0df9aae Merge branch 'master' of /var/git/opensim/ 2010-12-03 21:30:05 -08:00
Melanie
4ca108f85e Simplify updating of agent inventory assets. Make newly created asset IDs
random rather than using IDs known by the client ahead of time.
2010-12-04 04:50:24 +00:00
Melanie
89fec4ff5b Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-12-04 04:25:08 +00:00
Melanie
ea17b262a3 Convert the agent asset transactions module to a new style module.
Refactor to remove the property "MyScene" and the pointless circular
refs to the managing classes. Converted the module to a non-shared module.
Reformatted source for 80 columns. Removed the special role the module
had in the old loader.
2010-12-04 04:24:55 +00:00
opensim mirror account
755180612a Merge branch 'master' of /var/git/opensim/ 2010-12-03 18:50:03 -08:00
Justin Clark-Casey (justincc)
7b6b4501b7 minor: add class doc line to older region module example code pointing towards newer 2010-12-04 02:49:41 +00:00
Justin Clark-Casey (justincc)
f268cd7c53 comment out the extension attribute 2010-12-04 02:47:29 +00:00
Justin Clark-Casey (justincc)
57b5263ecf add bare bones shared example module 2010-12-04 02:46:59 +00:00
opensim mirror account
2756e8fd67 Merge branch 'master' of /var/git/opensim/ 2010-12-03 18:40:03 -08:00
Justin Clark-Casey (justincc)
510b55c7f0 refactor some common code in RegionModulesControllerPlugin
also some minor doc changes in BareBonesNonSharedModule
2010-12-04 02:38:26 +00:00
opensim mirror account
cc471d9ca6 Merge branch 'master' of /var/git/opensim/ 2010-12-03 17:40:03 -08:00
Justin Clark-Casey (justincc)
c010491d34 correct the id of the example module 2010-12-04 01:38:32 +00:00
Justin Clark-Casey (justincc)
a06032d96e Add the most bare bones non-shared region module example. Not active unless the correct line is uncommented. 2010-12-04 01:36:35 +00:00
opensim mirror account
935929c2b8 Merge branch 'master' of /var/git/opensim/ 2010-12-03 17:10:03 -08:00
Justin Clark-Casey (justincc)
0ab774d484 add warning decals and information to RegionModule.cs in probably non-functional OpenSim.Region.Examples.SimpleModule project 2010-12-04 01:06:29 +00:00
Justin Clark-Casey (justincc)
9668fb4e31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-04 00:57:18 +00:00
Justin Clark-Casey (justincc)
2486d96d06 minor: correction to logging category 2010-12-04 00:56:53 +00:00
opensim mirror account
6770e43ef0 Merge branch 'master' of /var/git/opensim/ 2010-12-03 16:50:02 -08:00
opensim mirror account
cc573e97d5 Merge branch 'master' of /var/git/opensim/ 2010-12-03 16:00:27 -08:00
Justin Clark-Casey (justincc)
b69c5d6633 minor: change OpenSimBase log messages associated with newer module loader to make the association clear 2010-12-03 23:50:09 +00:00
Mic Bowman
df860516bf Various bug fixes for appearance handling: more aggressive reset of textures and vparams when appearance is not cached and when wearables change. Send appearance to the viewer with initial data.
Cleaned up (and added) debugging.
2010-12-03 23:45:00 +00:00
opensim mirror account
ffaaa5c750 Merge branch 'master' of /var/git/opensim/ 2010-12-02 16:20:08 -08:00
Justin Clark-Casey (justincc)
7e72afcb3e Only force prim persistence before delete if the prim is the result of an unpersisted delink
This considerably improves delete performance for objects with large linksets
2010-12-03 00:12:59 +00:00
opensim mirror account
3da12c2d3f Merge branch 'master' of /var/git/opensim/ 2010-12-01 18:10:02 -08:00
Justin Clark-Casey (justincc)
5246d98b8d Stop LLUDPServer sending updates after object deletes by always queueing deletes
If an LL 1.23.5 client (and possibly earlier and later) receives an object update after a kill object packet, it leaves the deleted prim in the scene until client relog
This is possible in LLUDPServer if an object update packet is queued but a kill packet sent immediately.
Beyond invasive tracking of kill sending, most expedient solution is to always queue kills, so that they always arrive after updates.
In tests, this doesn't appear to affect performance.
There is probably still an issue present where an update packet might not be acked and then resent after the kill packet.
2010-12-02 02:01:01 +00:00
Justin Clark-Casey (justincc)
26569a7cd0 minor: add some method doc 2010-12-02 02:01:01 +00:00
opensim mirror account
d60ace97bf Merge branch 'master' of /var/git/opensim/ 2010-12-01 16:20:03 -08:00
Diva Canto
f1a7847532 Deleted obsolete config files from old OpenSim.Grid. 2010-12-01 16:19:27 -08:00
opensim mirror account
6f3fbca5a3 Merge branch 'master' of /var/git/opensim/ 2010-12-01 16:10:15 -08:00
Diva Canto
7d24dbca3c Added some comments. Better than listening to the boring speaker... 2010-12-01 16:01:22 -08:00
opensim mirror account
4b4337d024 Merge branch 'master' of /var/git/opensim/ 2010-11-29 10:10:08 -08:00
Diva Canto
f3835fe15c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-29 09:58:20 -08:00
Diva Canto
49b59fffee Fix unit test. 2010-11-29 09:57:41 -08:00
Diva Canto
f86c438653 Preservation of creator information now also working in IARs. Cleaned up usage help. Moved Osp around, deleted unnecessary OspInventoryWrapperPlugin, added manipulation of SOP's xml representation in a generic ExternalRepresentationUtils function. 2010-11-29 08:43:33 -08:00
opensim mirror account
51a2cab05b Merge branch 'master' of /var/git/opensim/ 2010-11-28 18:20:02 -08:00
Melanie
04ce7de5ed Fix the build break 2010-11-29 01:15:30 +00:00
opensim mirror account
d85a53f040 Merge branch 'master' of /var/git/opensim/ 2010-11-28 16:40:08 -08:00
Melanie
5aeb83125a Remove the most spammy XML dumps from the FS voice module 2010-11-28 23:30:55 +00:00
Diva Canto
ca8d015733 Changed the parser for InventoryItem deserialization. Moved some utility functions around. 2010-11-27 11:40:54 -08:00
opensim mirror account
be216e1e39 Merge branch 'master' of /var/git/opensim/ 2010-11-27 02:10:05 -08:00
Marck
d71d4f96e3 Amend GetLinkPrimitiveParams with implementations for PRIM_TEXGEN, PRIM_BUMP_SHINY, PRIM_FULLBRIGHT, and PRIM_GLOW 2010-11-27 10:59:14 +01:00
opensim mirror account
35a1c749f3 Merge branch 'master' of /var/git/opensim/ 2010-11-27 00:20:07 -08:00
Marck
947d730b56 Make gatekeeper's address check case-insensitive. 2010-11-27 09:18:39 +01:00
Diva Canto
3292a22558 Creator information preserved upon HG transfers. 2010-11-26 22:06:34 -08:00
opensim mirror account
35f74ac4ee Merge branch 'master' of /var/git/opensim/ 2010-11-26 18:30:05 -08:00
opensim mirror account
2f3fcd4b72 Merge branch 'master' of /var/git/opensim/ 2010-11-26 18:10:02 -08:00
Micheil Merlin
6ed63487d9 llUnsit position fix 4063 (updated 11-20-2010) 2010-11-27 02:05:44 +00:00
opensim mirror account
3bfdc7c8de Merge branch 'master' of /var/git/opensim/ 2010-11-26 17:40:03 -08:00
opensim mirror account
0f52f90f9c Merge branch 'master' of /var/git/opensim/ 2010-11-26 17:30:05 -08:00
Micheil Merlin
a8a8fb6e13 llVecNorm nant test 2010-11-27 01:29:55 +00:00
Melanie
63e2c3b2d6 Reformat an overzealous comment. Remove end of line marks and reference to the
Mantis solved, as that isn't needed to understand the code. Reformat the
comment for 80 col screens.
2010-11-27 01:28:02 +00:00
Justin Clark-Casey (justincc)
e0866faacc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-27 01:27:46 +00:00
Mic Bowman
541a7660e0 Refactor appearance and avatar data sending code. Paritioning the routines into "one-to-many" and "many-to-one" makes it possible to call the right function on presence creation (both child and root) and when a child agent is promoted to root. This brings the total number of appearance sends down to one or two on login.
Cleaned up the avatar update calls in the groups code. Cleaned up
some commented and debugging code, and a few formating fixes.
2010-11-27 01:14:36 +00:00
opensim mirror account
b844fef58a Merge branch 'master' of /var/git/opensim/ 2010-11-26 17:00:05 -08:00
Justin Clark-Casey (justincc)
0e311a2104 If we fail to gather asset uuids for a particular asset, log the failing asset id and type 2010-11-27 00:54:09 +00:00
opensim mirror account
f10aa2c887 Merge branch 'master' of /var/git/opensim/ 2010-11-26 14:10:05 -08:00
Marck
7c02d5cec5 Another attempt at fixing failing test for creator info. 2010-11-26 23:04:31 +01:00
opensim mirror account
e30f61445f Merge branch 'master' of /var/git/opensim/ 2010-11-26 13:50:08 -08:00
Marck
2827deffe8 Trigger changed event with CHANGED_TELEPORT when teleporting to another region. 2010-11-26 22:46:48 +01:00
opensim mirror account
6915edbf94 Merge branch 'master' of /var/git/opensim/ 2010-11-26 03:30:10 -08:00
Marck
0bc5ffbe96 Fix handling of landmarks for systems with culture settings other than en_US. This fixes Mantis #5177. 2010-11-26 11:50:51 +01:00
Diva Canto
1cbd2842d5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-25 16:27:19 -08:00
Diva Canto
ae4b02e115 WARNING: LOTS OF CONFIGURATION CHANGES AFFECTING PRIMARILY HG CONFIGS. Added capability to preserve creator information on HG asset transfers. Added a new HGAssetService that is intended to be the one outside the firewall. It processes and filters the assets that go out of the grid. Also fixed the normal AssetService to do special things for the main instance (console commands, etc). Moved HGInventoryService to OpenSim.Services.HypergridService. Changed the way the login service gets the ServiceURL configs. 2010-11-25 11:14:16 -08:00
opensim mirror account
06d8f67448 Merge branch 'master' of /var/git/opensim/ 2010-11-24 21:10:03 -08:00
opensim mirror account
e9d59389e8 Merge branch 'master' of /var/git/opensim/ 2010-11-24 20:20:03 -08:00
Melanie
2d2098f5da Export the module interface for restart 2010-11-25 04:06:25 +00:00
opensim mirror account
d00405d3b8 Merge branch 'master' of /var/git/opensim/ 2010-11-24 19:30:05 -08:00
Melanie
57c4def254 Change all restarting to use the restart module. Remove hardcoded behavior 2010-11-25 03:16:52 +00:00
opensim mirror account
8fadfc4734 Merge branch 'master' of /var/git/opensim/ 2010-11-24 18:30:32 -08:00
Melanie
fb97fe8307 Finish the RestartModule and fix some bugs. Add new console commands:
region restart bluebox <msg> <time> ...
region restart notice <msg> <time> ...
region restart abort [<message>]
2010-11-25 02:30:06 +00:00
Melanie
6734c9f83a Implement the restart module 2010-11-25 01:22:05 +00:00
Melanie
e14f449cc2 Adding the skeleton for the restart module 2010-11-24 22:14:53 +00:00
opensim mirror account
181daf3a9d Merge branch 'master' of /var/git/opensim/ 2010-11-24 02:10:12 -08:00
dahlia
9f29908f66 catch an exception when a mesh asset header cant be decoded 2010-11-24 02:05:41 -08:00
Jonathan Freedman
bc51dfc45e Merge branch 'master-core' into mantis5110 2010-11-23 22:27:54 -08:00
opensim mirror account
a1daeb277e Merge branch 'master' of /var/git/opensim/ 2010-11-23 07:50:04 -08:00
Diva Canto
a4bf6c5343 Attempt at fixing failing test. 2010-11-23 07:44:42 -08:00
opensim mirror account
cb2b1257e9 Merge branch 'master' of /var/git/opensim/ 2010-11-23 07:20:16 -08:00
opensim mirror account
32cbf0c542 Merge branch 'master' of /var/git/opensim/ 2010-11-23 06:40:21 -08:00
Diva Canto
61a49ec4a8 Initialize InventoryItemBase.creatorData properly. Could throw. 2010-11-23 06:36:57 -08:00
Melanie
2527aeb40c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-23 14:03:52 +00:00
Melanie
45b08a9ce3 Fix more potential nullrefs 2010-11-23 14:02:20 +00:00
Melanie
7796b90ebb Fix some crashes caused by the addition of the CreatorData column 2010-11-23 14:02:06 +00:00
opensim mirror account
87e565d28d Merge branch 'master' of /var/git/opensim/ 2010-11-23 03:00:09 -08:00
Marck
c68f03a6ff Fix: Allow use of parameters without specifying a file path with command "save oar" 2010-11-23 11:45:12 +01:00
Marck
ba2bf78dcf Fix joining land parcels not being stored correctly in SQLite. Thank you to goetz for the initial patch in Mantis #5230. 2010-11-23 11:45:12 +01:00
opensim mirror account
64918589ec Merge branch 'master' of /var/git/opensim/ 2010-11-22 20:30:06 -08:00
Justin Clark-Casey (justincc)
8d79a39d5b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-23 04:27:06 +00:00
Justin Clark-Casey (justincc)
63170fdea7 Only perform the take object permissions check if an object is being attached directly from the scene, not from existing inventory 2010-11-23 04:26:07 +00:00
Justin Clark-Casey (justincc)
bbc291dfdf adapt tests to use DeRezObjects() since DeRezObject() has recently disappeared 2010-11-22 23:07:30 +00:00
Justin Clark-Casey (justincc)
34b13a4765 add basic tests to check that under default permissions module owner can delete objects and that non-owners (who are also not administrators, etc.) cannot 2010-11-22 22:54:13 +00:00
opensim mirror account
9362d11077 Merge branch 'master' of /var/git/opensim/ 2010-11-22 10:40:03 -08:00
Marck
e1c72cedb3 Let CHANGED_SCALE also trigger when editing prims and linksets with the viewer's edit tools.
This event used to trigger only when the scale was changed with a script.
2010-11-22 19:38:44 +01:00
Marck
d63965cf94 Let CHANGED_SHAPE trigger. This fixes Mantis #1844. 2010-11-22 19:38:44 +01:00
opensim mirror account
7e862dfe5e Merge branch 'master' of /var/git/opensim/ 2010-11-22 07:30:05 -08:00
opensim mirror account
f9f386f73b Merge branch 'master' of /var/git/opensim/ 2010-11-22 07:20:08 -08:00
Melanie
d2aebbe066 Fox case on a method 2010-11-22 14:27:45 +00:00
Melanie
4e0a289a8d Change FS Voice module to a shared module to avoid gratuitious server handler
registrations. Add the missing bits to drive the local connector's HTTP
requests. This makes standalones work.
2010-11-22 14:13:27 +00:00
opensim mirror account
d272a5bd25 Merge branch 'master' of /var/git/opensim/ 2010-11-22 02:20:10 -08:00
Marck
8a2c365e5b Thank you, thomax, for a patch making changed events CHANGED_REGION_RESTART and CHANGED_REGION work.
Fixes Mantix #5214.
2010-11-22 10:39:46 +01:00
Jonathan Freedman
b7f5e82843 Merge branch 'master-core' into mantis5110 2010-11-21 20:01:48 -08:00
Jonathan Freedman
562147475c Merge https://github.com/opensim/opensim into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2010-11-21 19:51:23 -08:00
opensim mirror account
f01e1094a3 Merge branch 'master' of /var/git/opensim/ 2010-11-21 17:50:03 -08:00
opensim mirror account
c913f92f0f Merge branch 'master' of /var/git/opensim/ 2010-11-21 17:30:05 -08:00
Diva Canto
0fec29c849 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-21 17:19:45 -08:00
Diva Canto
c617d658dd Added creator info across the board -- TaskInventoryItems and InventoryItems themselves. Tested. Seems to be working, main tests pass. Nothing done for IARs or HG transfers yet -- this only works for OARs for the time being.
New migration in inventory table in order to make CreatorID varchar(255).
2010-11-21 17:19:24 -08:00
opensim mirror account
a1549a1d85 Merge branch 'master' of /var/git/opensim/ 2010-11-21 16:50:03 -08:00
Melanie
8466ada8e0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-22 00:46:37 +00:00
Melanie
ddf08276f1 Fox the buglets in Freeswitch. Grid mode works now and there is no reason why standalone should not. 2010-11-22 00:46:23 +00:00
opensim mirror account
e2e828d1d5 Merge branch 'master' of /var/git/opensim/ 2010-11-21 16:30:05 -08:00
opensim mirror account
a145a294cf Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:50:03 -08:00
Melanie
c85e6bc36d Add the remote connector for freeswitch config retrieval 2010-11-21 23:42:52 +00:00
opensim mirror account
dd67175edf Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:40:03 -08:00
opensim mirror account
3d113e9f1d Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:30:05 -08:00
Melanie
2105842513 Finish the standalone mode freeswitch work and add config examples 2010-11-21 23:24:39 +00:00
opensim mirror account
b4025eb48e Merge branch 'master' of /var/git/opensim/ 2010-11-21 15:20:02 -08:00
Melanie
a7174cecdd Remove username and password from the publicly accessible FS config 2010-11-21 22:45:04 +00:00
opensim mirror account
68e8e35640 Merge branch 'master' of /var/git/opensim/ 2010-11-21 14:40:08 -08:00
Melanie
6fa24f4671 Convert the Freeswitch module to new style 2010-11-21 22:40:03 +00:00
opensim mirror account
d0c764bf2e Merge branch 'master' of /var/git/opensim/ 2010-11-21 14:30:10 -08:00
Melanie
e6c52f38c5 Strip the dialplan and directory methods from the region module 2010-11-21 22:25:50 +00:00
Melanie
2b0ef9ad1d Implement a method to allow regions to query the gridwide Freeswitch
configuration from ROBUST
2010-11-21 22:17:25 +00:00
Melanie
b43a01179e Correct an error in Robust.ini.example 2010-11-21 21:35:31 +00:00
Diva Canto
af8c8197ab Updated SQLiteLegacy/SQLiteSimulationData with the same. Is this crap still used?!? 2010-11-21 13:29:20 -08:00
Melanie
ed5f91c638 Move Dialplan and Directory from the region module to the ROBUST server 2010-11-21 21:29:17 +00:00
Melanie
c0ccfeebe7 Start implementing Freeswitch in ROBUST 2010-11-21 21:29:11 +00:00
Diva Canto
51343caeb5 Updated SQLite/SQLiteSimulationData to use SOP.CreatorInformation instead of SOP.CreatorID. Untested, but should work. 2010-11-21 13:27:03 -08:00
Diva Canto
6a9ae9e7cb Global creator information working on MySQL DB and on load/save OARs. Creator name properly shown on the viewer as first.last @authority.
New option added to save oar -profile=url. Migration on RegionStore making CreatorID be 255 chars.
Moved Handling of user UUID -> name requests to a new module UserManagement/UserManagementModule.
2010-11-21 13:16:52 -08:00
opensim mirror account
d04cbd8f85 Merge branch 'master' of /var/git/opensim/ 2010-11-19 19:10:12 -08:00
Marck
f1151f20dc Fix global region coordinates that are delivered by llRequestSimulatorData.
Also did some source code clean-up by replacing literals with constants.
2010-11-20 03:03:11 +00:00
Justin Clark-Casey (justincc)
a88bcbb118 Knock V0_2 decals off archive tests since they're misleading 2010-11-20 03:01:47 +00:00
Justin Clark-Casey (justincc)
d7bca3d8e8 Fix unit tests and save problems
(note; contrary to previous commits, saving 0.4 OARs is actually broken since serialized objects in inventories are not yet converted properly).
Firstly, if you can save a version 1.0 OAR then you can load it too.
Secondly, closing the save stream even on success before assets/objects are saved is a bad idea
2010-11-20 02:59:21 +00:00
opensim mirror account
c4dd724cba Merge branch 'master' of /var/git/opensim/ 2010-11-19 18:50:05 -08:00
Justin Clark-Casey (justincc)
1087d6042b correct build break. for some reason, xbuild didn't rebuild test dlls 2010-11-20 02:43:38 +00:00
opensim mirror account
4ec0933c99 Merge branch 'master' of /var/git/opensim/ 2010-11-19 18:40:08 -08:00
Justin Clark-Casey (justincc)
f49e32bfaa Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-20 02:34:27 +00:00
Justin Clark-Casey (justincc)
2c7be7130e Bump oar version to 1.0 from 0.5
If oar contents are being changed such that older versions of opensim can't load them, then the major version must be increased
This also locks version parameters to either 1.0 or 0.4, so that arbitrary 'versions' cannot be saved
Also closes save stream properly in the event of an error
Version 1.0 OARs are currently incompatible with OpenSim 0.7.0.2 and earlier.  However, you can still save compatible version 0.4 OARs by specifing --version=0 on the save oar command line
e.g. save oar --version=0 oars/test.oar
2010-11-20 02:32:12 +00:00
opensim mirror account
2750e22782 Merge branch 'master' of /var/git/opensim/ 2010-11-18 12:10:08 -08:00
Master ScienceSim
8f1a79420b Fixed appearance send for avatars with only default textures. This should fix some of the appearance problems on osgrid. Also added a transaction lock on SetAppearance. This won't prevent concurrent access to Appearance but it will at least make sure each update completes.
Signed-off-by: Melanie <melanie@t-data.com>
2010-11-18 19:04:50 +00:00
opensim mirror account
b5160aade0 Merge branch 'master' of /var/git/opensim/ 2010-11-17 16:00:05 -08:00
Justin Clark-Casey (justincc)
859234f963 small refactor: reuse existing commandLine string rather than calling cmdline.ToString() again 2010-11-17 23:50:23 +00:00
opensim mirror account
a1bc7f4ba1 Merge branch 'master' of /var/git/opensim/ 2010-11-17 15:40:03 -08:00
Justin Clark-Casey (justincc)
c072a9cfb3 save all lines to history, not just those which turn out to be valid comands. does not store passwords
also, blank lines are not stored to history
this makes it easier to go back and correct a command which was simply mistyped rather than having to type it out again
2010-11-17 23:34:39 +00:00
opensim mirror account
bfe1f3fdf8 Merge branch 'master' of /var/git/opensim/ 2010-11-17 15:10:07 -08:00
Justin Clark-Casey (justincc)
af0deff7e9 Make "show queues [full]" behave like "show users [full]"
Now, "show queues" only shows root agents.  "show queues full" will show child agents as well
2010-11-17 22:55:20 +00:00
Justin Clark-Casey (justincc)
c4f3175e17 add "Unacked bytes" column to "show queues"
This should show the number of bytes sent to the client that it has not yet acknowledged.
2010-11-17 22:55:19 +00:00
Justin Clark-Casey (justincc)
2a17c39dfe Fix "show queues" console command
For each agent, this command shows how many packets have been sent/received and how many bytes remain in each of the send queues (resend, land, texture, etc.)
Sometimes useful for diagnostics
2010-11-17 22:55:19 +00:00
Justin Clark-Casey (justincc)
e6eeaaea67 minor: add some method comments 2010-11-17 22:55:06 +00:00
opensim mirror account
01c16fc8c8 Merge branch 'master' of /var/git/opensim/ 2010-11-17 11:20:09 -08:00
Melanie
0d72d77629 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-17 18:20:41 +00:00
Melanie
43c270b536 Fix gesture and viewer preview sounds not playing 2010-11-17 18:20:24 +00:00
opensim mirror account
36495f6992 Merge branch 'master' of /var/git/opensim/ 2010-11-16 18:00:07 -08:00
Justin Clark-Casey (justincc)
393c9c9046 Add osUnixTimeToTimestamp()
This allows an input unix time to be converted to an llGetTimeStamp() format.
Thanks Thomax.
2010-11-17 01:45:47 +00:00
Justin Clark-Casey (justincc)
b38a1594c1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-17 01:28:46 +00:00
opensim mirror account
82786774e4 Merge branch 'master' of /var/git/opensim/ 2010-11-16 15:20:05 -08:00
Melanie
390c3a3b6f Prevent leftover attachments from clogging up the pipes 2010-11-16 22:18:35 +00:00
opensim mirror account
21b7cc5d61 Merge branch 'master' of /var/git/opensim/ 2010-11-16 14:00:07 -08:00
Melanie
7bb005b0d1 Change the way attachments are persisted. Editing a worn attachment will now
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 21:01:56 +00:00
Justin Clark-Casey (justincc)
c5d78c723b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-11-16 19:18:43 +00:00
opensim mirror account
63171839a3 Merge branch 'master' of /var/git/opensim/ 2010-11-16 08:20:04 -08:00
Marck
56bd42b438 Fix osTeleportAgent for hypergrid destinations.
Signed-off-by: Melanie <melanie@t-data.com>
2010-11-16 15:23:45 +00:00
opensim mirror account
e633b214cb Merge branch 'master' of /var/git/opensim/ 2010-11-16 06:40:10 -08:00
Marck
50202bab7c Add osTeleportOwner.
This provides the same functionality as osTeleportAgent but without the griefing potential. Region owners need not be concerned about the use of this function because it only allows to do what is already possible with the world map.
The intended use is with HUDs. For example, a list of (hypergrid) destinations could be made available for quick access.

Signed-off-by: Melanie <melanie@t-data.com>
2010-11-16 13:43:27 +00:00
opensim mirror account
fa1f9bb3c1 Merge branch 'master' of /var/git/opensim/ 2010-11-16 03:20:05 -08:00
Melanie
e7e3c74fb7 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-16 10:22:15 +00:00
Melanie
5329e3b9b7 Can't detach an object from within the script thread because it will throw. Use FireAndForget for that. 2010-11-16 01:36:26 +00:00
Melanie
98ba079e95 Diva needs a spanking! Serializing OldItemID breaks script state persistence in agent inventory. 2010-11-16 01:35:16 +00:00
opensim mirror account
c44ab55694 Merge branch 'master' of /var/git/opensim/ 2010-11-12 16:40:03 -08:00
Marck
98f29a47c0 Do not include hyperlinks in a random region search during a login.
Before a random region is chosen, available fallback regions are used for the login.
2010-11-13 00:40:03 +00:00
Marck
2368aab534 Fix: Write asset data into Asset.db when using SQLite 2010-11-13 00:31:02 +00:00
opensim mirror account
f0fac8ca3a Merge branch 'master' of /var/git/opensim/ 2010-11-12 15:30:10 -08:00
Justin Clark-Casey (justincc)
1e7334d985 provide avatar name in log if an exception ends up at the top of an async packet processing stack 2010-11-12 23:20:07 +00:00
opensim mirror account
c79b81d2ca Merge branch 'master' of /var/git/opensim/ 2010-11-12 10:30:10 -08:00
BlueWall
9c8680cd69 Fix prebubild.exe for Nant add missing "/" fixes Nant builds 2010-11-12 17:35:06 +00:00
opensim mirror account
4b21e4d7c5 Merge branch 'master' of /var/git/opensim/ 2010-11-11 18:20:08 -08:00
BlueWall
672ee2a888 Prebuild fix
Make prebuild fix for monodevelop. Needed path to reference
	legacy Mono.Data.SQLite in ./bin/Mono.Data.SQLite.dll.
2010-11-12 01:17:33 +00:00
BlueWall
00b0f521fa Add PARCEL_DETAILS_ID to LSL 2010-11-12 01:16:14 +00:00
opensim mirror account
b02ca416e5 Merge branch 'master' of /var/git/opensim/ 2010-11-10 09:20:09 -08:00
Melanie
bfc128529c Prevent teleporting to a region when the egent is banned in all parcels 2010-11-10 16:20:19 +00:00
opensim mirror account
a92d0faf50 Merge branch 'master' of /var/git/opensim/ 2010-11-09 18:20:05 -08:00
Melanie
ff3e466000 Remove a debug spam 2010-11-10 01:17:40 +00:00
opensim mirror account
d93aff0276 Merge branch 'master' of /var/git/opensim/ 2010-11-09 16:50:03 -08:00
Melanie
846198bb9e Although the Allow Voice setting is per estate rather than per region,
apparently it is required in the region handshake to let the client
enable parcel voice controls. So, send it.
2010-11-09 23:55:43 +00:00
opensim mirror account
a969036562 Merge branch 'master' of /var/git/opensim/ 2010-11-09 15:10:08 -08:00
Melanie
22144eb8f7 Fix parcel bans to work only on the avatars they're supposed to work on instead of pushing all avatars, even the ones that are allowed. 2010-11-09 22:15:59 +00:00
opensim mirror account
4a20a544d6 Merge branch 'master' of /var/git/opensim/ 2010-11-08 04:50:04 -08:00
Jeff Ames
ae9c4a4d11 Formatting cleanup. 2010-11-08 07:48:35 -05:00
opensim mirror account
2e4c0c66ff Merge branch 'master' of /var/git/opensim/ 2010-11-07 20:00:06 -08:00
opensim mirror account
4ff3be90e0 Merge branch 'master' of /var/git/opensim/ 2010-11-07 19:50:07 -08:00
Melanie
798abd1508 Reinstate a lost fix 2010-11-08 03:06:58 +00:00
Melanie
6056ae8d88 Fix merge artefacts 2010-11-08 02:58:33 +00:00
Melanie
18b27408d6 Prevent plants from being treated like dropped attachments and removed
from the sim.
2010-11-08 02:39:06 +00:00
Melanie
4f6dd8bda3 Call the cleanup after saving attachment states, so that the attachments
don't get killed before they can be saved
2010-11-08 02:38:15 +00:00
Melanie
2f58d56137 Call the Cleanup when an agent logs out, when an agent leaves and just
before an agent logs in directly. Intentionally not calling this from MakeRoot
as that would mess up attachment transfer in teleport
2010-11-08 02:37:28 +00:00
Melanie Thielker
d8fffd0fb5 Call attachment cleanup when an agent crosses out 2010-11-08 02:37:00 +00:00
Melanie Thielker
2317b6767b Add a method to delete left over / dropped attachments 2010-11-08 02:36:51 +00:00
Melanie
6585243113 Detach attachments displaced by other attachments 2010-11-08 02:35:47 +00:00
Jonathan Freedman
4f40374464 Merge git://github.com/opensim/opensim into mantis5110 2010-11-05 19:10:02 -07:00
opensim mirror account
3711f956a6 Merge branch 'master' of /var/git/opensim/ 2010-11-05 07:40:06 -07:00
opensim mirror account
e89dcdada9 Merge branch 'master' of /var/git/opensim/ 2010-11-05 07:30:10 -07:00
Melanie
644eb9fd7f Fix playing sound from HUDs 2010-11-05 13:45:28 +00:00
Melanie
e078c57bf0 Fix attached sounds from HUDs erroneously being delivered to other avatars 2010-11-05 13:39:04 +00:00
Melanie
1c8d19d714 Delete existing presences for a user ID when they log in again.
WARNING!!! This changes a default. The old default is to allow multiple
presences, the new default disables this. As the feature currently has no users,
this should not present any difficulty and will alleviate the presence
issues somewhat.
2010-11-05 13:31:45 +00:00
opensim mirror account
e6972bfe6c Merge branch 'master' of /var/git/opensim/ 2010-11-02 20:30:05 -07:00
opensim mirror account
379fc60c06 Merge branch 'master' of /var/git/opensim/ 2010-11-02 20:00:06 -07:00
Melanie
6c3b7617b0 Add lsClearWindlightScene() to the lightshare module to remove WL settings
from a region and allow normal day cycles to be reestablished
2010-11-03 02:31:43 +00:00
opensim mirror account
c830f85fed Merge branch 'master' of /var/git/opensim/ 2010-11-02 19:10:04 -07:00
Melanie
4ab9d37a8e When LightShare is enabled, the standard day cycle is bypassed and replaced by
midday defaults when no specific LightShare profile is set.
This prevents LightShare info being send out when the region has no LightShare
profile, allowing normal day/night cycles to happen.
2010-11-03 02:04:17 +00:00
opensim mirror account
50a3bf6e14 Merge branch 'master' of /var/git/opensim/ 2010-11-02 18:40:03 -07:00
Melanie
c25f84e31c Change the default of the new bind_ip_address RemoteAdmin option to 0.0.0.0
so it reflects the prior default. We are not in the habot of changing default
behavior without good reason and making localhost the default would break
most current use cases.
2010-11-03 01:13:01 +00:00
Melanie
e76980bc49 Fix config items. Less used / expert items go in OpenSimDefaults.ini
The default shown is always the hardcoded default
2010-11-03 01:12:52 +00:00
mores
1f77f05f02 Admin Server can now bind to a private ip address
Signed-off-by: Melanie <melanie@t-data.com>
2010-11-03 01:12:48 +00:00
opensim mirror account
87d56ec6ad Merge branch 'master' of /var/git/opensim/ 2010-11-02 18:00:07 -07:00
Melanie
57eabe9d46 Actually calculate the height before setting it, this isn't done automatically
on incoming transfers in all cases.
2010-11-03 00:47:22 +00:00
opensim mirror account
732fdbff2a Merge branch 'master' of /var/git/opensim/ 2010-11-02 17:40:04 -07:00
Melanie
7d551e27ca Trying to prevent a wrong physical actor size 2010-11-03 00:01:47 +00:00
Melanie
d555c373d8 Fix avatar height management 2010-11-02 23:39:45 +00:00
opensim mirror account
dabc51299c Merge branch 'master' of /var/git/opensim/ 2010-11-02 15:40:05 -07:00
opensim mirror account
2dc6c007c2 Merge branch 'master' of /var/git/opensim/ 2010-11-02 15:30:08 -07:00
Melanie
43ac44b028 Fix default club feet 2010-11-02 21:41:27 +00:00
Melanie
5eeabb8b4b Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-02 21:29:02 +00:00
Melanie
78a0ed3ff9 Fix sitting and standing up 2010-11-02 21:28:24 +00:00
opensim mirror account
57632db62e Merge branch 'master' of /var/git/opensim/ 2010-11-02 14:20:03 -07:00
Marck
4fdab71c8d Add support for cross-domain AJAX requests to REST console.
Enables RemoteConsole to add the appropriate HTTP header when responding to requests that use Cross-Origin Resource Sharing (CORS with simple requests). The allowed origin is set with configuration option "ConsoleAllowedOrigin" in section [Network]. For a suggestion to make this configuration option more flexible, see the TODO comment in the source code.

The WifiConsole uses this functionality with grid mode.
2010-11-02 14:12:25 -07:00
Marck
4d1f0c5348 Support for CORS with simple requests in BaseHttpServer 2010-11-02 14:11:49 -07:00
opensim mirror account
cf6ae44c0a Merge branch 'master' of /var/git/opensim/ 2010-11-02 14:00:08 -07:00
Melanie
e327e990f5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-11-02 19:55:27 +00:00
Melanie
63ffdcf53a Try to not make avatars switch outfits 2010-11-02 19:55:05 +00:00
opensim mirror account
c77e2c8830 Merge branch 'master' of /var/git/opensim/ 2010-11-02 12:10:07 -07:00
Diva Canto
9f5ab3b965 Old deserialization can't deal with commas in flag fields. Making use of -version option on save oar command. Bumped archives version to 0.5; version < 0.5 generates flag fields without commas. Everything else is identical. 2010-11-02 12:05:24 -07:00
opensim mirror account
f7b05a5760 Merge branch 'master' of /var/git/opensim/ 2010-11-02 02:40:06 -07:00
dahlia
ed7959ddfb Thanks Snoopy for a patch that addresses Mantis #0005165: osSetDynamicTextureURL crashed region server
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-11-02 02:35:56 -07:00
opensim mirror account
07817abc28 Merge branch 'master' of /var/git/opensim/ 2010-11-01 08:20:06 -07:00
Marck
2bce1716af Fix HypergridLinker.Check4096()
Make the optimization with IEnumerable.Except() in Check4096 actually work by providing an appropriate equality definition for GridRegion objects.
2010-11-01 08:01:31 -07:00
Jonathan Freedman
12d61d1ef5 Merge branch 'master' into mantis5110 2010-10-31 20:50:39 -04:00
opensim mirror account
c8d96f2f6a Merge branch 'master' of /var/git/opensim/ 2010-10-31 12:20:07 -07:00
Diva Canto
f15f0ab59b Removed a couple of very verbose debug messages. 2010-10-31 12:11:30 -07:00
Jonathan Freedman
0a56cfbfd5 * better semantics for link-region command
* actually parse name for new link-region command
2010-10-30 22:51:52 -04:00
Jonathan Freedman
95a0ea78f9 Merge branch 'master' into mantis5110 2010-10-30 18:28:07 -04:00
opensim mirror account
e6a050f79e Merge branch 'master' of /var/git/opensim/ 2010-10-30 12:40:03 -07:00
Diva Canto
48f6d47744 Fixed: ToAvatarAppearance wasn't retrieving the AvatarHeight. 2010-10-30 12:30:03 -07:00
opensim mirror account
0ae4774ce5 Merge branch 'master' of /var/git/opensim/ 2010-10-30 12:10:13 -07:00
Melanie
623cee1ffc Move physics actor creation to after SetHeight to try and prevent
bowlegginess. Didn't work but is better this way anyway.
2010-10-30 19:17:52 +01:00
Jonathan Freedman
96a29c43b0 Merge branch 'master' into mantis5110 2010-10-30 14:11:02 -04:00
Jonathan Freedman
e371d3208c Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
2010-10-30 14:10:13 -04:00
Melanie
e98d8d500f Fix logins and avatar appearance. Contains a Migration. May contain nuts.
This will cause visual params to be persisted along with worn items. With
this, alpha and tattoo laters will be saved. Multiple layers MAY work, but
not tested because I don't use Viewer 2.
2010-10-30 19:06:47 +01:00
opensim mirror account
574bc590a2 Merge branch 'master' of /var/git/opensim/ 2010-10-29 23:30:05 -07:00
Teravus Ovares (Dan Olivares)
09bf9d5fca * AbsolutePosition.Get{} returns incorrect result for child prim so switch to using prim.GetWorldPosition() in the warp renderer. 2010-10-30 02:26:48 -04:00
opensim mirror account
6d52c42de2 Merge branch 'master' of /var/git/opensim/ 2010-10-29 23:10:04 -07:00
Teravus Ovares (Dan Olivares)
37e6de5ace Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-30 02:07:27 -04:00
Teravus Ovares (Dan Olivares)
4a24bf74d9 * Thank you lkalif for fixing the {array[array[]]} json OSD serialization issue.
* This is libOMV SVN revision 3463.
2010-10-30 02:06:43 -04:00
Jonathan Freedman
9e7d3e0f25 Merge branch 'master' into mantis5110 2010-10-29 23:59:16 -04:00
Jonathan Freedman
c8d65c359f Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-10-29 23:58:14 -04:00
Jonathan Freedman
594f23ff22 Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Services/GridService/HypergridLinker.cs
2010-10-29 23:46:53 -04:00
opensim mirror account
e6f7d312dd Merge branch 'master' of /var/git/opensim/ 2010-10-29 20:30:07 -07:00
Jonathan Freedman
d219317074 Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-10-29 23:12:51 -04:00
opensim mirror account
e6a7b66b08 Merge branch 'master' of /var/git/opensim/ 2010-10-29 19:50:06 -07:00
Melanie
d0895a4a3a On first login, Ruth is back now. Strangely, inventory items are created for
tattoo and alpha layers. Any change of appearance in the sim makes the green
gnome reappear on next login. Progress of sorts.
2010-10-30 03:28:59 +01:00
opensim mirror account
dcd5cf6bde Merge branch 'master' of /var/git/opensim/ 2010-10-29 19:20:06 -07:00
opensim mirror account
9beefc4ea9 Merge branch 'master' of /var/git/opensim/ 2010-10-29 19:10:04 -07:00
Justin Clark-Casey (justincc)
f9227977f8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-30 03:07:45 +01:00
Justin Clark-Casey (justincc)
45220a6954 minor: remove some old commented out code 2010-10-30 03:01:40 +01:00
Marck
63bdfb1e28 Clarify comment for configuration option Check4096 and show the default value. 2010-10-30 03:01:27 +01:00
Melanie
adef6b04cb Logins work now, but avatars are green ugly gnomes. 2010-10-30 02:52:59 +01:00
Melanie
ba6f651b06 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 02:26:18 +01:00
Melanie
ff7da2082d This commit fixes all the appearance related null refs. Still can't log in,
client displays a blank error box.
2010-10-30 02:25:25 +01:00
opensim mirror account
f8471de004 Merge branch 'master' of /var/git/opensim/ 2010-10-29 17:50:04 -07:00
opensim mirror account
7df180c18e Merge branch 'master' of /var/git/opensim/ 2010-10-29 17:40:03 -07:00
Justin Clark-Casey (justincc)
343c894658 Set async_packet_handling = true by default
Setting this to true avoids a 500ms or so client freeze when the LLUDP server thread is taken up with processing a UseCircuitCode packet synchronously.
Extensive testing on Wright Plaza appeared to show no bad effects and this seems to reduce login lag considerably.
Of course, a lot of login lag is still coming from other sources.
2010-10-30 01:35:12 +01:00
Justin Clark-Casey (justincc)
ade71c9ed7 Change level of some logging messages, turning some info into arguably more appropriate debug to reduce console spam when log level is info 2010-10-30 01:32:56 +01:00
Melanie
46362cd1c0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 00:56:58 +01:00
Melanie
7503c4ad61 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 00:56:42 +01:00
Melanie
818ed2032a READ CAREFULLY!!! This is a BROKEN commit. It is UNTESTED and INCOMPLETE.
It contains a major interface version bump and will NOT work with earlier grid
services. This is preliminary work that will lead to layers support.
Rest appearance services are commented out completely, they will have to be
adapted by someone who actually uses them. Remote admin is working, but has
no layers support. There is no layers support in the database. Login likely
won't work. You have been warned.
2010-10-30 00:41:36 +01:00
opensim mirror account
ae12bcc43c Merge branch 'master' of /var/git/opensim/ 2010-10-29 16:00:05 -07:00
Justin Clark-Casey (justincc)
09705514ff tweak a few more scene presence logging messages for consistency 2010-10-29 23:52:25 +01:00
opensim mirror account
f6b88d6208 Merge branch 'master' of /var/git/opensim/ 2010-10-29 15:50:06 -07:00
Justin Clark-Casey (justincc)
e66ec432af Rationalize the logging messages from the merged appearance branch, commenting out most of them as per Mic 2010-10-29 23:45:10 +01:00
opensim mirror account
45c6ce65f5 Merge branch 'master' of /var/git/opensim/ 2010-10-29 15:20:04 -07:00
Justin Clark-Casey (justincc)
abcde41c0d Merge branch 'justincc-dev' 2010-10-29 23:15:35 +01:00
Justin Clark-Casey (justincc)
25e19ba7e9 add timing report to CompleteScenePresence for diagnostic purposes 2010-10-29 23:03:11 +01:00
opensim mirror account
4a56ea8d88 Merge branch 'master' of /var/git/opensim/ 2010-10-29 14:10:10 -07:00
opensim mirror account
8d002c4553 Merge branch 'master' of /var/git/opensim/ 2010-10-29 14:00:07 -07:00
Justin Clark-Casey (justincc)
bcd784b316 for now, comment out some older or redundant log debug lines to make diagnostics easier 2010-10-29 21:49:26 +01:00
opensim mirror account
8acf8eb481 Merge branch 'master' of /var/git/opensim/ 2010-10-29 13:40:07 -07:00
Justin Clark-Casey (justincc)
f19816aeb9 Add number of ms it takes to complete UseCircuitCode packet handling to log for diagnostics 2010-10-29 21:38:26 +01:00
opensim mirror account
8d8a795b28 Merge branch 'master' of /var/git/opensim/ 2010-10-29 13:20:04 -07:00
Melanie
4f39329d6f Rename the new default texture to be consistent with the others 2010-10-29 21:10:19 +01:00
Melanie
32e5bee3a7 Add a default alpha layer 2010-10-29 21:09:31 +01:00
Melanie
934e536738 Merge commit 'cmickeyb/dev-appearance' 2010-10-29 21:06:46 +01:00
Master ScienceSim
49fa7e91b9 Clean up some cruft from the last commit. Re-add the initial update
send in the scene presence constructor... need to figure this out
later.
2010-10-29 13:45:59 -07:00
Master ScienceSim
f5c9a56c8b Bunch of fixes that reduce the number of times appearance
and avatar data are sent. And the number of times they
are stored.
2010-10-29 13:43:35 -07:00
Melanie
5f4badf9e2 Add my work on top of cmickeyb's 2010-10-29 20:44:29 +01:00
Melanie
05d2302c62 Merge branch 'dev-appearance' 2010-10-29 20:24:14 +01:00
Melanie
e6fe83cd93 Revert "Preliminary work on appearance layers. No user functionality yet."
This work conflicts with cmickeyb's more extensive, related work

This reverts commit 9c829c0410.
2010-10-29 20:17:59 +01:00
opensim mirror account
448b83b105 Merge branch 'master' of /var/git/opensim/ 2010-10-29 11:50:10 -07:00
Melanie
9c829c0410 Preliminary work on appearance layers. No user functionality yet. 2010-10-29 18:58:22 +01:00
opensim mirror account
8b867ba23e Merge branch 'master' of /var/git/opensim/ 2010-10-28 17:40:06 -07:00
Marck
7b0d643999 HypergridLinker optimizations and enable use of owner_uuid/EstateOwner with linked regions.
* Added check for already occupied region coordinates.
* Optimized Check4096.
2010-10-28 17:21:17 -07:00
Master ScienceSim
68666efd25 Configuration of persistent baked textures and save/send delays. 2010-10-28 12:00:04 -07:00
Master ScienceSim
f2c1d0e34f Merge branch 'opensim-master' into dev-appearance 2010-10-28 09:09:42 -07:00
Master ScienceSim
0f28fa400d Added background thread to handle delayed send and save of appearance
to accommodate batching of the many updates that happen on login
and teleport.

Fixed handling of the serial property in appearance.
2010-10-28 09:00:39 -07:00
opensim mirror account
71d9fac757 Merge branch 'master' of /var/git/opensim/ 2010-10-27 21:40:03 -07:00
Jeff Ames
727838f914 Formatting cleanup. 2010-10-28 00:37:32 -04:00
opensim mirror account
0269ec6af0 Merge branch 'master' of /var/git/opensim/ 2010-10-27 13:40:10 -07:00
Melanie
1fcac7203d Prevent nullrefs in scene object deletion. Mantis #5156 2010-10-27 20:47:27 +01:00
opensim mirror account
6f297a50cb Merge branch 'master' of /var/git/opensim/ 2010-10-26 21:30:05 -07:00
dahlia
a4e95c0717 Merge branch 'master' of ssh://MyConnection01/var/git/opensim 2010-10-26 21:20:18 -07:00
dahlia
5968d343bb Overload Scene.NewUserConnection() to facilitate NPCs and other region specific applications 2010-10-26 21:19:33 -07:00
opensim mirror account
d6771ed4d5 Merge branch 'master' of /var/git/opensim/ 2010-10-26 21:10:12 -07:00
Jeff Ames
a331fd4e24 Formatting cleanup. 2010-10-27 00:01:03 -04:00
Master ScienceSim
9cfd3e1d5a Small cleanup and add more debugging information 2010-10-26 12:54:28 -07:00
Master ScienceSim
9132e251aa Made the check for texture assets asynchronous. This is one part of
a bigger clean up that needs to happen around locks on appearance.
2010-10-26 12:53:15 -07:00
Jonathan Freedman
5da2743c37 Merge branch 'master' into mantis5110 2010-10-25 22:27:35 -04:00
Master ScienceSim
6e58c3d563 Half of the compatibility is working. Login into a new region with
old data works. Teleport out of a new region with old data works.
Teleport into a new region with old data does not trigger the
necessary rebake.
2010-10-25 14:11:47 -07:00
Mic Bowman
657cceb884 Intermediate commit for backward compatability; does not compile yet 2010-10-25 09:42:28 -07:00
opensim mirror account
a2c0ee8da7 Merge branch 'master' of /var/git/opensim/ 2010-10-24 16:40:06 -07:00
Latif Khalifa
c74c1620a1 * Updated libomv to r3461
Main reason for upgrade is to revert API change that was introduced in order to support headerless binary LLSD decoding needed for deserialization of the mesh assets, which turned out to be unnecessary as we can transparently decode both kinds.
2010-10-24 23:51:46 +01:00
Jonathan Freedman
07db35697b Merge branch 'master' into mantis5110 2010-10-24 15:01:01 -04:00
Jonathan Freedman
ba9ef44506 Merge branch 'master' into mantis5110 2010-10-24 15:00:24 -04:00
Jonathan Freedman
6b9660eb96 Merge branch 'master' into mantis5110 2010-10-24 14:51:38 -04:00
opensim mirror account
17d3c76116 Merge branch 'master' of /var/git/opensim/ 2010-10-24 11:10:07 -07:00
Jonathan Freedman
3fe8fc3d51 * throw debug message when no HomeURI is set 2010-10-24 13:32:34 -04:00
Melanie
852c61aaa6 Add PRIM_NAME, PRIM_DESC and PRIM_ROT_LOCAL 2010-10-24 18:17:21 +01:00
opensim mirror account
c83453a69b Merge branch 'master' of /var/git/opensim/ 2010-10-23 20:40:07 -07:00
Diva Canto
627d1a42fe Added inner exception handling in Shape deserialization processing, so that the whole Shape processing returns a valid Shape object. 2010-10-23 20:39:41 -07:00
Jonathan Freedman
5ddb8b535e * a bit of additional debugging: 2010-10-23 00:18:19 -04:00
opensim mirror account
bf5cc32b5f Merge branch 'master' of /var/git/opensim/ 2010-10-22 16:00:06 -07:00
Justin Clark-Casey (justincc)
80f90229e5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-22 23:56:58 +01:00
Justin Clark-Casey (justincc)
fe8d3d5a2b Revert "Merge remote branch 'otakup0pe/mantis5110'"
This reverts commit 21187f459e, reversing
changes made to 8f34e46d74.
2010-10-22 23:52:07 +01:00
opensim mirror account
566b96a595 Merge branch 'master' of /var/git/opensim/ 2010-10-22 15:50:09 -07:00
opensim mirror account
cc411bf5f3 Merge branch 'master' of /var/git/opensim/ 2010-10-22 15:40:08 -07:00
Justin Clark-Casey (justincc)
21187f459e Merge remote branch 'otakup0pe/mantis5110' 2010-10-22 23:35:07 +01:00
Justin Clark-Casey (justincc)
8f34e46d74 Revert "* refactor refactor refactor ServerURI 4 lyfe"
This reverts commit 55974df14b.
2010-10-22 23:35:01 +01:00
Justin Clark-Casey (justincc)
783b1b548f Revert "* additional serveruri cleanup"
This reverts commit 19119d7705.
2010-10-22 23:34:53 +01:00
Jonathan Freedman
38e76d71ac Merge branch 'hg16' into mantis5110 2010-10-22 18:34:50 -04:00
Justin Clark-Casey (justincc)
a490b34b6e Revert "* more url / hg cleanup"
This reverts commit 58f75fa19d.
2010-10-22 23:34:44 +01:00
Justin Clark-Casey (justincc)
cddcb53b17 Revert "* remove some spurious debug info"
This reverts commit 017b83d0a3.
2010-10-22 23:34:37 +01:00
Justin Clark-Casey (justincc)
d58967be58 Fix llParcelMediaCommandList() so that it applies commands only to the parcel that the script is in, not all parcels.
Patch from http://opensimulator.org/mantis/view.php?id=2738
Thanks snoopy and fineman.
2010-10-22 18:33:59 -04:00
Justin Clark-Casey (justincc)
6d7ce63085 Allow OARs and IARs to save and load meshes.
Save and reload appears okay for the duck mesh at https://collada.org/owl/download.php?sess=0&parent=126&expand=1&order=name&curview=0&binary=1&id=698/
However, one attempt at trying to load a more complicated scene failed (errors on console, only triangles appearing in mesh viewer).
Not sure if this is really and OAR load problem.  Needs more investigation.
2010-10-22 18:33:55 -04:00
Justin Clark-Casey (justincc)
a7a8fdc7da print IAR version number on console when saving 2010-10-22 18:33:52 -04:00
Justin Clark-Casey (justincc)
bdd6857006 Implement guard against trying to load incompatible version IARs 2010-10-22 18:33:47 -04:00
Justin Clark-Casey (justincc)
607c07b4aa start parsing iar control file
This change requires a prebuild[.sh|.bat] since a System.Xml.Linq reference is added to prebuild.xml
2010-10-22 18:33:41 -04:00
Justin Clark-Casey (justincc)
772dbf59f3 slightly simplify oar control file loading code 2010-10-22 18:33:35 -04:00
Justin Clark-Casey (justincc)
460b9fffe5 write IAR control file first in the archive rather than last 2010-10-22 18:33:32 -04:00
Justin Clark-Casey (justincc)
e06acae965 Allow region modules to know which agents actually receive chat 2010-10-22 18:33:19 -04:00
AdelleF
481a44104e This fixes a delay in llSetLinkPrimitiveParamsFast
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-10-22 18:33:10 -04:00
Melanie
004b395d12 Make SImStatsReporter pick ObjectCapacity striaght out of region info 2010-10-22 18:27:49 -04:00
Melanie
170c5d183b Remove a bit of dead code relating to ObjectCapacity 2010-10-22 18:27:40 -04:00
Melanie
753137e9ad Fix the OOB error (#5102). Sorry, my bad. 2010-10-22 18:27:28 -04:00
Melanie
6049e548a5 Skip empty strings in ParseString* functions 2010-10-22 18:27:12 -04:00
Melanie
700f4ddea4 Change some exception to use ToString(). e.Message is not sufficient to fix
errors. Please don't use e.Message, devs NEED to see the dumps!
2010-10-22 22:55:07 +01:00
opensim mirror account
2ad4bfcffc Merge branch 'master' of /var/git/opensim/ 2010-10-22 13:40:05 -07:00
Justin Clark-Casey (justincc)
cfbaad3669 Fix llParcelMediaCommandList() so that it applies commands only to the parcel that the script is in, not all parcels.
Patch from http://opensimulator.org/mantis/view.php?id=2738
Thanks snoopy and fineman.
2010-10-22 21:28:10 +01:00
opensim mirror account
8dfa3960fa Merge branch 'master' of /var/git/opensim/ 2010-10-22 13:20:09 -07:00
Justin Clark-Casey (justincc)
1064e743be Allow OARs and IARs to save and load meshes.
Save and reload appears okay for the duck mesh at https://collada.org/owl/download.php?sess=0&parent=126&expand=1&order=name&curview=0&binary=1&id=698/
However, one attempt at trying to load a more complicated scene failed (errors on console, only triangles appearing in mesh viewer).
Not sure if this is really and OAR load problem.  Needs more investigation.
2010-10-22 21:12:22 +01:00
Justin Clark-Casey (justincc)
e6019dd6ac print IAR version number on console when saving 2010-10-22 19:34:06 +01:00
Justin Clark-Casey (justincc)
7f2d844916 Implement guard against trying to load incompatible version IARs 2010-10-22 19:30:15 +01:00
Justin Clark-Casey (justincc)
199b61f1b2 start parsing iar control file
This change requires a prebuild[.sh|.bat] since a System.Xml.Linq reference is added to prebuild.xml
2010-10-22 19:24:42 +01:00
Justin Clark-Casey (justincc)
a5bb7b8a30 slightly simplify oar control file loading code 2010-10-22 18:47:38 +01:00
Justin Clark-Casey (justincc)
bb28726a8b write IAR control file first in the archive rather than last 2010-10-22 18:39:40 +01:00
Jonathan Freedman
d4144bedb8 * change the data exchanged within hypergrid transactions 2010-10-21 23:22:15 -04:00
opensim mirror account
8ffea630f9 Merge branch 'master' of /var/git/opensim/ 2010-10-21 18:00:06 -07:00
Justin Clark-Casey (justincc)
e7f184345e minor: add some text to the oar abort messages on assets timeout to make it clear that the oar will not be usable 2010-10-22 01:52:19 +01:00
opensim mirror account
6f6b5c0a5e Merge branch 'master' of /var/git/opensim/ 2010-10-21 17:30:08 -07:00
Justin Clark-Casey (justincc)
62a0910355 Allow region modules to know which agents actually receive chat 2010-10-22 01:01:56 +01:00
Master ScienceSim
267f18925d First attempt to get multiple attachments working to support viewer2.
The attachment code appears to work correctly for 1.23 viewers so, in
spite of some big changes in the internal representation, there don't
appear to be regressions. That being said, I still can't get a viewer2
avatar to show correctly.
2010-10-21 16:48:58 -07:00
opensim mirror account
33589ba31b Merge branch 'master' of /var/git/opensim/ 2010-10-21 13:00:05 -07:00
AdelleF
529fb58b7b This fixes a delay in llSetLinkPrimitiveParamsFast
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-10-21 12:56:36 -07:00
opensim mirror account
27aac37c02 Merge branch 'master' of /var/git/opensim/ 2010-10-21 12:10:04 -07:00
Diva Canto
fe99f194ad Deleted a verbose and unneeded log message. 2010-10-21 12:00:30 -07:00
Melanie
08e14d653e Merge branch 'dev-appearance' of git://github.com/cmickeyb/opensim into dev-appearance 2010-10-21 17:09:42 +01:00
opensim mirror account
e62bef2e90 Merge branch 'master' of /var/git/opensim/ 2010-10-21 08:30:12 -07:00
Melanie
bb78f1c05a Make SImStatsReporter pick ObjectCapacity striaght out of region info 2010-10-21 15:36:32 +01:00
opensim mirror account
656b2f84a8 Merge branch 'master' of /var/git/opensim/ 2010-10-21 06:10:04 -07:00
Melanie
338e7481f9 Remove a bit of dead code relating to ObjectCapacity 2010-10-21 13:21:46 +01:00
opensim mirror account
bab7f99865 Merge branch 'master' of /var/git/opensim/ 2010-10-21 02:20:04 -07:00
Melanie
01bc4fc9da Fix the OOB error (#5102). Sorry, my bad. 2010-10-21 09:30:09 +01:00
opensim mirror account
6df87e5b3f Merge branch 'master' of /var/git/opensim/ 2010-10-21 00:10:03 -07:00
Melanie
1f7577b735 Skip empty strings in ParseString* functions 2010-10-21 07:19:10 +01:00
opensim mirror account
7a8aba0bc0 Merge branch 'master' of /var/git/opensim/ 2010-10-20 20:50:06 -07:00
dahlia
f8a47801ee Merge branch 'master' of ssh://MyConnection01/var/git/opensim 2010-10-20 20:43:08 -07:00
dahlia
9038218c2d fix combining of multiple physics submeshes 2010-10-20 20:39:05 -07:00
opensim mirror account
dfa654154c Merge branch 'master' of /var/git/opensim/ 2010-10-20 19:40:09 -07:00
Jonathan Freedman
017b83d0a3 * remove some spurious debug info
* The last 4 commits are a patch from otakup0pe that's supposed to make URLs better somehow in an effort to make it easier to do hypergrid (I think)..    But as it seems that I'm the only one who was able to apply the patch.. and I looked it over and it doesn't look like it breaks anything via the diffs..     I'll sign off on it.

Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-20 22:36:29 -04:00
Jonathan Freedman
58f75fa19d * more url / hg cleanup 2010-10-20 22:21:45 -04:00
Jonathan Freedman
19119d7705 * additional serveruri cleanup 2010-10-20 22:21:41 -04:00
Jonathan Freedman
55974df14b * refactor refactor refactor ServerURI 4 lyfe 2010-10-20 22:21:23 -04:00
Jonathan Freedman
335f2ddad2 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-20 20:26:37 -04:00
Master ScienceSim
b1c8d05888 Major refactoring of appearance handling.
AvatarService -- add two new methods, GetAppearance and SetAppearance
to get around the lossy encoding in AvatarData. Preseve the old
functions to avoid changing the behavior for ROBUST services.

AvatarAppearance -- major refactor, moved the various encoding
methods used by AgentCircuitData, ClientAgentUpdate and
ScenePresence into one location. Changed initialization.

AvatarAttachments -- added a class specifically to handle
attachments in preparation for additional functionality
that will be needed for viewer 2.

AvatarFactory -- removed a number of unused or methods duplicated
in other locations. Moved in all appearance event handling from
ScenePresence. Required a change to IClientAPI that propogated
throughout all the IClientAPI implementations.
2010-10-20 16:17:54 -07:00
Jonathan Freedman
94684a2251 * remove some spurious debug info 2010-10-20 02:36:59 -04:00
opensim mirror account
b2478b41c8 Merge branch 'master' of /var/git/opensim/ 2010-10-19 22:30:05 -07:00
Diva Canto
a7acb650d4 Deleted verbose debug messages that are bringing sims to an halt. Increased the user cache expiration period to 33 hours. 2010-10-19 22:26:07 -07:00
Teravus Ovares (Dan Olivares)
9f975ad5aa * One more goofy thing. I note that the sculpt texture id is broken out of the ExtraParams data in UploadObjectAsset. At this moment, if you're uploading a Sculpt, make sure to break out the Texture ID into the object data or it might not get applied appropriately. 2010-10-20 01:23:54 -04:00
opensim mirror account
436816276b Merge branch 'master' of /var/git/opensim/ 2010-10-19 21:50:06 -07:00
Jonathan Freedman
087cb951e2 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-20 00:43:29 -04:00
Teravus Ovares (Dan Olivares)
edce4e9c67 * This removes an ugly extraparams hack that I used and makes UploadObjectAsset into a generic linkset upload tool. 2010-10-20 00:40:05 -04:00
opensim mirror account
d54b25baaa Merge branch 'master' of /var/git/opensim/ 2010-10-19 15:20:04 -07:00
Diva Canto
8731c2be11 It looks like Vector3s also got written down in lower case at some point in time. Added code to account for that.
17:45:59 - [SceneObjectSerializer]: exception while parsing SitTargetPosition: System.Xml.XmlException: Expecting X tag from namespace , got x and  instead  Line 1, position 2838.
2010-10-19 15:16:29 -07:00
opensim mirror account
d95982137a Merge branch 'master' of /var/git/opensim/ 2010-10-19 15:10:03 -07:00
Diva Canto
8acac3d07f Another take related to the previous commit. 2010-10-19 15:07:15 -07:00
opensim mirror account
5110366baf Merge branch 'master' of /var/git/opensim/ 2010-10-19 14:40:08 -07:00
Diva Canto
3b2d9a9939 Added code to quaternion deserialization to try to cope with an exception seen in Wright Plaza related to SitTargetOrientation.
17:23:05 - [SceneObjectSerializer]: exception while parsing SitTargetOrientation: System.Xml.XmlException: Expecting X tag from namespace , got w and  instead  Line 1, position 30064.
2010-10-19 14:37:03 -07:00
opensim mirror account
134eaf67bf Merge branch 'master' of /var/git/opensim/ 2010-10-19 00:10:03 -07:00
Diva Canto
684449f783 Added TextureAnimation and ParticleSystem to serialization. 2010-10-19 00:04:02 -07:00
opensim mirror account
4eb05dabf4 Merge branch 'master' of /var/git/opensim/ 2010-10-18 23:00:07 -07:00
Teravus Ovares (Dan Olivares)
b2c1a1c9bd * This concludes UploadObjectAsset for now until the permissions and physics shape are added to the message serialization.
* You should now be able to upload multiple mesh collada mesh objects.  They should appear in front of you (or on top of you!) when you upload them.
* Once again, thanks to John Hurliman and Latif Khalifa for insight and smxy for cheering me on :D
2010-10-19 01:53:56 -04:00
opensim mirror account
8d38c4593e Merge branch 'master' of /var/git/opensim/ 2010-10-18 20:50:03 -07:00
Teravus Ovares (Dan Olivares)
158e43d4fd * Almost complete implementation of UploadObjectAsset cap. all meshes get uploaded but they're improperly positioned/oriented at the moment. 2010-10-18 23:47:35 -04:00
Jonathan Freedman
12128f1917 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-18 23:00:48 -04:00
opensim mirror account
a2475a7b8c Merge branch 'master' of /var/git/opensim/ 2010-10-18 18:30:05 -07:00
Justin Clark-Casey (justincc)
e561070d3f Add 'contributors' notice for zlib.net.dll to keep track of its origin and version. Dahlia, please correct the details if they're wrong. 2010-10-19 02:28:10 +01:00
Justin Clark-Casey (justincc)
37a6be7ca9 Stop the InventoryTransferModule logging every IM notification it receives, even if they are nothing to do with it. 2010-10-19 02:20:47 +01:00
opensim mirror account
929321de57 Merge branch 'master' of /var/git/opensim/ 2010-10-18 18:20:03 -07:00
Justin Clark-Casey (justincc)
5dd372edc4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-19 02:12:36 +01:00
opensim mirror account
f6eaa1e6af Merge branch 'master' of /var/git/opensim/ 2010-10-18 18:10:03 -07:00
Justin Clark-Casey (justincc)
99388ce610 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-10-19 02:08:50 +01:00
Justin Clark-Casey (justincc)
478b44f231 Pass in requesting agent ID when GetGroupMembers is called in the XMLRPC groups module
This allows the groups xmlrpc server to act appropriately if the requesting agent has permission to see all group members
Not sure why this wasn't being done before...
2010-10-19 02:04:23 +01:00
Justin Clark-Casey (justincc)
b9bef50852 Display more information when xmlrpcgroupsserver comms fails
Improve debugging messages
2010-10-19 02:04:14 +01:00
opensim mirror account
963b129389 Merge branch 'master' of /var/git/opensim/ 2010-10-18 17:40:03 -07:00
Melanie
43a4b7b735 COmmented the wrong line instead, now I commented them all to be on the safe side 2010-10-19 01:23:25 +01:00
Melanie
5b29b975ee Comment a spammy debug message in the serializer 2010-10-19 00:51:04 +01:00
opensim mirror account
48127ba943 Merge branch 'master' of /var/git/opensim/ 2010-10-18 15:50:04 -07:00
Melanie
7de30cc57b Change substring matching to prefix matching in region search. This affects
both map and login, as they use the same method.
2010-10-18 22:59:00 +01:00
opensim mirror account
da29a1a1a1 Merge branch 'master' of /var/git/opensim/ 2010-10-18 13:20:03 -07:00
Melanie
551015db63 Alphabetize results on region search by prefix matching 2010-10-18 20:29:00 +01:00
opensim mirror account
bc6a9cf8ba Merge branch 'master' of /var/git/opensim/ 2010-10-18 12:00:10 -07:00
Melanie
e48ac93803 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-18 19:08:55 +01:00
Melanie
2be93066da Bump migration version on LastSeen field so it is actually run 2010-10-18 19:08:26 +01:00
opensim mirror account
c48b051c71 Merge branch 'master' of /var/git/opensim/ 2010-10-18 04:30:07 -07:00
dahlia
e3bd10829f remove some cruft from last commit 2010-10-18 04:26:23 -07:00
opensim mirror account
c524c0e375 Merge branch 'master' of /var/git/opensim/ 2010-10-18 04:20:05 -07:00
dahlia
7fa3335fd5 initial support for meshies physics. Must set ini option UseMeshiesPhysicsMesh = true to enable. See file OpenSimDefaults.ini for example. 2010-10-18 04:17:36 -07:00
Jonathan Freedman
4e4fb93fae Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-17 18:45:25 -04:00
opensim mirror account
e37566b4fb Merge branch 'master' of /var/git/opensim/ 2010-10-17 10:50:07 -07:00
Diva Canto
6df4ca7de1 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-17 10:42:04 -07:00
Diva Canto
7038f2b406 Deleted all [XmlIgnore] from SOP, since those are meaningless now. 2010-10-17 10:41:38 -07:00
Diva Canto
22eff055d4 .NET automagical serialization of SOPs replaced by manual serialization across the board. 2010-10-17 10:35:38 -07:00
opensim mirror account
fa7d2f6538 Merge branch 'master' of /var/git/opensim/ 2010-10-17 02:40:07 -07:00
BlueWall
06b61b68c7 Adding osFunctions for light projection
Set the projection parameters in the host prim ...
	osSetProjectionParam(bool Enabled,
				key TextureMaskUUID,
				float FOV,
				float Focus,
				float Ambiance);

	Set the projection parameters in a target prim ...
	osSetProjectionParam(ikey target uuid,
				bool Enabled,
				key TextureMaskUUID,
				float FOV,
				float Focus,
				float Ambiance);

	Threat Level very high

Signed-off-by: Melanie <melanie@t-data.com>
2010-10-17 09:52:12 +01:00
opensim mirror account
89b236d17d Merge branch 'master' of /var/git/opensim/ 2010-10-16 18:50:03 -07:00
Teravus Ovares (Dan Olivares)
551d927ed5 typical non-effectual build trigger 2010-10-16 21:48:15 -04:00
opensim mirror account
f90b2ef918 Merge branch 'master' of /var/git/opensim/ 2010-10-16 18:00:09 -07:00
BlueWall
9e421868e3 Add missing check for !_projectionEntry
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-16 20:59:18 -04:00
opensim mirror account
4c0bbc8661 Merge branch 'master' of /var/git/opensim/ 2010-10-15 23:30:04 -07:00
Justin Clark-Casey (justincc)
06d37d06e6 Drop max oar loading version back to 0 from 1 2010-10-16 07:25:55 +01:00
opensim mirror account
6998f9268b Merge branch 'master' of /var/git/opensim/ 2010-10-15 23:20:03 -07:00
Justin Clark-Casey (justincc)
edc31adf95 Rip out version option since it turns out that the changed object serialization format can actually be loaded by older OpenSims after all
This bumps the OAR version to 0.4 instead, signalling some change but with backwards compatability... for now.
2010-10-16 07:09:13 +01:00
opensim mirror account
907c576c00 Merge branch 'master' of /var/git/opensim/ 2010-10-15 21:40:03 -07:00
Justin Clark-Casey (justincc)
e41b23a1a4 change --old-guids switch on the save oar command line to --version=<x>
if x is 0, then an old version 0.3 archive is saved.  If it is anything else or missing, then a version 1.0 archive is saved
version 1.0 archives cannot be loaded on OpenSim 0.7.0.2 and earlier
also add various informational notices about what version we've saving/loading
2010-10-16 05:38:44 +01:00
opensim mirror account
4f6badca04 Merge branch 'master' of /var/git/opensim/ 2010-10-15 21:10:02 -07:00
Justin Clark-Casey (justincc)
3df8d8ff76 Have OpenSim throw a strop if it tries to load an OAR with a major version that is too high for it to handle 2010-10-16 04:59:51 +01:00
opensim mirror account
e2c04e15b9 Merge branch 'master' of /var/git/opensim/ 2010-10-15 20:00:08 -07:00
Justin Clark-Casey (justincc)
1bd4219078 save oar control file first rather than in the middle so that it's the first thing we come accross on load
this exposes a weekness with using tar where we don't control the order in which files are loaded.  can't be helped for now
2010-10-16 03:52:11 +01:00
opensim mirror account
2a2bb5ebf1 Merge branch 'master' of /var/git/opensim/ 2010-10-15 18:40:03 -07:00
Justin Clark-Casey (justincc)
fe4e6ff811 Fix test break - TestSerializeXml2() still requires old-guids option 2010-10-16 02:38:46 +01:00
opensim mirror account
06b17841e2 Merge branch 'master' of /var/git/opensim/ 2010-10-15 17:30:05 -07:00
Diva Canto
1499607215 Made OARs use the new serialization procedure. (TPs/crossings still on the old one) Added an options argument down the pipeline. For the time being it takes --old-guids as an option to produce <Guid> instead of <UUID>. 2010-10-15 17:27:19 -07:00
opensim mirror account
1341ad1c91 Merge branch 'master' of /var/git/opensim/ 2010-10-15 15:50:04 -07:00
Diva Canto
e039a8c8c2 UPdated the MySql driver to 6.2.4. Also established a much larger MySqlCommand timeout on fetching prims. 2010-10-15 15:43:06 -07:00
opensim mirror account
d99d7e2f63 Merge branch 'master' of /var/git/opensim/ 2010-10-15 06:50:07 -07:00
BlueWall
dd1058e6b3 Adding projected light filters to prim propeties
Requires the LL Mesh Beta viewer
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-15 09:46:49 -04:00
opensim mirror account
bec522cc09 Merge branch 'master' of /var/git/opensim/ 2010-10-14 23:00:04 -07:00
Latif Khalifa
cd4d7a7c35 A couple of more ways attachment point is sent
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-15 01:56:08 -04:00
opensim mirror account
44b163bba7 Merge branch 'master' of /var/git/opensim/ 2010-10-14 22:50:03 -07:00
Teravus Ovares (Dan Olivares)
de696a2fc6 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-15 01:46:00 -04:00
Teravus Ovares (Dan Olivares)
0308982c58 one more silly line ending thing.... *If you have problems, fetch the tree and rebase.
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-15 01:45:25 -04:00
opensim mirror account
28a45a7914 Merge branch 'master' of /var/git/opensim/ 2010-10-14 20:40:09 -07:00
Teravus Ovares (Dan Olivares)
657ff01212 one more silly line ending thing....
*If you have problems, fetch the tree and rebase.
2010-10-14 23:32:33 -04:00
opensim mirror account
19fdfc1a97 Merge branch 'master' of /var/git/opensim/ 2010-10-14 20:30:04 -07:00
dahlia
bcdd03c1cf more work in progress on mesh physics - still non-functional 2010-10-14 20:25:31 -07:00
opensim mirror account
49b4281ac6 Merge branch 'master' of /var/git/opensim/ 2010-10-14 18:30:05 -07:00
Latif Khalifa
b4c54765d2 libomv update to support headerless llsd binary deserialization needed for mesh asset decoding
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-14 21:26:26 -04:00
opensim mirror account
ad5e6da4df Merge branch 'master' of /var/git/opensim/ 2010-10-14 13:20:04 -07:00
dahlia
2d88394cd5 laying some groundwork for mesh physics 2010-10-14 13:10:03 -07:00
opensim mirror account
cb2c1d794c Merge branch 'master' of /var/git/opensim/ 2010-10-14 09:30:05 -07:00
Teravus Ovares (Dan Olivares)
486eede9be Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-14 12:24:07 -04:00
Teravus Ovares (Dan Olivares)
c148ef25a9 * Replacing Magic numbers with Enums 2010-10-14 12:23:41 -04:00
opensim mirror account
8f16d65896 Merge branch 'master' of /var/git/opensim/ 2010-10-14 09:20:04 -07:00
opensim mirror account
5dc8638d8b Merge branch 'master' of /var/git/opensim/ 2010-10-14 09:10:02 -07:00
Diva Canto
41ce392d9b Added manual xml2 serialization. Rewired only save xml2, not oars yet. Seems to be generating xml's that are successfully parsed. Needs more testing. 2010-10-14 09:05:46 -07:00
Latif Khalifa
405935492b Don't distroy attachments when using viewer 2.1+, strip multiple attachment data 2010-10-14 16:28:51 +01:00
Melanie
ba247f729d Kill some magic numbers in the mesh upload module and change the mesh asset
type from 45 to 49 to match OMV trunk
2010-10-14 16:28:51 +01:00
opensim mirror account
64a41f67c5 Merge branch 'master' of /var/git/opensim/ 2010-10-14 07:20:09 -07:00
Teravus Ovares (Dan Olivares)
3cb716d291 Merge branch 'master' of ssh://MyConnection/var/git/opensim
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2010-10-14 10:12:57 -04:00
opensim mirror account
a3eeca174e Merge branch 'master' of /var/git/opensim/ 2010-10-14 07:00:06 -07:00
Teravus Ovares (Dan Olivares)
05c4e27a30 * A few additional cleanup elements
* At this point, I want to make sure to thank the fabulous developers of the LibOpenMetaverse library for tirelessly keeping things updated and hammering away at the protocols and providing excellent tools to figure out where things go wrong.
* Special thanks to John Hurliman and Latif Khalifa for their valuable insight.
2010-10-14 09:57:42 -04:00
Latif Khalifa
69dbfe2a69 Updated to libomv-opensim r3449 2010-10-14 15:46:36 +02:00
opensim mirror account
88959e045b Merge branch 'master' of /var/git/opensim/ 2010-10-14 06:40:25 -07:00
Teravus Ovares (Dan Olivares)
6d99f0c627 * Whoops, That was supposed to use the HTTP VERB 'GET' not 'POST'
* At this point.   Visually, Mesh works OK.   Remember peeps, this is still highly experimental from the viewer side as well as the Simulator side.   There are known problems with the new beta viewers and attachment breaking so be careful until that's fixed.    Additionally there some new properties in the Mesh Viewer that determine physics settings that are non-functional.   More work will be done on that.
2010-10-14 09:34:37 -04:00
opensim mirror account
5af10a61e4 Merge branch 'master' of /var/git/opensim/ 2010-10-14 06:30:13 -07:00
Teravus Ovares (Dan Olivares)
7e363b79c7 * Tweaked the upload response and now at least uploading the mesh works.
* Binary error on downloading the mesh though..   so still not yet working.
2010-10-14 09:24:15 -04:00
opensim mirror account
b75dfdd151 Merge branch 'master' of /var/git/opensim/ 2010-10-14 00:30:06 -07:00
Teravus Ovares (Dan Olivares)
9c5f8a6802 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-14 03:23:37 -04:00
Teravus Ovares (Dan Olivares)
b4a5ce148c Rename file + more testing and tweaking 2010-10-14 03:22:44 -04:00
opensim mirror account
84fc9e003f Merge branch 'master' of /var/git/opensim/ 2010-10-14 00:20:04 -07:00
opensim mirror account
eb606559e7 Merge branch 'master' of /var/git/opensim/ 2010-10-13 23:30:06 -07:00
Melanie
6ac6ca057d Kill some magic numbers in the caps module 2010-10-14 07:28:20 +01:00
Teravus Ovares (Dan Olivares)
3384f643eb * Partially complete stuff for Mesh support that Melanie wanted to see before it was done.
* Shouldn't break the build.
* Doesn't work yet either.
2010-10-14 02:19:42 -04:00
opensim mirror account
2f582500ce Merge branch 'master' of /var/git/opensim/ 2010-10-13 17:40:06 -07:00
Teravus Ovares (Dan Olivares)
46738bbd16 Merge branch 'master' of ssh://MyConnection/var/git/opensim
Conflicts:
	bin/OpenSimDefaults.ini
2010-10-13 20:29:55 -04:00
Teravus Ovares (Dan Olivares)
1a57c65810 * Normalizing endlines so git stops complaining about them being inconsistent.
* People will hate me for updating OpenSimDefaults..   but meh.   Gotta be done or git is unhappy.
2010-10-13 20:26:46 -04:00
opensim mirror account
b44c894ba1 Merge branch 'master' of /var/git/opensim/ 2010-10-13 15:50:03 -07:00
Diva Canto
45e0cdfcad Added SOP.MediaUrl and Shape.Media to the deserialization 2010-10-13 15:44:25 -07:00
opensim mirror account
6e37e55063 Merge branch 'master' of /var/git/opensim/ 2010-10-13 14:20:03 -07:00
Justin Clark-Casey (justincc)
aa60c4b129 fix build break 2010-10-13 22:18:57 +01:00
opensim mirror account
cc8498a31a Merge branch 'master' of /var/git/opensim/ 2010-10-13 11:30:07 -07:00
Melanie
eeac2a9e6a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-13 18:41:52 +01:00
Melanie Thielker
ccd5610997 Correctly update the LastSeen field 2010-10-13 18:41:09 +01:00
Melanie Thielker
01728fb19e Ensure no UUID.Zero region ID is ever written to presence. Add a Migration
to add a LastSeen field of type "Timestamp" to Presence for MySQL
2010-10-13 18:40:33 +01:00
opensim mirror account
12c0a05ae7 Merge branch 'master' of /var/git/opensim/ 2010-10-13 10:40:04 -07:00
Diva Canto
d7c9bc3b1c Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-13 10:39:01 -07:00
Diva Canto
d890390ecf Comment a debug message so that it doesn't spew the console upon encountering unknown xml elements. 2010-10-13 10:38:34 -07:00
opensim mirror account
e96621b27f Merge branch 'master' of /var/git/opensim/ 2010-10-13 10:00:08 -07:00
Teravus Ovares (Dan Olivares)
a132edbdae Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-10-13 12:42:02 -04:00
Teravus Ovares (Dan Olivares)
14a0f4fe9b *typical non-effectual commit to trigger a build 2010-10-13 12:40:21 -04:00
Melanie
b4c718f93b Remove carriage returns from OpenSimDefaults.ini. Correct one typo. Change
.ini.example ";;" format to normal ini format, since the defaults file
is not parsed that way.
2010-10-13 17:07:13 +01:00
opensim mirror account
e863c0052b Merge branch 'master' of /var/git/opensim/ 2010-10-13 08:20:07 -07:00
Diva Canto
54a3b8e079 New SOG/SOP parser using XmlTextReader + delegates dictionary. Active for load oar and load xml2, but not for packing objects on crossings/TPs yet. 2010-10-13 08:16:41 -07:00
Jonathan Freedman
a2167b0f0d * more url / hg cleanup 2010-10-11 16:53:00 -04:00
Jonathan Freedman
2654ab6300 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-10 18:06:27 -04:00
opensim mirror account
873e551bb3 Merge branch 'master' of /var/git/opensim/ 2010-10-10 15:00:12 -07:00
Melanie
30f926aab6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-10 22:07:51 +01:00
Melanie
f2febb89fc Change the part for sound playback to be the root part / object UUID instead
of the child prim because using the child prim plain doesn't work.
2010-10-10 22:07:36 +01:00
opensim mirror account
1ee628c7d5 Merge branch 'master' of git@github.com:opensim/opensim 2010-10-09 11:06:33 -07:00
Teravus Ovares (Dan Olivares)
cf61cf7b32 * Make line endings consistant in Meshmerizer.cs 2010-10-09 13:50:53 -04:00
Latif Khalifa
0dd4071156 Fix a typo in previouis commit: start must not pass the end of the file 2010-10-09 18:22:21 +02:00
Diva Canto
aeecdd1430 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-09 09:09:38 -07:00
Diva Canto
78f6fe0b31 Added missing sections to StandaloneHypergrid.ini 2010-10-09 09:09:16 -07:00
Teravus Ovares (Dan Olivares)
3454dfbcb3 weird line endings fix commit 2010-10-09 12:07:58 -04:00
Latif Khalifa
5e381ec67c Return error code instead of the last byte of the file if range is not satisfiable 2010-10-09 18:01:11 +02:00
Latif Khalifa
06d3a529a9 In case when 1 single byte is requested (yes viewer does this)
start of the ranges gets clamped with a wrong value. In case of a texture with
601 byte long texture the viewer request range 0-599 first, then 600- in which case
both start and end should be 600.

End can also be 0, valid request for the firt byte of the file is 0-0.

Thanks to Thickbrick for explaining how HTTP range header works.
2010-10-09 17:46:09 +02:00
Melanie
96080dc492 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-09 01:05:05 +01:00
Justin Clark-Casey (justincc)
ed161020e2 minor: remove some mono compiler warnings 2010-10-09 01:46:29 +01:00
Marck
211ea5d521 Limit formatting of local console output to actual logging messages.
The formatting of lines with the help of a regular expression match will be done only for output with an explicitly given logging level.
This fixes the issue of colons being added to help texts on the local console.
2010-10-09 00:47:39 +01:00
Melanie
4a57288577 Fix an infinite recursion 2010-10-08 23:23:07 +01:00
Melanie
4a0911bdbd Guard against locking a nullref to avoid build break 2010-10-08 19:19:07 +01:00
Melanie
5dcbbb726a Change the order of actions to address a possible nullref 2010-10-08 18:40:13 +01:00
Jonathan Freedman
4adada6fe4 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-07 23:47:39 -04:00
Melanie
1e66f79a4e Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-08 03:09:04 +01:00
dahlia
0d9c94033d move CacheSculptMaps ini flag to OpenSimDefaults.ini
comment it and change defailt to true to reflect code
2010-10-07 19:48:17 -07:00
dahlia
9391c3ffee add a flag in OpenSim.ini.example for enabling/disabling decoded sculpt map caching for meshing 2010-10-07 19:34:46 -07:00
Melanie
12bc6a7414 Clarify the format comment at the top of OpenSim.ini.example 2010-10-08 03:08:05 +01:00
Melanie
9a5d0984a5 Fix autoreturn to not return zero objects 2010-10-07 02:16:36 +01:00
Melanie
abfede7819 Plumb the path for multiple object deletes 2010-10-06 20:00:51 +01:00
Melanie
d45276b3f6 Add and plumb the usetex URL parameter to worldview. Required but not yet
functional
2010-10-06 05:44:19 +01:00
Melanie
9a1c8db443 Convert worldview to GET 2010-10-06 05:17:31 +01:00
Melanie
623f57deb5 Change the URL /worldview to /worldview/<region id> to support multiregion 2010-10-06 03:51:55 +01:00
Melanie
752b6a8764 Convert the BMP to a JPEG image and return it. This should be testable. 2010-10-06 03:40:55 +01:00
Melanie
abfcd168fc Add the parameter plumbing and image generation 2010-10-06 03:32:01 +01:00
Melanie
17316170a5 Add WOrldView request handler and plumbing 2010-10-06 03:03:10 +01:00
Melanie
7d62ab6a9e Fix incorrect class name 2010-10-06 02:16:42 +01:00
Melanie
ce89f08f6b Add WorldView module skeleton 2010-10-06 02:06:50 +01:00
Melanie
c97398575c Convert the map image modules to new style modules 2010-10-06 01:42:18 +01:00
Jonathan Freedman
84cf0ffbf1 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-05 20:06:27 -04:00
Jonathan Freedman
593fc5c87a Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-05 19:45:37 -04:00
Melanie
613bdb40bd Remove sirikata project 2010-10-06 00:22:08 +01:00
Melanie
7e6a047769 Remove defunct sirikata client stack 2010-10-06 00:20:41 +01:00
Melanie
5d61323192 Add the view generating method to the image generator interface 2010-10-05 23:49:21 +01:00
Melanie
b424af6187 Revert an accidental default value change 2010-10-05 23:06:29 +01:00
Melanie
4a171af0cc Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-05 22:57:05 +01:00
Melanie
eb491d2c36 Patch to allow other cam angles. Not complete. Thanks, Antont. 2010-10-05 22:56:20 +01:00
Jonathan Freedman
8f1acb890a Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-05 14:17:18 -04:00
Jeff Ames
07122614d5 Formatting cleanup. 2010-10-04 22:44:22 -04:00
Melanie
ba0a19c228 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-05 02:12:35 +01:00
Jeff Ames
bc9f793a92 Formatting cleanup. 2010-10-04 21:28:17 -04:00
BlueWall
eb17d581d3 Make windlight set the default environment on start 2010-10-05 01:54:15 +01:00
Jeff Ames
eeca0ee009 Formatting cleanup. 2010-10-04 17:10:07 -04:00
Latif Khalifa
cb6e4035c7 Avoid throwing errors when adding existing meshes to the render scene 2010-10-04 06:02:09 +01:00
Melanie
0e7e92b67f Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-04 04:49:09 +01:00
Diva Canto
37231e0941 Made the home agent handler check for xff if behind a proxy. 2010-10-03 21:21:02 -07:00
Latif Khalifa
67cfde3fb4 Added Meshmerizer rendering plugin for libomv 2010-10-04 04:48:42 +01:00
Latif Khalifa
adc3cfdcdc Removed linden renderer 2010-10-04 04:44:33 +01:00
Latif Khalifa
940246f2d5 Use libomv 0.8.4.3445 2010-10-04 04:44:16 +01:00
Diva Canto
934ae03d44 Made the Gatekeeper proxy-able. 2010-10-03 20:35:26 -07:00
Melanie
78aea6239d Revert "Add linden prim renderer and update libOMV"
This reverts commit 766ce9a141.
2010-10-04 04:25:44 +01:00
Melanie
f35a88663b Revert "Fix a comment marker"
This reverts commit f89dd85f68.
2010-10-04 04:25:37 +01:00
Melanie
d4ba505c85 Revert "Add the matching PrimMesher.dll"
This reverts commit be301c5815.
2010-10-04 04:25:30 +01:00
Melanie
5715545c57 Revert "Replaced OpenMetaverse dlls with ones compiled in Windows."
This reverts commit eb0cde7959.
2010-10-04 04:25:10 +01:00
Diva Canto
2d5173c205 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-10-03 20:02:31 -07:00
Diva Canto
0772e19af2 Added viewer's channel, mac, and id0 to agent circuit data. Also moved client ip address to agent circuit data, so that it's always there. 2010-10-03 20:01:59 -07:00
Diva Canto
eb0cde7959 Replaced OpenMetaverse dlls with ones compiled in Windows. 2010-10-03 17:08:09 -07:00
Melanie
be301c5815 Add the matching PrimMesher.dll 2010-10-04 01:04:38 +01:00
Melanie
f89dd85f68 Fix a comment marker 2010-10-04 00:17:48 +01:00
Melanie
766ce9a141 Add linden prim renderer and update libOMV 2010-10-04 00:10:08 +01:00
Jonathan Freedman
e3099d48f9 Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-03 18:04:38 -04:00
Jonathan Freedman
69acf9c79b * additional serveruri cleanup 2010-10-03 18:03:53 -04:00
Melanie
4d371b9d80 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-03 22:37:50 +01:00
Melanie
511751a733 I really have to say it again and again: e.Message is NOT enough data for
troubleshooting. It MUST be combined with e.StackTrace, or e.ToString() must
be used.
Fix one more instance of that cr.p
2010-10-03 22:36:27 +01:00
Diva Canto
72c1b09d57 Upgraded Mono.Addins.dll to 0.5, coming from here: http://monoaddins.codeplex.com/ 2010-10-03 10:35:53 -07:00
Melanie
bda02da152 Add the Warp3D dll 2010-10-03 16:58:22 +01:00
Melanie
189cda1c3d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-03 16:51:41 +01:00
Melanie
0b13cfa4dd Port ExecutingDirectory from omfOS Util class. 2010-10-03 16:50:50 +01:00
Melanie
4f70ac018b Adapt to core changes 2010-10-03 16:40:11 +01:00
Melanie
27340f616e Addign the new / renamed files for previous commit 2010-10-03 16:34:55 +01:00
Melanie
ab4be3ffdf Initial port of the Warp3D map tile renderer 2010-10-03 16:34:17 +01:00
Diva Canto
0133619af2 Attempt at fixing mantis #5057 -- CPU pinned high with HGAssetBroker. 2010-10-02 17:02:02 -07:00
Jonathan Freedman
32ccc7a9d9 * refactor refactor refactor ServerURI 4 lyfe 2010-10-02 19:17:02 -04:00
Melanie
6fc1ceb2ee So, the client can have an old idea of the object properties for the object when it goes to buy. This can cause a problem in the buy process. Additionally Hazim mentioned that the buy packets are spoofable. The core modules are the crowing glory example of best practice :P, so therefore, setting the example here, Validate Client sent Buy Data. WebAppSecurity 101, Never trust a client. Validate Validate Validate! Or you'll have problems whether intentional or not. 2010-10-02 20:11:43 +01:00
Melanie
87c6386884 Reapplying the parts of the prior revert that were not derived from the
original patch
2010-10-02 18:47:26 +01:00
Melanie
b01020b84a Revert "Forward-port 0.6 fix"
This reverts commit 90b51dc7d6.
2010-10-02 18:45:48 +01:00
Melanie
f220a2c5eb Replace CalculateMass with a more accurate version, contributed by Ubit.
Thank you.
2010-10-02 00:24:16 +01:00
Melanie
2427e16b42 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-01 05:42:42 +01:00
BlueWall
ffc1123ca5 adding -logconfig to Robust.exe
Adding -logconfig to Robust.exe. will still process the
	-logfile option, as before. No options given, the value
	"Robust.log" will be written in the ./bin directory
2010-10-01 05:42:18 +01:00
Master ScienceSim
9c6a591ad0 couple fixes to enable profiles in simian connector 2010-09-30 09:59:53 -07:00
Melanie
eb58d91098 Prevent dropping someone else's attachments 2010-09-30 15:57:52 +01:00
Melanie
90b51dc7d6 Forward-port 0.6 fix 2010-09-30 15:52:33 +01:00
Melanie
29646bcf67 Fix an inventory fetch issue 2010-09-30 02:52:35 +01:00
John Hurliman
08ee7a0e51 Actually log users out (call LogoutAgent) in the SimianPresenceServiceConnector when LoggedOut() is called 2010-09-29 15:14:13 -07:00
John Hurliman
1255c7ceb6 Cleanup: Removed an unreferenced variable from ActivityDetector.cs 2010-09-29 14:39:13 -07:00
John Hurliman
b6e0563ad7 Part two of the previous commit, making IGridUserService.LoggedOut() more flexible without changing current behavior 2010-09-29 14:34:02 -07:00
John Hurliman
9b7c99f0cf Made IGridUserService.SetLastPosition() more flexible to allow different possible implementations. This doesn't change any behavior or any Robust code, but it simplifies the SimianGrid connector by using the standard OpenSim interface for setting last position now 2010-09-29 14:24:32 -07:00
Melanie
0339d420e7 Restrict top colliders / top scripts to estate managers 2010-09-27 03:45:22 +01:00
Melanie
8e547d3491 Prevent setting arbitrary groups on your objects. 2010-09-27 02:11:55 +01:00
Melanie
c2a4bdb2fe Fix build break 2010-09-27 01:40:29 +01:00
Melanie
84ab4742c8 Quash the region ID on intersim messages. That prevents people from determining
another avatars location
2010-09-27 01:31:17 +01:00
Melanie
aaa4cb64a4 if you can't edit a prim's inventory, you don't need to see the asset ids.
Prevents stealing IDs of animations, sounds and textures from prim
inventories. Prevents copybot from gathering the wearable UUIDs needed for
pirating things from vendors.
2010-09-27 00:34:30 +01:00
Melanie
1f7d68e555 Restrict inventory items added in a transaction to folder belonging
to the connected client.
2010-09-27 00:30:26 +01:00
Melanie
6f78358b09 When receiving intersim IM, don't let the spoof protection bomb 2010-09-26 23:50:55 +01:00
Melanie
dc49057c8a Consistency patch: use Path.Combine() instead of + and eliminate the need
for a trailing slash on exports/
2010-09-26 20:03:00 +01:00
Melanie
14db53b723 Another typo fix 2010-09-26 18:35:15 +01:00
Melanie
d0c271adc6 Typo fixes 2010-09-26 18:06:23 +01:00
BlueWall
b0b4782a2b adding configurable j2kDecodeCache path
allowing the decoded sculpt map cache path to be defined in
	the configuration files.

	Use DecodedSculpMapPath in the [Startup] section to set
	the path. The default is still ./bin/j2kDecodeCache
2010-09-26 17:04:11 +01:00
BlueWall
8afa21cef0 Some cleanup to OpenSimDefaults.ini
Fixing a couple of errors
2010-09-26 17:00:56 +01:00
Melanie
51e03617e9 Changes to preceding patch to make it conform to inifile formats. BLANK LINE
before each comment/option group, and DOUBLE SEMICOLONS before pure text
comments in OpenSim.ini.exemaple
2010-09-26 02:31:37 +01:00
BlueWall
4f25b73b57 Add configurable path to script engine assemblies
Adding ability to place script engine assemblies outside
	the codebase directories.

	Uses new [XEngine] option: ScriptEnginesPath = "path_to_assemblies"

Signed-off-by: Melanie <melanie@t-data.com>
2010-09-26 02:30:46 +01:00
Melanie
d8ae287ebf Prevent spoofing the agent name on text IM 2010-09-25 06:56:08 +01:00
Melanie
3b76d7bbb6 Fix a minor economy issue 2010-09-25 06:09:35 +01:00
Justin Clark-Casey (justincc)
30d3e8a13e Add prim name to OdePrim Error and Warning messages.
This aims to make it easier to identify and remove rogue prims that are causing ODE to fall over.
2010-09-25 01:07:37 +01:00
Justin Clark-Casey (justincc)
6325fa515d Add UUID to physics prim name parameter so that diagnostic messages can be made more useful.
If a separate UUID parameter is better for the future then this can be added later on.
2010-09-25 00:51:40 +01:00
Justin Clark-Casey (justincc)
b366ad5012 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-25 00:00:00 +01:00
Justin Clark-Casey (justincc)
5bcf9ae2f9 If the uuid gatherer fails to find the asset containing gesture metadata, then simply return rather than generating an exception
This matches existing behaviour, though better diagnostics for missing assets may be good later on.
This addresses http://opensimulator.org/mantis/view.php?id=4977
2010-09-24 23:58:37 +01:00
Kevin Cozens
8dc59f5b59 Added delay for llSetPrimitiveParams() and llSetLinkPrimitiveParams() functions per the LSL wiki.
Signed-off-by: Melanie <melanie@t-data.com>

This patch also fixes a large amount of trailing whitespace. While this is
beneficial, it should really be in a separate patch that fixes whitespace only.
Just good practice.
2010-09-24 16:25:14 +01:00
Teravus Ovares (Dan Olivares)
acd5bbdb71 * One more item for CSharpSqlite
* Hopefully this will enable mac people to use SQLite again
* Someone cooler then me will need to figure out how to define CSharpSqlite with Mono so the conditional will pick up.
* There's also an error that occurs when you first load OpenSimulator under CSharpSQLite that goes away after.
* The databases are not byte for byte compatible.  Mono.Data.Sqlite is able to read CSharpSqlite made databases but not the reverse way.
2010-09-23 01:45:54 -04:00
Teravus Ovares (Dan Olivares)
983c6a74b1 * Add CSharpSqlite to prebuild
* Use a conditional define to determine whether we're using CSharpSqlite or Mono.Data.Sqlite
#if CSharpSqlite
    using Community.CsharpSqlite.Sqlite;
#else
    using Mono.Data.Sqlite;
#endif
* Hopefully, this will restore sqlite functionality on a Mac.  In visual studio, you can edit the OpenSim.Data.SQLite project, go to the Build tab and enter CSharpSqlite in the box.  I'm not sure how to define CSharpSqlite in Mono, someone better at it then me will have to take the job of figuring out the best way to define it in Mono.
2010-09-23 01:21:08 -04:00
Teravus Ovares (Dan Olivares)
33ae5ad309 * Pushing the Community.CSharpSqlite.Sqlite dll's I built. This is a slightly modified version of CSharpSqlite built in silverlight mode so that it doesn't have the locking issues that it normally would under .NET and a custom ADO.NET wrapper based on Mono.Data.Sqlite. I'm not entirely sure if these will be kept here like this in debug mode with the pdb's Maybe to start.. but after some testing we'll put them in release mode. 2010-09-23 00:50:18 -04:00
Melanie
2b8c99c2fb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-21 04:02:50 +01:00
Melanie
14adf90805 Fix a typo 2010-09-21 04:02:34 +01:00
Melanie
10a37f5be4 Refactor script create permission into the perms module 2010-09-21 04:02:28 +01:00
Justin Clark-Casey (justincc)
51207c24a0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-21 01:04:08 +01:00
Justin Clark-Casey (justincc)
192bcab987 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-21 01:01:07 +01:00
Justin Clark-Casey (justincc)
a85779e477 If the uuid of a SceneObjectGroup (RootPart) is changed before adding to the scene, remove the old uuid reference from m_parts as well as adding the new one.
The separate remove and set operations is SOG.set_UUID() are both locked under m_parts.SyncRoot since they are logically atomic (though this isn't such an issue if the SOG isn't part of a scene)
Added unit test for this behaviour.
Also changed the second m_parts.AddOrReplace() to m_parts.Add().  As the old reference is now removed we never end up replacing an identical uuid.  And if we replace a uuid that's already there (from a child part) then this is an error.
2010-09-21 00:58:54 +01:00
Teravus Ovares (Dan Olivares)
27d5976b87 * Tweaked the LocationTests for maximum coverage.
* Added more mundane tests.
2010-09-18 03:42:37 -04:00
Teravus Ovares (Dan Olivares)
c203fae26b * Covered the type converters in SLUtil with unit tests.
* Does anyone have an example raw notecard to look at and test the notecard parser?
2010-09-18 02:49:42 -04:00
Teravus Ovares (Dan Olivares)
4d83879704 * More Mundane Tests
* SL Util tests of AssetType2ContentType and ContentType2AssetType
2010-09-17 23:27:41 -04:00
Justin Clark-Casey (justincc)
a22f007246 Improve the explanative text of migration failures
When running for the first time, people see migration failures because of sql statements that are trying to move data from old tables (e.g. users).  The amended text attempts to calm their nerves.
2010-09-18 03:37:10 +01:00
Marck
7ee0a8d30e Clarify help text for use of file paths with console command "create region". 2010-09-18 02:30:56 +01:00
Marck
cd42cdcc89 REST Console delivers responses with content type text/xml instead of text/plain.
Non-error responses to requests SessionCommand and CloseSession should use the appropriate content type for their XML data payload.
2010-09-18 02:24:04 +01:00
Justin Clark-Casey (justincc)
2501372d3b Add m_syncRoot lock to MapAndArray.ContainsKey(), as discussed with jhurliman
Though this is actually thread-safe on .net 4.0 and mono today, the .net sdk states that Dictionary instance members are not guaranteed thread-safe
2010-09-18 01:57:13 +01:00
Justin Clark-Casey (justincc)
889923841c Stop broadcasting non 0/DEBUG ChatTypeEnum.Region messages to all avatars
This allows non public/debug region wide messages to be sent to scripts but not be broadast to avatars
2010-09-18 01:43:22 +01:00
Justin Clark-Casey (justincc)
4327c795f8 Move OpenSim/Framework/tests/PrimeNumberHelperTests.cs to OpenSim/Framework/Tests/PrimeNumberHelperTests.cs
I'm assuming the lowercase tests was a mistake.  Please revert if it actually wasn't
2010-09-18 00:25:22 +01:00
Justin Clark-Casey (justincc)
b1ab3ea5d9 For all Flotasm group module XMLRPC calls, correct parameter requestingAgentID to RequestingAgentID
This was stopping the get group member roles call from working, and may have affected other things
2010-09-17 23:48:44 +01:00
Teravus Ovares (Dan Olivares)
33fbf0e329 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-09-17 18:41:29 -04:00
Teravus Ovares (Dan Olivares)
94f35890e7 * Fixed and re-enabled CacheTests
* Added MundaneFrameworkTests.cs for the really mundane tests like testing properties,constructors, etc in OpenSim.Framework.
* Fixed LeftAxis and UpAxis unpacking from OSD to AgentPosition (copy and paste error caught while writing mundane test) (Good thing nobody uses the camera frustum from remote regions yet)
2010-09-17 18:41:12 -04:00
Melanie
58f7a083f9 Add LandServices to make landmarks work right in grids 2010-09-17 22:06:43 +01:00
John Hurliman
c08b6c2873 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-17 14:35:35 -07:00
John Hurliman
e603521fd7 Applying the llParseString2List() patch from #5036 that Melanie claims was already applied 2010-09-17 14:32:49 -07:00
Teravus Ovares (Dan Olivares)
69749b81f9 * Add a few more tests to help our meager code coverage %.
* Tests Animation Constructors
* Tests Animation OSD Packing/Unpacking
* Tests the PrimeNumberHelper class which is used in the cache.
2010-09-17 03:11:57 -04:00
Melanie
256c8cb62d Send kill packets for avatars, too 2010-09-17 03:56:31 +01:00
root
7762301cea Revert "* Changed 11 calls for session info to the more optimized API method"
This reverts commit 5dc9ea2f24.
Also makes online indicators and IM more robust
2010-09-17 01:57:26 +01:00
John Hurliman
b49cb3355f Fixed a regression in SOG.Copy() 2010-09-16 17:57:00 -07:00
John Hurliman
5321e0e69f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-16 17:31:24 -07:00
John Hurliman
860b2a502f Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection 2010-09-16 17:30:46 -07:00
Justin Clark-Casey (justincc)
e3f1533705 Fix build break by replacing Items.LockItemsForWrite() with lock (Items) {} 2010-09-17 01:21:28 +01:00
Justin Clark-Casey (justincc)
5072429263 Send KillPackets on the Task queue rather than the State queue
Object updates are sent on the task queue.  It's possible for an object update to be placed on the client queue before a kill packet comes along.
The kill packet would then be placed on the state queue and possibly get sent before the update
If the update gets sent afterwards then client get undeletable no owner objects until relog
Placing the kills in the task queue should mean that they are received after updates.  The kill record prevents subsequent updates getting on the queue

Comments state that updates are sent via the state queue but this isn't true.  If this was the case this problem might not exist.
2010-09-17 01:16:21 +01:00
Justin Clark-Casey (justincc)
5b18f8be25 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-17 01:01:12 +01:00
root
670357367e Removing debug 2010-09-16 23:32:18 +01:00
root
1b2edfe75f JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:19:46 +01:00
Justin Clark-Casey (justincc)
d52b2b9ee7 minor: remove some mono compiler warnings 2010-09-16 20:46:24 +01:00
Melanie
f5e3d5a33a Add the modules include line back that i dropped by mistake 2010-09-15 23:24:58 +01:00
Justin Clark-Casey (justincc)
7383173d3d extend m_entityUpdates.SyncRoot lock in LLClientView.ProcessEntityUpdates() to reduce scope for kill/update race conditions
This is necessary because it was still possible for an entity update packet to be constructed, the thread to pause, a kill to be sent on another thread, and then the original thread to resume and send the update
This would result in an update being received after a kill, which results in undeletable ghost objects until the viewer is relogged
Extending the lock looks okay since its only taken by kill, update and reprioritize, and both kill and update do not take further locks
However, evidence suggests that there is still a kill/update race somewhere
2010-09-15 23:06:38 +01:00
Justin Clark-Casey (justincc)
e6bc77d832 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-15 23:03:02 +01:00
Justin Clark-Casey (justincc)
39d27fc879 rename SceneObjectGroup.DeleteGroup() to DeleteGroupFromScene() to improve code readability 2010-09-15 22:29:58 +01:00
Justin Clark-Casey (justincc)
16f296f489 Instead of locking SOG.Children when a group is being removed from the scene, iterate over an unlocked list instead
Previously, deadlock was possible because deleting a group took a SOG.Children lock then an m_entityUpdates.SyncRoot lock in LLClientView
At the same time, a thread starting from LLClientView.ProcessEntityUpdates() could take an m_entityUpdates.SyncRoot lock then later attempt to take a SOG.Children lock in PermissionsModule.GenerateClientFlags() and later on
Taking a children list in SOG appears to be a better solution than changing PermissionsModule to not relook up the prim.  Going the permission modules root would require that all downstream modules not take a SOG.Children lock either
2010-09-15 21:51:13 +01:00
Melanie
c1ccfa6d8d Mark up OpenSim.ini.example for use with an automatic configuration tool.
Remove seldom changed options from OpenSim.ini.example.
Remove non-overridable settings like [Architecture] from OpenSimDefaults.ini
2010-09-15 20:29:28 +01:00
Melanie
0d034712ba Make AuthorizationService optional and disabled by default. It depends on
external PHP and the default configuration makes it throw for not
having a URL to this PHP
2010-09-15 15:56:03 +01:00
Melanie
3275fbec54 Fix the above 2010-09-14 23:06:44 +01:00
Melanie
585e575d23 Allow to place the connection strings and providers for estate and region
in their oqn sections, for those of us who don't want a catch-all
DatabaseService section.
2010-09-14 22:47:45 +01:00
Justin Clark-Casey (justincc)
8ed08a10d9 Remove long unused Region/Framework/ThreadTracker
All methods had already been deleted, only GetThreads() was left
2010-09-14 22:34:55 +01:00
Justin Clark-Casey (justincc)
609375bf37 Fix "show threads" to show threads now being managed by OpenSim.Framework.Watchdog 2010-09-14 22:24:11 +01:00
Justin Clark-Casey (justincc)
095d400f5b fix OpenSim.Tests.ConfigurationLoaderTest to satisfy requirement that OpenSimDefaults.ini is present
this should allow the testsuite to run again and the autobuild to complete
2010-09-14 17:01:53 +01:00
Justin Clark-Casey (justincc)
5d48e3c0bb Revert "Move OpenSimDefaults,ini into config-include in order to put it with all the other default files"
This reverts commit c3259e9c26.

Reverted by agreement.
2010-09-14 03:30:07 +01:00
Justin Clark-Casey (justincc)
95702129c7 Revert "Repopulate OpenSim.ini.example with OpenSimDefaults.ini until somebody does the work of deciding what users commonly change and what they don't"
This reverts commit fc48eb7b54.

Reverted by agreement.
2010-09-14 03:07:41 +01:00
Justin Clark-Casey (justincc)
c3259e9c26 Move OpenSimDefaults,ini into config-include in order to put it with all the other default files 2010-09-14 01:38:53 +01:00
Justin Clark-Casey (justincc)
fc48eb7b54 Repopulate OpenSim.ini.example with OpenSimDefaults.ini until somebody does the work of deciding what users commonly change and what they don't 2010-09-14 01:30:12 +01:00
Melanie
51411d5664 add the missing ini example 2010-09-14 00:32:49 +01:00
John Hurliman
1654e27cda Renamed OpenSimDefaults.ini.example to OpenSimDefaults.ini 2010-09-13 16:23:22 -07:00
Melanie
b2e50474dc Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-13 23:35:27 +01:00
Justin Clark-Casey (justincc)
36f81c66e5 Comment out SOG storing debug log message
This can get very spammy with regularly changing objects.  Please uncomment if required.
2010-09-14 00:05:38 +01:00
Melanie
96a2ce5db0 Add a missing parenthesis 2010-09-13 23:33:55 +01:00
Melanie
0de2f0567d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-13 23:28:36 +01:00
Melanie
4aadfc3007 Change the help message to point to copying OpenSimDefaults.ini.example.
Provide a mostly empty OpenSim.ini.example
2010-09-13 23:27:56 +01:00
Melanie
2cf98e77fc Output an error and quit if the master file is missing. Also rename
OpenSim.ini.example to bin/OpenSimDefaults.ini.example
2010-09-13 23:27:47 +01:00
Melanie
8febba7717 Make the inimaster option default to OpenSimDefaults.ini. 2010-09-13 23:27:31 +01:00
Justin Clark-Casey (justincc)
dd803b4f0c minor: Add comments which explain what's going on wrt avatar movements at various points in the main scene loop and associated methods 2010-09-13 21:53:25 +01:00
Justin Clark-Casey (justincc)
fbe72e30eb Improve generic message exception logging. Quieten down complaints about unhandled GenericMessages 2010-09-13 21:52:36 +01:00
Justin Clark-Casey (justincc)
e4858b0eeb Add client name to packet resend log messages to make them a bit more informative 2010-09-13 21:29:04 +01:00
Justin Clark-Casey (justincc)
7ae9266186 Remove SceneGraph.DetachObject() which was accidentally left around after being migrated to AttachmentsModule 2010-09-13 21:20:31 +01:00
Justin Clark-Casey (justincc)
ae1a0150a1 Rename now protected method SetAttachmentInventoryStatus() to ShowAttachInUserInventory() to match ShowDetachInUserInventory() 2010-09-13 21:15:12 +01:00
Justin Clark-Casey (justincc)
cd153a20b7 Remove IAttachmentsModule.SetAttachmentInventoryStatus() from public interface
No core module is calling and it makes more sense to call methods such as AttachObject() which attach both to the avatar and update inventory appropriately
2010-09-13 21:05:03 +01:00
Justin Clark-Casey (justincc)
366de0a7b5 If attachment fails (e.g. because asset wasn't found) then don't try to set attachment as shown in inventory
Doing this results in a null reference exception
2010-09-13 20:58:50 +01:00
Justin Clark-Casey (justincc)
ff098ae110 minor: Clean up log messages generated when an item is attached 2010-09-13 20:44:32 +01:00
John Hurliman
2ed276eb47 Adding missing ConnectionString lines to [DatabaseService] sections for SQLite configs 2010-09-13 11:39:58 -07:00
John Hurliman
5ef2da39d8 * Fixing length calculations for HTTP texture downloads (the end byte is inclusive in Range: headers) 2010-09-13 11:23:45 -07:00
John Hurliman
18a9ac6b39 Fix unit test SceneSetupHelpers to load the mock simulation data store 2010-09-12 15:04:51 -07:00
John Hurliman
c03b24cbfd Merged 2010-09-12 14:21:51 -07:00
John Hurliman
0db1ed0b5a * Added ISimulationDataService and IEstateDataService
* Removed StorageManager
* CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
2010-09-12 14:20:26 -07:00
Jeff Ames
f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Jeff Ames
20cd1da6bf Add copyright headers. 2010-09-12 12:54:31 -04:00
John Hurliman
16d782eaa2 Added a stub for OpenSim.Services.Connectors.Simulation.SimulationDataServiceConnector 2010-09-12 00:30:13 -07:00
John Hurliman
007912d6f4 Shuffling fields and properties around in Scene to make Scene.cs more readable 2010-09-11 23:41:48 -07:00
John Hurliman
e2544584ad Changed all string references of "IRegionDataStore" to "ISimulationDataStore" 2010-09-11 22:02:34 -07:00
John Hurliman
109b517583 Fixed the naming mess around data connectors for simulation data 2010-09-11 20:43:06 -07:00
John Hurliman
47ac9f97b1 Re-enabled asset last access time logging in MySQL 2010-09-11 18:29:38 -07:00
John Hurliman
a9acc6730d Removing .svn directories under Prebuild/ from source control 2010-09-11 18:26:59 -07:00
Melanie
47a5e2633c Prevent child agents from being blacklisted in the kill record. 2010-09-11 20:24:14 +01:00
Diva Canto
d5c7a8d28c All these files want to be committed. All white space junk. grr. 2010-09-10 21:18:23 -07:00
Diva Canto
51a5af93d0 White space junk. 2010-09-10 18:48:32 -07:00
Justin Clark-Casey (justincc)
7e65590a55 Update Prebuild.exe with Prebuild r323 + an existing OpenSim specific nant hack to correctly clean up chosen OpenSim exes and dlls in bin/ on a "nant clean"
Source code is included for reference.  This can go away again once Prebuild is updated with a more general mechanism for cleaning up files.
The Prebuild source code here can be built with nant, or regnerated for other tools using the prebuild at {root}/bin/Prebuild.exe
2010-09-11 01:13:08 +01:00
Justin Clark-Casey (justincc)
220f82a0f0 Make it clear that the "create region" command will reference ini files in the regions directory (usually Regions/)
Also convert some tabs into spaces.
2010-09-11 00:27:52 +01:00
randomhuman
30306a775a Made it impossible to create a user with names containing spaces and prevented passwords from being echoed after enter is pressed. 2010-09-10 23:19:18 +01:00
Justin Clark-Casey (justincc)
29708e47a5 Merge branch 'prebuild-update' 2010-09-10 22:38:56 +01:00
Justin Clark-Casey (justincc)
a7f4e10f42 Remove parenthesis around the release flavour to get the version string back under 27 chars
Can't quite remember why this has to be <=27 chars, maybe something to do with the space available for the version string in a typical client
2010-09-10 21:56:04 +01:00
John Hurliman
b597a295c4 Second pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:41:36 -07:00
John Hurliman
dd277a0d02 First pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:04:12 -07:00
John Hurliman
9609faa8eb * Run SimianGrid session updates asynchronously instead of from the main heartbeat thread
* Minor dead code cleanup
2010-09-09 15:05:22 -07:00
John Hurliman
8415b98806 Over a dozen thread safety fixes in FriendsModule 2010-09-09 14:45:10 -07:00
John Hurliman
972ef92590 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-08 15:09:34 -07:00
John Hurliman
5dc9ea2f24 * Changed 11 calls for session info to the more optimized API method 2010-09-08 15:08:49 -07:00
Diva Canto
ae6682036d Made the HG asset and inventory brokers use the Helo service in order to instantiate the right network connectors. Tested on Robust only. 2010-09-08 14:13:01 -07:00
Diva Canto
d301f3fd6a Renamed the Helo server connector to a consistent name. Added this in connector to both Robust.HG.ini.example and HypergridServiceInConnectorModule. 2010-09-08 14:12:01 -07:00
Diva Canto
8cc3d60e59 Added constructor that takes an URL to asset and inventory simian connectors. 2010-09-08 14:09:43 -07:00
Diva Canto
3fb4a17f10 No need for a config var for the HELO message on the server-side. It's robust. 2010-09-08 11:30:38 -07:00
Diva Canto
904d6b787a First version of the Hypergrid HELO service that will enable different backends to interoperate. 2010-09-08 09:53:57 -07:00
Justin Clark-Casey (justincc)
b8d14fcc4a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-08 01:05:56 +01:00
John Hurliman
0bebe94231 Rolling back the recent libomv update but keeping the ExpiringCache cleanups (as much as is possible). There was a report of non-finite avatar positions after the update 2010-09-07 15:45:33 -07:00
John Hurliman
9be1c0ff44 * Cache null account responses in the SimianUserAccountServiceConnector to avoid repeated requests for missing avatar IDs
* Updated to OpenMetaverse r3442 to fix a timezone issue with ExpiringCache
2010-09-07 14:41:13 -07:00
John Hurliman
587bab79b4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-07 13:43:52 -07:00
John Hurliman
029c954804 * Added sanity checks to the SimianAssetServiceConnector so it will throw a sensible error message when it is misconfigured instead of a mysterious "Uri is empty" error 2010-09-07 13:43:36 -07:00
Melanie
b28d1b6ccd Fix Simian regression 2010-09-07 20:21:05 +01:00
John Hurliman
5ca4c238e0 SimianUserAccountServiceConnector was not initializing the user cache 2010-09-07 11:33:46 -07:00
John Hurliman
910aa48df3 Corrected SimianGrid.ini and HyperSimianGrid.ini configs to specify services in the way the ROBUST loader expects them (hopefully!) 2010-09-07 11:13:37 -07:00
Melanie
8fda08d858 Make sure unlinked child prims get persisted 2010-09-07 11:48:28 +01:00
Justin Clark-Casey (justincc)
f7b28dd321 If a scene object part UUID is changed (only possible when not in a scene), then adjust the inventory items to point to the new uuid as well 2010-09-07 03:41:29 +01:00
Justin Clark-Casey (justincc)
84ad9e4d4e minor: comment out some excessive test logging 2010-09-07 02:05:44 +01:00
Justin Clark-Casey (justincc)
90cd035693 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-07 02:01:38 +01:00
Melanie
99bfb0d2a2 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-07 01:45:08 +01:00
Justin Clark-Casey (justincc)
3d033520fa Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is not required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:43:20 +01:00
Justin Clark-Casey (justincc)
11f4a65f42 Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:12:06 +01:00
Justin Clark-Casey (justincc)
e55f6d47e9 Add test that checks correct persistence when an unlink is quickly followed by deletion of a linked part
This test is temporarily not running since it currently fails due to a bug in this area
2010-09-06 23:28:52 +01:00
Justin Clark-Casey (justincc)
ab875b32c1 Make console backup command do a forced backup rather than non-forced
Remove no-arg backup method for simplicity as it only make sense to call non-forced backup internally
2010-09-06 23:12:03 +01:00
Justin Clark-Casey (justincc)
537fefa3f2 extend TestNewSceneObjectLinkPersistence() to check for presence of non-root linked prim 2010-09-06 23:06:23 +01:00
Justin Clark-Casey (justincc)
953b7f4917 Add test to check persistence of newly added pre-linked objects
Added a MockRegionDataPlugin to do in-memory persistence for tests since adding this to OpenSim.Data.Null.NullDataStore doesn't seem appropriate
NullDataStore can do nothing because OpenSim only ever retrieve region objects from the database on startup.  Adding an in-memory store here would be unecessary overhead.
2010-09-06 23:00:24 +01:00
Melanie Thielker
36cb6208b5 Fix yet another cause of "Ghost attachments" 2010-09-06 22:08:15 +01:00
Melanie Thielker
0246edc2ea Reflect the ParcelPropertiesUpdateRequest into Scene.EventManager, because
modules need to see it (Search!) even if it comes in via CAPS
2010-09-06 04:09:51 +01:00
Melanie
7f9f9f9246 Fix a handful of copypaste errors 2010-09-05 19:14:45 +01:00
Melanie
1b770d3afc Change UserAccountService to match 2010-09-05 19:09:30 +01:00
Melanie
4243701d22 Make Simian profiles respect the module chosen in [Profile] 2010-09-05 19:06:50 +01:00
Melanie
55d3c98917 Fix up presence connector in SimianGrid 2010-09-05 18:24:16 +01:00
Melanie
0ca48b2486 Fix up Simian inentory 2010-09-05 18:14:31 +01:00
Melanie
b2486df67c Friends works differently, it' snot even a region module at all, but a connector
that is loaded by the core friends module. Change Simian to match.
2010-09-05 18:06:42 +01:00
Melanie
1238b27d64 And the avatar services :) 2010-09-05 17:53:15 +01:00
Melanie
a407ad38f6 Add the m_Enabled pattern to Simian Auth 2010-09-05 17:44:02 +01:00
Melanie
d9e9c41e13 Add m_Enabled pattern to SimianGridConnector 2010-09-05 17:34:51 +01:00
Melanie
4025b85a07 As an exmple, add the code to disable connectors intot he simian asset
connector
2010-09-05 17:24:05 +01:00
Melanie
64ec14c8c4 Add missing IDwellModule interface 2010-09-05 17:08:57 +01:00
Melanie
09c75b30f3 Fix build break 2010-09-05 16:45:24 +01:00
Melanie Thielker
6a0a878f7c Remove "Dwell" support from core and replace it with calls to methods
on IDwellModule
2010-09-05 14:28:33 +01:00
Diva Canto
68f107b27e Logout the presence if client IP verification fails. 2010-09-04 18:46:27 -07:00
Diva Canto
953a487f5e One more debug message to track an issue on Danger grid. 2010-09-04 18:09:17 -07:00
Diva Canto
9fd9836841 Make User Agent Service and Login Service separable. 2010-09-04 16:39:03 -07:00
BlueWall
1e44ec84bd Build system upgrade:
Upgrading Prebuild.exe to correctly construct build solutions
	for crossplatform tools such as xbuild, monodevelop and nant.

	NOTE: Module prebuild files will need modification to work,
	as the prebuild must correctly define the reference path for
	all assemblies shipped in the OpenSimulator ./bin directory.
	These include assemblies such as XMLRPC.dll, OpenMetaverse.dll,
	Nini.dll, etc. . The entries should follow the form:

		<Reference name="Nini" path="../../../bin/"/>

	See the distributed prebuild.xml for further examples.

	Crossplatform tools: xbuild and monodevelop use the
	vs2008 OpenSim.sln and the .csproj files in each namespace.

	Changes to the Prebuild.exe are against svn 322 and are included
	in a patch attached to the mantis. And the dnpb source are
	available@ svn co https://dnpb.svn.sourceforge.net/svnroot/dnpb dnpb
	The patches are pending application by the dnpb team. After which,
	the un-modified upstream Prebuild.exe will work as expected.
2010-09-04 02:12:21 +01:00
Justin Clark-Casey (justincc)
c0b16f09bf Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-04 01:38:11 +01:00
Justin Clark-Casey (justincc)
1e8e98a07f Move code that allows llGiveInvetory() to move item into appropriate system folder up from connectors into Scene.Inventory.cs
This fixes the problem for all architectures (hg as well as local and grid) and means we don't have to dupe code between connectors.
Not ideal in that it becomes non-modular, but methods in Scene.Inventory.cs should eventually be modularized anyway.
2010-09-04 01:36:26 +01:00
Diva Canto
8fc68c6d98 Added XFF header processing. Untested, for lack of proxy. 2010-09-03 17:18:53 -07:00
Justin Clark-Casey (justincc)
107052b23d Create Scene.Inventory.cs.AddInventoryItem(InventoryItemBase item)
The agentID in AddInventoryItem(UUID agentID, InventoryItemBase item) is redundant since it's contained in item.Owner, and it doesn't make sense for agentID != item.Owner, hence the method is deprecated.
2010-09-04 00:09:53 +01:00
Justin Clark-Casey (justincc)
d4b572d2a5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 23:29:59 +01:00
Justin Clark-Casey (justincc)
63617c79d8 minor: remove mono compiler warnings 2010-09-03 23:29:39 +01:00
John Hurliman
1e552e88e8 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 14:50:42 -07:00
John Hurliman
fc062a23af Make SimianFriendsServiceConnector initialize like the other connectors and gracefully handle the case where it is loaded but disabled #monoaddinslol 2010-09-03 14:50:26 -07:00
Justin Clark-Casey (justincc)
b8da15c104 In RemoveAdminPlugin, use a .ini file template in XmlRpcCreateRegionMethod rather than an older XML one
This is a patch from http://opensimulator.org/mantis/view.php?id=4973.  Thanks randomhuman
2010-09-03 22:38:40 +01:00
Justin Clark-Casey (justincc)
9b95bd259f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 22:27:01 +01:00
Justin Clark-Casey (justincc)
fe63fad394 minor: remove mono compiler warning 2010-09-03 22:26:15 +01:00
John Hurliman
83f6550bcc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 13:37:30 -07:00
John Hurliman
aadbffffb1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 13:36:59 -07:00
John Hurliman
4f79143f3f * Removed Simian.IsSimianEnabled() call, changed the SimianGrid connectors to handle initialization as graceful as possible with the current broken way region module initialization is done
* Added config-include/HyperSimianGrid.ini option for connecting to SimianGrid with HyperGrid enabled (work in progress on the SimianGrid side)
2010-09-03 13:36:35 -07:00
Justin Clark-Casey (justincc)
d6deebdd63 Add another variant of password hash construction to SimianAuthenticationServiceConnector.CheckPassword()
This might be unique to the inventory archiver password check, though at the time it was written, hash construction there should have been identical to other parts of opensim
This is from patch http://opensimulator.org/mantis/view.php?id=4983.  Thanks cmickeyb.
2010-09-03 21:34:31 +01:00
Justin Clark-Casey (justincc)
8d2e8b7d5c minor: remove mono compiler warnings 2010-09-03 21:28:57 +01:00
Justin Clark-Casey (justincc)
71c0fc10df Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-03 21:14:23 +01:00
Micheil Merlin
8daea4d7c0 llRot2Euler Tests 2010-09-03 21:11:13 +01:00
Diva Canto
0a0f38b23c Last+2 tweak 2010-09-03 10:31:16 -07:00
Diva Canto
a5cce8d6d7 Last+1 tweak. 2010-09-03 10:13:41 -07:00
Diva Canto
5bbf793f9e One last tweak, hopefully. 2010-09-03 10:01:18 -07:00
Diva Canto
77384eb28b Another tweak. Sux^2 2010-09-03 09:26:33 -07:00
Diva Canto
85e9160552 More tweaks related to my previous commit. Tweaks sux. 2010-09-03 09:02:08 -07:00
Melanie
18213d26ec Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-03 03:27:47 +01:00
Melanie Thielker
17a26c3701 Fix an issue with rezzing scripted objects. 2010-09-03 03:27:26 +01:00
Diva Canto
21c5377af9 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-09-02 16:36:43 -07:00
Diva Canto
d96f5fa57d Quick fix for making global references for gatekeepers that are not domain:port work. This needs a serious rewrite, as the assumption domain:port doesn't hold from here on. Just quick-fixing for now. 2010-09-02 16:36:05 -07:00
Melanie Thielker
1c8bc9b7b6 Remove commented code and the comment, as the change has proven out 2010-09-02 21:02:09 +01:00
Melanie Thielker
7720419fc7 Experimentally comment the sending of unbaked avatars 2010-09-02 20:17:49 +01:00
Melanie Thielker
ed72396d9b Show when appearance is sent to an avatar to help track down failure
\to display avatars
2010-09-02 19:59:12 +01:00
Melanie Thielker
7128e1a4ba Implement UploadBakedTexture cap 2010-09-02 16:20:44 +01:00
Melanie
bbdf6cab50 Fix cast issue 2010-09-02 00:20:57 +01:00
Melanie
203b7de266 Allow increasing the version in system folders 2010-09-02 00:04:17 +01:00
Melanie
7efe7feef5 Update: Allow the version to increase only 2010-09-02 00:02:07 +01:00
Melanie
93edc75147 Disallow modification of system folders. Prevent changing the type of folders
and prevent resetting the version number
2010-09-02 00:00:54 +01:00
Justin Clark-Casey (justincc)
b9db495d91 Fix sqlite migration problems by moving migrations in 019_RegionStore.sql and 020 into RegionStore.migrations
This shows that panda is still not running the sqlite database tests since this change fixes the test failure in that area when "nant test" is executed locally
2010-09-01 22:06:56 +01:00
Justin Clark-Casey (justincc)
6cbf66827b refactor: move SOG.AttachToAgent() into AttachmentsModule 2010-09-01 01:11:52 +01:00
Justin Clark-Casey (justincc)
c947a67b23 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-01 00:17:23 +01:00
Melanie Thielker
c47de94263 Adjust the "Magic numbers" we use because we can't reference the actual
script state enum to reflect recent changes.
2010-08-31 22:36:46 +01:00
Justin Clark-Casey (justincc)
01276ef433 refactor: change AttachmentsModule.AttachObject to use sp.GetAttachments rather than filter sp.Attachments list directly 2010-08-31 22:22:45 +01:00
Justin Clark-Casey (justincc)
9c1c378aa1 Add ScenePresence.GetAttachments(uint attachmentPoint) 2010-08-31 22:16:23 +01:00
Justin Clark-Casey (justincc)
b8c58e5f9f reinsert functionality to debug log more levels of incoming and outgoing client protocol packets
These levels correspond to packets that one isn't usually interested in when debugging (e.g. regular outgoing SimStats packets)
This is equivalent to what we had a year ago before it was removed.  It's extremely crude since it doesn't allow one to pick individual clients or packets.  However, it can still be useful when debugging packet race conditions.
2010-08-31 18:27:10 +01:00
Justin Clark-Casey (justincc)
7b03cb09e4 minor: Add some method doc to BaseHttpServer.HandleRequest() 2010-08-30 22:33:45 +01:00
Justin Clark-Casey (justincc)
dd14c539af Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-30 21:24:08 +01:00
Justin Clark-Casey (justincc)
3cd7761d65 Report exception message as well as stack trace if a region fails to register with the grid service in grid mode 2010-08-30 21:23:19 +01:00
Melanie
eefb207c1b Fix a casting operation to use ToString() 2010-08-30 02:10:11 +01:00
Melanie
0d6c2afce6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-30 02:08:48 +01:00
Jonathan Freedman
0a83fde85c Implements parcel media setting persistence and packet / CAPS handling
properly for the new media settings.

Signed-off-by: Melanie <melanie@t-data.com>
2010-08-30 02:07:55 +01:00
Jonathan Freedman
4b2e3bd6c3 local commit with parcel media bits
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-30 01:59:50 +01:00
Justin Clark-Casey (justincc)
374807d194 Replace hardcoded 0 with KickFlags provided by the client.
This finally completes http://opensimulator.org/mantis/view.php?id=4356 where this change had been accidentally removed.  Thanks Revolution.
2010-08-28 02:45:28 +01:00
Justin Clark-Casey (justincc)
83fbf66444 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-28 02:41:00 +01:00
Justin Clark-Casey (justincc)
def6b1544f very minor log message and var name tweaking for iar saving 2010-08-28 02:40:21 +01:00
Diva Canto
0f95cd209e Addresses mantis #4991 -- HG between two regions with the same map coordinates fails with no warning 2010-08-27 17:25:04 -07:00
Justin Clark-Casey (justincc)
1c0b4457cd Improve liveness by operating on list copies of SOG.Children where appropriate 2010-08-28 00:40:33 +01:00
Justin Clark-Casey (justincc)
4f9931ec10 minor: reduce log chattiness of "load iar" for IARs with lots of folders 2010-08-27 23:23:55 +01:00
Justin Clark-Casey (justincc)
86937d0a0f allow inventory path specified in "load iar" to start with a / (e.g. /Objects is now valid where it wasn't before) 2010-08-27 23:22:49 +01:00
Justin Clark-Casey (justincc)
b4278510f2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-27 22:53:02 +01:00
Justin Clark-Casey (justincc)
8f875700ef refactor: Make IAR tests set up standard iar for loading 2010-08-27 22:52:26 +01:00
Diva Canto
0ca87a6f01 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-26 18:23:43 -07:00
Diva Canto
3c71e5a3a2 Deleted Check4096 from Robust.ini.example 2010-08-26 18:23:16 -07:00
Melanie
1f1d72eba5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-26 23:39:20 +01:00
Melanie
5b4e0b72bc Send a null result search packet when no results are passsed in 2010-08-26 23:38:35 +01:00
Diva Canto
436fdc2ea8 More on mantis #4985 2010-08-26 14:48:29 -07:00
Diva Canto
6198fe53e6 Addresses mantis #4985 -- exceptions in DataSnapshot 2010-08-26 14:19:52 -07:00
Justin Clark-Casey (justincc)
fb6d761e19 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-26 22:13:46 +01:00
Justin Clark-Casey (justincc)
7f5501d3ab minor: remove mono compiler warning 2010-08-26 22:13:31 +01:00
Justin Clark-Casey (justincc)
2b0f924557 refactor: Move Scene.Inventory.UpdateKnownItem() into Attachments module since this appears to relate solely to attachments 2010-08-26 22:09:52 +01:00
Justin Clark-Casey (justincc)
f3f4428700 refactor: break out attachment position change code in Scene.UpdatePrimPosition() and move into AttachmentsModule
This allows region modules to change attachment positions.
2010-08-26 21:50:19 +01:00
Justin Clark-Casey (justincc)
8571a55d29 minor: change log message from info to debug 2010-08-26 20:42:56 +01:00
Diva Canto
26fd673e20 Addresses mantis #4984 -- Datasnapshot exceptions. 2010-08-26 12:26:09 -07:00
Justin Clark-Casey (justincc)
fe660cd2cc Rename Newtonsoft.Json.dll to properly reflect its actual assembly name 2010-08-26 18:11:01 +01:00
Justin Clark-Casey (justincc)
df702417dc Remove mono compiler warnings 2010-08-26 16:27:41 +01:00
Justin Clark-Casey (justincc)
d99c60164d Reinstate kill record check that prevents an entity update being sent to a client after it has been told that the entity has been deleted.
On Linden Lab clients and some derivatives, receiving an entity update after an entity deletion notice results in an undeleteable prim that disappears upon client relog.
This check was dropped in 0.7 for unknown reasons but renewed testing demonstrates that queued updates can still be present after a scene object has been deleted.
2010-08-26 16:06:34 +01:00
Justin Clark-Casey (justincc)
a6869fbc3e Use SOP.ParentGroup in Prioritizer instead of Scene.GetGroupByPrim()
By the time a scheduled update is triggered, a sog may have been removed from the scene.  This change prevents NullReferenceExceptions in these situations.
2010-08-26 15:33:42 +01:00
Justin Clark-Casey (justincc)
87a6554d4b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Resolve merge conflicts

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2010-08-26 00:35:03 +01:00
Justin Clark-Casey (justincc)
692cf3c657 Remove parts locking from data classes since these are using a copy of the scene object 2010-08-26 00:17:26 +01:00
Justin Clark-Casey (justincc)
166ab59420 replace m_parts.Count linknum with 0 in CopyRootPart since m_parts.Count is always 0 (and any other number would cause an error anyway) 2010-08-26 00:15:26 +01:00
Justin Clark-Casey (justincc)
8031f8ec09 Improve consistency of locking for SOG.m_parts in order to avoid race conditions in linking and unlinking 2010-08-26 00:08:53 +01:00
Melanie Thielker
75e2a2b3ce Prevent an object disposed exception that made forms comms unreliable. After
starting an asynchronous write, one should not close the channel it will
be written to synchrnously, that leads to grief.
2010-08-25 23:19:55 +01:00
Melanie Thielker
604423d52b Make scene object directories more robust and prevent deleted SOP's from
sticking around
2010-08-25 23:19:30 +01:00
Melanie Thielker
739eb14741 Change some e.Message to e.ToString. Don't use e.Message, it doesn't carry
any useful information. Error messages are useless without location information.
It looks more elegant, but is totally pointless.
2010-08-25 23:18:15 +01:00
Justin Clark-Casey (justincc)
22fd00b002 minor: remove mono compiler warning 2010-08-25 23:07:43 +01:00
Justin Clark-Casey (justincc)
24d06b12c2 If setting SOG.UUID, update the SOG.m_parts index as well as the root part UUID
Being able to change a SOG.UUID is useful for region modules that want to supply their own UUID, before the object is rezzed
2010-08-25 23:05:54 +01:00
Justin Clark-Casey (justincc)
46c6c35d48 refactor: Push item retrieval and fixing part of Scene.RezObject() down into SceneObjectPartInventory 2010-08-25 22:46:49 +01:00
Diva Canto
a2113ecc71 Typo 2010-08-24 21:01:37 -07:00
Justin Clark-Casey (justincc)
d69e992665 Split out actual scene object insertion code from Scene.Inventory.RezObject and move into SceneGraph.AddNewSceneObject()
The new SceneGraph method is more consumable by region modules that want to extract objects from inventory and add them to the scene in separate stages.
This change also reduces the number of redundant client updates scheduled when an object is rezzed directly by a script or region module
This code does not touch direct rez by a user
2010-08-24 23:25:19 +01:00
Justin Clark-Casey (justincc)
78f452050a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-24 22:29:32 +01:00
Justin Clark-Casey (justincc)
07d5a0779a refactor: make RezObject() more readable 2010-08-24 20:53:25 +01:00
Marck
a7a45cb22c Patch by Apelsin that fixes behaviour of llSetPos and llGetLocalPos for attachments.
This fixes Mantis #3923.

Signed-off-by: Melanie <melanie@t-data.com>
2010-08-24 19:19:26 +01:00
Justin Clark-Casey (justincc)
46d06b6c4c add test to check move of task item to user inventory when a target folder is explicitly given 2010-08-24 17:10:52 +01:00
Justin Clark-Casey (justincc)
8bb073d99a minor: stop test using obsolete property 2010-08-24 17:06:04 +01:00
Justin Clark-Casey (justincc)
35f719ae2f refactor TestMoveTaskInventoryItemNoParent() 2010-08-24 17:04:54 +01:00
Justin Clark-Casey (justincc)
289c21099c Add automated test at the opensim 'api' level to check that a given item goes to the correct directory
Also removes some mono compiler warnings
2010-08-24 16:50:31 +01:00
Melanie
de85aabcbe Plumb the region type through to the ProductName field in estate messages 2010-08-24 12:41:21 +01:00
Justin Clark-Casey (justincc)
c72d298202 Add system lookup folder fix to the RemoveXInventoryServiceConnector as well since this presumably suffers from the same problem. 2010-08-23 23:25:36 +01:00
Justin Clark-Casey (justincc)
1d01c91095 minor: some doc for the MoveTaskInventoryItem method in Scene.Inventory.cs 2010-08-23 23:21:44 +01:00
Justin Clark-Casey (justincc)
704a53fb9b Fix bug in llGiveInventory() where items were disappearing on relog
This was a regression - the code to look up the correct type folder was no longer being called if items were added without a parent folder set
This may have been broken since commit bd49985a on 2010-05-02
2010-08-23 23:16:48 +01:00
Justin Clark-Casey (justincc)
74e5fe5aa9 Remove various warnings and improve logging messages. No functional changes. 2010-08-23 22:24:23 +01:00
Melanie
8d8436e0ca Correct a minor typo 2010-08-21 20:59:25 +01:00
Melanie
f445659dd3 Finally putting estate_settings.xml to rest. There will be no more attempts
to read or write this file.
2010-08-21 17:38:47 +01:00
Melanie Thielker
954329ec85 Don't allow oversized search reply packets 2010-08-21 17:30:41 +01:00
Melanie Thielker
ea1df09fa4 Forward-port a small improvement to the land out connector 2010-08-21 00:29:27 +01:00
Justin Clark-Casey (justincc)
5155915de1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-20 19:36:04 +01:00
Marck
7aad5af498 Some code cleanup for console command "create region".
Make region name an optional command parameter.
Avoid question for region name if it has already been specified.
Extend help text.
2010-08-20 19:35:52 +01:00
Diva Canto
e31a5260c8 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-20 11:10:21 -07:00
Diva Canto
4463ebfbc2 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-20 11:09:21 -07:00
Diva Canto
f347d25675 Unit test breakage fix. 2010-08-20 11:09:02 -07:00
Ai Austin
c41ff51bd3 OpenSim.ini.example FreeSwitch section improvements, move of XML-RPC section away from end and correction of typo "fro" (fixes Mantis 4833) 2010-08-20 19:08:26 +01:00
Justin Clark-Casey (justincc)
a87840bd1c Make some small corrections to ini.example file changes. These are not functional changes. 2010-08-20 18:25:44 +01:00
Ai Austin
2c0ba8718a Robust.ini.example and Robust.HG.ini.example default: corrected comment about realm for UserAccountService to state default is useraccount, and include default realm commented out in every case 2010-08-20 18:03:21 +01:00
Justin Clark-Casey (justincc)
86a61696d7 minor: remove mono compiler warning 2010-08-20 17:58:02 +01:00
Marck
bb5dd9fbbc Some code cleanup for console command alert.
Made parsing of parameters more robust.
Allow general alerts without specifying keyword 'general'.
Extended help texts.
2010-08-20 17:53:21 +01:00
Diva Canto
6f83b0ee46 Cleaned up a few more things related to incoming agents. 2010-08-20 09:02:05 -07:00
Melanie
82abaadd55 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-20 08:36:54 +01:00
Melanie
ae554a48d0 Add some maptile options, change maptile generation from OpenSimBase to Scene
to make it more configurable.
2010-08-20 08:36:23 +01:00
Diva Canto
b4e7c62fbc Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-19 19:55:03 -07:00
Diva Canto
a39ea07158 Finished implementing ViaLogin vs ViaHGLogin. Removed lookup on myipaddress.com. Also removed client IP verification upon UDP connection that had been left there -- we can't do that in general. 2010-08-19 19:54:40 -07:00
Diva Canto
1955b79759 Partial rewrite of client IP verification. Not completely finished yet, and untested. Committing to move to my other computer. 2010-08-19 18:55:30 -07:00
Melanie
f639a9e5ae Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-19 20:24:46 +01:00
Melanie Thielker
22fdd7b1f1 Short-circuit the grid server lookup for RequestSimulatorData if the region
info is requested for is the local region
2010-08-19 20:24:34 +01:00
Diva Canto
31365e3ec4 These files want to be committed. This time I'm doing it separately from other commits. 2010-08-19 09:17:08 -07:00
Diva Canto
2b172bef72 Revert "One more go at GetExternalIpOf(user). Addresses mantis #4955 and #4943."
Reverting mostly because of the texture asset files that got committed and cause grief with the 0.7-post-fixes branch. But also because I'm going to go at those mantises in another way.

This reverts commit e47608fc62.
2010-08-19 09:14:20 -07:00
Melanie
ee7c799699 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-19 11:46:07 +01:00
Melanie Thielker
f58a809536 Skip conversion if fields that are null in the database. This may
uncover errors elsewhere.
2010-08-19 11:45:56 +01:00
Justin Clark-Casey (justincc)
d547007e73 Improve some logging in LandConnector
This also eliminate the last 'OGS1' logging message (in this case, an erroneous one)
2010-08-19 01:57:07 +01:00
Justin Clark-Casey (justincc)
a72c7812f4 remove ancient and unused OpenSim.GridLaunch GUI code.
Current policy is that OpenSim core is not the place for gui tools
2010-08-19 01:11:10 +01:00
Justin Clark-Casey (justincc)
5e3d53bef2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-19 00:54:48 +01:00
Justin Clark-Casey (justincc)
85f448642b minor: Correct string format in "Can't find linkset root prim" message 2010-08-19 00:54:09 +01:00
Diva Canto
e47608fc62 One more go at GetExternalIpOf(user). Addresses mantis #4955 and #4943.
(Files .xml and .txt also want to be committed)
2010-08-18 16:22:50 -07:00
Justin Clark-Casey (justincc)
8c12f22140 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-18 23:15:25 +01:00
Justin Clark-Casey (justincc)
11db33d520 Add textures no longer shipped with newer viewers to OpenSim's standard asset library
These are appropriately licensed and include plant, tree and miscellaneous textures (face target crosshairs, etc).
Many thanks to Nebadon for sourcing and packaging these.
2010-08-18 23:15:05 +01:00
Melanie Thielker
6ddf124c8a Prevent a bad cast in llCreateLink(). 2010-08-18 20:00:19 +01:00
John Hurliman
a8c0b131f9 * Changed a few OSD.FromBinary() calls to the more accurate OSD.FromULong() to fix the build 2010-08-17 13:50:04 -07:00
John Hurliman
e1f2c32284 * Updated to OpenMetaverse.StructuredData.dll that includes implicit typecasts going in the other direction 2010-08-17 12:26:20 -07:00
John Hurliman
53190e332d Updated to new OpenMetaverse.StructuredData.dll that includes implicit typecasts 2010-08-17 12:04:37 -07:00
Diva Canto
d7824b86d9 Fixes mantis #4954 for the xml-rpc calls of the UserAgentServiceConnector. Basically, let's not let the xml-rpc library do the DNS conversion... 2010-08-16 14:36:20 -07:00
Diva Canto
69ad04cdf6 Attempt at sending TeleportProgress, but it doesn't seem to be doing anything at all. Left it commented, just as a reminder for where those messages could be sent. 2010-08-16 12:03:13 -07:00
Diva Canto
a8b80ef800 Added SendTeleportProgress to IClientAPI. Ya know what that means... 8 files affected. 2010-08-16 11:39:46 -07:00
Diva Canto
77de28965a Work on TeleportStart: renamed method from TeleportLocationStart to TeleportStart, and now sending this upon all teleports, not just some, and in the right place (EntityTransferModule). 2010-08-16 11:33:59 -07:00
Diva Canto
f219e320bc Increased the timeout on AgentUpdate to 30 sec and improved error message to try to catch some weirdnesses going on in HG TPs (and maybe non-HG TPs too). 2010-08-16 08:51:56 -07:00
Diva Canto
a5044e08fb Better comment (related to previous commit) 2010-08-15 18:13:09 -07:00
Diva Canto
5d29c0ec9d Addresses mantis #4929. Agent was being logged off the grid too soon -- things may still fail. 2010-08-15 18:10:54 -07:00
Marck
30d0bf4207 Fix SQLite database plugin for UserAccountData queries with a single word. 2010-08-15 17:27:06 -07:00
Diva Canto
d5c24241b7 Thanks Marck for the patch to mantis #4941 (shortening avies' names on HG) 2010-08-15 17:25:27 -07:00
John Hurliman
96e4099564 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-13 17:40:18 -07:00
John Hurliman
d806741e9d * Cleaned up the magic UUID definitions in AvatarWearable.cs 2010-08-13 17:39:45 -07:00
Justin Clark-Casey (justincc)
e1cff5f8c9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-14 00:58:12 +01:00
John Hurliman
46d0690b31 * Fixed a casing typo for Simian profile data
* Minor logging tweak in Simian asset connector
2010-08-13 16:56:01 -07:00
Justin Clark-Casey (justincc)
1463691cb6 In EventQueueHelper.uintToByteArray, fetch big end-ian bytes directly from libomv rather than little endian then swapping
This avoids a problem with failing to swap on big-endian machines.
This addresses http://opensimulator.org/mantis/view.php?id=4849
Thanks to Valy- for pointing this out and submitting a suggestion patch
2010-08-14 00:48:12 +01:00
Marck
fcc83f2305 Unit test for ConfigurationLoader.
Adds a new test assembly for OpenSim.
2010-08-13 23:59:33 +01:00
Marck
ae43a07f3b Configuration files can read include files from relative paths. 2010-08-13 23:59:30 +01:00
randomhuman
8eeb3f2fd2 Updated the create_region command in the RemoteAdmin plugin to properly support estates without seeking further input on the console. 2010-08-13 23:29:01 +01:00
Justin Clark-Casey (justincc)
8acb401a14 minor: remove mono compiler warnings 2010-08-13 23:28:28 +01:00
Justin Clark-Casey (justincc)
c64bef146b minor: remove mono compiler warnings 2010-08-13 23:18:05 +01:00
Justin Clark-Casey (justincc)
ab6dc47818 refactor: move binary statistics logging from scene into separate region module 2010-08-13 23:15:11 +01:00
Justin Clark-Casey (justincc)
e89f0b3f71 refactor: move Scene.PerformObjectBuy into BuySellModule 2010-08-13 22:29:42 +01:00
Justin Clark-Casey (justincc)
9d84dfb687 minor: remove mono compiler warning 2010-08-13 21:44:44 +01:00
Justin Clark-Casey (justincc)
b30635a454 Establish new Objects/BuySellModule
Move Scene.ObjectSaleInfo() to this
2010-08-13 21:39:43 +01:00
Justin Clark-Casey (justincc)
feba3164af minor: remove mono compiler warning 2010-08-13 21:19:32 +01:00
Justin Clark-Casey (justincc)
5d20f04e08 refactor: move Scene.TerrainUnAcked() handling into TerrainModule 2010-08-13 21:18:26 +01:00
Justin Clark-Casey (justincc)
b51534852f minor: remove mono compiler warning 2010-08-13 21:07:45 +01:00
Justin Clark-Casey (justincc)
fd23f270c6 refactor: remove Scene.SetRootAgentScene() in favour of existing event with same name 2010-08-13 21:01:10 +01:00
Justin Clark-Casey (justincc)
5f5c65e4ba refactor: move more map tile generation code from scene to IWorldMapModule 2010-08-13 20:34:46 +01:00
Justin Clark-Casey (justincc)
39a748b47a refactor: Use SOP.Flags rather than SOP.ObjectFlags 2010-08-13 20:23:53 +01:00
Diva Canto
c98c6a2930 File wants to be committed 2010-08-11 20:38:10 -07:00
Marck
251be8a1be Prettify console output for long avatar names. 2010-08-11 20:22:01 -07:00
Justin Clark-Casey (justincc)
576faee203 minor: change some logging levels 2010-08-11 23:17:29 +01:00
Justin Clark-Casey (justincc)
686f44c575 minor: change "no [GridInfo] config" warning to refer to "configuration files" rather than "OpenSim.ini" 2010-08-11 23:16:33 +01:00
Marck
4f62f00ca0 Changing prim color generates event CHANGED_COLOR.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:38:39 +01:00
Mikko Pallari
3f942a4f74 Removed abstract SetText method from EntityBase to make cleaner API.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:37:15 +01:00
Melanie
75f92faeb4 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-10 19:34:57 +01:00
Justin Clark-Casey (justincc)
158604a733 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-10 20:17:47 +01:00
Justin Clark-Casey (justincc)
2a1c11fda9 On shift-copy of an object, set up a new physics actor (as appropriate) for every copied prim, not just the root
This addresses http://opensimulator.org/mantis/view.php?id=4295
2010-08-10 20:15:44 +01:00
Marck
6147efdad9 Avoid truncation of error message during region creation.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:34:09 +01:00
Diva Canto
a299fa4849 This file wants to be committed 2010-08-10 11:18:39 -07:00
Diva Canto
7741143fb5 Enforce DB limits on region name to 32 chars, or else (not good). Removed a piece of code from Hyperlinker that didn't work anyway. Shortened the hyperlink region name. 2010-08-10 11:17:38 -07:00
Justin Clark-Casey (justincc)
0a81038dd5 Reduce number of paths in SOP code by setting flags via Flags property rather than _flags
Both ObjectFlags and Flags are effectively exactly the same property, except that ObjectFlags is uint and Flags is PrimFlags
Both reference the PrimFlags _flags underneath, so you couldn't set a non PrimFlags uint anyway.
Deprecated ObjectFlags in favour of Flags.
2010-08-10 17:26:31 +01:00
Justin Clark-Casey (justincc)
7203feb83c Extend DuplicateObject() test to check flags on the duplicated object 2010-08-10 16:50:36 +01:00
Justin Clark-Casey (justincc)
85fc2dfe3c extend TestDuplicateObject() to a two prim object 2010-08-10 16:16:57 +01:00
Justin Clark-Casey (justincc)
a5dab074a0 Handle incoming ObjectImage (TextureEntry) updates synchronously rather than asynchronously
At least on stock Linden clients, updating the texture on all faces of the prim will actually send an ObjectImage packet for each update.
There is a race condition if these are handled async, meaning that occasionally not all of the faces are correctly updated.
2010-08-10 16:00:35 +01:00
Justin Clark-Casey (justincc)
3b26baf282 Even if all data migratios are up to date, still print the current revision to the log 2010-08-09 22:54:13 +01:00
meta7
144fc20e87 Make fallbacks work, the destination was never actually updated with the fallback details.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-09 02:23:59 +01:00
Melanie
bc7ee7ba88 Remove "Could not authorize your session into the region" message in favor
of sending back the actual error message provided by the sim.
2010-08-09 00:48:08 +01:00
Melanie
a5e4a2bb3b Add distance sort for null, too 2010-08-08 18:18:42 +01:00
Marck
f216fd8136 Tests for distance-sorted fallback regions.
With some extensions to existing grid service tests.
2010-08-08 18:12:07 +01:00
Melanie
af261ff758 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-08 17:39:26 +01:00
Diva Canto
a87dbe198c Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-08 09:51:17 -07:00
Diva Canto
1314c87f36 Enabled GridInfoServiceInConnector for standalones. 2010-08-08 09:50:41 -07:00
Melanie Thielker
1f25b9e8db Thank you, Marck00, for a patch that implemented region distance sorting
for fallback regions. Applied with changes.
2010-08-08 17:37:50 +01:00
Melanie
cd2c7b9ac9 In my crusade against facelights, I am striking the killing blow. Add a
DisableFacelights option to OpenSim.ini to finally kill those immersion-
breaking, silly vanity lights that destroy nighttime RP. Girls, you look
just fine without them. Guys, you too. Thank you. Melanie has left the building.
2010-08-08 01:57:02 +01:00
Melanie
ab5a461c5c Add search URL to Login Service 2010-08-07 22:25:29 +01:00
Justin Clark-Casey (justincc)
903cfa8c7e minor: Remove overly verbose schedule full update log message for attachments 2010-08-07 22:28:42 +01:00
Melanie
a04efe4a4d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-07 05:39:20 +01:00
Melanie Thielker
00fd2e0446 Correct display of landmark about info. Also correct region maturity rating
in LM info. Maturity is NOT the parcel's setting, that is only for the
image and text. Parcel maturity is governed by region maturity.
2010-08-07 05:33:49 +01:00
Melanie Thielker
59af886680 Change the (hackish) constant to match the changed enum for attachs 2010-08-07 05:33:41 +01:00
Melanie Thielker
2cedfba67c Make the landmark properties work again 2010-08-07 05:33:21 +01:00
Diva Canto
5e93a83ecd Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-06 17:43:41 -07:00
Diva Canto
0090534793 Added Check4096 config var under [GridService], at the request of many. Changed the iteration that Marck had on the Hyperlinker.
ATTENTION! CONFIGURATION CHANGE AFFECTING Robust.HG.ini.example and StandaloneCommon.ini.example.
2010-08-06 17:43:09 -07:00
Justin Clark-Casey (justincc)
4e2caab756 Add new SceneGraphTests class. Add simple TestDuplicateObject() 2010-08-07 01:06:47 +01:00
Marck
7e47ab746e Allow creation of link regions if there is an existing region within a 4096 range.
Also add GetHyperlinks() to the grid service.
2010-08-06 17:02:03 -07:00
Justin Clark-Casey (justincc)
8d520f4525 Remove old test classes that don't actually test anything not done elsewhere
Also comment out log4net line in InventoryArchiverTests
2010-08-07 00:50:01 +01:00
Justin Clark-Casey (justincc)
6c8c8d669b minor: a few miscellaneous comments 2010-08-07 00:45:04 +01:00
BlueWall (James Hughes)
85d7d0583e Fix XStats formatting:
Recent libomv update broke the json serialization for
	XStats. This uses String.Format to convert all data to
	strings with fixed decimal (2 places ), or integer formats
	as appropriate.
2010-08-06 23:27:57 +01:00
justincc
1cffeab99d Relocate one System.Core reference from last commit to the Tests project
Ooops, shouldn't have assumed that the tests project came after the main on
2010-08-06 22:53:43 +01:00
Justin Clark-Casey (justincc)
204c05974f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-08-06 22:45:37 +01:00
Justin Clark-Casey (justincc)
a9bbff0cd3 Add System.Core references to OpenSim.Region.CoreModules.* to fix windows build
This addresses http://opensimulator.org/mantis/view.php?id=4923
2010-08-06 22:44:44 +01:00
Diva Canto
6321d85ebf These files want to be committed -- white space weirdness. 2010-08-06 11:00:25 -07:00
Diva Canto
2369063640 HACK ALERT! There's some underlying bug in the HTTP server that makes requests come up with Accept headers from previous requests. Until that gets fixed, this hack goes in. 2010-08-06 10:59:19 -07:00
Justin Clark-Casey (justincc)
1270727c96 Merge branch 'moap' 2010-08-06 18:29:30 +01:00
Melanie
cc05fc43b9 Fix a parenthesis in prior commit 2010-08-06 17:55:41 +01:00
Melanie
1cd441d5de Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-06 17:47:55 +01:00
unknown
54dcfe3f2d Fixes: llSetLinkPrimitiveParams - PRIM_POSITION is not relative to root, causes unexpected movement of child prims
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-06 17:38:29 +01:00
Melanie Thielker
e1e897ac11 Change XEngine to use the new constant 2010-08-06 15:18:46 +01:00
Melanie
120f3a18f2 Correct some script constants. 2010-08-06 15:11:18 +01:00
Melanie
c1ad8a3c17 People can't leave their hands ooff "well enough". StateSource 0 was region
start, and they started at 1 for real values. Whoever changed that enum
to start at 0 should bow their head in shame. They broke the region start
event. This puts it right again. Meow!
2010-08-06 15:05:35 +01:00
Melanie Thielker
f809797d62 Allow the trash folder itself to be passed to PurgeFolder 2010-08-06 15:04:25 +01:00
Melanie Thielker
db2f63706d Prevent users from becoming stuck online. This affects only 0.7 2010-08-05 23:49:07 +01:00
Melanie Thielker
1cae505ea1 Prevent hammering the grid services with llRequestAgentData requests. Cache the
user information permanently, and the online status for 20 seconds. Also
cache negatives.
2010-08-05 22:36:43 +01:00
Diva Canto
847008ee07 Addresses http://opensimulator.org/mantis/view.php?id=4919 2010-08-05 09:43:19 -07:00
Melanie
9e9296848d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-05 08:20:32 +01:00
Melanie
1869572297 Prevent setting the hovertext from firing changed_color 2010-08-05 08:19:46 +01:00
Justin Clark-Casey (justincc)
a133acbd5f Merge branch 'iar-merge'
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs
	OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
2010-08-04 20:56:52 +01:00
Justin Clark-Casey (justincc)
7f3f1bfe88 fix mysql/mssql prim serialization problem 2010-08-04 20:23:18 +01:00
Diva Canto
a1d7911feb Better debug messages 2010-08-04 11:19:23 -07:00
Diva Canto
f72ab53699 Removed a few more obsolete default configs. 2010-08-04 07:50:34 -07:00
Melanie
604ea5fa90 remove more useless defaults 2010-08-04 03:53:51 +01:00
Melanie Thielker
09ab32c21e Remove StandAlone from default hardcoded config 2010-08-04 03:10:10 +01:00
Melanie Thielker
bda83715e4 Clean up some messiness in IM sending. Having offline IM enabled now no longer
suppresses "Inventory Saved" messages.
2010-08-04 02:46:30 +01:00
Diva Canto
9ee712459b Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-08-03 18:20:08 -07:00
Diva Canto
53fb799778 Further bug fixing, still related to the issue earlier. 2010-08-03 18:19:40 -07:00
Diva Canto
3c5983d8bd Another bug fixed. Same issue. 2010-08-03 17:29:17 -07:00
Melanie
71cd4d6e84 Revert "remove long unused OpenSim/Framework/Configuration/* projects"
This reverts commit cdd3f17b2b.
2010-08-04 01:10:01 +01:00
Melanie
d987e8ef18 Revert "re-Add the XML configuration loader dll. It's gone AWOL in a cleanup, but"
This reverts commit 9c7e35860e.
2010-08-04 01:09:51 +01:00
Diva Canto
dd0ebbfb1f this is so bad, brain is beyond fried. must stop. 2010-08-03 17:05:48 -07:00
Melanie
9c7e35860e re-Add the XML configuration loader dll. It's gone AWOL in a cleanup, but
still needed for web-loading region configs and for loading legacy XML
region files
2010-08-04 01:00:06 +01:00
Diva Canto
dd688a5994 sigh. fried brain. 2010-08-03 16:59:34 -07:00
Diva Canto
87046652b1 One more buglet related to the issue at hand. 2010-08-03 16:33:56 -07:00
Melanie Thielker
16bdb53683 Allow specifying default region flags. Correct a typo. 2010-08-04 00:31:25 +01:00
Diva Canto
ee068dd243 One more thing related to the previous commit. Must avoid all in-process remote calls. 2010-08-03 16:27:11 -07:00
Diva Canto
239478f3a9 Bug fix (HG): mantis #4891. This doesn't actually fix the underlying bug, but it clears up the circular dependency issue between Gatekeeper and UserAgents that had made me resort to in-process remote calls, which, in turn, were hitting bugs down there somewhere in mono.
NOTE: CONFIGURATION CHANGE IN ROBUST.HG.INI.EXAMPLE !!!###!!!
2010-08-03 16:02:52 -07:00
Justin Clark-Casey (justincc)
2a0254f2da Implement MediaUrl persistence for MySQL and MsSQL
Not sure how I forgot this.  This may resolve problems with media textures not persisting over restart for these databases.
2010-08-03 17:54:40 +01:00
Justin Clark-Casey (justincc)
99c0f4c9c7 Simplify serialized version string. Change element capitalization for consistency
THIS CHANGE ALTERS THE SERIALIZATION FORMAT, HOPEFULLY FOR THE LAST TIME.  If you're testing, please start with a new database.
This commit also improves locking for manipulation of media entries.
2010-08-03 17:09:20 +01:00
Justin Clark-Casey (justincc)
9d8a67fe13 get rid of PrimitiveBaseShape.MediaRaw staging post
using an OSD serialization rather than auto forces serialization code to be placed in OpenSim.Framework
this makes the media texture raw data staging post in PrimitiveBaseShape redundant, now we just directly call the code in PrimitiveBaseShape.MediaList itself
2010-08-03 16:26:27 +01:00
Justin Clark-Casey (justincc)
ac07d853b8 remove duplicated serialization code 2010-08-03 15:58:17 +01:00
Justin Clark-Casey (justincc)
60df76314f serialize media textures to inventory with a largely osd representation rather than .net auto-serialization
THIS WILL BREAK ANY EXISTING MEDIA TEXTURE SERIALIZATIONS.  If you're testing this, please start with new databases.
This makes media textures serialized in the same way, which is probably better in the long term.
2010-08-03 15:45:49 +01:00
Melanie Thielker
8e37e7eb07 Remove the (wrong) implementation if llPointAt. It never worked on the LL
grid and is officially deprecated. There is no way to rotate an avatar
programmatically.
2010-08-02 00:41:40 +01:00
randomhuman
5e759338ca Renamed variables in RemoteAdmin plugin to be closer to the coding standards. 2010-08-01 17:20:09 +01:00
randomhuman
93532a9cd2 Changed all method names in the RemoteAdmin plugin to use the correct capitalization. 2010-08-01 17:20:09 +01:00
Diva Canto
c4ecbd1fb1 White space from previous commit. 2010-07-31 16:40:58 -07:00
Marck
f91ec19224 Implemented console command "show hyperlinks". 2010-07-31 16:38:23 -07:00
Diva Canto
ed59dcd422 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-07-30 18:07:50 -07:00
Diva Canto
8c7fd12d5d Bug fix: make m_HypergridLinker static. 2010-07-30 18:07:14 -07:00
Melanie
168a8e9ae5 Thank you, Snoopy, for a patch to fix child prim movement. This still doesn't
address limiting link distance, but at least it makes the UI and LSL
match.
2010-07-31 01:03:14 +01:00
Diva Canto
86bc25b84f Slight improvement on previous commit. 2010-07-30 14:27:53 -07:00
Diva Canto
f3fa10fa15 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-07-30 14:04:29 -07:00
Diva Canto
8ab7d80b09 Changed the way HG client verification is done: now transforming local and LAN client IPs into external IPs. This addresses some issues related to running both the user agents service and the viewer in the same machine/LAN, which then presents a problem when the user agent goes to an external network. 2010-07-30 14:04:13 -07:00
Justin Clark-Casey (justincc)
f84dbafb0c remove gods event subscription to gods module from scene 2010-07-30 21:58:24 +01:00
Justin Clark-Casey (justincc)
63f3a16b72 remove empty, unused and uncalled UnsubscribeToClientEvents() 2010-07-30 21:44:50 +01:00
Justin Clark-Casey (justincc)
424b4b2b86 move attachment subscription events into AttachmentsModule from scene.
restored to some heavy casting in order to preserve RegionCombinerModule semantics, pending better events.
2010-07-30 21:41:44 +01:00
Justin Clark-Casey (justincc)
4d83b2d8a6 remove unused BasicQuadTreeNode 2010-07-30 21:06:45 +01:00
Justin Clark-Casey (justincc)
f37ec933ae store terrain module trying to load plugins if plugin path does not exist 2010-07-30 20:54:02 +01:00
Justin Clark-Casey (justincc)
c6bc1d28ec move ChannelDigger from its own project into the main terrain module with the rest of the effects 2010-07-30 20:34:14 +01:00
Justin Clark-Casey (justincc)
cdd3f17b2b remove long unused OpenSim/Framework/Configuration/* projects 2010-07-30 20:19:46 +01:00
Justin Clark-Casey (justincc)
68b1d6f0af Remove unused ILoginServiceToRegionsConnector 2010-07-30 20:02:00 +01:00
Justin Clark-Casey (justincc)
315b065bce Remove unused LLFileTransfer 2010-07-30 19:58:29 +01:00
Justin Clark-Casey (justincc)
ce358db159 remove long superseded HGNetworkServersInfo 2010-07-30 19:54:27 +01:00
Justin Clark-Casey (justincc)
4596c78073 remove unused FriendRegionInfo 2010-07-30 19:50:47 +01:00
Justin Clark-Casey (justincc)
c7652d287b remove now unused GridConfig, MessageServerConfig, UserConfig 2010-07-30 19:44:39 +01:00
Justin Clark-Casey (justincc)
f393e10ea4 remove unused ACL class 2010-07-30 19:34:55 +01:00
Justin Clark-Casey (justincc)
5b80e3fc18 convert attachments module from old region module style to new 2010-07-30 19:26:54 +01:00
John Hurliman
b83910f12a * Added debug logging to SimianGrid inventory service response parsing 2010-07-29 16:42:00 -07:00
Melanie
e0de8fa308 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-29 23:20:50 +01:00
Melanie Thielker
2257e39eda Make dataserver() return a 0 when agent id offline, instead of a timeout 2010-07-29 23:20:38 +01:00
John Hurliman
550c3572a1 * Tweaked WebUtil.PostToService() to help debug an object disposed exception 2010-07-29 14:39:08 -07:00
Melanie Thielker
696b6c727f Allow gods and estate managers/owners to be unaffected by parcel bans 2010-07-29 16:20:40 +01:00
Justin Clark-Casey (justincc)
f067f733ea add userExposed parameter to part copy event 2010-07-28 19:38:20 +01:00
Justin Clark-Casey (justincc)
0f15ccb2cf relocate moap specific cloning code to MoapModule 2010-07-28 19:23:30 +01:00
Justin Clark-Casey (justincc)
5aa56b1274 Fix problem where changes to media textures for prims duplicated by shify copy would change both prims until server restart
I also found out that you can crash the current viewer by giving it more media entrys than it's expecting
2010-07-28 18:55:29 +01:00
Justin Clark-Casey (justincc)
a349703279 comment out further debug line in BaseHttpServer 2010-07-27 22:51:57 +01:00
Justin Clark-Casey (justincc)
b149d8970e comment out verbose debug logging 2010-07-27 22:49:45 +01:00
Justin Clark-Casey (justincc)
1996eb93b9 Update OpenMetaverse libraries to r3287 + r3294 (removal of OpenMetaverse.Http.dll dependency) + r3378 (treat MediaPermission as a bitfield)
As far as I can determine, r3287 + r3294 patch was the previous update to the OpenMetaverse libraries
This change just adds r3378 to overcome problems storing media textures with certain permission combinations in inventory
This is a limited change in order to isolate moap from any other possible libomv update issues
An update to the forthcoming libomv 0.8.3 is expected in due course to replace this
This commit also deletes OpenMetaverse.Utilities.* as it's unused (on the advice of jhurliman).
2010-07-27 21:52:50 +01:00
Justin Clark-Casey (justincc)
30ac67fb3d make MoapModule ignore possible future media texture data that it can't handle 2010-07-27 20:15:43 +01:00
Justin Clark-Casey (justincc)
ac542a907b Make MoapModule ignore non-sl media texture data 2010-07-27 18:59:05 +01:00
Justin Clark-Casey (justincc)
931c108277 Merge branch 'moap' of ssh://opensimulator.org/var/git/opensim into moap 2010-07-26 23:39:05 +01:00
Justin Clark-Casey (justincc)
109ddd1bd5 add mssql support for media on a prim
compiles but not tested.  please test and correct if necessary!
2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc)
849fc0483f add mysql support for media on a prim 2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc)
4d23749241 provide config option for media on a prim 2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc)
412fed975f relocate serialization code from SQLiteRegionData to MoapModule using load and save events.
This is better modularity.  It also allows MoapModule to be replaced with some other media module that may behave completely differently in the future.
Remaining non-modularity:
PrimitiveBaseShape needs explicit Media and MediaRaw fields.  MediaRaw is required in order to shuttle the pre-serialization data back and forth from the database layer.
The database also needs to know about MediaRaw though not about Media.
IMO, it would be extremely nice to remove these hard codings but this is a bridge too far at the present time.
2010-07-26 23:34:23 +01:00
Justin Clark-Casey (justincc)
b51b2efdc8 Add EventManager.OnSceneObjectPreSave() for future use. This is triggered immediately before a copy of the group is persisted to storage 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc)
586ae0f6a0 Add EventManager.OnSceneObjectLoaded() for future use. This is fired immediately after a scene object is loaded from storage. 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc)
afdbeba4e4 Put a wrapper around the media texture region serialization
THIS WILL BREAK EXISTING MEDIA TEXTURE PERSISTENCE.  Please delete your existing sqlite databases if you are experimenting with this branch.
This wrapper will make it easier to maintain compatibility if the media texture data evolves.
This will also make it easier to store non-sl media texture data.
2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc)
d764c95d09 also add avatar id to an updated media url - not just new ones 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc)
b06308e1d3 Properly set TextureEntry.MediaFlags when a media texture is set
Media flags is cleared via a direct TextureEntry update from the client.  If the clearing leaves no media textures on the prim, then a CAP ObjectMediaUpdate is not received.  If there are still media textures present then one is received.
This change fixes drag-and-drop on Windows (and Mac?) clients.  It may also fix problems with clearing and then subsequently setting new media textures.
2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc)
60c52ac0c4 start adding user ids to the media urls 2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc)
f872a2af11 add missing regionstore migration file for new fields. D'oh!
this should enable persistence now
2010-07-26 23:34:22 +01:00
Justin Clark-Casey (justincc)
cd985ab71b Handle checking of line starting "*" wildcard for whitelist patterns
A line starting * can only be applied to the domain, not the path
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
664cbe2357 refactor: simplify current whitelist url checking by using System.Uri 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
0edabffb7d Implement * end wildcard for whitelist urls 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
dce7307aa2 properly expose prim media LSL functions to scripts
scripts using these functions should now compile but I don't know how well the methods themselves work yet
llSetPrimMedia(), at least, appears to have problems when a current url is set for a face that doesn't yet have a texture
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
fc76ce0f46 fix bug where prim persistence would fail if media had never been set 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
049ccba8d3 fix previous media interact serverside checking. perform very basic serverside url whitelist checks
at the moment, only checking for the exact name prefix is implemented
for some reason, whitelists are not persisting
this commit also fixes a very recent problem where setting any media texture parameters after the initial configuration would not work
2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
cf7573c8fd implement code to deregister users on DeregisterCaps 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
ee6cd884c9 implement serverside checks for media texture navigation in order to stop naughty clients 2010-07-26 23:34:21 +01:00
Justin Clark-Casey (justincc)
a9101feb10 factor out soon to be common media permissions check code 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc)
51b208e96c implement prim media control permissions serverside in order to stop bad clients 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc)
e5615d3a9b discard an object media update message if it tries to set more media textures than the prim has faces 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc)
eb5e39d6ef Fire CHANGED_MEDIA event if a media texture is set or cleared 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc)
39a38c4901 implement llClearPrimMedia()
untested
2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc)
d1a879927c fix issue with GetMediaEntry if the face requested wasn't set to a media texture 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc)
43f480864b fix problem persisting when only one face had a media texture 2010-07-26 23:34:20 +01:00
Justin Clark-Casey (justincc)
c76e2ce250 factor out common code for updating the media url 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc)
74bc4f61fd factor out common face parameter checking code 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc)
cfb79cd411 minor: correct a few method names and change accessability 2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc)
a5ad792e6c implement llSetPrimMediaParams()
Untested
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc)
8f403cb4b8 Implement llGetPrimMediaParams()
Exposes method to get media entry via IMoapModule
As yet untested.
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc)
9682e0c733 Implement media texture persistence over server restarts for sqlite
This is currently persisting media as an OSDArray serialized to LLSD XML.
2010-07-26 23:34:19 +01:00
Justin Clark-Casey (justincc)
4ebae14a53 handle ObjectMediaNavigateMessage
Other avatars can now see the webpages that you're navigating to.
The requirement for an initial prim click before the texture displayed has gone away.
Flash (e.g. YouTube) appears to work fine.
Still not persisting any media data so this all disappears on server restart
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc)
468450a94d send a full object update out to avatars when a media texture is initially set
this allows other avatars to see it, but still only after they've clicked on the face
still not handling navigation yet
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc)
b1eb83ed6c start sending media url in object full updates 2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc)
4a6adff4cd start storing a mediaurl on the scene object part
not yet persisted or sent in the update
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc)
c290cdd997 replace hand parsing of incoming object media messages with parsing code in libopenmetaverse 2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc)
acac47830e start storing incoming MediaEntry on a new Media field on PrimitiveBaseShape
This allows the media texture to persist in memory - logging in and out will redisplay it (after a click) though navigation will be lost
Next need to implement media uri on prim and delegate more incoming llsd parsing to libomv
2010-07-26 23:34:18 +01:00
Justin Clark-Casey (justincc)
9301e36fbc have a stab at sending the correct number of media entries to shapes
actually, this is probably wrong anyway if there's a default texture
it's going to be easier just to gather the object media updates and retain those in-memory now
but what the hell
2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc)
701f39c8c2 do a whole load of crappy hacking to get cubes to display google.com
currently, for smoe reason the page only appears when you click a face.
also, actually navigating anywhere always snaps you back to the google search box, for some unknown reason
you can still change the url and normal navigation will work again
2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc)
2be7d0cdd4 Register ObjectMedia and ObjectMediaNavigate capabilities from moap module.
Not sure if these are correct, but just supplying these to the viewer is enough to allow it to put media textures on prims (previously the icons were greyed out).
This is not yet persisted even in-memory, so no other avatars will see it yet.
2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc)
ede446cad6 add stub media-on-a-prim (shared media) module 2010-07-26 23:34:17 +01:00
Justin Clark-Casey (justincc)
09231b1d12 add mssql support for media on a prim
compiles but not tested.  please test and correct if necessary!
2010-07-26 23:26:22 +01:00
Justin Clark-Casey (justincc)
d00466f09a add mysql support for media on a prim 2010-07-26 23:19:31 +01:00
Justin Clark-Casey (justincc)
f34795c6b3 provide config option for media on a prim 2010-07-26 21:41:39 +01:00
Justin Clark-Casey (justincc)
d5e8272ad4 relocate serialization code from SQLiteRegionData to MoapModule using load and save events.
This is better modularity.  It also allows MoapModule to be replaced with some other media module that may behave completely differently in the future.
Remaining non-modularity:
PrimitiveBaseShape needs explicit Media and MediaRaw fields.  MediaRaw is required in order to shuttle the pre-serialization data back and forth from the database layer.
The database also needs to know about MediaRaw though not about Media.
IMO, it would be extremely nice to remove these hard codings but this is a bridge too far at the present time.
2010-07-26 21:09:54 +01:00
Justin Clark-Casey (justincc)
c70d57ff98 Add EventManager.OnSceneObjectPreSave() for future use. This is triggered immediately before a copy of the group is persisted to storage 2010-07-26 20:36:28 +01:00
Justin Clark-Casey (justincc)
491b8181ad Add EventManager.OnSceneObjectLoaded() for future use. This is fired immediately after a scene object is loaded from storage. 2010-07-26 20:13:26 +01:00
Justin Clark-Casey (justincc)
4736e38e79 Put a wrapper around the media texture region serialization
THIS WILL BREAK EXISTING MEDIA TEXTURE PERSISTENCE.  Please delete your existing sqlite databases if you are experimenting with this branch.
This wrapper will make it easier to maintain compatibility if the media texture data evolves.
This will also make it easier to store non-sl media texture data.
2010-07-26 19:56:55 +01:00
Melanie
aa7cadca52 Add some options 2010-07-24 23:36:07 +01:00
Melanie
a9b7774fe0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-24 23:15:38 +01:00
Melanie
4dbff62ef5 Fix some inventory issues 2010-07-24 23:15:06 +01:00
Justin Clark-Casey (justincc)
1a03a0b281 remove compile.bat from a created binary distribution 2010-07-23 23:12:30 +01:00
Justin Clark-Casey (justincc)
2f6fa373ef in nant distbin, specifically only delete Regions.ini instead of the entire Regions directory 2010-07-23 22:36:03 +01:00
Diva Canto
0c0ac65d38 Added ': ' to password prompt. Mantis #4851 2010-07-22 04:00:24 -07:00
Melanie
7b471bb21c Adding sample configuration to previous patch 2010-07-22 03:04:34 +01:00
Melanie
a70c7756b3 Add sending of the avatar interests and configuration of the profiles
module as an OpenSim profile module to Simian grid services.
Patch by Dimentox, thank you.
Applied with changes.
2010-07-22 03:01:50 +01:00
Justin Clark-Casey (justincc)
8e8076c947 also add avatar id to an updated media url - not just new ones 2010-07-21 19:32:05 +01:00
Justin Clark-Casey (justincc)
6ef2a72c70 Properly set TextureEntry.MediaFlags when a media texture is set
Media flags is cleared via a direct TextureEntry update from the client.  If the clearing leaves no media textures on the prim, then a CAP ObjectMediaUpdate is not received.  If there are still media textures present then one is received.
This change fixes drag-and-drop on Windows (and Mac?) clients.  It may also fix problems with clearing and then subsequently setting new media textures.
2010-07-21 17:12:43 +01:00
Justin Clark-Casey (justincc)
8e67f6dc44 start adding user ids to the media urls 2010-07-21 14:25:21 +01:00
Melanie
ac1a34714d Allow Megaregions to start properly after an unclean shutdown 2010-07-20 23:24:04 +01:00
Diva Canto
f08afc4f87 Restore lines that have been removed due to previous merge conflict. 2010-07-20 14:28:17 -07:00
Melanie
176cb01130 Remove a merge artefact 2010-07-20 21:38:31 +01:00
Melanie Thielker
120d7014fd When a god uses mass permission setting, the V bit is cleared from next
perms, rendering the item unmoveable for the next owenr. Make god mods
conform to the rules, too.
2010-07-20 21:01:46 +01:00
Melanie Thielker
ea51bea508 prevent hacked viewers from being able to delete arbitrary items from any
prim. Allow friends with perms and shared group members to move or copy
things out of prims
2010-07-20 21:01:14 +01:00
Melanie Thielker
78605baab3 Fix a few permissions vulnerability. Owners could cause permissions
escalation on items contained in prims using a hacked viewer
2010-07-20 21:00:56 +01:00
Justin Clark-Casey (justincc)
e46c0a0fc9 adjust DialogModule to only send broadcast alerts to root agents 2010-07-20 21:32:13 +01:00
Diva Canto
7c124a5543 Relaxed the ultra-conservative lock on m_items. Needs testing under linux and stress. 2010-07-20 05:59:18 -07:00
Diva Canto
b7f1288361 Adding it again.
Revert "Reverting this for now, but this needs to go in again."

This reverts commit c0d9ab941d.
2010-07-20 04:23:39 -07:00
Diva Canto
c0d9ab941d Reverting this for now, but this needs to go in again.
Revert "Another stab at http://opensimulator.org/mantis/view.php?id=4858. Eliminated more nested locks."

This reverts commit ffbae52a13.
2010-07-19 16:22:29 -07:00
Diva Canto
ffbae52a13 Another stab at http://opensimulator.org/mantis/view.php?id=4858. Eliminated more nested locks. 2010-07-19 15:20:34 -07:00
Diva Canto
5c0c7fda6c One more stab at http://opensimulator.org/mantis/view.php?id=4858.
Eliminated the nested locks of m_Scripts and m_PrimObjects.
2010-07-19 13:59:11 -07:00
Diva Canto
cd2bb7daf3 Deleted Snoopy's patch completely, including Thread.Sleep. Preliminary tests indicate that this is what causes deadlock. More tests needed. 2010-07-19 08:07:37 -07:00
Melanie
a974704a3e re-add the sleep lost in the revert. 2010-07-19 14:37:27 +01:00
Melanie
575f7d3366 Revert "Thank you, Snoopy, for a patch to reduce sim script startup CPU usage"
This reverts commit c404c5fb54.
2010-07-19 14:36:53 +01:00
Melanie
fa45d5b5fa Revert "A stab in the dark. Revert the compile lockout temporarily. If you know what"
This reverts commit f798679b80.
2010-07-19 01:10:57 +01:00
Melanie
f798679b80 A stab in the dark. Revert the compile lockout temporarily. If you know what
this is, you should test it. If you don't, don't use it.
2010-07-19 00:06:23 +01:00
Melanie
7b62c25cfb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-17 16:25:56 +01:00
Melanie Thielker
e157dd630e Allow communicating with blue box dialogs across a region border via a
child agent
2010-07-17 16:25:30 +01:00
Justin Clark-Casey (justincc)
9cfa71d1bf Allow use of old angle rules PSYS_SRC_INNERANGLE and PSYS_SRC_OUTERANGLE in llParticleSystem()
This is a patch from http://opensimulator.org/mantis/view.php?id=3201
Thanks Micheil Martin!
2010-07-17 00:35:51 +01:00
Justin Clark-Casey (justincc)
e05f01e70f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-17 00:27:52 +01:00
Justin Clark-Casey (justincc)
f5bdf0d9b9 Fix bugs in llRot2Euler()
Applies patch in http://opensimulator.org/mantis/view.php?id=4482.
Thanks Micheil Merlin!
2010-07-17 00:26:26 +01:00
Justin Clark-Casey (justincc)
2c3207df07 add missing regionstore migration file for new fields. D'oh!
this should enable persistence now
2010-07-15 23:28:36 +01:00
Justin Clark-Casey (justincc)
0bec4f5ea5 Handle checking of line starting "*" wildcard for whitelist patterns
A line starting * can only be applied to the domain, not the path
2010-07-15 21:51:57 +01:00
Justin Clark-Casey (justincc)
2ec6e3b440 refactor: simplify current whitelist url checking by using System.Uri 2010-07-15 21:40:44 +01:00
Justin Clark-Casey (justincc)
610a2626a5 Implement * end wildcard for whitelist urls 2010-07-15 21:14:55 +01:00
Diva Canto
b75fc97865 Fixes mantis #4872. Port for GridInfo was wrong in Robust.HG.ini.example 2010-07-15 03:34:03 -07:00
Justin Clark-Casey (justincc)
e74e591e0b properly expose prim media LSL functions to scripts
scripts using these functions should now compile but I don't know how well the methods themselves work yet
llSetPrimMedia(), at least, appears to have problems when a current url is set for a face that doesn't yet have a texture
2010-07-15 00:15:23 +01:00
Justin Clark-Casey (justincc)
aec3b33011 fix bug where prim persistence would fail if media had never been set 2010-07-14 23:48:24 +01:00
Justin Clark-Casey (justincc)
99a6950b30 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 23:29:04 +01:00
Justin Clark-Casey (justincc)
c3ee451325 fix previous media interact serverside checking. perform very basic serverside url whitelist checks
at the moment, only checking for the exact name prefix is implemented
for some reason, whitelists are not persisting
this commit also fixes a very recent problem where setting any media texture parameters after the initial configuration would not work
2010-07-14 23:26:24 +01:00
Melanie
466254105c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-14 23:04:25 +01:00
Melanie Thielker
264f4f07cd Detach attachments displaced by other attachments 2010-07-14 23:04:05 +01:00
Diva Canto
0d8c0811d3 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 14:48:14 -07:00
Diva Canto
6afa55d446 Removed a few obsolete mono addin references. Mantis #4854 2010-07-14 14:47:01 -07:00
Justin Clark-Casey (justincc)
8c10cb5ffe improve closing of load/save iar streams in the event of a problem 2010-07-14 20:43:35 +01:00
Melanie
e1ea82b329 Major attachments cleanup. Remove unused AttachObject ClientView method
Clean up use of AttachObject throughout, reduce number of overloads
and number of parameters
2010-07-14 19:51:12 +01:00
Melanie Thielker
a7b5fe6a88 Remove useless quaternion parameter from AttachObject sig 2010-07-14 19:49:54 +01:00
Diva Canto
b8aa81635f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 11:04:57 -07:00
Diva Canto
12858122d5 Fixes mantis #4870. 2010-07-14 11:02:41 -07:00
Justin Clark-Casey (justincc)
5b03e05035 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 17:55:06 +01:00
Justin Clark-Casey (justincc)
5d83b3f991 comment out obsolete assert that 'item has been passed to another user since it was last set' perms flag was set when a prim item was added to a scene object 2010-07-14 17:53:43 +01:00
Justin Clark-Casey (justincc)
0080c3b1f4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-14 17:13:04 +01:00
Justin Clark-Casey (justincc)
71433075a9 Fix obvious bug in XInventoryService.GetFolderItems() which was preventing the iar module from being able to save single item iars 2010-07-14 17:12:12 +01:00
Melanie
2291daa95a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-14 16:13:21 +01:00
Diva Canto
e17591f4cf Cleaned up a couple of things from OpenSim.ini.example: [Friends] section has been in other inis for a while, not needed here; and [Network] remoteDataPort is obsolete. 2010-07-14 08:52:22 -07:00
Melanie Thielker
39cd57598b Fix a permissions issue 2010-07-14 16:12:44 +01:00
Melanie
33aa7ba7dc Revert "More on mantis #4869. This fixes the problem of objects showing up as no copy when they are copy-able. It works, but I have no idea what I'm doing."
Cuauses a permission escalation. do NOT USE the preceding commit
2010-07-14 14:59:34 +01:00
Diva Canto
bec1d7cc36 Removed left-over debug messages. 2010-07-14 07:00:24 -07:00
Diva Canto
87fb19162e More on mantis #4869. This fixes the problem of objects showing up as no copy when they are copy-able. It works, but I have no idea what I'm doing. 2010-07-14 06:57:56 -07:00
Diva Canto
d64c09160c Removed some more debug messages. 2010-07-14 04:18:13 -07:00
Melanie Thielker
cd8bb316ea Remove getting the object capacity from the money module. It is now set
directly from the Region Info (and the region ini file)
2010-07-14 03:51:00 +01:00
Justin Clark-Casey (justincc)
e44e1ccbd3 implement code to deregister users on DeregisterCaps 2010-07-14 00:16:37 +01:00
Justin Clark-Casey (justincc)
a4c6c4de91 implement serverside checks for media texture navigation in order to stop naughty clients 2010-07-13 23:58:19 +01:00
Justin Clark-Casey (justincc)
2ad9789b1c factor out soon to be common media permissions check code 2010-07-13 23:46:49 +01:00
Justin Clark-Casey (justincc)
6f644f5322 implement prim media control permissions serverside in order to stop bad clients 2010-07-13 23:19:45 +01:00
Melanie
dd14016885 Revamp the permissions propagation. This MAY mess up. Please test.
Change the slam bit from 3 to 4. Assume the old slam bit is always set.
The new slam bit is a "changed owner" bit, correcting a bug where an item
passed from the creator to another with less than full perms, then back (sale
test) would arrive back full perm. Lots of in-code docs.
2010-07-13 20:45:16 +01:00
Melanie Thielker
bed36901d1 Add CreateSelected flag onto objects rezzed from inventory 2010-07-13 20:37:12 +01:00
Justin Clark-Casey (justincc)
1a1d42db83 discard an object media update message if it tries to set more media textures than the prim has faces 2010-07-13 19:28:07 +01:00
Justin Clark-Casey (justincc)
86f3f83250 uncomment a load iar code line I accidentally commented in the last commit
hooray for automated tests
2010-07-12 23:37:08 +01:00
Justin Clark-Casey (justincc)
3156f4bbeb comment out a lot of the debug log messages when loading an iar
these are very redundant now and cause issues when loading large iars
diva, you may want to cherry pick this for 0.7-post-fixes since it only comments out log lines and nothing else
2010-07-12 23:00:01 +01:00
Justin Clark-Casey (justincc)
55caab1efd Fire CHANGED_MEDIA event if a media texture is set or cleared 2010-07-12 22:27:11 +01:00
Justin Clark-Casey (justincc)
4b0c5711b5 implement llClearPrimMedia()
untested
2010-07-12 22:00:45 +01:00
Justin Clark-Casey (justincc)
01ff3c9f9f fix issue with GetMediaEntry if the face requested wasn't set to a media texture 2010-07-12 21:43:36 +01:00
Justin Clark-Casey (justincc)
d4684da8bd fix problem persisting when only one face had a media texture 2010-07-12 21:33:27 +01:00
Justin Clark-Casey (justincc)
7691a638e3 factor out common code for updating the media url 2010-07-12 20:18:10 +01:00
Justin Clark-Casey (justincc)
9231fc0f31 factor out common face parameter checking code 2010-07-12 20:15:10 +01:00
Justin Clark-Casey (justincc)
312eb5e42e minor: correct a few method names and change accessability 2010-07-12 19:48:20 +01:00
Justin Clark-Casey (justincc)
4a92046b58 implement llSetPrimMediaParams()
Untested
2010-07-12 19:46:23 +01:00
Justin Clark-Casey (justincc)
7e3c54213c Implement llGetPrimMediaParams()
Exposes method to get media entry via IMoapModule
As yet untested.
2010-07-12 15:49:09 +01:00
Melanie Thielker
26621ca500 Add scripted controllers into agent intersim messaging 2010-07-11 14:50:14 +01:00
Melanie
eaea89bbb7 Remove localID from script controls data. It won't transfer to another
region anyway
2010-07-11 13:09:11 +01:00
Melanie Thielker
1169bfeaf3 Make taken items go back to the folder they came from 2010-07-10 10:43:34 +01:00
unknown
6352fc5f57 Bug in 0.6.9 sometimes restoring script state causes region console to crash due to unhandled file lock exception. Attempt to resolve by wrapping several instances of file create / read logic in using statements and added some error handling for locked file exceptions. If it is IDisposable, it must be disposed! The close statements are unnecessary but harmless so I have left those in. The end of the using block will close and dispose automagically. 2010-07-09 18:23:48 +01:00
Diva Canto
fe60b6783d Hopefully fixes mantis #4852 2010-07-08 16:21:01 -07:00
Diva Canto
d2fea2bb29 These 2 files want to be committed. 2010-07-08 16:05:59 -07:00
dahlia
df9d4cd9b2 llVecNorm() now returns a zero-length vector when one is supplied as input. Addresses Mantis #4752 2010-07-08 10:06:08 -07:00
dahlia
815dd73cf3 fix a potential division by zero 2010-07-08 10:01:23 -07:00
Melanie
baebefeb05 Handle a specific exception without spewing red ink. 2010-07-08 16:30:36 +01:00
Diva Canto
32cfdb0f6a Switched order of conditionals. 2010-07-07 02:40:51 -07:00
Kevin Cozens
07559707c5 Fixes problem where "Adult" regions were reported as being of type "Unknown". 2010-07-07 02:37:22 -07:00
Diva Canto
657056a73f Fixes mantis #4845 2010-07-05 08:48:02 -07:00
Diva Canto
cd19e6fe32 Fixes mantis #4842 2010-07-05 07:38:15 -07:00
Diva Canto
debc780654 Fixes additional bug reported in mantis #4841. 2010-07-05 07:14:32 -07:00
Diva Canto
7525f3a556 Don't include hyperlinks as neighbors, even if grid operators have done the mistake of placing them as neighbors. This will not prevent further mess ups coming from that unsupported action. 2010-07-05 04:19:53 -07:00
Diva Canto
c7e4880a5e One more buglet fixed related to mantis #4841 -- auto-returns were still chocking on a null pointer exception. 2010-07-05 03:36:26 -07:00
Diva Canto
b84f72df0b Got rid of all hyperassets references. Also fixed accessing textures in user's inventory in foreign grids. 2010-07-04 14:59:15 -07:00
Diva Canto
02a15bc787 Started to clean up the mess with HyperAssets in LLClientView. Fixed HG access to Notecards in user's inventory. 2010-07-04 13:56:03 -07:00
Diva Canto
abe0a9ff49 Fixes the obvious problem in mantis #4841. Melanie needs to look at other potential problems there, though. 2010-07-04 02:59:38 -07:00
Diva Canto
c117f2144c Compiled Robust.32BitLaunch.exe to .Net 3.5 2010-07-03 10:40:33 -07:00
Diva Canto
028303c3e1 Fixes mantis #4835 2010-07-03 02:44:28 -07:00
Diva Canto
79c1eb1e39 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-02 06:36:08 -07:00
Diva Canto
490f1c144c Fixes mantis #4782 2010-07-02 06:35:38 -07:00
Melanie Thielker
e15f6905a5 Clean up IMoneyModule and adjust the other modules to the changes 2010-07-02 06:13:58 +01:00
Melanie Thielker
fda9d7b75e Remove GetEconomyData and the economy data structure (unused) 2010-07-02 04:45:03 +01:00
Melanie
a4b7863ea1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-07-02 04:21:48 +01:00
dahlia
d58b32735d add Micheil Merlin to CONTRIBUTORS.txt (Mantis #4784) 2010-07-01 20:50:24 -07:00
Melanie Thielker
9e0b562c6e Fox another scripting nasty. Stuff no system.string objects into lists 2010-07-02 04:21:07 +01:00
Melanie
e328c23355 Add MapTileURL to robust to supply the url needed by snowglobe 2010-07-02 04:03:35 +01:00
Melanie Thielker
848623eea5 Fix a dumb little sign error that makes a LSL wiki example fail 2010-07-02 03:04:43 +01:00
Justin Clark-Casey (justincc)
53ddcf6d25 Implement media texture persistence over server restarts for sqlite
This is currently persisting media as an OSDArray serialized to LLSD XML.
2010-07-01 22:52:31 +01:00
Justin Clark-Casey (justincc)
54d7f6ef43 Add region name on the end of script startup debug messages 2010-07-01 21:34:53 +01:00
Justin Clark-Casey (justincc)
12b70ffc7e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-07-01 21:27:07 +01:00
Justin Clark-Casey (justincc)
ca5d1411a6 handle ObjectMediaNavigateMessage
Other avatars can now see the webpages that you're navigating to.
The requirement for an initial prim click before the texture displayed has gone away.
Flash (e.g. YouTube) appears to work fine.
Still not persisting any media data so this all disappears on server restart
2010-07-01 20:25:35 +01:00
Justin Clark-Casey (justincc)
4fb7c1a9e1 send a full object update out to avatars when a media texture is initially set
this allows other avatars to see it, but still only after they've clicked on the face
still not handling navigation yet
2010-07-01 19:53:03 +01:00
Justin Clark-Casey (justincc)
81f727416d start sending media url in object full updates 2010-07-01 19:33:41 +01:00
Justin Clark-Casey (justincc)
18b22e26cb start storing a mediaurl on the scene object part
not yet persisted or sent in the update
2010-07-01 19:25:46 +01:00
Justin Clark-Casey (justincc)
de769d56f5 replace hand parsing of incoming object media messages with parsing code in libopenmetaverse 2010-07-01 18:42:47 +01:00
Justin Clark-Casey (justincc)
214db91503 start storing incoming MediaEntry on a new Media field on PrimitiveBaseShape
This allows the media texture to persist in memory - logging in and out will redisplay it (after a click) though navigation will be lost
Next need to implement media uri on prim and delegate more incoming llsd parsing to libomv
2010-07-01 02:06:51 +01:00
Justin Clark-Casey (justincc)
9250268753 have a stab at sending the correct number of media entries to shapes
actually, this is probably wrong anyway if there's a default texture
it's going to be easier just to gather the object media updates and retain those in-memory now
but what the hell
2010-07-01 00:47:12 +01:00
Justin Clark-Casey (justincc)
94646599f0 do a whole load of crappy hacking to get cubes to display google.com
currently, for smoe reason the page only appears when you click a face.
also, actually navigating anywhere always snaps you back to the google search box, for some unknown reason
you can still change the url and normal navigation will work again
2010-07-01 00:24:30 +01:00
Justin Clark-Casey (justincc)
e098d33929 Register ObjectMedia and ObjectMediaNavigate capabilities from moap module.
Not sure if these are correct, but just supplying these to the viewer is enough to allow it to put media textures on prims (previously the icons were greyed out).
This is not yet persisted even in-memory, so no other avatars will see it yet.
2010-06-30 22:30:05 +01:00
Justin Clark-Casey (justincc)
8326f36cda minor: comment out high volume texture serving module debug message 2010-06-30 22:07:28 +01:00
Melanie
dd579cf615 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-30 21:26:43 +01:00
Melanie
1db2921782 Fix scripts in rezzed objects not starting (Mantis #4775) 2010-06-30 21:25:39 +01:00
Justin Clark-Casey (justincc)
1077a8a392 add stub media-on-a-prim (shared media) module 2010-06-30 20:46:35 +01:00
Justin Clark-Casey (justincc)
eb30b60e52 minor: comment out high volume texture serving module debug message 2010-06-30 19:54:35 +01:00
Diva Canto
b6264e60d3 Removed opportunity for exception in BaseHttpServer. (mantis #4825) 2010-06-30 06:35:22 -07:00
Justin Clark-Casey (justincc)
5925aac859 Add --merge switch to load iar.
When this switch is used, iar folders are merged with existing same-name user inventory folders.
This makes it a little easier to back and restore entire individual user inventories, among other things
Added unit test to check behaviour
2010-06-30 00:10:44 +01:00
Justin Clark-Casey (justincc)
be0af01061 Revert "stop exceptions in setting and getting state from propogating since they aren't fatal to operations"
This reverts commit 94cb6fc916.
2010-06-29 23:43:38 +01:00
Melanie
714367efb9 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-29 21:51:56 +01:00
Diva Canto
d06b977ed1 Remove the override from DeletToInventory in HGInventoryAccessModule. This may be causing the infinite loop, not sure. 2010-06-29 14:21:48 -07:00
Melanie
6701fc2ffa Fix the XML serializationt to provide an empty script state element if
the script hasn't yet saved state, or can't save state because of a loop
2010-06-29 21:50:52 +01:00
Melanie
5d11833ae1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-29 20:36:36 +01:00
Justin Clark-Casey (justincc)
94cb6fc916 stop exceptions in setting and getting state from propogating since they aren't fatal to operations
this will hopefully stop "save oar" from failing if a script asset is corrupt
2010-06-29 21:08:09 +01:00
Melanie
5964084d25 Fix a nullref on autoreturn 2010-06-29 20:36:17 +01:00
Justin Clark-Casey (justincc)
c607e6f3b8 Revert "don't report the null uuid as a missing asset on saving oars/iars"
This reverts commit 5ce119174e.

This change led to infinite timeout since the expected number of assets no longer matched requests.
Rather than introduce yet fresh bugs with another fix, just revert this since the inaccurate report is just inconvenient
2010-06-29 20:30:22 +01:00
Diva Canto
cf15558c9e This file wants to be committed. 2010-06-29 06:25:12 -07:00
Diva Canto
fa3f448324 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-29 04:40:02 -07:00
Diva Canto
08e3389790 Buglet fix in HG inventory. Make sure that GetRootFolder for non-HG xinventory is the folder "My Inventory". Also changed the Suitcase folder name to "My Suitcase". 2010-06-29 04:38:15 -07:00
Diva Canto
9fde9085a0 Bug fix in HG standalone: wrong handler in the in module. Fixed a few broken comments in InventoryAccessModule. 2010-06-29 02:07:10 -07:00
dahlia
621195e4f1 Thanks Micheil Merlin for Mantis #4784: [PATCH] llRotBetween does not return correct rotations for a 180 degree angle between vectors
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-06-28 17:33:47 -07:00
Diva Canto
d123350164 One more bug fix in FriendsModule: GrantRights. One of the caches was not being updated. 2010-06-28 16:04:12 -07:00
Diva Canto
20fc35399b Fixes mantis #4815 and #4812 2010-06-28 14:10:22 -07:00
Melanie Thielker
0a82d10fc4 Change the way IRegionModule us referenced by IEmailModule to
allow later conversion to new style
2010-06-28 03:14:05 +01:00
Melanie Thielker
85a9c305a2 Remove AgentID and GroupOD from the signature of SOG.Copy(). They were never
used, but made for a very mispleading read of the code in the callers.
2010-06-28 01:43:26 +01:00
Melanie Thielker
4cdda2cae9 Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:36:40 +01:00
Melanie
1499fd85c4 Fix a simian compiler warning 2010-06-27 21:02:03 +01:00
Melanie Thielker
660a560d3b Make drag copy and copy-on-ray handle friends list perms properly 2010-06-27 20:59:51 +01:00
Robert Adams
6cf0b8f6fe Add command-script to the Robust console 2010-06-27 13:28:27 -07:00
Diva Canto
3dbc736049 Addresses mantis #4789. Not really a fix, because the event is harmless anyway. Just shouldn't happen normally. 2010-06-27 13:23:51 -07:00
Diva Canto
a61d817978 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-27 13:07:44 -07:00
Diva Canto
7868f1f650 Fixed Robust.32BitLaunch.exe 2010-06-27 13:06:39 -07:00
Diva Canto
76d2f0f68e Same patch as before but for SQLite. 2010-06-27 12:40:17 -07:00
Diva Canto
b0129b35f8 Added checks to XInventory DB layer to truncate names and descriptions. 2010-06-27 12:37:16 -07:00
Melanie
3612a5252b Fix more perms weirdness. Preserve "Locked" status across gives and rez/take.
Preserve "Anyone can move" flag in most cases.
2010-06-27 20:23:33 +01:00
Melanie
121ba7e95c Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-27 20:05:29 +01:00
Melanie
205d2496f6 Fix permission propagation to prevent permanently locked objects from being
created.
2010-06-27 20:04:39 +01:00
Justin Clark-Casey (justincc)
a4a808818f don't report the null uuid as a missing asset on saving oars/iars 2010-06-25 21:48:19 +01:00
Justin Clark-Casey (justincc)
d399bd3eb7 minor: fix spelling mistake interupt -> interrupt in migrations
This is for  mantis 4783
2010-06-25 21:18:52 +01:00
Justin Clark-Casey (justincc)
4a5979c311 minor: remove some mono compiler warnings 2010-06-25 21:09:15 +01:00
Justin Clark-Casey (justincc)
c7e7cb04a3 fix web request exception reporting properly this time 2010-06-25 20:57:38 +01:00
Justin Clark-Casey (justincc)
8629ba80bf Revert "Report http server onRequest() exception properly."
This reverts commit c09451a034.
2010-06-25 20:51:21 +01:00
Justin Clark-Casey (justincc)
c09451a034 Report http server onRequest() exception properly. 2010-06-25 19:11:22 +01:00
Justin Clark-Casey (justincc)
52b711af82 stop KeyNotFoundException() being thrown in RemoveScenePresence if the agent isn't present in the presence dictionary
the code to do this was there but was being circumvented by newmap[agentID] before the check actually took place
2010-06-25 18:55:20 +01:00
Justin Clark-Casey (justincc)
2c4df19805 minor: Move log information about SYSTEMIP to the place where it's resolved 2010-06-25 18:29:02 +01:00
Diva Canto
7488f61289 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-25 05:15:54 -07:00
Diva Canto
977eccf127 This file wants to be committed. Line endings mess up. 2010-06-25 05:15:26 -07:00
John Hurliman
6848465ae2 * SimianAssetServiceConnector Delete() was expecting the wrong type of response, reporting false errors
* Fixed a typo in a WebUtil error message
2010-06-24 13:43:38 -07:00
Melanie
5a071dc798 Move loading of parcels to before script start. Scripts using parcel functions
can fail if no land is loaded
2010-06-24 03:24:38 +01:00
Melanie
e22eddeee6 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-23 21:15:07 +01:00
Melanie
c404c5fb54 Thank you, Snoopy, for a patch to reduce sim script startup CPU usage 2010-06-23 21:14:28 +01:00
Justin Clark-Casey (justincc)
1719dc9a9b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-23 01:22:42 +01:00
Justin Clark-Casey (justincc)
8c56f04f82 add new [RemoteAdmin] settings from Snoopy's create/update, etc user patch to OpenSim.ini.exmaple
Also tidies up and comments some existing entries
2010-06-23 01:21:49 +01:00
Melanie
7db5262e35 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-22 23:40:12 +01:00
John Hurliman
c96a6940a9 Line ending fix 2010-06-22 16:11:36 -07:00
John Hurliman
1e1485de5b * Fixed SimianGrid map tile uploads not having any objects in the images 2010-06-22 16:09:30 -07:00
Melanie Thielker
68551675df Guard prioritizer agains null values as those produced by a bullet dying
before it can be updated
2010-06-22 23:39:39 +01:00
Melanie Thielker
854a8b9172 Security fix: Allow only textures to be fetched using HTTP texture cap 2010-06-22 23:39:25 +01:00
Melanie
905e5cd991 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-19 23:48:09 +01:00
dahlia
c571c33b6b fix faulty profile cut parameter checking in llSetPrimitiveParams() - see Mantis #4510 2010-06-19 16:07:35 -07:00
Melanie
a3ebd4db3f Revert "This is a HACK! Downright nasty. For some reason, the devs of the mysql"
Didn't do what it said on the package!

This reverts commit 8643db3ef0.
2010-06-19 23:45:56 +01:00
Melanie
8643db3ef0 This is a HACK! Downright nasty. For some reason, the devs of the mysql
connector have decided that their vision of timeouts is the only valid one.
This uses reflection to show them the finger. Please test.
2010-06-19 22:48:43 +01:00
Diva Canto
24a68e36fb Bug fix: wrong name of requester in local friendship offer. 2010-06-19 12:32:36 -07:00
Diva Canto
1e7ce6dbce Hunting for the problem in #4777 2010-06-19 09:44:02 -07:00
Diva Canto
9b410f5e94 Reverting my last two commits, putting back Melanie's exception handler. Doesn't solve #4777. 2010-06-19 09:25:36 -07:00
Diva Canto
2b76dba593 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
2010-06-19 09:02:36 -07:00
Diva Canto
f0f684161e Reinstated the behavior of AddPrimShape *exactly* as it was as of December. Trying to fix mantis #4777 2010-06-19 08:57:58 -07:00
Diva Canto
db046f1fba Reinstated the behavior of AddPrimShape as it was as of December. Trying to fix mantis #4777 2010-06-19 08:51:07 -07:00
Justin Clark-Casey (justincc)
954906f0bd remove link to wiki mysql-config since the page was out-of-date and actively misleading 2010-06-19 01:52:13 +01:00
Justin Clark-Casey (justincc)
ad62ca6bab minor: correct a spelling mistake 2010-06-19 01:27:46 +01:00
Justin Clark-Casey (justincc)
8fc3745e19 Overhaul basic README.txt for new estate setup options on first run.
Also make some minor changes for clarity.
2010-06-19 01:23:52 +01:00
Justin Clark-Casey (justincc)
514732595b minor: try and make the explanations for the AllowScriptCrossing and TrustBinaries settings in OpenSim.ini.example clearer 2010-06-18 23:38:40 +01:00
Justin Clark-Casey (justincc)
de84da9e7b eliminate SimianGrid [Groups] section from GridCommon.ini.example as per Nebadon
this is only used by SimianGrid and is now in SimianGrid.ini
2010-06-18 23:20:32 +01:00
Justin Clark-Casey
ed01e9162d Change Opensim.Servers.exe comment at top of Robust.HG.ini to Robust.exe
This addresses http://opensimulator.org/mantis/view.php?id=4772
Thanks to aiaustin for pointing this out
2010-06-18 23:11:31 +01:00
Melanie
71a73d83cb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-18 19:50:01 +01:00
Melanie
47d5f90629 Remove an error in meshing error reporting. Now doesn't double-bomb
anymore on a bad sculpt
2010-06-18 19:49:14 +01:00
Justin Clark-Casey (justincc)
71c8bbaf2c Fix problem where iar load would duplicate huge number of folders
This was http://opensimulator.org/mantis/view.php?id=4770
Extend unit tests to check for this scenario too
2010-06-18 17:37:28 +01:00
Justin Clark-Casey (justincc)
11a35d8cda change TestPartExistingIarPath() to check appropriate folder creation
change some names in InventoryArchiveReadRequest in an effort to make the code more comprehendable
2010-06-18 17:10:16 +01:00
Justin Clark-Casey (justincc)
cf4721a92d in IAR utils, return all folders that match a particular path rather than just the first one 2010-06-18 16:33:34 +01:00
Melanie
e3432b8f63 Revert "Set command timeout to infinity on migrations"
This reverts commit 51d30fd34a.
2010-06-17 17:48:34 +01:00
Melanie
51d30fd34a Set command timeout to infinity on migrations 2010-06-17 17:43:40 +01:00
Melanie
544627c79c Force newly connecting remote consoles to display a prompt 2010-06-17 03:03:55 +01:00
John Hurliman
6c0a372346 * Support salted and unsalted password hashes in SimianAuthenticationServiceConnector 2010-06-15 17:46:36 -07:00
Diva Canto
38f098588c Fixes creation date issue on user accounts. 2010-06-15 16:36:22 -07:00
Diva Canto
07b8eddb64 Typo corrected in Robust.HG.ini.example 2010-06-14 19:11:49 -07:00
Melanie
0ecb45066d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-15 01:53:32 +01:00
Melanie
0031d4a618 Readjust master version and flavor 2010-06-15 01:53:11 +01:00
Melanie
6dd3f2b8b8 Readusr master version and flavor 2010-06-15 01:52:37 +01:00
Diva Canto
462a0f24e9 Merge branch 'master' into 0.7-post-fixes 2010-06-14 11:54:40 -07:00
Diva Canto
9c9ce9e8dd * Deleted duplicated migration that was failing anyway.
* Added an error message in initial estate owner creation that makes it clear what needs to happen.
2010-06-14 11:50:42 -07:00
Tom Grimshaw
53c32d8773 osGetAvatarList: Use AbsolutePosition instead of the position of the physics actor, or the avatar disappears when they sit down. 2010-06-14 12:09:35 +01:00
Melanie
c75b94f9f9 Merge branch 'master' into 0.7-post-fixes 2010-06-14 04:50:27 +01:00
Diva Canto
bd346ab8c7 Fixes attachments coming back upon being detached in neighbouring regions and crossing. 2010-06-13 19:18:17 -07:00
Diva Canto
19558f380a Fixes the long-standing RegionUp bug! Plus lots of other cleanups related to neighbours. 2010-06-13 19:06:22 -07:00
Melanie
9069114d0f Fox my changes to radmin 2010-06-13 21:57:56 +01:00
Melanie
14c587bea1 Thank you, Snoopy2, for a patch to fix RemoteAdmin. Committed with the following
changes:
- Start location is NOT optional. The signature was defined with it being mandataory and there is no reason to change it
- Adjusted comments to remove misleading or no longer true comments. Default
is neuter, according to the code, not male, as the comment stated.
2010-06-13 21:45:39 +01:00
Melanie
deaf6bff98 Merge branch 'master' into 0.7-post-fixes 2010-06-13 03:56:47 +01:00
Diva Canto
eff641ab83 Added Old Guids=true to all MySql connection strings. 2010-06-12 17:08:05 -07:00
Diva Canto
b3594681a4 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-06-12 12:09:06 -07:00
Diva Canto
66619b5996 Added checks for failed UpdateAgent calls. 2010-06-12 12:08:45 -07:00
Melanie
59acb37d92 Change name of method to better reflect what it does 2010-06-12 19:14:46 +01:00
Diva Canto
b9c01a1c42 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-06-12 11:11:48 -07:00
Diva Canto
e6efe34b4c * Added CHANGED_TELEPORT event trigger upon inter-sim teleports.
* Cleaned up NewUserConnection.
2010-06-12 11:11:13 -07:00
Melanie
ceac35bac1 Log and eat sculpt meshing exceptions caused by bad jp2 data. 2010-06-12 16:25:40 +01:00
Melanie Thielker
3c036934a3 Preserving the link numbers is a serializer's highest duty.
Prevent region crossings from screwing up complex attachments by preserving
link numbers.
2010-06-12 08:28:00 +01:00
Melanie Thielker
4c58ac2c90 Make local teleports send CHANGED_TELEPORT 2010-06-12 07:35:03 +01:00
Melanie
65f03af38f Don't filre CHANGED_INVENTORY if a prim comes in from storage 2010-06-12 07:34:55 +01:00
Melanie
92fea025cb Resume scripts that have been rezzed from a prim 2010-06-12 06:13:27 +01:00
Melanie
85d2e21558 Change trunk versio to 0.7.1 Dev 2010-06-12 02:45:21 +01:00
Teravus Ovares (Dan Olivares)
99f2a1c347 * Tweak the StopFlying() method in LLClientView to fabricate a suitable landing collision plane regardless of the actual physics situation. position.Z - AvatarHeight / 6f 2010-06-11 21:46:01 -04:00
Melanie
4dd9cf1ce4 Change flavor to 0.7-RC1 2010-06-12 02:44:01 +01:00
Melanie
c8ed972443 Move "StopFlying()" into LLSpace. Try to reinstate the carefully crafted packet
we used to send before slimupdates and explicitly send it
2010-06-12 01:25:25 +01:00
Melanie
ed38b4a140 Some people don't use Simian. Make the connector respect that it's disabled
and not try to send a map tile in that case.
2010-06-12 00:32:54 +01:00
John Hurliman
b5bc2816fc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-11 15:43:22 -07:00
John Hurliman
d1a324888b * Added a new method to IMapImageGenerator for getting the map tile before it is JPEG2000 compressed
* Aesthetically improved map tile water
* SimianGrid connector now uploads a PNG tile to the AddMapTile API
2010-06-11 15:37:25 -07:00
Melanie
c61e998580 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-11 22:09:24 +01:00
Justin Clark-Casey (justincc)
0dce4f1997 Revert "Allow IInventoryService.GetFolder(folderId, userId) as well as GetFolder(InventoryFolderBase folder)"
This reverts commit 3525195bc9.
2010-06-11 22:13:36 +01:00
Melanie
694c8ab588 Remove the lastmap stuff from the map module, also remove a bunch of comments
that no longer reflect actual conditions
2010-06-11 22:08:43 +01:00
Justin Clark-Casey (justincc)
3525195bc9 Allow IInventoryService.GetFolder(folderId, userId) as well as GetFolder(InventoryFolderBase folder)
This involves no wire changes since the methods often just construct an InventoryFolderBase under the hood.
This is in line with other methods that alraedy allow requests via uuid
2010-06-11 21:55:18 +01:00
Justin Clark-Casey (justincc)
8531da37d4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-11 21:18:53 +01:00
Justin Clark-Casey (justincc)
1a16a92a62 create inactive test for iar folders/items merged with existing paths
add various helper functions for simplifying test readability
2010-06-11 21:18:09 +01:00
Diva Canto
5d099182c3 Reinstated the check on im.binaryBucket.Length, this time on the local handler for inventory offers. 2010-06-11 13:14:07 -07:00
Diva Canto
556e91d33c Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-06-11 12:48:06 -07:00
Diva Canto
d184fef4dc Inventory offers and subsequent notifications of acceptance/decline now working across the board. 2010-06-11 12:47:47 -07:00
Melanie
9648f08dc9 Add the AllowLightShareFunctions example 2010-06-11 17:53:49 +01:00
Melanie Thielker
c98b10fc8c Remove the cm* function namespace 2010-06-11 17:48:41 +01:00
Melanie Thielker
7c4cf46bac Rename CM files to LS 2010-06-11 17:42:41 +01:00
Melanie Thielker
ad87bab271 Rename cm* function set to ls* (for LightShare) 2010-06-11 17:30:23 +01:00
Melanie Thielker
b64f42fa41 Clone cmGetAvatarList into osGetAvatarList for more generic use. 2010-06-11 17:03:45 +01:00
Diva Canto
7f349d61cb Better friends notification: get rid of OnLogout and use OnClientClose for sending notifications. This takes care of crashed sessions. Also, made the notifications themselves asynchronous. 2010-06-11 06:32:24 -07:00
Diva Canto
2e1269e4ca Bug fix on friends notifications. OnClientClose and OnLogout ordering are unpredictable; when OnClientClosed happened first, it was removing the friends list, which would prevent OnLogout notifications to go out. 2010-06-10 21:59:12 -07:00
Diva Canto
b2b6799f1c Added more debug messages to try to pinpoint where login is failing for nebadon. 2010-06-10 18:26:04 -07:00
Diva Canto
e80cb815df Bug fix on attachments: attach->drop->attach works now. 2010-06-09 12:51:24 -07:00
Diva Canto
2a71df1285 Reverting that last permissions check upon drop. Looks like all dropped attachments are deleted from inventory. 2010-06-09 12:22:25 -07:00
Diva Canto
18bfe58de8 Bug fix on attachments: don't delete the item from inventory when it's dropped on the ground. 2010-06-09 11:24:37 -07:00
Diva Canto
8fc5eda2c9 Bug fix in attachments: when attaching from inworld the item's parentFolderID was wrong. 2010-06-09 10:55:37 -07:00
Melanie
1be53b58a7 Give attachments the same priority as other avatars in BestAvatarResponsiveness
policy
2010-06-09 17:02:01 +01:00
Melanie
008e840cf2 Add the BEGIN; I had missed 2010-06-09 16:37:20 +01:00
Melanie
668c3b4062 Re-add Migration version 32, which apparently got dropped completely. 2010-06-09 16:34:18 +01:00
Melanie
796e9b5cb4 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-09 03:52:24 +01:00
Melanie
16439fa354 If a script is deleted before it gets compiled, don't even bother to try
compiling it
2010-06-09 03:51:43 +01:00
Dan Lake
ca2abc43ad Refactor SendCoarseLocations for better performance. Instead of computing list of all locations fresh for every scene presence on every frame, we will instead compute the list once every 50 frames and send to all connected presences at that time. Also, we only add 60 items to the list when there are more than 60 presences in the scene. For 1000 users, this change yields a 99.8% reduction in list processing and a 98% reduction in network bandwidth for coarse locations. 2010-06-08 16:44:18 -07:00
Diva Canto
0520b62955 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-06-08 15:52:56 -07:00
Diva Canto
5c0068723f Changed XInventoryData's CreatorID to a string. 2010-06-08 15:52:26 -07:00
Diva Canto
9b9804a498 * Changed CreatorIDs consistently to varchar(128)
* Deleted redundant migration for assets in SQLite
* Rewrote XInventory migrations in SQLite in the new style
2010-06-08 15:47:14 -07:00
Melanie
933bfd17f7 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-08 22:05:49 +01:00
Melanie Thielker
a791689ceb Make the text mode remote console really work. It can now be used to send
multi-word commands with proper quoting, handles arguments with spaces
and allows interactive use, e.g. user creation.
2010-06-08 22:05:06 +01:00
Justin Clark-Casey (justincc)
c8b301a644 Improve instructions for [Groups] setup in OpenSim.ini.example 2010-06-08 21:12:01 +01:00
Justin Clark-Casey (justincc)
24c36f26d5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-08 20:07:50 +01:00
Justin Clark-Casey (justincc)
21246395be Comment out the attachment update reordering mechanism in LLClientView since this doesn't appear necessary when the prim priorities are adjusted so that root prim updates are always sent before child prim updates. 2010-06-08 15:38:53 +01:00
Justin Clark-Casey (justincc)
db73b1c64e Adjust object update priorities such that root prims are sent to the viewer before child prims.
This was originally a fix for huds, since child prims fail to display if the viewer doesn't receive the root prim update first.
However, on the advice of jhurliman, this has been done for all objects, both ordinary and attachments.
The separate mechanism in LLClientView which prevents child prim updates being sent out first is still present temporarily.
This is a foreport of the equivalent fix in 0.6.9-post-fixes, though that was for attachments only.
2010-06-08 15:32:18 +01:00
Justin Clark-Casey (justincc)
b6076d7b33 Reduce number of full updates sent on region crossing for attachments/huds to 1 from 3
This is one step towards reducing hud glitches on region crossing, since the viewer fails to display prims if it receives child full updates before the root prim full update
This commit also introduces a mechanism in LLClientView to stop child attachment updates ever going out before the root one
This is a very temporary mechanism and will be commented out when the next step of the fix (to give root prims higher udpate priority) is committed
This code is a foreport from the equivalent changes in 0.6.9-post-fixes
2010-06-08 15:07:57 +01:00
Melanie
a246cbce8d Add a migration to adjust types in the WL table. The new connector likes that
better
2010-06-08 00:37:38 +01:00
Melanie Thielker
d91bd7646d Add a call to SOG.ResumeScripts() after region crossing / teleport 2010-06-07 00:11:30 +01:00
Diva Canto
ab3afd5f42 * Bug fix in TP home: typo in unpacking of GridUserInfo.
* Bug fix in TPs across neighboring regions: bug was introduced when getting rid of crashed sessions.
2010-06-05 09:39:09 -07:00
Diva Canto
fe3e1c67ae Bug fix: update the list of friends upon MakeRoot, because child agents don't get notified of new friendships. 2010-06-05 06:56:36 -07:00
Justin Clark-Casey (justincc)
63797445be various refactorings on methods to replicate IAR paths to user inventory in order to improve readability 2010-06-05 00:48:33 +01:00
Justin Clark-Casey (justincc)
3c3df9f3e9 refactor: do pathname trimming outside of ReplicateArchivePathToUserInventory() 2010-06-04 23:34:42 +01:00
Justin Clark-Casey (justincc)
72bd68a21f add ability for load iar/save iar to take in arbitrary options
not used for anything yet
2010-06-04 22:17:23 +01:00
Justin Clark-Casey (justincc)
0526d3a535 bring TestLoadIarV0_1AbsentUsers() back online 2010-06-04 21:19:37 +01:00
Justin Clark-Casey (justincc)
a08ace300b bring TestIarV0_1WithEscapedChars() back online 2010-06-04 21:15:25 +01:00
Justin Clark-Casey (justincc)
f523c2033d bring test TestLoadIarV0_1ExistingUsers() back online 2010-06-04 21:11:13 +01:00
Justin Clark-Casey (justincc)
df2bcf7b6b remove pointless mock user account service since the real one can now be easily configured for test purposes 2010-06-04 20:56:24 +01:00
Justin Clark-Casey (justincc)
f319d2ef5e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-06-04 20:44:01 +01:00
Justin Clark-Casey (justincc)
75878c8f43 get TestSaveIarV0_1() working again by setting up an OpenSim.Data.Null.UserAuthenticationData plugin
additional tweaks to get this working properly
2010-06-04 20:43:05 +01:00
Diva Canto
281eb0c626 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-06-04 11:00:29 -07:00
Diva Canto
952029380a Fixed a couple of buglets in Friendship offers / acceptance / decline when avies are in different sims. 2010-06-04 10:59:59 -07:00
Justin Clark-Casey (justincc)
86f2339b6e remove estate stuff in sqlite region migrations since this also exists in estate migrations, change Sandbox to sandbox in sqlite region migrations
re-enabling the sqlite data tests revealed these errors!
2010-06-04 18:46:58 +01:00
Justin Clark-Casey (justincc)
5c322335e5 add sqlite database back to database tests
this appears to be okay even though we reuse it between runs without deleting it first.
size of the database appears not to be changing though that could be deceptive
2010-06-04 18:27:16 +01:00
Justin Clark-Casey (justincc)
041f253e2b minor: comment out region interface registration log msg I accidentally left in last week
also changes one log message to print out full exception stack trace on both mono/.net instead of just .net
2010-06-04 18:08:40 +01:00
Justin Clark-Casey (justincc)
55040a84a5 Fix bug where prim items were not loaded in the new sqlite database handler
This addresses mantis http://opensimulator.org/mantis/view.php?id=4739
2010-06-04 17:14:12 +01:00
Melanie
b198763d67 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-06-02 01:22:10 +01:00
Melanie Thielker
aa5a346a68 Add a forgotten security check. Make the new functions only work on prims
owned by the host prim owner.
2010-06-02 01:21:55 +01:00
Melanie Thielker
53e96dccef Add two new osFunctions:
list osGetPrimititveParams(key prim, list rules);
osSetPrimitiveParams(key prim, list rules);
2010-06-02 01:21:50 +01:00
John Hurliman
d740035ef4 Applying patch from coyled to fix IAR support with the SimianGrid connectors 2010-06-01 13:32:14 -07:00
Melanie Thielker
a863eb9da3 One should not lock null objects. 2010-06-01 19:01:57 +01:00
Melanie
9c3c020697 Lock the object queue when dequeueing 2010-06-01 15:08:45 +01:00
Melanie
5270e54268 Comment and remove JScript support. Mono 2.7Dev and 2.8 no longer include the
needed libraries
2010-06-01 14:20:39 +01:00
Melanie Thielker
4867dd135d Fix prim returns I broke earlier 2010-06-01 02:12:56 +01:00
Melanie Thielker
a5728cc91c Fix prim returns I broke earlier 2010-06-01 02:10:53 +01:00
Melanie Thielker
f29cb57bf1 Continuing refactor. Refactor DeRezObject to deal with multiple objects 2010-06-01 02:10:22 +01:00
Melanie Thielker
bde01e26e1 Add a method to get the bounding box and root prim offsets within it for
a group of prims.
2010-06-01 02:10:11 +01:00
Melanie Thielker
2fce7d9bcf Split GetAxisAlignedBoundingBox into two methods to allow calculation of
combined bounding boxes and offsets
2010-06-01 02:10:08 +01:00
Melanie Thielker
be69259981 Change the handling of CreateSelected. Only send it on real creation, not
for each prim coming into view.
2010-06-01 01:39:54 +01:00
Melanie Thielker
e515467c5e Fix create selection getting overwritten by multiple updates for the same prim. 2010-05-31 17:55:56 +01:00
Melanie Thielker
8df9f272eb Fix a nullref in EventManager caused by RegionReady not setting the scene 2010-05-30 23:57:13 +01:00
Melanie Thielker
f1a1d7a521 Changes osFunction permissions again. Allow_ with a list of UUIDs now again
refers to prim OWNERS. A new option set, Creators_, is added to allow
selection by script creator. For existing installs, this means no functional
change. The warning from my prior commit doesn't apply anymore.
2010-05-30 14:42:58 +01:00
Melanie Thielker
bfcac0ede8 Changes OSSL Api permissions for the case of UUID list. In 0.6.9, the UUIDs
would be the IDs of the prim owners in whose prims these functions would
run. This changes it so the UUID is the SCRIPT CREATOR instead. Further,
osfunctions limited by uuid will not run if the creator and owner differ
and the owner has mod rights on the script.
There is still a danger in passing moodifiable scripts to others, as they
can insert a harmful function, then remove the mod rights to make it runnable.
As before, care needs to be taken, but where it was modable prims that were
the risk before, modable scripts are the weak spot now.
In cases where prim owner == script creator == script owner, nothing will
change.
2010-05-30 12:45:16 +01:00
Melanie Thielker
cd77648f48 Get the user's DOB back from the server response properly. 2010-05-29 04:09:47 +01:00
Justin Clark-Casey (justincc)
191db0e6a4 get TestSaveIarV0_1() uncommented but not running as a test yet since I didn't get the authentication server to work and my brain is about to fizzle out my ears 2010-05-28 23:14:24 +01:00
Justin Clark-Casey (justincc)
a60ca5236c restore InventoryArchiverTests.TestReplicateArchivePathToUserInventory() to work with the new UserAccountService/InventoryService 2010-05-28 21:37:48 +01:00
Justin Clark-Casey (justincc)
0ef41e62bc minor: move a method so that the #regions make more sense 2010-05-28 21:18:55 +01:00
Justin Clark-Casey (justincc)
505cb82dee fission UserAccountService.HandleCreateUser() into two methods, one which handles user command parsing and another which actually does the work 2010-05-28 21:14:15 +01:00
Justin Clark-Casey (justincc)
3c0f34bc2b If a command has descriptive help, add a line above and below the print out for readability 2010-05-28 20:51:02 +01:00
Justin Clark-Casey (justincc)
2e2f73bdd5 minor: remove mono compiler warning 2010-05-28 20:12:06 +01:00
Justin Clark-Casey (justincc)
fff5459f4d Add ability to load IARs directly from URIs
So, something like

load iar Justin Clark-Casey / PASSWORD http://justincc.org/downloads/iars/my-great-items.iar

Will load my IAR directly from the web.
2010-05-28 20:07:15 +01:00
Justin Clark-Casey (justincc)
14c39461c2 minor: remove mono compiler warning 2010-05-28 19:41:13 +01:00
Justin Clark-Casey (justincc)
b1298fca0a tidy up help information on load oar and save oar 2010-05-28 19:36:30 +01:00
Justin Clark-Casey (justincc)
d72435693b refactor: move GetStream and URI methods from ArchiveReadRequest -> ArchiveHelpers 2010-05-28 19:21:00 +01:00
Justin Clark-Casey (justincc)
6b568af565 Adjust Scene.DeleteAllSceneObjects() to not delete objects attached to avatars.
This is going to be the right behaviour in all cases, I should think.
This means that avatars in region when an oar is loaded do not lose their attachments
2010-05-28 18:49:32 +01:00
Justin Clark-Casey (justincc)
1042ce7283 comment out large chunks of appearance/inventory region access services to eliminate warnings that this code is unused 2010-05-28 18:42:25 +01:00
Justin Clark-Casey (justincc)
565db4635f add a smidgen more log debug information in the form of the operating system version 2010-05-28 18:30:33 +01:00
Justin Clark-Casey (justincc)
877fe774ef Simplify AddFullUpdateToAvatars()/AddPartialUpdateToAvatars() by calling the object's corresponding single avatar update method, rather than calling the sceneviewer directly 2010-05-28 17:58:51 +01:00
Justin Clark-Casey (justincc)
596001632b remove redundant ScenePresence.QueuePartForUpdate() - every place in the code calls SceneViewer.QueuePartForUpdate() directly 2010-05-28 17:53:57 +01:00
Justin Clark-Casey (justincc)
d53057c2c7 hopefully get "nant test" passing again by replacing data.sqlite/mysql references in .nant/local.include with OpenSim.Data.Tests.dll 2010-05-28 16:26:14 +01:00
Melanie Thielker
8fb706716b Prevent a null ref 2010-05-27 19:09:06 +01:00
Melanie Thielker
ecc77e3886 Comment noisy "CONNECTION DEBUGGING" messages, because they push more
important stuff off screen too fast. Clean this time
2010-05-27 19:09:00 +01:00
Melanie
a48d7f62a7 Revert "Comment noisy "CONNECTION DEBUGGING" messages, because they push more"
Some other stuff snuck in.

This reverts commit 4cc533e7ad94d148351c16f48afd2a688a64c48a.
2010-05-27 19:02:20 +01:00
Melanie Thielker
6b6425aa5e Comment noisy "CONNECTION DEBUGGING" messages, because they push more
important stuff off screen too fast
2010-05-27 18:44:15 +01:00
Melanie Thielker
9ac8d2de79 Just because there is an agent update handler, that doesn't mean there is
a pre agent update handler. Null check these separately.
2010-05-26 18:25:53 +01:00
Melanie
a69c1c7898 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-26 10:56:37 +01:00
Melanie
1c7f60ab49 Merge branch 'unitests'
Signed-off-by: Melanie <melanie@t-data.com>
2010-05-26 10:56:24 +01:00
AlexRa
5d65ef2db3 Minor correction to AssetTests.cs
(forgot to change test descriptions, has no effect on running the tests)
2010-05-26 10:25:56 +03:00
dahlia
5e719d13ef fix sculpt normal direction for mirrored plane sculpts 2010-05-24 19:15:04 -07:00
Melanie
7d9b316ce6 Change the way alpha is interpreted on prim text. Manris #4723 2010-05-24 23:37:47 +01:00
Justin Clark-Casey (justincc)
c7c9edd049 minor: expand upon comments about not scheduling two full updates for attachments 2010-05-24 20:11:06 +01:00
Diva Canto
30e94cd075 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-05-23 12:23:16 -07:00
Diva Canto
1ab826d67c The 8th migration statement in AssetStore.migrations didn't look right. 2010-05-23 12:22:47 -07:00
AlexRa
57f4729eea Ensured that tests are skipped for wrong conn string, also m_log chng
The base test class now tries to connect to DB, ignores all tests in the
class if unable to.

Also m_log changed to instance field (which in this case shouldn't cause
any problems),  to avoid having to define it separately in each derived
class.  Here I touched things that I don't understand well (using log4net),
so please review this commit.
2010-05-23 12:46:33 +03:00
AlexRa
b9b6d9c4ea Removed (unused?) empty SQL files from MSSQL resource dir
There was a whole bunch of these SQL files, all empty and apparently
unused.  Removing them is just a clean-up, if anybody has a reason for these
files to be there, feel free to revert.
2010-05-23 11:48:30 +03:00
AlexRa
05d9ca1b26 MySQL Migrations: Minor correcton to Region/Estate split
(some Estate SQL left behind in the Region migration)
2010-05-23 11:48:28 +03:00
AlexRa
52a3dbd076 MSSQL Migration: CreatorID in InventoryItems changed to VARCHAR(36)
Again, the same thing about potentially having non-GUID CreatorID.
2010-05-23 11:48:25 +03:00
AlexRa
89b7c64b6f Various minor changes in the data tests 2010-05-23 11:48:22 +03:00
AlexRa
9976cb93ce Further corrections to MS SQL stores (now passes all tests)
Besides, AssetData is slightly optimized to StoreAsset in one request
("IF EXISTS() UPDATE ... ELSE INSERT ...")

The main change in the MS SQL Inventory implem. is that it now return
empty list (or whatever) when called with UUID.Zero, which is consistent
with how the code for other DBs work.

I did no changes at all in XInventory, as there is no test set for them.
2010-05-23 11:48:19 +03:00
AlexRa
ebc2b6d4f6 Split migrations for RegionStore and EstateStore (see WARNING!)
ok, so the estate stores now want their own migration files, but as it
happened the SQL definition were inside the Region migrations.
It seems better/cleaner to keep each 'store' separately updatable.

WARNING: any editing in the middle of the migration scripts (as opposite
to just appending to them) has the potential of messing up updates of
existing databases.  As far as I can see, this one is (probably) safe,
the worst that could happen is the EstateStore migration silently fail
if the estate the tables are already there.
2010-05-23 11:48:16 +03:00
AlexRa
724305c37b Prebuild: removed DB-specific test projects, added refs to Data.Tests 2010-05-23 11:48:13 +03:00
AlexRa
2537acc04d Unitests: Asset, Estate, Region (the "legacy" one), Inventory
The tests have been modified to work under NUnit 2.4.6
(the one currently used in the project).

They will also work with NUnit 2.5+ as is, but will look better
if you #define NUNIT25 for them.
2010-05-23 11:48:10 +03:00
AlexRa
330ad501a5 Added MS SQL test conn to INI - only as an example, modify before use!!!
NOTE that this INI file is currently loaded as a embedded RESOURCE, which is weird and has a
disadvantage of having to rebuild the Tests whenever the conn strings are changed.
The only reason is that I couldn't figure out a reliable way to put this INI into the correct
dir at runtime. If somebody can do it, that would be cool.
2010-05-23 11:48:08 +03:00
AlexRa
40031e6d37 Removed MySql and SQLite-specific asset test files 2010-05-23 11:48:05 +03:00
AlexRa
b1e6e99506 BasicAssetTest.cs replaced by AssetTests.cs
AssetTests: The name has changed to reflect the fact it is no longer a base class,
but the complete asset test for all supported databases.

The test can also check storing of CreatorID, but the feature is
disabled at this commit!
2010-05-23 11:48:02 +03:00
AlexRa
749cf0f6eb Bugfix in tests (must clear db before migrations, not after) 2010-05-23 11:47:59 +03:00
AlexRa
f527584ed3 EstateData tests passing on all DBs 2010-05-23 11:47:56 +03:00
AlexRa
94f4c20866 Corrections in RegionTests.cs. It now fully works!
The problem was that some tests relied on prior tests
to leave the DB in a particular state, but the test class
cleared the DB every time. The affected tests have been
merged into one to remove the dependencies.

tested on all 3 Dbs, all tests green.
2010-05-23 11:47:54 +03:00
AlexRa
6322a085b3 Minor corrections in BasicDataServiceTest.cs
(added more functions for cleaning up DB from the
derived tests)
2010-05-23 11:47:51 +03:00
AlexRa
187a98615b MSSQL: added asset_flags, CreatorID to migrations 2010-05-23 11:47:48 +03:00
AlexRa
49f4cc4246 MSSQLAssetData updated to support [CreatorID], [asset_flags] 2010-05-23 11:47:45 +03:00
AlexRa
f7bf3facff MSSQLAssetData: fixed some weirdness
Fixed unfinished SQL in FetchAssetMetadataSet, fixed SQL
in UpdateAsset (must not modify ID).

NOT tested!  But apparently shouldn't work worse than the previous version,
esp. the FetchMetadata thing.
2010-05-23 11:47:42 +03:00
AlexRa
7f70ae0ebd All data tests made DBMS-independent 2010-05-23 11:47:39 +03:00
AlexRa
91ad1f4ee7 Added generic base classes for testing database services
These are some generic classes that simplify writing tests
for any of the data connectors and databases. Among other
things, configuring the connection strings is done once,
in a separate resource file.

Tests based on the new BasicDataServiceTest class require
NUnit 2.5 or better.
2010-05-23 11:47:36 +03:00
Melanie
f84f0dbd51 Remove an unneeded conditional 2010-05-23 06:12:40 +01:00
Justin Clark-Casey (justincc)
b2197e3b94 Apply http://opensimulator.org/mantis/view.php?id=4632
Adds dialog methods for MRM.
Thanks ziah.
2010-05-21 23:37:05 +01:00
Justin Clark-Casey (justincc)
074937e0e5 Apply http://opensimulator.org/mantis/view.php?id=4627
Adds OwnerId and CreatorId properties to MRM.IObject
2010-05-21 23:34:47 +01:00
Justin Clark-Casey (justincc)
e5bcd8b341 Apply adaption of patch in http://opensimulator.org/mantis/view.php?id=4628
This prevents a ground-sitting avatar from being moved about in mouselook
Thanks mirceakitsune!
2010-05-21 23:29:37 +01:00
Justin Clark-Casey (justincc)
9e61e120a1 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-05-21 23:12:47 +01:00
Mikko Pallari
4e45718833 Added overload of SendGenericMessage to LLClientView with string list as parameter. Now modules themselfs don't necessarily need to convert strings to byte arrays. Added this as it was removed in LightShare patch. 2010-05-21 23:08:07 +01:00
Justin Clark-Casey (justincc)
6918446fcd Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-05-21 22:17:58 +01:00
John Hurliman
d0eecf0398 Added a sanity check before using m_config in the Scene constructor 2010-05-21 14:17:03 -07:00
John Hurliman
abd5d1f747 * Added code comments to Prioritizer.cs that document how to add a new update priority policy 2010-05-21 14:04:10 -07:00
Justin Clark-Casey (justincc)
89f1ddb0a5 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-05-21 21:58:55 +01:00
Justin Clark-Casey (justincc)
5287c5f7fb rearrange SceneGraph.AddSceneObject() to return earlier if an object with that uuid is already in the scene
this means that we don't perform pointless work
2010-05-21 21:57:56 +01:00
John Hurliman
93ef65c690 * Moving all of the prioritization/reprioritization code into a new file Prioritizer.cs
* Simplified the interest management code to make it easier to add new policies. Prioritization and reprioritization share code paths now
* Improved the distance and front back policies to always give your avatar the highest priority
2010-05-21 13:55:36 -07:00
Justin Clark-Casey (justincc)
4b518e0288 minor: remove LongRunning test designator from TestAddSceneObject() since it isn't, really 2010-05-21 21:48:47 +01:00
Justin Clark-Casey (justincc)
76135eec5b add test to make sure that adding an object where one already exists in the scene with that uuid fails 2010-05-21 21:46:41 +01:00
Justin Clark-Casey (justincc)
8d968249ec extend TestAddSceneObject() to check Scene.AddNewSceneObject() return boolean
improve test to retrieve object by known uuid rather than dynamically assigned local id
2010-05-21 21:38:47 +01:00
Justin Clark-Casey (justincc)
f83acf533b Fix a problem where SceneGraph.AddSceneObject() would return false on successfully adding an object rather than true, in defiance of its method documentation
This meant that the returns were inconsistent - false would be returned both for various scene object failure conditions (e.g. root part was null) and if the object was successfully added.
2010-05-21 21:22:53 +01:00
Melanie
4e23acb133 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-21 21:04:17 +01:00
Melanie
2b5b2f4e60 Add a new priority scheme that works like FrontBack, but completely deprioritizes
static prims, creating a hierarchy as follows:
0 == own avatar < other avatars < pysical prims < static prims
For a child agent, simply acts like FrontBack
2010-05-21 21:02:26 +01:00
Justin Clark-Casey (justincc)
721c1085da make oar object filename/pathname creation a helper method
reused in both tests and oar code
reduction in checking is outweighed by greater test clarity
2010-05-21 20:43:11 +01:00
Justin Clark-Casey (justincc)
682efe9463 minor: refactor CreateAsset to eliminate dupe code 2010-05-21 19:41:00 +01:00
Justin Clark-Casey (justincc)
74ef1ed36f add prim item and test asset save in save oar unit test 2010-05-21 19:36:39 +01:00
Justin Clark-Casey (justincc)
78a0fd5281 Only send dialogs and notices to root agents, not child agents 2010-05-21 17:22:39 +01:00
Melanie
1d6ab445ab Change the way the object perms are propagated to attempt to salvage
some older content
2010-05-21 15:31:27 +01:00
Melanie
a2e24377b4 Replace CSJ2K with fixed version (Mantis #3318) 2010-05-21 15:26:04 +01:00
John Hurliman
9f2d1e9294 * Made PriorityQueue non-generic so it natively understands EntityUpdate structs
* Replaced the per-avatar seen update tracking with update flag combining, to avoid overwriting full updates with terse updates
2010-05-20 23:53:27 -07:00
Melanie Thielker
792e149c7e Ensure that the first update sent out for any given prim is a full update 2010-05-21 05:13:31 +01:00
Diva Canto
213e372253 Cleaned up MySql migrations a bit more, got rid of all old-form migration files. Restored Presence table to its taboo-breaking form. 2010-05-20 20:24:50 -07:00
Diva Canto
13c22015e5 Removed sessionID from GridUserservice again. Removed parcel crossing detection from Robust connector. Fixed Simian to continue to send those location updates upon parcel crossing, without changing the interface. 2010-05-20 15:14:14 -07:00
unknown
beed74096c Merging slimupdates2 2010-05-20 12:28:13 -07:00
unknown
56f3cb6da0 * Don't send texture data for prims in ImprovedTerseObjectUpdate packets unless we were asked to 2010-05-20 12:04:12 -07:00
unknown
59dec2f989 * Added sessionID to IGridUserService.SetLastPosition(), as some connectors will want to track position against sessionID instead of userID
* Updated SimianPresenceServiceConnector to use the new LoggedOut/SetHome/etc methods and only update session position on parcel crossing
2010-05-20 11:51:57 -07:00
Melanie
859beaf830 Revert one of the previous patches' hunks. The new code looked better, but
was less efficient.
2010-05-20 11:03:38 +01:00
AlexRa
ce787a4c41 Series of patches to include creator ID in assets.
Contains a migration.

SQLite: May contain nuts.

The SQLite migration copies the entire asset table. Be prepared for quite a wait. Don't interrupt it. Back up your assets db.

BasicAssetTest checks CreatorID storage, new test for weird CreatorID

(now also checks that non-GUID or empty CreatorID gets stored correctly)

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-20 11:01:51 +01:00
AlexRa
d6a6668bd7 Scrambled asset type in BasicAssetTest.cs!
The asset type wasn't in the list of "DontScramble" fields,
so the test assets were stored with randomized type, which
caused exception on reading them.

Also the scrambler was moved from local var to the class level,
so it could be used in the new tests I've added (see the next commit).
2010-05-19 21:50:34 +03:00
AlexRa
64fe823b92 MySQLAssetData.cs now supports asset_flags, CreatorID 2010-05-19 21:50:32 +03:00
AlexRa
eacd8d0263 MySQL: added CreatorID, moved asset_flag to migration script 2010-05-19 21:50:30 +03:00
AlexRa
accf8c420d SQLite: CreatorID added (and asset_flags moved) to the migration script 2010-05-19 21:49:30 +03:00
AlexRa
c6977cbd4d Added CreatorID to SQLite asset data 2010-05-19 21:49:24 +03:00
AlexRa
ccee95552f A bit of harmless refactoring in SQLiteAssetData.cs 2010-05-19 21:49:22 +03:00
AlexRa
d71c483bf0 Prebuild: added *.migrations as resources to MSSQL, SQLiteLegacy (just in case) 2010-05-19 21:49:20 +03:00
AlexRa
527a257b9f Kind of fixed Melanie's "Exception(sql)" correction
Throwing an Ex. with SQL command in the message looks weird,
this is a bit better, but I'm still not sure if that's the
proper way to handle.  Also, there is a catch one level up,
so is this one necessary?
2010-05-19 21:49:18 +03:00
Melanie
e4b8d76b10 Change appender to deal with line feeds more intelligently.
Change migration error reporting to not truncate the statement when
reporting. It's a bit messier than the old error reporting, but at least
one gets an idea of what could be wrong again. And things look a lot
neater now.
2010-05-19 04:17:56 +01:00
Melanie
0c209a469b Clean up output a bit 2010-05-19 03:48:03 +01:00
Melanie
20642f2f21 Fix the migration message to say "Continuing" again. Remove line feed, which
prevented the full message from displaying.
2010-05-19 03:26:37 +01:00
Melanie
9fa8013ca5 Remove the return that was inserted in the last merge to allow
migrations to continue in the face of an error
2010-05-19 03:07:31 +01:00
Melanie
dedc0c0bd4 Revert "Allow migration steps to fail again without bringing down the house"
This reverts commit 167db50259.
2010-05-19 02:47:31 +01:00
Melanie
167db50259 Allow migration steps to fail again without bringing down the house 2010-05-19 02:33:23 +01:00
Melanie
298368dd99 Merge commit 'alex/mssql-estate-bugfix'
This fixes some type conversion bugs and also makes the estate lists
work properly for MSSQL. Strawberry, please check this.

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-18 23:39:09 +01:00
Melanie
d2bc673667 Make m_log in migrations private. Define new m_log in derived class 2010-05-18 23:33:05 +01:00
Melanie
caf61ab7d8 Binary Guids are 16 chars long. Fix parser. 2010-05-18 23:22:30 +01:00
Melanie
4fee3f9548 Revert a revert? Am i mad? Don't answer that....!
Revert "Revert "Looks like the new files were never added to prebuild.xml""

This reverts commit f253758c2e.
2010-05-18 23:15:29 +01:00
Melanie
397326ddfa Merge commit 'alex/Migrations'
Another stab at the tests

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-18 23:02:10 +01:00
AlexRa
deae030145 Some more corrections after MySQL connector update 2010-05-19 02:28:19 +03:00
AlexRa
8a0c5d14d4 All (?) MySQL stores fixed to use DBGuid.FromDB()
This was needed if we want to update to the latest MySQL
connector dll.  It automatically converts CHAR(36) to
Guids, so getting them as strings no longer works.

By using DBGuid.FromDB(), we unlink from any particular
storage format of GUIDs, could even make them BINARY(16)
if we like.

Actually not all MySql units are touched, but the remaining ones don't
seem to be affected (they don't read GUIDs from DB)
2010-05-19 01:33:02 +03:00
AlexRa
a27d49b188 Added DBGuids.cs (static func DBGuid.FromDB()
This DBMS-independent function to be used converting UUIDs
from whatever format used in the DB (string/binary/Guid).
This is mostly needed for MySQL, as in MSSQL they are always
UNIQUEIDENTIFIERs and in SQLite always strings (but would look
better if we use it there anyway).
2010-05-19 01:32:50 +03:00
Melanie
f253758c2e Revert "Looks like the new files were never added to prebuild.xml"
This reverts commit df49756e7b.
2010-05-18 21:29:02 +01:00
Melanie
df49756e7b Looks like the new files were never added to prebuild.xml 2010-05-18 21:15:58 +01:00
Melanie
6eef334059 Merge commit 'alex/Migrations'
Adding what, in the World according to Alex, will fix the tests

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-18 21:00:10 +01:00
AlexRa
020f38774f MS SQL migrations converted to the new format 2010-05-18 22:16:13 +03:00
AlexRa
6e7b3950d7 Migrations for SQLite converted to new format 2010-05-18 22:16:10 +03:00
AlexRa
e4419c34c3 Converted MySQL migration history to the new format
Replaced all NNN_StoreName.sql migration resources with a more
readable, single-file-per-store
2010-05-18 22:16:06 +03:00
AlexRa
4ebb985b46 Added MySqlMigrations.cs (supports stored proc/funcs)
Uses MySqlScript class to correctly run proc/func definitions
that need delimiter change. Requires MySql.Data.dll 6.2 or later.
2010-05-18 22:16:03 +03:00
AlexRa
ade2e5a9d2 Embedded MySql.Data.dll updated to 6.2.3.0.
This is necessary to correct a known problem with the
DELIMITER command in previous versions of the client library.
2010-05-18 22:16:00 +03:00
AlexRa
f4450ccf4f Migration.cs supports single-file migration history format
Scans for migration resources in either old-style "scattered" (one file per version)
or new-style "integrated" format (single file "Resources/{StoreName}.migrations[.nnn]") with ":VERSION nnn" sections).
In the new-style migrations it also recognizes ':GO' separators for parts of the SQL script
that must be sent to the server separately.  The old-style migrations are loaded each in one piece
and don't support the ':GO' feature.

Status:  TESTED and works fine in all modes!
2010-05-18 22:15:56 +03:00
AlexRa
d95f232629 Massive bugfix in MSSQLEstateData (now works!) 2010-05-18 21:08:51 +03:00
Melanie
e260610c00 Merge branch 'Migrations'
This merges AlexRa's work on migration streamlining. This merge is experimental.
If it causes issues, feel free to back out.

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-18 19:03:16 +01:00
Melanie Thielker
3e1f2ddb8e Allow remote admin to be used on a different port from the main region port 2010-05-18 17:01:44 +01:00
Melanie
df04ccfdc3 Change an exception reporting to include the stack trace. "e.Message" just
_won't_ do. Might look more elegant, but it's too little information.
2010-05-18 15:30:08 +01:00
Melanie
a6023ea89e Prevent a crash when the two agent dictionaries get out of sync 2010-05-16 20:31:02 +01:00
Diva Canto
2fb79646c6 Fixes mantis #4691 for real. This time I tested it, and it works. 2010-05-16 10:32:57 -07:00
Diva Canto
0b43b263d4 Fixes mantis #4691 2010-05-16 09:12:40 -07:00
Diva Canto
b7e6b58857 Fixes mantis #4622. 2010-05-16 09:01:27 -07:00
Diva Canto
49f4becdae * Fixed configs in StandaloneHypergrid.ini, it still had the SQLite connection strings.
* Added a comment in LLLoginService.cs, for future reference
2010-05-16 08:10:57 -07:00
AlexRa
dfeb9a0b5c MS SQL migrations converted to the new format 2010-05-16 17:04:50 +03:00
AlexRa
1ad12851d0 Migrations for SQLite converted to new format 2010-05-16 17:04:39 +03:00
AlexRa
ee713cb253 Converted MySQL migration history to the new format
Replaced all NNN_StoreName.sql migration resources with a more
readable, single-file-per-store
2010-05-16 17:04:13 +03:00
AlexRa
b49fb3db7c Added MySqlMigrations.cs (supports stored proc/funcs)
Uses MySqlScript class to correctly run proc/func definitions
that need delimiter change. Requires MySql.Data.dll 6.2 or later.
2010-05-16 16:25:08 +03:00
AlexRa
a49716dc2f Embedded MySql.Data.dll updated to 6.2.3.0.
This is necessary to correct a known problem with the
DELIMITER command in previous versions of the client library.
2010-05-16 16:24:50 +03:00
AlexRa
8b6a295874 Migration.cs supports single-file migration history format
Scans for migration resources in either old-style "scattered" (one file per version)
or new-style "integrated" format (single file "Resources/{StoreName}.migrations[.nnn]") with ":VERSION nnn" sections).
In the new-style migrations it also recognizes ':GO' separators for parts of the SQL script
that must be sent to the server separately.  The old-style migrations are loaded each in one piece
and don't support the ':GO' feature.

Status:  TESTED and works fine in all modes!
2010-05-16 16:22:38 +03:00
Teravus Ovares (Dan Olivares)
a974146921 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-05-16 01:48:28 -04:00
Teravus Ovares (Dan Olivares)
d4192dcb2e * Revert last commit for now at Melanie_T's request.
* Additional ways of configuring opensim break with this
2010-05-16 01:47:53 -04:00
Diva Canto
ff4f50396a Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-05-15 20:28:14 -07:00
Diva Canto
e5e52e4072 This combination is working. It all points to not being able to use 127.0.0.1/localhost in testing HG situations. The login server must have the LAN IP address, and the regions must show ExternalHostname as SYSTEMIP. Working, but this needs more testing. 2010-05-15 20:27:25 -07:00
Teravus Ovares (Dan Olivares)
019925bb2f Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-05-15 23:22:07 -04:00
Teravus Ovares (Dan Olivares)
dc1a3e9787 * Add User Friendly Configuration File Exists check. If OpenSim.ini and either StandaloneCommon.ini or GridCommon.ini don't exist in various casings then offer to copy the files for the user while warning them that they're missing out if they don't read the files. 2010-05-15 23:21:36 -04:00
Diva Canto
74b23ff9c6 Almost, but not quite. Commenting verification again, until I understand where 127.0.0.1 is being transformed to the local IP address. I suspect it's Adam's NAT snippets. 2010-05-15 19:58:30 -07:00
Diva Canto
2a1e45f657 Finalized the client's TCP IP address verification process for HG1.5. 2010-05-15 19:25:14 -07:00
unknown
9dbe90801b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into slimupdates2 2010-05-15 02:20:47 -07:00
Dan Lake
36bcab5f07 Refactor scene presence list for lockless iteration. Lock contention will now only be for simultaneous add/removes of scene presences from the scene. 2010-05-15 02:20:23 -07:00
Justin Clark-Casey (justincc)
4b755c6d80 delete now unused MessageServerInfo 2010-05-15 02:17:10 +01:00
Justin Clark-Casey
df2f69f295 Make "nant distbin" remove BUILDING.txt 2010-05-15 02:07:07 +01:00
Justin Clark-Casey (justincc)
98f2b798ff Address symptom of Mantis 4588 (though not the cause) by moving the avatar dereference inside the exception catch 2010-05-15 01:07:45 +01:00
Justin Clark-Casey
3d72a73b22 Apply patch from http://opensimulator.org/mantis/bug_view_page.php?bug_id=4671
Fixes a bug where the viewer didn't recieve the uuid of a chat broadcasting object
Thanks crystalsgalicia!
2010-05-14 21:25:14 +01:00
unknown
231cc64709 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into slimupdates2 2010-05-13 14:23:16 -07:00
OpenSim Master
4c740e1717 Implements three new OSSL functions for parcel management: osParcelJoin joins parcels in an area, osParcelSubdivide splits parcels in an area, osParcelSetDetails sets parcel name, description, owner and group owner. Join and Subdivide methods in LandChannel are exposed. 2010-05-13 14:22:48 -07:00
Diva Canto
4e7013d5d5 Made fields consistently protected. 2010-05-13 07:59:30 -07:00
unknown
5d8638ed88 Minor tweak in ProcessEntityUpdates (mostly just confirming the git push is working) 2010-05-12 16:05:48 -07:00
unknown
bf5c81d77e * Initial commit of the slimupdates2 rewrite. This pass maintains the original behavior of avatar update sending and has a simplified set of IClientAPI methods for sending avatar/prim updates 2010-05-12 15:59:48 -07:00
unknown
8368494554 Removed the unreferenced MaxPrimsPerFrame from OpenSim.ini.example 2010-05-12 13:52:21 -07:00
Diva Canto
739b5e2c08 Fixed a typo in the Friends packaging (Pricipal -> Principal) that was making offline friendship offers fail in grids. 2010-05-10 08:01:00 -07:00
Melanie
31dc77d8a1 Return agents when angle is PI
Fixes Mantis #4703
2010-05-10 04:02:56 +01:00
Melanie
3e8ceb3509 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-10 03:57:44 +01:00
Melanie
89c762209c Fix a null ref on region crossing 2010-05-10 03:57:17 +01:00
Diva Canto
6f2f0fa0ca OK, this really fixes it, I promise. 2010-05-09 14:12:59 -07:00
Diva Canto
9cf6b81256 Yey for unit tests. The previous commit had a couple of bugs on SQL statements. Fixed here. 2010-05-09 14:02:02 -07:00
Diva Canto
b233a4b2ca * Fixed spamming the assets table with map tiles. The tile image ID is now stored in regionsettings. Upon generation of a new tile image, the old one is deleted. Tested for SQLite and MySql standalone.
* Fixed small bug with map search where the local sim regions weren't found.
2010-05-09 13:39:56 -07:00
Melanie
bc6995f921 Add Delete handler to SQLite (NG) 2010-05-09 18:02:36 +01:00
Melanie
60357d3778 Implement the "delete" path for assets. Adds a new option to allow remote asset deletion in robust handler. 2010-05-09 17:56:52 +01:00
Melanie
9b22393cf3 Add a field asset_flags and a corresponding enum to the asset database. This
CHANGES THE ASSET SERVER PROTOCOL and means you CAN NOT MIX PRIOR VERSIONS
WITH LATER ONES. It may also eat your babies, yada, yada, yada.
The usual cautions for migrations to the assets table apply.
Coding: Can not guarantee nut free.
2010-05-09 17:02:22 +01:00
Diva Canto
c1fe07b022 * Added missing loggout notification to home grid upon agents logging out in foreign grids.
* Added missing config in StandaloneHypergrid.ini
2010-05-08 12:21:17 -07:00
Diva Canto
d72769930a More cleaning on presence. Friends online/offline works again. 2010-05-08 07:44:07 -07:00
dahlia
6817f4849c test commit for panda 2010-05-07 22:52:39 -07:00
Teravus Ovares (Dan Olivares)
a6e7bee757 More Git/panda integration Testing.. 2010-05-08 01:44:03 -04:00
Diva Canto
bfb7a49990 Fixed Presence unit test. Removed unnecessary packing/unpacking of obsolete fields. 2010-05-07 21:56:14 -07:00
Diva Canto
15562017f2 These files are part of the GridUserService write-up. 2010-05-07 21:32:02 -07:00
Diva Canto
a58859a0d4 GridUserService in place. Replaces the contrived concept of storing user's home and position info in the presence service. WARNING: I violated a taboo by deleting 2 migration files and simplifying the original table creation for Presence. This should not cause any problems to anyone, though. Things will work with the new simplified table, as well as with the previous contrived one. If there are any problems, solving them is as easy as dropping the presence table and deleting its row in the migrations table. The presence info only exists during a user's session anyway.
BTW, the Meshing files want to be committed too -- EOFs.
2010-05-07 21:29:56 -07:00
dahlia
eb6d63ab8e improve handling of undersize sculpt textures 2010-05-06 23:02:24 -07:00
dahlia
39c5ddc837 corrections for face numbering and uv mapping, mostly for spheres - sync with PrimMesher r56 2010-05-06 22:08:59 -07:00
dahlia
5d1e9947ed Sculpt meshing refactoring - improves mesh accuracy and UV mapping
Sync with PrimMesher r55
2010-05-06 21:36:27 -07:00
Melanie
6182d71326 Also remove sale and search flags on god owner change. 2010-05-07 00:52:52 +01:00
Melanie
907fce8406 Remove land that is being abandoned from search. This is now consistent with
sale and reclaim.
2010-05-07 00:50:26 +01:00
Melanie
9ecebcdf13 Revert "Patch from mcortez: Update groups, add ALPHA Siman grid connector for groups"
Causes an exception within HttpServer, headers have already been sent.

This reverts commit 8187fccd25.
2010-05-06 16:39:21 +01:00
Melanie
533bd1bd9b Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-06 16:08:24 +01:00
Melanie
adc34c7129 Ensure the show in search flag is cleared on ownership change. Also, when
land is reclaimed, reset it's for sale flags so it can't be bought again right
away.
2010-05-06 16:07:15 +01:00
Diva Canto
53594e599e * Fixes Library bugs in grid mode. Partly a missing check and partly a missing configuration.
* Made previous Robust config changes consistent in Robust.HG.ini.example
2010-05-05 21:12:13 -07:00
Teravus Ovares (Dan Olivares)
4183cef409 * Fixes LandDataSerializerTests on Windows by stripping CR from the serialization result since the reference serialization has LF only.
* Added a bool result and then an Assert.That(result) because resharper was having a hard time with the equality compare in Assert.That.
2010-05-05 21:22:29 -04:00
Melanie
8b4f729a21 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-05 23:58:14 +01:00
Diva Canto
ebc3726d52 Added copying of Viewer field to the agent circuit data that is being passed on TPs and crossings.
(XmlRpcGroups files want to be committed too)
2010-05-05 16:54:48 -07:00
Melanie Thielker
2b48ed60ec Remove the m_Viewer variable and make the property a shortcut to the
proper field in AgentCircuitData instead
2010-05-05 23:41:57 +01:00
Melanie
ad2039a8c4 Stab a test fail 2010-05-05 22:48:05 +01:00
Melanie Thielker
e45f5ac126 Plumb Viewer version into ScenePresence for initial login. It's still not
carried along
2010-05-05 22:33:22 +01:00
Melanie Thielker
2ebe148266 Plumb the viewer version string through into AgentCircuitData. Now all that
is left os to figure out what black magic turns AgentCircuitData into
AgentData and then copy that into the ScenePresence, where m_Viewer is
already added with this commit and waits for the data.
2010-05-05 22:15:32 +01:00
Melanie Thielker
fe8399d1bf Add a XMLRPC method to remotely set the login level for the LLLoginService.
This requires a special XMLRPC call, which has to supply the credentials of
a god user (User level >= 200). Disabled by default. Also Adds a configuration
option to set the initial permitted login level.
2010-05-05 20:46:53 +01:00
Melanie Thielker
7aed89a8d0 Removed a test for a "can't happen" case. ParentGroup is never null anymore. 2010-05-05 18:51:01 +01:00
Melanie
8187fccd25 Patch from mcortez: Update groups, add ALPHA Siman grid connector for groups
Signed-off-by: Melanie <melanie@t-data.com>
2010-05-05 16:12:52 +01:00
Teravus Ovares (Dan Olivares)
a9db266d93 * Added an important comment to warn people not to use MockConsole for anything but testing. 2010-05-04 22:16:07 -04:00
Teravus Ovares (Dan Olivares)
f005e570aa * This should fix the tests failing because of a MainConsole.Instance null reference
* Added a MockConsole that doesn't require a handle to System.Console
2010-05-04 22:13:25 -04:00
Melanie Thielker
34d882b70d Add perms check to the teleport home client command handlers. 2010-05-04 23:15:07 +01:00
Melanie Thielker
3761f79971 Strip estate message sending out from the estate management module and
the dialog module. Convert it to an event on the estate module interface.
The old implementation did the same as message to region, a button that
is right next to it on the UI. This implementation prevented people from
adding a more sane one in a module.
2010-05-04 21:26:10 +01:00
Melanie Thielker
5a4cef6b36 make the events more useful by providing the source region 2010-05-04 18:55:24 +01:00
Melanie
1d75450743 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-04 18:37:11 +01:00
Melanie Thielker
d997fc7b76 Add events to the estate interface to let interested modules know of
changes to estate settings
2010-05-04 18:36:45 +01:00
Diva Canto
61ce4ca9c7 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-05-04 09:44:56 -07:00
Diva Canto
484584b83c Fixed: migration #2 for SQLite. Problem was that ATTACH cannot be done inside a transaction. 2010-05-04 09:44:30 -07:00
Melanie Thielker
9cf0077bf9 Add "reload estate" command to sims 2010-05-04 16:11:06 +01:00
Melanie Thielker
6eea0a3931 Allow reloading of estate settings into a running region. Move sun update
helper into Scene, since that is less evil than exposing m_storageManager
to the public.
2010-05-04 15:52:36 +01:00
Melanie Thielker
9635af61f0 Allow regions to get the list of the other regions in the estate 2010-05-04 15:52:29 +01:00
Melanie Thielker
23d7a942ea Refix the fix 2010-05-03 23:11:48 +01:00
Melanie Thielker
92dff5edb1 Add folder version incrementing to XInventoryService. Fixes offline give
for avatar->avatar
2010-05-03 23:11:37 +01:00
Melanie
f61b879f2d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-03 21:25:40 +01:00
Melanie Thielker
92561aef8d Store given items in correct parent folder. Fixes items given to offline avatars
not getting lost.
2010-05-03 21:25:02 +01:00
Diva Canto
b10811a13b Assorted bug fixes in hypergrid linking. 2010-05-03 09:50:55 -07:00
Melanie
1494c84f56 Fix a bug in owner change notification 2010-05-03 02:40:52 +01:00
Melanie
75063e8f60 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-03 01:31:32 +01:00
Teravus Ovares (Dan Olivares)
7b80060df1 * Another one of those super useful commit tests 2010-05-02 21:00:20 -04:00
Teravus Ovares (Dan Olivares)
d6bfc490f7 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-05-02 20:45:01 -04:00
Teravus Ovares (Dan Olivares)
b836249926 * Untested Suggestion from lkalif to change
remoteClient.SendMapBlock(blocks, 0);
to
remoteClient.SendMapBlock(blocks, 2);
in OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs
2010-05-02 20:44:34 -04:00
Melanie
7a8ad1ceb2 Make in-place sale send CHANGED_OWNER again 2010-05-03 01:30:57 +01:00
Melanie
45301d8a49 Defer sending of CHANGED_OWNER to make it work on rezzed objects and
attachments in addition to objects sold in place
2010-05-03 01:14:38 +01:00
Teravus Ovares (Dan Olivares)
fc3e24af9c Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-05-02 20:08:59 -04:00
Teravus Ovares (Dan Olivares)
74d63d4da2 Modify README.txt to trigger new build /again/ 2010-05-02 20:08:19 -04:00
Teravus Ovares (Dan Olivares)
18f6714451 Modify README.txt to trigger new build 2010-05-02 19:56:40 -04:00
Melanie
af0ffb2a5a Add URL_REQUEST_* script constants 2010-05-03 00:15:55 +01:00
Melanie
fbd4222533 Last time? 2010-05-03 00:11:12 +01:00
Melanie
88016b9c2a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-03 00:10:14 +01:00
Melanie
02f9b3ac2d And again 2010-05-03 00:09:47 +01:00
Melanie
d9910d2a44 test commit 2010-05-03 00:08:28 +01:00
Melanie Thielker
7e74291176 Make the IUserAccountData properly unpack the god mode data, so grid gods
work again
2010-05-02 23:36:00 +01:00
Diva Canto
cbb297bc79 Renamed HGInventoryBroker2 to HGInventoryBroker. 2010-05-02 10:37:57 -07:00
Diva Canto
052580ef44 Deleted HGInventoryBroker, so that the new one can take its name. 2010-05-02 10:32:47 -07:00
Diva Canto
bd49985afa Switched everything to XInventory by default. The old Inventory is still there for now, in case bugs pop up with XInventory. 2010-05-02 10:31:35 -07:00
Justin Clark-Casey (justincc)
648999dd3b add operation to "nant distbin" to copy StandaloneCommon.ini.example -> StandaloneCommon.ini 2010-04-30 22:37:23 +01:00
Melanie
0c2ab54d41 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-04-30 21:13:31 +01:00
Justin Clark-Casey (justincc)
f1164161b3 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-30 22:22:40 +01:00
Justin Clark-Casey (justincc)
f3662e3d15 minor: eliminate more debug Console.WriteLines, convert one to logging instead 2010-04-30 22:22:03 +01:00
Melanie Thielker
d0accc0732 Allow retrieval if admin users in scope mode 2010-04-30 21:13:03 +01:00
Melanie Thielker
177048a651 Fix linking issue introduced in my earlier commit 2010-04-30 20:16:21 +01:00
Melanie
23282935f1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-04-30 19:29:21 +01:00
Diva Canto
5fda81e6bb * XInventory fairly tested, including for HG. Almost ready to switch.
* Removed a few buglets and added better exception handling.
2010-04-30 11:39:02 -07:00
Melanie
d1fcd22173 Fix a null ref from trying to access a dictionary that was never initialized. 2010-04-30 19:28:44 +01:00
Justin Clark-Casey (justincc)
d921329799 take out some debug logging in the sqlite db adaptor 2010-04-30 18:18:21 +01:00
Justin Clark-Casey (justincc)
89e79c1133 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-30 17:54:00 +01:00
Justin Clark-Casey (justincc)
cc67de5b86 rename SQLiteNG to SQLite and SQLite to SQLiteLegacy
this seems the least evil way forward since mono 2.6 and later will see increasing usage, and this only works with what was SQLiteNG
MAC USERS WILL NEED TO CHANGE REFERENCES TO "OpenSim.Data.SQLite.dll" to "OpenSim.Data.SQLiteLegacy.dll" in OpenSim.ini and config-include/StandaloneCommon.ini (if using standalone)
See the OpenSim.ini.example and StandaloneCommon.ini.example files for more details
This commit also temporarily changes unsigned ParentEstateID values in the OpenSim.Data.Tests to signed temporarily, since the new plugin enforces creation of signed fields in the database (which is what the SQL actually specifies).  And change data columns in sqlite is a pita.
2010-04-30 17:45:00 +01:00
Justin Clark-Casey (justincc)
60dbc3c6ce Make SQLiteNG the default since it actually does work with Mono 2.4 on Linux.
I know this is tough on Mac OSX users (since SQLiteNG requires the export of the sqlite3_column_origin_name symbol and this isn't present for the Mac OSX sqlite3 system library)
Unfortunately, I need to shaft somebody (as it were)
2010-04-30 17:01:50 +01:00
Melanie
0ea908291d Fix some symbol errors 2010-04-30 12:08:08 +01:00
Melanie
4cc06ff993 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-04-30 11:47:24 +01:00
Melanie
22b3217113 Fix link security issue 2010-04-30 11:46:50 +01:00
Diva Canto
638dc8d3c2 Simplified RemoteXInventoryServiceConnector and HGBroker (2) by a lot. 2010-04-29 20:09:11 -07:00
Diva Canto
6a4fae123a Started redoing HGInventoryBroker for XInventory and with multi-protocol in mind. Unfinished. 2010-04-29 11:39:13 -07:00
Melanie
aba5db9ed4 Merge branch 'minor-stuff' 2010-04-28 19:38:29 +01:00
Diva Canto
2c595227b0 Commented verbose debug messages from XInventory handler. 2010-04-28 07:41:16 -07:00
AlexRa
be1141f0f7 Refactoring in Migration.cs: "using()" instead of explicit Dispose()
This ensures that 'cmd' gets disposed on errors
2010-04-28 13:40:35 +03:00
AlexRa
b49e9eff56 Fixed comments in Migration.cs: wrong argument order (no change to code) 2010-04-28 13:11:42 +03:00
unknown
aa56953411 Compiler.cs contained method GetCompilerOutput which, apparently,
was not used, but exactly the same path was calculated inline.
This patch does some minor refactoring by replacing inline path
calculation with GetCompilerOutput. This doesn't actually affect anything,
just minor prettifying of the code
2010-04-28 12:52:36 +03:00
AlexRa
8b75302a1e Just a bit of spellchecking in the comments 2010-04-28 12:21:39 +03:00
unknown
806a2555f5 Spelling in FriendsModule.cs: "filed to load" -> "failed to load" 2010-04-28 11:49:53 +03:00
unknown
fb7458be31 Minor spelling corrections in MiniModule: "RetreiveAsset" changed to
"RetrieveAsset" and 'm_rootSceene' to m_rootScene'.
2010-04-28 11:47:07 +03:00
AlexRa
423ff3b94b Removed unused var from InventoryService.cs (-1 warning) 2010-04-28 11:47:03 +03:00
AlexRa
b9c6ee6eb2 removed from git *.VisualState.xml (automatically created by NUnit) 2010-04-28 11:41:39 +03:00
AlexRa
0718748ea4 Removed from git .../obj directories (created by VStudio) 2010-04-28 11:41:22 +03:00
Diva Canto
c54bc5094d Putting it back to protected; Melanie doesn't like it to be public. 2010-04-27 18:52:15 -07:00
Diva Canto
044c1cf5f6 Changed GetToken from protected to public. This is not exposed at the interface. 2010-04-27 18:37:34 -07:00
John Hurliman
e838776920 * Thanks cmickeyb, for a patch that sanity checks if the response from m_Database.GetAsset(assetID) is null in AssetService.cs 2010-04-27 17:13:54 -07:00
John Hurliman
59ac792e44 * Thanks cmickeyb, for a patch that corrects an invalid construction of Primitive.TextureEntry (a "blank" texture should be initialized with UUID.Zero, not null) 2010-04-27 17:11:24 -07:00
justincc
6d05ea2a75 update Mono.Data.Sqlite.dll to the one that shipped with Mono 2.6.3, which is the one known to work in Windows
Thanks for the initial library inclusion, Diva.  I had it all queued up on my windows test machine but forgot to add it!
2010-04-27 20:44:04 +01:00
Diva Canto
3f9d38538e XInventory connector/handler showing signs of life. Tested, but needs more testing. 2010-04-27 11:01:56 -07:00
Melanie
a92ca3c2c9 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-04-27 03:49:25 +01:00
Diva Canto
76e87181b2 RemoteXInventoryServiceConnector, the plugin region module. Not active in default configs yet. 2010-04-26 20:28:37 -07:00
Melanie
1e743eab6d Allow a client to pass a scope id to log into in the login XML / LLSD 2010-04-27 03:48:49 +01:00
Melanie
edde0be0a0 Fix build break. 2010-04-27 01:11:14 +01:00
Melanie
6928ec0240 Add a parameter to prim inventory update to prevent event firing 2010-04-27 00:25:29 +01:00
Diva Canto
31d040dc1e Better error message. 2010-04-26 17:40:00 -07:00
Diva Canto
2686573b1c Uncommenting SQLiteNG project again. I found a Mono.Data.Sqlite.dll that makes the compilation in Windows happy again. Not sure if this is the right dll, Justin -- I grabbed it somewhere from mono 2.4.6 for Windows. 2010-04-26 15:03:47 -07:00
Diva Canto
2ac00b7f96 * Commenting SQLiteNG out of prebuild.xml, because it's making compile fail in Windows. Justin: you forgot to add Mono.Sqlite.dll, and I can't figure out where to grab it from!
* IRegionModule.cs wants to be committed too -- EOF.
2010-04-26 14:52:22 -07:00
Justin Clark-Casey (justincc)
15d42d2111 Add instructions for using SQLiteNG to OpenSim.ini and config-include/StandaloneCommon.ini
Unfortunately, database settings need to be changed in two places.
2010-04-23 22:06:02 +01:00
Justin Clark-Casey (justincc)
847cc4fceb remove [DatabaseService] section from OpenSim.ini since this is always present in included configuration files 2010-04-23 21:31:08 +01:00
Justin Clark-Casey (justincc)
10e18f465e minor: eliminate configuration section handling deprecation of OpenSim.DataStore.MonoSqlite.dll, since this hasn't exist for a long, long time 2010-04-23 21:29:09 +01:00
Justin Clark-Casey (justincc)
6e99e5b47a get region prim saving working properly in SQLiteNG
it wasn't working because of debug work that I'd forgotton to take out
2010-04-23 20:56:24 +01:00
Justin Clark-Casey (justincc)
f313d57fa4 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-23 20:11:26 +01:00
Justin Clark-Casey (justincc)
1b488c2581 dispose of the DbCommand used to execute migrations after we've finished with it rather than within the loop
disposing of it within the loop causes Mono.Data.Sqlite.dll to get upset, and it's the wrong behaviour anyway
2010-04-23 20:08:24 +01:00
dahlia
b5ec101cc8 add a comment about deprecating IRegionModule 2010-04-23 12:06:32 -07:00
Justin Clark-Casey
e78f874cfd put SQLiteNG classes in their own namespace to avoid confusion 2010-04-23 19:40:15 +01:00
Justin Clark-Casey (justincc)
fcbac43114 minor: correct the assembly information for SQLiteNG 2010-04-23 19:14:43 +01:00
Justin Clark-Casey (justincc)
5ee77886ac Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-23 19:05:32 +01:00
Justin Clark-Casey (justincc)
e84cc2f9db Change SQLiteNG to work with mono 2.6 and above using the Mono.Data.Sqlite.dll
Include the library so that Windows builds correctly
It appears that Windows is okay with either SQLite or SQLiteNG
Incorporate the latest fixes made by Diva to OpenSim.Data.SQLite
2010-04-23 18:56:50 +01:00
Justin Clark-Casey (justincc)
a23bebdc0f Duplicate OpenSim.Data.SQLite into OpenSim.Data.SQLiteNG. SQLiteNG will shortly be changed to work under mono 2.6 and above 2010-04-23 17:17:15 +01:00
John Hurliman
8692ac53f5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-04-22 18:56:06 -07:00
John Hurliman
67990ea7e4 * Better error logging for failed SimianGrid web service calls 2010-04-22 18:55:31 -07:00
Melanie
ebcc9874d4 Insert a ROLLBACK command on migration step failure. This ensures that
updating the Migrations table will not occur in a partial transaction, which
would be auto-rolled-back later.
2010-04-22 17:45:03 +01:00
Diva Canto
e33209fe5b Sanitized parsing of floats (x, y, z location) for Culture. 2010-04-22 08:47:47 -07:00
Diva Canto
c9da66728a Renamed OpenSim.Server.exe to Robust.exe and corresponding .ini's and config. 2010-04-22 07:25:32 -07:00
Melanie
459323a931 Make the detection cone in attachments face in the direction of the avatar,
not the relative rotation of the attachment towards the avatar.
2010-04-21 19:44:19 +01:00
Justin Clark-Casey (justincc)
50f327ef5c minor: change a comment and replace some magic numbers with the AssetType enum 2010-04-19 21:34:42 +01:00
Justin Clark-Casey (justincc)
6b963e73d9 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-19 21:28:30 +01:00
Justin Clark-Casey (justincc)
524a2a9e26 Make the "notecard saved" text appear in the saver rather than the notecard owner, if the notecard is saved by a permitted group member
This means moving the alert up to a place where the IClientAPI is available.
One can also argue that such client messages shouldn't be sent directly from the scene data model
2010-04-19 21:25:59 +01:00
Justin Clark-Casey (justincc)
da83ee28be If a transfer request is received for a task inventory item asset, then route the permissions request through the existing CanEditScript() and CanEditNotecard() methods.
This implements the 'share with group' flag for notecards and scripts in prim inventory since the PermissionsModule checks group membership and permissions.
Other than that, the code in PermissionsModule duplicates the checks in LLClientView so there should be no change other than allowing group members to edit embedded notecards and scripts.
For all other asset types, the permission checking code in LLClientView continues to be used, pending refactoring of suitable permissions code
This means that 'share with group' will not yet work for prim inventory items other than notecards and scripts
2010-04-19 21:02:36 +01:00
Justin Clark-Casey (justincc)
855eda844f log problems when an asset request through the UDP TransferRequest channel goes wrong 2010-04-19 20:06:55 +01:00
Melanie Thielker
af3e477e4b Avoid duplicate script resumes. Move resume calls to more logical places 2010-04-19 17:28:43 +01:00
Melanie
3e63ce6d9d Make script asset fetches synchronous. Script instantiation synchronization
will not work if the instance is not created when the method returns.
2010-04-19 15:29:35 +01:00
Melanie
a89208b465 Stopgap measure. Disable the recent script startup changes until I can cure the
race condition.
2010-04-19 14:14:31 +01:00
Melanie Thielker
689b647790 And some more rez modes that weren't covered before 2010-04-19 10:54:41 +01:00
Melanie
b39db7e9e4 Also enable scripts rezzed into prims 2010-04-19 10:43:25 +01:00
Melanie
21cad5d3ac All scripts are now created suspended and are only unsuspended when the object
is fully rezzed and all scripts in it are instantiated. This ensures that link
messages will not be lost on rez/region crossing and makes heavily scripted
objects reliable.
2010-04-19 06:29:26 +01:00
Justin Clark-Casey (justincc)
7ef6dc2bac Slightly tweak README to account for the fact that first-time standalone users may effectively set up their avatar as 'master avatar' in the region configuration stage. 2010-04-18 21:31:54 +01:00
Diva Canto
4e1cbd1bf3 One more bug fix in sqlite sql statements. 2010-04-16 18:04:20 -07:00
Diva Canto
2597a3406c Bug fix: UserAccounts in SQLite was missing the primary key constraint. 2010-04-16 17:43:15 -07:00
Diva Canto
930d374525 Expose Delete at IUserAccountData interface. It was there already. No changes in IUserAccountService, just the data layer. 2010-04-16 16:36:44 -07:00
Justin Clark-Casey (justincc)
26e3884237 refactor: move DeatchObject() into the AttachmentsModule 2010-04-17 00:00:45 +01:00
Justin Clark-Casey (justincc)
ab3af43d5e refactor: remove now unused internal method SendAttachEvent() 2010-04-16 23:29:36 +01:00
Justin Clark-Casey (justincc)
cac12eca79 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-16 23:24:34 +01:00
Justin Clark-Casey (justincc)
57c293d604 refactor: crudely move DetachSingleAttachmentToGround() over to the AttachmentsModule 2010-04-16 23:15:13 +01:00
Diva Canto
b3e9dd4fc2 Bug fix in SQLite/SQLiteUserAccountData.cs: Missing'(' in one of the SQL statements. 2010-04-16 15:10:57 -07:00
Justin Clark-Casey (justincc)
45563e20e0 minor: correctly print out missing item id when it can't be found rather than a NullReferenceException 2010-04-16 22:57:44 +01:00
Justin Clark-Casey (justincc)
17d023ba5b refactor: crudely move the RezMultipleAttachments() method into the AttachmentsModule 2010-04-16 22:54:25 +01:00
Justin Clark-Casey (justincc)
e9926d13cf minor: use the static ascii and utf8 encodings instead of instantiating our own 2010-04-16 22:38:42 +01:00
Justin Clark-Casey (justincc)
bf3956aeb0 Add --skip-assets option to load oar.
This allows you to load an oar without loading its assets.  This is useful if you know that the required assets are already in the asset service, since loading without assets is quicker.
This option will become more useful when the ability to save oars without assets is added, which should happen fairly soon.  At this point there will also be better documentation.
2010-04-16 22:29:11 +01:00
Justin Clark-Casey (justincc)
cf46735856 add a missing initialization of the m_memoryCache in XmlRpcGroupsServicesConnectorModule
the lack of this caused me a NullReferenceException when calling some groups methods directly though in principle it would also fail in other situations
2010-04-16 21:39:27 +01:00
Justin Clark-Casey (justincc)
5459a90fc6 minor: stop irc bridge warning about not attached to regions if it's not been turned on in the first place 2010-04-16 21:23:01 +01:00
Justin Clark-Casey (justincc)
9131a0d4a4 minor: stop datasnapshot issuing a warning log message if it's disabled 2010-04-16 21:12:09 +01:00
Justin Clark-Casey (justincc)
48f3733963 Fix http://opensimulator.org/mantis/view.php?id=4657 where OpenSim.Grid.UserServer.exe fails on startup if no previous config
probably appears to occur because mono 2.4.2.3 (and possibly later) erroneously returns a value of 0 for BufferWidth and BufferHeight in some circumstances
2010-04-16 20:43:23 +01:00
John Hurliman
a7449a82bc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-04-14 19:49:02 -07:00
John Hurliman
8fa13e3871 Patch from mcortez to add basic caching to the groups module. This prevents database/network explosions when you have a significant number of group-owned prims in a scene 2010-04-14 19:48:40 -07:00
Diva Canto
a7aab6af0c This version of the launcher exe works. 2010-04-14 19:39:27 -07:00
Diva Canto
ff50a90a83 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-04-14 19:23:17 -07:00
Diva Canto
407b48f3bb The missing .csproj for the Robust 32 bit launcher 2010-04-14 19:22:48 -07:00
Justin Clark-Casey (justincc)
e0f8362e7a minor: add some documentation around the asset udp request path and replace some magic numbers with libomv enums 2010-04-14 22:31:11 +01:00
John Hurliman
985faf4151 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-04-14 11:06:07 -07:00
John Hurliman
1e87fc8a26 Applying a patch from lkalif to fix a small bug in the previous patch 2010-04-14 11:05:28 -07:00
Diva Canto
bdc03dbff9 * Added 32bitLauncher for Robust. Still need to test it on a 64 bit machine.
* PrimitiveBaseShape wants to be be committed too -- EOF.
2010-04-14 10:36:03 -07:00
John Hurliman
6892fc41f7 Applying patch from lkalif to add support for inventory links to the SimianGrid connectors 2010-04-13 18:59:05 -07:00
Robert Adams
54a5b6f434 Reduce number of AvatarAnimations sent with large number of avatars 2010-04-13 18:50:08 -07:00
dahlia
3d0860ae61 thanks lkalif for Mantis #4676 - a patch that adds support for inventory links
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-04-12 17:10:51 -07:00
dahlia
56c176f0a3 minor - add some documentation to PrimitiveBaseShape constructor with OpenMetaverse.Primitive parameter 2010-04-09 19:59:58 -07:00
John Hurliman
3f6c4c150e * Adds IAssetService.GetCached() to allow asset fetching from the local cache only
* Adds GetTextureModule that implements the "GetTexture" capability, aka HTTP texture fetching. This is a significantly optimized path that does not require any server-side JPEG2000 decoding, texture priority queue, or UDP file transfer
* Sanity check for null reference in LLClientView.RefreshGroupMembership()
2010-04-08 12:31:44 -07:00
John Hurliman
542abb9c43 * Fixing incorrect documentation for the continuation passing style IAssetService.Get() method
* Changing the SimianGrid asset service connector to match the corrected documentation
2010-04-07 09:58:16 -07:00
Diva Canto
5fc9fe70af Added NullInventoryData for unit tests and quick try-outs of the services in 64-bit machines (no SQLite). 2010-04-06 19:38:01 -07:00
Diva Canto
80346ad2e2 * May fix mantis #4603.
* My local git wants to commit the groups files for line endings, I'm gonna let it do it.
2010-04-05 19:56:03 -07:00
John Hurliman
f302224caf * In the async asset fetch method, cache check before firing any async code. This should alleviate some "thread storm" issues when regions are starting up that hit Mono especially hard 2010-04-05 14:52:25 -07:00
Justin Clark-Casey (justincc)
48d2e8309a check group membership and powers with the groups module rather than just the client's active group id
this resolves the earlier issue where notecards/scripts shared with group could only be edited if the user had that group active
2010-04-05 20:44:19 +01:00
Justin Clark-Casey (justincc)
1be19c7f42 log exceptions that end up at the top of a asynchronous viewer packet method call rather than swallowing them 2010-04-05 19:46:43 +01:00
Justin Clark-Casey (justincc)
9ecad50419 Partially implement share with group option for object inventory items
If serverside permissions are off then this works as expected.  Previously, it was impossible for more than one person to edit such items even if permissions were off.
If serverside permissions are on then this works as expected if the object was created by an avatar who had the required group active.
However, if the group for the object is later set then the contained item is still not editable.  This may be linked to a wider bug where the object is still not modifiable by the group anyway
2010-04-05 19:37:02 +01:00
unknown
ee198eaa11 Updates to config files for groups
Signed-off-by: Melanie <melanie@t-data.com>
2010-04-04 21:56:57 +01:00
Melanie
dc58c985e8 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-04-04 02:24:52 +01:00
Melanie
936e08e20e Patch from mcortez. This appears to be a huge change to the groups module
and I can't say if this is beneficial or destructive due to the way it
was delivered (zipfile). Pushing this on faith alone.
2010-04-04 02:23:53 +01:00
Diva Canto
e6ed9b6747 * Guard against null in last commit 2010-04-03 18:12:03 -07:00
Diva Canto
cfa941adc7 Last commit was too fast... must override. 2010-04-03 12:14:57 -07:00
Diva Canto
8f68edfe12 * Fail storing user accounts in the remote connector. 2010-04-03 12:11:54 -07:00
Diva Canto
6485c576a1 * Made UserAccountService handle UserLevel, UserFlags and UserTitle appropriately.
* Removed Store service from the UserAccount handler.
2010-04-03 12:03:34 -07:00
John Hurliman
35c82a31db Don't append ACKs to zerocoded packets. Although this should fine in theory, I'm seeing the viewer ignore or fail to parse ACKs appended to our zerocoded packets. This should cut down on viewer->sim resend traffic 2010-04-02 16:25:14 -07:00
John Hurliman
a895de4414 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-04-02 13:32:40 -07:00
John Hurliman
4c9cc56624 * Better logging for Authenticate() failures
* Changed a warning message to debug when fetching user sessions
2010-04-02 13:32:30 -07:00
Melanie
a004d88bf3 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-04-02 14:53:52 +01:00
Melanie
4b98d0db92 Adding the groups update (Mantis #4646)
Thanks, mcortez.
2010-04-02 14:53:33 +01:00
Justin Clark-Casey (justincc)
e0eba26f7b Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-01 23:59:00 +01:00
Justin Clark-Casey (justincc)
938905df1e oops, add file missing from last commit
refactor out redundant method from GroupsMessagingModule
2010-04-01 22:45:01 +01:00
Justin Clark-Casey (justincc)
c33b1de9df expose methods that allow region modules to send messages to groups 2010-04-01 22:37:20 +01:00
Diva Canto
08ba34da03 First attempt at fixing mantis #4641. It's better but there are now some issues with permissions.
(looks like my commit is going to touch CM files, I'm going to let it do it - eof only)
2010-03-31 21:30:44 -07:00
Justin Clark-Casey (justincc)
2bf1761ad8 When saving an oar/iar, don't attempt to write out the data byte array if it's empty
On Mono 2.6 (and probably before) this causes a non-obvious IOException
2010-03-31 19:51:17 +01:00
Melanie
21519d3311 Add missing licenses. Change relicensed LightShare module to proper BSD
licensing.
2010-03-31 13:33:18 +01:00
Melanie
19ae5e5dbb Adding the LightShare module and scripting API. This code was written by
TomMeta and was contributed by Meta7.
2010-03-31 04:23:51 +01:00
Melanie
d315fce2ff Adding the configuration example 2010-03-31 04:22:51 +01:00
Melanie
ec637e2b8c Committing the LightShare code, which was developed by TomMeta of Meta7.
This allows scripts to set WindLight parameters for clients connecting
to a region. Currently, this is only supported by the Meta7 viewer.
2010-03-31 04:20:20 +01:00
Justin Clark-Casey (justincc)
8cb81bdc9b minor: commented out code removal 2010-03-30 17:06:30 +01:00
Justin Clark-Casey (justincc)
696d711d15 Completely prevent full update packets being sent after kill object packets
If a full update is sent after the kill, the object remains as in the linden viewer but in an undeletable and unowned state until relog
This patch prevents this by recording kills in LLClientView
2010-03-30 17:04:26 +01:00
Justin Clark-Casey (justincc)
24fc4703d0 fix build break. First argument of GetGroupRecord is not a uuid 2010-03-29 22:02:02 +01:00
Melanie
e7e56e0143 Remove a redundant method body 2010-03-29 19:50:24 +01:00
Melanie
607ed61ec2 Stab one bug. When joining an estate with a new region, make sure it's also
used on first run and not only later.
2010-03-28 23:18:25 +01:00
Diva Canto
efc0916a01 May fix mantis #4613 2010-03-27 22:48:15 -07:00
John Hurliman
1430441cf3 Change the SimianGrid connector log messages to start with "[SIMIAN " to avoid configuration confusion 2010-03-26 15:13:55 -07:00
John Hurliman
493d02d2e6 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-26 13:50:45 -07:00
John Hurliman
d6a64bf732 * Catch exceptions thrown when MySQLEstateData.LinkRegion() is called. This won't fix the bug I'm seeing with regions not realizing they are already part of an estate, but it will fix the OpenSim crash if that situation ever comes up 2010-03-26 13:50:25 -07:00
Justin Clark-Casey (justincc)
fd53deb6fc add nant distbin target
this will delete all extraneous source code files and copy OpenSim.ini.example to OpenSim.ini
2010-03-26 20:49:07 +00:00
Diva Canto
c6bbb48f2b Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-03-26 13:14:32 -07:00
Diva Canto
f55dd3704d Hippos with bin/Newtonsoft.Json.XML 2010-03-26 13:14:13 -07:00
Diva Canto
8ee0bdb86e Minor improvement on debug message. 2010-03-26 13:13:33 -07:00
unknown
9fb17e7ab2 Select Random Region if Home or Last cant be found 2010-03-26 13:06:26 -07:00
Justin Clark-Casey (justincc)
24ca202dab Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-03-26 19:57:11 +00:00
Justin Clark-Casey (justincc)
bcac984f5d fix nant related build break 2010-03-26 19:56:53 +00:00
John Hurliman
a6e14165fd Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-26 12:39:36 -07:00
John Hurliman
05123c6bd5 * Fixed a dictionary value retrieval in GroupsModule 2010-03-26 12:39:22 -07:00
Justin Clark-Casey (justincc)
fc2b137581 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-03-26 19:34:49 +00:00
Justin Clark-Casey (justincc)
9d747cb53b comment out very probably unused dist and distdir nant targets 2010-03-26 19:33:19 +00:00
John Hurliman
3e8cb7a9a0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-26 12:21:24 -07:00
John Hurliman
5a2315c68c * Fixed a bug with null value handling in WebUtil.BuildQueryString()
* Changed the null check back in estate manager setup but fixed the case for an existing account being found
* Implemented SetPassword() in the SimianGrid auth connector
2010-03-26 12:21:05 -07:00
Justin Clark-Casey (justincc)
4565e5dfbc change trunk version to 0.7.Dev 2010-03-26 18:56:05 +00:00
John Hurliman
dd1c1b3bcd Fixed a backwards null check that was preventing estate owner from being set and a misleading error message (in grid mode it tries to get a user, not create one) 2010-03-26 11:08:14 -07:00
Justin Clark-Casey (justincc)
87fe96ae2c replace recent IModule.GetGroup() with better GetGroupRecord(string name) 2010-03-26 00:10:29 +00:00
Justin Clark-Casey (justincc)
857918d3b0 minor: some debugging information and spacing changes to group module 2010-03-25 23:53:05 +00:00
Justin Clark-Casey (justincc)
f0703cad2c add get group by name method to IGroupsModule 2010-03-25 22:47:52 +00:00
Justin Clark-Casey (justincc)
19c659ca99 fix unit tests broken by commit dcf18689b9
can't prompt for estate owner in unit tests
2010-03-25 21:46:23 +00:00
Justin Clark-Casey (justincc)
bfbf25c542 minor: Print out port that http servers are using
do this in callers so that we know who is setting up these things
2010-03-25 21:36:57 +00:00
Justin Clark-Casey (justincc)
6ad85dc259 put out full exception stack if something reaches top of base http server OnRequest() on both mono and .net
replace Newtonsoft.Json.XML since the updated copy got accidentally reverted by another commit
2010-03-25 20:33:46 +00:00
Melanie
3fb73e4e26 UNTESTED SQLite code to enable estate setup in interactive confguration 2010-03-23 02:18:55 +00:00
Melanie
dcf18689b9 First stage of the new interactive region creation. This will allow creation
of a region and joining it to an existing estate or creating a new estate,
as well as creating an estate owner if in standalone, and assigning estate
owners. In Grid mode, existing users must be used. MySQL ONLY!!!! so far, as
I can't develop or test for either SQLite or MSSQL.
2010-03-23 02:05:56 +00:00
Melanie
07a6b37001 Somehow the starting estate number in MySQL was lost. This adds a migration
to start estates at 100. Existing databases having autcreated estates below
100 will see a gap in estate numbering. Other database implementors need to
ensure that no estates with numbers less that 100 are autocreated, unless
they are prepared to deal with the viewer's built-in notions of
Linden Mainland
2010-03-22 20:38:27 +00:00
Melanie
d378c758e1 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-03-22 18:51:07 +00:00
Melanie
70b0e07d1e Remove the reading of estate_settings.xml and the associated processing of
defaults. Adding code to facilitate estate creation / managemment as part of
first time start up
2010-03-22 18:49:56 +00:00
John Hurliman
9a781e793a * Updated libomv libraries to fix JSON (LLSD) decoding errors on null values and remove the unused OpenMetaverse.Http.dll and Mono.Security.dll
* Fixed a password hash comparison error in SimianAuthenticationServiceConnector.Authenticate()
2010-03-20 19:21:58 -07:00
Melanie
f020bd3206 Fix a nullref in permissions when returning objects via right-click 2010-03-20 15:49:39 +00:00
John Hurliman
5e65bef805 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-19 15:17:15 -07:00
Dan Lake
62e0b53ca4 Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files. 2010-03-19 15:16:44 -07:00
Dan Lake
859bc717a4 Cleaned up access to scenepresences in scenegraph. GetScenePresences and GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>). 2010-03-19 15:16:35 -07:00
Melanie
e0289bb432 Flesh out the new permission method 2010-03-18 19:58:21 +00:00
Melanie
734b0416de Unify a previous refactor of object return with the older solution. We
really don't need two methods doing the same thing, but differently.
2010-03-18 18:57:29 +00:00
Dan Lake
73e9b0be72 Inconsistent locking of ScenePresence array in SceneGraph. Fixed by eliminating option to return the actual list. Callers can now either request a copy of the array as a new List or ask the SceneGraph to call a delegate function on every ScenePresence. Iteration and locking of the ScenePresences now takes place only within the SceneGraph class.
This patch also applies a fix to Combat/CombatModule.cs which had unlocked iteration of the ScenePresences and inconsistent try/catch around the use of those ScenePresences.
2010-03-17 11:21:27 -07:00
Justin Clark-Casey (justincc)
a647f50087 minor logging changes to BaseHttpServer, OSHttpRequest 2010-03-16 22:58:12 +00:00
John Hurliman
b51f40da8f Removed the unused use_async_when_possible config variable 2010-03-16 12:03:04 -07:00
John Hurliman
b4dcdffb50 Fixed several unhandled exceptions and performance issues with PrimitiveBaseShape.Textures. This really should be moved from a property to a method if it is going to decode a byte[] into a TextureEntry each time 2010-03-16 11:50:22 -07:00
John Hurliman
d722519b31 * Fixing the SimianGrid friend connector enabled detection since the friends module uses a different pattern in the .ini file 2010-03-16 10:40:15 -07:00
John Hurliman
28e4302eb6 Fixed a bad module name in SimianGrid.ini 2010-03-15 22:07:28 -07:00
John Hurliman
3be2b592b2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-15 20:54:57 -07:00
John Hurliman
65c1fbc14d Fixing line endings 2010-03-15 20:54:48 -07:00
John Hurliman
cffe39b95f * Fixed a bug in Simian.IsSimianEnabled (since the default module strings follow the form OpenSim.Services.Connectors.dll:SimianGridServiceConnector instead of SimianGridServiceConnector) 2010-03-15 20:52:41 -07:00
Diva Canto
45ef3e9987 Get the local inner simulation service object to the handler so that there is no possibility of cascading requests when failures happen. 2010-03-15 20:32:36 -07:00
Diva Canto
76106e39d9 Restoring LoadPlugin as it was before. Justin's last change made it throw. 2010-03-15 19:34:14 -07:00
John Hurliman
4e180e84e2 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-15 15:38:55 -07:00
John Hurliman
84459d2bc2 Fixed Simian.IsSimianEnabled() to allow mixing and matching of connectors 2010-03-15 15:38:29 -07:00
John Hurliman
33f5d0d1e9 * UuidGatherer now tracks asset types for assets it discovers. The asset types are inferred from context
* OAR saving will attempt to correct unknown asset types before writing broken assets to the OAR file
2010-03-15 14:17:17 -07:00
dahlia
1e73e16fd0 flip UVs for profile faces 2010-03-13 18:41:36 -08:00
dahlia
2ebc4be99d add a null check in ScenePresence constructor 2010-03-13 12:04:49 -08:00
dahlia
41a98b902b correct some references which could produce erroneous prim face numbers 2010-03-12 22:05:22 -08:00
dahlia
1d14cf8c3f some improvements to sculptmap alpha handling and LOD 2010-03-12 21:21:28 -08:00
Justin Clark-Casey (justincc)
4b81393274 minor: remove some mono compiler warnings 2010-03-12 23:21:45 +00:00
Justin Clark-Casey (justincc)
315fa06c75 refactor: Move another RezSingleAttachment() from Scene.Inventory to AttachmentsModule 2010-03-12 23:20:38 +00:00
Justin Clark-Casey (justincc)
6828d8ecbe Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-03-12 22:49:16 +00:00
Justin Clark-Casey (justincc)
582375509c refactor: move RezSingleAttachmentFromInventory() from SceneGraph to AttachmentsModule 2010-03-12 22:48:49 +00:00
John Hurliman
5beb08be31 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-12 14:40:21 -08:00
John Hurliman
3ea9fdea8b Minor tweak to clean up SimianGrid asset service URLs 2010-03-12 14:39:51 -08:00
Justin Clark-Casey (justincc)
b9f5cd75bc refactor: move client invoked AttachObject from SceneGraph to AttachmentsModule 2010-03-12 22:39:15 +00:00
John Hurliman
3036aba875 * Added a better check to the SimianGrid connectors to test if they are enabled or not. This method should work equally well with standalone or robust mode
* Applying #4602 from Misterblu to add collision detection to BulletDotNET
2010-03-12 14:28:31 -08:00
Justin Clark-Casey (justincc)
19b4770fe7 start laoding griduser local connector, though it isn't invoked by anything yet 2010-03-12 22:18:48 +00:00
John Hurliman
9e3cdc4da5 Fixing the previous patch to work correctly with standalone mode 2010-03-12 13:28:16 -08:00
John Hurliman
0b5141d45b Fixed SimianGrid connectors to gracefully exit if the required config sections are missing 2010-03-12 13:16:44 -08:00
Justin Clark-Casey (justincc)
aad17e7513 Simplify database setup and remove migration problems by moving all sqlite config-include settings to a separate file for standalone
Update information in StandaloneCommon.ini.example to reflect this
Remove ISharedRegionModule interfaces from all SimianGrid connector classes temporarily since this stopped standalone from working (due to absence of AssetURI settings, etc.).
Solution here may be to create separate region module connectors as done by local/grid/hypergrid so that loading can be controlled via include files
Or otherwise work out how to stop these modules from being loaded for all OpenSim invocations
2010-03-12 20:29:17 +00:00
Justin Clark-Casey (justincc)
7d738156fa Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-03-12 20:06:40 +00:00
Justin Clark-Casey (justincc)
f2de50bb14 Fix tests broken in 88771aeed3
Adds MockUserAccountService and connects it up
Stops services being carried over between tests since this leads to hard to find bugs
Improves information and error reporting when loading plugins
2010-03-12 19:31:14 +00:00
John Hurliman
8b1e33eb2d Fixed SimianGrid.ini to use GridCommon.ini(.example) 2010-03-12 10:31:43 -08:00
John Hurliman
3fa4988810 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-12 10:19:57 -08:00
Diva Canto
ed3288a8db Bug fix: "last location" login. 2010-03-12 10:16:21 -08:00
Justin Clark-Casey (justincc)
db61d66e74 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-03-12 17:58:25 +00:00
Justin Clark-Casey (justincc)
2313d14acb minor: add some more documentation for IHttpServer.AddHTTPHandler() to tell the caller that the best match for an incoming request URI is invoked 2010-03-11 23:33:55 +00:00
Justin Clark-Casey (justincc)
e844524b41 Upgrade Newtonsoft.Json.dll from 1.3 to 3.5r6
Actually using the one built against Net 2.0 (labelled Newtonsoft.Json.Net20.dll) since the 3.5 build is not compatible with Mono 2.4 (though it is with Mono 2.6)
2010-03-11 21:04:56 +00:00
Justin Clark-Casey (justincc)
a578feefba very minor spacing adjustment 2010-03-11 20:20:38 +00:00
John Hurliman
2040649871 Adding the SimianGrid connectors 2010-03-11 11:19:02 -08:00
Mikko Pallari
265c24ec33 Changed some properties and methods from private to protected in LLLoginResponse and LLLoginService so they could be inherited better. 2010-03-11 07:56:44 -08:00
John Hurliman
b18ca2fee6 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-10 14:06:12 -08:00
John Hurliman
2af97b46ec * Cleaned up and commented the messy SendInventoryUpdate, fixed a broken debug line, and commented the debug line out since it can quickly become noisy 2010-03-10 14:05:49 -08:00
Melanie
04a6b1caf8 Reintroduce a check that was dropped from permissions 2010-03-10 05:31:34 +00:00
Jeff Ames
f58a0394ed Formatting cleanup. Add copyright notices. 2010-03-10 13:15:36 +09:00
Diva Canto
c5bb51b443 Changed a cryptic debug message and a wrong comment 2010-03-09 17:33:31 -08:00
Diva Canto
dbb2edf1a6 Fixed caching of user accounts. 2010-03-09 17:09:44 -08:00
Melanie
88771aeed3 Cache UserLevel in ScenePresence on SP creation. Change IsAdministrator
to use that stored value.
2010-03-09 23:11:28 +00:00
Melanie
c7590bfd50 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-03-09 22:44:14 +00:00
unknown
98f91a252c - parcel blocking, region crossing blocking, teleport blocking
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-09 22:43:55 +00:00
John Hurliman
4b8af2e1aa Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-09 12:19:11 -08:00
John Hurliman
01218093a6 * Typo fixes
* Performance improvement in the expensive GenerateClientFlags()
2010-03-09 12:06:53 -08:00
unknown
c135235000 MSSQL tweaks for latest ROBUST - friends handling fixed, GridUserData placeholder added.
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-09 18:37:08 +00:00
Melanie
9ea6509a1c Comment a debug message that is a tad too spammy 2010-03-08 21:08:48 +00:00
Melanie
2362da2ad0 Add config option for switching between CSJ2K and BuggyJPEG. 2010-03-08 20:29:26 +00:00
John Hurliman
fa38cf3ee8 * Added code to support either CSJ2K or OpenJPEG texture decoding. Currently hardcoded to CSJ2K (so no functional change) but this could easily be switched to a config option 2010-03-07 17:03:56 -08:00
John Hurliman
d71ed7081b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-03-07 16:05:12 -08:00
John Hurliman
3ecccbb77d * Updated to libomv r3268 which fixes the mapping for OpenJPEG on 64-bit systems and adds protocol support for Viewer 2.0 (still needs work in OpenSim to get things fully functional) 2010-03-07 16:03:15 -08:00
Diva Canto
6367bdc696 Bug fix: correct name of methods in user accounts connector. 2010-03-07 11:35:25 -08:00
Diva Canto
26673af974 Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2010-03-07 10:01:43 -08:00
Diva Canto
38b8c52762 Removed obsolete configs. 2010-03-07 10:01:23 -08:00
Melanie
89a739b45f Small consistency change 2010-03-07 16:05:24 +00:00
Melanie
2e5f7ec926 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-03-06 20:05:33 +00:00
unknown
2dcf73dd93 - supporting llTextBox
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-06 20:05:11 +00:00
Diva Canto
f4c165afe7 Bug fix: store correct position information upon logout. Fixes mantis #4608 2010-03-06 08:21:54 -08:00
1727 changed files with 210572 additions and 147086 deletions

37
.gitignore vendored
View File

@@ -9,6 +9,14 @@
*.pdb
*.pidb
*.dll.build
*.dll
*.VisualState.xml
*/*/obj
*/*/*/obj
*/*/*/*/obj
*/*/*/*/*/obj
*/*/*/*/*/*/obj
*/*/*/*/*/*/*/obj
*/*/bin
*/*/*/bin
*/*/*/*/bin
@@ -18,9 +26,14 @@
bin/Debug/*.dll
bin/*.dll.mdb
bin/*.db
bin/*.db-journal
bin/addin-db-*
bin/*.dll
bin/OpenSim.vshost.exe.config
bin/OpenSim.32BitLaunch.vshost.exe.config
bin/OpenSim.32BitLaunch.log
UpgradeLog.XML
_UpgradeReport_Files/
bin/ScriptEngines/*-*-*-*-*
bin/ScriptEngines/*.dll
bin/ScriptEngines/*/*.dll
@@ -33,6 +46,8 @@ bin/Physics*
bin/Terrain*
bin/Regions/*
bin/UserAssets
bin/assetcache
bin/maptiles
bin/estate_settings.xml
bin/config-include/CenomeCache.ini
bin/config-include/FlotsamCache.ini
@@ -45,11 +60,13 @@ bin/OpenSim.Grid.InventoryServer.log
bin/OpenSim.Grid.MessagingServer.log
bin/OpenSim.Grid.UserServer.log
bin/OpenSim.log
bin/*.manifest
bin/crashes/
Examples/*.dll
OpenSim.build
OpenSim.sln
OpenSim.suo
OpenSim.userprefs
Prebuild/Prebuild.build
Prebuild/Prebuild.sln
TestResult.xml
@@ -61,4 +78,22 @@ TAGS
Makefile.local
bin/.version
compile.bat
addon-modules
OpenSim/Data/Tests/test-results/
OpenSim/Framework/Serialization/Tests/test-results/
OpenSim/Framework/Servers/Tests/test-results/
OpenSim/Framework/Tests/test-results/
OpenSim/Region/ClientStack/Linden/Caps/test-results/
OpenSim/Region/ClientStack/Linden/UDP/Tests/test-results/
OpenSim/Region/CoreModules/test-results/
OpenSim/Region/Framework/test-results/
OpenSim/Region/OptionalModules/test-results/
OpenSim/Region/Physics/BulletDotNETPlugin/
OpenSim/Region/Physics/Manager/test-results/
OpenSim/Region/Physics/OdePlugin/Tests/test-results/
OpenSim/Region/ScriptEngine/test-results/
OpenSim/Tests/Common/test-results/
OpenSim/Tests/test-results/
test-results/
doc/html
doc/doxygen.error.log

View File

@@ -1,33 +1,68 @@
<!-- -*- xml -*- -->
<!-- please leave the top comment for us emacs folks -->
<property name="projectdir" value="opensim-0.5.5" />
<property name="nunitcmd" value="nunit-console" />
<target name="distdir">
<delete dir="${projectdir}" />
<copy todir="${projectdir}">
<fileset basedir=".">
<include name="ThirdPartyLicenses/**" />
<include name="CONTRIBUTORS.txt" />
<include name="README" />
<include name="OpenSim/**/*.cs" />
<include name="**/*.build" />
<include name="**/*.csproj" />
<include name="**/*.csproj.user" />
<include name="**/*.sln" />
<include name="bin/*.dll" />
<include name="bin/*.so" />
<include name="bin/*.config" />
<include name="bin/assets/**" />
<include name="bin/data/**" />
<include name="bin/OpenSim*xml" />
<!-- the next is to exclude built libs -->
<exclude name="bin/OpenSim.*dll" />
<include name="bin/OpenSim.ini" />
<include name="bin/defaultstripe.png" />
</fileset>
</copy>
<touch file="${projectdir}/bin/startup_commands.txt" />
<!-- This target produces a source distribution of OpenSimulator -->
<!-- TODO: A few parameters still need to be tweaked after running this - need to do this automatically with sed or similar -->
<target name="distsrc">
<copy file="bin/OpenSim.ini.example" tofile="bin/OpenSim.ini"/>
<copy file="bin/config-include/StandaloneCommon.ini.example" tofile="bin/config-include/StandaloneCommon.ini"/>
<copy file="bin/config-include/FlotsamCache.ini.example" tofile="bin/config-include/FlotsamCache.ini"/>
<!-- delete files generated by runprebuild.sh which had to be run in order to generate the build file for this target-->
<delete>
<fileset basedir="OpenSim">
<include name="**/*.build"/>
<include name="**/*.csproj*"/>
<include name="**/*.dll.build"/>
<include name="**/*.pidb"/>
<exclude name="Tools/OpenSim.32BitLaunch/**"/>
<exclude name="Tools/Robust.32BitLaunch/**"/>
<exclude name="Tools/LaunchSLClient/**"/>
</fileset>
</delete>
<delete>
<fileset>
<include name="OpenSim.build"/>
<include name="OpenSim.sln"/>
</fileset>
</delete>
</target>
<property name="distbindir" value="distbin" />
<!-- This target produces a binary directory called distbin/ in OpenSim/bin which contains everything needed for binary distribution -->
<!-- For safety/laziness sake, we're going to take the approach of deleting known extraneous files here rather than
trying to copy across only the essential ones -->
<target name="distbin">
<delete dir="${distbindir}"/>
<copy todir="${distbindir}">
<fileset>
<include name="**"/>
</fileset>
</copy>
<delete dir="${distbindir}/OpenSim"/>
<delete dir="${distbindir}/Prebuild"/>
<delete dir="${distbindir}/%temp%"/>
<delete dir="${distbindir}/.nant"/>
<delete dir="${distbindir}/ThirdParty"/>
<delete>
<fileset basedir="${distbindir}">
<include name="compile.bat"/>
<include name="BUILDING.md"/>
<include name="Makefile"/>
<include name="nant-color"/>
<include name="OpenSim.*"/>
<include name="prebuild.xml"/>
<include name="runprebuild*"/>
<include name="TESTING.txt"/>
<include name="TestResult.xml"/>
<include name="bin/OpenSim.Server.ini"/>
<include name="bin/Regions/Regions.ini"/>
<include name="bin/*.db"/>
<include name="**/.git/**"/>
<include name=".gitignore"/>
<include name=".hgignore"/>
</fileset>
</delete>
</target>
<target name="test" depends="build, find-nunit">
@@ -38,6 +73,11 @@
the assembly here as an exec, and you add the fail clause later.
This lets all the unit tests run and tells you if they fail at the
end, instead of stopping short -->
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.tests">
<arg value="./bin/OpenSim.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.framework.tests">
<arg value="./bin/OpenSim.Framework.Tests.dll" />
</exec>
@@ -53,12 +93,15 @@
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.serialization.tests)==0}" />
<!--
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.clientstack.lindencaps.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenCaps.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindencaps.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.clientstack.lindenudp.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" />
-->
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.scriptengine.tests">
<arg value="./bin/OpenSim.Region.ScriptEngine.Tests.dll" />
@@ -70,121 +113,59 @@
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.coremodules.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.optionalmodules.tests">
<arg value="./bin/OpenSim.Region.OptionalModules.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.optionalmodules.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.region.framework.tests">
<arg value="./bin/OpenSim.Region.Framework.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.framework.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.data.sqlite.tests">
<arg value="./bin/OpenSim.Data.SQLite.Tests.dll" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.data.tests">
<arg value="./bin/OpenSim.Data.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.sqlite.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.data.mysql.tests">
<arg value="./bin/OpenSim.Data.MySQL.Tests.dll" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.capabilities.handlers.tests">
<arg value="./bin/OpenSim.Capabilities.Handlers.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.mysql.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.capabilities.handlers.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.server.handlers.tests">
<arg value="./bin/OpenSim.Server.Handlers.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.server.handlers.tests)==0}" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.services.inventoryservice.tests">
<arg value="./bin/OpenSim.Services.InventoryService.Tests.dll" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.services.inventoryservice.tests)==0}" />
<delete dir="%temp%"/>
</target>
<target name="test-cov" depends="build">
<!-- Code Coverage Test. Prototype, only works with mono 1.2. Instructions in http://opensimulator.org/wiki/Automated_Testing -->
<mkdir dir="cov" failonerror="false" />
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Framework.Servers.cov,+[OpenSim.Framework.Servers]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Framework.Servers.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Framework.Servers" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Framework.Servers ./cov/OpenSim.Framework.Servers.cov" />
</exec>
<target name="test-stress" depends="build, find-nunit">
<setenv name="MONO_THREADS_PER_CPU" value="100" />
<!--
<exec program="mono">
<arg value="&#45;&#45;debug" />
<arg value="&#45;&#45;profile=monocov:outfile=./cov/OpenSim.Region.ClientStack.LindenUDP.cov,+[OpenSim.Region.ClientStack.LindenUDP]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.ClientStack.LindenUDP" />
<exec program="monocov">
<arg value="&#45;&#45;export-html=./cov/OpenSim.Region.ClientStack.LindenUDP ./cov/OpenSim.Region.ClientStack.LindenUDP.cov" />
</exec>
-->
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.ScriptEngine.Shared.cov,+[OpenSim.Region.ScriptEngine.Shared]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.ScriptEngine.Shared.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.ScriptEngine.Shared" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.ScriptEngine.Shared ./cov/OpenSim.Region.ScriptEngine.Shared.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools.cov,+[OpenSim.Region.ScriptEngine.Shared.CodeTools]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools ./cov/OpenSim.Region.ScriptEngine.Shared.CodeTools.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.CoreModules.cov,+[OpenSim.Region.CoreModules]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.CoreModules.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.CoreModules" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.CoreModules ./cov/OpenSim.Region.CoreModules.cov" />
</exec>
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.tests.stress">
<arg value="./bin/OpenSim.Tests.Stress.dll" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Region.Framework.cov,+[OpenSim.Region.Framework]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Region.Framework.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Region.Framework" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Region.Framework ./cov/OpenSim.Region.Framework.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Data.SQLite.cov,+[OpenSim.Data.SQLite]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Data.SQLite.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Data.SQLite" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Data.SQLite ./cov/OpenSim.Data.SQLite.cov" />
</exec>
<exec program="mono">
<arg value="--debug" />
<arg value="--profile=monocov:outfile=./cov/OpenSim.Data.MySQL.cov,+[OpenSim.Data.MySQL.Tests]" />
<arg value="/usr/lib/nunit/nunit-console.exe" />
<arg value="./bin/OpenSim.Data.MySQL.Tests.dll" />
</exec>
<delete dir="./cov/OpenSim.Data.MySQL" />
<exec program="monocov">
<arg value="--export-html=./cov/OpenSim.Data.MySQL ./cov/OpenSim.Data.MySQL.cov" />
</exec>
<fail message="Failures reported in stress tests." unless="${int::parse(testresult.opensim.tests.stress)==0}" />
<delete dir="%temp%"/>
</target>
<delete file="C:\NUnitPrimaryTrace.txt" failonerror="false" />
<delete file="TestResult.xml" failonerror="false" />
<target name="test-perf" depends="build, find-nunit">
<setenv name="MONO_THREADS_PER_CPU" value="100" />
<exec program="${nunitcmd}" failonerror="true" resultproperty="testresult.opensim.tests.performance">
<arg value="./bin/OpenSim.Tests.Performance.dll" />
</exec>
<fail message="Failures reported in performance tests." unless="${int::parse(testresult.opensim.tests.performance)==0}" />
<delete dir="%temp%"/>
</target>
<target name="find-nunit">
@@ -197,17 +178,19 @@
if="${int::parse(hasnunit2)==0}" />
<property name="nunitcmd" value="nunit-console"
if="${int::parse(hasnunit2)==1}" />
</target>
<!-- this is used for panda test execution -->
<!-- work in progress -->
<target name="test-xml" depends="build, find-nunit">
<mkdir dir="test-results" failonerror="false" />
<!-- Unit Test Assembly -->
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.tests">
<arg value="./bin/OpenSim.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.framework.tests">
<arg value="./bin/OpenSim.Framework.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Framework.Tests.dll-Results.xml" />
@@ -223,12 +206,15 @@
<arg value="-xml=test-results/OpenSim.Framework.Servers.Tests.dll-Results.xml" />
</exec>
<!--
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.clientstack.lindencaps.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenCaps.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.ClientStack.LindenCaps.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.clientstack.lindenudp.tests">
<arg value="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.ClientStack.LindenUDP.Tests.dll-Results.xml" />
</exec>
-->
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.scriptengine.tests">
<arg value="./bin/OpenSim.Region.ScriptEngine.Tests.dll" />
@@ -240,73 +226,49 @@
<arg value="-xml=test-results/OpenSim.Region.CoreModules.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.optionalmodules.tests">
<arg value="./bin/OpenSim.Region.OptionalModules.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.OptionalModules.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.region.framework.tests">
<arg value="./bin/OpenSim.Region.Framework.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Region.Framework.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.data.sqlite.tests">
<arg value="./bin/OpenSim.Data.SQLite.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Data.SQLite.Tests.dll-Results.xml" />
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.data.tests">
<arg value="./bin/OpenSim.Data.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Data.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.data.mysql.tests">
<arg value="./bin/OpenSim.Data.MySQL.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Data.MySQL.Tests.dll-Results.xml" />
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.capabilities.handlers.tests">
<arg value="./bin/OpenSim.Capabilities.Handlers.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Capabilities.Handlers.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.server.handlers.tests">
<arg value="./bin/OpenSim.Server.Handlers.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Server.Handlers.Tests.dll-Results.xml" />
</exec>
<exec program="${nunitcmd}" failonerror="false" resultproperty="testresult.opensim.services.inventoryservice.tests">
<arg value="./bin/OpenSim.Services.InventoryService.Tests.dll" />
<arg value="-xml=test-results/OpenSim.Services.InventoryService.Tests.dll-Results.xml" />
</exec>
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.framework.servers.tests)==0}" />
<!-- <fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" /> -->
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.clientstack.lindenudp.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.scriptengine.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.coremodules.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.optionalmodules.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.region.framework.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.sqlite.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.mysql.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.data.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.capabilities.handlers.tests)==0}" />
<fail message="Failures reported in unit tests." unless="${int::parse(testresult.opensim.services.inventoryservice.tests)==0}" />
</target>
<!-- <exec program="nunit-console.exe" failonerror="false" resultproperty="testresult.acceptancetestassembly"> -->
<!-- <arg value="AcceptanceTestAssembly.dll" /> -->
<!-- <arg value="/xml=AcceptanceTestAssembly-Results.xml" /> -->
<!-- </exec> -->
<!-- <fail message="Failures reported in unit tests." unless="${int::parse(testresult.unittestassembly)==0}" /> -->
<!-- <fail message="Failures reported in acceptance tests." unless="${int::parse(testresult.acceptancetestassembly)==0}" /> -->
<!-- </target> -->
<!-- <nunit2 failonerror="true" verbose="true"> -->
<!-- <formatter type="Xml" usefile="true" extension=".xml" outputdir="./test-results" /> -->
<!-- <test> -->
<!-- <assemblies> -->
<!-- <include name="./bin/OpenSim.Framework.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Framework.Servers.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.ClientStack.LindenUDP.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.ScriptEngine.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.CoreModules.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Region.Framework.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Data.SQLite.Tests.dll" /> -->
<!-- <include name="./bin/OpenSim.Data.MySQL.Tests.dll" /> -->
<!-- </assemblies> -->
<!-- </test> -->
<!-- </nunit2> -->
<!-- </target> -->
<target name="doxygen">
<exec program="doxygen" workingdir="doc" commandline="doxygen.conf" />
</target>
<target name="dist" depends="distdir">
<zip zipfile="${projectdir}.zip">
<fileset basedir=".">
<include name="${projectdir}/**" />
</fileset>
</zip>
<tar destfile="${projectdir}.tar.gz" compression="GZip">
<fileset basedir=".">
<include name="${projectdir}/**" />
</fileset>
</tar>
</target>

View File

@@ -1,4 +1,4 @@
== Building OpenSim ==
==== Building OpenSim ====
=== Building on Windows ===
@@ -12,18 +12,27 @@ Steps:
=== Building on Linux ===
Prereqs:
* Mono >= 2.4.2
* Mono >= 2.4.3
* Nant >= 0.85
* On some Linux distributions you may need to install additional packages.
See http://opensimulator.org/wiki/Dependencies for more information.
* May also use xbuild (included in mono distributions)
* May use Monodevelop, a cross-platform IDE
From the distribution type:
* ./runprebuild.sh
* nant
* nant (or xbuild)
* cd bin
* copy OpenSim.ini.example to OpenSim.ini and other appropriate files in bin/config-include
* run mono OpenSim.exe
=== Using Monodevelop ===
From the distribution type:
* ./runprebuild.sh
* type monodevelop OpenSim.sln
=== References ===
Helpful resources:

View File

@@ -1,34 +1,39 @@
The following people have contributed to OpenSim (Thank you
<<<>>>>The following people have contributed to OpenSim (Thank you
for your effort!)
Add your name in here if you have committed to OpenSim
= Current OpenSim Developers (in very rough order of appearance) =
These folks represent the current core team for OpenSim, and are the
people that make the day to day of OpenSim happen.
* justincc (OSVW Consulting, justincc.org)
* chi11ken (Genkii)
* dahlia
* Melanie Thielker
* Diva (Crista Lopes, University of California, Irvine)
* Dan Lake (Intel)
* Marck
* Mic Bowman (Intel)
* BlueWall (James Hughes)
* Nebadon Izumi (Michael Cerquoni, OSgrid)
* Snoopy Pfeffer
* Richard Adams (Intel)
= Core Developers Following the White Rabbit =
Core developers who have temporarily (we hope) gone chasing the white rabbit.
They are in all similar to the active core developers, except that they haven't
been that active lately, so their voting rights are awaiting their come back.
* MW (Tribal Media AB)
* Adam Frisby (DeepThink Pty Ltd)
* MingChen (DeepThink Pty Ltd)
* lbsa71 (Tribal Media AB)
* Sean Dague / sdague (IBM)
* Tedd
* justincc
* Teravus (w3z)
* Johan Berntsson (3Di)
* Ckrinke (Charles Krinke)
* chi11ken (Genkii)
* adjohn (Genkii)
* Dr Scofield aka Dirk Husemann (IBM Research - Zurich)
* dahlia
* mikem (3Di)
* Melanie Thielker
* Homer_Horwitz
* idb (Ian Brown)
* Diva (Crista Lopes, University of California, Irvine)
* nlin (3Di)
* Arthur Rodrigo S Valadares (IBM)
* John Hurliman
= Past Open Sim Developers =
These folks are alumns of the OpenSim core group, but are now
@@ -44,6 +49,12 @@ where we are today.
* Dalien
* Darok
* Alondria
* Sean Dague / sdague (IBM)
* Tedd
* MingChen (DeepThink Pty Ltd)
* adjohn (Genkii)
* idb (Ian Brown)
* Johan Berntsson (3Di)
= Additional OpenSim Contributors =
@@ -60,6 +71,7 @@ what it is today.
* CharlieO
* ChrisDown
* Chris Yeoh (IBM)
* controlbreak
* coyled
* Daedius
* Dong Jun Lan (IBM)
@@ -69,12 +81,17 @@ what it is today.
* dmiles (Daxtron Labs)
* dslake (Intel)
* FredoChaplin
* Garmin Kawaguichi
* Gerhard
* Godfrey
* Grumly57
* GuduleLapointe
* Ewe Loon
* Fernando Oliveira
* Fly-Man
* Flyte Xevious
* Garmin Kawaguichi
* Gryc Ueusp
* Imaze Rhiano
* Intimidated
* Jeremy Bongio (IBM)
@@ -88,22 +105,31 @@ what it is today.
* Kitto Flora
* KittyLiu
* Kurt Taylor (IBM)
* lkalif
* lulurun
* M.Igarashi
* maimedleech
* Mana Janus
* MarcelEdward
* Mic Bowman
* Michelle Argus
* Michael Cortez (The Flotsam Project, http://osflotsam.org/)
* Micheil Merlin
* Mike Osias (IBM)
* Mike Pitman (IBM)
* mikkopa/_someone - RealXtend
* Misterblue (Intel)
* Mircea Kitsune
* mpallari
* MrMonkE
* Nebadon Izumi (Michael Cerquoni - http://OSgrid.org)
* Neil Canham
* nornalbion
* Omar Vera Ustariz (IBM)
* openlifegrid.com
* Oren Hurvitz (Kitely)
* otakup0pe
* Pixel Tomsen
* ralphos
* RemedyTomm
* Revolution
@@ -114,9 +140,15 @@ what it is today.
* Ruud Lathorp
* SachaMagne
* Salahzar Stenvaag
* satguru p srivastava
* sempuki
* Snoopy
* SignpostMarv
* SpotOn3D
* Stefan_Boom / stoehr
* Strawberry Fride
* Talun
* TechplexEngineer (Blake Bourque)
* TBG Renfold
* tglion
* tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud)
* tyre
@@ -164,6 +196,8 @@ This software uses components from the following developers:
* log4net (http://logging.apache.org/log4net/)
* GlynnTucker.Cache (http://gtcache.sourceforge.net/)
* NDesk.Options 0.2.1 (http://www.ndesk.org/Options)
* Json.NET 3.5 Release 6. The binary used is actually Newtonsoft.Json.Net20.dll for Mono 2.4 compatability (http://james.newtonking.com/projects/json-net.aspx)
* zlib.net for C# 1.0.4 (http://www.componentace.com/zlib_.NET.htm)
Some plugins are based on Cable Beach
Cable Beach is Copyright (c) 2008 Intel Corporation
@@ -173,3 +207,4 @@ In addition, we would like to thank:
* The Mono Project
* The NANT Developers
* Microsoft (.NET, MSSQL-Adapters)
*x

View File

@@ -1,4 +1,4 @@
Copyright (c) Contributors, http://opensimulator.org/
Copyright (c) Contributors, http://opensimulator.org/
See CONTRIBUTORS.TXT for a full list of copyright holders.
Redistribution and use in source and binary forms, with or without

View File

@@ -30,6 +30,7 @@ using System.Collections.Generic;
using System.Reflection;
using System.Threading;
using log4net;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Framework.RegionLoader.Filesystem;
using OpenSim.Framework.RegionLoader.Web;
@@ -68,7 +69,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
public void Initialise()
{
m_log.Error("[LOADREGIONS]: " + Name + " cannot be default-initialized!");
m_log.Error("[LOAD REGIONS PLUGIN]: " + Name + " cannot be default-initialized!");
throw new PluginNotInitialisedException(Name);
}
@@ -85,44 +86,47 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
IRegionLoader regionLoader;
if (m_openSim.ConfigSource.Source.Configs["Startup"].GetString("region_info_source", "filesystem") == "filesystem")
{
m_log.Info("[LOADREGIONS]: Loading region configurations from filesystem");
m_log.Info("[LOAD REGIONS PLUGIN]: Loading region configurations from filesystem");
regionLoader = new RegionLoaderFileSystem();
}
else
{
m_log.Info("[LOADREGIONSPLUGIN]: Loading region configurations from web");
m_log.Info("[LOAD REGIONS PLUGIN]: Loading region configurations from web");
regionLoader = new RegionLoaderWebServer();
}
m_log.Info("[LOADREGIONSPLUGIN]: Loading region configurations...");
regionLoader.SetIniConfigSource(m_openSim.ConfigSource.Source);
RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
m_log.Info("[LOADREGIONSPLUGIN]: Loading specific shared modules...");
m_log.Info("[LOADREGIONSPLUGIN]: DynamicTextureModule...");
m_log.Info("[LOAD REGIONS PLUGIN]: Loading specific shared modules...");
m_log.Info("[LOAD REGIONS PLUGIN]: DynamicTextureModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new DynamicTextureModule());
m_log.Info("[LOADREGIONSPLUGIN]: LoadImageURLModule...");
m_log.Info("[LOAD REGIONS PLUGIN]: LoadImageURLModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new LoadImageURLModule());
m_log.Info("[LOADREGIONSPLUGIN]: XMLRPCModule...");
m_log.Info("[LOAD REGIONS PLUGIN]: XMLRPCModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new XMLRPCModule());
m_log.Info("[LOADREGIONSPLUGIN]: AssetTransactionModule...");
m_openSim.ModuleLoader.LoadDefaultSharedModule(new AssetTransactionModule());
m_log.Info("[LOADREGIONSPLUGIN]: Done.");
// m_log.Info("[LOADREGIONSPLUGIN]: AssetTransactionModule...");
// m_openSim.ModuleLoader.LoadDefaultSharedModule(new AssetTransactionModule());
m_log.Info("[LOAD REGIONS PLUGIN]: Done.");
if (!CheckRegionsForSanity(regionsToLoad))
{
m_log.Error("[LOADREGIONS]: Halting startup due to conflicts in region configurations");
m_log.Error("[LOAD REGIONS PLUGIN]: Halting startup due to conflicts in region configurations");
Environment.Exit(1);
}
for (int i = 0; i < regionsToLoad.Length; i++)
{
IScene scene;
m_log.Debug("[LOADREGIONS]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " +
m_log.Debug("[LOAD REGIONS PLUGIN]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " +
Thread.CurrentThread.ManagedThreadId.ToString() +
")");
bool changed = m_openSim.PopulateRegionEstateInfo(regionsToLoad[i]);
m_openSim.CreateRegion(regionsToLoad[i], true, out scene);
if (changed)
regionsToLoad[i].EstateSettings.Save();
if (scene != null)
{
m_newRegionCreatedHandler = OnNewRegionCreated;
@@ -150,9 +154,20 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
/// <returns>True if we're sane, false if we're insane</returns>
private bool CheckRegionsForSanity(RegionInfo[] regions)
{
if (regions.Length <= 1)
if (regions.Length == 0)
return true;
foreach (RegionInfo region in regions)
{
if (region.RegionID == UUID.Zero)
{
m_log.ErrorFormat(
"[LOAD REGIONS PLUGIN]: Region {0} has invalid UUID {1}",
region.RegionName, region.RegionID);
return false;
}
}
for (int i = 0; i < regions.Length - 1; i++)
{
for (int j = i + 1; j < regions.Length; j++)
@@ -160,7 +175,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
if (regions[i].RegionID == regions[j].RegionID)
{
m_log.ErrorFormat(
"[LOADREGIONS]: Regions {0} and {1} have the same UUID {2}",
"[LOAD REGIONS PLUGIN]: Regions {0} and {1} have the same UUID {2}",
regions[i].RegionName, regions[j].RegionName, regions[i].RegionID);
return false;
}
@@ -168,14 +183,14 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
regions[i].RegionLocX == regions[j].RegionLocX && regions[i].RegionLocY == regions[j].RegionLocY)
{
m_log.ErrorFormat(
"[LOADREGIONS]: Regions {0} and {1} have the same grid location ({2}, {3})",
"[LOAD REGIONS PLUGIN]: Regions {0} and {1} have the same grid location ({2}, {3})",
regions[i].RegionName, regions[j].RegionName, regions[i].RegionLocX, regions[i].RegionLocY);
return false;
}
else if (regions[i].InternalEndPoint.Port == regions[j].InternalEndPoint.Port)
{
m_log.ErrorFormat(
"[LOADREGIONS]: Regions {0} and {1} have the same internal IP port {2}",
"[LOAD REGIONS PLUGIN]: Regions {0} and {1} have the same internal IP port {2}",
regions[i].RegionName, regions[j].RegionName, regions[i].InternalEndPoint.Port);
return false;
}
@@ -184,35 +199,5 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
return true;
}
public void LoadRegionFromConfig(OpenSimBase openSim, ulong regionhandle)
{
m_log.Info("[LOADREGIONS]: Load Regions addin being initialised");
IRegionLoader regionLoader;
if (openSim.ConfigSource.Source.Configs["Startup"].GetString("region_info_source", "filesystem") == "filesystem")
{
m_log.Info("[LOADREGIONS]: Loading Region Info from filesystem");
regionLoader = new RegionLoaderFileSystem();
}
else
{
m_log.Info("[LOADREGIONS]: Loading Region Info from web");
regionLoader = new RegionLoaderWebServer();
}
regionLoader.SetIniConfigSource(openSim.ConfigSource.Source);
RegionInfo[] regionsToLoad = regionLoader.LoadRegions();
for (int i = 0; i < regionsToLoad.Length; i++)
{
if (regionhandle == regionsToLoad[i].RegionHandle)
{
IScene scene;
m_log.Debug("[LOADREGIONS]: Creating Region: " + regionsToLoad[i].RegionName + " (ThreadID: " +
Thread.CurrentThread.ManagedThreadId.ToString() + ")");
openSim.CreateRegion(regionsToLoad[i], true, out scene);
}
}
}
}
}

View File

@@ -62,7 +62,7 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
new List<ISharedRegionModule>();
#region IApplicationPlugin implementation
public void Initialise (OpenSimBase openSim)
{
m_openSim = openSim;
@@ -91,66 +91,24 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
{
if (node.Type.GetInterface(typeof(ISharedRegionModule).ToString()) != null)
{
// Get the config string
string moduleString =
modulesConfig.GetString("Setup_" + node.Id, String.Empty);
// We have a selector
if (moduleString != String.Empty)
if (CheckModuleEnabled(node, modulesConfig))
{
// Allow disabling modules even if they don't have
// support for it
if (moduleString == "disabled")
continue;
// Split off port, if present
string[] moduleParts = moduleString.Split(new char[] { '/' }, 2);
// Format is [port/][class]
string className = moduleParts[0];
if (moduleParts.Length > 1)
className = moduleParts[1];
// Match the class name if given
if (className != String.Empty &&
node.Type.ToString() != className)
continue;
m_log.DebugFormat("[REGIONMODULES]: Found shared region module {0}, class {1}", node.Id, node.Type);
m_sharedModules.Add(node);
}
m_log.DebugFormat("[REGIONMODULES]: Found shared region module {0}, class {1}", node.Id, node.Type);
m_sharedModules.Add(node);
}
else if (node.Type.GetInterface(typeof(INonSharedRegionModule).ToString()) != null)
{
// Get the config string
string moduleString =
modulesConfig.GetString("Setup_" + node.Id, String.Empty);
// We have a selector
if (moduleString != String.Empty)
if (CheckModuleEnabled(node, modulesConfig))
{
// Allow disabling modules even if they don't have
// support for it
if (moduleString == "disabled")
continue;
// Split off port, if present
string[] moduleParts = moduleString.Split(new char[] { '/' }, 2);
// Format is [port/][class]
string className = moduleParts[0];
if (moduleParts.Length > 1)
className = moduleParts[1];
// Match the class name if given
if (className != String.Empty &&
node.Type.ToString() != className)
continue;
m_log.DebugFormat("[REGIONMODULES]: Found non-shared region module {0}, class {1}", node.Id, node.Type);
m_nonSharedModules.Add(node);
}
m_log.DebugFormat("[REGIONMODULES]: Found non-shared region module {0}, class {1}", node.Id, node.Type);
m_nonSharedModules.Add(node);
}
else
{
m_log.DebugFormat("[REGIONMODULES]: Found unknown type of module {0}, class {1}", node.Id, node.Type);
}
}
// Load and init the module. We try a constructor with a port
@@ -197,8 +155,6 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
m_sharedInstances.Add(module);
module.Initialise(m_openSim.ConfigSource.Source);
}
}
public void PostInitialise ()
@@ -210,7 +166,6 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
{
module.PostInitialise();
}
}
#endregion
@@ -244,7 +199,6 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
#endregion
public string Version
{
get
@@ -262,6 +216,42 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
}
#region IRegionModulesController implementation
/// <summary>
/// Check that the given module is no disabled in the [Modules] section of the config files.
/// </summary>
/// <param name="node"></param>
/// <param name="modulesConfig">The config section</param>
/// <returns>true if the module is enabled, false if it is disabled</returns>
protected bool CheckModuleEnabled(TypeExtensionNode node, IConfig modulesConfig)
{
// Get the config string
string moduleString =
modulesConfig.GetString("Setup_" + node.Id, String.Empty);
// We have a selector
if (moduleString != String.Empty)
{
// Allow disabling modules even if they don't have
// support for it
if (moduleString == "disabled")
return false;
// Split off port, if present
string[] moduleParts = moduleString.Split(new char[] { '/' }, 2);
// Format is [port/][class]
string className = moduleParts[0];
if (moduleParts.Length > 1)
className = moduleParts[1];
// Match the class name if given
if (className != String.Empty &&
node.Type.ToString() != className)
return false;
}
return true;
}
// The root of all evil.
// This is where we handle adding the modules to scenes when they

View File

@@ -27,6 +27,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Xml;
using OpenMetaverse;
using OpenSim.Framework;
@@ -39,12 +40,11 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
public class RestAppearanceServices : IRest
{
private static readonly int PARM_USERID = 0;
// private static readonly int PARM_USERID = 0;
// private static readonly int PARM_PATH = 1;
private bool enabled = false;
// private bool enabled = false;
private string qPrefix = "appearance";
/// <summary>
@@ -64,6 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
{
Rest.Log.InfoFormat("{0} Domain is relative, adding absolute prefix", MsgId);
qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix);
qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix);
Rest.Log.InfoFormat("{0} Domain is now <{1}>", MsgId, qPrefix);
}
@@ -73,7 +74,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
// Activate if everything went OK
enabled = true;
// enabled = true;
Rest.Log.InfoFormat("{0} User appearance services initialization complete", MsgId);
}
@@ -94,7 +95,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
public void Close()
{
enabled = false;
// enabled = false;
Rest.Log.InfoFormat("{0} User appearance services closing down", MsgId);
}
@@ -294,31 +295,31 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
/// </summary>
/// <param name=rdata>HTTP service request work area</param>
private void DoGet(AppearanceRequestData rdata)
{
AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID);
if (adata == null)
{
rdata.Fail(Rest.HttpStatusCodeNoContent,
String.Format("appearance data not found for user {0} {1}",
rdata.userProfile.FirstName, rdata.userProfile.SurName));
}
rdata.userAppearance = adata.ToAvatarAppearance(rdata.userProfile.ID);
rdata.initXmlWriter();
FormatUserAppearance(rdata);
// Indicate a successful request
rdata.Complete();
// Send the response to the user. The body will be implicitly
// constructed from the result of the XML writer.
rdata.Respond(String.Format("Appearance {0} Normal completion", rdata.method));
}
// private void DoGet(AppearanceRequestData rdata)
// {
// AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID);
//
// if (adata == null)
// {
// rdata.Fail(Rest.HttpStatusCodeNoContent,
// String.Format("appearance data not found for user {0} {1}",
// rdata.userProfile.FirstName, rdata.userProfile.SurName));
// }
// rdata.userAppearance = adata.ToAvatarAppearance(rdata.userProfile.ID);
//
// rdata.initXmlWriter();
//
// FormatUserAppearance(rdata);
//
// // Indicate a successful request
//
// rdata.Complete();
//
// // Send the response to the user. The body will be implicitly
// // constructed from the result of the XML writer.
//
// rdata.Respond(String.Format("Appearance {0} Normal completion", rdata.method));
// }
/// <summary>
/// POST adds NEW information to the user profile database.
@@ -326,112 +327,112 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
/// characteristics supplied in the request.
/// </summary>
private void DoExtend(AppearanceRequestData rdata)
{
bool created = false;
bool modified = false;
string newnode = String.Empty;
Rest.Log.DebugFormat("{0} POST ENTRY", MsgId);
//AvatarAppearance old = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
rdata.userAppearance = new AvatarAppearance();
// Although the following behavior is admitted by HTTP I am becoming
// increasingly doubtful that it is appropriate for REST. If I attempt to
// add a new record, and it already exists, then it seems to me that the
// attempt should fail, rather than update the existing record.
AvatarData adata = null;
if (GetUserAppearance(rdata))
{
modified = rdata.userAppearance != null;
created = !modified;
adata = new AvatarData(rdata.userAppearance);
Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
// Rest.UserServices.UpdateUserProfile(rdata.userProfile);
}
else
{
created = true;
adata = new AvatarData(rdata.userAppearance);
Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
// Rest.UserServices.UpdateUserProfile(rdata.userProfile);
}
if (created)
{
newnode = String.Format("{0} {1}", rdata.userProfile.FirstName,
rdata.userProfile.SurName);
// Must include a location header with a URI that identifies the new resource.
rdata.AddHeader(Rest.HttpHeaderLocation,String.Format("http://{0}{1}:{2}{3}{4}",
rdata.hostname,rdata.port,rdata.path,Rest.UrlPathSeparator, newnode));
rdata.Complete(Rest.HttpStatusCodeCreated);
}
else
{
if (modified)
{
rdata.Complete(Rest.HttpStatusCodeOK);
}
else
{
rdata.Complete(Rest.HttpStatusCodeNoContent);
}
}
rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method));
}
// private void DoExtend(AppearanceRequestData rdata)
// {
//
// bool created = false;
// bool modified = false;
// string newnode = String.Empty;
//
// Rest.Log.DebugFormat("{0} POST ENTRY", MsgId);
//
// //AvatarAppearance old = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
//
// rdata.userAppearance = new AvatarAppearance();
//
// // Although the following behavior is admitted by HTTP I am becoming
// // increasingly doubtful that it is appropriate for REST. If I attempt to
// // add a new record, and it already exists, then it seems to me that the
// // attempt should fail, rather than update the existing record.
// AvatarData adata = null;
// if (GetUserAppearance(rdata))
// {
// modified = rdata.userAppearance != null;
// created = !modified;
// adata = new AvatarData(rdata.userAppearance);
// Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
// // Rest.UserServices.UpdateUserProfile(rdata.userProfile);
// }
// else
// {
// created = true;
// adata = new AvatarData(rdata.userAppearance);
// Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
// // Rest.UserServices.UpdateUserProfile(rdata.userProfile);
// }
//
// if (created)
// {
// newnode = String.Format("{0} {1}", rdata.userProfile.FirstName,
// rdata.userProfile.SurName);
// // Must include a location header with a URI that identifies the new resource.
//
// rdata.AddHeader(Rest.HttpHeaderLocation,String.Format("http://{0}{1}:{2}{3}{4}",
// rdata.hostname,rdata.port,rdata.path,Rest.UrlPathSeparator, newnode));
// rdata.Complete(Rest.HttpStatusCodeCreated);
//
// }
// else
// {
// if (modified)
// {
// rdata.Complete(Rest.HttpStatusCodeOK);
// }
// else
// {
// rdata.Complete(Rest.HttpStatusCodeNoContent);
// }
// }
//
// rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method));
//
// }
/// <summary>
/// This updates the user's appearance. not all aspects need to be provided,
/// only those supplied will be changed.
/// </summary>
private void DoUpdate(AppearanceRequestData rdata)
{
// REFACTORING PROBLEM This was commented out. It doesn't work for 0.7
//bool created = false;
//bool modified = false;
//rdata.userAppearance = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
//// If the user exists then this is considered a modification regardless
//// of what may, or may not be, specified in the payload.
//if (rdata.userAppearance != null)
//{
// modified = true;
// Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
// Rest.UserServices.UpdateUserProfile(rdata.userProfile);
//}
//if (created)
//{
// rdata.Complete(Rest.HttpStatusCodeCreated);
//}
//else
//{
// if (modified)
// {
// rdata.Complete(Rest.HttpStatusCodeOK);
// }
// else
// {
// rdata.Complete(Rest.HttpStatusCodeNoContent);
// }
//}
rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method));
}
// private void DoUpdate(AppearanceRequestData rdata)
// {
//
// // REFACTORING PROBLEM This was commented out. It doesn't work for 0.7
//
// //bool created = false;
// //bool modified = false;
//
//
// //rdata.userAppearance = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID);
//
// //// If the user exists then this is considered a modification regardless
// //// of what may, or may not be, specified in the payload.
//
// //if (rdata.userAppearance != null)
// //{
// // modified = true;
// // Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance);
// // Rest.UserServices.UpdateUserProfile(rdata.userProfile);
// //}
//
// //if (created)
// //{
// // rdata.Complete(Rest.HttpStatusCodeCreated);
// //}
// //else
// //{
// // if (modified)
// // {
// // rdata.Complete(Rest.HttpStatusCodeOK);
// // }
// // else
// // {
// // rdata.Complete(Rest.HttpStatusCodeNoContent);
// // }
// //}
//
// rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method));
//
// }
/// <summary>
/// Delete the specified user's appearance. This actually performs a reset
@@ -439,31 +440,29 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
/// Existing ownership is preserved. All prior updates are lost and can not
/// be recovered.
/// </summary>
private void DoDelete(AppearanceRequestData rdata)
{
AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID);
if (adata != null)
{
AvatarAppearance old = adata.ToAvatarAppearance(rdata.userProfile.ID);
rdata.userAppearance = new AvatarAppearance();
rdata.userAppearance.Owner = old.Owner;
adata = new AvatarData(rdata.userAppearance);
Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
rdata.Complete();
}
else
{
rdata.Complete(Rest.HttpStatusCodeNoContent);
}
rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method));
}
// private void DoDelete(AppearanceRequestData rdata)
// {
// AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID);
//
// if (adata != null)
// {
// AvatarAppearance old = adata.ToAvatarAppearance(rdata.userProfile.ID);
// rdata.userAppearance = new AvatarAppearance();
// rdata.userAppearance.Owner = old.Owner;
// adata = new AvatarData(rdata.userAppearance);
//
// Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata);
//
// rdata.Complete();
// }
// else
// {
//
// rdata.Complete(Rest.HttpStatusCodeNoContent);
// }
//
// rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method));
// }
#endregion method-specific processing
@@ -489,17 +488,18 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
rdata.userAppearance.AvatarHeight = (float) Convert.ToDouble(xml.Value);
indata = true;
}
if (xml.MoveToAttribute("Owner"))
{
rdata.userAppearance.Owner = (UUID)xml.Value;
indata = true;
}
// if (xml.MoveToAttribute("Owner"))
// {
// rdata.userAppearance.Owner = (UUID)xml.Value;
// indata = true;
// }
if (xml.MoveToAttribute("Serial"))
{
rdata.userAppearance.Serial = Convert.ToInt32(xml.Value);
indata = true;
}
break;
/*
case "Body" :
if (xml.MoveToAttribute("Item"))
{
@@ -656,6 +656,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
indata = true;
}
break;
*/
case "Attachment" :
{
@@ -746,10 +747,11 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
rdata.writer.WriteStartElement("Appearance");
rdata.writer.WriteAttributeString("Height", rdata.userAppearance.AvatarHeight.ToString());
if (rdata.userAppearance.Owner != UUID.Zero)
rdata.writer.WriteAttributeString("Owner", rdata.userAppearance.Owner.ToString());
// if (rdata.userAppearance.Owner != UUID.Zero)
// rdata.writer.WriteAttributeString("Owner", rdata.userAppearance.Owner.ToString());
rdata.writer.WriteAttributeString("Serial", rdata.userAppearance.Serial.ToString());
/*
FormatPart(rdata, "Body", rdata.userAppearance.BodyItem, rdata.userAppearance.BodyAsset);
FormatPart(rdata, "Skin", rdata.userAppearance.SkinItem, rdata.userAppearance.SkinAsset);
FormatPart(rdata, "Hair", rdata.userAppearance.HairItem, rdata.userAppearance.HairAsset);
@@ -766,26 +768,20 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
FormatPart(rdata, "UnderShirt", rdata.userAppearance.UnderShirtItem, rdata.userAppearance.UnderShirtAsset);
FormatPart(rdata, "UnderPants", rdata.userAppearance.UnderPantsItem, rdata.userAppearance.UnderPantsAsset);
*/
Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting attachments", MsgId);
Hashtable attachments = rdata.userAppearance.GetAttachments();
if (attachments != null)
rdata.writer.WriteStartElement("Attachments");
List<AvatarAttachment> attachments = rdata.userAppearance.GetAttachments();
foreach (AvatarAttachment attach in attachments)
{
Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting attachments", MsgId);
rdata.writer.WriteStartElement("Attachments");
for (int i = 0; i < attachments.Count; i++)
{
Hashtable attachment = attachments[i] as Hashtable;
rdata.writer.WriteStartElement("Attachment");
rdata.writer.WriteAttributeString("AtPoint", i.ToString());
rdata.writer.WriteAttributeString("Item", (string) attachment["item"]);
rdata.writer.WriteAttributeString("Asset", (string) attachment["asset"]);
rdata.writer.WriteEndElement();
}
rdata.writer.WriteStartElement("Attachment");
rdata.writer.WriteAttributeString("AtPoint", attach.AttachPoint.ToString());
rdata.writer.WriteAttributeString("Item", attach.ItemID.ToString());
rdata.writer.WriteAttributeString("Asset", attach.AssetID.ToString());
rdata.writer.WriteEndElement();
}
rdata.writer.WriteEndElement();
Primitive.TextureEntry texture = rdata.userAppearance.Texture;

View File

@@ -312,14 +312,16 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
// Now that everything is setup we can proceed to
// add THIS agent to the HTTP server's handler list
if (!AddAgentHandler(Rest.Name,this))
{
Rest.Log.ErrorFormat("{0} Unable to activate handler interface", MsgId);
foreach (IRest handler in handlers)
{
handler.Close();
}
}
// FIXME: If this code is ever to be re-enabled (most of it is disabled already) then this will
// have to be handled through the AddHttpHandler interface.
// if (!AddAgentHandler(Rest.Name,this))
// {
// Rest.Log.ErrorFormat("{0} Unable to activate handler interface", MsgId);
// foreach (IRest handler in handlers)
// {
// handler.Close();
// }
// }
}
catch (Exception e)
@@ -342,11 +344,13 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
{
Rest.Log.InfoFormat("{0} Plugin is terminating", MsgId);
try
{
RemoveAgentHandler(Rest.Name, this);
}
catch (KeyNotFoundException){}
// FIXME: If this code is ever to be re-enabled (most of it is disabled already) then this will
// have to be handled through the AddHttpHandler interface.
// try
// {
// RemoveAgentHandler(Rest.Name, this);
// }
// catch (KeyNotFoundException){}
foreach (IRest handler in handlers)
{
@@ -539,7 +543,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
/// path has not already been registered, the method is added to the active
/// handler table.
/// </summary>
public void AddStreamHandler(string httpMethod, string path, RestMethod method)
{
if (!IsEnabled)

View File

@@ -123,10 +123,15 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests
private void DoMove(RequestData rdata)
{
if (rdata.Parameters.Length >= 6)
if (rdata.Parameters.Length < 6)
{
Rest.Log.WarnFormat("{0} Move: No movement information provided", MsgId);
rdata.Fail(Rest.HttpStatusCodeBadRequest, "no movement information provided");
}
else
{
string[] names = rdata.Parameters[PARM_MOVE_AVATAR].Split(Rest.CA_SPACE);
ScenePresence avatar = null;
ScenePresence presence = null;
Scene scene = null;
if (names.Length != 2)
@@ -141,21 +146,19 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests
// The first parameter should be an avatar name, look for the
// avatar in the known regions first.
foreach (Scene cs in Rest.main.SceneManager.Scenes)
Rest.main.SceneManager.ForEachScene(delegate(Scene s)
{
foreach (ScenePresence presence in cs.GetAvatars())
s.ForEachRootScenePresence(delegate(ScenePresence sp)
{
if (presence.Firstname == names[0] &&
presence.Lastname == names[1])
if (sp.Firstname == names[0] && sp.Lastname == names[1])
{
scene = cs;
avatar = presence;
break;
scene = s;
presence = sp;
}
}
}
});
});
if (avatar != null)
if (presence != null)
{
Rest.Log.DebugFormat("{0} Move : Avatar {1} located in region {2}",
MsgId, rdata.Parameters[PARM_MOVE_AVATAR], scene.RegionInfo.RegionName);
@@ -165,15 +168,14 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests
float x = Convert.ToSingle(rdata.Parameters[PARM_MOVE_X]);
float y = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Y]);
float z = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Z]);
Vector3 vector = new Vector3(x,y,z);
avatar.DoAutoPilot(0,vector,avatar.ControllingClient);
Vector3 vector = new Vector3(x, y, z);
presence.MoveToTarget(vector, false, false);
}
catch (Exception e)
{
rdata.Fail(Rest.HttpStatusCodeBadRequest,
String.Format("invalid parameters: {0}", e.Message));
}
}
else
{
@@ -183,12 +185,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests
rdata.Complete();
rdata.Respond("OK");
}
else
{
Rest.Log.WarnFormat("{0} Move: No movement information provided", MsgId);
rdata.Fail(Rest.HttpStatusCodeBadRequest, "no movement information provided");
}
}

View File

@@ -41,7 +41,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
{
#region GET methods
public string GetHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h))
@@ -64,7 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
}
public string GetHandlerRegions(OSHttpResponse httpResponse)
public string GetHandlerRegions(IOSHttpResponse httpResponse)
{
RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@@ -95,7 +95,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString();
}
public string GetHandlerRegion(OSHttpResponse httpResponse, string param)
public string GetHandlerRegion(IOSHttpResponse httpResponse, string param)
{
// be resilient and don't get confused by a terminating '/'
param = param.TrimEnd(new char[]{'/'});
@@ -180,7 +180,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
#endregion GET methods
protected string RegionTerrain(OSHttpResponse httpResponse, Scene scene)
protected string RegionTerrain(IOSHttpResponse httpResponse, Scene scene)
{
httpResponse.SendChunked = true;
httpResponse.ContentType = "text/xml";
@@ -190,9 +190,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
// "GET", "terrain not implemented");
}
protected string RegionStats(OSHttpResponse httpResponse, Scene scene)
protected string RegionStats(IOSHttpResponse httpResponse, Scene scene)
{
int users = scene.GetAvatars().Count;
int users = scene.GetRootAgentCount();
int objects = scene.Entities.Count - users;
RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@@ -213,7 +213,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString();
}
protected string RegionPrims(OSHttpResponse httpResponse, Scene scene, Vector3 min, Vector3 max)
protected string RegionPrims(IOSHttpResponse httpResponse, Scene scene, Vector3 min, Vector3 max)
{
httpResponse.SendChunked = true;
httpResponse.ContentType = "text/xml";

View File

@@ -40,7 +40,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
{
#region GET methods
public string GetRegionInfoHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h))
@@ -64,7 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
}
public string GetRegionInfoHandlerRegions(OSHttpResponse httpResponse)
public string GetRegionInfoHandlerRegions(IOSHttpResponse httpResponse)
{
RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@@ -117,7 +117,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
rxw.WriteString(s.RegionInfo.InternalEndPoint.ToString());
rxw.WriteEndAttribute();
int users = s.GetAvatars().Count;
int users = s.GetRootAgentCount();
rxw.WriteStartAttribute(String.Empty, "avatars", String.Empty);
rxw.WriteValue(users);
rxw.WriteEndAttribute();

View File

@@ -40,7 +40,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
#region POST methods
public string PostHandler(string request, string path, string param,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// foreach (string h in httpRequest.Headers.AllKeys)
// foreach (string v in httpRequest.Headers.GetValues(h))
@@ -92,7 +92,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
}
}
public string CreateRegion(OSHttpRequest request, OSHttpResponse response)
public string CreateRegion(IOSHttpRequest request, IOSHttpResponse response)
{
RestXmlWriter rxw = new RestXmlWriter(new StringWriter());
@@ -108,7 +108,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
return rxw.ToString();
}
public string LoadPrims(string requestBody, OSHttpRequest request, OSHttpResponse response, Scene scene)
public string LoadPrims(string requestBody, IOSHttpRequest request, IOSHttpResponse response, Scene scene)
{
IRegionSerialiserModule serialiser = scene.RequestModuleInterface<IRegionSerialiserModule>();
if (serialiser != null)

View File

@@ -297,7 +297,9 @@ namespace OpenSim.ApplicationPlugins.Rest
{
if (!IsEnabled) return false;
_agents.Add(agentName, handler);
return _httpd.AddAgentHandler(agentName, handler);
// return _httpd.AddAgentHandler(agentName, handler);
return false;
}
/// <summary>
@@ -316,7 +318,7 @@ namespace OpenSim.ApplicationPlugins.Rest
if (_agents[agentName] == handler)
{
_agents.Remove(agentName);
return _httpd.RemoveAgentHandler(agentName, handler);
// return _httpd.RemoveAgentHandler(agentName, handler);
}
return false;
}
@@ -328,7 +330,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// </summary>
/// <param name="request">HTTP request header</param>
/// <returns>true when the HTTP request came from god.</returns>
protected bool IsGod(OSHttpRequest request)
protected bool IsGod(IOSHttpRequest request)
{
string[] keys = request.Headers.GetValues("X-OpenSim-Godkey");
if (null == keys) return false;
@@ -342,7 +344,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// HTTP header is indeed the password on file for the avatar
/// specified by the UUID
/// </summary>
protected bool IsVerifiedUser(OSHttpRequest request, UUID uuid)
protected bool IsVerifiedUser(IOSHttpRequest request, UUID uuid)
{
// XXX under construction
return false;
@@ -358,10 +360,10 @@ namespace OpenSim.ApplicationPlugins.Rest
_httpd.RemoveStreamHandler(h.HttpMethod, h.Path);
}
_handlers = null;
foreach (KeyValuePair<string, IHttpAgentHandler> h in _agents)
{
_httpd.RemoveAgentHandler(h.Key, h.Value);
}
// foreach (KeyValuePair<string, IHttpAgentHandler> h in _agents)
// {
// _httpd.RemoveAgentHandler(h.Key, h.Value);
// }
_agents = null;
}
@@ -377,7 +379,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// <param name="message">failure message</param>
/// <remarks>This should probably set a return code as
/// well. (?)</remarks>
protected string Failure(OSHttpResponse response, OSHttpStatusCode status,
protected string Failure(IOSHttpResponse response, OSHttpStatusCode status,
string method, string format, params string[] msg)
{
string m = String.Format(format, msg);
@@ -396,7 +398,7 @@ namespace OpenSim.ApplicationPlugins.Rest
/// <param name="e">exception causing the failure message</param>
/// <remarks>This should probably set a return code as
/// well. (?)</remarks>
public string Failure(OSHttpResponse response, OSHttpStatusCode status,
public string Failure(IOSHttpResponse response, OSHttpStatusCode status,
string method, Exception e)
{
string m = String.Format("exception occurred: {0}", e.Message);

View File

@@ -0,0 +1,175 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
// using OpenSim.Region.Framework.Interfaces;
namespace OpenSim.Framework.Capabilities
{
/// <summary>
/// XXX Probably not a particularly nice way of allow us to get the scene presence from the scene (chiefly so that
/// we can popup a message on the user's client if the inventory service has permanently failed). But I didn't want
/// to just pass the whole Scene into CAPS.
/// </summary>
public delegate IClientAPI GetClientDelegate(UUID agentID);
public class Caps
{
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private string m_httpListenerHostName;
private uint m_httpListenPort;
/// <summary>
/// This is the uuid portion of every CAPS path. It is used to make capability urls private to the requester.
/// </summary>
private string m_capsObjectPath;
public string CapsObjectPath { get { return m_capsObjectPath; } }
private CapsHandlers m_capsHandlers;
private Dictionary<string, string> m_externalCapsHandlers;
private IHttpServer m_httpListener;
private UUID m_agentID;
private string m_regionName;
public UUID AgentID
{
get { return m_agentID; }
}
public string RegionName
{
get { return m_regionName; }
}
public string HostName
{
get { return m_httpListenerHostName; }
}
public uint Port
{
get { return m_httpListenPort; }
}
public IHttpServer HttpListener
{
get { return m_httpListener; }
}
public bool SSLCaps
{
get { return m_httpListener.UseSSL; }
}
public string SSLCommonName
{
get { return m_httpListener.SSLCommonName; }
}
public CapsHandlers CapsHandlers
{
get { return m_capsHandlers; }
}
public Dictionary<string, string> ExternalCapsHandlers
{
get { return m_externalCapsHandlers; }
}
public Caps(IHttpServer httpServer, string httpListen, uint httpPort, string capsPath,
UUID agent, string regionName)
{
m_capsObjectPath = capsPath;
m_httpListener = httpServer;
m_httpListenerHostName = httpListen;
m_httpListenPort = httpPort;
if (httpServer != null && httpServer.UseSSL)
{
m_httpListenPort = httpServer.SSLPort;
httpListen = httpServer.SSLCommonName;
httpPort = httpServer.SSLPort;
}
m_agentID = agent;
m_capsHandlers = new CapsHandlers(httpServer, httpListen, httpPort, (httpServer == null) ? false : httpServer.UseSSL);
m_externalCapsHandlers = new Dictionary<string, string>();
m_regionName = regionName;
}
/// <summary>
/// Register a handler. This allows modules to register handlers.
/// </summary>
/// <param name="capName"></param>
/// <param name="handler"></param>
public void RegisterHandler(string capName, IRequestHandler handler)
{
m_capsHandlers[capName] = handler;
//m_log.DebugFormat("[CAPS]: Registering handler for \"{0}\": path {1}", capName, handler.Path);
}
/// <summary>
/// Register an external handler. The service for this capability is somewhere else
/// given by the URL.
/// </summary>
/// <param name="capsName"></param>
/// <param name="url"></param>
public void RegisterHandler(string capsName, string url)
{
m_externalCapsHandlers.Add(capsName, url);
}
/// <summary>
/// Remove all CAPS service handlers.
/// </summary>
public void DeregisterHandlers()
{
if (m_capsHandlers != null)
{
foreach (string capsName in m_capsHandlers.Caps)
{
m_capsHandlers.Remove(capsName);
}
}
}
}
}

View File

@@ -51,11 +51,10 @@ namespace OpenSim.Framework.Capabilities
/// supplied BaseHttpServer.
/// </summary>
/// <param name="httpListener">base HTTP server</param>
/// <param name="httpListenerHostname">host name of the HTTP
/// server</param>
/// <param name="httpListenerHostname">host name of the HTTP server</param>
/// <param name="httpListenerPort">HTTP port</param>
public CapsHandlers(BaseHttpServer httpListener, string httpListenerHostname, uint httpListenerPort)
: this (httpListener,httpListenerHostname,httpListenerPort, false)
: this(httpListener,httpListenerHostname,httpListenerPort, false)
{
}
@@ -74,7 +73,7 @@ namespace OpenSim.Framework.Capabilities
m_httpListenerHostName = httpListenerHostname;
m_httpListenerPort = httpListenerPort;
m_useSSL = https;
if (m_useSSL)
if (httpListener != null && m_useSSL)
{
m_httpListenerHostName = httpListener.SSLCommonName;
m_httpListenerPort = httpListener.SSLPort;
@@ -88,44 +87,52 @@ namespace OpenSim.Framework.Capabilities
/// handler to be removed</param>
public void Remove(string capsName)
{
// This line must be here, or caps will break!
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[capsName].Path);
m_capsHandlers.Remove(capsName);
lock (m_capsHandlers)
{
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[capsName].Path);
m_httpListener.RemoveStreamHandler("GET", m_capsHandlers[capsName].Path);
m_capsHandlers.Remove(capsName);
}
}
public bool ContainsCap(string cap)
{
return m_capsHandlers.ContainsKey(cap);
lock (m_capsHandlers)
return m_capsHandlers.ContainsKey(cap);
}
/// <summary>
/// The indexer allows us to treat the CapsHandlers object
/// in an intuitive dictionary like way.
/// </summary>
/// <Remarks>
/// <remarks>
/// The indexer will throw an exception when you try to
/// retrieve a cap handler for a cap that is not contained in
/// CapsHandlers.
/// </Remarks>
/// </remarks>
public IRequestHandler this[string idx]
{
get
{
return m_capsHandlers[idx];
lock (m_capsHandlers)
return m_capsHandlers[idx];
}
set
{
if (m_capsHandlers.ContainsKey(idx))
lock (m_capsHandlers)
{
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[idx].Path);
m_capsHandlers.Remove(idx);
if (m_capsHandlers.ContainsKey(idx))
{
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[idx].Path);
m_capsHandlers.Remove(idx);
}
if (null == value) return;
m_capsHandlers[idx] = value;
m_httpListener.AddStreamHandler(value);
}
if (null == value) return;
m_capsHandlers[idx] = value;
m_httpListener.AddStreamHandler(value);
}
}
@@ -137,9 +144,12 @@ namespace OpenSim.Framework.Capabilities
{
get
{
string[] __keys = new string[m_capsHandlers.Keys.Count];
m_capsHandlers.Keys.CopyTo(__keys, 0);
return __keys;
lock (m_capsHandlers)
{
string[] __keys = new string[m_capsHandlers.Keys.Count];
m_capsHandlers.Keys.CopyTo(__keys, 0);
return __keys;
}
}
}
@@ -147,25 +157,29 @@ namespace OpenSim.Framework.Capabilities
/// Return an LLSD-serializable Hashtable describing the
/// capabilities and their handler details.
/// </summary>
public Hashtable CapsDetails
/// <param name="excludeSeed">If true, then exclude the seed cap.</param>
public Hashtable GetCapsDetails(bool excludeSeed)
{
get
{
Hashtable caps = new Hashtable();
string protocol = "http://";
if (m_useSSL)
protocol = "https://";
Hashtable caps = new Hashtable();
string protocol = "http://";
if (m_useSSL)
protocol = "https://";
string baseUrl = protocol + m_httpListenerHostName + ":" + m_httpListenerPort.ToString();
string baseUrl = protocol + m_httpListenerHostName + ":" + m_httpListenerPort.ToString();
lock (m_capsHandlers)
{
foreach (string capsName in m_capsHandlers.Keys)
{
// skip SEED cap
if ("SEED" == capsName) continue;
if (excludeSeed && "SEED" == capsName)
continue;
caps[capsName] = baseUrl + m_capsHandlers[capsName].Path;
}
return caps;
}
return caps;
}
}
}
}

View File

@@ -0,0 +1,124 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenSim.Framework;
using OpenSim.Framework.Capabilities;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
using OSDArray = OpenMetaverse.StructuredData.OSDArray;
using OSDMap = OpenMetaverse.StructuredData.OSDMap;
namespace OpenSim.Capabilities.Handlers
{
public class FetchInventory2Handler
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IInventoryService m_inventoryService;
public FetchInventory2Handler(IInventoryService invService)
{
m_inventoryService = invService;
}
public string FetchInventoryRequest(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// m_log.DebugFormat("[FETCH INVENTORY HANDLER]: Received FetchInventory capabilty request");
OSDMap requestmap = (OSDMap)OSDParser.DeserializeLLSDXml(Utils.StringToBytes(request));
OSDArray itemsRequested = (OSDArray)requestmap["items"];
string reply;
LLSDFetchInventory llsdReply = new LLSDFetchInventory();
foreach (OSDMap osdItemId in itemsRequested)
{
UUID itemId = osdItemId["item_id"].AsUUID();
InventoryItemBase item = m_inventoryService.GetItem(new InventoryItemBase(itemId));
if (item != null)
{
// We don't know the agent that this request belongs to so we'll use the agent id of the item
// which will be the same for all items.
llsdReply.agent_id = item.Owner;
llsdReply.items.Array.Add(ConvertInventoryItem(item));
}
}
reply = LLSDHelpers.SerialiseLLSDReply(llsdReply);
return reply;
}
/// <summary>
/// Convert an internal inventory item object into an LLSD object.
/// </summary>
/// <param name="invItem"></param>
/// <returns></returns>
private LLSDInventoryItem ConvertInventoryItem(InventoryItemBase invItem)
{
LLSDInventoryItem llsdItem = new LLSDInventoryItem();
llsdItem.asset_id = invItem.AssetID;
llsdItem.created_at = invItem.CreationDate;
llsdItem.desc = invItem.Description;
llsdItem.flags = (int)invItem.Flags;
llsdItem.item_id = invItem.ID;
llsdItem.name = invItem.Name;
llsdItem.parent_id = invItem.Folder;
llsdItem.type = invItem.AssetType;
llsdItem.inv_type = invItem.InvType;
llsdItem.permissions = new LLSDPermissions();
llsdItem.permissions.creator_id = invItem.CreatorIdAsUuid;
llsdItem.permissions.base_mask = (int)invItem.CurrentPermissions;
llsdItem.permissions.everyone_mask = (int)invItem.EveryOnePermissions;
llsdItem.permissions.group_id = invItem.GroupID;
llsdItem.permissions.group_mask = (int)invItem.GroupPermissions;
llsdItem.permissions.is_owner_group = invItem.GroupOwned;
llsdItem.permissions.next_owner_mask = (int)invItem.NextPermissions;
llsdItem.permissions.owner_id = invItem.Owner;
llsdItem.permissions.owner_mask = (int)invItem.CurrentPermissions;
llsdItem.sale_info = new LLSDSaleInfo();
llsdItem.sale_info.sale_price = invItem.SalePrice;
llsdItem.sale_info.sale_type = invItem.SaleType;
return llsdItem;
}
}
}

View File

@@ -0,0 +1,71 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class FetchInventory2ServerConnector : ServiceConnector
{
private IInventoryService m_InventoryService;
private string m_ConfigName = "CapsService";
public FetchInventory2ServerConnector(IConfigSource config, IHttpServer server, string configName)
: base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string invService = serverConfig.GetString("InventoryService", String.Empty);
if (invService == String.Empty)
throw new Exception("No InventoryService in config file");
Object[] args = new Object[] { config };
m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(invService, args);
if (m_InventoryService == null)
throw new Exception(String.Format("Failed to load InventoryService from {0}; config is {1}", invService, m_ConfigName));
FetchInventory2Handler fiHandler = new FetchInventory2Handler(m_InventoryService);
IRequestHandler reqHandler
= new RestStreamHandler(
"POST", "/CAPS/FetchInventory/", fiHandler.FetchInventoryRequest, "FetchInventory", null);
server.AddStreamHandler(reqHandler);
}
}
}

View File

@@ -0,0 +1,116 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Reflection;
using System.IO;
using System.Web;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class GetMeshHandler
{
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IAssetService m_assetService;
public GetMeshHandler(IAssetService assService)
{
m_assetService = assService;
}
public Hashtable ProcessGetMesh(Hashtable request, UUID AgentId, Caps cap)
{
Hashtable responsedata = new Hashtable();
responsedata["int_response_code"] = 400; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "Request wasn't what was expected";
string meshStr = string.Empty;
if (request.ContainsKey("mesh_id"))
meshStr = request["mesh_id"].ToString();
UUID meshID = UUID.Zero;
if (!String.IsNullOrEmpty(meshStr) && UUID.TryParse(meshStr, out meshID))
{
if (m_assetService == null)
{
responsedata["int_response_code"] = 404; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "The asset service is unavailable. So is your mesh.";
return responsedata;
}
AssetBase mesh = m_assetService.Get(meshID.ToString());
if (mesh != null)
{
if (mesh.Type == (SByte)AssetType.Mesh)
{
responsedata["str_response_string"] = Convert.ToBase64String(mesh.Data);
responsedata["content_type"] = "application/vnd.ll.mesh";
responsedata["int_response_code"] = 200;
}
// Optionally add additional mesh types here
else
{
responsedata["int_response_code"] = 404; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "Unfortunately, this asset isn't a mesh.";
return responsedata;
}
}
else
{
responsedata["int_response_code"] = 404; //501; //410; //404;
responsedata["content_type"] = "text/plain";
responsedata["keepalive"] = false;
responsedata["str_response_string"] = "Your Mesh wasn't found. Sorry!";
return responsedata;
}
}
return responsedata;
}
}
}

View File

@@ -0,0 +1,79 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenSim.Framework.Servers;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class GetMeshServerConnector : ServiceConnector
{
private IAssetService m_AssetService;
private string m_ConfigName = "CapsService";
public GetMeshServerConnector(IConfigSource config, IHttpServer server, string configName) :
base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string assetService = serverConfig.GetString("AssetService", String.Empty);
if (assetService == String.Empty)
throw new Exception("No AssetService in config file");
Object[] args = new Object[] { config };
m_AssetService =
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
if (m_AssetService == null)
throw new Exception(String.Format("Failed to load AssetService from {0}; config is {1}", assetService, m_ConfigName));
GetMeshHandler gmeshHandler = new GetMeshHandler(m_AssetService);
IRequestHandler reqHandler
= new RestHTTPHandler(
"GET",
"/CAPS/" + UUID.Random(),
httpMethod => gmeshHandler.ProcessGetMesh(httpMethod, UUID.Zero, null),
"GetMesh",
null);
server.AddStreamHandler(reqHandler);
}
}
}

View File

@@ -0,0 +1,426 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Drawing;
using System.Drawing.Imaging;
using System.Reflection;
using System.IO;
using System.Web;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenMetaverse.Imaging;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class GetTextureHandler : BaseStreamHandler
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IAssetService m_assetService;
public const string DefaultFormat = "x-j2c";
// TODO: Change this to a config option
const string REDIRECT_URL = null;
public GetTextureHandler(string path, IAssetService assService, string name, string description)
: base("GET", path, name, description)
{
m_assetService = assService;
}
public override byte[] Handle(string path, Stream request, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// Try to parse the texture ID from the request URL
NameValueCollection query = HttpUtility.ParseQueryString(httpRequest.Url.Query);
string textureStr = query.GetOne("texture_id");
string format = query.GetOne("format");
//m_log.DebugFormat("[GETTEXTURE]: called {0}", textureStr);
if (m_assetService == null)
{
m_log.Error("[GETTEXTURE]: Cannot fetch texture " + textureStr + " without an asset service");
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
}
UUID textureID;
if (!String.IsNullOrEmpty(textureStr) && UUID.TryParse(textureStr, out textureID))
{
// m_log.DebugFormat("[GETTEXTURE]: Received request for texture id {0}", textureID);
string[] formats;
if (format != null && format != string.Empty)
{
formats = new string[1] { format.ToLower() };
}
else
{
formats = WebUtil.GetPreferredImageTypes(httpRequest.Headers.Get("Accept"));
if (formats.Length == 0)
formats = new string[1] { DefaultFormat }; // default
}
// OK, we have an array with preferred formats, possibly with only one entry
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
foreach (string f in formats)
{
if (FetchTexture(httpRequest, httpResponse, textureID, f))
break;
}
}
else
{
m_log.Warn("[GETTEXTURE]: Failed to parse a texture_id from GetTexture request: " + httpRequest.Url);
}
// m_log.DebugFormat(
// "[GETTEXTURE]: For texture {0} sending back response {1}, data length {2}",
// textureID, httpResponse.StatusCode, httpResponse.ContentLength);
return null;
}
/// <summary>
///
/// </summary>
/// <param name="httpRequest"></param>
/// <param name="httpResponse"></param>
/// <param name="textureID"></param>
/// <param name="format"></param>
/// <returns>False for "caller try another codec"; true otherwise</returns>
private bool FetchTexture(IOSHttpRequest httpRequest, IOSHttpResponse httpResponse, UUID textureID, string format)
{
// m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format);
AssetBase texture;
string fullID = textureID.ToString();
if (format != DefaultFormat)
fullID = fullID + "-" + format;
if (!String.IsNullOrEmpty(REDIRECT_URL))
{
// Only try to fetch locally cached textures. Misses are redirected
texture = m_assetService.GetCached(fullID);
if (texture != null)
{
if (texture.Type != (sbyte)AssetType.Texture)
{
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
return true;
}
WriteTextureData(httpRequest, httpResponse, texture, format);
}
else
{
string textureUrl = REDIRECT_URL + textureID.ToString();
m_log.Debug("[GETTEXTURE]: Redirecting texture request to " + textureUrl);
httpResponse.RedirectLocation = textureUrl;
return true;
}
}
else // no redirect
{
// try the cache
texture = m_assetService.GetCached(fullID);
if (texture == null)
{
// m_log.DebugFormat("[GETTEXTURE]: texture was not in the cache");
// Fetch locally or remotely. Misses return a 404
texture = m_assetService.Get(textureID.ToString());
if (texture != null)
{
if (texture.Type != (sbyte)AssetType.Texture)
{
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
return true;
}
if (format == DefaultFormat)
{
WriteTextureData(httpRequest, httpResponse, texture, format);
return true;
}
else
{
AssetBase newTexture = new AssetBase(texture.ID + "-" + format, texture.Name, (sbyte)AssetType.Texture, texture.Metadata.CreatorID);
newTexture.Data = ConvertTextureData(texture, format);
if (newTexture.Data.Length == 0)
return false; // !!! Caller try another codec, please!
newTexture.Flags = AssetFlags.Collectable;
newTexture.Temporary = true;
m_assetService.Store(newTexture);
WriteTextureData(httpRequest, httpResponse, newTexture, format);
return true;
}
}
}
else // it was on the cache
{
// m_log.DebugFormat("[GETTEXTURE]: texture was in the cache");
WriteTextureData(httpRequest, httpResponse, texture, format);
return true;
}
}
// not found
// m_log.Warn("[GETTEXTURE]: Texture " + textureID + " not found");
httpResponse.StatusCode = (int)System.Net.HttpStatusCode.NotFound;
return true;
}
private void WriteTextureData(IOSHttpRequest request, IOSHttpResponse response, AssetBase texture, string format)
{
string range = request.Headers.GetOne("Range");
if (!String.IsNullOrEmpty(range)) // JP2's only
{
// Range request
int start, end;
if (TryParseRange(range, out start, out end))
{
// Before clamping start make sure we can satisfy it in order to avoid
// sending back the last byte instead of an error status
if (start >= texture.Data.Length)
{
// m_log.DebugFormat(
// "[GETTEXTURE]: Client requested range for texture {0} starting at {1} but texture has end of {2}",
// texture.ID, start, texture.Data.Length);
// Stricly speaking, as per http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html, we should be sending back
// Requested Range Not Satisfiable (416) here. However, it appears that at least recent implementations
// of the Linden Lab viewer (3.2.1 and 3.3.4 and probably earlier), a viewer that has previously
// received a very small texture may attempt to fetch bytes from the server past the
// range of data that it received originally. Whether this happens appears to depend on whether
// the viewer's estimation of how large a request it needs to make for certain discard levels
// (http://wiki.secondlife.com/wiki/Image_System#Discard_Level_and_Mip_Mapping), chiefly discard
// level 2. If this estimate is greater than the total texture size, returning a RequestedRangeNotSatisfiable
// here will cause the viewer to treat the texture as bad and never display the full resolution
// However, if we return PartialContent (or OK) instead, the viewer will display that resolution.
// response.StatusCode = (int)System.Net.HttpStatusCode.RequestedRangeNotSatisfiable;
// response.AddHeader("Content-Range", String.Format("bytes */{0}", texture.Data.Length));
// response.StatusCode = (int)System.Net.HttpStatusCode.OK;
response.StatusCode = (int)System.Net.HttpStatusCode.PartialContent;
response.ContentType = texture.Metadata.ContentType;
}
else
{
// Handle the case where no second range value was given. This is equivalent to requesting
// the rest of the entity.
if (end == -1)
end = int.MaxValue;
end = Utils.Clamp(end, 0, texture.Data.Length - 1);
start = Utils.Clamp(start, 0, end);
int len = end - start + 1;
// m_log.Debug("Serving " + start + " to " + end + " of " + texture.Data.Length + " bytes for texture " + texture.ID);
// Always return PartialContent, even if the range covered the entire data length
// We were accidentally sending back 404 before in this situation
// https://issues.apache.org/bugzilla/show_bug.cgi?id=51878 supports sending 206 even if the
// entire range is requested, and viewer 3.2.2 (and very probably earlier) seems fine with this.
//
// We also do not want to send back OK even if the whole range was satisfiable since this causes
// HTTP textures on at least Imprudence 1.4.0-beta2 to never display the final texture quality.
// if (end > maxEnd)
// response.StatusCode = (int)System.Net.HttpStatusCode.OK;
// else
response.StatusCode = (int)System.Net.HttpStatusCode.PartialContent;
response.ContentLength = len;
response.ContentType = texture.Metadata.ContentType;
response.AddHeader("Content-Range", String.Format("bytes {0}-{1}/{2}", start, end, texture.Data.Length));
response.Body.Write(texture.Data, start, len);
}
}
else
{
m_log.Warn("[GETTEXTURE]: Malformed Range header: " + range);
response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
}
}
else // JP2's or other formats
{
// Full content request
response.StatusCode = (int)System.Net.HttpStatusCode.OK;
response.ContentLength = texture.Data.Length;
if (format == DefaultFormat)
response.ContentType = texture.Metadata.ContentType;
else
response.ContentType = "image/" + format;
response.Body.Write(texture.Data, 0, texture.Data.Length);
}
// if (response.StatusCode < 200 || response.StatusCode > 299)
// m_log.WarnFormat(
// "[GETTEXTURE]: For texture {0} requested range {1} responded {2} with content length {3} (actual {4})",
// texture.FullID, range, response.StatusCode, response.ContentLength, texture.Data.Length);
// else
// m_log.DebugFormat(
// "[GETTEXTURE]: For texture {0} requested range {1} responded {2} with content length {3} (actual {4})",
// texture.FullID, range, response.StatusCode, response.ContentLength, texture.Data.Length);
}
/// <summary>
/// Parse a range header.
/// </summary>
/// <remarks>
/// As per http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html,
/// this obeys range headers with two values (e.g. 533-4165) and no second value (e.g. 533-).
/// Where there is no value, -1 is returned.
/// FIXME: Need to cover the case where only a second value is specified (e.g. -4165), probably by returning -1
/// for start.</remarks>
/// <returns></returns>
/// <param name='header'></param>
/// <param name='start'>Start of the range. Undefined if this was not a number.</param>
/// <param name='end'>End of the range. Will be -1 if no end specified. Undefined if there was a raw string but this was not a number.</param>
private bool TryParseRange(string header, out int start, out int end)
{
start = end = 0;
if (header.StartsWith("bytes="))
{
string[] rangeValues = header.Substring(6).Split('-');
if (rangeValues.Length == 2)
{
if (!Int32.TryParse(rangeValues[0], out start))
return false;
string rawEnd = rangeValues[1];
if (rawEnd == "")
{
end = -1;
return true;
}
else if (Int32.TryParse(rawEnd, out end))
{
return true;
}
}
}
start = end = 0;
return false;
}
private byte[] ConvertTextureData(AssetBase texture, string format)
{
m_log.DebugFormat("[GETTEXTURE]: Converting texture {0} to {1}", texture.ID, format);
byte[] data = new byte[0];
MemoryStream imgstream = new MemoryStream();
Bitmap mTexture = new Bitmap(1, 1);
ManagedImage managedImage;
Image image = (Image)mTexture;
try
{
// Taking our jpeg2000 data, decoding it, then saving it to a byte array with regular data
imgstream = new MemoryStream();
// Decode image to System.Drawing.Image
if (OpenJPEG.DecodeToImage(texture.Data, out managedImage, out image))
{
// Save to bitmap
mTexture = new Bitmap(image);
EncoderParameters myEncoderParameters = new EncoderParameters();
myEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 95L);
// Save bitmap to stream
ImageCodecInfo codec = GetEncoderInfo("image/" + format);
if (codec != null)
{
mTexture.Save(imgstream, codec, myEncoderParameters);
// Write the stream to a byte array for output
data = imgstream.ToArray();
}
else
m_log.WarnFormat("[GETTEXTURE]: No such codec {0}", format);
}
}
catch (Exception e)
{
m_log.WarnFormat("[GETTEXTURE]: Unable to convert texture {0} to {1}: {2}", texture.ID, format, e.Message);
}
finally
{
// Reclaim memory, these are unmanaged resources
// If we encountered an exception, one or more of these will be null
if (mTexture != null)
mTexture.Dispose();
if (image != null)
image.Dispose();
if (imgstream != null)
{
imgstream.Close();
imgstream.Dispose();
}
}
return data;
}
// From msdn
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for (int j = 0; j < encoders.Length; ++j)
{
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}
}
}

View File

@@ -0,0 +1,69 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class GetTextureServerConnector : ServiceConnector
{
private IAssetService m_AssetService;
private string m_ConfigName = "CapsService";
public GetTextureServerConnector(IConfigSource config, IHttpServer server, string configName) :
base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string assetService = serverConfig.GetString("AssetService", String.Empty);
if (assetService == String.Empty)
throw new Exception("No AssetService in config file");
Object[] args = new Object[] { config };
m_AssetService =
ServerUtils.LoadPlugin<IAssetService>(assetService, args);
if (m_AssetService == null)
throw new Exception(String.Format("Failed to load AssetService from {0}; config is {1}", assetService, m_ConfigName));
server.AddStreamHandler(
new GetTextureHandler("/CAPS/GetTexture/" /*+ UUID.Random() */, m_AssetService, "GetTexture", null));
}
}
}

View File

@@ -0,0 +1,63 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Net;
using log4net;
using log4net.Config;
using NUnit.Framework;
using OpenMetaverse;
using OpenSim.Capabilities.Handlers;
using OpenSim.Framework;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Tests.Common;
using OpenSim.Tests.Common.Mock;
namespace OpenSim.Capabilities.Handlers.GetTexture.Tests
{
[TestFixture]
public class GetTextureHandlerTests : OpenSimTestCase
{
[Test]
public void TestTextureNotFound()
{
TestHelpers.InMethod();
// Overkill - we only really need the asset service, not a whole scene.
Scene scene = new SceneHelpers().SetupScene();
GetTextureHandler handler = new GetTextureHandler(null, scene.AssetService, "TestGetTexture", null);
TestOSHttpRequest req = new TestOSHttpRequest();
TestOSHttpResponse resp = new TestOSHttpResponse();
req.Url = new Uri("http://localhost/?texture_id=00000000-0000-1111-9999-000000000012");
handler.Handle(null, null, req, resp);
Assert.That(resp.StatusCode, Is.EqualTo((int)System.Net.HttpStatusCode.NotFound));
}
}
}

View File

@@ -0,0 +1,181 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Drawing;
using System.Drawing.Imaging;
using System.Reflection;
using System.IO;
using System.Web;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenMetaverse.Imaging;
using OpenSim.Framework;
using OpenSim.Framework.Capabilities;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class UploadBakedTextureHandler
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private Caps m_HostCapsObj;
private IAssetService m_assetService;
private bool m_persistBakedTextures;
public UploadBakedTextureHandler(Caps caps, IAssetService assetService, bool persistBakedTextures)
{
m_HostCapsObj = caps;
m_assetService = assetService;
m_persistBakedTextures = persistBakedTextures;
}
/// <summary>
/// Handle a request from the client for a Uri to upload a baked texture.
/// </summary>
/// <param name="request"></param>
/// <param name="path"></param>
/// <param name="param"></param>
/// <param name="httpRequest"></param>
/// <param name="httpResponse"></param>
/// <returns>The upload response if the request is successful, null otherwise.</returns>
public string UploadBakedTexture(
string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
try
{
string capsBase = "/CAPS/" + m_HostCapsObj.CapsObjectPath;
string uploaderPath = Util.RandomClass.Next(5000, 8000).ToString("0000");
BakedTextureUploader uploader =
new BakedTextureUploader(capsBase + uploaderPath, m_HostCapsObj.HttpListener);
uploader.OnUpLoad += BakedTextureUploaded;
m_HostCapsObj.HttpListener.AddStreamHandler(
new BinaryStreamHandler(
"POST", capsBase + uploaderPath, uploader.uploaderCaps, "UploadBakedTexture", null));
string protocol = "http://";
if (m_HostCapsObj.SSLCaps)
protocol = "https://";
string uploaderURL = protocol + m_HostCapsObj.HostName + ":" +
m_HostCapsObj.Port.ToString() + capsBase + uploaderPath;
LLSDAssetUploadResponse uploadResponse = new LLSDAssetUploadResponse();
uploadResponse.uploader = uploaderURL;
uploadResponse.state = "upload";
return LLSDHelpers.SerialiseLLSDReply(uploadResponse);
}
catch (Exception e)
{
m_log.ErrorFormat("[UPLOAD BAKED TEXTURE HANDLER]: {0}{1}", e.Message, e.StackTrace);
}
return null;
}
/// <summary>
/// Called when a baked texture has been successfully uploaded by a client.
/// </summary>
/// <param name="assetID"></param>
/// <param name="data"></param>
private void BakedTextureUploaded(UUID assetID, byte[] data)
{
// m_log.DebugFormat("[UPLOAD BAKED TEXTURE HANDLER]: Received baked texture {0}", assetID.ToString());
AssetBase asset;
asset = new AssetBase(assetID, "Baked Texture", (sbyte)AssetType.Texture, m_HostCapsObj.AgentID.ToString());
asset.Data = data;
asset.Temporary = true;
asset.Local = !m_persistBakedTextures; // Local assets aren't persisted, non-local are
m_assetService.Store(asset);
}
}
class BakedTextureUploader
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public event Action<UUID, byte[]> OnUpLoad;
private string uploaderPath = String.Empty;
private UUID newAssetID;
private IHttpServer httpListener;
public BakedTextureUploader(string path, IHttpServer httpServer)
{
newAssetID = UUID.Random();
uploaderPath = path;
httpListener = httpServer;
// m_log.InfoFormat("[CAPS] baked texture upload starting for {0}",newAssetID);
}
/// <summary>
/// Handle raw uploaded baked texture data.
/// </summary>
/// <param name="data"></param>
/// <param name="path"></param>
/// <param name="param"></param>
/// <returns></returns>
public string uploaderCaps(byte[] data, string path, string param)
{
Action<UUID, byte[]> handlerUpLoad = OnUpLoad;
// Don't do this asynchronously, otherwise it's possible for the client to send set appearance information
// on another thread which might send out avatar updates before the asset has been put into the asset
// service.
if (handlerUpLoad != null)
handlerUpLoad(newAssetID, data);
string res = String.Empty;
LLSDAssetUploadComplete uploadComplete = new LLSDAssetUploadComplete();
uploadComplete.new_asset = newAssetID.ToString();
uploadComplete.new_inventory_item = UUID.Zero;
uploadComplete.state = "complete";
res = LLSDHelpers.SerialiseLLSDReply(uploadComplete);
httpListener.RemoveStreamHandler("POST", uploaderPath);
// m_log.DebugFormat("[BAKED TEXTURE UPLOADER]: baked texture upload completed for {0}", newAssetID);
return res;
}
}
}

View File

@@ -0,0 +1,438 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using OpenSim.Framework;
using OpenSim.Framework.Capabilities;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Services.Interfaces;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Capabilities.Handlers
{
public class WebFetchInvDescHandler
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IInventoryService m_InventoryService;
private ILibraryService m_LibraryService;
// private object m_fetchLock = new Object();
public WebFetchInvDescHandler(IInventoryService invService, ILibraryService libService)
{
m_InventoryService = invService;
m_LibraryService = libService;
}
public string FetchInventoryDescendentsRequest(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
// lock (m_fetchLock)
// {
// m_log.DebugFormat("[WEB FETCH INV DESC HANDLER]: Received request {0}", request);
// nasty temporary hack here, the linden client falsely
// identifies the uuid 00000000-0000-0000-0000-000000000000
// as a string which breaks us
//
// correctly mark it as a uuid
//
request = request.Replace("<string>00000000-0000-0000-0000-000000000000</string>", "<uuid>00000000-0000-0000-0000-000000000000</uuid>");
// another hack <integer>1</integer> results in a
// System.ArgumentException: Object type System.Int32 cannot
// be converted to target type: System.Boolean
//
request = request.Replace("<key>fetch_folders</key><integer>0</integer>", "<key>fetch_folders</key><boolean>0</boolean>");
request = request.Replace("<key>fetch_folders</key><integer>1</integer>", "<key>fetch_folders</key><boolean>1</boolean>");
Hashtable hash = new Hashtable();
try
{
hash = (Hashtable)LLSD.LLSDDeserialize(Utils.StringToBytes(request));
}
catch (LLSD.LLSDParseException e)
{
m_log.ErrorFormat("[WEB FETCH INV DESC HANDLER]: Fetch error: {0}{1}" + e.Message, e.StackTrace);
m_log.Error("Request: " + request);
}
ArrayList foldersrequested = (ArrayList)hash["folders"];
string response = "";
for (int i = 0; i < foldersrequested.Count; i++)
{
string inventoryitemstr = "";
Hashtable inventoryhash = (Hashtable)foldersrequested[i];
LLSDFetchInventoryDescendents llsdRequest = new LLSDFetchInventoryDescendents();
try
{
LLSDHelpers.DeserialiseOSDMap(inventoryhash, llsdRequest);
}
catch (Exception e)
{
m_log.Debug("[WEB FETCH INV DESC HANDLER]: caught exception doing OSD deserialize" + e);
}
LLSDInventoryDescendents reply = FetchInventoryReply(llsdRequest);
inventoryitemstr = LLSDHelpers.SerialiseLLSDReply(reply);
inventoryitemstr = inventoryitemstr.Replace("<llsd><map><key>folders</key><array>", "");
inventoryitemstr = inventoryitemstr.Replace("</array></map></llsd>", "");
response += inventoryitemstr;
}
if (response.Length == 0)
{
// Ter-guess: If requests fail a lot, the client seems to stop requesting descendants.
// Therefore, I'm concluding that the client only has so many threads available to do requests
// and when a thread stalls.. is stays stalled.
// Therefore we need to return something valid
response = "<llsd><map><key>folders</key><array /></map></llsd>";
}
else
{
response = "<llsd><map><key>folders</key><array>" + response + "</array></map></llsd>";
}
// m_log.DebugFormat("[WEB FETCH INV DESC HANDLER]: Replying to CAPS fetch inventory request");
//m_log.Debug("[WEB FETCH INV DESC HANDLER] "+response);
return response;
// }
}
/// <summary>
/// Construct an LLSD reply packet to a CAPS inventory request
/// </summary>
/// <param name="invFetch"></param>
/// <returns></returns>
private LLSDInventoryDescendents FetchInventoryReply(LLSDFetchInventoryDescendents invFetch)
{
LLSDInventoryDescendents reply = new LLSDInventoryDescendents();
LLSDInventoryFolderContents contents = new LLSDInventoryFolderContents();
contents.agent_id = invFetch.owner_id;
contents.owner_id = invFetch.owner_id;
contents.folder_id = invFetch.folder_id;
reply.folders.Array.Add(contents);
InventoryCollection inv = new InventoryCollection();
inv.Folders = new List<InventoryFolderBase>();
inv.Items = new List<InventoryItemBase>();
int version = 0;
int descendents = 0;
inv
= Fetch(
invFetch.owner_id, invFetch.folder_id, invFetch.owner_id,
invFetch.fetch_folders, invFetch.fetch_items, invFetch.sort_order, out version, out descendents);
if (inv != null && inv.Folders != null)
{
foreach (InventoryFolderBase invFolder in inv.Folders)
{
contents.categories.Array.Add(ConvertInventoryFolder(invFolder));
}
descendents += inv.Folders.Count;
}
if (inv != null && inv.Items != null)
{
foreach (InventoryItemBase invItem in inv.Items)
{
contents.items.Array.Add(ConvertInventoryItem(invItem));
}
}
contents.descendents = descendents;
contents.version = version;
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Replying to request for folder {0} (fetch items {1}, fetch folders {2}) with {3} items and {4} folders for agent {5}",
// invFetch.folder_id,
// invFetch.fetch_items,
// invFetch.fetch_folders,
// contents.items.Array.Count,
// contents.categories.Array.Count,
// invFetch.owner_id);
return reply;
}
/// <summary>
/// Handle the caps inventory descendents fetch.
/// </summary>
/// <param name="agentID"></param>
/// <param name="folderID"></param>
/// <param name="ownerID"></param>
/// <param name="fetchFolders"></param>
/// <param name="fetchItems"></param>
/// <param name="sortOrder"></param>
/// <param name="version"></param>
/// <returns>An empty InventoryCollection if the inventory look up failed</returns>
private InventoryCollection Fetch(
UUID agentID, UUID folderID, UUID ownerID,
bool fetchFolders, bool fetchItems, int sortOrder, out int version, out int descendents)
{
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Fetching folders ({0}), items ({1}) from {2} for agent {3}",
// fetchFolders, fetchItems, folderID, agentID);
// FIXME MAYBE: We're not handling sortOrder!
version = 0;
descendents = 0;
InventoryFolderImpl fold;
if (m_LibraryService != null && m_LibraryService.LibraryRootFolder != null && agentID == m_LibraryService.LibraryRootFolder.Owner)
{
if ((fold = m_LibraryService.LibraryRootFolder.FindFolder(folderID)) != null)
{
InventoryCollection ret = new InventoryCollection();
ret.Folders = new List<InventoryFolderBase>();
ret.Items = fold.RequestListOfItems();
descendents = ret.Folders.Count + ret.Items.Count;
return ret;
}
}
InventoryCollection contents = new InventoryCollection();
if (folderID != UUID.Zero)
{
contents = m_InventoryService.GetFolderContent(agentID, folderID);
InventoryFolderBase containingFolder = new InventoryFolderBase();
containingFolder.ID = folderID;
containingFolder.Owner = agentID;
containingFolder = m_InventoryService.GetFolder(containingFolder);
if (containingFolder != null)
{
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Retrieved folder {0} {1} for agent id {2}",
// containingFolder.Name, containingFolder.ID, agentID);
version = containingFolder.Version;
if (fetchItems)
{
List<InventoryItemBase> itemsToReturn = contents.Items;
List<InventoryItemBase> originalItems = new List<InventoryItemBase>(itemsToReturn);
// descendents must only include the links, not the linked items we add
descendents = originalItems.Count;
// Add target items for links in this folder before the links themselves.
foreach (InventoryItemBase item in originalItems)
{
if (item.AssetType == (int)AssetType.Link)
{
InventoryItemBase linkedItem = m_InventoryService.GetItem(new InventoryItemBase(item.AssetID));
// Take care of genuinely broken links where the target doesn't exist
// HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
// but no viewer has been observed to set these up and this is the lazy way of avoiding cycles
// rather than having to keep track of every folder requested in the recursion.
if (linkedItem != null && linkedItem.AssetType != (int)AssetType.Link)
itemsToReturn.Insert(0, linkedItem);
}
}
// Now scan for folder links and insert the items they target and those links at the head of the return data
foreach (InventoryItemBase item in originalItems)
{
if (item.AssetType == (int)AssetType.LinkFolder)
{
InventoryCollection linkedFolderContents = m_InventoryService.GetFolderContent(ownerID, item.AssetID);
List<InventoryItemBase> links = linkedFolderContents.Items;
itemsToReturn.InsertRange(0, links);
foreach (InventoryItemBase link in linkedFolderContents.Items)
{
// Take care of genuinely broken links where the target doesn't exist
// HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
// but no viewer has been observed to set these up and this is the lazy way of avoiding cycles
// rather than having to keep track of every folder requested in the recursion.
if (link != null)
{
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Adding item {0} {1} from folder {2} linked from {3}",
// link.Name, (AssetType)link.AssetType, item.AssetID, containingFolder.Name);
InventoryItemBase linkedItem
= m_InventoryService.GetItem(new InventoryItemBase(link.AssetID));
if (linkedItem != null)
itemsToReturn.Insert(0, linkedItem);
}
}
}
}
}
// foreach (InventoryItemBase item in contents.Items)
// {
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Returning item {0}, type {1}, parent {2} in {3} {4}",
// item.Name, (AssetType)item.AssetType, item.Folder, containingFolder.Name, containingFolder.ID);
// }
// =====
//
// foreach (InventoryItemBase linkedItem in linkedItemsToAdd)
// {
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Inserted linked item {0} for link in folder {1} for agent {2}",
// linkedItem.Name, folderID, agentID);
//
// contents.Items.Add(linkedItem);
// }
//
// // If the folder requested contains links, then we need to send those folders first, otherwise the links
// // will be broken in the viewer.
// HashSet<UUID> linkedItemFolderIdsToSend = new HashSet<UUID>();
// foreach (InventoryItemBase item in contents.Items)
// {
// if (item.AssetType == (int)AssetType.Link)
// {
// InventoryItemBase linkedItem = m_InventoryService.GetItem(new InventoryItemBase(item.AssetID));
//
// // Take care of genuinely broken links where the target doesn't exist
// // HACK: Also, don't follow up links that just point to other links. In theory this is legitimate,
// // but no viewer has been observed to set these up and this is the lazy way of avoiding cycles
// // rather than having to keep track of every folder requested in the recursion.
// if (linkedItem != null && linkedItem.AssetType != (int)AssetType.Link)
// {
// // We don't need to send the folder if source and destination of the link are in the same
// // folder.
// if (linkedItem.Folder != containingFolder.ID)
// linkedItemFolderIdsToSend.Add(linkedItem.Folder);
// }
// }
// }
//
// foreach (UUID linkedItemFolderId in linkedItemFolderIdsToSend)
// {
// m_log.DebugFormat(
// "[WEB FETCH INV DESC HANDLER]: Recursively fetching folder {0} linked by item in folder {1} for agent {2}",
// linkedItemFolderId, folderID, agentID);
//
// int dummyVersion;
// InventoryCollection linkedCollection
// = Fetch(
// agentID, linkedItemFolderId, ownerID, fetchFolders, fetchItems, sortOrder, out dummyVersion);
//
// InventoryFolderBase linkedFolder = new InventoryFolderBase(linkedItemFolderId);
// linkedFolder.Owner = agentID;
// linkedFolder = m_InventoryService.GetFolder(linkedFolder);
//
//// contents.Folders.AddRange(linkedCollection.Folders);
//
// contents.Folders.Add(linkedFolder);
// contents.Items.AddRange(linkedCollection.Items);
// }
// }
}
}
else
{
// Lost items don't really need a version
version = 1;
}
return contents;
}
/// <summary>
/// Convert an internal inventory folder object into an LLSD object.
/// </summary>
/// <param name="invFolder"></param>
/// <returns></returns>
private LLSDInventoryFolder ConvertInventoryFolder(InventoryFolderBase invFolder)
{
LLSDInventoryFolder llsdFolder = new LLSDInventoryFolder();
llsdFolder.folder_id = invFolder.ID;
llsdFolder.parent_id = invFolder.ParentID;
llsdFolder.name = invFolder.Name;
llsdFolder.type = invFolder.Type;
llsdFolder.preferred_type = -1;
return llsdFolder;
}
/// <summary>
/// Convert an internal inventory item object into an LLSD object.
/// </summary>
/// <param name="invItem"></param>
/// <returns></returns>
private LLSDInventoryItem ConvertInventoryItem(InventoryItemBase invItem)
{
LLSDInventoryItem llsdItem = new LLSDInventoryItem();
llsdItem.asset_id = invItem.AssetID;
llsdItem.created_at = invItem.CreationDate;
llsdItem.desc = invItem.Description;
llsdItem.flags = (int)invItem.Flags;
llsdItem.item_id = invItem.ID;
llsdItem.name = invItem.Name;
llsdItem.parent_id = invItem.Folder;
llsdItem.type = invItem.AssetType;
llsdItem.inv_type = invItem.InvType;
llsdItem.permissions = new LLSDPermissions();
llsdItem.permissions.creator_id = invItem.CreatorIdAsUuid;
llsdItem.permissions.base_mask = (int)invItem.CurrentPermissions;
llsdItem.permissions.everyone_mask = (int)invItem.EveryOnePermissions;
llsdItem.permissions.group_id = invItem.GroupID;
llsdItem.permissions.group_mask = (int)invItem.GroupPermissions;
llsdItem.permissions.is_owner_group = invItem.GroupOwned;
llsdItem.permissions.next_owner_mask = (int)invItem.NextPermissions;
llsdItem.permissions.owner_id = invItem.Owner;
llsdItem.permissions.owner_mask = (int)invItem.CurrentPermissions;
llsdItem.sale_info = new LLSDSaleInfo();
llsdItem.sale_info.sale_price = invItem.SalePrice;
llsdItem.sale_info.sale_type = invItem.SaleType;
return llsdItem;
}
}
}

View File

@@ -0,0 +1,82 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using Nini.Config;
using OpenSim.Server.Base;
using OpenSim.Services.Interfaces;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Server.Handlers.Base;
using OpenMetaverse;
namespace OpenSim.Capabilities.Handlers
{
public class WebFetchInvDescServerConnector : ServiceConnector
{
private IInventoryService m_InventoryService;
private ILibraryService m_LibraryService;
private string m_ConfigName = "CapsService";
public WebFetchInvDescServerConnector(IConfigSource config, IHttpServer server, string configName) :
base(config, server, configName)
{
if (configName != String.Empty)
m_ConfigName = configName;
IConfig serverConfig = config.Configs[m_ConfigName];
if (serverConfig == null)
throw new Exception(String.Format("No section '{0}' in config file", m_ConfigName));
string invService = serverConfig.GetString("InventoryService", String.Empty);
if (invService == String.Empty)
throw new Exception("No InventoryService in config file");
Object[] args = new Object[] { config };
m_InventoryService =
ServerUtils.LoadPlugin<IInventoryService>(invService, args);
if (m_InventoryService == null)
throw new Exception(String.Format("Failed to load InventoryService from {0}; config is {1}", invService, m_ConfigName));
string libService = serverConfig.GetString("LibraryService", String.Empty);
m_LibraryService =
ServerUtils.LoadPlugin<ILibraryService>(libService, args);
WebFetchInvDescHandler webFetchHandler = new WebFetchInvDescHandler(m_InventoryService, m_LibraryService);
IRequestHandler reqHandler
= new RestStreamHandler(
"POST",
"/CAPS/WebFetchInvDesc/" /*+ UUID.Random()*/,
webFetchHandler.FetchInventoryDescendentsRequest,
"WebFetchInvDesc",
null);
server.AddStreamHandler(reqHandler);
}
}
}

View File

@@ -39,4 +39,18 @@ namespace OpenSim.Framework.Capabilities
{
}
}
[OSDMap]
public class LLSDNewFileAngentInventoryVariablePriceReplyResponse
{
public int resource_cost;
public string state;
public int upload_price;
public string rsvp;
public LLSDNewFileAngentInventoryVariablePriceReplyResponse()
{
state = "confirm_upload";
}
}
}

View File

@@ -26,34 +26,43 @@
*/
using System;
using System.Net;
using System.Collections.Generic;
using OpenSim.Framework;
using OpenMetaverse;
namespace OpenSim.Services.Interfaces
namespace OpenSim.Framework.Capabilities
{
public interface IGatekeeperService
[OSDMap]
public class LLSDEnvironmentRequest
{
bool LinkRegion(string regionDescriptor, out UUID regionID, out ulong regionHandle, out string externalName, out string imageURL, out string reason);
GridRegion GetHyperlinkRegion(UUID regionID);
bool LoginAgent(AgentCircuitData aCircuit, GridRegion destination, out string reason);
public UUID messageID;
public UUID regionID;
}
/// <summary>
/// HG1.5 only
/// </summary>
public interface IUserAgentService
[OSDMap]
public class LLSDEnvironmentSetResponse
{
bool LoginAgentToGrid(AgentCircuitData agent, GridRegion gatekeeper, GridRegion finalDestination, out string reason);
void LogoutAgent(UUID userID, UUID sessionID);
GridRegion GetHomeRegion(UUID userID, out Vector3 position, out Vector3 lookAt);
bool AgentIsComingHome(UUID sessionID, string thisGridExternalName);
bool VerifyAgent(UUID sessionID, string token);
bool VerifyClient(UUID sessionID, string token);
public UUID regionID;
public UUID messageID;
public Boolean success;
public String fail_reason;
}
public class EnvironmentSettings
{
/// <summary>
/// generates a empty llsd settings response for viewer
/// </summary>
/// <param name="messageID">the message UUID</param>
/// <param name="regionID">the region UUID</param>
public static string EmptySettings(UUID messageID, UUID regionID)
{
OSDArray arr = new OSDArray();
LLSDEnvironmentRequest msg = new LLSDEnvironmentRequest();
msg.messageID = messageID;
msg.regionID = regionID;
arr.Array.Add(msg);
return LLSDHelpers.SerialiseLLSDReply(arr);
}
}
}

View File

@@ -35,7 +35,7 @@ namespace OpenSim.Framework.Capabilities
public UUID folder_id;
public UUID parent_id;
public string name;
public string type;
public string preferred_type;
public int type;
public int preferred_type;
}
}

View File

@@ -37,8 +37,8 @@ namespace OpenSim.Framework.Capabilities
public UUID asset_id;
public UUID item_id;
public LLSDPermissions permissions;
public string type;
public string inv_type;
public int type;
public int inv_type;
public int flags;
public LLSDSaleInfo sale_info;
@@ -65,7 +65,7 @@ namespace OpenSim.Framework.Capabilities
public class LLSDSaleInfo
{
public int sale_price;
public string sale_type;
public int sale_type;
}
[OSDMap]
@@ -95,4 +95,11 @@ namespace OpenSim.Framework.Capabilities
public UUID owner_id;
public int version;
}
}
[OSDMap]
public class LLSDFetchInventory
{
public UUID agent_id;
public OSDArray items = new OSDArray();
}
}

View File

@@ -39,13 +39,17 @@ namespace OpenSim.Framework.Capabilities
private LLSDMethod<TRequest, TResponse> m_method;
public LLSDStreamhandler(string httpMethod, string path, LLSDMethod<TRequest, TResponse> method)
: base(httpMethod, path)
: this(httpMethod, path, method, null, null) {}
public LLSDStreamhandler(
string httpMethod, string path, LLSDMethod<TRequest, TResponse> method, string name, string description)
: base(httpMethod, path, name, description)
{
m_method = method;
}
public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
{
//Encoding encoding = Util.UTF8;
//StreamReader streamReader = new StreamReader(request, false);
@@ -62,9 +66,7 @@ namespace OpenSim.Framework.Capabilities
TResponse response = m_method(llsdRequest);
Encoding encoding = new UTF8Encoding(false);
return encoding.GetBytes(LLSDHelpers.SerialiseLLSDReply(response));
return Util.UTF8NoBomEncoding.GetBytes(LLSDHelpers.SerialiseLLSDReply(response));
}
}
}

View File

@@ -1,13 +0,0 @@
<Addin id="OpenSim.Client.Linden.LindenModules" version="0.2">
<Runtime>
<Import assembly="OpenSim.Client.Linden.dll"/>
</Runtime>
<Dependencies>
<Addin id="OpenSim" version="0.5" />
</Dependencies>
<Extension path = "/OpenSim/RegionModules">
<RegionModule id="LLClientStackModule" type="OpenSim.Client.Linden.LLClientStackModule" />
</Extension>
</Addin>

File diff suppressed because it is too large Load Diff

View File

@@ -1,131 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using System.Timers;
using log4net;
using MXP;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Client.MXP.PacketHandler;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Client.MXP
{
/**
* MXP Client Module which adds MXP support to client / region communication.
*/
public class MXPModule : IRegionModule
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private MXPPacketServer m_server;
private IConfigSource m_config;
private int m_port = 1253;
private Timer m_ticker;
private readonly Dictionary<UUID, Scene> m_scenes = new Dictionary<UUID, Scene>();
private bool m_shutdown;
public void Initialise(Scene scene, IConfigSource source)
{
if (!m_scenes.ContainsKey(scene.RegionInfo.RegionID))
m_scenes.Add(scene.RegionInfo.RegionID, scene);
m_config = source;
}
public void PostInitialise()
{
if (m_config.Configs["MXP"] != null)
{
IConfig con = m_config.Configs["MXP"];
if (!con.GetBoolean("Enabled", false))
return;
m_port = con.GetInt("Port", m_port);
m_server = new MXPPacketServer(m_port, m_scenes,m_config.Configs["StandAlone"].GetBoolean("accounts_authenticate",true));
m_ticker = new Timer(100);
m_ticker.AutoReset = false;
m_ticker.Elapsed += ticker_Elapsed;
lock (m_ticker)
m_ticker.Start();
m_log.Info("[MXP ClientStack] MXP Enabled and Listening");
}
}
void ticker_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
m_server.Process();
}
catch (Exception ex)
{
m_log.Error("[MXP ClientStack]: Unhandled exception in process loop: " + ex.ToString() + " :" + ex.StackTrace.ToString());
}
if (!m_shutdown)
{
lock (m_ticker)
m_ticker.Start();
}
}
public void Close()
{
m_shutdown = true;
if (m_ticker != null)
{
lock (m_ticker)
m_ticker.Stop();
}
}
public string Name
{
get { return "MXP ClientStack Module"; }
}
public bool IsSharedModule
{
get { return true; }
}
}
}

View File

@@ -1,564 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* This file borrows heavily from MXPServer.cs - the reference MXPServer
* See http://www.bubblecloud.org for a copy of the original file and
* implementation details. */
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Threading;
using log4net;
using MXP;
using MXP.Messages;
using OpenMetaverse;
using OpenSim.Client.MXP.ClientStack;
using OpenSim.Framework;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Framework.Communications;
using OpenSim.Services.Interfaces;
using System.Security.Cryptography;
namespace OpenSim.Client.MXP.PacketHandler
{
public class MXPPacketServer
{
internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
#region Fields
private readonly List<MXPClientView> m_clients = new List<MXPClientView>();
private readonly Dictionary<UUID, Scene> m_scenes;
private readonly Transmitter m_transmitter;
// private readonly Thread m_clientThread;
private readonly IList<Session> m_sessions = new List<Session>();
private readonly IList<Session> m_sessionsToClient = new List<Session>();
private readonly IList<MXPClientView> m_sessionsToRemove = new List<MXPClientView>();
private readonly int m_port;
private readonly bool m_accountsAuthenticate;
private readonly String m_programName;
private readonly byte m_programMajorVersion;
private readonly byte m_programMinorVersion;
#endregion
#region Constructors
public MXPPacketServer(int port, Dictionary<UUID, Scene> scenes, bool accountsAuthenticate)
{
m_port = port;
m_accountsAuthenticate = accountsAuthenticate;
m_scenes = scenes;
m_programMinorVersion = 63;
m_programMajorVersion = 0;
m_programName = "OpenSimulator";
m_transmitter = new Transmitter(port);
StartListener();
}
public void StartListener()
{
m_log.Info("[MXP ClientStack] Transmitter starting on UDP server port: " + m_port);
m_transmitter.Startup();
m_log.Info("[MXP ClientStack] Transmitter started. MXP version: "+MxpConstants.ProtocolMajorVersion+"."+MxpConstants.ProtocolMinorVersion+" Source Revision: "+MxpConstants.ProtocolSourceRevision);
}
#endregion
#region Properties
/// <summary>
/// Number of sessions pending. (Process() accepts pending sessions).
/// </summary>
public int PendingSessionCount
{
get
{
return m_transmitter.PendingSessionCount;
}
}
/// <summary>
/// Number of connected sessions.
/// </summary>
public int SessionCount
{
get
{
return m_sessions.Count;
}
}
/// <summary>
/// Property reflecting whether client transmitter threads are alive.
/// </summary>
public bool IsTransmitterAlive
{
get
{
return m_transmitter != null && m_transmitter.IsAlive;
}
}
/// <summary>
/// Number of packets sent.
/// </summary>
public ulong PacketsSent
{
get
{
return m_transmitter != null ? m_transmitter.PacketsSent : 0;
}
}
/// <summary>
/// Number of packets received.
/// </summary>
public ulong PacketsReceived
{
get
{
return m_transmitter != null ? m_transmitter.PacketsReceived : 0;
}
}
/// <summary>
/// Bytes client has received so far.
/// </summary>
public ulong BytesReceived
{
get
{
return m_transmitter != null ? m_transmitter.BytesReceived : 0;
}
}
/// <summary>
/// Bytes client has sent so far.
/// </summary>
public ulong BytesSent
{
get
{
return m_transmitter != null ? m_transmitter.BytesSent : 0;
}
}
/// <summary>
/// Number of bytes received (bytes per second) during past second.
/// </summary>
public double ReceiveRate
{
get
{
return m_transmitter != null ? m_transmitter.ReceiveRate : 0;
}
}
/// <summary>
/// Number of bytes sent (bytes per second) during past second.
/// </summary>
public double SendRate
{
get
{
return m_transmitter != null ? m_transmitter.SendRate : 0;
}
}
#endregion
#region Session Management
public void Disconnect(Session session)
{
if (session.IsConnected)
{
Message message = MessageFactory.Current.ReserveMessage(typeof(LeaveRequestMessage));
session.Send(message);
MessageFactory.Current.ReleaseMessage(message);
}
else
{
throw new Exception("Not connected.");
}
}
#endregion
#region Processing
public void Process()
{
ProcessMessages();
Clean();
}
public void Clean()
{
foreach (MXPClientView clientView in m_clients)
{
if (clientView.Session.SessionState == SessionState.Disconnected)
{
m_sessionsToRemove.Add(clientView);
}
}
foreach (MXPClientView clientView in m_sessionsToRemove)
{
clientView.Scene.RemoveClient(clientView.AgentId);
clientView.OnClean();
m_clients.Remove(clientView);
m_sessions.Remove(clientView.Session);
}
m_sessionsToRemove.Clear();
}
public void ProcessMessages()
{
if (m_transmitter.PendingSessionCount > 0)
{
Session tmp = m_transmitter.AcceptPendingSession();
m_sessions.Add(tmp);
m_sessionsToClient.Add(tmp);
}
List<Session> tmpRemove = new List<Session>();
foreach (Session session in m_sessionsToClient)
{
while (session.AvailableMessages > 0)
{
Message message = session.Receive();
if (message.GetType() == typeof (JoinRequestMessage))
{
JoinRequestMessage joinRequestMessage = (JoinRequestMessage) message;
m_log.Info("[MXP ClientStack]: Session join request: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + ")");
try
{
if (joinRequestMessage.BubbleId == Guid.Empty)
{
foreach (Scene scene in m_scenes.Values)
{
if (scene.RegionInfo.RegionName == joinRequestMessage.BubbleName)
{
m_log.Info("[MXP ClientStack]: Resolved region by name: " + joinRequestMessage.BubbleName + " (" + scene.RegionInfo.RegionID + ")");
joinRequestMessage.BubbleId = scene.RegionInfo.RegionID.Guid;
}
}
}
if (joinRequestMessage.BubbleId == Guid.Empty)
{
m_log.Warn("[MXP ClientStack]: Failed to resolve region by name: " + joinRequestMessage.BubbleName);
}
UUID sceneId = new UUID(joinRequestMessage.BubbleId);
bool regionExists = true;
if (!m_scenes.ContainsKey(sceneId))
{
m_log.Info("[MXP ClientStack]: No such region: " + sceneId);
regionExists = false;
}
UUID userId = UUID.Zero;
UserAccount account = null;
bool authorized = regionExists ? AuthoriseUser(joinRequestMessage.ParticipantName,
joinRequestMessage.ParticipantPassphrase,
new UUID(joinRequestMessage.BubbleId), out account)
: false;
if (authorized)
{
Scene scene = m_scenes[sceneId];
UUID mxpSessionID = UUID.Random();
string reason;
m_log.Debug("[MXP ClientStack]: Session join request success: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + ")");
m_log.Debug("[MXP ClientStack]: Attaching UserAgent to UserProfile...");
UUID secureSession = UUID.Zero;
AttachUserAgentToUserProfile(account, session, mxpSessionID, sceneId, out secureSession);
m_log.Debug("[MXP ClientStack]: Attached UserAgent to UserProfile.");
m_log.Debug("[MXP ClientStack]: Preparing Scene to Connection...");
if (!PrepareSceneForConnection(mxpSessionID, secureSession, sceneId, account, out reason))
{
m_log.DebugFormat("[MXP ClientStack]: Scene refused connection: {0}", reason);
DeclineConnection(session, joinRequestMessage);
tmpRemove.Add(session);
continue;
}
m_log.Debug("[MXP ClientStack]: Prepared Scene to Connection.");
m_log.Debug("[MXP ClientStack]: Accepting connection...");
AcceptConnection(session, joinRequestMessage, mxpSessionID, userId);
m_log.Info("[MXP ClientStack]: Accepted connection.");
m_log.Debug("[MXP ClientStack]: Creating ClientView....");
MXPClientView client = new MXPClientView(session, mxpSessionID, userId, scene, account.FirstName, account.LastName);
m_clients.Add(client);
m_log.Debug("[MXP ClientStack]: Created ClientView.");
client.MXPSendSynchronizationBegin(m_scenes[new UUID(joinRequestMessage.BubbleId)].SceneContents.GetTotalObjectsCount());
m_log.Debug("[MXP ClientStack]: Starting ClientView...");
try
{
client.Start();
m_log.Debug("[MXP ClientStack]: Started ClientView.");
}
catch (Exception e)
{
m_log.Error(e);
}
m_log.Debug("[MXP ClientStack]: Connected");
}
else
{
m_log.Info("[MXP ClientStack]: Session join request failure: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + ")");
DeclineConnection(session, joinRequestMessage);
}
}
catch (Exception e)
{
m_log.Error("[MXP ClientStack]: Session join request failure: " + session.SessionId + " (" +
(session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" +
session.RemoteEndPoint.Port + "): "+e.ToString()+" :"+e.StackTrace.ToString());
}
tmpRemove.Add(session);
}
}
}
foreach (Session session in tmpRemove)
{
m_sessionsToClient.Remove(session);
}
foreach (MXPClientView clientView in m_clients)
{
int messagesProcessedCount = 0;
Session session = clientView.Session;
while (session.AvailableMessages > 0)
{
Message message = session.Receive();
if (message.GetType() == typeof(LeaveRequestMessage))
{
LeaveResponseMessage leaveResponseMessage = (LeaveResponseMessage)MessageFactory.Current.ReserveMessage(
typeof(LeaveResponseMessage));
m_log.Debug("[MXP ClientStack]: Session leave request: " + session.SessionId + " (" + (session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" + session.RemoteEndPoint.Port + ")");
leaveResponseMessage.RequestMessageId = message.MessageId;
leaveResponseMessage.FailureCode = 0;
session.Send(leaveResponseMessage);
if (session.SessionState != SessionState.Disconnected)
{
session.SetStateDisconnected();
}
m_log.Debug("[MXP ClientStack]: Removing Client from Scene");
//clientView.Scene.RemoveClient(clientView.AgentId);
}
if (message.GetType() == typeof(LeaveResponseMessage))
{
LeaveResponseMessage leaveResponseMessage = (LeaveResponseMessage)message;
m_log.Debug("[MXP ClientStack]: Session leave response: " + session.SessionId + " (" + (session.IsIncoming ? "from" : "to") + " " + session.RemoteEndPoint.Address + ":" + session.RemoteEndPoint.Port + ")");
if (leaveResponseMessage.FailureCode == 0)
{
session.SetStateDisconnected();
}
m_log.Debug("[MXP ClientStack]: Removing Client from Scene");
//clientView.Scene.RemoveClient(clientView.AgentId);
}
else
{
clientView.MXPPRocessMessage(message);
}
MessageFactory.Current.ReleaseMessage(message);
messagesProcessedCount++;
if (messagesProcessedCount > 1000)
{
break;
}
}
}
}
private void AcceptConnection(Session session, JoinRequestMessage joinRequestMessage, UUID mxpSessionID, UUID userId)
{
JoinResponseMessage joinResponseMessage = (JoinResponseMessage)MessageFactory.Current.ReserveMessage(
typeof(JoinResponseMessage));
joinResponseMessage.RequestMessageId = joinRequestMessage.MessageId;
joinResponseMessage.FailureCode = MxpResponseCodes.SUCCESS;
joinResponseMessage.BubbleId = joinRequestMessage.BubbleId;
joinResponseMessage.ParticipantId = userId.Guid;
joinResponseMessage.AvatarId = userId.Guid;
joinResponseMessage.BubbleAssetCacheUrl = "http://" +
NetworkUtil.GetHostFor(session.RemoteEndPoint.Address,
m_scenes[
new UUID(joinRequestMessage.BubbleId)].
RegionInfo.
ExternalHostName) + ":" +
m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo.
HttpPort + "/assets/";
joinResponseMessage.BubbleName = m_scenes[new UUID(joinRequestMessage.BubbleId)].RegionInfo.RegionName;
joinResponseMessage.BubbleRange = 128;
joinResponseMessage.BubblePerceptionRange = 128 + 256;
joinResponseMessage.BubbleRealTime = 0;
joinResponseMessage.ProgramName = m_programName;
joinResponseMessage.ProgramMajorVersion = m_programMajorVersion;
joinResponseMessage.ProgramMinorVersion = m_programMinorVersion;
joinResponseMessage.ProtocolMajorVersion = MxpConstants.ProtocolMajorVersion;
joinResponseMessage.ProtocolMinorVersion = MxpConstants.ProtocolMinorVersion;
joinResponseMessage.ProtocolSourceRevision = MxpConstants.ProtocolSourceRevision;
session.Send(joinResponseMessage);
session.SetStateConnected();
}
private void DeclineConnection(Session session, Message joinRequestMessage)
{
JoinResponseMessage joinResponseMessage = (JoinResponseMessage)MessageFactory.Current.ReserveMessage(typeof(JoinResponseMessage));
joinResponseMessage.RequestMessageId = joinRequestMessage.MessageId;
joinResponseMessage.FailureCode = MxpResponseCodes.UNAUTHORIZED_OPERATION;
joinResponseMessage.ProgramName = m_programName;
joinResponseMessage.ProgramMajorVersion = m_programMajorVersion;
joinResponseMessage.ProgramMinorVersion = m_programMinorVersion;
joinResponseMessage.ProtocolMajorVersion = MxpConstants.ProtocolMajorVersion;
joinResponseMessage.ProtocolMinorVersion = MxpConstants.ProtocolMinorVersion;
joinResponseMessage.ProtocolSourceRevision = MxpConstants.ProtocolSourceRevision;
session.Send(joinResponseMessage);
session.SetStateDisconnected();
}
public bool AuthoriseUser(string participantName, string password, UUID sceneId, out UserAccount account)
{
UUID userId = UUID.Zero;
string firstName = "";
string lastName = "";
account = null;
string[] nameParts = participantName.Split(' ');
if (nameParts.Length != 2)
{
m_log.Error("[MXP ClientStack]: Login failed as user name is not formed of first and last name separated by space: " + participantName);
return false;
}
firstName = nameParts[0];
lastName = nameParts[1];
account = m_scenes[sceneId].UserAccountService.GetUserAccount(m_scenes[sceneId].RegionInfo.ScopeID, firstName, lastName);
if (account != null)
return (m_scenes[sceneId].AuthenticationService.Authenticate(account.PrincipalID, password, 1) != string.Empty);
return false;
}
private void AttachUserAgentToUserProfile(UserAccount account, Session session, UUID sessionId, UUID sceneId, out UUID secureSessionId)
{
secureSessionId = UUID.Random();
Scene scene = m_scenes[sceneId];
scene.PresenceService.LoginAgent(account.PrincipalID.ToString(), sessionId, secureSessionId);
}
private bool PrepareSceneForConnection(UUID sessionId, UUID secureSessionId, UUID sceneId, UserAccount account, out string reason)
{
Scene scene = m_scenes[sceneId];
AgentCircuitData agent = new AgentCircuitData();
agent.AgentID = account.PrincipalID;
agent.firstname = account.FirstName;
agent.lastname = account.LastName;
agent.SessionID = sessionId;
agent.SecureSessionID = secureSessionId;
agent.circuitcode = sessionId.CRC();
agent.BaseFolder = UUID.Zero;
agent.InventoryFolder = UUID.Zero;
agent.startpos = new Vector3(0, 0, 0); // TODO Fill in region start position
agent.CapsPath = "http://localhost/";
AvatarData avatar = scene.AvatarService.GetAvatar(account.PrincipalID);
if (avatar != null)
agent.Appearance = avatar.ToAvatarAppearance(account.PrincipalID); //userService.GetUserAppearance(userProfile.ID);
if (agent.Appearance == null)
{
m_log.WarnFormat("[INTER]: Appearance not found for {0} {1}. Creating default.", agent.firstname, agent.lastname);
agent.Appearance = new AvatarAppearance();
}
return scene.NewUserConnection(agent, 0, out reason);
}
public void PrintDebugInformation()
{
m_log.Info("[MXP ClientStack]: Statistics report");
m_log.Info("Pending Sessions: " + PendingSessionCount);
m_log.Info("Sessions: " + SessionCount + " (Clients: " + m_clients.Count + " )");
m_log.Info("Transmitter Alive?: " + IsTransmitterAlive);
m_log.Info("Packets Sent/Received: " + PacketsSent + " / " + PacketsReceived);
m_log.Info("Bytes Sent/Received: " + BytesSent + " / " + BytesReceived);
m_log.Info("Send/Receive Rate (bps): " + SendRate + " / " + ReceiveRate);
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,630 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Protocol._PBJ_Internal {
public static partial class MessageHeader {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Protocol._PBJ_Internal.Header, global::Sirikata.Protocol._PBJ_Internal.Header.Builder> internal__static_Sirikata_Protocol__PBJ_Internal_Header__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static MessageHeader() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"ChNNZXNzYWdlSGVhZGVyLnByb3RvEh9TaXJpa2F0YS5Qcm90b2NvbC5fUEJK" +
"X0ludGVybmFsIooDCgZIZWFkZXISFQoNc291cmNlX29iamVjdBgBIAEoDBIT" +
"Cgtzb3VyY2VfcG9ydBgDIAEoDRIVCgxzb3VyY2Vfc3BhY2UYgAwgASgMEhoK" +
"EmRlc3RpbmF0aW9uX29iamVjdBgCIAEoDBIYChBkZXN0aW5hdGlvbl9wb3J0" +
"GAQgASgNEhoKEWRlc3RpbmF0aW9uX3NwYWNlGIEMIAEoDBIKCgJpZBgHIAEo" +
"AxIQCghyZXBseV9pZBgIIAEoAxJMCg1yZXR1cm5fc3RhdHVzGIAOIAEoDjI0" +
"LlNpcmlrYXRhLlByb3RvY29sLl9QQkpfSW50ZXJuYWwuSGVhZGVyLlJldHVy" +
"blN0YXR1cyJ/CgxSZXR1cm5TdGF0dXMSCwoHU1VDQ0VTUxAAEhMKD05FVFdP" +
"UktfRkFJTFVSRRABEhMKD1RJTUVPVVRfRkFJTFVSRRADEhIKDlBST1RPQ09M" +
"X0VSUk9SEAQSEAoMUE9SVF9GQUlMVVJFEAUSEgoOVU5LTk9XTl9PQkpFQ1QQ" +
"Bg==");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Protocol__PBJ_Internal_Header__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Protocol._PBJ_Internal.Header, global::Sirikata.Protocol._PBJ_Internal.Header.Builder>(internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor,
new string[] { "SourceObject", "SourcePort", "SourceSpace", "DestinationObject", "DestinationPort", "DestinationSpace", "Id", "ReplyId", "ReturnStatus", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class Header : pb::GeneratedMessage<Header, Header.Builder> {
private static readonly Header defaultInstance = new Builder().BuildPartial();
public static Header DefaultInstance {
get { return defaultInstance; }
}
public override Header DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Header ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Protocol._PBJ_Internal.MessageHeader.internal__static_Sirikata_Protocol__PBJ_Internal_Header__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Header, Header.Builder> InternalFieldAccessors {
get { return global::Sirikata.Protocol._PBJ_Internal.MessageHeader.internal__static_Sirikata_Protocol__PBJ_Internal_Header__FieldAccessorTable; }
}
#region Nested types
public static class Types {
public enum ReturnStatus {
SUCCESS = 0,
NETWORK_FAILURE = 1,
TIMEOUT_FAILURE = 3,
PROTOCOL_ERROR = 4,
PORT_FAILURE = 5,
UNKNOWN_OBJECT = 6,
}
}
#endregion
public const int SourceObjectFieldNumber = 1;
private bool hasSourceObject;
private pb::ByteString sourceObject_ = pb::ByteString.Empty;
public bool HasSourceObject {
get { return hasSourceObject; }
}
public pb::ByteString SourceObject {
get { return sourceObject_; }
}
public const int SourcePortFieldNumber = 3;
private bool hasSourcePort;
private uint sourcePort_ = 0;
public bool HasSourcePort {
get { return hasSourcePort; }
}
[global::System.CLSCompliant(false)]
public uint SourcePort {
get { return sourcePort_; }
}
public const int SourceSpaceFieldNumber = 1536;
private bool hasSourceSpace;
private pb::ByteString sourceSpace_ = pb::ByteString.Empty;
public bool HasSourceSpace {
get { return hasSourceSpace; }
}
public pb::ByteString SourceSpace {
get { return sourceSpace_; }
}
public const int DestinationObjectFieldNumber = 2;
private bool hasDestinationObject;
private pb::ByteString destinationObject_ = pb::ByteString.Empty;
public bool HasDestinationObject {
get { return hasDestinationObject; }
}
public pb::ByteString DestinationObject {
get { return destinationObject_; }
}
public const int DestinationPortFieldNumber = 4;
private bool hasDestinationPort;
private uint destinationPort_ = 0;
public bool HasDestinationPort {
get { return hasDestinationPort; }
}
[global::System.CLSCompliant(false)]
public uint DestinationPort {
get { return destinationPort_; }
}
public const int DestinationSpaceFieldNumber = 1537;
private bool hasDestinationSpace;
private pb::ByteString destinationSpace_ = pb::ByteString.Empty;
public bool HasDestinationSpace {
get { return hasDestinationSpace; }
}
public pb::ByteString DestinationSpace {
get { return destinationSpace_; }
}
public const int IdFieldNumber = 7;
private bool hasId;
private long id_ = 0L;
public bool HasId {
get { return hasId; }
}
public long Id {
get { return id_; }
}
public const int ReplyIdFieldNumber = 8;
private bool hasReplyId;
private long replyId_ = 0L;
public bool HasReplyId {
get { return hasReplyId; }
}
public long ReplyId {
get { return replyId_; }
}
public const int ReturnStatusFieldNumber = 1792;
private bool hasReturnStatus;
private global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus returnStatus_ = global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus.SUCCESS;
public bool HasReturnStatus {
get { return hasReturnStatus; }
}
public global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus ReturnStatus {
get { return returnStatus_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasSourceObject) {
output.WriteBytes(1, SourceObject);
}
if (HasDestinationObject) {
output.WriteBytes(2, DestinationObject);
}
if (HasSourcePort) {
output.WriteUInt32(3, SourcePort);
}
if (HasDestinationPort) {
output.WriteUInt32(4, DestinationPort);
}
if (HasId) {
output.WriteInt64(7, Id);
}
if (HasReplyId) {
output.WriteInt64(8, ReplyId);
}
if (HasSourceSpace) {
output.WriteBytes(1536, SourceSpace);
}
if (HasDestinationSpace) {
output.WriteBytes(1537, DestinationSpace);
}
if (HasReturnStatus) {
output.WriteEnum(1792, (int) ReturnStatus);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasSourceObject) {
size += pb::CodedOutputStream.ComputeBytesSize(1, SourceObject);
}
if (HasSourcePort) {
size += pb::CodedOutputStream.ComputeUInt32Size(3, SourcePort);
}
if (HasSourceSpace) {
size += pb::CodedOutputStream.ComputeBytesSize(1536, SourceSpace);
}
if (HasDestinationObject) {
size += pb::CodedOutputStream.ComputeBytesSize(2, DestinationObject);
}
if (HasDestinationPort) {
size += pb::CodedOutputStream.ComputeUInt32Size(4, DestinationPort);
}
if (HasDestinationSpace) {
size += pb::CodedOutputStream.ComputeBytesSize(1537, DestinationSpace);
}
if (HasId) {
size += pb::CodedOutputStream.ComputeInt64Size(7, Id);
}
if (HasReplyId) {
size += pb::CodedOutputStream.ComputeInt64Size(8, ReplyId);
}
if (HasReturnStatus) {
size += pb::CodedOutputStream.ComputeEnumSize(1792, (int) ReturnStatus);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Header ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Header ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Header ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Header ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Header ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Header ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Header ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Header ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Header ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Header ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Header prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Header, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Header result = new Header();
protected override Header MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Header();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Protocol._PBJ_Internal.Header.Descriptor; }
}
public override Header DefaultInstanceForType {
get { return global::Sirikata.Protocol._PBJ_Internal.Header.DefaultInstance; }
}
public override Header BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Header returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Header) {
return MergeFrom((Header) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Header other) {
if (other == global::Sirikata.Protocol._PBJ_Internal.Header.DefaultInstance) return this;
if (other.HasSourceObject) {
SourceObject = other.SourceObject;
}
if (other.HasSourcePort) {
SourcePort = other.SourcePort;
}
if (other.HasSourceSpace) {
SourceSpace = other.SourceSpace;
}
if (other.HasDestinationObject) {
DestinationObject = other.DestinationObject;
}
if (other.HasDestinationPort) {
DestinationPort = other.DestinationPort;
}
if (other.HasDestinationSpace) {
DestinationSpace = other.DestinationSpace;
}
if (other.HasId) {
Id = other.Id;
}
if (other.HasReplyId) {
ReplyId = other.ReplyId;
}
if (other.HasReturnStatus) {
ReturnStatus = other.ReturnStatus;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 10: {
SourceObject = input.ReadBytes();
break;
}
case 18: {
DestinationObject = input.ReadBytes();
break;
}
case 24: {
SourcePort = input.ReadUInt32();
break;
}
case 32: {
DestinationPort = input.ReadUInt32();
break;
}
case 56: {
Id = input.ReadInt64();
break;
}
case 64: {
ReplyId = input.ReadInt64();
break;
}
case 12290: {
SourceSpace = input.ReadBytes();
break;
}
case 12298: {
DestinationSpace = input.ReadBytes();
break;
}
case 14336: {
int rawValue = input.ReadEnum();
if (!global::System.Enum.IsDefined(typeof(global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus), rawValue)) {
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
unknownFields.MergeVarintField(1792, (ulong) rawValue);
} else {
ReturnStatus = (global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus) rawValue;
}
break;
}
}
}
}
public bool HasSourceObject {
get { return result.HasSourceObject; }
}
public pb::ByteString SourceObject {
get { return result.SourceObject; }
set { SetSourceObject(value); }
}
public Builder SetSourceObject(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasSourceObject = true;
result.sourceObject_ = value;
return this;
}
public Builder ClearSourceObject() {
result.hasSourceObject = false;
result.sourceObject_ = pb::ByteString.Empty;
return this;
}
public bool HasSourcePort {
get { return result.HasSourcePort; }
}
[global::System.CLSCompliant(false)]
public uint SourcePort {
get { return result.SourcePort; }
set { SetSourcePort(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetSourcePort(uint value) {
result.hasSourcePort = true;
result.sourcePort_ = value;
return this;
}
public Builder ClearSourcePort() {
result.hasSourcePort = false;
result.sourcePort_ = 0;
return this;
}
public bool HasSourceSpace {
get { return result.HasSourceSpace; }
}
public pb::ByteString SourceSpace {
get { return result.SourceSpace; }
set { SetSourceSpace(value); }
}
public Builder SetSourceSpace(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasSourceSpace = true;
result.sourceSpace_ = value;
return this;
}
public Builder ClearSourceSpace() {
result.hasSourceSpace = false;
result.sourceSpace_ = pb::ByteString.Empty;
return this;
}
public bool HasDestinationObject {
get { return result.HasDestinationObject; }
}
public pb::ByteString DestinationObject {
get { return result.DestinationObject; }
set { SetDestinationObject(value); }
}
public Builder SetDestinationObject(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasDestinationObject = true;
result.destinationObject_ = value;
return this;
}
public Builder ClearDestinationObject() {
result.hasDestinationObject = false;
result.destinationObject_ = pb::ByteString.Empty;
return this;
}
public bool HasDestinationPort {
get { return result.HasDestinationPort; }
}
[global::System.CLSCompliant(false)]
public uint DestinationPort {
get { return result.DestinationPort; }
set { SetDestinationPort(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetDestinationPort(uint value) {
result.hasDestinationPort = true;
result.destinationPort_ = value;
return this;
}
public Builder ClearDestinationPort() {
result.hasDestinationPort = false;
result.destinationPort_ = 0;
return this;
}
public bool HasDestinationSpace {
get { return result.HasDestinationSpace; }
}
public pb::ByteString DestinationSpace {
get { return result.DestinationSpace; }
set { SetDestinationSpace(value); }
}
public Builder SetDestinationSpace(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasDestinationSpace = true;
result.destinationSpace_ = value;
return this;
}
public Builder ClearDestinationSpace() {
result.hasDestinationSpace = false;
result.destinationSpace_ = pb::ByteString.Empty;
return this;
}
public bool HasId {
get { return result.HasId; }
}
public long Id {
get { return result.Id; }
set { SetId(value); }
}
public Builder SetId(long value) {
result.hasId = true;
result.id_ = value;
return this;
}
public Builder ClearId() {
result.hasId = false;
result.id_ = 0L;
return this;
}
public bool HasReplyId {
get { return result.HasReplyId; }
}
public long ReplyId {
get { return result.ReplyId; }
set { SetReplyId(value); }
}
public Builder SetReplyId(long value) {
result.hasReplyId = true;
result.replyId_ = value;
return this;
}
public Builder ClearReplyId() {
result.hasReplyId = false;
result.replyId_ = 0L;
return this;
}
public bool HasReturnStatus {
get { return result.HasReturnStatus; }
}
public global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus ReturnStatus {
get { return result.ReturnStatus; }
set { SetReturnStatus(value); }
}
public Builder SetReturnStatus(global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus value) {
result.hasReturnStatus = true;
result.returnStatus_ = value;
return this;
}
public Builder ClearReturnStatus() {
result.hasReturnStatus = false;
result.returnStatus_ = global::Sirikata.Protocol._PBJ_Internal.Header.Types.ReturnStatus.SUCCESS;
return this;
}
}
static Header() {
object.ReferenceEquals(global::Sirikata.Protocol._PBJ_Internal.MessageHeader.Descriptor, null);
}
}
#endregion
}

View File

@@ -1,339 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Protocol {
public class Header : PBJ.IMessage {
protected _PBJ_Internal.Header super;
public _PBJ_Internal.Header _PBJSuper{ get { return super;} }
public Header() {
super=new _PBJ_Internal.Header();
}
public Header(_PBJ_Internal.Header reference) {
super=reference;
}
public static Header defaultInstance= new Header (_PBJ_Internal.Header.DefaultInstance);
public static Header DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Header.Descriptor; } }
public static class Types {
public enum ReturnStatus {
SUCCESS=_PBJ_Internal.Header.Types.ReturnStatus.SUCCESS,
NETWORK_FAILURE=_PBJ_Internal.Header.Types.ReturnStatus.NETWORK_FAILURE,
TIMEOUT_FAILURE=_PBJ_Internal.Header.Types.ReturnStatus.TIMEOUT_FAILURE,
PROTOCOL_ERROR=_PBJ_Internal.Header.Types.ReturnStatus.PROTOCOL_ERROR,
PORT_FAILURE=_PBJ_Internal.Header.Types.ReturnStatus.PORT_FAILURE,
UNKNOWN_OBJECT=_PBJ_Internal.Header.Types.ReturnStatus.UNKNOWN_OBJECT
};
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=8)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int SourceObjectFieldTag=1;
public bool HasSourceObject{ get {return super.HasSourceObject&&PBJ._PBJ.ValidateUuid(super.SourceObject);} }
public PBJ.UUID SourceObject{ get {
if (HasSourceObject) {
return PBJ._PBJ.CastUuid(super.SourceObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int SourcePortFieldTag=3;
public bool HasSourcePort{ get {return super.HasSourcePort&&PBJ._PBJ.ValidateUint32(super.SourcePort);} }
public uint SourcePort{ get {
if (HasSourcePort) {
return PBJ._PBJ.CastUint32(super.SourcePort);
} else {
return PBJ._PBJ.CastUint32();
}
}
}
public const int SourceSpaceFieldTag=1536;
public bool HasSourceSpace{ get {return super.HasSourceSpace&&PBJ._PBJ.ValidateUuid(super.SourceSpace);} }
public PBJ.UUID SourceSpace{ get {
if (HasSourceSpace) {
return PBJ._PBJ.CastUuid(super.SourceSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int DestinationObjectFieldTag=2;
public bool HasDestinationObject{ get {return super.HasDestinationObject&&PBJ._PBJ.ValidateUuid(super.DestinationObject);} }
public PBJ.UUID DestinationObject{ get {
if (HasDestinationObject) {
return PBJ._PBJ.CastUuid(super.DestinationObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int DestinationPortFieldTag=4;
public bool HasDestinationPort{ get {return super.HasDestinationPort&&PBJ._PBJ.ValidateUint32(super.DestinationPort);} }
public uint DestinationPort{ get {
if (HasDestinationPort) {
return PBJ._PBJ.CastUint32(super.DestinationPort);
} else {
return PBJ._PBJ.CastUint32();
}
}
}
public const int DestinationSpaceFieldTag=1537;
public bool HasDestinationSpace{ get {return super.HasDestinationSpace&&PBJ._PBJ.ValidateUuid(super.DestinationSpace);} }
public PBJ.UUID DestinationSpace{ get {
if (HasDestinationSpace) {
return PBJ._PBJ.CastUuid(super.DestinationSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int IdFieldTag=7;
public bool HasId{ get {return super.HasId&&PBJ._PBJ.ValidateInt64(super.Id);} }
public long Id{ get {
if (HasId) {
return PBJ._PBJ.CastInt64(super.Id);
} else {
return PBJ._PBJ.CastInt64();
}
}
}
public const int ReplyIdFieldTag=8;
public bool HasReplyId{ get {return super.HasReplyId&&PBJ._PBJ.ValidateInt64(super.ReplyId);} }
public long ReplyId{ get {
if (HasReplyId) {
return PBJ._PBJ.CastInt64(super.ReplyId);
} else {
return PBJ._PBJ.CastInt64();
}
}
}
public const int ReturnStatusFieldTag=1792;
public bool HasReturnStatus{ get {return super.HasReturnStatus;} }
public Types.ReturnStatus ReturnStatus{ get {
if (HasReturnStatus) {
return (Types.ReturnStatus)super.ReturnStatus;
} else {
return new Types.ReturnStatus();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Header prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Header ParseFrom(pb::ByteString data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
public static Header ParseFrom(byte[] data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
public static Header ParseFrom(global::System.IO.Stream data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
public static Header ParseFrom(pb::CodedInputStream data) {
return new Header(_PBJ_Internal.Header.ParseFrom(data));
}
public static Header ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Header(_PBJ_Internal.Header.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Header.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Header.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Header.Builder();}
public Builder(_PBJ_Internal.Header.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Header prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Header BuildPartial() {return new Header(super.BuildPartial());}
public Header Build() {if (_HasAllPBJFields) return new Header(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Header.Descriptor; } }
public Builder ClearSourceObject() { super.ClearSourceObject();return this;}
public const int SourceObjectFieldTag=1;
public bool HasSourceObject{ get {return super.HasSourceObject&&PBJ._PBJ.ValidateUuid(super.SourceObject);} }
public PBJ.UUID SourceObject{ get {
if (HasSourceObject) {
return PBJ._PBJ.CastUuid(super.SourceObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.SourceObject=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearSourcePort() { super.ClearSourcePort();return this;}
public const int SourcePortFieldTag=3;
public bool HasSourcePort{ get {return super.HasSourcePort&&PBJ._PBJ.ValidateUint32(super.SourcePort);} }
public uint SourcePort{ get {
if (HasSourcePort) {
return PBJ._PBJ.CastUint32(super.SourcePort);
} else {
return PBJ._PBJ.CastUint32();
}
}
set {
super.SourcePort=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearSourceSpace() { super.ClearSourceSpace();return this;}
public const int SourceSpaceFieldTag=1536;
public bool HasSourceSpace{ get {return super.HasSourceSpace&&PBJ._PBJ.ValidateUuid(super.SourceSpace);} }
public PBJ.UUID SourceSpace{ get {
if (HasSourceSpace) {
return PBJ._PBJ.CastUuid(super.SourceSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.SourceSpace=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearDestinationObject() { super.ClearDestinationObject();return this;}
public const int DestinationObjectFieldTag=2;
public bool HasDestinationObject{ get {return super.HasDestinationObject&&PBJ._PBJ.ValidateUuid(super.DestinationObject);} }
public PBJ.UUID DestinationObject{ get {
if (HasDestinationObject) {
return PBJ._PBJ.CastUuid(super.DestinationObject);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.DestinationObject=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearDestinationPort() { super.ClearDestinationPort();return this;}
public const int DestinationPortFieldTag=4;
public bool HasDestinationPort{ get {return super.HasDestinationPort&&PBJ._PBJ.ValidateUint32(super.DestinationPort);} }
public uint DestinationPort{ get {
if (HasDestinationPort) {
return PBJ._PBJ.CastUint32(super.DestinationPort);
} else {
return PBJ._PBJ.CastUint32();
}
}
set {
super.DestinationPort=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearDestinationSpace() { super.ClearDestinationSpace();return this;}
public const int DestinationSpaceFieldTag=1537;
public bool HasDestinationSpace{ get {return super.HasDestinationSpace&&PBJ._PBJ.ValidateUuid(super.DestinationSpace);} }
public PBJ.UUID DestinationSpace{ get {
if (HasDestinationSpace) {
return PBJ._PBJ.CastUuid(super.DestinationSpace);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.DestinationSpace=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearId() { super.ClearId();return this;}
public const int IdFieldTag=7;
public bool HasId{ get {return super.HasId&&PBJ._PBJ.ValidateInt64(super.Id);} }
public long Id{ get {
if (HasId) {
return PBJ._PBJ.CastInt64(super.Id);
} else {
return PBJ._PBJ.CastInt64();
}
}
set {
super.Id=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearReplyId() { super.ClearReplyId();return this;}
public const int ReplyIdFieldTag=8;
public bool HasReplyId{ get {return super.HasReplyId&&PBJ._PBJ.ValidateInt64(super.ReplyId);} }
public long ReplyId{ get {
if (HasReplyId) {
return PBJ._PBJ.CastInt64(super.ReplyId);
} else {
return PBJ._PBJ.CastInt64();
}
}
set {
super.ReplyId=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearReturnStatus() { super.ClearReturnStatus();return this;}
public const int ReturnStatusFieldTag=1792;
public bool HasReturnStatus{ get {return super.HasReturnStatus;} }
public Types.ReturnStatus ReturnStatus{ get {
if (HasReturnStatus) {
return (Types.ReturnStatus)super.ReturnStatus;
} else {
return new Types.ReturnStatus();
}
}
set {
super.ReturnStatus=((_PBJ_Internal.Header.Types.ReturnStatus)value);
}
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,840 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Physics.Protocol._PBJ_Internal {
public static partial class Physics {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.Builder> internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__FieldAccessorTable;
internal static pbd::MessageDescriptor internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.Builder> internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static Physics() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"Cg1QaHlzaWNzLnByb3RvEidTaXJpa2F0YS5QaHlzaWNzLlByb3RvY29sLl9Q" +
"QkpfSW50ZXJuYWwiqAEKDkNvbGxpc2lvbkJlZ2luEhEKCXRpbWVzdGFtcBgC" +
"IAEoBhIZCg10aGlzX3Bvc2l0aW9uGAMgAygBQgIQARIaCg5vdGhlcl9wb3Np" +
"dGlvbhgEIAMoAUICEAESFwoLdGhpc19ub3JtYWwYBSADKAJCAhABEhMKB2lt" +
"cHVsc2UYBiADKAJCAhABEh4KFm90aGVyX29iamVjdF9yZWZlcmVuY2UYByAB" +
"KAwiQQoMQ29sbGlzaW9uRW5kEhEKCXRpbWVzdGFtcBgCIAEoBhIeChZvdGhl" +
"cl9vYmplY3RfcmVmZXJlbmNlGAYgASgM");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.Builder>(internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor,
new string[] { "Timestamp", "ThisPosition", "OtherPosition", "ThisNormal", "Impulse", "OtherObjectReference", });
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor = Descriptor.MessageTypes[1];
internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd, global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.Builder>(internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor,
new string[] { "Timestamp", "OtherObjectReference", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class CollisionBegin : pb::GeneratedMessage<CollisionBegin, CollisionBegin.Builder> {
private static readonly CollisionBegin defaultInstance = new Builder().BuildPartial();
public static CollisionBegin DefaultInstance {
get { return defaultInstance; }
}
public override CollisionBegin DefaultInstanceForType {
get { return defaultInstance; }
}
protected override CollisionBegin ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<CollisionBegin, CollisionBegin.Builder> InternalFieldAccessors {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionBegin__FieldAccessorTable; }
}
public const int TimestampFieldNumber = 2;
private bool hasTimestamp;
private ulong timestamp_ = 0;
public bool HasTimestamp {
get { return hasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return timestamp_; }
}
public const int ThisPositionFieldNumber = 3;
private int thisPositionMemoizedSerializedSize;
private pbc::PopsicleList<double> thisPosition_ = new pbc::PopsicleList<double>();
public scg::IList<double> ThisPositionList {
get { return pbc::Lists.AsReadOnly(thisPosition_); }
}
public int ThisPositionCount {
get { return thisPosition_.Count; }
}
public double GetThisPosition(int index) {
return thisPosition_[index];
}
public const int OtherPositionFieldNumber = 4;
private int otherPositionMemoizedSerializedSize;
private pbc::PopsicleList<double> otherPosition_ = new pbc::PopsicleList<double>();
public scg::IList<double> OtherPositionList {
get { return pbc::Lists.AsReadOnly(otherPosition_); }
}
public int OtherPositionCount {
get { return otherPosition_.Count; }
}
public double GetOtherPosition(int index) {
return otherPosition_[index];
}
public const int ThisNormalFieldNumber = 5;
private int thisNormalMemoizedSerializedSize;
private pbc::PopsicleList<float> thisNormal_ = new pbc::PopsicleList<float>();
public scg::IList<float> ThisNormalList {
get { return pbc::Lists.AsReadOnly(thisNormal_); }
}
public int ThisNormalCount {
get { return thisNormal_.Count; }
}
public float GetThisNormal(int index) {
return thisNormal_[index];
}
public const int ImpulseFieldNumber = 6;
private int impulseMemoizedSerializedSize;
private pbc::PopsicleList<float> impulse_ = new pbc::PopsicleList<float>();
public scg::IList<float> ImpulseList {
get { return pbc::Lists.AsReadOnly(impulse_); }
}
public int ImpulseCount {
get { return impulse_.Count; }
}
public float GetImpulse(int index) {
return impulse_[index];
}
public const int OtherObjectReferenceFieldNumber = 7;
private bool hasOtherObjectReference;
private pb::ByteString otherObjectReference_ = pb::ByteString.Empty;
public bool HasOtherObjectReference {
get { return hasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return otherObjectReference_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasTimestamp) {
output.WriteFixed64(2, Timestamp);
}
if (thisPosition_.Count > 0) {
output.WriteRawVarint32(26);
output.WriteRawVarint32((uint) thisPositionMemoizedSerializedSize);
foreach (double element in thisPosition_) {
output.WriteDoubleNoTag(element);
}
}
if (otherPosition_.Count > 0) {
output.WriteRawVarint32(34);
output.WriteRawVarint32((uint) otherPositionMemoizedSerializedSize);
foreach (double element in otherPosition_) {
output.WriteDoubleNoTag(element);
}
}
if (thisNormal_.Count > 0) {
output.WriteRawVarint32(42);
output.WriteRawVarint32((uint) thisNormalMemoizedSerializedSize);
foreach (float element in thisNormal_) {
output.WriteFloatNoTag(element);
}
}
if (impulse_.Count > 0) {
output.WriteRawVarint32(50);
output.WriteRawVarint32((uint) impulseMemoizedSerializedSize);
foreach (float element in impulse_) {
output.WriteFloatNoTag(element);
}
}
if (HasOtherObjectReference) {
output.WriteBytes(7, OtherObjectReference);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasTimestamp) {
size += pb::CodedOutputStream.ComputeFixed64Size(2, Timestamp);
}
{
int dataSize = 0;
dataSize = 8 * thisPosition_.Count;
size += dataSize;
if (thisPosition_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
thisPositionMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
dataSize = 8 * otherPosition_.Count;
size += dataSize;
if (otherPosition_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
otherPositionMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
dataSize = 4 * thisNormal_.Count;
size += dataSize;
if (thisNormal_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
thisNormalMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
dataSize = 4 * impulse_.Count;
size += dataSize;
if (impulse_.Count!=0) size += 1 + pb::CodedOutputStream.ComputeInt32SizeNoTag(dataSize);
impulseMemoizedSerializedSize = dataSize;
}
if (HasOtherObjectReference) {
size += pb::CodedOutputStream.ComputeBytesSize(7, OtherObjectReference);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static CollisionBegin ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionBegin ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionBegin ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionBegin ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionBegin ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionBegin ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static CollisionBegin ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static CollisionBegin ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static CollisionBegin ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionBegin ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CollisionBegin prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<CollisionBegin, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
CollisionBegin result = new CollisionBegin();
protected override CollisionBegin MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new CollisionBegin();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.Descriptor; }
}
public override CollisionBegin DefaultInstanceForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.DefaultInstance; }
}
public override CollisionBegin BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
result.thisPosition_.MakeReadOnly();
result.otherPosition_.MakeReadOnly();
result.thisNormal_.MakeReadOnly();
result.impulse_.MakeReadOnly();
CollisionBegin returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is CollisionBegin) {
return MergeFrom((CollisionBegin) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(CollisionBegin other) {
if (other == global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionBegin.DefaultInstance) return this;
if (other.HasTimestamp) {
Timestamp = other.Timestamp;
}
if (other.thisPosition_.Count != 0) {
base.AddRange(other.thisPosition_, result.thisPosition_);
}
if (other.otherPosition_.Count != 0) {
base.AddRange(other.otherPosition_, result.otherPosition_);
}
if (other.thisNormal_.Count != 0) {
base.AddRange(other.thisNormal_, result.thisNormal_);
}
if (other.impulse_.Count != 0) {
base.AddRange(other.impulse_, result.impulse_);
}
if (other.HasOtherObjectReference) {
OtherObjectReference = other.OtherObjectReference;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 17: {
Timestamp = input.ReadFixed64();
break;
}
case 26: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddThisPosition(input.ReadDouble());
}
input.PopLimit(limit);
break;
}
case 34: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddOtherPosition(input.ReadDouble());
}
input.PopLimit(limit);
break;
}
case 42: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddThisNormal(input.ReadFloat());
}
input.PopLimit(limit);
break;
}
case 50: {
int length = input.ReadInt32();
int limit = input.PushLimit(length);
while (!input.ReachedLimit) {
AddImpulse(input.ReadFloat());
}
input.PopLimit(limit);
break;
}
case 58: {
OtherObjectReference = input.ReadBytes();
break;
}
}
}
}
public bool HasTimestamp {
get { return result.HasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return result.Timestamp; }
set { SetTimestamp(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetTimestamp(ulong value) {
result.hasTimestamp = true;
result.timestamp_ = value;
return this;
}
public Builder ClearTimestamp() {
result.hasTimestamp = false;
result.timestamp_ = 0;
return this;
}
public pbc::IPopsicleList<double> ThisPositionList {
get { return result.thisPosition_; }
}
public int ThisPositionCount {
get { return result.ThisPositionCount; }
}
public double GetThisPosition(int index) {
return result.GetThisPosition(index);
}
public Builder SetThisPosition(int index, double value) {
result.thisPosition_[index] = value;
return this;
}
public Builder AddThisPosition(double value) {
result.thisPosition_.Add(value);
return this;
}
public Builder AddRangeThisPosition(scg::IEnumerable<double> values) {
base.AddRange(values, result.thisPosition_);
return this;
}
public Builder ClearThisPosition() {
result.thisPosition_.Clear();
return this;
}
public pbc::IPopsicleList<double> OtherPositionList {
get { return result.otherPosition_; }
}
public int OtherPositionCount {
get { return result.OtherPositionCount; }
}
public double GetOtherPosition(int index) {
return result.GetOtherPosition(index);
}
public Builder SetOtherPosition(int index, double value) {
result.otherPosition_[index] = value;
return this;
}
public Builder AddOtherPosition(double value) {
result.otherPosition_.Add(value);
return this;
}
public Builder AddRangeOtherPosition(scg::IEnumerable<double> values) {
base.AddRange(values, result.otherPosition_);
return this;
}
public Builder ClearOtherPosition() {
result.otherPosition_.Clear();
return this;
}
public pbc::IPopsicleList<float> ThisNormalList {
get { return result.thisNormal_; }
}
public int ThisNormalCount {
get { return result.ThisNormalCount; }
}
public float GetThisNormal(int index) {
return result.GetThisNormal(index);
}
public Builder SetThisNormal(int index, float value) {
result.thisNormal_[index] = value;
return this;
}
public Builder AddThisNormal(float value) {
result.thisNormal_.Add(value);
return this;
}
public Builder AddRangeThisNormal(scg::IEnumerable<float> values) {
base.AddRange(values, result.thisNormal_);
return this;
}
public Builder ClearThisNormal() {
result.thisNormal_.Clear();
return this;
}
public pbc::IPopsicleList<float> ImpulseList {
get { return result.impulse_; }
}
public int ImpulseCount {
get { return result.ImpulseCount; }
}
public float GetImpulse(int index) {
return result.GetImpulse(index);
}
public Builder SetImpulse(int index, float value) {
result.impulse_[index] = value;
return this;
}
public Builder AddImpulse(float value) {
result.impulse_.Add(value);
return this;
}
public Builder AddRangeImpulse(scg::IEnumerable<float> values) {
base.AddRange(values, result.impulse_);
return this;
}
public Builder ClearImpulse() {
result.impulse_.Clear();
return this;
}
public bool HasOtherObjectReference {
get { return result.HasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return result.OtherObjectReference; }
set { SetOtherObjectReference(value); }
}
public Builder SetOtherObjectReference(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasOtherObjectReference = true;
result.otherObjectReference_ = value;
return this;
}
public Builder ClearOtherObjectReference() {
result.hasOtherObjectReference = false;
result.otherObjectReference_ = pb::ByteString.Empty;
return this;
}
}
static CollisionBegin() {
object.ReferenceEquals(global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.Descriptor, null);
}
}
public sealed partial class CollisionEnd : pb::GeneratedMessage<CollisionEnd, CollisionEnd.Builder> {
private static readonly CollisionEnd defaultInstance = new Builder().BuildPartial();
public static CollisionEnd DefaultInstance {
get { return defaultInstance; }
}
public override CollisionEnd DefaultInstanceForType {
get { return defaultInstance; }
}
protected override CollisionEnd ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<CollisionEnd, CollisionEnd.Builder> InternalFieldAccessors {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.internal__static_Sirikata_Physics_Protocol__PBJ_Internal_CollisionEnd__FieldAccessorTable; }
}
public const int TimestampFieldNumber = 2;
private bool hasTimestamp;
private ulong timestamp_ = 0;
public bool HasTimestamp {
get { return hasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return timestamp_; }
}
public const int OtherObjectReferenceFieldNumber = 6;
private bool hasOtherObjectReference;
private pb::ByteString otherObjectReference_ = pb::ByteString.Empty;
public bool HasOtherObjectReference {
get { return hasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return otherObjectReference_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasTimestamp) {
output.WriteFixed64(2, Timestamp);
}
if (HasOtherObjectReference) {
output.WriteBytes(6, OtherObjectReference);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasTimestamp) {
size += pb::CodedOutputStream.ComputeFixed64Size(2, Timestamp);
}
if (HasOtherObjectReference) {
size += pb::CodedOutputStream.ComputeBytesSize(6, OtherObjectReference);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static CollisionEnd ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionEnd ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionEnd ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static CollisionEnd ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static CollisionEnd ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionEnd ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static CollisionEnd ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static CollisionEnd ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static CollisionEnd ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static CollisionEnd ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CollisionEnd prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<CollisionEnd, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
CollisionEnd result = new CollisionEnd();
protected override CollisionEnd MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new CollisionEnd();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.Descriptor; }
}
public override CollisionEnd DefaultInstanceForType {
get { return global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.DefaultInstance; }
}
public override CollisionEnd BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
CollisionEnd returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is CollisionEnd) {
return MergeFrom((CollisionEnd) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(CollisionEnd other) {
if (other == global::Sirikata.Physics.Protocol._PBJ_Internal.CollisionEnd.DefaultInstance) return this;
if (other.HasTimestamp) {
Timestamp = other.Timestamp;
}
if (other.HasOtherObjectReference) {
OtherObjectReference = other.OtherObjectReference;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 17: {
Timestamp = input.ReadFixed64();
break;
}
case 50: {
OtherObjectReference = input.ReadBytes();
break;
}
}
}
}
public bool HasTimestamp {
get { return result.HasTimestamp; }
}
[global::System.CLSCompliant(false)]
public ulong Timestamp {
get { return result.Timestamp; }
set { SetTimestamp(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetTimestamp(ulong value) {
result.hasTimestamp = true;
result.timestamp_ = value;
return this;
}
public Builder ClearTimestamp() {
result.hasTimestamp = false;
result.timestamp_ = 0;
return this;
}
public bool HasOtherObjectReference {
get { return result.HasOtherObjectReference; }
}
public pb::ByteString OtherObjectReference {
get { return result.OtherObjectReference; }
set { SetOtherObjectReference(value); }
}
public Builder SetOtherObjectReference(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasOtherObjectReference = true;
result.otherObjectReference_ = value;
return this;
}
public Builder ClearOtherObjectReference() {
result.hasOtherObjectReference = false;
result.otherObjectReference_ = pb::ByteString.Empty;
return this;
}
}
static CollisionEnd() {
object.ReferenceEquals(global::Sirikata.Physics.Protocol._PBJ_Internal.Physics.Descriptor, null);
}
}
#endregion
}

View File

@@ -1,421 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Physics.Protocol {
public class CollisionBegin : PBJ.IMessage {
protected _PBJ_Internal.CollisionBegin super;
public _PBJ_Internal.CollisionBegin _PBJSuper{ get { return super;} }
public CollisionBegin() {
super=new _PBJ_Internal.CollisionBegin();
}
public CollisionBegin(_PBJ_Internal.CollisionBegin reference) {
super=reference;
}
public static CollisionBegin defaultInstance= new CollisionBegin (_PBJ_Internal.CollisionBegin.DefaultInstance);
public static CollisionBegin DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.CollisionBegin.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false;
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int ThisPositionFieldTag=3;
public int ThisPositionCount { get { return super.ThisPositionCount/3;} }
public bool HasThisPosition(int index) { return true; }
public PBJ.Vector3d GetThisPosition(int index) {
if (HasThisPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetThisPosition(index*3+0),super.GetThisPosition(index*3+1),super.GetThisPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public const int OtherPositionFieldTag=4;
public int OtherPositionCount { get { return super.OtherPositionCount/3;} }
public bool HasOtherPosition(int index) { return true; }
public PBJ.Vector3d GetOtherPosition(int index) {
if (HasOtherPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetOtherPosition(index*3+0),super.GetOtherPosition(index*3+1),super.GetOtherPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public const int ThisNormalFieldTag=5;
public int ThisNormalCount { get { return super.ThisNormalCount/2;} }
public bool HasThisNormal(int index) { return true; }
public PBJ.Vector3f GetThisNormal(int index) {
if (HasThisNormal(index)) {
return PBJ._PBJ.CastNormal(super.GetThisNormal(index*2+0),super.GetThisNormal(index*2+1));
} else {
return PBJ._PBJ.CastNormal();
}
}
public const int ImpulseFieldTag=6;
public int ImpulseCount { get { return super.ImpulseCount;} }
public bool HasImpulse(int index) {return PBJ._PBJ.ValidateFloat(super.GetImpulse(index));}
public float Impulse(int index) {
return (float)PBJ._PBJ.CastFloat(super.GetImpulse(index));
}
public const int OtherObjectReferenceFieldTag=7;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(CollisionBegin prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static CollisionBegin ParseFrom(pb::ByteString data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
public static CollisionBegin ParseFrom(byte[] data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
public static CollisionBegin ParseFrom(global::System.IO.Stream data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
public static CollisionBegin ParseFrom(pb::CodedInputStream data) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data));
}
public static CollisionBegin ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new CollisionBegin(_PBJ_Internal.CollisionBegin.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.CollisionBegin.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.CollisionBegin.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.CollisionBegin.Builder();}
public Builder(_PBJ_Internal.CollisionBegin.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(CollisionBegin prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public CollisionBegin BuildPartial() {return new CollisionBegin(super.BuildPartial());}
public CollisionBegin Build() {if (_HasAllPBJFields) return new CollisionBegin(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return CollisionBegin.Descriptor; } }
public Builder ClearTimestamp() { super.ClearTimestamp();return this;}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.Timestamp=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearThisPosition() { super.ClearThisPosition();return this;}
public const int ThisPositionFieldTag=3;
public int ThisPositionCount { get { return super.ThisPositionCount/3;} }
public bool HasThisPosition(int index) { return true; }
public PBJ.Vector3d GetThisPosition(int index) {
if (HasThisPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetThisPosition(index*3+0),super.GetThisPosition(index*3+1),super.GetThisPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public Builder AddThisPosition(PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.AddThisPosition(_PBJtempArray[0]);
super.AddThisPosition(_PBJtempArray[1]);
super.AddThisPosition(_PBJtempArray[2]);
return this;
}
public Builder SetThisPosition(int index,PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.SetThisPosition(index*3+0,_PBJtempArray[0]);
super.SetThisPosition(index*3+1,_PBJtempArray[1]);
super.SetThisPosition(index*3+2,_PBJtempArray[2]);
return this;
}
public Builder ClearOtherPosition() { super.ClearOtherPosition();return this;}
public const int OtherPositionFieldTag=4;
public int OtherPositionCount { get { return super.OtherPositionCount/3;} }
public bool HasOtherPosition(int index) { return true; }
public PBJ.Vector3d GetOtherPosition(int index) {
if (HasOtherPosition(index)) {
return PBJ._PBJ.CastVector3d(super.GetOtherPosition(index*3+0),super.GetOtherPosition(index*3+1),super.GetOtherPosition(index*3+2));
} else {
return PBJ._PBJ.CastVector3d();
}
}
public Builder AddOtherPosition(PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.AddOtherPosition(_PBJtempArray[0]);
super.AddOtherPosition(_PBJtempArray[1]);
super.AddOtherPosition(_PBJtempArray[2]);
return this;
}
public Builder SetOtherPosition(int index,PBJ.Vector3d value) {
double[] _PBJtempArray=PBJ._PBJ.ConstructVector3d(value);
super.SetOtherPosition(index*3+0,_PBJtempArray[0]);
super.SetOtherPosition(index*3+1,_PBJtempArray[1]);
super.SetOtherPosition(index*3+2,_PBJtempArray[2]);
return this;
}
public Builder ClearThisNormal() { super.ClearThisNormal();return this;}
public const int ThisNormalFieldTag=5;
public int ThisNormalCount { get { return super.ThisNormalCount/2;} }
public bool HasThisNormal(int index) { return true; }
public PBJ.Vector3f GetThisNormal(int index) {
if (HasThisNormal(index)) {
return PBJ._PBJ.CastNormal(super.GetThisNormal(index*2+0),super.GetThisNormal(index*2+1));
} else {
return PBJ._PBJ.CastNormal();
}
}
public Builder AddThisNormal(PBJ.Vector3f value) {
float[] _PBJtempArray=PBJ._PBJ.ConstructNormal(value);
super.AddThisNormal(_PBJtempArray[0]);
super.AddThisNormal(_PBJtempArray[1]);
return this;
}
public Builder SetThisNormal(int index,PBJ.Vector3f value) {
float[] _PBJtempArray=PBJ._PBJ.ConstructNormal(value);
super.SetThisNormal(index*2+0,_PBJtempArray[0]);
super.SetThisNormal(index*2+1,_PBJtempArray[1]);
return this;
}
public Builder ClearImpulse() { super.ClearImpulse();return this;}
public Builder SetImpulse(int index, float value) {
super.SetImpulse(index,PBJ._PBJ.Construct(value));
return this;
}
public const int ImpulseFieldTag=6;
public int ImpulseCount { get { return super.ImpulseCount;} }
public bool HasImpulse(int index) {return PBJ._PBJ.ValidateFloat(super.GetImpulse(index));}
public float Impulse(int index) {
return (float)PBJ._PBJ.CastFloat(super.GetImpulse(index));
}
public Builder AddImpulse(float value) {
super.AddImpulse(PBJ._PBJ.Construct(value));
return this;
}
public Builder ClearOtherObjectReference() { super.ClearOtherObjectReference();return this;}
public const int OtherObjectReferenceFieldTag=7;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.OtherObjectReference=(PBJ._PBJ.Construct(value));
}
}
}
}
}
namespace Sirikata.Physics.Protocol {
public class CollisionEnd : PBJ.IMessage {
protected _PBJ_Internal.CollisionEnd super;
public _PBJ_Internal.CollisionEnd _PBJSuper{ get { return super;} }
public CollisionEnd() {
super=new _PBJ_Internal.CollisionEnd();
}
public CollisionEnd(_PBJ_Internal.CollisionEnd reference) {
super=reference;
}
public static CollisionEnd defaultInstance= new CollisionEnd (_PBJ_Internal.CollisionEnd.DefaultInstance);
public static CollisionEnd DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.CollisionEnd.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false;
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int OtherObjectReferenceFieldTag=6;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(CollisionEnd prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static CollisionEnd ParseFrom(pb::ByteString data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
public static CollisionEnd ParseFrom(byte[] data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
public static CollisionEnd ParseFrom(global::System.IO.Stream data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
public static CollisionEnd ParseFrom(pb::CodedInputStream data) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data));
}
public static CollisionEnd ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new CollisionEnd(_PBJ_Internal.CollisionEnd.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.CollisionEnd.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.CollisionEnd.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.CollisionEnd.Builder();}
public Builder(_PBJ_Internal.CollisionEnd.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(CollisionEnd prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public CollisionEnd BuildPartial() {return new CollisionEnd(super.BuildPartial());}
public CollisionEnd Build() {if (_HasAllPBJFields) return new CollisionEnd(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return CollisionEnd.Descriptor; } }
public Builder ClearTimestamp() { super.ClearTimestamp();return this;}
public const int TimestampFieldTag=2;
public bool HasTimestamp{ get {return super.HasTimestamp&&PBJ._PBJ.ValidateTime(super.Timestamp);} }
public PBJ.Time Timestamp{ get {
if (HasTimestamp) {
return PBJ._PBJ.CastTime(super.Timestamp);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.Timestamp=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearOtherObjectReference() { super.ClearOtherObjectReference();return this;}
public const int OtherObjectReferenceFieldTag=6;
public bool HasOtherObjectReference{ get {return super.HasOtherObjectReference&&PBJ._PBJ.ValidateUuid(super.OtherObjectReference);} }
public PBJ.UUID OtherObjectReference{ get {
if (HasOtherObjectReference) {
return PBJ._PBJ.CastUuid(super.OtherObjectReference);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.OtherObjectReference=(PBJ._PBJ.Construct(value));
}
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,856 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Subscription.Protocol._PBJ_Internal {
public static partial class Subscription {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Address, global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder> internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__FieldAccessorTable;
internal static pbd::MessageDescriptor internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe, global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.Builder> internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__FieldAccessorTable;
internal static pbd::MessageDescriptor internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast, global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.Builder> internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static Subscription() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"ChJTdWJzY3JpcHRpb24ucHJvdG8SLFNpcmlrYXRhLlN1YnNjcmlwdGlvbi5Q" +
"cm90b2NvbC5fUEJKX0ludGVybmFsIiwKB0FkZHJlc3MSEAoIaG9zdG5hbWUY" +
"ASABKAkSDwoHc2VydmljZRgCIAEoCSKMAQoJU3Vic2NyaWJlElAKEWJyb2Fk" +
"Y2FzdF9hZGRyZXNzGAcgASgLMjUuU2lyaWthdGEuU3Vic2NyaXB0aW9uLlBy" +
"b3RvY29sLl9QQkpfSW50ZXJuYWwuQWRkcmVzcxIWCg5icm9hZGNhc3RfbmFt" +
"ZRgIIAEoDBIVCg11cGRhdGVfcGVyaW9kGAkgASgQIiMKCUJyb2FkY2FzdBIW" +
"Cg5icm9hZGNhc3RfbmFtZRgHIAEoDA==");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Address, global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder>(internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor,
new string[] { "Hostname", "Service", });
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor = Descriptor.MessageTypes[1];
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe, global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.Builder>(internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor,
new string[] { "BroadcastAddress", "BroadcastName", "UpdatePeriod", });
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor = Descriptor.MessageTypes[2];
internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast, global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.Builder>(internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor,
new string[] { "BroadcastName", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class Address : pb::GeneratedMessage<Address, Address.Builder> {
private static readonly Address defaultInstance = new Builder().BuildPartial();
public static Address DefaultInstance {
get { return defaultInstance; }
}
public override Address DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Address ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Address, Address.Builder> InternalFieldAccessors {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Address__FieldAccessorTable; }
}
public const int HostnameFieldNumber = 1;
private bool hasHostname;
private string hostname_ = "";
public bool HasHostname {
get { return hasHostname; }
}
public string Hostname {
get { return hostname_; }
}
public const int ServiceFieldNumber = 2;
private bool hasService;
private string service_ = "";
public bool HasService {
get { return hasService; }
}
public string Service {
get { return service_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasHostname) {
output.WriteString(1, Hostname);
}
if (HasService) {
output.WriteString(2, Service);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasHostname) {
size += pb::CodedOutputStream.ComputeStringSize(1, Hostname);
}
if (HasService) {
size += pb::CodedOutputStream.ComputeStringSize(2, Service);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Address ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Address ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Address ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Address ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Address ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Address ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Address ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Address ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Address ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Address ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Address prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Address, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Address result = new Address();
protected override Address MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Address();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Descriptor; }
}
public override Address DefaultInstanceForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance; }
}
public override Address BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Address returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Address) {
return MergeFrom((Address) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Address other) {
if (other == global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance) return this;
if (other.HasHostname) {
Hostname = other.Hostname;
}
if (other.HasService) {
Service = other.Service;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 10: {
Hostname = input.ReadString();
break;
}
case 18: {
Service = input.ReadString();
break;
}
}
}
}
public bool HasHostname {
get { return result.HasHostname; }
}
public string Hostname {
get { return result.Hostname; }
set { SetHostname(value); }
}
public Builder SetHostname(string value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasHostname = true;
result.hostname_ = value;
return this;
}
public Builder ClearHostname() {
result.hasHostname = false;
result.hostname_ = "";
return this;
}
public bool HasService {
get { return result.HasService; }
}
public string Service {
get { return result.Service; }
set { SetService(value); }
}
public Builder SetService(string value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasService = true;
result.service_ = value;
return this;
}
public Builder ClearService() {
result.hasService = false;
result.service_ = "";
return this;
}
}
static Address() {
object.ReferenceEquals(global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.Descriptor, null);
}
}
public sealed partial class Subscribe : pb::GeneratedMessage<Subscribe, Subscribe.Builder> {
private static readonly Subscribe defaultInstance = new Builder().BuildPartial();
public static Subscribe DefaultInstance {
get { return defaultInstance; }
}
public override Subscribe DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Subscribe ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Subscribe, Subscribe.Builder> InternalFieldAccessors {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Subscribe__FieldAccessorTable; }
}
public const int BroadcastAddressFieldNumber = 7;
private bool hasBroadcastAddress;
private global::Sirikata.Subscription.Protocol._PBJ_Internal.Address broadcastAddress_ = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance;
public bool HasBroadcastAddress {
get { return hasBroadcastAddress; }
}
public global::Sirikata.Subscription.Protocol._PBJ_Internal.Address BroadcastAddress {
get { return broadcastAddress_; }
}
public const int BroadcastNameFieldNumber = 8;
private bool hasBroadcastName;
private pb::ByteString broadcastName_ = pb::ByteString.Empty;
public bool HasBroadcastName {
get { return hasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return broadcastName_; }
}
public const int UpdatePeriodFieldNumber = 9;
private bool hasUpdatePeriod;
private long updatePeriod_ = 0;
public bool HasUpdatePeriod {
get { return hasUpdatePeriod; }
}
public long UpdatePeriod {
get { return updatePeriod_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasBroadcastAddress) {
output.WriteMessage(7, BroadcastAddress);
}
if (HasBroadcastName) {
output.WriteBytes(8, BroadcastName);
}
if (HasUpdatePeriod) {
output.WriteSFixed64(9, UpdatePeriod);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasBroadcastAddress) {
size += pb::CodedOutputStream.ComputeMessageSize(7, BroadcastAddress);
}
if (HasBroadcastName) {
size += pb::CodedOutputStream.ComputeBytesSize(8, BroadcastName);
}
if (HasUpdatePeriod) {
size += pb::CodedOutputStream.ComputeSFixed64Size(9, UpdatePeriod);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Subscribe ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Subscribe ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Subscribe ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Subscribe ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Subscribe ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Subscribe ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Subscribe ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Subscribe ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Subscribe ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Subscribe ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Subscribe prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Subscribe, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Subscribe result = new Subscribe();
protected override Subscribe MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Subscribe();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.Descriptor; }
}
public override Subscribe DefaultInstanceForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.DefaultInstance; }
}
public override Subscribe BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Subscribe returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Subscribe) {
return MergeFrom((Subscribe) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Subscribe other) {
if (other == global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscribe.DefaultInstance) return this;
if (other.HasBroadcastAddress) {
MergeBroadcastAddress(other.BroadcastAddress);
}
if (other.HasBroadcastName) {
BroadcastName = other.BroadcastName;
}
if (other.HasUpdatePeriod) {
UpdatePeriod = other.UpdatePeriod;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 58: {
global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder subBuilder = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.CreateBuilder();
if (HasBroadcastAddress) {
subBuilder.MergeFrom(BroadcastAddress);
}
input.ReadMessage(subBuilder, extensionRegistry);
BroadcastAddress = subBuilder.BuildPartial();
break;
}
case 66: {
BroadcastName = input.ReadBytes();
break;
}
case 73: {
UpdatePeriod = input.ReadSFixed64();
break;
}
}
}
}
public bool HasBroadcastAddress {
get { return result.HasBroadcastAddress; }
}
public global::Sirikata.Subscription.Protocol._PBJ_Internal.Address BroadcastAddress {
get { return result.BroadcastAddress; }
set { SetBroadcastAddress(value); }
}
public Builder SetBroadcastAddress(global::Sirikata.Subscription.Protocol._PBJ_Internal.Address value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasBroadcastAddress = true;
result.broadcastAddress_ = value;
return this;
}
public Builder SetBroadcastAddress(global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.Builder builderForValue) {
pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
result.hasBroadcastAddress = true;
result.broadcastAddress_ = builderForValue.Build();
return this;
}
public Builder MergeBroadcastAddress(global::Sirikata.Subscription.Protocol._PBJ_Internal.Address value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
if (result.HasBroadcastAddress &&
result.broadcastAddress_ != global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance) {
result.broadcastAddress_ = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.CreateBuilder(result.broadcastAddress_).MergeFrom(value).BuildPartial();
} else {
result.broadcastAddress_ = value;
}
result.hasBroadcastAddress = true;
return this;
}
public Builder ClearBroadcastAddress() {
result.hasBroadcastAddress = false;
result.broadcastAddress_ = global::Sirikata.Subscription.Protocol._PBJ_Internal.Address.DefaultInstance;
return this;
}
public bool HasBroadcastName {
get { return result.HasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return result.BroadcastName; }
set { SetBroadcastName(value); }
}
public Builder SetBroadcastName(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasBroadcastName = true;
result.broadcastName_ = value;
return this;
}
public Builder ClearBroadcastName() {
result.hasBroadcastName = false;
result.broadcastName_ = pb::ByteString.Empty;
return this;
}
public bool HasUpdatePeriod {
get { return result.HasUpdatePeriod; }
}
public long UpdatePeriod {
get { return result.UpdatePeriod; }
set { SetUpdatePeriod(value); }
}
public Builder SetUpdatePeriod(long value) {
result.hasUpdatePeriod = true;
result.updatePeriod_ = value;
return this;
}
public Builder ClearUpdatePeriod() {
result.hasUpdatePeriod = false;
result.updatePeriod_ = 0;
return this;
}
}
static Subscribe() {
object.ReferenceEquals(global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.Descriptor, null);
}
}
public sealed partial class Broadcast : pb::GeneratedMessage<Broadcast, Broadcast.Builder> {
private static readonly Broadcast defaultInstance = new Builder().BuildPartial();
public static Broadcast DefaultInstance {
get { return defaultInstance; }
}
public override Broadcast DefaultInstanceForType {
get { return defaultInstance; }
}
protected override Broadcast ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<Broadcast, Broadcast.Builder> InternalFieldAccessors {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.internal__static_Sirikata_Subscription_Protocol__PBJ_Internal_Broadcast__FieldAccessorTable; }
}
public const int BroadcastNameFieldNumber = 7;
private bool hasBroadcastName;
private pb::ByteString broadcastName_ = pb::ByteString.Empty;
public bool HasBroadcastName {
get { return hasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return broadcastName_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasBroadcastName) {
output.WriteBytes(7, BroadcastName);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasBroadcastName) {
size += pb::CodedOutputStream.ComputeBytesSize(7, BroadcastName);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static Broadcast ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Broadcast ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Broadcast ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static Broadcast ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static Broadcast ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Broadcast ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Broadcast ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static Broadcast ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static Broadcast ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static Broadcast ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(Broadcast prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<Broadcast, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
Broadcast result = new Broadcast();
protected override Broadcast MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new Broadcast();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.Descriptor; }
}
public override Broadcast DefaultInstanceForType {
get { return global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.DefaultInstance; }
}
public override Broadcast BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
Broadcast returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is Broadcast) {
return MergeFrom((Broadcast) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(Broadcast other) {
if (other == global::Sirikata.Subscription.Protocol._PBJ_Internal.Broadcast.DefaultInstance) return this;
if (other.HasBroadcastName) {
BroadcastName = other.BroadcastName;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 58: {
BroadcastName = input.ReadBytes();
break;
}
}
}
}
public bool HasBroadcastName {
get { return result.HasBroadcastName; }
}
public pb::ByteString BroadcastName {
get { return result.BroadcastName; }
set { SetBroadcastName(value); }
}
public Builder SetBroadcastName(pb::ByteString value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
result.hasBroadcastName = true;
result.broadcastName_ = value;
return this;
}
public Builder ClearBroadcastName() {
result.hasBroadcastName = false;
result.broadcastName_ = pb::ByteString.Empty;
return this;
}
}
static Broadcast() {
object.ReferenceEquals(global::Sirikata.Subscription.Protocol._PBJ_Internal.Subscription.Descriptor, null);
}
}
#endregion
}

View File

@@ -1,431 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Subscription.Protocol {
public class Address : PBJ.IMessage {
protected _PBJ_Internal.Address super;
public _PBJ_Internal.Address _PBJSuper{ get { return super;} }
public Address() {
super=new _PBJ_Internal.Address();
}
public Address(_PBJ_Internal.Address reference) {
super=reference;
}
public static Address defaultInstance= new Address (_PBJ_Internal.Address.DefaultInstance);
public static Address DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Address.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false;
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int HostnameFieldTag=1;
public bool HasHostname{ get {return super.HasHostname&&PBJ._PBJ.ValidateString(super.Hostname);} }
public string Hostname{ get {
if (HasHostname) {
return PBJ._PBJ.CastString(super.Hostname);
} else {
return PBJ._PBJ.CastString();
}
}
}
public const int ServiceFieldTag=2;
public bool HasService{ get {return super.HasService&&PBJ._PBJ.ValidateString(super.Service);} }
public string Service{ get {
if (HasService) {
return PBJ._PBJ.CastString(super.Service);
} else {
return PBJ._PBJ.CastString();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Address prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Address ParseFrom(pb::ByteString data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
public static Address ParseFrom(byte[] data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
public static Address ParseFrom(global::System.IO.Stream data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
public static Address ParseFrom(pb::CodedInputStream data) {
return new Address(_PBJ_Internal.Address.ParseFrom(data));
}
public static Address ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Address(_PBJ_Internal.Address.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Address.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Address.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Address.Builder();}
public Builder(_PBJ_Internal.Address.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Address prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Address BuildPartial() {return new Address(super.BuildPartial());}
public Address Build() {if (_HasAllPBJFields) return new Address(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Address.Descriptor; } }
public Builder ClearHostname() { super.ClearHostname();return this;}
public const int HostnameFieldTag=1;
public bool HasHostname{ get {return super.HasHostname&&PBJ._PBJ.ValidateString(super.Hostname);} }
public string Hostname{ get {
if (HasHostname) {
return PBJ._PBJ.CastString(super.Hostname);
} else {
return PBJ._PBJ.CastString();
}
}
set {
super.Hostname=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearService() { super.ClearService();return this;}
public const int ServiceFieldTag=2;
public bool HasService{ get {return super.HasService&&PBJ._PBJ.ValidateString(super.Service);} }
public string Service{ get {
if (HasService) {
return PBJ._PBJ.CastString(super.Service);
} else {
return PBJ._PBJ.CastString();
}
}
set {
super.Service=(PBJ._PBJ.Construct(value));
}
}
}
}
}
namespace Sirikata.Subscription.Protocol {
public class Subscribe : PBJ.IMessage {
protected _PBJ_Internal.Subscribe super;
public _PBJ_Internal.Subscribe _PBJSuper{ get { return super;} }
public Subscribe() {
super=new _PBJ_Internal.Subscribe();
}
public Subscribe(_PBJ_Internal.Subscribe reference) {
super=reference;
}
public static Subscribe defaultInstance= new Subscribe (_PBJ_Internal.Subscribe.DefaultInstance);
public static Subscribe DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Subscribe.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=6)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int BroadcastAddressFieldTag=7;
public bool HasBroadcastAddress{ get {return super.HasBroadcastAddress;} }
public Address BroadcastAddress{ get {
if (HasBroadcastAddress) {
return new Address(super.BroadcastAddress);
} else {
return new Address();
}
}
}
public const int BroadcastNameFieldTag=8;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public const int UpdatePeriodFieldTag=9;
public bool HasUpdatePeriod{ get {return super.HasUpdatePeriod&&PBJ._PBJ.ValidateDuration(super.UpdatePeriod);} }
public PBJ.Duration UpdatePeriod{ get {
if (HasUpdatePeriod) {
return PBJ._PBJ.CastDuration(super.UpdatePeriod);
} else {
return PBJ._PBJ.CastDuration();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Subscribe prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Subscribe ParseFrom(pb::ByteString data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
public static Subscribe ParseFrom(byte[] data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
public static Subscribe ParseFrom(global::System.IO.Stream data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
public static Subscribe ParseFrom(pb::CodedInputStream data) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data));
}
public static Subscribe ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Subscribe(_PBJ_Internal.Subscribe.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Subscribe.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Subscribe.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Subscribe.Builder();}
public Builder(_PBJ_Internal.Subscribe.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Subscribe prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Subscribe BuildPartial() {return new Subscribe(super.BuildPartial());}
public Subscribe Build() {if (_HasAllPBJFields) return new Subscribe(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Subscribe.Descriptor; } }
public Builder ClearBroadcastAddress() { super.ClearBroadcastAddress();return this;}
public const int BroadcastAddressFieldTag=7;
public bool HasBroadcastAddress{ get {return super.HasBroadcastAddress;} }
public Address BroadcastAddress{ get {
if (HasBroadcastAddress) {
return new Address(super.BroadcastAddress);
} else {
return new Address();
}
}
set {
super.BroadcastAddress=value._PBJSuper;
}
}
public Builder ClearBroadcastName() { super.ClearBroadcastName();return this;}
public const int BroadcastNameFieldTag=8;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.BroadcastName=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearUpdatePeriod() { super.ClearUpdatePeriod();return this;}
public const int UpdatePeriodFieldTag=9;
public bool HasUpdatePeriod{ get {return super.HasUpdatePeriod&&PBJ._PBJ.ValidateDuration(super.UpdatePeriod);} }
public PBJ.Duration UpdatePeriod{ get {
if (HasUpdatePeriod) {
return PBJ._PBJ.CastDuration(super.UpdatePeriod);
} else {
return PBJ._PBJ.CastDuration();
}
}
set {
super.UpdatePeriod=(PBJ._PBJ.Construct(value));
}
}
}
}
}
namespace Sirikata.Subscription.Protocol {
public class Broadcast : PBJ.IMessage {
protected _PBJ_Internal.Broadcast super;
public _PBJ_Internal.Broadcast _PBJSuper{ get { return super;} }
public Broadcast() {
super=new _PBJ_Internal.Broadcast();
}
public Broadcast(_PBJ_Internal.Broadcast reference) {
super=reference;
}
public static Broadcast defaultInstance= new Broadcast (_PBJ_Internal.Broadcast.DefaultInstance);
public static Broadcast DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.Broadcast.Descriptor; } }
public static class Types {
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=6)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int BroadcastNameFieldTag=7;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(Broadcast prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static Broadcast ParseFrom(pb::ByteString data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
public static Broadcast ParseFrom(byte[] data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
public static Broadcast ParseFrom(global::System.IO.Stream data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
public static Broadcast ParseFrom(pb::CodedInputStream data) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data));
}
public static Broadcast ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new Broadcast(_PBJ_Internal.Broadcast.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.Broadcast.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.Broadcast.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.Broadcast.Builder();}
public Builder(_PBJ_Internal.Broadcast.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(Broadcast prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public Broadcast BuildPartial() {return new Broadcast(super.BuildPartial());}
public Broadcast Build() {if (_HasAllPBJFields) return new Broadcast(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return Broadcast.Descriptor; } }
public Builder ClearBroadcastName() { super.ClearBroadcastName();return this;}
public const int BroadcastNameFieldTag=7;
public bool HasBroadcastName{ get {return super.HasBroadcastName&&PBJ._PBJ.ValidateUuid(super.BroadcastName);} }
public PBJ.UUID BroadcastName{ get {
if (HasBroadcastName) {
return PBJ._PBJ.CastUuid(super.BroadcastName);
} else {
return PBJ._PBJ.CastUuid();
}
}
set {
super.BroadcastName=(PBJ._PBJ.Construct(value));
}
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,454 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Sirikata.Network.Protocol._PBJ_Internal {
public static partial class Time {
#region Extension registration
public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
}
#endregion
#region Static variables
internal static pbd::MessageDescriptor internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor;
internal static pb::FieldAccess.FieldAccessorTable<global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync, global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.Builder> internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__FieldAccessorTable;
#endregion
#region Descriptor
public static pbd::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbd::FileDescriptor descriptor;
static Time() {
byte[] descriptorData = global::System.Convert.FromBase64String(
"CgpUaW1lLnByb3RvEidTaXJpa2F0YS5OZXR3b3JrLlByb3RvY29sLl9QQkpf" +
"SW50ZXJuYWwirQEKCFRpbWVTeW5jEhMKC2NsaWVudF90aW1lGAkgASgGEhMK" +
"C3NlcnZlcl90aW1lGAogASgGEhIKCnN5bmNfcm91bmQYCyABKAQSFgoOcmV0" +
"dXJuX29wdGlvbnMYDiABKA0SEwoKcm91bmRfdHJpcBiBFCABKAYiNgoNUmV0" +
"dXJuT3B0aW9ucxISCg5SRVBMWV9SRUxJQUJMRRABEhEKDVJFUExZX09SREVS" +
"RUQQAg==");
pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
descriptor = root;
internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor = Descriptor.MessageTypes[0];
internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync, global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.Builder>(internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor,
new string[] { "ClientTime", "ServerTime", "SyncRound", "ReturnOptions", "RoundTrip", });
return null;
};
pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
new pbd::FileDescriptor[] {
}, assigner);
}
#endregion
}
#region Messages
public sealed partial class TimeSync : pb::GeneratedMessage<TimeSync, TimeSync.Builder> {
private static readonly TimeSync defaultInstance = new Builder().BuildPartial();
public static TimeSync DefaultInstance {
get { return defaultInstance; }
}
public override TimeSync DefaultInstanceForType {
get { return defaultInstance; }
}
protected override TimeSync ThisMessage {
get { return this; }
}
public static pbd::MessageDescriptor Descriptor {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.Time.internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__Descriptor; }
}
protected override pb::FieldAccess.FieldAccessorTable<TimeSync, TimeSync.Builder> InternalFieldAccessors {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.Time.internal__static_Sirikata_Network_Protocol__PBJ_Internal_TimeSync__FieldAccessorTable; }
}
#region Nested types
public static class Types {
public enum ReturnOptions {
REPLY_RELIABLE = 1,
REPLY_ORDERED = 2,
}
}
#endregion
public const int ClientTimeFieldNumber = 9;
private bool hasClientTime;
private ulong clientTime_ = 0;
public bool HasClientTime {
get { return hasClientTime; }
}
[global::System.CLSCompliant(false)]
public ulong ClientTime {
get { return clientTime_; }
}
public const int ServerTimeFieldNumber = 10;
private bool hasServerTime;
private ulong serverTime_ = 0;
public bool HasServerTime {
get { return hasServerTime; }
}
[global::System.CLSCompliant(false)]
public ulong ServerTime {
get { return serverTime_; }
}
public const int SyncRoundFieldNumber = 11;
private bool hasSyncRound;
private ulong syncRound_ = 0UL;
public bool HasSyncRound {
get { return hasSyncRound; }
}
[global::System.CLSCompliant(false)]
public ulong SyncRound {
get { return syncRound_; }
}
public const int ReturnOptionsFieldNumber = 14;
private bool hasReturnOptions;
private uint returnOptions_ = 0;
public bool HasReturnOptions {
get { return hasReturnOptions; }
}
[global::System.CLSCompliant(false)]
public uint ReturnOptions {
get { return returnOptions_; }
}
public const int RoundTripFieldNumber = 2561;
private bool hasRoundTrip;
private ulong roundTrip_ = 0;
public bool HasRoundTrip {
get { return hasRoundTrip; }
}
[global::System.CLSCompliant(false)]
public ulong RoundTrip {
get { return roundTrip_; }
}
public override bool IsInitialized {
get {
return true;
}
}
public override void WriteTo(pb::CodedOutputStream output) {
if (HasClientTime) {
output.WriteFixed64(9, ClientTime);
}
if (HasServerTime) {
output.WriteFixed64(10, ServerTime);
}
if (HasSyncRound) {
output.WriteUInt64(11, SyncRound);
}
if (HasReturnOptions) {
output.WriteUInt32(14, ReturnOptions);
}
if (HasRoundTrip) {
output.WriteFixed64(2561, RoundTrip);
}
UnknownFields.WriteTo(output);
}
private int memoizedSerializedSize = -1;
public override int SerializedSize {
get {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (HasClientTime) {
size += pb::CodedOutputStream.ComputeFixed64Size(9, ClientTime);
}
if (HasServerTime) {
size += pb::CodedOutputStream.ComputeFixed64Size(10, ServerTime);
}
if (HasSyncRound) {
size += pb::CodedOutputStream.ComputeUInt64Size(11, SyncRound);
}
if (HasReturnOptions) {
size += pb::CodedOutputStream.ComputeUInt32Size(14, ReturnOptions);
}
if (HasRoundTrip) {
size += pb::CodedOutputStream.ComputeFixed64Size(2561, RoundTrip);
}
size += UnknownFields.SerializedSize;
memoizedSerializedSize = size;
return size;
}
}
public static TimeSync ParseFrom(pb::ByteString data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static TimeSync ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static TimeSync ParseFrom(byte[] data) {
return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
}
public static TimeSync ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
}
public static TimeSync ParseFrom(global::System.IO.Stream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static TimeSync ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static TimeSync ParseDelimitedFrom(global::System.IO.Stream input) {
return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
}
public static TimeSync ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
public static TimeSync ParseFrom(pb::CodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
public static TimeSync ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(TimeSync prototype) {
return (Builder) new Builder().MergeFrom(prototype);
}
public sealed partial class Builder : pb::GeneratedBuilder<TimeSync, Builder> {
protected override Builder ThisBuilder {
get { return this; }
}
public Builder() {}
TimeSync result = new TimeSync();
protected override TimeSync MessageBeingBuilt {
get { return result; }
}
public override Builder Clear() {
result = new TimeSync();
return this;
}
public override Builder Clone() {
return new Builder().MergeFrom(result);
}
public override pbd::MessageDescriptor DescriptorForType {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.Descriptor; }
}
public override TimeSync DefaultInstanceForType {
get { return global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.DefaultInstance; }
}
public override TimeSync BuildPartial() {
if (result == null) {
throw new global::System.InvalidOperationException("build() has already been called on this Builder");
}
TimeSync returnMe = result;
result = null;
return returnMe;
}
public override Builder MergeFrom(pb::IMessage other) {
if (other is TimeSync) {
return MergeFrom((TimeSync) other);
} else {
base.MergeFrom(other);
return this;
}
}
public override Builder MergeFrom(TimeSync other) {
if (other == global::Sirikata.Network.Protocol._PBJ_Internal.TimeSync.DefaultInstance) return this;
if (other.HasClientTime) {
ClientTime = other.ClientTime;
}
if (other.HasServerTime) {
ServerTime = other.ServerTime;
}
if (other.HasSyncRound) {
SyncRound = other.SyncRound;
}
if (other.HasReturnOptions) {
ReturnOptions = other.ReturnOptions;
}
if (other.HasRoundTrip) {
RoundTrip = other.RoundTrip;
}
this.MergeUnknownFields(other.UnknownFields);
return this;
}
public override Builder MergeFrom(pb::CodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
default: {
if (pb::WireFormat.IsEndGroupTag(tag)) {
if (unknownFields != null) {
this.UnknownFields = unknownFields.Build();
}
return this;
}
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 73: {
ClientTime = input.ReadFixed64();
break;
}
case 81: {
ServerTime = input.ReadFixed64();
break;
}
case 88: {
SyncRound = input.ReadUInt64();
break;
}
case 112: {
ReturnOptions = input.ReadUInt32();
break;
}
case 20489: {
RoundTrip = input.ReadFixed64();
break;
}
}
}
}
public bool HasClientTime {
get { return result.HasClientTime; }
}
[global::System.CLSCompliant(false)]
public ulong ClientTime {
get { return result.ClientTime; }
set { SetClientTime(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetClientTime(ulong value) {
result.hasClientTime = true;
result.clientTime_ = value;
return this;
}
public Builder ClearClientTime() {
result.hasClientTime = false;
result.clientTime_ = 0;
return this;
}
public bool HasServerTime {
get { return result.HasServerTime; }
}
[global::System.CLSCompliant(false)]
public ulong ServerTime {
get { return result.ServerTime; }
set { SetServerTime(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetServerTime(ulong value) {
result.hasServerTime = true;
result.serverTime_ = value;
return this;
}
public Builder ClearServerTime() {
result.hasServerTime = false;
result.serverTime_ = 0;
return this;
}
public bool HasSyncRound {
get { return result.HasSyncRound; }
}
[global::System.CLSCompliant(false)]
public ulong SyncRound {
get { return result.SyncRound; }
set { SetSyncRound(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetSyncRound(ulong value) {
result.hasSyncRound = true;
result.syncRound_ = value;
return this;
}
public Builder ClearSyncRound() {
result.hasSyncRound = false;
result.syncRound_ = 0UL;
return this;
}
public bool HasReturnOptions {
get { return result.HasReturnOptions; }
}
[global::System.CLSCompliant(false)]
public uint ReturnOptions {
get { return result.ReturnOptions; }
set { SetReturnOptions(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetReturnOptions(uint value) {
result.hasReturnOptions = true;
result.returnOptions_ = value;
return this;
}
public Builder ClearReturnOptions() {
result.hasReturnOptions = false;
result.returnOptions_ = 0;
return this;
}
public bool HasRoundTrip {
get { return result.HasRoundTrip; }
}
[global::System.CLSCompliant(false)]
public ulong RoundTrip {
get { return result.RoundTrip; }
set { SetRoundTrip(value); }
}
[global::System.CLSCompliant(false)]
public Builder SetRoundTrip(ulong value) {
result.hasRoundTrip = true;
result.roundTrip_ = value;
return this;
}
public Builder ClearRoundTrip() {
result.hasRoundTrip = false;
result.roundTrip_ = 0;
return this;
}
}
static TimeSync() {
object.ReferenceEquals(global::Sirikata.Network.Protocol._PBJ_Internal.Time.Descriptor, null);
}
}
#endregion
}

View File

@@ -1,245 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using pbd = global::Google.ProtocolBuffers.Descriptors;
using pb = global::Google.ProtocolBuffers;
namespace Sirikata.Network.Protocol {
public class TimeSync : PBJ.IMessage {
protected _PBJ_Internal.TimeSync super;
public _PBJ_Internal.TimeSync _PBJSuper{ get { return super;} }
public TimeSync() {
super=new _PBJ_Internal.TimeSync();
}
public TimeSync(_PBJ_Internal.TimeSync reference) {
super=reference;
}
public static TimeSync defaultInstance= new TimeSync (_PBJ_Internal.TimeSync.DefaultInstance);
public static TimeSync DefaultInstance{
get {return defaultInstance;}
}
public static pbd.MessageDescriptor Descriptor {
get { return _PBJ_Internal.TimeSync.Descriptor; } }
public static class Types {
public enum ReturnOptions {
REPLY_RELIABLE=_PBJ_Internal.TimeSync.Types.ReturnOptions.REPLY_RELIABLE,
REPLY_ORDERED=_PBJ_Internal.TimeSync.Types.ReturnOptions.REPLY_ORDERED
};
}
public static bool WithinReservedFieldTagRange(int field_tag) {
return false||(field_tag>=1&&field_tag<=8)||(field_tag>=1536&&field_tag<=2560)||(field_tag>=229376&&field_tag<=294912);
}
public static bool WithinExtensionFieldTagRange(int field_tag) {
return false;
}
public const int ClientTimeFieldTag=9;
public bool HasClientTime{ get {return super.HasClientTime&&PBJ._PBJ.ValidateTime(super.ClientTime);} }
public PBJ.Time ClientTime{ get {
if (HasClientTime) {
return PBJ._PBJ.CastTime(super.ClientTime);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int ServerTimeFieldTag=10;
public bool HasServerTime{ get {return super.HasServerTime&&PBJ._PBJ.ValidateTime(super.ServerTime);} }
public PBJ.Time ServerTime{ get {
if (HasServerTime) {
return PBJ._PBJ.CastTime(super.ServerTime);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public const int SyncRoundFieldTag=11;
public bool HasSyncRound{ get {return super.HasSyncRound&&PBJ._PBJ.ValidateUint64(super.SyncRound);} }
public ulong SyncRound{ get {
if (HasSyncRound) {
return PBJ._PBJ.CastUint64(super.SyncRound);
} else {
return PBJ._PBJ.CastUint64();
}
}
}
public const int ReturnOptionsFieldTag=14;
public bool HasReturnOptions { get {
if (!super.HasReturnOptions) return false;
return PBJ._PBJ.ValidateFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} }
public uint ReturnOptions{ get {
if (HasReturnOptions) {
return (uint)PBJ._PBJ.CastFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} else {
return (uint)PBJ._PBJ.CastFlags((ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
}
}
}
public const int RoundTripFieldTag=2561;
public bool HasRoundTrip{ get {return super.HasRoundTrip&&PBJ._PBJ.ValidateTime(super.RoundTrip);} }
public PBJ.Time RoundTrip{ get {
if (HasRoundTrip) {
return PBJ._PBJ.CastTime(super.RoundTrip);
} else {
return PBJ._PBJ.CastTime();
}
}
}
public override Google.ProtocolBuffers.IMessage _PBJISuper { get { return super; } }
public override PBJ.IMessage.IBuilder WeakCreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder() { return new Builder(); }
public static Builder CreateBuilder(TimeSync prototype) {
return (Builder)new Builder().MergeFrom(prototype);
}
public static TimeSync ParseFrom(pb::ByteString data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(pb::ByteString data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
public static TimeSync ParseFrom(byte[] data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(byte[] data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
public static TimeSync ParseFrom(global::System.IO.Stream data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(global::System.IO.Stream data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
public static TimeSync ParseFrom(pb::CodedInputStream data) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data));
}
public static TimeSync ParseFrom(pb::CodedInputStream data, pb::ExtensionRegistry er) {
return new TimeSync(_PBJ_Internal.TimeSync.ParseFrom(data,er));
}
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
public class Builder : global::PBJ.IMessage.IBuilder{
protected override bool _HasAllPBJFields{ get {
return true
;
} }
public bool IsInitialized { get {
return super.IsInitialized&&_HasAllPBJFields;
} }
protected _PBJ_Internal.TimeSync.Builder super;
public override Google.ProtocolBuffers.IBuilder _PBJISuper { get { return super; } }
public _PBJ_Internal.TimeSync.Builder _PBJSuper{ get { return super;} }
public Builder() {super = new _PBJ_Internal.TimeSync.Builder();}
public Builder(_PBJ_Internal.TimeSync.Builder other) {
super=other;
}
public Builder Clone() {return new Builder(super.Clone());}
public Builder MergeFrom(TimeSync prototype) { super.MergeFrom(prototype._PBJSuper);return this;}
public Builder Clear() {super.Clear();return this;}
public TimeSync BuildPartial() {return new TimeSync(super.BuildPartial());}
public TimeSync Build() {if (_HasAllPBJFields) return new TimeSync(super.Build());return null;}
public pbd::MessageDescriptor DescriptorForType {
get { return TimeSync.Descriptor; } }
public Builder ClearClientTime() { super.ClearClientTime();return this;}
public const int ClientTimeFieldTag=9;
public bool HasClientTime{ get {return super.HasClientTime&&PBJ._PBJ.ValidateTime(super.ClientTime);} }
public PBJ.Time ClientTime{ get {
if (HasClientTime) {
return PBJ._PBJ.CastTime(super.ClientTime);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.ClientTime=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearServerTime() { super.ClearServerTime();return this;}
public const int ServerTimeFieldTag=10;
public bool HasServerTime{ get {return super.HasServerTime&&PBJ._PBJ.ValidateTime(super.ServerTime);} }
public PBJ.Time ServerTime{ get {
if (HasServerTime) {
return PBJ._PBJ.CastTime(super.ServerTime);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.ServerTime=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearSyncRound() { super.ClearSyncRound();return this;}
public const int SyncRoundFieldTag=11;
public bool HasSyncRound{ get {return super.HasSyncRound&&PBJ._PBJ.ValidateUint64(super.SyncRound);} }
public ulong SyncRound{ get {
if (HasSyncRound) {
return PBJ._PBJ.CastUint64(super.SyncRound);
} else {
return PBJ._PBJ.CastUint64();
}
}
set {
super.SyncRound=(PBJ._PBJ.Construct(value));
}
}
public Builder ClearReturnOptions() { super.ClearReturnOptions();return this;}
public const int ReturnOptionsFieldTag=14;
public bool HasReturnOptions { get {
if (!super.HasReturnOptions) return false;
return PBJ._PBJ.ValidateFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} }
public uint ReturnOptions{ get {
if (HasReturnOptions) {
return (uint)PBJ._PBJ.CastFlags(super.ReturnOptions,(ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
} else {
return (uint)PBJ._PBJ.CastFlags((ulong)Types.ReturnOptions.REPLY_RELIABLE|(ulong)Types.ReturnOptions.REPLY_ORDERED);
}
}
set {
super.ReturnOptions=((value));
}
}
public Builder ClearRoundTrip() { super.ClearRoundTrip();return this;}
public const int RoundTripFieldTag=2561;
public bool HasRoundTrip{ get {return super.HasRoundTrip&&PBJ._PBJ.ValidateTime(super.RoundTrip);} }
public PBJ.Time RoundTrip{ get {
if (HasRoundTrip) {
return PBJ._PBJ.CastTime(super.RoundTrip);
} else {
return PBJ._PBJ.CastTime();
}
}
set {
super.RoundTrip=(PBJ._PBJ.Construct(value));
}
}
}
}
}

View File

@@ -1,139 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// THIS MODULE USES CODE FROM SIRIKATA, THE SIRIKATA LICENSE IS BELOW
/*
Sirikata is Licensed using the revised BSD license.
If you have any questions, contact Patrick Horn at <patrick.horn@gmail.com>
Copyright (c) 2008, the Sirikata developers (see AUTHORS file for credit).
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Sirikata nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Client.Sirikata.ClientStack;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Client.Sirikata
{
class SirikataModule : IRegionModule
{
private bool m_enabled = false;
private TcpListener m_listener;
private bool m_running = true;
private List<Scene> m_scenes = new List<Scene>();
private Dictionary<UUID,SirikataClientView> m_clients = new Dictionary<UUID, SirikataClientView>();
#region Implementation of IRegionModule
public void Initialise(Scene scene, IConfigSource source)
{
lock (m_scenes)
m_scenes.Add(scene);
}
public void PostInitialise()
{
if (!m_enabled)
return;
m_listener = new TcpListener(IPAddress.Any, 5943);
}
private void ListenLoop()
{
while (m_running)
{
m_listener.BeginAcceptTcpClient(AcceptSocket, m_listener);
}
}
private void AcceptSocket(IAsyncResult ar)
{
TcpListener listener = (TcpListener) ar.AsyncState;
TcpClient client = listener.EndAcceptTcpClient(ar);
SirikataClientView clientView = new SirikataClientView(client);
lock (m_clients)
m_clients.Add(clientView.SessionId, clientView);
}
public void Close()
{
}
public string Name
{
get { return "Sirikata ClientStack Module"; }
}
public bool IsSharedModule
{
get { return true; }
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,133 +0,0 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Text;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Client.VWoHTTP.ClientStack;
using OpenSim.Framework;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Client.VWoHTTP
{
class VWoHTTPModule : IRegionModule, IHttpAgentHandler
{
private bool m_disabled = true;
private IHttpServer m_httpd;
private readonly List<Scene> m_scenes = new List<Scene>();
private Dictionary<UUID, VWHClientView> m_clients = new Dictionary<UUID, VWHClientView>();
#region Implementation of IRegionModule
public void Initialise(Scene scene, IConfigSource source)
{
if (m_disabled)
return;
m_scenes.Add(scene);
m_httpd = MainServer.Instance;
}
public void PostInitialise()
{
if (m_disabled)
return;
m_httpd.AddAgentHandler("vwohttp", this);
}
public void Close()
{
if (m_disabled)
return;
m_httpd.RemoveAgentHandler("vwohttp", this);
}
public string Name
{
get { return "VWoHTTP ClientStack"; }
}
public bool IsSharedModule
{
get { return true; }
}
#endregion
#region Implementation of IHttpAgentHandler
public bool Handle(OSHttpRequest req, OSHttpResponse resp)
{
string[] urlparts = req.Url.AbsolutePath.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries);
if (urlparts.Length < 2)
return false;
if (urlparts[1] == "connect")
{
UUID sessID = UUID.Random();
VWHClientView client = new VWHClientView(sessID, UUID.Random(), "VWoHTTPClient", m_scenes[0]);
m_clients.Add(sessID, client);
return true;
}
else
{
if (urlparts.Length < 3)
return false;
UUID sessionID;
if (!UUID.TryParse(urlparts[1], out sessionID))
return false;
if (!m_clients.ContainsKey(sessionID))
return false;
return m_clients[sessionID].ProcessInMsg(req, resp);
}
}
public bool Match(OSHttpRequest req, OSHttpResponse resp)
{
return req.Url.ToString().Contains("vwohttp");
}
#endregion
}
}

View File

@@ -29,9 +29,11 @@ using Nini.Config;
using log4net;
using System.Reflection;
using System;
using System.IO;
using System.Xml;
using System.Collections.Generic;
using OpenSim.Server.Base;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenMetaverse;
@@ -73,9 +75,18 @@ namespace OpenSim.ConsoleClient
Requester.MakeRequest("http://"+m_Host+":"+m_Port.ToString()+"/StartSession/", String.Format("USER={0}&PASS={1}", m_User, m_Pass), LoginReply);
int res = m_Server.Run();
string pidFile = serverConfig.GetString("PIDFile", String.Empty);
Environment.Exit(res);
while (m_Server.Running)
{
System.Threading.Thread.Sleep(500);
// MainConsole.Instance.Prompt();
}
if (pidFile != String.Empty)
File.Delete(pidFile);
Environment.Exit(0);
return 0;
}
@@ -83,13 +94,14 @@ namespace OpenSim.ConsoleClient
private static void SendCommand(string module, string[] cmd)
{
string sendCmd = "";
string[] cmdlist = new string[cmd.Length - 1];
sendCmd = cmd[0];
if (cmd.Length > 1)
{
sendCmd = cmd[0];
Array.Copy(cmd, 1, cmd, 0, cmd.Length-1);
Array.Resize(ref cmd, cmd.Length-1);
sendCmd += "\"" + String.Join("\" \"", cmd) + "\"";
Array.Copy(cmd, 1, cmdlist, 0, cmd.Length - 1);
sendCmd += " \"" + String.Join("\" \"", cmdlist) + "\"";
}
Requester.MakeRequest("http://"+m_Host+":"+m_Port.ToString()+"/SessionCommand/", String.Format("ID={0}&COMMAND={1}", m_SessionID, sendCmd), CommandReply);
@@ -183,16 +195,27 @@ namespace OpenSim.ConsoleClient
while (lines.Count > 100)
lines.RemoveAt(0);
string prompt = String.Empty;
foreach (string l in lines)
{
string[] parts = l.Split(new char[] {':'}, 3);
if (parts.Length != 3)
continue;
MainConsole.Instance.Output(parts[2].Trim(), parts[1]);
if (parts[2].StartsWith("+++") || parts[2].StartsWith("-++"))
prompt = parts[2];
else
MainConsole.Instance.Output(parts[2].Trim(), parts[1]);
}
Requester.MakeRequest(requestUrl, requestData, ReadResponses);
if (prompt.StartsWith("+++"))
MainConsole.Instance.ReadLine(prompt.Substring(3), true, true);
else if (prompt.StartsWith("-++"))
SendCommand(String.Empty, new string[] { MainConsole.Instance.ReadLine(prompt.Substring(3), false, true) });
}
public static void CommandReply(string requestUrl, string requestData, string replyData)

View File

@@ -50,7 +50,7 @@ namespace OpenSim.ConsoleClient
request.ContentType = "application/x-www-form-urlencoded";
byte[] buffer = new System.Text.ASCIIEncoding().GetBytes(data);
byte[] buffer = Encoding.ASCII.GetBytes(data);
int length = (int) buffer.Length;
request.ContentLength = length;

View File

@@ -48,5 +48,6 @@ namespace OpenSim.Data
public abstract void Initialise(string connect);
public abstract void Initialise();
public abstract void Dispose();
public abstract bool Delete(string id);
}
}

71
OpenSim/Data/DBGuids.cs Normal file
View File

@@ -0,0 +1,71 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Text;
using OpenMetaverse;
namespace OpenSim.Data
{
public static class DBGuid
{
/// <summary>This function converts a value returned from the database in one of the
/// supported formats into a UUID. This function is not actually DBMS-specific right
/// now
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static UUID FromDB(object id)
{
if ((id == null) || (id == DBNull.Value))
return UUID.Zero;
if (id.GetType() == typeof(Guid))
return new UUID((Guid)id);
if (id.GetType() == typeof(byte[]))
{
if (((byte[])id).Length == 0)
return UUID.Zero;
else if (((byte[])id).Length == 16)
return new UUID((byte[])id, 0);
}
else if (id.GetType() == typeof(string))
{
if (((string)id).Length == 0)
return UUID.Zero;
else if (((string)id).Length == 36)
return new UUID((string)id);
}
throw new Exception("Failed to convert db value to UUID: " + id.ToString());
}
}
}

View File

@@ -38,16 +38,6 @@ namespace OpenSim.Data
bool ExistsAsset(UUID uuid);
List<AssetMetadata> FetchAssetMetadataSet(int start, int count);
void Initialise(string connect);
}
public class AssetDataInitialiser : PluginInitialiserBase
{
private string connect;
public AssetDataInitialiser (string s) { connect = s; }
public override void Initialise (IPlugin plugin)
{
IAssetDataPlugin p = plugin as IAssetDataPlugin;
p.Initialise (connect);
}
bool Delete(string id);
}
}

View File

@@ -34,7 +34,7 @@ namespace OpenSim.Data
{
public class FriendsData
{
public UUID PrincipalID;
public string PrincipalID;
public string Friend;
public Dictionary<string, string> Data;
}
@@ -46,6 +46,8 @@ namespace OpenSim.Data
{
bool Store(FriendsData data);
bool Delete(UUID ownerID, string friend);
bool Delete(string ownerID, string friend);
FriendsData[] GetFriends(UUID principalID);
FriendsData[] GetFriends(string principalID);
}
}

View File

@@ -37,6 +37,11 @@ namespace OpenSim.Data
{
public string UserID;
public Dictionary<string, string> Data;
public GridUserData()
{
Data = new Dictionary<string, string>();
}
}
/// <summary>
@@ -44,7 +49,7 @@ namespace OpenSim.Data
/// </summary>
public interface IGridUserData
{
GridUserData GetGridUserData(string userID);
bool StoreGridUserData(GridUserData data);
GridUserData Get(string userID);
bool Store(GridUserData data);
}
}

View File

@@ -155,15 +155,4 @@ namespace OpenSim.Data
/// </returns>
List<InventoryItemBase> fetchActiveGestures(UUID avatarID);
}
public class InventoryDataInitialiser : PluginInitialiserBase
{
private string connect;
public InventoryDataInitialiser (string s) { connect = s; }
public override void Initialise (IPlugin plugin)
{
IInventoryDataPlugin p = plugin as IInventoryDataPlugin;
p.Initialise (connect);
}
}
}

View File

@@ -50,10 +50,8 @@ namespace OpenSim.Data
PresenceData Get(UUID sessionID);
void LogoutRegionAgents(UUID regionID);
bool ReportAgent(UUID sessionID, UUID regionID, string position, string lookAt);
bool SetHomeLocation(string userID, UUID regionID, Vector3 position, Vector3 lookAt);
bool ReportAgent(UUID sessionID, UUID regionID);
PresenceData[] Get(string field, string data);
void Prune(string userID);
bool Delete(string field, string val);
}
}

View File

@@ -37,10 +37,30 @@ namespace OpenSim.Data
public UUID RegionID;
public UUID ScopeID;
public string RegionName;
/// <summary>
/// The position in meters of this region.
/// </summary>
public int posX;
/// <summary>
/// The position in meters of this region.
/// </summary>
public int posY;
public int sizeX;
public int sizeY;
/// <summary>
/// Return the x-coordinate of this region.
/// </summary>
public int coordX { get { return posX / (int)Constants.RegionSize; } }
/// <summary>
/// Return the y-coordinate of this region.
/// </summary>
public int coordY { get { return posY / (int)Constants.RegionSize; } }
public Dictionary<string, object> Data;
}
@@ -62,6 +82,7 @@ namespace OpenSim.Data
List<RegionData> GetDefaultRegions(UUID scopeID);
List<RegionData> GetFallbackRegions(UUID scopeID, int x, int y);
List<RegionData> GetHyperlinks(UUID scopeID);
}
[Flags]
@@ -78,4 +99,26 @@ namespace OpenSim.Data
Authenticate = 256, // Require authentication
Hyperlink = 512 // Record represents a HG link
}
public class RegionDataDistanceCompare : IComparer<RegionData>
{
private Vector2 m_origin;
public RegionDataDistanceCompare(int x, int y)
{
m_origin = new Vector2(x, y);
}
public int Compare(RegionData regionA, RegionData regionB)
{
Vector2 vectorA = new Vector2(regionA.posX, regionA.posY);
Vector2 vectorB = new Vector2(regionB.posX, regionB.posY);
return Math.Sign(VectorDistance(m_origin, vectorA) - VectorDistance(m_origin, vectorB));
}
private float VectorDistance(Vector2 x, Vector2 y)
{
return (x - y).Length();
}
}
}

View File

@@ -48,6 +48,7 @@ namespace OpenSim.Data
{
UserAccountData[] Get(string[] fields, string[] values);
bool Store(UserAccountData data);
bool Delete(string field, string val);
UserAccountData[] GetUsers(UUID scopeID, string query);
}
}

View File

@@ -25,27 +25,23 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System.IO;
using System.Collections.Generic;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Region.Framework.Scenes;
namespace OpenSim.Region.Examples.SimpleModule
namespace OpenSim.Data
{
public class FileSystemObject : SceneObjectGroup
/// <summary>
/// This interface exists to distinguish between the normal IAssetDataPlugin and the one used by XAssetService
/// for now.
/// </summary>
public interface IXAssetDataPlugin : IPlugin
{
public FileSystemObject(FileInfo fileInfo, Vector3 pos)
: base(UUID.Zero, pos, PrimitiveBaseShape.Default)
{
Text = fileInfo.Name;
}
protected override bool InSceneBackup
{
get
{
return false;
}
}
AssetBase GetAsset(UUID uuid);
void StoreAsset(AssetBase asset);
bool ExistsAsset(UUID uuid);
List<AssetMetadata> FetchAssetMetadataSet(int start, int count);
void Initialise(string connect);
bool Delete(string id);
}
}
}

View File

@@ -40,6 +40,11 @@ namespace OpenSim.Data
public UUID folderID;
public UUID agentID;
public UUID parentFolderID;
public XInventoryFolder Clone()
{
return (XInventoryFolder)MemberwiseClone();
}
}
public class XInventoryItem
@@ -51,7 +56,7 @@ namespace OpenSim.Data
public int inventoryNextPermissions;
public int inventoryCurrentPermissions;
public int invType;
public UUID creatorID;
public string creatorID;
public int inventoryBasePermissions;
public int inventoryEveryOnePermissions;
public int salePrice;
@@ -64,6 +69,11 @@ namespace OpenSim.Data
public UUID avatarID;
public UUID parentFolderID;
public int inventoryGroupPermissions;
public XInventoryItem Clone()
{
return (XInventoryItem)MemberwiseClone();
}
}
public interface IXInventoryData
@@ -74,10 +84,54 @@ namespace OpenSim.Data
bool StoreFolder(XInventoryFolder folder);
bool StoreItem(XInventoryItem item);
/// <summary>
/// Delete folders where field == val
/// </summary>
/// <param name="field"></param>
/// <param name="val"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteFolders(string field, string val);
/// <summary>
/// Delete folders where field1 == val1, field2 == val2...
/// </summary>
/// <param name="fields"></param>
/// <param name="vals"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteFolders(string[] fields, string[] vals);
/// <summary>
/// Delete items where field == val
/// </summary>
/// <param name="field"></param>
/// <param name="val"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteItems(string field, string val);
bool MoveItem(string id, string newParent);
/// <summary>
/// Delete items where field1 == val1, field2 == val2...
/// </summary>
/// <param name="fields"></param>
/// <param name="vals"></param>
/// <returns>true if the delete was successful, false if it was not</returns>
bool DeleteItems(string[] fields, string[] vals);
/// <summary>
/// Move an item to another folder.
/// </summary>
/// <returns>/returns>
/// <param name='id'>UUID of the item</param>
/// <param name='newParent'>UUID of the new parent folder.</param>
bool MoveItem(string id, string newParentFolderID);
/// <summary>
/// Move a folder to another folder.
/// </summary>
/// <returns>/returns>
/// <param name='id'>UUID of the item</param>
/// <param name='newParent'>UUID of the new parent folder.</param>
bool MoveFolder(string id, string newParentFolderID);
XInventoryItem[] GetActiveGestures(UUID principalID);
int GetAssetPermissions(UUID principalID, UUID assetID);
}

View File

@@ -121,15 +121,16 @@ namespace OpenSim.Data.MSSQL
if (reader.Read())
{
AssetBase asset = new AssetBase(
new UUID((Guid)reader["id"]),
DBGuid.FromDB(reader["id"]),
(string)reader["name"],
Convert.ToSByte(reader["assetType"]),
String.Empty
reader["creatorid"].ToString()
);
// Region Main
asset.Description = (string)reader["description"];
asset.Local = Convert.ToBoolean(reader["local"]);
asset.Temporary = Convert.ToBoolean(reader["temporary"]);
asset.Flags = (AssetFlags)(Convert.ToInt32(reader["asset_flags"]));
asset.Data = (byte[])reader["data"];
return asset;
}
@@ -144,26 +145,19 @@ namespace OpenSim.Data.MSSQL
/// <param name="asset">the asset</param>
override public void StoreAsset(AssetBase asset)
{
if (ExistsAsset(asset.FullID))
UpdateAsset(asset);
else
InsertAsset(asset);
}
private void InsertAsset(AssetBase asset)
{
if (ExistsAsset(asset.FullID))
{
return;
}
string sql = @"INSERT INTO assets
([id], [name], [description], [assetType], [local],
[temporary], [create_time], [access_time], [data])
VALUES
(@id, @name, @description, @assetType, @local,
@temporary, @create_time, @access_time, @data)";
string sql =
@"IF EXISTS(SELECT * FROM assets WHERE id=@id)
UPDATE assets set name = @name, description = @description, assetType = @assetType,
local = @local, temporary = @temporary, creatorid = @creatorid, data = @data
WHERE id=@id
ELSE
INSERT INTO assets
([id], [name], [description], [assetType], [local],
[temporary], [create_time], [access_time], [creatorid], [asset_flags], [data])
VALUES
(@id, @name, @description, @assetType, @local,
@temporary, @create_time, @access_time, @creatorid, @asset_flags, @data)";
string assetName = asset.Name;
if (asset.Name.Length > 64)
@@ -191,6 +185,8 @@ namespace OpenSim.Data.MSSQL
command.Parameters.Add(m_database.CreateParameter("temporary", asset.Temporary));
command.Parameters.Add(m_database.CreateParameter("access_time", now));
command.Parameters.Add(m_database.CreateParameter("create_time", now));
command.Parameters.Add(m_database.CreateParameter("asset_flags", (int)asset.Flags));
command.Parameters.Add(m_database.CreateParameter("creatorid", asset.Metadata.CreatorID));
command.Parameters.Add(m_database.CreateParameter("data", asset.Data));
conn.Open();
try
@@ -199,57 +195,11 @@ namespace OpenSim.Data.MSSQL
}
catch(Exception e)
{
m_log.Error("[ASSET DB]: Error inserting item :" + e.Message);
m_log.Error("[ASSET DB]: Error storing item :" + e.Message);
}
}
}
/// <summary>
/// Update asset in m_database
/// </summary>
/// <param name="asset">the asset</param>
private void UpdateAsset(AssetBase asset)
{
string sql = @"UPDATE assets set id = @id, name = @name, description = @description, assetType = @assetType,
local = @local, temporary = @temporary, data = @data
WHERE id = @keyId;";
string assetName = asset.Name;
if (asset.Name.Length > 64)
{
assetName = asset.Name.Substring(0, 64);
m_log.Warn("[ASSET DB]: Name field truncated from " + asset.Name.Length + " to " + assetName.Length + " characters on update");
}
string assetDescription = asset.Description;
if (asset.Description.Length > 64)
{
assetDescription = asset.Description.Substring(0, 64);
m_log.Warn("[ASSET DB]: Description field truncated from " + asset.Description.Length + " to " + assetDescription.Length + " characters on update");
}
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand command = new SqlCommand(sql, conn))
{
command.Parameters.Add(m_database.CreateParameter("id", asset.FullID));
command.Parameters.Add(m_database.CreateParameter("name", assetName));
command.Parameters.Add(m_database.CreateParameter("description", assetDescription));
command.Parameters.Add(m_database.CreateParameter("assetType", asset.Type));
command.Parameters.Add(m_database.CreateParameter("local", asset.Local));
command.Parameters.Add(m_database.CreateParameter("temporary", asset.Temporary));
command.Parameters.Add(m_database.CreateParameter("data", asset.Data));
command.Parameters.Add(m_database.CreateParameter("@keyId", asset.FullID));
conn.Open();
try
{
command.ExecuteNonQuery();
}
catch (Exception e)
{
m_log.Error(e.ToString());
}
}
}
// Commented out since currently unused - this probably should be called in GetAsset()
// private void UpdateAccessTime(AssetBase asset)
@@ -295,26 +245,34 @@ namespace OpenSim.Data.MSSQL
public override List<AssetMetadata> FetchAssetMetadataSet(int start, int count)
{
List<AssetMetadata> retList = new List<AssetMetadata>(count);
string sql = @"SELECT (name,description,assetType,temporary,id), Row = ROW_NUMBER()
OVER (ORDER BY (some column to order by))
WHERE Row >= @Start AND Row < @Start + @Count";
string sql = @"WITH OrderedAssets AS
(
SELECT id, name, description, assetType, temporary, creatorid,
RowNumber = ROW_NUMBER() OVER (ORDER BY id)
FROM assets
)
SELECT *
FROM OrderedAssets
WHERE RowNumber BETWEEN @start AND @stop;";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(m_database.CreateParameter("start", start));
cmd.Parameters.Add(m_database.CreateParameter("count", count));
cmd.Parameters.Add(m_database.CreateParameter("stop", start + count - 1));
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
AssetMetadata metadata = new AssetMetadata();
metadata.FullID = new UUID((Guid)reader["id"]);
metadata.FullID = DBGuid.FromDB(reader["id"]);
metadata.Name = (string)reader["name"];
metadata.Description = (string)reader["description"];
metadata.Type = Convert.ToSByte(reader["assetType"]);
metadata.Temporary = Convert.ToBoolean(reader["temporary"]);
metadata.CreatorID = (string)reader["creatorid"];
retList.Add(metadata);
}
}
}
@@ -322,6 +280,10 @@ namespace OpenSim.Data.MSSQL
return retList;
}
public override bool Delete(string id)
{
return false;
}
#endregion
}
}

View File

@@ -43,11 +43,11 @@ namespace OpenSim.Data.MSSQL
public class MSSQLAvatarData : MSSQLGenericTableHandler<AvatarBaseData>,
IAvatarData
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLAvatarData(string connectionString, string realm) :
base(connectionString, realm, "Avatar")
{
{
}
public bool Delete(UUID principalID, string name)

View File

@@ -37,11 +37,11 @@ using OpenSim.Region.Framework.Interfaces;
namespace OpenSim.Data.MSSQL
{
public class MSSQLEstateData : IEstateDataStore
public class MSSQLEstateStore : IEstateDataStore
{
private const string _migrationStore = "EstateStore";
private static readonly ILog _Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private MSSQLManager _Database;
private string m_connectionString;
@@ -50,6 +50,15 @@ namespace OpenSim.Data.MSSQL
#region Public methods
public MSSQLEstateStore()
{
}
public MSSQLEstateStore(string connectionString)
{
Initialise(connectionString);
}
/// <summary>
/// Initialises the estatedata class.
/// </summary>
@@ -63,7 +72,12 @@ namespace OpenSim.Data.MSSQL
}
//Migration settings
_Database.CheckMigration(_migrationStore);
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
Migration m = new Migration(conn, GetType().Assembly, "EstateStore");
m.Update();
}
//Interesting way to get parameters! Maybe implement that also with other types
Type t = typeof(EstateSettings);
@@ -83,7 +97,7 @@ namespace OpenSim.Data.MSSQL
/// </summary>
/// <param name="regionID">region ID.</param>
/// <returns></returns>
public EstateSettings LoadEstateSettings(UUID regionID)
public EstateSettings LoadEstateSettings(UUID regionID, bool create)
{
EstateSettings es = new EstateSettings();
@@ -101,22 +115,30 @@ namespace OpenSim.Data.MSSQL
{
foreach (string name in FieldList)
{
if (_FieldMap[name].GetValue(es) is bool)
FieldInfo f = _FieldMap[name];
object v = reader[name];
if (f.FieldType == typeof(bool))
{
int v = Convert.ToInt32(reader[name]);
if (v != 0)
_FieldMap[name].SetValue(es, true);
else
_FieldMap[name].SetValue(es, false);
f.SetValue(es, Convert.ToInt32(v) != 0);
}
else if (_FieldMap[name].GetValue(es) is UUID)
else if (f.FieldType == typeof(UUID))
{
_FieldMap[name].SetValue(es, new UUID((Guid)reader[name])); // uuid);
f.SetValue(es, new UUID((Guid)v)); // uuid);
}
else if (f.FieldType == typeof(string))
{
f.SetValue(es, v.ToString());
}
else if (f.FieldType == typeof(UInt32))
{
f.SetValue(es, Convert.ToUInt32(v));
}
else if (f.FieldType == typeof(Single))
{
f.SetValue(es, Convert.ToSingle(v));
}
else
{
es.EstateID = Convert.ToUInt32(reader["EstateID"].ToString());
}
f.SetValue(es, v);
}
}
else
@@ -126,74 +148,10 @@ namespace OpenSim.Data.MSSQL
}
}
if (insertEstate)
if (insertEstate && create)
{
List<string> names = new List<string>(FieldList);
names.Remove("EstateID");
sql = string.Format("insert into estate_settings ({0}) values ( @{1})", String.Join(",", names.ToArray()), String.Join(", @", names.ToArray()));
//_Log.Debug("[DB ESTATE]: SQL: " + sql);
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand insertCommand = new SqlCommand(sql, conn))
{
insertCommand.CommandText = sql + " SET @ID = SCOPE_IDENTITY()";
foreach (string name in names)
{
insertCommand.Parameters.Add(_Database.CreateParameter("@" + name, _FieldMap[name].GetValue(es)));
}
SqlParameter idParameter = new SqlParameter("@ID", SqlDbType.Int);
idParameter.Direction = ParameterDirection.Output;
insertCommand.Parameters.Add(idParameter);
conn.Open();
insertCommand.ExecuteNonQuery();
es.EstateID = Convert.ToUInt32(idParameter.Value);
}
sql = "INSERT INTO [estate_map] ([RegionID] ,[EstateID]) VALUES (@RegionID, @EstateID)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@RegionID", regionID));
cmd.Parameters.Add(_Database.CreateParameter("@EstateID", es.EstateID));
// This will throw on dupe key
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
_Log.DebugFormat("[ESTATE DB]: Error inserting regionID and EstateID in estate_map: {0}", e);
}
}
// Munge and transfer the ban list
sql = string.Format("insert into estateban select {0}, bannedUUID, bannedIp, bannedIpHostMask, '' from regionban where regionban.regionUUID = @UUID", es.EstateID);
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@UUID", regionID));
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception)
{
_Log.Debug("[ESTATE DB]: Error setting up estateban from regionban");
}
}
//TODO check if this is needed??
es.Save();
DoCreate(es);
LinkRegion(regionID, (int)es.EstateID);
}
LoadBanList(es);
@@ -207,6 +165,53 @@ namespace OpenSim.Data.MSSQL
return es;
}
public EstateSettings CreateNewEstate()
{
EstateSettings es = new EstateSettings();
es.OnSave += StoreEstateSettings;
DoCreate(es);
LoadBanList(es);
es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers");
es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users");
es.EstateGroups = LoadUUIDList(es.EstateID, "estate_groups");
return es;
}
private void DoCreate(EstateSettings es)
{
List<string> names = new List<string>(FieldList);
names.Remove("EstateID");
string sql = string.Format("insert into estate_settings ({0}) values ( @{1})", String.Join(",", names.ToArray()), String.Join(", @", names.ToArray()));
//_Log.Debug("[DB ESTATE]: SQL: " + sql);
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand insertCommand = new SqlCommand(sql, conn))
{
insertCommand.CommandText = sql + " SET @ID = SCOPE_IDENTITY()";
foreach (string name in names)
{
insertCommand.Parameters.Add(_Database.CreateParameter("@" + name, _FieldMap[name].GetValue(es)));
}
SqlParameter idParameter = new SqlParameter("@ID", SqlDbType.Int);
idParameter.Direction = ParameterDirection.Output;
insertCommand.Parameters.Add(idParameter);
conn.Open();
insertCommand.ExecuteNonQuery();
es.EstateID = Convert.ToUInt32(idParameter.Value);
}
//TODO check if this is needed??
es.Save();
}
/// <summary>
/// Stores the estate settings.
/// </summary>
@@ -307,64 +312,266 @@ namespace OpenSim.Data.MSSQL
private void SaveBanList(EstateSettings es)
{
//Delete first
string sql = "delete from estateban where EstateID = @EstateID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@EstateID", es.EstateID));
conn.Open();
cmd.ExecuteNonQuery();
}
//Insert after
sql = "insert into estateban (EstateID, bannedUUID) values ( @EstateID, @bannedUUID )";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
foreach (EstateBan b in es.EstateBans)
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.Parameters.Add(_Database.CreateParameter("@EstateID", es.EstateID));
cmd.Parameters.Add(_Database.CreateParameter("@bannedUUID", b.BannedUserID));
conn.Open();
cmd.CommandText = "delete from estateban where EstateID = @EstateID";
cmd.Parameters.AddWithValue("@EstateID", (int)es.EstateID);
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
//Insert after
cmd.CommandText = "insert into estateban (EstateID, bannedUUID,bannedIp, bannedIpHostMask, bannedNameMask) values ( @EstateID, @bannedUUID, '','','' )";
cmd.Parameters.AddWithValue("@bannedUUID", Guid.Empty);
foreach (EstateBan b in es.EstateBans)
{
cmd.Parameters["@bannedUUID"].Value = b.BannedUserID.Guid;
cmd.ExecuteNonQuery();
}
}
}
}
private void SaveUUIDList(uint estateID, string table, UUID[] data)
{
//Delete first
string sql = string.Format("delete from {0} where EstateID = @EstateID", table);
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@EstateID", estateID));
cmd.ExecuteNonQuery();
}
sql = string.Format("insert into {0} (EstateID, uuid) values ( @EstateID, @uuid )", table);
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(_Database.CreateParameter("@EstateID", estateID));
bool createParamOnce = true;
foreach (UUID uuid in data)
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
if (createParamOnce)
{
cmd.Parameters.Add(_Database.CreateParameter("@uuid", uuid));
createParamOnce = false;
}
else
cmd.Parameters["@uuid"].Value = uuid.Guid; //.ToString(); //TODO check if this works
conn.Open();
cmd.Parameters.AddWithValue("@EstateID", (int)estateID);
cmd.CommandText = string.Format("delete from {0} where EstateID = @EstateID", table);
cmd.ExecuteNonQuery();
cmd.CommandText = string.Format("insert into {0} (EstateID, uuid) values ( @EstateID, @uuid )", table);
cmd.Parameters.AddWithValue("@uuid", Guid.Empty);
foreach (UUID uuid in data)
{
cmd.Parameters["@uuid"].Value = uuid.Guid; //.ToString(); //TODO check if this works
cmd.ExecuteNonQuery();
}
}
}
}
public EstateSettings LoadEstateSettings(int estateID)
{
EstateSettings es = new EstateSettings();
string sql = "select estate_settings." + String.Join(",estate_settings.", FieldList) + " from estate_settings where EstateID = @EstateID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateID", (int)estateID);
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
foreach (string name in FieldList)
{
FieldInfo f = _FieldMap[name];
object v = reader[name];
if (f.FieldType == typeof(bool))
{
f.SetValue(es, Convert.ToInt32(v) != 0);
}
else if (f.FieldType == typeof(UUID))
{
f.SetValue(es, new UUID((Guid)v)); // uuid);
}
else if (f.FieldType == typeof(string))
{
f.SetValue(es, v.ToString());
}
else if (f.FieldType == typeof(UInt32))
{
f.SetValue(es, Convert.ToUInt32(v));
}
else if (f.FieldType == typeof(Single))
{
f.SetValue(es, Convert.ToSingle(v));
}
else
f.SetValue(es, v);
}
}
}
}
}
LoadBanList(es);
es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers");
es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users");
es.EstateGroups = LoadUUIDList(es.EstateID, "estate_groups");
//Set event
es.OnSave += StoreEstateSettings;
return es;
}
public List<EstateSettings> LoadEstateSettingsAll()
{
List<EstateSettings> allEstateSettings = new List<EstateSettings>();
List<int> allEstateIds = GetEstatesAll();
foreach (int estateId in allEstateIds)
allEstateSettings.Add(LoadEstateSettings(estateId));
return allEstateSettings;
}
public List<int> GetEstates(string search)
{
List<int> result = new List<int>();
string sql = "select estateID from estate_settings where EstateName = @EstateName";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateName", search);
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(Convert.ToInt32(reader["EstateID"]));
}
reader.Close();
}
}
}
return result;
}
public List<int> GetEstatesAll()
{
List<int> result = new List<int>();
string sql = "select estateID from estate_settings";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(Convert.ToInt32(reader["EstateID"]));
}
reader.Close();
}
}
}
return result;
}
public List<int> GetEstatesByOwner(UUID ownerID)
{
List<int> result = new List<int>();
string sql = "select estateID from estate_settings where EstateOwner = @EstateOwner";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateOwner", ownerID);
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(Convert.ToInt32(reader["EstateID"]));
}
reader.Close();
}
}
}
return result;
}
public bool LinkRegion(UUID regionID, int estateID)
{
string deleteSQL = "delete from estate_map where RegionID = @RegionID";
string insertSQL = "insert into estate_map values (@RegionID, @EstateID)";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
SqlTransaction transaction = conn.BeginTransaction();
try
{
using (SqlCommand cmd = new SqlCommand(deleteSQL, conn))
{
cmd.Transaction = transaction;
cmd.Parameters.AddWithValue("@RegionID", regionID.Guid);
cmd.ExecuteNonQuery();
}
using (SqlCommand cmd = new SqlCommand(insertSQL, conn))
{
cmd.Transaction = transaction;
cmd.Parameters.AddWithValue("@RegionID", regionID.Guid);
cmd.Parameters.AddWithValue("@EstateID", estateID);
int ret = cmd.ExecuteNonQuery();
if (ret != 0)
transaction.Commit();
else
transaction.Rollback();
return (ret != 0);
}
}
catch (Exception ex)
{
m_log.Error("[REGION DB]: LinkRegion failed: " + ex.Message);
transaction.Rollback();
}
}
return false;
}
public List<UUID> GetRegions(int estateID)
{
List<UUID> result = new List<UUID>();
string sql = "select RegionID from estate_map where EstateID = @EstateID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@EstateID", estateID);
using (IDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(DBGuid.FromDB(reader["RegionID"]));
}
reader.Close();
}
}
}
return result;
}
public bool DeleteEstate(int estateID)
{
// TODO: Implementation!
return false;
}
#endregion
}
}

View File

@@ -51,6 +51,11 @@ namespace OpenSim.Data.MSSQL
}
public bool Delete(UUID principalID, string friend)
{
return Delete(principalID.ToString(), friend);
}
public bool Delete(string principalID, string friend)
{
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
@@ -67,17 +72,28 @@ namespace OpenSim.Data.MSSQL
}
public FriendsData[] GetFriends(UUID principalID)
{
return GetFriends(principalID.ToString());
}
public FriendsData[] GetFriends(string principalID)
{
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = String.Format("select a.*,b.Flags as TheirFlags from {0} as a left join {0} as b on a.PrincipalID = b.Friend and a.Friend = b.PrincipalID where a.PrincipalID = ?PrincipalID and b.Flags is not null", m_Realm);
cmd.CommandText = String.Format("select a.*,case when b.Flags is null then -1 else b.Flags end as TheirFlags from {0} as a left join {0} as b on a.PrincipalID = b.Friend and a.Friend = b.PrincipalID where a.PrincipalID = @PrincipalID", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@PrincipalID", principalID.ToString()));
cmd.Connection = conn;
conn.Open();
return DoQuery(cmd);
}
}
public FriendsData[] GetFriends(Guid principalID)
{
return GetFriends(principalID.ToString());
}
}
}

View File

@@ -40,8 +40,8 @@ namespace OpenSim.Data.MSSQL
{
public class MSSQLGenericTableHandler<T> where T : class, new()
{
private static readonly ILog m_log =
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected string m_ConnectionString;
protected MSSQLManager m_database; //used for parameter type translation
@@ -56,15 +56,15 @@ namespace OpenSim.Data.MSSQL
string realm, string storeName)
{
m_Realm = realm;
m_ConnectionString = connectionString;
if (storeName != String.Empty)
{
Assembly assem = GetType().Assembly;
m_ConnectionString = connectionString;
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
{
conn.Open();
Migration m = new Migration(conn, assem, storeName);
Migration m = new Migration(conn, GetType().Assembly, storeName);
m.Update();
}
@@ -110,7 +110,7 @@ namespace OpenSim.Data.MSSQL
{
List<string> constraints = new List<string>();
string query = string.Format(@"SELECT
COL_NAME(ic.object_id,ic.column_id) AS column_name
COL_NAME(ic.object_id,ic.column_id) AS column_name
FROM sys.indexes AS i
INNER JOIN sys.index_columns AS ic
ON i.object_id = ic.object_id AND i.index_id = ic.index_id
@@ -157,7 +157,7 @@ namespace OpenSim.Data.MSSQL
string where = String.Join(" AND ", terms.ToArray());
string query = String.Format("SELECT * FROM {0} WHERE {1}",
m_Realm, where);
m_Realm, where);
cmd.Connection = conn;
cmd.CommandText = query;
@@ -168,14 +168,13 @@ namespace OpenSim.Data.MSSQL
protected T[] DoQuery(SqlCommand cmd)
{
List<T> result = new List<T>();
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader == null)
return new T[0];
CheckColumnNames(reader);
List<T> result = new List<T>();
CheckColumnNames(reader);
while (reader.Read())
{
@@ -262,6 +261,15 @@ namespace OpenSim.Data.MSSQL
{
names.Add(fi.Name);
values.Add("@" + fi.Name);
// Temporarily return more information about what field is unexpectedly null for
// http://opensimulator.org/mantis/view.php?id=5403. This might be due to a bug in the
// InventoryTransferModule or we may be required to substitute a DBNull here.
if (fi.GetValue(row) == null)
throw new NullReferenceException(
string.Format(
"[MSSQL GENERIC TABLE HANDLER]: Trying to store field {0} for {1} which is unexpectedly null",
fi.Name, row));
if (constraintFields.Count > 0 && constraintFields.Contains(fi.Name))
{
constraints.Add(new KeyValuePair<string, string>(fi.Name, fi.GetValue(row).ToString()));
@@ -296,7 +304,7 @@ namespace OpenSim.Data.MSSQL
query.AppendFormat("[{0}] = {1} ", names[i], values[i]);
if (constraints.Count > 0)
{
List<string> terms = new List<string>();
List<string> terms = new List<string>();
for (int j = 0; j < constraints.Count; j++)
{
terms.Add(" [" + constraints[j].Key + "] = @" + constraints[j].Key);
@@ -335,16 +343,33 @@ namespace OpenSim.Data.MSSQL
}
}
public virtual bool Delete(string field, string val)
public virtual bool Delete(string field, string key)
{
return Delete(new string[] { field }, new string[] { key });
}
public virtual bool Delete(string[] fields, string[] keys)
{
if (fields.Length != keys.Length)
return false;
List<string> terms = new List<string>();
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
{
string deleteCommand = String.Format("DELETE FROM {0} WHERE [{1}] = @{1}", m_Realm, field);
cmd.CommandText = deleteCommand;
cmd.Parameters.Add(m_database.CreateParameter(field, val));
for (int i = 0; i < fields.Length; i++)
{
cmd.Parameters.Add(m_database.CreateParameter(fields[i], keys[i]));
terms.Add("[" + fields[i] + "] = @" + fields[i]);
}
string where = String.Join(" AND ", terms.ToArray());
string query = String.Format("DELETE FROM {0} WHERE {1}", m_Realm, where);
cmd.Connection = conn;
cmd.CommandText = query;
conn.Open();
if (cmd.ExecuteNonQuery() > 0)

View File

@@ -0,0 +1,64 @@
/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.Data;
using System.Reflection;
using System.Threading;
using log4net;
using OpenMetaverse;
using OpenSim.Framework;
using System.Data.SqlClient;
namespace OpenSim.Data.MSSQL
{
/// <summary>
/// A MSSQL Interface for Avatar Storage
/// </summary>
public class MSSQLGridUserData : MSSQLGenericTableHandler<GridUserData>,
IGridUserData
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLGridUserData(string connectionString, string realm) :
base(connectionString, realm, "GridUserStore")
{
}
public GridUserData Get(string userID)
{
GridUserData[] ret = Get("UserID", userID);
if (ret.Length == 0)
return null;
return ret[0];
}
}
}

View File

@@ -111,6 +111,9 @@ namespace OpenSim.Data.MSSQL
/// <returns>A list of folder objects</returns>
public List<InventoryFolderBase> getUserRootFolders(UUID user)
{
if (user == UUID.Zero)
return new List<InventoryFolderBase>();
return getInventoryFolders(UUID.Zero, user);
}
@@ -184,7 +187,19 @@ namespace OpenSim.Data.MSSQL
//Note maybe change this to use a Dataset that loading in all folders of a user and then go throw it that way.
//Note this is changed so it opens only one connection to the database and not everytime it wants to get data.
/* NOTE: the implementation below is very inefficient (makes a separate request to get subfolders for
* every found folder, recursively). Inventory code for other DBs has been already rewritten to get ALL
* inventory for a specific user at once.
*
* Meanwhile, one little thing is corrected: getFolderHierarchy(UUID.Zero) doesn't make sense and should never
* be used, so check for that and return an empty list.
*/
List<InventoryFolderBase> folders = new List<InventoryFolderBase>();
if (parentID == UUID.Zero)
return folders;
string sql = "SELECT * FROM inventoryfolders WHERE parentFolderID = @parentID";
using (SqlConnection conn = new SqlConnection(m_connectionString))
using (SqlCommand cmd = new SqlCommand(sql, conn))
@@ -249,13 +264,12 @@ namespace OpenSim.Data.MSSQL
/// <param name="folder">Folder to update</param>
public void updateInventoryFolder(InventoryFolderBase folder)
{
string sql = @"UPDATE inventoryfolders SET folderID = @folderID,
agentID = @agentID,
string sql = @"UPDATE inventoryfolders SET agentID = @agentID,
parentFolderID = @parentFolderID,
folderName = @folderName,
type = @type,
version = @version
WHERE folderID = @keyFolderID";
WHERE folderID = @folderID";
string folderName = folder.Name;
if (folderName.Length > 64)
@@ -272,7 +286,6 @@ namespace OpenSim.Data.MSSQL
cmd.Parameters.Add(database.CreateParameter("folderName", folderName));
cmd.Parameters.Add(database.CreateParameter("type", folder.Type));
cmd.Parameters.Add(database.CreateParameter("version", folder.Version));
cmd.Parameters.Add(database.CreateParameter("@keyFolderID", folder.ID));
conn.Open();
try
{
@@ -296,7 +309,7 @@ namespace OpenSim.Data.MSSQL
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.Add(database.CreateParameter("parentFolderID", folder.ParentID));
cmd.Parameters.Add(database.CreateParameter("@folderID", folder.ID));
cmd.Parameters.Add(database.CreateParameter("folderID", folder.ID));
conn.Open();
try
{
@@ -489,8 +502,7 @@ namespace OpenSim.Data.MSSQL
/// <param name="item">Inventory item to update</param>
public void updateInventoryItem(InventoryItemBase item)
{
string sql = @"UPDATE inventoryitems SET inventoryID = @inventoryID,
assetID = @assetID,
string sql = @"UPDATE inventoryitems SET assetID = @assetID,
assetType = @assetType,
parentFolderID = @parentFolderID,
avatarID = @avatarID,
@@ -502,13 +514,14 @@ namespace OpenSim.Data.MSSQL
creatorID = @creatorID,
inventoryBasePermissions = @inventoryBasePermissions,
inventoryEveryOnePermissions = @inventoryEveryOnePermissions,
inventoryGroupPermissions = @inventoryGroupPermissions,
salePrice = @salePrice,
saleType = @saleType,
creationDate = @creationDate,
groupID = @groupID,
groupOwned = @groupOwned,
flags = @flags
WHERE inventoryID = @keyInventoryID";
WHERE inventoryID = @inventoryID";
string itemName = item.Name;
if (item.Name.Length > 64)
@@ -537,16 +550,16 @@ namespace OpenSim.Data.MSSQL
command.Parameters.Add(database.CreateParameter("inventoryNextPermissions", item.NextPermissions));
command.Parameters.Add(database.CreateParameter("inventoryCurrentPermissions", item.CurrentPermissions));
command.Parameters.Add(database.CreateParameter("invType", item.InvType));
command.Parameters.Add(database.CreateParameter("creatorID", item.CreatorIdAsUuid));
command.Parameters.Add(database.CreateParameter("creatorID", item.CreatorId));
command.Parameters.Add(database.CreateParameter("inventoryBasePermissions", item.BasePermissions));
command.Parameters.Add(database.CreateParameter("inventoryEveryOnePermissions", item.EveryOnePermissions));
command.Parameters.Add(database.CreateParameter("inventoryGroupPermissions", item.GroupPermissions));
command.Parameters.Add(database.CreateParameter("salePrice", item.SalePrice));
command.Parameters.Add(database.CreateParameter("saleType", item.SaleType));
command.Parameters.Add(database.CreateParameter("creationDate", item.CreationDate));
command.Parameters.Add(database.CreateParameter("groupID", item.GroupID));
command.Parameters.Add(database.CreateParameter("groupOwned", item.GroupOwned));
command.Parameters.Add(database.CreateParameter("flags", item.Flags));
command.Parameters.Add(database.CreateParameter("keyInventoryID", item.ID));
conn.Open();
try
{
@@ -732,9 +745,9 @@ namespace OpenSim.Data.MSSQL
try
{
InventoryFolderBase folder = new InventoryFolderBase();
folder.Owner = new UUID((Guid)reader["agentID"]);
folder.ParentID = new UUID((Guid)reader["parentFolderID"]);
folder.ID = new UUID((Guid)reader["folderID"]);
folder.Owner = DBGuid.FromDB(reader["agentID"]);
folder.ParentID = DBGuid.FromDB(reader["parentFolderID"]);
folder.ID = DBGuid.FromDB(reader["folderID"]);
folder.Name = (string)reader["folderName"];
folder.Type = (short)reader["type"];
folder.Version = Convert.ToUInt16(reader["version"]);
@@ -760,24 +773,24 @@ namespace OpenSim.Data.MSSQL
{
InventoryItemBase item = new InventoryItemBase();
item.ID = new UUID((Guid)reader["inventoryID"]);
item.AssetID = new UUID((Guid)reader["assetID"]);
item.ID = DBGuid.FromDB(reader["inventoryID"]);
item.AssetID = DBGuid.FromDB(reader["assetID"]);
item.AssetType = Convert.ToInt32(reader["assetType"].ToString());
item.Folder = new UUID((Guid)reader["parentFolderID"]);
item.Owner = new UUID((Guid)reader["avatarID"]);
item.Folder = DBGuid.FromDB(reader["parentFolderID"]);
item.Owner = DBGuid.FromDB(reader["avatarID"]);
item.Name = reader["inventoryName"].ToString();
item.Description = reader["inventoryDescription"].ToString();
item.NextPermissions = Convert.ToUInt32(reader["inventoryNextPermissions"]);
item.CurrentPermissions = Convert.ToUInt32(reader["inventoryCurrentPermissions"]);
item.InvType = Convert.ToInt32(reader["invType"].ToString());
item.CreatorId = ((Guid)reader["creatorID"]).ToString();
item.CreatorId = reader["creatorID"].ToString();
item.BasePermissions = Convert.ToUInt32(reader["inventoryBasePermissions"]);
item.EveryOnePermissions = Convert.ToUInt32(reader["inventoryEveryOnePermissions"]);
item.GroupPermissions = Convert.ToUInt32(reader["inventoryGroupPermissions"]);
item.SalePrice = Convert.ToInt32(reader["salePrice"]);
item.SaleType = Convert.ToByte(reader["saleType"]);
item.CreationDate = Convert.ToInt32(reader["creationDate"]);
item.GroupID = new UUID((Guid)reader["groupID"]);
item.GroupID = DBGuid.FromDB(reader["groupID"]);
item.GroupOwned = Convert.ToBoolean(reader["groupOwned"]);
item.Flags = Convert.ToUInt32(reader["flags"]);
@@ -800,7 +813,7 @@ namespace OpenSim.Data.MSSQL
{
try
{
using (SqlCommand command = new SqlCommand("DELETE FROM inventoryfolders WHERE folderID=@folderID", connection))
using (SqlCommand command = new SqlCommand("DELETE FROM inventoryfolders WHERE folderID=@folderID and type=-1", connection))
{
command.Parameters.Add(database.CreateParameter("folderID", folderID));

View File

@@ -41,12 +41,12 @@ namespace OpenSim.Data.MSSQL
/// </summary>
public class MSSQLManager
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <summary>
/// Connection string for ADO.net
/// </summary>
private readonly string connectionString;
private readonly string connectionString;
/// <summary>
/// Initialize the manager and set the connectionstring
@@ -104,6 +104,11 @@ namespace OpenSim.Data.MSSQL
{
return SqlDbType.BigInt;
}
if (type == typeof(DateTime))
{
return SqlDbType.DateTime;
}
return SqlDbType.VarChar;
}
@@ -180,8 +185,6 @@ namespace OpenSim.Data.MSSQL
return parameter;
}
private static readonly Dictionary<string, string> emptyDictionary = new Dictionary<string, string>();
/// <summary>
/// Checks if we need to do some migrations to the database
/// </summary>
@@ -196,7 +199,7 @@ namespace OpenSim.Data.MSSQL
migration.Update();
}
}
}
/// <summary>
/// Returns the version of this DB provider

View File

@@ -29,16 +29,19 @@ using System;
using System.Data;
using System.Data.Common;
using System.Reflection;
using System.Data.SqlClient;
namespace OpenSim.Data.MSSQL
{
public class MSSQLMigration : Migration
{
public MSSQLMigration(DbConnection conn, Assembly assem, string type) : base(conn, assem, type)
public MSSQLMigration(DbConnection conn, Assembly assem, string type)
: base(conn, assem, type)
{
}
public MSSQLMigration(DbConnection conn, Assembly assem, string subtype, string type) : base(conn, assem, subtype, type)
public MSSQLMigration(DbConnection conn, Assembly assem, string subtype, string type)
: base(conn, assem, subtype, type)
{
}
@@ -61,10 +64,36 @@ namespace OpenSim.Data.MSSQL
}
catch
{
// Something went wrong, so we're version 0
// Return -1 to indicate table does not exist
return -1;
}
}
return version;
}
protected override void ExecuteScript(DbConnection conn, string[] script)
{
if (!(conn is SqlConnection))
{
base.ExecuteScript(conn, script);
return;
}
foreach (string sql in script)
{
try
{
using (SqlCommand cmd = new SqlCommand(sql, (SqlConnection)conn))
{
cmd.ExecuteNonQuery();
}
}
catch (Exception)
{
throw new Exception(sql);
}
}
}
}
}

View File

@@ -43,7 +43,7 @@ namespace OpenSim.Data.MSSQL
public class MSSQLPresenceData : MSSQLGenericTableHandler<PresenceData>,
IPresenceData
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public MSSQLPresenceData(string connectionString, string realm) :
base(connectionString, realm, "Presence")
@@ -67,7 +67,7 @@ namespace OpenSim.Data.MSSQL
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = String.Format("UPDATE {0} SET Online='false' WHERE [RegionID]=@RegionID", m_Realm);
cmd.CommandText = String.Format("DELETE FROM {0} WHERE [RegionID]=@RegionID", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@RegionID", regionID.ToString()));
cmd.Connection = conn;
@@ -76,8 +76,7 @@ namespace OpenSim.Data.MSSQL
}
}
public bool ReportAgent(UUID sessionID, UUID regionID, string position,
string lookAt)
public bool ReportAgent(UUID sessionID, UUID regionID)
{
PresenceData[] pd = Get("SessionID", sessionID.ToString());
if (pd.Length == 0)
@@ -88,16 +87,11 @@ namespace OpenSim.Data.MSSQL
{
cmd.CommandText = String.Format(@"UPDATE {0} SET
[RegionID] = @RegionID,
[Position] = @Position,
[LookAt] = @LookAt,
[Online] = 'true'
[RegionID] = @RegionID
WHERE [SessionID] = @SessionID", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@SessionID", sessionID.ToString()));
cmd.Parameters.Add(m_database.CreateParameter("@RegionID", regionID.ToString()));
cmd.Parameters.Add(m_database.CreateParameter("@Position", position.ToString()));
cmd.Parameters.Add(m_database.CreateParameter("@LookAt", lookAt.ToString()));
cmd.Connection = conn;
conn.Open();
if (cmd.ExecuteNonQuery() == 0)
@@ -106,65 +100,5 @@ namespace OpenSim.Data.MSSQL
return true;
}
public bool SetHomeLocation(string userID, UUID regionID, Vector3 position, Vector3 lookAt)
{
PresenceData[] pd = Get("UserID", userID);
if (pd.Length == 0)
return false;
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = String.Format(@"UPDATE {0} SET
[HomeRegionID] = @HomeRegionID,
[HomePosition] = @HomePosition,
[HomeLookAt] = @HomeLookAt
WHERE [UserID] = @UserID", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@UserID", userID));
cmd.Parameters.Add(m_database.CreateParameter("@HomeRegionID", regionID.ToString()));
cmd.Parameters.Add(m_database.CreateParameter("@HomePosition", position));
cmd.Parameters.Add(m_database.CreateParameter("@HomeLookAt", lookAt));
cmd.Connection = conn;
conn.Open();
if (cmd.ExecuteNonQuery() == 0)
return false;
}
return true;
}
public void Prune(string userID)
{
using (SqlConnection conn = new SqlConnection(m_ConnectionString))
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = String.Format("SELECT * from {0} WHERE [UserID] = @UserID", m_Realm);
cmd.Parameters.Add(m_database.CreateParameter("@UserID", userID));
cmd.Connection = conn;
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
List<UUID> deleteSessions = new List<UUID>();
int online = 0;
while (reader.Read())
{
if (bool.Parse(reader["Online"].ToString()))
online++;
else
deleteSessions.Add(new UUID(reader["SessionID"].ToString()));
}
if (online == 0 && deleteSessions.Count > 0)
deleteSessions.RemoveAt(0);
foreach (UUID s in deleteSessions)
Delete("SessionID", s.ToString());
}
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More