aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Connectors/SimianGrid
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services/Connectors/SimianGrid')
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs31
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs27
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs31
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs27
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianGrid.cs16
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs27
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs41
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs27
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs31
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs29
10 files changed, 171 insertions, 116 deletions
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
index 3f00534..1c22a72 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs
@@ -85,24 +85,27 @@ namespace OpenSim.Services.Connectors.SimianGrid
85 85
86 public void Initialise(IConfigSource source) 86 public void Initialise(IConfigSource source)
87 { 87 {
88 IConfig gridConfig = source.Configs["AssetService"]; 88 if (Simian.IsSimianEnabled(source, "AssetServices"))
89 if (gridConfig == null)
90 { 89 {
91 m_log.Error("[ASSET CONNECTOR]: AssetService missing from OpenSim.ini"); 90 IConfig gridConfig = source.Configs["AssetService"];
92 throw new Exception("Asset connector init error"); 91 if (gridConfig == null)
93 } 92 {
93 m_log.Error("[ASSET CONNECTOR]: AssetService missing from OpenSim.ini");
94 throw new Exception("Asset connector init error");
95 }
94 96
95 string serviceUrl = gridConfig.GetString("AssetServerURI"); 97 string serviceUrl = gridConfig.GetString("AssetServerURI");
96 if (String.IsNullOrEmpty(serviceUrl)) 98 if (String.IsNullOrEmpty(serviceUrl))
97 { 99 {
98 m_log.Info("[ASSET CONNECTOR]: No AssetServerURI in section AssetService, skipping SimianAssetServiceConnector"); 100 m_log.Error("[ASSET CONNECTOR]: No AssetServerURI in section AssetService");
99 return; 101 throw new Exception("Asset connector init error");
100 } 102 }
101 103
102 if (!serviceUrl.EndsWith("/")) 104 if (!serviceUrl.EndsWith("/") && !serviceUrl.EndsWith("="))
103 serviceUrl = serviceUrl + '/'; 105 serviceUrl = serviceUrl + '/';
104 106
105 m_serverUrl = serviceUrl; 107 m_serverUrl = serviceUrl;
108 }
106 } 109 }
107 110
108 #region IAssetService 111 #region IAssetService
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs
index 0876efb..6317b87 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs
@@ -73,21 +73,24 @@ namespace OpenSim.Services.Connectors.SimianGrid
73 73
74 public void Initialise(IConfigSource source) 74 public void Initialise(IConfigSource source)
75 { 75 {
76 IConfig assetConfig = source.Configs["AuthenticationService"]; 76 if (Simian.IsSimianEnabled(source, "AuthenticationServices"))
77 if (assetConfig == null)
78 { 77 {
79 m_log.Error("[AUTH CONNECTOR]: AuthenticationService missing from OpenSim.ini"); 78 IConfig assetConfig = source.Configs["AuthenticationService"];
80 throw new Exception("Authentication connector init error"); 79 if (assetConfig == null)
81 } 80 {
81 m_log.Error("[AUTH CONNECTOR]: AuthenticationService missing from OpenSim.ini");
82 throw new Exception("Authentication connector init error");
83 }
82 84
83 string serviceURI = assetConfig.GetString("AuthenticationServerURI"); 85 string serviceURI = assetConfig.GetString("AuthenticationServerURI");
84 if (String.IsNullOrEmpty(serviceURI)) 86 if (String.IsNullOrEmpty(serviceURI))
85 { 87 {
86 m_log.Info("[AUTH CONNECTOR]: No Server URI named in section AuthenticationService, skipping SimianAuthenticationServiceConnector"); 88 m_log.Error("[AUTH CONNECTOR]: No Server URI named in section AuthenticationService");
87 return; 89 throw new Exception("Authentication connector init error");
88 } 90 }
89 91
90 m_serverUrl = serviceURI; 92 m_serverUrl = serviceURI;
93 }
91 } 94 }
92 95
93 public string Authenticate(UUID principalID, string password, int lifetime) 96 public string Authenticate(UUID principalID, string password, int lifetime)
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs
index 697bb43..a18cb22 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs
@@ -78,24 +78,27 @@ namespace OpenSim.Services.Connectors.SimianGrid
78 78
79 public void Initialise(IConfigSource source) 79 public void Initialise(IConfigSource source)
80 { 80 {
81 IConfig gridConfig = source.Configs["AvatarService"]; 81 if (Simian.IsSimianEnabled(source, "AvatarServices"))
82 if (gridConfig == null)
83 { 82 {
84 m_log.Error("[AVATAR CONNECTOR]: AvatarService missing from OpenSim.ini"); 83 IConfig gridConfig = source.Configs["AvatarService"];
85 throw new Exception("Avatar connector init error"); 84 if (gridConfig == null)
86 } 85 {
86 m_log.Error("[AVATAR CONNECTOR]: AvatarService missing from OpenSim.ini");
87 throw new Exception("Avatar connector init error");
88 }
87 89
88 string serviceUrl = gridConfig.GetString("AvatarServerURI"); 90 string serviceUrl = gridConfig.GetString("AvatarServerURI");
89 if (String.IsNullOrEmpty(serviceUrl)) 91 if (String.IsNullOrEmpty(serviceUrl))
90 { 92 {
91 m_log.Info("[AVATAR CONNECTOR]: No AvatarServerURI in section AvatarService, skipping SimianAvatarServiceConnector"); 93 m_log.Error("[AVATAR CONNECTOR]: No AvatarServerURI in section AvatarService");
92 return; 94 throw new Exception("Avatar connector init error");
93 } 95 }
94 96
95 if (!serviceUrl.EndsWith("/")) 97 if (!serviceUrl.EndsWith("/"))
96 serviceUrl = serviceUrl + '/'; 98 serviceUrl = serviceUrl + '/';
97 99
98 m_serverUrl = serviceUrl; 100 m_serverUrl = serviceUrl;
101 }
99 } 102 }
100 103
101 #region IAvatarService 104 #region IAvatarService
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs
index abb98a3..b3ecc7e 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianFriendsServiceConnector.cs
@@ -76,21 +76,24 @@ namespace OpenSim.Services.Connectors.SimianGrid
76 76
77 public void Initialise(IConfigSource source) 77 public void Initialise(IConfigSource source)
78 { 78 {
79 IConfig assetConfig = source.Configs["FriendsService"]; 79 if (Simian.IsSimianEnabled(source, "FriendsServices"))
80 if (assetConfig == null)
81 { 80 {
82 m_log.Error("[FRIENDS CONNECTOR]: FriendsService missing from OpenSim.ini"); 81 IConfig assetConfig = source.Configs["FriendsService"];
83 throw new Exception("Friends connector init error"); 82 if (assetConfig == null)
84 } 83 {
84 m_log.Error("[FRIENDS CONNECTOR]: FriendsService missing from OpenSim.ini");
85 throw new Exception("Friends connector init error");
86 }
85 87
86 string serviceURI = assetConfig.GetString("FriendsServerURI"); 88 string serviceURI = assetConfig.GetString("FriendsServerURI");
87 if (String.IsNullOrEmpty(serviceURI)) 89 if (String.IsNullOrEmpty(serviceURI))
88 { 90 {
89 m_log.Info("[FRIENDS CONNECTOR]: No Server URI named in section FriendsService, skipping SimianFriendsServiceConnector"); 91 m_log.Error("[FRIENDS CONNECTOR]: No Server URI named in section FriendsService");
90 return; 92 throw new Exception("Friends connector init error");
91 } 93 }
92 94
93 m_serverUrl = serviceURI; 95 m_serverUrl = serviceURI;
96 }
94 } 97 }
95 98
96 #region IFriendsService 99 #region IFriendsService
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianGrid.cs b/OpenSim/Services/Connectors/SimianGrid/SimianGrid.cs
index 41ed2f1..c3de98e 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianGrid.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianGrid.cs
@@ -25,7 +25,23 @@
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System;
28using Mono.Addins; 29using Mono.Addins;
30using Nini.Config;
29 31
30[assembly: Addin("SimianGrid", "1.0")] 32[assembly: Addin("SimianGrid", "1.0")]
31[assembly: AddinDependency("OpenSim", "0.5")] 33[assembly: AddinDependency("OpenSim", "0.5")]
34
35public static class Simian
36{
37 public static bool IsSimianEnabled(IConfigSource config, string moduleName)
38 {
39 if (config.Configs["Modules"] != null)
40 {
41 string module = config.Configs["Modules"].GetString("AuthenticationServices");
42 return !String.IsNullOrEmpty(module) && module.Contains("Simian");
43 }
44
45 return false;
46 }
47} \ No newline at end of file
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs
index ef943ec..eebdf14 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs
@@ -80,21 +80,24 @@ namespace OpenSim.Services.Connectors.SimianGrid
80 80
81 public void Initialise(IConfigSource source) 81 public void Initialise(IConfigSource source)
82 { 82 {
83 IConfig gridConfig = source.Configs["GridService"]; 83 if (Simian.IsSimianEnabled(source, "GridServices"))
84 if (gridConfig == null)
85 { 84 {
86 m_log.Error("[GRID CONNECTOR]: GridService missing from OpenSim.ini"); 85 IConfig gridConfig = source.Configs["GridService"];
87 throw new Exception("Grid connector init error"); 86 if (gridConfig == null)
88 } 87 {
88 m_log.Error("[GRID CONNECTOR]: GridService missing from OpenSim.ini");
89 throw new Exception("Grid connector init error");
90 }
89 91
90 string serviceUrl = gridConfig.GetString("GridServerURI"); 92 string serviceUrl = gridConfig.GetString("GridServerURI");
91 if (String.IsNullOrEmpty(serviceUrl)) 93 if (String.IsNullOrEmpty(serviceUrl))
92 { 94 {
93 m_log.Info("[GRID CONNECTOR]: No Server URI named in section GridService, skipping SimianGridServiceConnector"); 95 m_log.Error("[GRID CONNECTOR]: No Server URI named in section GridService");
94 return; 96 throw new Exception("Grid connector init error");
95 } 97 }
96 98
97 m_serverUrl = serviceUrl; 99 m_serverUrl = serviceUrl;
100 }
98 } 101 }
99 102
100 #region IGridService 103 #region IGridService
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
index a41e493..891782f 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
@@ -92,23 +92,38 @@ namespace OpenSim.Services.Connectors.SimianGrid
92 92
93 public void Initialise(IConfigSource source) 93 public void Initialise(IConfigSource source)
94 { 94 {
95 IConfig gridConfig = source.Configs["InventoryService"]; 95 if (Simian.IsSimianEnabled(source, "InventoryServices"))
96 if (gridConfig == null)
97 { 96 {
98 m_log.Error("[INVENTORY CONNECTOR]: InventoryService missing from OpenSim.ini"); 97 IConfig gridConfig = source.Configs["InventoryService"];
99 throw new Exception("Inventory connector init error"); 98 if (gridConfig == null)
100 } 99 {
100 m_log.Error("[INVENTORY CONNECTOR]: InventoryService missing from OpenSim.ini");
101 throw new Exception("Inventory connector init error");
102 }
101 103
102 string serviceUrl = gridConfig.GetString("InventoryServerURI"); 104 string serviceUrl = gridConfig.GetString("InventoryServerURI");
103 if (String.IsNullOrEmpty(serviceUrl)) 105 if (String.IsNullOrEmpty(serviceUrl))
104 { 106 {
105 m_log.Info("[INVENTORY CONNECTOR]: No Server URI named in section InventoryService, skipping SimianInventoryServiceConnector"); 107 m_log.Error("[INVENTORY CONNECTOR]: No Server URI named in section InventoryService");
106 return; 108 throw new Exception("Inventory connector init error");
107 } 109 }
108 110
109 // FIXME: Get the user server URL too 111 m_serverUrl = serviceUrl;
110 112
111 m_serverUrl = serviceUrl; 113 gridConfig = source.Configs["UserAccountService"];
114 if (gridConfig != null)
115 {
116 serviceUrl = gridConfig.GetString("UserAccountServerURI");
117 if (!String.IsNullOrEmpty(serviceUrl))
118 m_userServerUrl = serviceUrl;
119 else
120 m_log.Info("[INVENTORY CONNECTOR]: No Server URI named in section UserAccountService");
121 }
122 else
123 {
124 m_log.Warn("[INVENTORY CONNECTOR]: UserAccountService missing from OpenSim.ini");
125 }
126 }
112 } 127 }
113 128
114 /// <summary> 129 /// <summary>
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
index fa387ba..1b5edf4 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
@@ -104,21 +104,24 @@ namespace OpenSim.Services.Connectors.SimianGrid
104 104
105 public void Initialise(IConfigSource source) 105 public void Initialise(IConfigSource source)
106 { 106 {
107 IConfig gridConfig = source.Configs["PresenceService"]; 107 if (Simian.IsSimianEnabled(source, "PresenceServices"))
108 if (gridConfig == null)
109 { 108 {
110 m_log.Error("[PRESENCE CONNECTOR]: PresenceService missing from OpenSim.ini"); 109 IConfig gridConfig = source.Configs["PresenceService"];
111 throw new Exception("Presence connector init error"); 110 if (gridConfig == null)
112 } 111 {
112 m_log.Error("[PRESENCE CONNECTOR]: PresenceService missing from OpenSim.ini");
113 throw new Exception("Presence connector init error");
114 }
113 115
114 string serviceUrl = gridConfig.GetString("PresenceServerURI"); 116 string serviceUrl = gridConfig.GetString("PresenceServerURI");
115 if (String.IsNullOrEmpty(serviceUrl)) 117 if (String.IsNullOrEmpty(serviceUrl))
116 { 118 {
117 m_log.Info("[PRESENCE CONNECTOR]: No PresenceServerURI in section PresenceService, skipping SimianPresenceServiceConnector"); 119 m_log.Error("[PRESENCE CONNECTOR]: No PresenceServerURI in section PresenceService");
118 return; 120 throw new Exception("Presence connector init error");
119 } 121 }
120 122
121 m_serverUrl = serviceUrl; 123 m_serverUrl = serviceUrl;
124 }
122 } 125 }
123 126
124 #region IPresenceService 127 #region IPresenceService
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs b/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs
index 3c93725..9c226fb 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs
@@ -88,24 +88,27 @@ namespace OpenSim.Services.Connectors.SimianGrid
88 88
89 public void Initialise(IConfigSource source) 89 public void Initialise(IConfigSource source)
90 { 90 {
91 IConfig gridConfig = source.Configs["UserAccountService"]; 91 if (Simian.IsSimianEnabled(source, "UserAccountServices"))
92 if (gridConfig == null)
93 { 92 {
94 m_log.Error("[PROFILES]: UserAccountService missing from OpenSim.ini"); 93 IConfig gridConfig = source.Configs["UserAccountService"];
95 throw new Exception("Profiles init error"); 94 if (gridConfig == null)
96 } 95 {
96 m_log.Error("[PROFILES]: UserAccountService missing from OpenSim.ini");
97 throw new Exception("Profiles init error");
98 }
97 99
98 string serviceUrl = gridConfig.GetString("UserAccountServerURI"); 100 string serviceUrl = gridConfig.GetString("UserAccountServerURI");
99 if (String.IsNullOrEmpty(serviceUrl)) 101 if (String.IsNullOrEmpty(serviceUrl))
100 { 102 {
101 m_log.Info("[PROFILES]: No UserAccountServerURI in section UserAccountService, skipping SimianProfiles"); 103 m_log.Error("[PROFILES]: No UserAccountServerURI in section UserAccountService");
102 return; 104 throw new Exception("Profiles init error");
103 } 105 }
104 106
105 if (!serviceUrl.EndsWith("/")) 107 if (!serviceUrl.EndsWith("/"))
106 serviceUrl = serviceUrl + '/'; 108 serviceUrl = serviceUrl + '/';
107 109
108 m_serverUrl = serviceUrl; 110 m_serverUrl = serviceUrl;
111 }
109 } 112 }
110 113
111 private void ClientConnectHandler(IClientCore clientCore) 114 private void ClientConnectHandler(IClientCore clientCore)
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
index 3a35d9a..bb0ac57 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
@@ -77,22 +77,25 @@ namespace OpenSim.Services.Connectors.SimianGrid
77 77
78 public void Initialise(IConfigSource source) 78 public void Initialise(IConfigSource source)
79 { 79 {
80 IConfig assetConfig = source.Configs["UserAccountService"]; 80 if (Simian.IsSimianEnabled(source, "UserAccountServices"))
81 if (assetConfig == null)
82 { 81 {
83 m_log.Error("[ACCOUNT CONNECTOR]: UserAccountService missing from OpenSim.ini"); 82 IConfig assetConfig = source.Configs["UserAccountService"];
84 throw new Exception("User account connector init error"); 83 if (assetConfig == null)
85 } 84 {
85 m_log.Error("[ACCOUNT CONNECTOR]: UserAccountService missing from OpenSim.ini");
86 throw new Exception("User account connector init error");
87 }
86 88
87 string serviceURI = assetConfig.GetString("UserAccountServerURI"); 89 string serviceURI = assetConfig.GetString("UserAccountServerURI");
88 if (String.IsNullOrEmpty(serviceURI)) 90 if (String.IsNullOrEmpty(serviceURI))
89 { 91 {
90 m_log.Info("[ACCOUNT CONNECTOR]: No UserAccountServerURI in section UserAccountService, skipping SimianUserAccountServiceConnector"); 92 m_log.Error("[ACCOUNT CONNECTOR]: No UserAccountServerURI in section UserAccountService, skipping SimianUserAccountServiceConnector");
91 return; 93 throw new Exception("User account connector init error");
92 } 94 }
93 95
94 m_accountCache = new ExpiringCache<UUID, UserAccount>(); 96 m_accountCache = new ExpiringCache<UUID, UserAccount>();
95 m_serverUrl = serviceURI; 97 m_serverUrl = serviceURI;
98 }
96 } 99 }
97 100
98 public UserAccount GetUserAccount(UUID scopeID, string firstName, string lastName) 101 public UserAccount GetUserAccount(UUID scopeID, string firstName, string lastName)