From 0cb33a539812c69a6686c1b028318601793051a8 Mon Sep 17 00:00:00 2001
From: Dan Lake
Date: Wed, 23 Nov 2011 16:09:11 -0800
Subject: Line endings

---
 .../World/AutoBackup/AutoBackupModuleState.cs      | 202 ++++++++++-----------
 1 file changed, 101 insertions(+), 101 deletions(-)

diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs
index 2db718c..f9e118b 100644
--- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs
+++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModuleState.cs
@@ -23,104 +23,104 @@
  * 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;
-
-
-namespace OpenSim.Region.OptionalModules.World.AutoBackup
-{
-    /// <summary>AutoBackupModuleState: Auto-Backup state for one region (scene).
-    /// If you use this class in any way outside of AutoBackupModule, you should treat the class as opaque.
-    /// Since it is not part of the framework, you really should not rely upon it outside of the AutoBackupModule implementation.
-    /// </summary>
-    /// 
-    public class AutoBackupModuleState
-    {
-        private Dictionary<Guid, string> m_liveRequests = null;
-
-        public AutoBackupModuleState()
-        {
-            this.Enabled = false;
-            this.BackupDir = ".";
-            this.BusyCheck = true;
-            this.Timer = null;
-            this.NamingType = NamingType.Time;
-            this.Script = null;
-        }
-
-        public Dictionary<Guid, string> LiveRequests
-        {
-            get {
-                return this.m_liveRequests ??
-                       (this.m_liveRequests = new Dictionary<Guid, string>(1));
-            }
-        }
-
-        public bool Enabled
-        {
-            get;
-            set;
-        }
-
-        public System.Timers.Timer Timer
-        {
-            get;
-            set;
-        }
-
-        public double IntervalMinutes
-        {
-            get
-            {
-                if (this.Timer == null)
-                {
-                    return -1.0;
-                }
-                else
-                {
-                    return this.Timer.Interval / 60000.0;
-                }
-            }
-        }
-
-        public bool BusyCheck
-        {
-            get;
-            set;
-        }
-
-        public string Script
-        {
-            get;
-            set;
-        }
-
-        public string BackupDir
-        {
-            get;
-            set;
-        }
-
-        public NamingType NamingType
-        {
-            get;
-            set;
-        }
-
-        public new string ToString()
-        {
-            string retval = "";
-
-            retval += "[AUTO BACKUP]: AutoBackup: " + (Enabled ? "ENABLED" : "DISABLED") + "\n";
-            retval += "[AUTO BACKUP]: Interval: " + IntervalMinutes + " minutes" + "\n";
-            retval += "[AUTO BACKUP]: Do Busy Check: " + (BusyCheck ? "Yes" : "No") + "\n";
-            retval += "[AUTO BACKUP]: Naming Type: " + NamingType.ToString() + "\n";
-            retval += "[AUTO BACKUP]: Backup Dir: " + BackupDir + "\n";
-            retval += "[AUTO BACKUP]: Script: " + Script + "\n";
-            return retval;
-        }
-    }
-}
-
+ */
+
+using System;
+using System.Collections.Generic;
+
+
+namespace OpenSim.Region.OptionalModules.World.AutoBackup
+{
+    /// <summary>AutoBackupModuleState: Auto-Backup state for one region (scene).
+    /// If you use this class in any way outside of AutoBackupModule, you should treat the class as opaque.
+    /// Since it is not part of the framework, you really should not rely upon it outside of the AutoBackupModule implementation.
+    /// </summary>
+    /// 
+    public class AutoBackupModuleState
+    {
+        private Dictionary<Guid, string> m_liveRequests = null;
+
+        public AutoBackupModuleState()
+        {
+            this.Enabled = false;
+            this.BackupDir = ".";
+            this.BusyCheck = true;
+            this.Timer = null;
+            this.NamingType = NamingType.Time;
+            this.Script = null;
+        }
+
+        public Dictionary<Guid, string> LiveRequests
+        {
+            get {
+                return this.m_liveRequests ??
+                       (this.m_liveRequests = new Dictionary<Guid, string>(1));
+            }
+        }
+
+        public bool Enabled
+        {
+            get;
+            set;
+        }
+
+        public System.Timers.Timer Timer
+        {
+            get;
+            set;
+        }
+
+        public double IntervalMinutes
+        {
+            get
+            {
+                if (this.Timer == null)
+                {
+                    return -1.0;
+                }
+                else
+                {
+                    return this.Timer.Interval / 60000.0;
+                }
+            }
+        }
+
+        public bool BusyCheck
+        {
+            get;
+            set;
+        }
+
+        public string Script
+        {
+            get;
+            set;
+        }
+
+        public string BackupDir
+        {
+            get;
+            set;
+        }
+
+        public NamingType NamingType
+        {
+            get;
+            set;
+        }
+
+        public new string ToString()
+        {
+            string retval = "";
+
+            retval += "[AUTO BACKUP]: AutoBackup: " + (Enabled ? "ENABLED" : "DISABLED") + "\n";
+            retval += "[AUTO BACKUP]: Interval: " + IntervalMinutes + " minutes" + "\n";
+            retval += "[AUTO BACKUP]: Do Busy Check: " + (BusyCheck ? "Yes" : "No") + "\n";
+            retval += "[AUTO BACKUP]: Naming Type: " + NamingType.ToString() + "\n";
+            retval += "[AUTO BACKUP]: Backup Dir: " + BackupDir + "\n";
+            retval += "[AUTO BACKUP]: Script: " + Script + "\n";
+            return retval;
+        }
+    }
+}
+
-- 
cgit v1.1


From 89b2fb2ff491b97cdfa17b9b8a596dea77567b76 Mon Sep 17 00:00:00 2001
From: Dan Lake
Date: Wed, 23 Nov 2011 16:41:30 -0800
Subject: Append asset ID to URL for storage requests to allow caching proxies
 to work with Simian

---
 OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
index d8089ac..9573e21 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
@@ -334,7 +334,9 @@ namespace OpenSim.Services.Connectors.SimianGrid
             // Make the remote storage request
             try
             {
-                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(m_serverUrl);
+                // Simian does not require the asset ID to be in the URL because it's in the post data.
+                // By appending it to the URL also, we allow caching proxies (squid) to invalidate asset URLs
+                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(m_serverUrl + asset.FullID.ToString());
                 
                 HttpWebResponse response = MultipartForm.Post(request, postParameters);
                 using (Stream responseStream = response.GetResponseStream())
-- 
cgit v1.1