diff options
author | Justin Clarke Casey | 2008-11-11 17:02:46 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-11-11 17:02:46 +0000 |
commit | 97816f8c901bf56e3b29bdbd5f8e320de352f45f (patch) | |
tree | 30fdd6962a11fda115da1b2cb8340a4d64b763b1 /OpenSim/Framework | |
parent | Mantis#2604. Thank you kindly, Diva for a patch that: (diff) | |
download | opensim-SC-97816f8c901bf56e3b29bdbd5f8e320de352f45f.zip opensim-SC-97816f8c901bf56e3b29bdbd5f8e320de352f45f.tar.gz opensim-SC-97816f8c901bf56e3b29bdbd5f8e320de352f45f.tar.bz2 opensim-SC-97816f8c901bf56e3b29bdbd5f8e320de352f45f.tar.xz |
* 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
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/Servers/BaseOpenSimServer.cs | 19 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/VersionInfo.cs | 22 | ||||
-rw-r--r-- | OpenSim/Framework/Util.cs | 27 |
3 files changed, 46 insertions, 22 deletions
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 | |||
428 | } | 428 | } |
429 | 429 | ||
430 | m_version += string.IsNullOrEmpty(buildVersion) ? " " : ("." + buildVersion + " ").Substring(0, 6); | 430 | m_version += string.IsNullOrEmpty(buildVersion) ? " " : ("." + buildVersion + " ").Substring(0, 6); |
431 | |||
432 | // Add operating system information if available | ||
433 | string OSString = ""; | ||
434 | |||
435 | if (System.Environment.OSVersion.Platform != PlatformID.Unix) | ||
436 | { | ||
437 | OSString = System.Environment.OSVersion.ToString(); | ||
438 | } | ||
439 | else | ||
440 | { | ||
441 | OSString = Util.ReadEtcIssue(); | ||
442 | } | ||
443 | |||
444 | if (OSString.Length > 45) | ||
445 | { | ||
446 | OSString = OSString.Substring(0, 45); | ||
447 | } | ||
448 | |||
449 | m_version += " (OS " + OSString + ")"; | ||
450 | } | 431 | } |
451 | } | 432 | } |
452 | } | 433 | } |
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 @@ | |||
27 | 27 | ||
28 | namespace OpenSim | 28 | namespace OpenSim |
29 | { | 29 | { |
30 | /// <summary> | ||
31 | /// This is the OpenSim version string. Change this if you are releasing a new OpenSim version. | ||
32 | /// </summary> | ||
33 | public class VersionInfo | 30 | public class VersionInfo |
34 | { | 31 | { |
32 | /// <value> | ||
33 | /// This is the OpenSim version string. Change this if you are releasing a new OpenSim version. | ||
34 | /// </value> | ||
35 | public readonly static string Version = "OpenSimulator Server 0.6.0"; // stay with 27 chars (used in regioninfo) | 35 | public readonly static string Version = "OpenSimulator Server 0.6.0"; // stay with 27 chars (used in regioninfo) |
36 | |||
37 | /// <value> | ||
38 | /// This is the external interface version. It is separate from the OpenSimulator project version. | ||
39 | /// | ||
40 | /// This version number should be | ||
41 | /// increased by 1 every time a code change makes the previous OpenSimulator revision incompatible | ||
42 | /// with the new revision. This will usually be due to interregion or grid facing interface changes. | ||
43 | /// | ||
44 | /// Changes which are compatible with an older revision (e.g. older revisions experience degraded functionality | ||
45 | /// but not outright failure) do not need a version number increment. | ||
46 | /// | ||
47 | /// Having this version number allows the grid service to reject connections from regions running a version | ||
48 | /// of the code that is too old. | ||
49 | /// | ||
50 | /// </value> | ||
51 | public readonly static int MajorInterfaceVersion = 0; | ||
36 | } | 52 | } |
37 | } | 53 | } |
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 | |||
799 | x += rx; | 799 | x += rx; |
800 | y += ry; | 800 | y += ry; |
801 | } | 801 | } |
802 | |||
803 | /// <summary> | ||
804 | /// Get operating system information if available. Returns only the first 45 characters of information | ||
805 | /// </summary> | ||
806 | /// <returns> | ||
807 | /// Operating system information. Returns an empty string if none was available. | ||
808 | /// </returns> | ||
809 | public static string GetOperatingSystemInformation() | ||
810 | { | ||
811 | string os = String.Empty; | ||
812 | |||
813 | if (System.Environment.OSVersion.Platform != PlatformID.Unix) | ||
814 | { | ||
815 | os = System.Environment.OSVersion.ToString(); | ||
816 | } | ||
817 | else | ||
818 | { | ||
819 | os = ReadEtcIssue(); | ||
820 | } | ||
821 | |||
822 | if (os.Length > 45) | ||
823 | { | ||
824 | os = os.Substring(0, 45); | ||
825 | } | ||
826 | |||
827 | return os; | ||
828 | } | ||
802 | 829 | ||
803 | /// <summary> | 830 | /// <summary> |
804 | /// Is the given string a UUID? | 831 | /// Is the given string a UUID? |