From 97816f8c901bf56e3b29bdbd5f8e320de352f45f Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Tue, 11 Nov 2008 17:02:46 +0000
Subject: * Implement basic region filtering as described in
https://lists.berlios.de/pipermail/opensim-dev/2008-November/003468.html *
This is done by sending a 'major interface version' number on sim
registration. Developers must increment this every time they make a change
that would make the previous OpenSim revision failure incompatible with the
new one (non-fatal incompatibilities are fine). * This number resides in
OpenSim.Framework.Servers.VersionInfo.MajorInterfaceVersion * This allows the
grid service to stop older, incompatible regions from connecting
---
OpenSim/Framework/Servers/BaseOpenSimServer.cs | 19 ------------------
OpenSim/Framework/Servers/VersionInfo.cs | 22 ++++++++++++++++++---
OpenSim/Framework/Util.cs | 27 ++++++++++++++++++++++++++
3 files changed, 46 insertions(+), 22 deletions(-)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
index 36f8d2e..aa93f6e 100644
--- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs
+++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
@@ -428,25 +428,6 @@ namespace OpenSim.Framework.Servers
}
m_version += string.IsNullOrEmpty(buildVersion) ? " " : ("." + buildVersion + " ").Substring(0, 6);
-
- // Add operating system information if available
- string OSString = "";
-
- if (System.Environment.OSVersion.Platform != PlatformID.Unix)
- {
- OSString = System.Environment.OSVersion.ToString();
- }
- else
- {
- OSString = Util.ReadEtcIssue();
- }
-
- if (OSString.Length > 45)
- {
- OSString = OSString.Substring(0, 45);
- }
-
- m_version += " (OS " + OSString + ")";
}
}
}
diff --git a/OpenSim/Framework/Servers/VersionInfo.cs b/OpenSim/Framework/Servers/VersionInfo.cs
index 8f84859..c6a43ec 100644
--- a/OpenSim/Framework/Servers/VersionInfo.cs
+++ b/OpenSim/Framework/Servers/VersionInfo.cs
@@ -27,11 +27,27 @@
namespace OpenSim
{
- ///
- /// This is the OpenSim version string. Change this if you are releasing a new OpenSim version.
- ///
public class VersionInfo
{
+ ///
+ /// This is the OpenSim version string. Change this if you are releasing a new OpenSim version.
+ ///
public readonly static string Version = "OpenSimulator Server 0.6.0"; // stay with 27 chars (used in regioninfo)
+
+ ///
+ /// This is the external interface version. It is separate from the OpenSimulator project version.
+ ///
+ /// This version number should be
+ /// increased by 1 every time a code change makes the previous OpenSimulator revision incompatible
+ /// with the new revision. This will usually be due to interregion or grid facing interface changes.
+ ///
+ /// Changes which are compatible with an older revision (e.g. older revisions experience degraded functionality
+ /// but not outright failure) do not need a version number increment.
+ ///
+ /// Having this version number allows the grid service to reject connections from regions running a version
+ /// of the code that is too old.
+ ///
+ ///
+ public readonly static int MajorInterfaceVersion = 0;
}
}
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 7caa414..f72797f 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -799,6 +799,33 @@ namespace OpenSim.Framework
x += rx;
y += ry;
}
+
+ ///
+ /// Get operating system information if available. Returns only the first 45 characters of information
+ ///
+ ///
+ /// Operating system information. Returns an empty string if none was available.
+ ///
+ public static string GetOperatingSystemInformation()
+ {
+ string os = String.Empty;
+
+ if (System.Environment.OSVersion.Platform != PlatformID.Unix)
+ {
+ os = System.Environment.OSVersion.ToString();
+ }
+ else
+ {
+ os = ReadEtcIssue();
+ }
+
+ if (os.Length > 45)
+ {
+ os = os.Substring(0, 45);
+ }
+
+ return os;
+ }
///
/// Is the given string a UUID?
--
cgit v1.1