aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Scripting (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-09-30Revert "Added request.Proxy=null everywhere, as discussed in ↵Diva Canto3-9/+5
http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow." But the patch is here, in case anyone wants to try it. This reverts commit 531edd51d82ecd6a842a2611c99e9919634491ef.
2012-09-30Added request.Proxy=null everywhere, as discussed in ↵Diva Canto3-5/+9
http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow. Thanks R.Gunther (rigun@rigutech.nl) https://lists.berlios.de/pipermail/opensim-users/2012-September/010986.html
2012-09-28Lock GDI+ portion og VectorRenderModule.GetDrawStringSize() to prevent ↵Justin Clark-Casey (justincc)1-6/+11
concurrent thread use provoking mono crashes. Same rationale as commit 13690582.
2012-09-17Moving ScriptModuleComms into the CoreModules tree.Mic Bowman1-0/+367
2012-09-06Add missing DynamicTexture.cs file from last commitJustin Clark-Casey (justincc)1-0/+61
2012-09-06If reusing dynamic textures, do not reuse small data length textures that ↵Justin Clark-Casey (justincc)4-41/+125
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-06If the GetTexture capability receives a request for a range of data beyond ↵Justin Clark-Casey (justincc)2-3/+33
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-08-30Make ReuseDynamicTextures an experimental config setting in [Textures]. ↵Justin Clark-Casey (justincc)1-1/+4
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-08-30If the compile-time DynamicTextureModule.ReuseTextures flag is set, check ↵Justin Clark-Casey (justincc)1-43/+59
metadata still exists for any reused asset in case some other process has removed it from the cache.
2012-08-29This partially implements the LSL function to set the responseMic Bowman1-1/+19
type for an HTTP request. Since the "official" LSL function limits the use of the response type, it is implemented as osSetContentType with a string for the content mime type and a threat level of high. With this function you should be able to implement rather functional media-on-a-prim application with much less difficulty.
2012-08-28Add experimental DynamicTextureModule.ReuseTextures flag, currently only ↵Justin Clark-Casey (justincc)4-55/+297
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-08-28Add IDynamicTextureManager.ConvertData() to match AsyncConvertData(). ↵Justin Clark-Casey (justincc)2-6/+7
Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method.
2012-08-27minor: Simplify return of vector render module name and some very minor ↵Justin Clark-Casey (justincc)1-4/+3
removal of unncessary syntax clutter
2012-08-27Add VectorRenderModule.TestRepeatSameDrawDifferentExtraParams()Justin Clark-Casey (justincc)1-2/+32
2012-08-27Add VectorRenderModuleTests.TestRepeatDrawContainingImage()Justin Clark-Casey (justincc)1-0/+31
2012-08-27Add VectorRenderModuleTests.TestRepeatDraw()Justin Clark-Casey (justincc)1-11/+48
2012-08-22Lock disposal of separate gdi+ objects under different threads since this ↵Justin Clark-Casey (justincc)1-26/+42
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-03Fix the recent windows compile error by putting newFont for case "R" in ↵Justin Clark-Casey (justincc)1-3/+8
VectorRenderModule inside its own context, rather than disposing of the old font before using it as a prototype for the new.
2012-08-03attempting to fix a build issueSignpostMarv1-2/+2
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-08-03Properly dispose of all GDI+ entities used in VectorRenderModule for dynamic ↵Justin Clark-Casey (justincc)1-253/+316
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-02Add simple draw test for the VectorRenderModuleJustin Clark-Casey (justincc)1-0/+75
2012-06-22Resolve various race conditions between accessing and removing external ↵Justin Clark-Casey (justincc)1-132/+148
script URLs by more consistently locking on m_UrlMap
2012-06-22Avoid a race condition where an incoming request to a script external URL ↵Justin Clark-Casey (justincc)1-35/+73
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-16Change read config paramter from max_urls_per_simulator to ↵Justin Clark-Casey (justincc)1-1/+1
max_external_urls_per_simulator, which is what it was meant to be
2012-06-16Implement max_external_urls_per_simulator setting in [LL-Functions] to allow ↵Justin Clark-Casey (justincc)1-1/+8
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-15Make XMLRPCModule use an existing HTTP server if one already exists on the ↵Justin Clark-Casey (justincc)1-4/+5
desired port.
2012-05-23Fix llGetSimulatorHostname to return configured hostnameBlueWall1-0/+4
2012-05-13Modifications for SMTP in OpenSimulator. Email size limit was fixed (was out ↵Chris Koeritz1-19/+5
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-04Temporarily add debug log lines to lsl url request and releaseJustin Clark-Casey (justincc)1-0/+13
To help with http://opensimulator.org/mantis/view.php?id=5993
2012-04-23Mantis 5977 Corrections to llRegionSayToTalun1-35/+35
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-03-31Allow llRegionSayTo() to work on the PUBLIC_CHANNEL, as per ↵Justin Clark-Casey (justincc)1-1/+1
http://wiki.secondlife.com/wiki/LlRegionSayTo Addresses http://opensimulator.org/mantis/view.php?id=5950
2012-03-06Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)1-0/+20
status" command. This is for diagnostic purposes.
2012-01-14Allow SmtpClients and other SSL users to work with our cert handler installedMelanie1-9/+25
2012-01-14Register the UrlModule for script engine events OnScriptRemoved and ↵Justin Clark-Casey (justincc)1-1/+8
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-01Fix for failed http request statusBlueWall1-14/+17
Thanks "sendapatch" for fixes to llHTTPRequest status reporting.
2011-12-07Stop also adding an ordinary http handler when we set up a poll http handler.Justin Clark-Casey (justincc)1-11/+6
It appears that this is entirely unnecessary since the poll http handlers are dealt with on a separate code path.
2011-12-05Fix CHANGED_TEXTURE and CHANGED_COLOR.Melanie1-2/+2
2011-11-02Change default say distance to 20m from 30m, the same as on the big grid. ↵Justin Clark-Casey (justincc)1-1/+1
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-02Get some hopefully more useful exception information when ↵Justin Clark-Casey (justincc)2-5/+8
OpenJPEG.EncodeFromImage() fails in VectorRender and DynamicTexture modules
2011-10-25Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)1-0/+1
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-11meaningless change to goose pandaJustin Clark-Casey (justincc)1-0/+1
2011-10-10remove unused LastAssetID from DynamicTextureUpdaerJustin Clark-Casey (justincc)1-6/+4
2011-09-24Added a setting to [Startup] section of config that will allow the simulator ↵Kevin Houlihan & Michelle Argus1-3/+6
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-05Try disabling the inconsistent attachment state check to see if this ↵Justin Clark-Casey (justincc)1-1/+2
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-08-31In WorldCommModule, replace the useless Attachments == null check with ↵Justin Clark-Casey (justincc)1-2/+1
Attachments.Count == 0 instead
2011-08-31minor: seal up another instance of using the appearance list without lockingJustin Clark-Casey (justincc)1-1/+1
2011-08-31Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)1-4/+8
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-20Add avatar and attachments to llRegionSayBlueWall1-4/+67
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-19Add llRegionSayToBlueWall1-0/+21
llRegionSayTo(key target, integer channel, string messasge) Allows messages to be sent region-wide to a particular prim.
2011-05-13Fix the cert validation handler so that it will not block other parts ofMelanie1-2/+10
the server doing ssl successfully.