Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
commit
5068404505
|
@ -305,8 +305,8 @@ namespace OpenSim
|
|||
config.Set("region_info_source", "filesystem");
|
||||
|
||||
config.Set("gridmode", false);
|
||||
config.Set("physics", "basicphysics");
|
||||
config.Set("meshing", "ZeroMesher");
|
||||
config.Set("physics", "OpenDynamicsEngine");
|
||||
config.Set("meshing", "Meshmerizer");
|
||||
config.Set("physical_prim", true);
|
||||
config.Set("see_into_this_sim_from_neighbor", true);
|
||||
config.Set("serverside_object_permissions", false);
|
||||
|
|
|
@ -125,10 +125,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
{
|
||||
if (m_scenes.Count > 0)
|
||||
{
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName);
|
||||
string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
|
||||
if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
|
||||
return false;
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
|
||||
|
||||
if (userInfo != null)
|
||||
{
|
||||
|
@ -153,11 +150,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
{
|
||||
if (m_scenes.Count > 0)
|
||||
{
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName);
|
||||
string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
|
||||
if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
|
||||
return false;
|
||||
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
|
||||
|
||||
if (userInfo != null)
|
||||
{
|
||||
|
@ -182,11 +175,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
{
|
||||
if (m_scenes.Count > 0)
|
||||
{
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName);
|
||||
string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
|
||||
if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
|
||||
return false;
|
||||
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
|
||||
|
||||
if (userInfo != null)
|
||||
{
|
||||
|
@ -214,11 +203,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
{
|
||||
if (m_scenes.Count > 0)
|
||||
{
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName);
|
||||
string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
|
||||
if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
|
||||
return false;
|
||||
|
||||
CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
|
||||
|
||||
if (userInfo != null)
|
||||
{
|
||||
|
@ -251,7 +236,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
if (cmdparams.Length < 6)
|
||||
{
|
||||
m_log.Error(
|
||||
"[INVENTORY ARCHIVER]: usage is load iar <first name> <last name> <inventory path> <password> [<load file path>]");
|
||||
"[INVENTORY ARCHIVER]: usage is load iar <first name> <last name> <inventory path> <user password> [<load file path>]");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -282,7 +267,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
if (cmdparams.Length < 5)
|
||||
{
|
||||
m_log.Error(
|
||||
"[INVENTORY ARCHIVER]: usage is save iar <first name> <last name> <inventory path> <password> [<save file path>]");
|
||||
"[INVENTORY ARCHIVER]: usage is save iar <first name> <last name> <inventory path> <user password> [<save file path>]");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -334,8 +319,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
/// </summary>
|
||||
/// <param name="firstName"></param>
|
||||
/// <param name="lastName"></param>
|
||||
/// <param name="pass">User password</param>
|
||||
/// <returns></returns>
|
||||
protected CachedUserInfo GetUserInfo(string firstName, string lastName)
|
||||
protected CachedUserInfo GetUserInfo(string firstName, string lastName, string pass)
|
||||
{
|
||||
CachedUserInfo userInfo = m_aScene.CommsManager.UserProfileCacheService.GetUserDetails(firstName, lastName);
|
||||
if (null == userInfo)
|
||||
|
@ -345,6 +331,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
|||
firstName, lastName);
|
||||
return null;
|
||||
}
|
||||
|
||||
string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
|
||||
if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
|
||||
{
|
||||
m_log.ErrorFormat(
|
||||
"[INVENTORY ARCHIVER]: Password for user {0} {1} incorrect. Please try again.",
|
||||
firstName, lastName);
|
||||
return null;
|
||||
}
|
||||
|
||||
return userInfo;
|
||||
}
|
||||
|
|
|
@ -132,9 +132,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
|||
|
||||
}
|
||||
|
||||
public bool IsAuthorizedForRegion(string userID, string regionID)
|
||||
public bool IsAuthorizedForRegion(string userID, string regionID, out string message)
|
||||
{
|
||||
return m_AuthorizationService.IsAuthorizedForRegion(userID, regionID);
|
||||
return m_AuthorizationService.IsAuthorizedForRegion(userID, regionID, out message);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -117,11 +117,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
|||
|
||||
}
|
||||
|
||||
public bool IsAuthorizedForRegion(string userID, string regionID)
|
||||
public bool IsAuthorizedForRegion(string userID, string regionID, out string message)
|
||||
{
|
||||
m_log.InfoFormat("[REMOTE AUTHORIZATION CONNECTOR]: IsAuthorizedForRegion checking {0} for region {1}", userID, regionID);
|
||||
|
||||
bool isAuthorized = true;
|
||||
message = String.Empty;
|
||||
|
||||
// get the scene this call is being made for
|
||||
Scene scene = null;
|
||||
|
@ -140,7 +141,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Authorization
|
|||
{
|
||||
UserProfileData profile = scene.CommsManager.UserService.GetUserProfile(new UUID(userID));
|
||||
isAuthorized = IsAuthorizedForRegion(userID, profile.FirstName, profile.SurName,
|
||||
profile.Email, scene.RegionInfo.RegionName, regionID);
|
||||
profile.Email, scene.RegionInfo.RegionName, regionID, out message);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -994,9 +994,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
// Loop it
|
||||
if (m_frame == Int32.MaxValue)
|
||||
m_frame = 0;
|
||||
|
||||
|
||||
m_frame = 0;
|
||||
|
||||
otherMS = Environment.TickCount;
|
||||
// run through all entities looking for updates (slow)
|
||||
|
@ -1017,7 +1015,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
m_sceneGraph.UpdateEntities();
|
||||
}
|
||||
|
||||
|
||||
// run through entities that have scheduled themselves for
|
||||
// updates looking for updates(faster)
|
||||
if (m_frame % m_update_entitiesquick == 0)
|
||||
|
@ -3253,10 +3250,11 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
if (AuthorizationService != null)
|
||||
{
|
||||
if (!AuthorizationService.IsAuthorizedForRegion(agent.AgentID.ToString(), RegionInfo.RegionID.ToString()))
|
||||
if (!AuthorizationService.IsAuthorizedForRegion(agent.AgentID.ToString(), RegionInfo.RegionID.ToString(),out reason))
|
||||
{
|
||||
m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user does not have access to the region",
|
||||
agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName);
|
||||
//reason = String.Format("You are not currently on the access list for {0}",RegionInfo.RegionName);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,7 +60,8 @@ namespace OpenSim.Server.Handlers.Authorization
|
|||
XmlSerializer xs = new XmlSerializer(typeof (AuthorizationRequest));
|
||||
AuthorizationRequest Authorization = (AuthorizationRequest) xs.Deserialize(request);
|
||||
|
||||
bool authorized = m_AuthorizationService.IsAuthorizedForRegion(Authorization.ID, Authorization.RegionID);
|
||||
string message = String.Empty;
|
||||
bool authorized = m_AuthorizationService.IsAuthorizedForRegion(Authorization.ID, Authorization.RegionID,out message);
|
||||
|
||||
AuthorizationResponse result = new AuthorizationResponse(authorized, Authorization.ID + " has been authorized");
|
||||
|
||||
|
|
|
@ -48,8 +48,9 @@ namespace OpenSim.Services.AuthorizationService
|
|||
m_log.Info("[AUTHORIZATION CONNECTOR]: Local Authorization service enabled");
|
||||
}
|
||||
|
||||
public bool IsAuthorizedForRegion(string userID, string regionID)
|
||||
public bool IsAuthorizedForRegion(string userID, string regionID, out string message)
|
||||
{
|
||||
message = "Authorized";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ namespace OpenSim.Services.Connectors
|
|||
m_ResponseOnFailure = responseOnFailure;
|
||||
}
|
||||
|
||||
public bool IsAuthorizedForRegion(string userID, string firstname, string surname, string email, string regionName, string regionID)
|
||||
public bool IsAuthorizedForRegion(string userID, string firstname, string surname, string email, string regionName, string regionID, out string message)
|
||||
{
|
||||
// do a remote call to the authorization server specified in the AuthorizationServerURI
|
||||
m_log.InfoFormat("[AUTHORIZATION CONNECTOR]: IsAuthorizedForRegion checking {0} at remote server {1}", userID, m_ServerURI);
|
||||
|
@ -105,10 +105,12 @@ namespace OpenSim.Services.Connectors
|
|||
catch (Exception e)
|
||||
{
|
||||
m_log.WarnFormat("[AUTHORIZATION CONNECTOR]: Unable to send authorize {0} for region {1} error thrown during comms with remote server. Reason: {2}", userID, regionID, e.Message);
|
||||
message="";
|
||||
return m_ResponseOnFailure;
|
||||
}
|
||||
|
||||
m_log.DebugFormat("[AUTHORIZATION CONNECTOR] response from remote service was {0}", response.Message);
|
||||
message = response.Message;
|
||||
|
||||
return response.IsAuthorized;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace OpenSim.Services.Interfaces
|
|||
// This method returns a simple true false indicating
|
||||
// whether or not a user has access to the region
|
||||
//
|
||||
bool IsAuthorizedForRegion(string userID, string regionID);
|
||||
bool IsAuthorizedForRegion(string userID, string regionID, out string message);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -134,19 +134,24 @@
|
|||
; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true.
|
||||
physical_prim = true
|
||||
|
||||
; Select a mesher here. ZeroMesher is safe and fast.
|
||||
; ZeroMesher also means that the physics engine models the physics of prims
|
||||
; sticking to the basic shapes the engine does support. Usually this is only a box.
|
||||
; Meshmerizer gives a better handling of complex prims by using triangle meshes.
|
||||
; Note that only ODE physics currently deals with meshed prims in a satisfactory way
|
||||
; Select a mesher here.
|
||||
;
|
||||
meshing = ZeroMesher
|
||||
;meshing = Meshmerizer
|
||||
; Meshmerizer properly handles complex prims by using triangle meshes.
|
||||
; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
|
||||
;
|
||||
; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
|
||||
; Usually this is only a box
|
||||
|
||||
meshing = Meshmerizer
|
||||
;meshing = ZeroMesher
|
||||
|
||||
; Choose one of the physics engines below
|
||||
physics = basicphysics
|
||||
; OpenDynamicsEngine is by some distance the most developed physics engine
|
||||
; basicphysics effectively does not model physics at all, making all objects phantom
|
||||
|
||||
physics = OpenDynamicsEngine
|
||||
;physics = basicphysics
|
||||
;physics = POS
|
||||
;physics = OpenDynamicsEngine
|
||||
;physics = modified_BulletX
|
||||
|
||||
; ##
|
||||
|
|
Loading…
Reference in New Issue