From 339e252ccef175968f4b4b10eb70ca3da4552d55 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Sat, 17 Oct 2015 19:29:20 -0700
Subject: The protocol version checking on the grid server connector seemed to
 have a bug. I think I fixed it.

---
 OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

(limited to 'OpenSim/Server')

diff --git a/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs b/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs
index 849fa94..86fda36 100644
--- a/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs
+++ b/OpenSim/Server/Handlers/Grid/GridServerPostHandler.cs
@@ -159,7 +159,24 @@ namespace OpenSim.Server.Handlers.Grid
                 m_log.WarnFormat("[GRID HANDLER]: no maximum protocol version in request to register region");
 
             // Check the protocol version
-            if ((versionNumberMin > ProtocolVersions.ServerProtocolVersionMax && versionNumberMax < ProtocolVersions.ServerProtocolVersionMax))
+            // This is how it works:
+            // Example 1:
+            //   Client: [0 0]
+            //   Server:       [1 1]
+            //   ==> fail
+            // Example 2:
+            //   Client:       [1 1]
+            //   Server: [0 0]
+            //   ==> fail
+            // Example 3:
+            //   Client: [0 1]
+            //   Server:   [1 1]
+            //   ==> success
+            // Example 4:
+            //   Client:   [1 1]
+            //   Server: [0 1]
+            //   ==> success
+            if ((versionNumberMin > ProtocolVersions.ServerProtocolVersionMax || versionNumberMax < ProtocolVersions.ServerProtocolVersionMin))
             {
                 // Can't do, there is no overlap in the acceptable ranges
                 return FailureResult();
-- 
cgit v1.1