Commit Graph

206 Commits (e09c8681ad5f6a645ef433e86166795a5c7dd762)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 56dcb4e283 Add outbound URL filter to llHttpRequest() and osSetDynamicTextureURL*() script functions.
This is to address an issue where HTTP script functions could make calls to localhost and other endpoints inside the simulator's LAN.
By default, calls to all private addresses are now blocked as per http://en.wikipedia.org/wiki/Reserved_IP_addresses
If you require exceptions to this, configure [Network] OutboundDisallowForUserScriptsExcept in OpenSim.ini
2015-03-04 17:29:13 +00:00
Justin Clark-Casey (justincc) 86367d7219 refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc) fc878a33ed refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) 31c8b7fd1a Fix recent regression with llRegionSayTo() started sending messages twice.
Addresses http://opensimulator.org/mantis/view.php?id=7330
Fixed by removing chat delivery to avatar from WorldCommModule.DeliverMessageTo(), in common with existing similar methods that only handle deliver to script listeners.
Preserves fixes from http://opensimulator.org/mantis/view.php?id=5005
2014-09-26 23:35:29 +01:00
Justin Clark-Casey (justincc) 73e20b7f5f For processing outbound http requests in the XMLRPCModule, start the thread through Watchdog for monitoring and stat purposes. 2014-09-04 00:22:30 +01:00
Oren Hurvitz b01e73cf27 Dynamic textures shouldn't be saved in the assets service (only in the simulator cache) 2014-04-23 14:42:40 +01:00
Oren Hurvitz 93a9ed2a6d Changed the maximum asset name and description lengths to constants. Also, pre-truncate the description of dynamic textures. 2014-04-22 12:18:54 +03:00
Justin Clark-Casey (justincc) b2878eb773 Merge branch 'justincc-master' 2014-01-31 00:51:22 +00:00
Oren Hurvitz b8e22f02e7 Make sure Web streams are disposed after use 2014-01-31 00:44:22 +00:00
Robert Adams 13a9a4b653 varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.
Rename 'RegionWorldLocX' to 'WorldLocX' and same for Y and Z.
This keeps the downward compatibility and follows the scheme of 'region'
and 'world' location naming that is happening in the Util module.
2013-12-14 07:53:01 -08:00
Robert Adams 3193bcaae1 Merge branch 'master' into varregion 2013-11-24 07:23:12 -08:00
Justin Clark-Casey (justincc) 9f4a548a49 Fix false positive test failure in TestRepeatSameDrawContainingImageReusingTexture() and TestRepeatSameDrawContainingImage() if localhost has a webserver set up.
Use 0.0.0.0 instead of localhost
2013-11-23 01:04:31 +00:00
Robert Adams 604b39cea9 Merge branch 'master' into varregion 2013-11-15 14:56:13 -08:00
Justin Clark-Casey (justincc) 7cab41f422 refactor: replace verbose checks with String.IsNullOrEmpty where applicable.
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
2013-11-15 21:45:08 +00:00
Robert Adams 25ae59b9eb varregion: remove scattered use of Constants.RegionSize by having routines reference RegionInfo.RegionWorldLoc?. 2013-10-07 13:57:30 -07:00
Robert Adams 317c04fe17 VarRegion: change RegionInfo storage of region coordinates from region
count number to integer world coordinates.
Added new methods RegionWorldLoc[XY].
Refactored name of 'RegionLoc*' to 'LegacyRegionLoc*' throughout OpenSim.
Kept old 'RegionLoc*' entrypoint to RegionInfo for downward compatability
of external region management packages.
2013-09-28 07:33:52 -07:00
Robert Adams c67c55e0fc Better error reporting when registering LSL function extensions (comms module).
For unknown reasons, a dynamic function signature cannot have more than 5
parameters. Error message now tells you this fact so you can curse MS and
then go change your function definitions.
2013-08-08 09:45:16 -07:00
Justin Clark-Casey (justincc) 24dcf3cf6a Comment out debug log lines about script modules comms for now.
If this is an issue, could change log4net config instead to allow re-enablement
2013-08-05 20:51:40 +01:00
Justin Clark-Casey (justincc) 1b7b664c86 Add request received/handling stats for caps which are served by http poll handlers.
This adds explicit cap poll handler supporting to the Caps classes rather than relying on callers to do the complicated coding.
Other refactoring was required to get logic into the right places to support this.
2013-07-15 23:27:46 +01:00
Justin Clark-Casey (justincc) 7c2e4786ce minor: remove some regression test logging switches accidentally left uncommented. 2013-07-11 23:19:55 +01:00
Justin Clark-Casey (justincc) e15a15688b minor: Take out unnecessary clumsy sleep at the end of regression Test404Response().
This wasn't actually necessary in the end but was accidentally left in.
2013-07-11 23:11:35 +01:00
Justin Clark-Casey (justincc) 44e9849ed1 Fix regression where llHTTPRequests which did not get an OK response returned 499 and the exception message in the http_response event rather than the actual response code and body.
This was a regression since commit 831e4c3 (Thu Apr 4 00:36:15 2013)
This commit also adds a regression test for this case, though this currently only works with Mono
This aims to address http://opensimulator.org/mantis/view.php?id=6704
2013-07-11 23:02:30 +01:00
Melanie 75631e0267 Supply proper type information for the various types of requests 2013-06-07 23:55:03 +01:00
Melanie 7c0bfca7a0 Adding Avination's PollService to round out the HTTP inventory changes 2013-06-07 23:43:45 +01:00
Justin Clark-Casey (justincc) 148e46563f minor: fix mono compiler warning in ScriptsHttpRequests.cs 2013-04-10 00:07:58 +01:00
Justin Clark-Casey (justincc) f281a994e8 refactor: Simplify ScriptsHttpRequests.GetNextCompletedRequest to more simply iterate through pending requests without unnecessary checks. 2013-04-04 00:49:07 +01:00
Justin Clark-Casey (justincc) 831e4c3850 Fix bug where outstanding llHTTPRequests for scripts were not being aborted when they were deleted.
This was because AsyncCommandManager was handing an item ID to IHttpRequestModule.StopHttpRequest() rather than the expected request ID.
This commit also makes the http request asynchronous using BeginGetResponse() rather than doing this by launching a new thread
so that we can more safely abort it via HttpWebRequest.Abort() rather than aborting the thread itself.
This also renames StopHttpRequest() to StopHttpRequestsForScript() since any outstanding requests are now aborted and/or removed.
2013-04-04 00:36:15 +01:00
Kevin Cozens cbc9ae898c Added missing functionality (mainly custom headers) to llHTTPRequest. 2013-03-29 23:32:11 +00:00
Justin Clark-Casey (justincc) b7216f4daf minor: save some commented out log lines which will be useful again in future debugging of VectorRenderModule 2013-03-13 00:46:17 +00:00
Justin Clark-Casey (justincc) 59bd099b03 Add regression test for llReleaseUrl() (and for llRequestUrl)
Forgot to add file for llRequestUrl() test in commit b8a7c8b
2013-02-27 20:12:58 +00:00
Justin Clark-Casey (justincc) 80c19b7cac Make sure we dispose of WebResponse, StreamReader and Stream in various places where we were not already. 2013-02-27 00:21:02 +00:00
Justin Clark-Casey (justincc) b8a7c8b26f Add regression test for llRequestUrl() 2013-02-26 23:36:36 +00:00
teravus 71862f34b6 * Handle null check on configs in module startup so that the the code can be run on 'stop on handled and unhandled null reference exceptions' mode without pausing during startup a bunch of times. I don't think exceptions were really meant for replacing a single if statement... 2013-02-14 18:52:11 -05:00
Justin Clark-Casey (justincc) f557d7e828 Add basic JsonCreateStore() regression test 2013-01-25 01:48:31 +00:00
Talun 71f7bfc2ff Mantis 6508 llHTTPResponse body is incorrectly interpreted by IE
This patch html escapes responses going to IE so that they cannot be
interpreted as HTML if the response type is "text/plain". This has no
effect if the reponse type has been set to "text/html" by
osSetContentType

