diff options
Diffstat (limited to 'OpenSim/Services/HypergridService/UserAgentService.cs')
-rw-r--r-- | OpenSim/Services/HypergridService/UserAgentService.cs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index 842ca58..a49993c 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs | |||
@@ -73,6 +73,8 @@ namespace OpenSim.Services.HypergridService | |||
73 | 73 | ||
74 | protected static string m_GridName; | 74 | protected static string m_GridName; |
75 | 75 | ||
76 | protected static int m_LevelOutsideContacts; | ||
77 | |||
76 | protected static bool m_BypassClientVerification; | 78 | protected static bool m_BypassClientVerification; |
77 | 79 | ||
78 | public UserAgentService(IConfigSource config) : this(config, null) | 80 | public UserAgentService(IConfigSource config) : this(config, null) |
@@ -127,6 +129,8 @@ namespace OpenSim.Services.HypergridService | |||
127 | } | 129 | } |
128 | if (!m_GridName.EndsWith("/")) | 130 | if (!m_GridName.EndsWith("/")) |
129 | m_GridName = m_GridName + "/"; | 131 | m_GridName = m_GridName + "/"; |
132 | |||
133 | m_LevelOutsideContacts = serverConfig.GetInt("LevelOutsideContacts", 0); | ||
130 | } | 134 | } |
131 | } | 135 | } |
132 | 136 | ||
@@ -569,10 +573,16 @@ namespace OpenSim.Services.HypergridService | |||
569 | 573 | ||
570 | public UUID GetUUID(String first, String last) | 574 | public UUID GetUUID(String first, String last) |
571 | { | 575 | { |
572 | // Let's see if it's a local user | 576 | // Let's see if it's a local user |
573 | UserAccount account = m_UserAccountService.GetUserAccount(UUID.Zero, first, last); | 577 | UserAccount account = m_UserAccountService.GetUserAccount(UUID.Zero, first, last); |
574 | if (account != null) | 578 | if (account != null) |
575 | return account.PrincipalID; | 579 | { |
580 | // check user level | ||
581 | if (account.UserLevel < m_LevelOutsideContacts) | ||
582 | return UUID.Zero; | ||
583 | else | ||
584 | return account.PrincipalID; | ||
585 | } | ||
576 | else | 586 | else |
577 | return UUID.Zero; | 587 | return UUID.Zero; |
578 | } | 588 | } |