Fixed: hypergrid-linking stopped accepting the following format: "http://grid.example.com" (without a region name)
Fixes http://opensimulator.org/mantis/view.php?id=71280.8.0.3
							parent
							
								
									d1865c526d
								
							
						
					
					
						commit
						6efc203ce8
					
				|  | @ -200,10 +200,13 @@ namespace OpenSim.Services.GridService | ||||||
|             reason = string.Empty; |             reason = string.Empty; | ||||||
|             GridRegion regInfo = null; |             GridRegion regInfo = null; | ||||||
| 
 | 
 | ||||||
|  |             mapName = mapName.Trim(); | ||||||
|  | 
 | ||||||
|             if (!mapName.StartsWith("http")) |             if (!mapName.StartsWith("http")) | ||||||
|             { |             { | ||||||
|                 // Formats: grid.example.com:8002:region name |                 // Formats: grid.example.com:8002:region name | ||||||
|                 //          grid.example.com:region name |                 //          grid.example.com:region name | ||||||
|  |                 //          grid.example.com:8002 | ||||||
|                 //          grid.example.com |                 //          grid.example.com | ||||||
| 
 | 
 | ||||||
|                 string host; |                 string host; | ||||||
|  | @ -222,11 +225,11 @@ namespace OpenSim.Services.GridService | ||||||
|                  |                  | ||||||
|                 if (parts.Length >= 2) |                 if (parts.Length >= 2) | ||||||
|                 { |                 { | ||||||
|                     string portstr = parts[1]; |                     // If it's a number then assume it's a port. Otherwise, it's a region name. | ||||||
|                     //m_log.Debug("-- port = " + portstr); |                     if (!UInt32.TryParse(parts[1], out port)) | ||||||
|                     if (!UInt32.TryParse(portstr, out port)) |  | ||||||
|                         regionName = parts[1]; |                         regionName = parts[1]; | ||||||
|                 } |                 } | ||||||
|  | 
 | ||||||
|                 // always take the last one |                 // always take the last one | ||||||
|                 if (parts.Length >= 3) |                 if (parts.Length >= 3) | ||||||
|                 { |                 { | ||||||
|  | @ -245,21 +248,28 @@ namespace OpenSim.Services.GridService | ||||||
|             { |             { | ||||||
|                 // Formats: http://grid.example.com region name |                 // Formats: http://grid.example.com region name | ||||||
|                 //          http://grid.example.com "region name" |                 //          http://grid.example.com "region name" | ||||||
|  |                 //          http://grid.example.com | ||||||
| 
 | 
 | ||||||
|                 string regionName; |                 string serverURI; | ||||||
|  |                 string regionName = ""; | ||||||
| 
 | 
 | ||||||
|                 string[] parts = mapName.Split(new char[] { ' ' }); |                 string[] parts = mapName.Split(new char[] { ' ' }); | ||||||
| 
 | 
 | ||||||
|                 if (parts.Length < 2) |                 if (parts.Length == 0) | ||||||
|                 { |                 { | ||||||
|                     reason = "Wrong format for link-region"; |                     reason = "Wrong format for link-region"; | ||||||
|                     return null; |                     return null; | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 regionName = mapName.Substring(parts[0].Length + 1); |                 serverURI = parts[0]; | ||||||
|                 regionName = regionName.Trim(new char[] {'"'}); |  | ||||||
| 
 | 
 | ||||||
|                 if (TryCreateLink(scopeID, xloc, yloc, regionName, 0, null, parts[0], ownerID, out regInfo, out reason)) |                 if (parts.Length >= 2) | ||||||
|  |                 { | ||||||
|  |                     regionName = mapName.Substring(serverURI.Length); | ||||||
|  |                     regionName = regionName.Trim(new char[] { '"', ' ' }); | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 if (TryCreateLink(scopeID, xloc, yloc, regionName, 0, null, serverURI, ownerID, out regInfo, out reason)) | ||||||
|                 { |                 { | ||||||
|                     regInfo.RegionName = mapName;  |                     regInfo.RegionName = mapName;  | ||||||
|                     return regInfo; |                     return regInfo; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Oren Hurvitz
						Oren Hurvitz