catch exceptions when loading malformed xml files
							parent
							
								
									c5ddbd3254
								
							
						
					
					
						commit
						946db5461c
					
				|  | @ -2,6 +2,7 @@ using System; | |||
| using System.Collections.Generic; | ||||
| using System.IO; | ||||
| using System.Threading; | ||||
| using System.Xml; | ||||
| using libsecondlife; | ||||
| using Nini.Config; | ||||
| using OpenSim.Framework.Console; | ||||
|  | @ -147,6 +148,8 @@ namespace OpenSim.Framework.Communications.Cache | |||
|             // System.Console.WriteLine("trying loading asset into database"); | ||||
|             string filePath = Path.Combine(Util.configDir(), "OpenSimAssetSet.xml"); | ||||
|             if (File.Exists(filePath)) | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     XmlConfigSource source = new XmlConfigSource(filePath); | ||||
| 
 | ||||
|  | @ -166,6 +169,11 @@ namespace OpenSim.Framework.Communications.Cache | |||
|                         assets.Add(newAsset); | ||||
|                     } | ||||
|                 } | ||||
|                 catch (XmlException e) | ||||
|                 { | ||||
|                     MainLog.Instance.Error("ASSETS", "Error loading " + filePath + ": " + e.ToString()); | ||||
|                 } | ||||
|             } | ||||
|             assets.ForEach(action); | ||||
|         } | ||||
|     } | ||||
|  |  | |||
|  | @ -27,8 +27,10 @@ | |||
| */ | ||||
| 
 | ||||
| using System.IO; | ||||
| using System.Xml; | ||||
| using libsecondlife; | ||||
| using Nini.Config; | ||||
| using OpenSim.Framework.Console; | ||||
| 
 | ||||
| namespace OpenSim.Framework.Communications.Cache | ||||
| { | ||||
|  | @ -64,10 +66,17 @@ namespace OpenSim.Framework.Communications.Cache | |||
| 
 | ||||
|             string filePath = Path.Combine(Util.configDir(), "OpenSimLibrary.xml"); | ||||
|             if (File.Exists(filePath)) | ||||
|             { | ||||
|                 try  | ||||
|                 { | ||||
|                     XmlConfigSource source = new XmlConfigSource(filePath); | ||||
|                     ReadItemsFromFile(source); | ||||
|                 } | ||||
|                 catch (XmlException e) | ||||
|                 { | ||||
|                     MainLog.Instance.Error("INVENTORY", "Error loading " + filePath + ": " + e.ToString()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private void CreateLibraryItems() | ||||
|  |  | |||
|  | @ -166,9 +166,17 @@ namespace OpenSim.Framework | |||
|             if (configurationFilename.Trim() != "") | ||||
|             { | ||||
|                 configurationPlugin.SetFileName(configurationFilename); | ||||
|                 try | ||||
|                 { | ||||
|                     configurationPlugin.LoadData(); | ||||
|                     useFile = true; | ||||
|                 } | ||||
|                 catch (XmlException e) | ||||
|                 { | ||||
|                     MainLog.Instance.Error("Error loading " + configurationFilename + ": " + e.ToString()); | ||||
|                     useFile = false; | ||||
|                 } | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 if (this.configurationFromXMLNode != null) | ||||
|  | @ -189,7 +197,6 @@ namespace OpenSim.Framework | |||
|                 bool ignoreNextFromConfig = false; | ||||
|                 while (convertSuccess == false) | ||||
|                 { | ||||
|                      | ||||
|                     string console_result = ""; | ||||
|                     string attribute = null; | ||||
|                     if (useFile || (!useFile && configurationFromXMLNode != null)) | ||||
|  | @ -228,7 +235,6 @@ namespace OpenSim.Framework | |||
|                                 //Dont Ask! Just use default | ||||
|                                 console_result = configOption.configurationDefault; | ||||
|                             } | ||||
| 
 | ||||
|                         }                         | ||||
|                     } | ||||
|                     else | ||||
|  | @ -292,7 +298,6 @@ namespace OpenSim.Framework | |||
|                             { | ||||
|                                 convertSuccess = true; | ||||
|                                 return_result = intResult; | ||||
| 
 | ||||
|                             } | ||||
|                             errorMessage = "a signed 32 bit integer (int)"; | ||||
|                             break; | ||||
|  | @ -347,7 +352,6 @@ namespace OpenSim.Framework | |||
|                             { | ||||
|                                 convertSuccess = true; | ||||
|                                 return_result = uintResult; | ||||
|                                  | ||||
|                             } | ||||
|                             errorMessage = "an unsigned 32 bit integer (uint)"; | ||||
|                             break; | ||||
|  | @ -387,7 +391,6 @@ namespace OpenSim.Framework | |||
|                             configurationPlugin.SetAttribute(configOption.configurationKey, console_result); | ||||
|                         } | ||||
| 
 | ||||
| 
 | ||||
|                         if (!this.resultFunction(configOption.configurationKey, return_result)) | ||||
|                         { | ||||
|                             Console.MainLog.Instance.Notice("The handler for the last configuration option denied that input, please try again."); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Jeff Ames
						Jeff Ames