Estate series, patch 9 (#9157)

Adds the new access semantics and the new flag (allow only age verified)
Plumbs in the abuse email address from sim to viewer. The other way around,
libomv appears to be lacking support for the data field in the packet.
Includes a migration, run prebuild!
0.6.0-stable
Melanie Thielker 2008-08-01 21:08:00 +00:00
parent c952dd465c
commit 12c5bfa3e0
8 changed files with 36 additions and 7 deletions

View File

@ -0,0 +1,6 @@
begin;
alter table estate_settings add column DenyMinors tinyint not null;
commit;

View File

@ -0,0 +1,6 @@
begin;
alter table estate_settings add column DenyMinors tinyint not null default 0;
commit;

View File

@ -231,6 +231,14 @@ namespace OpenSim.Framework
set { m_EstateOwner = value; }
}
private bool m_DenyMinors = false;
public bool DenyMinors
{
get { return m_DenyMinors; }
set { m_DenyMinors = value; }
}
// All those lists...
//
private List<LLUUID> l_EstateManagers = new List<LLUUID>();

View File

@ -642,7 +642,7 @@ namespace OpenSim.Framework
void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args);
void SendEstateCovenantInformation(LLUUID covenant);
void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant);
void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant, string abuseEmail);
void SendLandProperties(IClientAPI remote_client, int sequence_id, bool snap_selection, int request_result, LandData landData, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags);
void SendLandAccessListData(List<LLUUID> avatars, uint accessFlag, int localLandID);

View File

@ -2657,15 +2657,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
this.OutPacket(einfopack, ThrottleOutPacketType.Task);
}
public void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant)
public void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant, string abuseEmail)
{
EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket();
packet.MethodData.Invoice = invoice;
packet.AgentData.TransactionID = LLUUID.Random();
packet.MethodData.Method = Helpers.StringToField("estateupdateinfo");
EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[9];
EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[10];
for (int i = 0; i < 9; i++)
for (int i = 0; i < 10; i++)
{
returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock();
}
@ -2681,6 +2681,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
returnblock[6].Parameter = Helpers.StringToField(covenant.ToString());
returnblock[7].Parameter = Helpers.StringToField("1160895077"); // what is this?
returnblock[8].Parameter = Helpers.StringToField("1"); // what is this?
returnblock[9].Parameter = Helpers.StringToField(abuseEmail);
packet.ParamList = returnblock;
packet.Header.Reliable = false;

View File

@ -60,7 +60,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
m_scene.RegionInfo.EstateSettings.ParentEstateID,
GetEstateFlags(),
sun,
m_scene.RegionInfo.RegionSettings.Covenant);
m_scene.RegionInfo.RegionSettings.Covenant,
m_scene.RegionInfo.EstateSettings.AbuseEmail);
remote_client.SendEstateManagersList(invoice,
m_scene.RegionInfo.EstateSettings.EstateManagers,
@ -628,6 +629,11 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
else
m_scene.RegionInfo.EstateSettings.DenyTransacted = false;
if ((parms1 & 0x40000000) != 0)
m_scene.RegionInfo.EstateSettings.DenyMinors = true;
else
m_scene.RegionInfo.EstateSettings.DenyMinors = false;
m_scene.RegionInfo.EstateSettings.Save();
float sun = (float)m_scene.RegionInfo.RegionSettings.SunPosition;
@ -797,6 +803,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
flags |= Simulator.RegionFlags.ResetHomeOnTeleport;
if (m_scene.RegionInfo.EstateSettings.TaxFree)
flags |= Simulator.RegionFlags.TaxFree;
if (m_scene.RegionInfo.EstateSettings.DenyMinors)
flags |= (Simulator.RegionFlags)(1 << 30);
return (uint)flags;
}

View File

@ -781,7 +781,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
public void SendEstateCovenantInformation(LLUUID covenant)
{
}
public void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant)
public void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant, string abuseEmail)
{
}

View File

@ -773,7 +773,7 @@ namespace OpenSim.Region.Examples.SimpleModule
public void SendEstateCovenantInformation(LLUUID covenant)
{
}
public void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant)
public void SendDetailedEstateData(LLUUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, LLUUID covenant, string abuseEmail)
{
}