76 Commits

Author SHA1 Message Date
UbitUmarov
41b718626f cosmetics 2022-12-15 22:19:09 +00:00
UbitUmarov
fbbcc1edd7 == string.Empty is .Lenght == 0 2022-01-13 20:31:52 +00:00
UbitUmarov
da928d6099 != UUID.Zero is slow 2022-01-09 02:28:51 +00:00
UbitUmarov
a0e039e876 useless ms xml things 2021-12-14 16:04:45 +00:00
UbitUmarov
fb66053083 save/read some missing parcel flags on oar 2021-09-15 15:12:59 +01:00
Oren Hurvitz
521754ba84 Save a couple of estate settings in OAR files.
The settings that are saved are:
* AllowDirectTeleport - required in order to make Telehubs work
* AllowEnvironmentOverride - required in order to allow parcels to have different EEP settings from the region
2021-03-17 17:47:06 +02:00
UbitUmarov
489849ed8d SanitizeXml() save a few ns 2020-12-07 20:59:58 +00:00
UbitUmarov
221ec742bd SanitizeXml() go back to previus potencially heavy code, still needed, until a lighter method is created 2020-12-07 15:34:17 +00:00
UbitUmarov
5665bdb72d temporary(?) fix 2020-12-07 01:59:48 +00:00
UbitUmarov
1d42d8ab6e still not good, add more spaghetti 2020-06-22 18:51:10 +01:00
UbitUmarov
f3eb71113e still not good, add more spaghetti 2020-06-22 18:16:48 +01:00
UbitUmarov
8fe2cd6c46 save/load environments to/from oars 2020-06-22 15:46:39 +01:00
UbitUmarov
9ecee558b5 whatever... 2020-05-18 00:28:24 +01:00
UbitUmarov
707eb8de82 remove more xml things no longer needed on .net >4.5.2 2018-01-17 07:17:24 +00:00
UbitUmarov
029d6e40f6 remove those xml things no longer needed on .net >4.5.2 2018-01-17 04:18:43 +00:00
UbitUmarov
e908c0ecad give up on a property that old monos do compile, but then smore ok exec 2018-01-09 19:47:10 +00:00
UbitUmarov
eec3921800 fall back to a obsolete property since several monos in use (include our own) do not suporte the proper .net4.0 one 2018-01-08 12:00:21 +00:00
UbitUmarov
89a690c11f a few more xml things 2018-01-05 12:24:07 +00:00
UbitUmarov
ec6f87d3ef disable some XmlResolver 2018-01-04 23:51:43 +00:00
Melanie Thielker
b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
Oren Hurvitz
4ad1468165 Better handling of invalid XML: a) prevent infinite loop on EOF; b) better logging
If the XML was truncated for some reason then ExecuteReadProcessors() would get into an infinite loop, using high CPU. Now it detects EOF (and several other error cases) and aborts.

The rest of the changes just improve logging of XML in case of errors, so that we can see what the bad XML is.
2015-08-11 07:35:37 +01:00
Diva Canto
e5a1243abc Mantis #7657 and #7514. This should alleviate the problem of bad object assets being passed around via HG and archives. No guarantees that all the leaks have been found, but at least it detects and fixes these bad assets upon:
(1) storing and getting assets over HG -- assuming the core HG asset service is being used (not the case with OSGrid!)
(2) importing assets via OAR and IAR

Instantiation of bad assets now should also work, instead of producing an exception, but the bad assets themselves aren't being fixed in the DB. That should be done with a cleaning tool -- see Perl script in Mantis #7657.

Virus!
2015-08-01 18:58:05 -07:00
Diva Canto
1abbad71b4 Refactored some code that is used in two different dlls related to SOP rewriting. Also added some unit tests that relate to mantis #7514 2015-05-05 20:59:09 -07:00
Diva Canto
09edc9619a It wasn't that. Revert "Mantis #7514"
This reverts commit 365f46bfa9.
2015-05-02 22:15:26 -07:00
Diva Canto
365f46bfa9 Mantis #7514
Mono bug introduces double xmlns attribute names when rewriting the asset in HGAssetService, e.g.  <SceneObjectPart xmlns:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xmlns:xsd="http://www.w3.org/2001/XMLSchema">.
Solution: remove all attributes before saving.
2015-05-02 20:40:37 -07:00
Justin Clark-Casey (justincc)
1b75ec5647 Ignore whitespace when reading serialized XML objects.
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace.  This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-29 19:08:23 +01:00
Oren Hurvitz
33cc847c4a When saving an OAR in "Publish" mode, also discard Group information 2014-05-26 15:33:13 +01:00
Oren Hurvitz
89945f8829 Refactored: ExternalRepresentationUtils should be the only place where the "CreatorData" field is calculated, to ensure uniformity
Resolves http://opensimulator.org/mantis/view.php?id=6933
2014-03-24 18:00:59 +01: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
Justin Clark-Casey (justincc)
7ea832d47c 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-29 02:01:43 +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)
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)
1926de5a05 Remove some mono compiler warnings 2012-06-30 01:25:39 +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)
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)
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)
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
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
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
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
Oren Hurvitz
804fe2d9b0 Save the sun's position in OARs 2011-06-10 20:55:58 +01: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
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
Diva Canto
7d24dbca3c Added some comments. Better than listening to the boring speaker... 2010-12-01 16:01:22 -08:00