aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-11-25 15:19:00 +0000
committerJustin Clarke Casey2008-11-25 15:19:00 +0000
commite187972377c19bdd85093677c4c54034e4f9196e (patch)
treecc1bb5f003628b018b823eafc9ee0a67f98df31c /OpenSim/Framework
parent* Adding some virtual hooks and making some privaets protected for great just... (diff)
downloadopensim-SC_OLD-e187972377c19bdd85093677c4c54034e4f9196e.zip
opensim-SC_OLD-e187972377c19bdd85093677c4c54034e4f9196e.tar.gz
opensim-SC_OLD-e187972377c19bdd85093677c4c54034e4f9196e.tar.bz2
opensim-SC_OLD-e187972377c19bdd85093677c4c54034e4f9196e.tar.xz
* Apply http://opensimulator.org/mantis/view.php?id=2640
* This is Diva's hypergrid patch, as perviously discussed on the opensim-dev mailing list * Applied some minor prebuild.xml jiggling to resolve a dependency issue * Thanks Diva!
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Communications/IHyperlink.cs42
-rw-r--r--OpenSim/Framework/ForeignUserProfileData.cs80
-rw-r--r--OpenSim/Framework/HGNetworkServersInfo.cs90
3 files changed, 212 insertions, 0 deletions
diff --git a/OpenSim/Framework/Communications/IHyperlink.cs b/OpenSim/Framework/Communications/IHyperlink.cs
new file mode 100644
index 0000000..77815f1
--- /dev/null
+++ b/OpenSim/Framework/Communications/IHyperlink.cs
@@ -0,0 +1,42 @@
1/**
2 * Copyright (c) 2008, Contributors. All rights reserved.
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * * Neither the name of the Organizations nor the names of Individual
14 * Contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
20 * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25 * OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 */
28using System;
29using System.Collections.Generic;
30using System.Text;
31
32using OpenSim.Framework;
33
34namespace OpenSim.Framework.Communications
35{
36 public interface IHyperlink
37 {
38 bool IsHyperlinkRegion(ulong handle);
39 RegionInfo GetHyperlinkRegion(ulong handle);
40 ulong FindRegionHandle(ulong handle);
41 }
42}
diff --git a/OpenSim/Framework/ForeignUserProfileData.cs b/OpenSim/Framework/ForeignUserProfileData.cs
new file mode 100644
index 0000000..bcb4243
--- /dev/null
+++ b/OpenSim/Framework/ForeignUserProfileData.cs
@@ -0,0 +1,80 @@
1/**
2 * Copyright (c) 2008, Contributors. All rights reserved.
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * * Neither the name of the Organizations nor the names of Individual
14 * Contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
20 * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25 * OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 */
28
29using System;
30
31using OpenSim.Framework;
32
33namespace OpenSim.Framework
34{
35 public class ForeignUserProfileData : UserProfileData
36 {
37 /// <summary>
38 /// The address of the users home sim, used for foreigners.
39 /// </summary>
40 private string _userUserServerURI = String.Empty;
41
42 /// <summary>
43 /// The address of the users home sim, used for foreigners.
44 /// </summary>
45 private string _userHomeAddress = String.Empty;
46
47 /// <summary>
48 /// The port of the users home sim, used for foreigners.
49 /// </summary>
50 private string _userHomePort = String.Empty;
51 /// <summary>
52 /// The remoting port of the users home sim, used for foreigners.
53 /// </summary>
54 private string _userHomeRemotingPort = String.Empty;
55
56 public string UserServerURI
57 {
58 get { return _userUserServerURI; }
59 set { _userUserServerURI = value; }
60 }
61
62 public string UserHomeAddress
63 {
64 get { return _userHomeAddress; }
65 set { _userHomeAddress = value; }
66 }
67
68 public string UserHomePort
69 {
70 get { return _userHomePort; }
71 set { _userHomePort = value; }
72 }
73
74 public string UserHomeRemotingPort
75 {
76 get { return _userHomeRemotingPort; }
77 set { _userHomeRemotingPort = value; }
78 }
79 }
80}
diff --git a/OpenSim/Framework/HGNetworkServersInfo.cs b/OpenSim/Framework/HGNetworkServersInfo.cs
new file mode 100644
index 0000000..5b19801
--- /dev/null
+++ b/OpenSim/Framework/HGNetworkServersInfo.cs
@@ -0,0 +1,90 @@
1/**
2 * Copyright (c) 2008, Contributors. All rights reserved.
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * * Neither the name of the Organizations nor the names of Individual
14 * Contributors may be used to endorse or promote products derived from
15 * this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
20 * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25 * OF THE POSSIBILITY OF SUCH DAMAGE.
26 *
27 */
28
29using System;
30using System.Collections.Generic;
31using System.Net;
32
33using OpenSim.Framework;
34
35namespace OpenSim.Framework
36{
37 public class HGNetworkServersInfo
38 {
39
40 public readonly string LocalAssetServerURI, LocalInventoryServerURI, LocalUserServerURI;
41
42 private static HGNetworkServersInfo m_singleton;
43 public static HGNetworkServersInfo Singleton
44 {
45 get { return m_singleton; }
46 }
47
48 public static void Init(string assetserver, string inventoryserver, string userserver)
49 {
50 m_singleton = new HGNetworkServersInfo(assetserver, inventoryserver, userserver);
51
52 }
53
54 private HGNetworkServersInfo(string a, string i, string u)
55 {
56 LocalAssetServerURI = ServerURI(a);
57 LocalInventoryServerURI = ServerURI(i);
58 LocalUserServerURI = ServerURI(u);
59 }
60
61 public bool IsLocalUser(string userserver)
62 {
63 string userServerURI = ServerURI(userserver);
64 bool ret = (((userServerURI == null) || (userServerURI == "") || (userServerURI == LocalUserServerURI)));
65 //Console.WriteLine("-------------> HGNetworkServersInfo.IsLocalUser? " + ret + "(userServer=" + userServerURI + "; localuserserver=" + LocalUserServerURI + ")");
66 return ret;
67 }
68
69 public static string ServerURI(string uri)
70 {
71 IPAddress ipaddr1 = null;
72 string port1 = "";
73 try
74 {
75 ipaddr1 = Util.GetHostFromURL(uri);
76 }
77 catch { }
78
79 try
80 {
81 port1 = uri.Split(new char[] { ':' })[2];
82 }
83 catch { }
84
85 // We tried our best to convert the domain names to IP addresses
86 return (ipaddr1 != null) ? "http://" + ipaddr1.ToString() + ":" + port1 : uri;
87 }
88
89 }
90}