Signed-off-by: nebadon <michael@osgrid.org>
2013-01-24 14:48:20 -07:00
Diva Canto 608444c9f7 Another 21 modules' directives moved out of .addin.xml 2012-11-13 08:27:51 -08:00
Diva Canto 335ff4359c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2012-11-12 18:08:27 -08:00
Diva Canto 86903f23dd Cleanup on region modules: gave short node id's to all of them. 2012-11-12 18:08:02 -08:00
Melanie 40d5148bbc Update ScriptModuleComms name space to CoreModules 2012-11-13 01:56:32 +00:00
Diva Canto db418bff2b Fix issues with the DynamicTextureModule and corresponding unit tests. 2012-11-11 19:39:21 -08:00
Diva Canto 571f6a0300 One more module converted: XMLRPCModule. Removed it from the special loading at start. 2012-11-11 15:29:25 -08:00
Diva Canto 4de8915ddd One more module converted: VectorRenderModule. 2012-11-11 15:04:02 -08:00
Diva Canto 9f45198516 One more module: DynamicTextureModule. Removed it from the special load in the beginning. 2012-11-11 14:54:40 -08:00
Diva Canto 6759ed1013 One more module converted: LoadImageURLModule. Also removed it from its hard-coded instantiation (I think I understood what the problem was, and that I've done it right). 2012-11-11 14:46:22 -08:00
Diva Canto 963b1e861c One more module converted: ScriptsHttpRequests. 2012-11-11 14:22:06 -08:00
Diva Canto 84be90e5f8 One more module converted: EmailModule. 2012-11-11 14:00:58 -08:00
SignpostMarv d5f9f5c9c3 document, 80-character width terminal formatting converting comments to documentation for IDE & doxygen goodness
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-10 17:09:47 -08:00
SignpostMarv b3dddd7447 document & 80-character width terminal formatting
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-10 17:09:47 -08:00
SignpostMarv a87c4c7d89 Converting WorldCommModule to INonSharedRegionModule
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-10 17:09:46 -08:00
Melanie f391d028de Add a method to query all registered script constants to allow non-XEngine
script engines to use them.
2012-11-04 22:39:15 +00:00