* Re-Fixed caps

* This fixes chi11ken's/OpenViewer's libsl cap issue.
0.6.0-stable
Teravus Ovares 2008-04-17 19:42:54 +00:00
parent 4ee368785d
commit dd4deebbcb
11 changed files with 195 additions and 283 deletions

View File

@ -251,11 +251,6 @@ namespace OpenSim.Framework.Communications.Cache
ItemReceive(userID, itemInfo);
m_commsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
}
else
{
m_log.Error("[UNABLE TO UPLOAD]: ");
}
}
/// <summary>
@ -269,10 +264,6 @@ namespace OpenSim.Framework.Communications.Cache
{
m_commsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
}
else
{
m_log.Error("[UNABLE TO UPDATE]: ");
}
}
/// <summary>
@ -292,10 +283,6 @@ namespace OpenSim.Framework.Communications.Cache
m_commsManager.InventoryService.DeleteInventoryItem(userID, item);
}
}
else
{
m_log.Error("[UNABLE TO DELETE]: ");
}
return result;
}

View File

@ -100,6 +100,7 @@ namespace OpenSim.Region.Capabilities
private int m_eventQueueCount = 1;
private Queue<string> m_capsEventQueue = new Queue<string>();
private bool m_dumpAssetsToFile;
private string m_regionName;
// These are callbacks which will be setup by the scene so that we can update scene data when we
// receive capability calls
@ -110,7 +111,7 @@ namespace OpenSim.Region.Capabilities
public GetClientDelegate GetClient = null;
public Caps(AssetCache assetCache, BaseHttpServer httpServer, string httpListen, uint httpPort, string capsPath,
LLUUID agent, bool dumpAssetsToFile)
LLUUID agent, bool dumpAssetsToFile, string regionName)
{
m_assetCache = assetCache;
m_capsObjectPath = capsPath;
@ -120,6 +121,7 @@ namespace OpenSim.Region.Capabilities
m_agentID = agent;
m_dumpAssetsToFile = dumpAssetsToFile;
m_capsHandlers = new CapsHandlers(httpServer, httpListen, httpPort);
m_regionName = regionName;
}
/// <summary>
@ -199,6 +201,7 @@ namespace OpenSim.Region.Capabilities
/// <returns></returns>
public string CapsRequest(string request, string path, string param)
{
m_log.Debug("[CAPS]: Seed Caps Request in region: " + m_regionName);
//Console.WriteLine("caps request " + request);
string result = LLSDHelpers.SerialiseLLSDReply(m_capsHandlers.CapsDetails);
//m_log.DebugFormat("[CAPS] CapsRequest {0}", result);
@ -225,6 +228,7 @@ namespace OpenSim.Region.Capabilities
string unmodifiedRequest = request.ToString();
//m_log.DebugFormat("[AGENT INVENTORY]: Received CAPS fetch inventory request {0}", unmodifiedRequest);
m_log.Debug("[CAPS]: Inventory Request in region: " + m_regionName);
Hashtable hash = new Hashtable();
try
@ -366,6 +370,7 @@ namespace OpenSim.Region.Capabilities
/// <returns></returns>
public LLSDMapLayerResponse GetMapLayer(LLSDMapRequest mapReq)
{
m_log.Debug("[CAPS]: MapLayer Request in region: " + m_regionName);
LLSDMapLayerResponse mapResponse = new LLSDMapLayerResponse();
mapResponse.LayerData.Array.Add(GetLLSDMapLayerResponse());
return mapResponse;
@ -472,6 +477,7 @@ namespace OpenSim.Region.Capabilities
{
try
{
m_log.Debug("[CAPS]: ScriptTaskInventory Request in region: " + m_regionName);
//m_log.DebugFormat("[CAPS]: request: {0}, path: {1}, param: {2}", request, path, param);
Hashtable hash = (Hashtable) LLSD.LLSDDeserialize(Helpers.StringToField(request));
@ -523,6 +529,7 @@ namespace OpenSim.Region.Capabilities
/// <returns></returns>
public string NoteCardAgentInventory(string request, string path, string param)
{
m_log.Debug("[CAPS]: NoteCardAgentInventory Request in region: " + m_regionName);
//libsecondlife.StructuredData.LLSDMap hash = (libsecondlife.StructuredData.LLSDMap)libsecondlife.StructuredData.LLSDParser.DeserializeBinary(Helpers.StringToField(request));
Hashtable hash = (Hashtable) LLSD.LLSDDeserialize(Helpers.StringToField(request));
LLSDItemUpdate llsdRequest = new LLSDItemUpdate();

View File

@ -68,6 +68,8 @@ namespace OpenSim.Region.Capabilities
/// handler to be removed</param>
public void Remove(string capsName)
{
// This line must be here, or caps will break!
m_httpListener.RemoveStreamHandler("POST", m_capsHandlers[capsName].Path);
m_capsHandlers.Remove(capsName);
}

View File

@ -64,7 +64,6 @@ namespace OpenSim.Framework
ClientManager ClientManager { get; }
string GetCapsPath(LLUUID agentId);
string GetNewCapsPath(LLUUID agentId);
string GetCapsPath(LLUUID agentId);
}
}

View File

@ -143,8 +143,8 @@ namespace OpenSim.Region.Environment.Modules
{
// Centralized grid structure using OpenSimWi Redux revision 9+
// https://opensimwiredux.svn.sourceforge.net/svnroot/opensimwiredux
scene.AddXmlRPCHandler("dynamic_balance_update_request", GridMoneyUpdate);
scene.AddXmlRPCHandler("user_alert", UserAlert);
scene.AddXmlRPCHandler("balanceUpdateRequest", GridMoneyUpdate);
scene.AddXmlRPCHandler("userAlert", UserAlert);
}
else
{
@ -171,12 +171,11 @@ namespace OpenSim.Region.Environment.Modules
scene.EventManager.OnNewClient += OnNewClient;
scene.EventManager.OnMoneyTransfer += MoneyTransferAction;
scene.EventManager.OnClientClosed += ClientClosed;
scene.EventManager.OnNewInventoryItemUploadComplete += NewInventoryItemEconomyHandler;
scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel;
scene.EventManager.OnMakeChildAgent += MakeChildAgent;
scene.EventManager.OnClientClosed += ClientLoggedOut;
scene.EventManager.OnLandBuy += ValidateLandBuy;
scene.EventManager.OnValidatedLandBuy += processLandBuy;
scene.EventManager.OnValidateLandBuy += ValidateLandBuy;
scene.EventManager.OnLandBuy += processLandBuy;
}
}
@ -214,6 +213,7 @@ namespace OpenSim.Region.Environment.Modules
PriceGroupCreate = startupConfig.GetInt("PriceGroupCreate", -1);
string EBA = startupConfig.GetString("EconomyBaseAccount", LLUUID.Zero.ToString());
Helpers.TryParse(EBA,out EconomyBaseAccount);
UserLevelPaysFees = startupConfig.GetInt("UserLevelPaysFees", -1);
m_stipend = startupConfig.GetInt("UserStipend", 500);
m_minFundsBeforeRefresh = startupConfig.GetInt("IssueStipendWhenClientIsBelowAmount", 10);
@ -343,99 +343,54 @@ namespace OpenSim.Region.Environment.Modules
private void ValidateLandBuy (Object osender, LandBuyArgs e)
{
LLUUID agentId = e.agentId;
int price = e.parcelPrice;
bool final = e.final;
int funds = 0;
if (m_MoneyAddress.Length > 0)
{
IClientAPI aClient = LocateClientObject(agentId);
if (aClient != null)
{
Scene s = LocateSceneClientIn(agentId);
if (s != null)
{
Hashtable hbinfo = GetBalanceForUserFromMoneyServer(aClient.AgentId, aClient.SecureSessionId, s.RegionInfo.originRegionID.ToString(), s.RegionInfo.regionSecret);
if ((bool)hbinfo["success"] == true)
{
Helpers.TryParse((string)hbinfo["agentId"], out agentId);
try
{
funds = (Int32)hbinfo["funds"];
}
catch (ArgumentException)
{
}
catch (FormatException)
{
}
catch (OverflowException)
{
m_log.ErrorFormat("[MONEY]: While getting the Currency for user {0}, the return funds overflowed.", agentId);
aClient.SendAlertMessage("Unable to get your money balance, money operations will be unavailable");
}
catch (InvalidCastException)
{
funds = 0;
}
SetLocalFundsForAgentID(agentId, funds);
}
else
{
m_log.WarnFormat("[MONEY]: Getting Money for user {0} failed with the following message:{1}", agentId, (string)hbinfo["errorMessage"]);
aClient.SendAlertMessage((string)hbinfo["errorMessage"]);
}
}
}
}
else
{
funds = GetFundsForAgentID(agentId);
}
if (funds >= e.parcelPrice)
{
lock (e)
{
e.economyValidated = true;
}
XMLRPCHandler.EventManager.TriggerValidatedLandBuy(this, e);
}
if (m_MoneyAddress.Length == 0)
{
lock (m_KnownClientFunds)
{
if (m_KnownClientFunds.ContainsKey(e.agentId))
{
// Does the sender have enough funds to give?
if (m_KnownClientFunds[e.agentId] >= e.parcelPrice)
{
lock(e)
{
e.economyValidated=true;
}
}
}
}
}
else
{
if(GetRemoteBalance(e.agentId) >= e.parcelPrice)
{
lock(e)
{
e.economyValidated=true;
}
}
}
}
private void processLandBuy(Object osender, LandBuyArgs e)
{
LLUUID agentId = e.agentId;
int price = e.parcelPrice;
bool final = e.final;
int funds = 0;
// Only do this if we have not already transacted against this.
if (e.transactionID == 0)
{
funds = GetFundsForAgentID(e.agentId);
if (e.landValidated)
{
if (e.parcelPrice >= 0)
{
doMoneyTransfer(agentId, e.parcelOwnerID, e.parcelPrice);
lock (e)
{
e.transactionID = Util.UnixTimeSinceEpoch();
e.amountDebited = e.parcelPrice;
}
}
// This tells the land module that we've transacted.
XMLRPCHandler.EventManager.TriggerValidatedLandBuy(this, e);
}
}
lock(e)
{
if(e.economyValidated == true && e.transactionID == 0)
{
e.transactionID=Util.UnixTimeSinceEpoch();
if(doMoneyTransfer(e.agentId, e.parcelOwnerID, e.parcelPrice, 0, "Land purchase"))
{
lock (e)
{
e.amountDebited = e.parcelPrice;
}
}
}
}
}
/// <summary>
/// THis method gets called when someone pays someone else as a gift.
/// </summary>
@ -445,14 +400,13 @@ namespace OpenSim.Region.Environment.Modules
{
IClientAPI sender = null;
IClientAPI receiver = null;
//m_log.WarnFormat("[MONEY] Explicit transfer of {0} from {1} to {2}", e.amount, e.sender.ToString(), e.receiver.ToString());
sender = LocateClientObject(e.sender);
if (sender != null)
{
receiver = LocateClientObject(e.receiver);
bool transactionresult = doMoneyTransfer(e.sender, e.receiver, e.amount);
bool transactionresult = doMoneyTransfer(e.sender, e.receiver, e.amount, e.transactiontype, e.description);
if (e.sender != e.receiver)
{
@ -466,45 +420,19 @@ namespace OpenSim.Region.Environment.Modules
{
receiver.SendMoneyBalance(LLUUID.Random(), transactionresult, Helpers.StringToField(e.description), GetFundsForAgentID(e.receiver));
}
}
else
{
m_log.Warn("[MONEY]: Potential Fraud Warning, got money transfer request for avatar that isn't in this simulator - Details; Sender:" + e.sender.ToString() + " Reciver: " + e.receiver.ToString() + " Amount: " + e.amount.ToString());
m_log.Warn("[MONEY]: Potential Fraud Warning, got money transfer request for avatar that isn't in this simulator - Details; Sender:" + e.sender.ToString() + " Receiver: " + e.receiver.ToString() + " Amount: " + e.amount.ToString());
}
}
/// <summary>
/// A new inventory item came in, so we must charge if we're configured to do so!
/// </summary>
/// <param name="Uploader"></param>
/// <param name="AssetID"></param>
/// <param name="AssetName"></param>
/// <param name="userlevel"></param>
private void NewInventoryItemEconomyHandler(LLUUID Uploader, LLUUID AssetID, String AssetName, int userlevel)
{
// Presumably a normal grid would actually send this information to a server somewhere.
// We're going to apply the UploadCost here.
if (m_enabled)
{
// Only make users that are below the UserLevelPaysFees value pay.
// Use this to exclude Region Owners (2), Estate Managers(1), Users (0), Disabled(-1)
if (PriceUpload > 0 && userlevel <= UserLevelPaysFees)
{
doMoneyTransfer(Uploader, EconomyBaseAccount, PriceUpload);
}
}
}
/// <summary>
/// Event Handler for when a root agent becomes a child agent
/// </summary>
/// <param name="avatar"></param>
private void MakeChildAgent(ScenePresence avatar)
{
lock (m_rootAgents)
{
if (m_rootAgents.ContainsKey(avatar.UUID))
@ -630,16 +558,14 @@ namespace OpenSim.Region.Environment.Modules
#endregion
/// <summary>
/// Transfer money This currently does Gifts only.
/// Transfer money
/// </summary>
/// <param name="Sender"></param>
/// <param name="Receiver"></param>
/// <param name="amount"></param>
/// <returns></returns>
private bool doMoneyTransfer(LLUUID Sender, LLUUID Receiver, int amount)
private bool doMoneyTransfer(LLUUID Sender, LLUUID Receiver, int amount, int transactiontype, string description)
{
//m_log.WarnFormat("[MONEY] Transfer {0} from {1} to {2}", amount, Sender.ToString(), Receiver.ToString());
bool result = false;
if (amount >= 0)
{
@ -647,49 +573,49 @@ namespace OpenSim.Region.Environment.Modules
{
// If we don't know about the sender, then the sender can't
// actually be here and therefore this is likely fraud or outdated.
if (m_KnownClientFunds.ContainsKey(Sender))
{
// Does the sender have enough funds to give?
if (m_KnownClientFunds[Sender] >= amount)
{
// Subtract the funds from the senders account
m_KnownClientFunds[Sender] -= amount;
if (m_MoneyAddress.Length == 0)
{
if (m_KnownClientFunds.ContainsKey(Sender))
{
// Does the sender have enough funds to give?
if (m_KnownClientFunds[Sender] >= amount)
{
// Subtract the funds from the senders account
m_KnownClientFunds[Sender] -= amount;
// do we know about the receiver?
if (!m_KnownClientFunds.ContainsKey(Receiver))
{
// Make a record for them so they get the updated balance when they login
CheckExistAndRefreshFunds(Receiver);
}
if (m_enabled)
{
if (m_MoneyAddress.Length == 0)
{
//Add the amount to the Receiver's funds
m_KnownClientFunds[Receiver] += amount;
result = true;
}
else
{
result = TransferMoneyonMoneyServer(Sender, Receiver, amount);
}
}
}
else
{
// These below are redundant to make this clearer to read
result = false;
}
}
else
{
result = false;
}
}
// do we know about the receiver?
if (!m_KnownClientFunds.ContainsKey(Receiver))
{
// Make a record for them so they get the updated balance when they login
CheckExistAndRefreshFunds(Receiver);
}
if (m_enabled)
{
//Add the amount to the Receiver's funds
m_KnownClientFunds[Receiver] += amount;
result = true;
}
}
else
{
// These below are redundant to make this clearer to read
result = false;
}
}
else
{
result = false;
}
}
else
{
result = TransferMoneyonMoneyServer(Sender, Receiver, amount, transactiontype, description);
}
}
}
return result;
}
#region Utility Helpers
/// <summary>
/// Locates a IClientAPI for the client specified
@ -890,7 +816,7 @@ namespace OpenSim.Region.Environment.Modules
MoneyBalanceRequestParams["secret"] = regionSecret;
MoneyBalanceRequestParams["currencySecret"] = ""; // per - region/user currency secret gotten from the money system
Hashtable MoneyRespData = genericCurrencyXMLRPCRequest(MoneyBalanceRequestParams, "simulator_user_balance_request");
Hashtable MoneyRespData = genericCurrencyXMLRPCRequest(MoneyBalanceRequestParams, "simulatorUserBalanceRequest");
return MoneyRespData;
}
@ -989,7 +915,7 @@ namespace OpenSim.Region.Environment.Modules
MoneyBalanceRequestParams["regionId"] = regionId.ToString();
MoneyBalanceRequestParams["secret"] = regionSecret;
Hashtable MoneyRespData = genericCurrencyXMLRPCRequest(MoneyBalanceRequestParams, "simulator_claim_user_request");
Hashtable MoneyRespData = genericCurrencyXMLRPCRequest(MoneyBalanceRequestParams, "simulatorClaimUserRequest");
IClientAPI sendMoneyBal = LocateClientObject(agentId);
if (sendMoneyBal != null)
{
@ -1005,13 +931,11 @@ namespace OpenSim.Region.Environment.Modules
/// <param name="destId"></param>
/// <param name="amount"></param>
/// <returns></returns>
public bool TransferMoneyonMoneyServer(LLUUID sourceId, LLUUID destId, int amount)
public bool TransferMoneyonMoneyServer(LLUUID sourceId, LLUUID destId, int amount, int transactiontype, string description)
{
string description = "Gift";
int aggregatePermInventory = 0;
int aggregatePermNextOwner = 0;
int flags = 0;
int transactiontype = 0;
bool rvalue = false;
IClientAPI cli = LocateClientObject(sourceId);
@ -1039,7 +963,7 @@ namespace OpenSim.Region.Environment.Modules
ht["transactionType"] = transactiontype;
ht["description"] = description;
Hashtable hresult = genericCurrencyXMLRPCRequest(ht, "region_move_money");
Hashtable hresult = genericCurrencyXMLRPCRequest(ht, "regionMoveMoney");
if ((bool)hresult["success"] == true)
{
@ -1086,6 +1010,63 @@ namespace OpenSim.Region.Environment.Modules
}
public int GetRemoteBalance(LLUUID agentId)
{
int funds = 0;
IClientAPI aClient = LocateClientObject(agentId);
if (aClient != null)
{
Scene s = LocateSceneClientIn(agentId);
if (s != null)
{
if (m_MoneyAddress.Length > 0)
{
Hashtable hbinfo = GetBalanceForUserFromMoneyServer(aClient.AgentId, aClient.SecureSessionId, s.RegionInfo.originRegionID.ToString(), s.RegionInfo.regionSecret);
if ((bool)hbinfo["success"] == true)
{
try
{
funds = (Int32)hbinfo["funds"];
}
catch (ArgumentException)
{
}
catch (FormatException)
{
}
catch (OverflowException)
{
m_log.ErrorFormat("[MONEY]: While getting the Currency for user {0}, the return funds overflowed.", agentId);
aClient.SendAlertMessage("Unable to get your money balance, money operations will be unavailable");
}
catch (InvalidCastException)
{
funds = 0;
}
}
else
{
m_log.WarnFormat("[MONEY]: Getting Money for user {0} failed with the following message:{1}", agentId, (string)hbinfo["errorMessage"]);
aClient.SendAlertMessage((string)hbinfo["errorMessage"]);
}
}
SetLocalFundsForAgentID(agentId, funds);
SendMoneyBalance(aClient, agentId, aClient.SessionId, LLUUID.Zero);
}
else
{
m_log.Debug("[MONEY]: Got balance request update for agent that is here, but couldn't find which scene.");
}
}
else
{
m_log.Debug("[MONEY]: Got balance request update for agent that isn't here.");
}
return funds;
}
public XmlRpcResponse GridMoneyUpdate(XmlRpcRequest request)
{
@ -1099,58 +1080,7 @@ namespace OpenSim.Region.Environment.Modules
Helpers.TryParse((string)requestData["agentId"], out agentId);
if (agentId != LLUUID.Zero)
{
IClientAPI aClient = LocateClientObject(agentId);
if (aClient != null)
{
Scene s = LocateSceneClientIn(agentId);
if (s != null)
{
if (m_MoneyAddress.Length > 0)
{
Hashtable hbinfo = GetBalanceForUserFromMoneyServer(aClient.AgentId, aClient.SecureSessionId, s.RegionInfo.originRegionID.ToString(), s.RegionInfo.regionSecret);
if ((bool)hbinfo["success"] == true)
{
int funds = 0;
Helpers.TryParse((string)hbinfo["agentId"], out agentId);
try
{
funds = (Int32)hbinfo["funds"];
}
catch (ArgumentException)
{
}
catch (FormatException)
{
}
catch (OverflowException)
{
m_log.ErrorFormat("[MONEY]: While getting the Currency for user {0}, the return funds overflowed.", agentId);
aClient.SendAlertMessage("Unable to get your money balance, money operations will be unavailable");
}
catch (InvalidCastException)
{
funds = 0;
}
SetLocalFundsForAgentID(agentId, funds);
}
else
{
m_log.WarnFormat("[MONEY]: Getting Money for user {0} failed with the following message:{1}", agentId, (string)hbinfo["errorMessage"]);
aClient.SendAlertMessage((string)hbinfo["errorMessage"]);
}
}
SendMoneyBalance(aClient, agentId, aClient.SessionId, LLUUID.Zero);
}
else
{
m_log.Debug("[MONEY]: Got balance request update for agent that is here, but couldn't find which scene.");
}
}
else
{
m_log.Debug("[MONEY]: Got balance request update for agent that isn't here.");
}
GetRemoteBalance(agentId);
}
else
@ -1169,6 +1099,7 @@ namespace OpenSim.Region.Environment.Modules
r.Value = rparms;
return r;
}
/// <summary>
/// XMLRPC handler to send alert message and sound to client
/// </summary>

View File

@ -953,8 +953,12 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
}
}
// If the economy has been validated by the economy module,
// and land has been validated as well, this method transfers
// the land ownership
public void handleLandBuyRequest(Object o, LandBuyArgs e)
{
{
if (e.economyValidated && e.landValidated)
{
lock (landList)
@ -966,7 +970,15 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
}
}
}
else if (e.landValidated == false)
}
// After receiving a land buy packet, first the data needs to
// be validated. This method validates the right to buy the
// parcel
public void handleLandValidationRequest(Object o, LandBuyArgs e)
{
if (e.landValidated == false)
{
ILandObject lob = null;
lock (landList)
@ -994,7 +1006,6 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
}
}
m_scene.EventManager.TriggerValidatedLandBuy(this, e);
}
}
}

View File

@ -55,8 +55,8 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
m_scene.EventManager.OnParcelPrimCountUpdate += landChannel.updateLandPrimCounts;
m_scene.EventManager.OnAvatarEnteringNewParcel += new EventManager.AvatarEnteringNewParcel(landChannel.handleAvatarChangingParcel);
m_scene.EventManager.OnClientMovement += new EventManager.ClientMovement(landChannel.handleAnyClientMovement);
m_scene.EventManager.OnValidateLandBuy += landChannel.handleLandValidationRequest;
m_scene.EventManager.OnLandBuy += landChannel.handleLandBuyRequest;
m_scene.EventManager.OnValidatedLandBuy += landChannel.handleLandBuyRequest;
lock (m_scene)
{

View File

@ -136,6 +136,10 @@ namespace OpenSim.Region.Environment.Scenes
EventManager.LandBuyArgs args = new EventManager.LandBuyArgs(
agentId, groupId, final, groupOwned, removeContribution, parcelLocalID, parcelArea, parcelPrice, authenticated);
// First, allow all validators a stab at it
m_eventManager.TriggerValidateLandBuy(this, args);
// Then, check validation and transfer
m_eventManager.TriggerLandBuy(this, args);
}

View File

@ -1916,25 +1916,8 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="agentId"></param>
/// <param name="capsObjectPath"></param>
public void AddCapsHandler(LLUUID agentId)
{
// Here we clear out old Caps handlers for the agent
// this is required because we potentially have multiple simulators in an instance nearby.
Caps oldcap = null;
lock (m_capsHandlers)
{
if (m_capsHandlers.ContainsKey(agentId))
oldcap = m_capsHandlers[agentId];
}
if (oldcap != null)
{
oldcap.DeregisterHandlers();
}
// Generate a new base caps path LLUUID.Random().ToString() instead of agentId.ToString()
// If the caps paths are not different for each region, the client and sim will do weird
// things like send the request to a region the agent is no longer in.
String capsObjectPath = GetNewCapsPath(agentId);
{
String capsObjectPath = GetCapsPath(agentId);
m_log.DebugFormat(
"[CAPS]: Setting up CAPS handler for root agent {0} in {1}",
@ -1942,7 +1925,7 @@ namespace OpenSim.Region.Environment.Scenes
Caps cap =
new Caps(AssetCache, m_httpListener, m_regInfo.ExternalHostName, m_httpListener.Port,
capsObjectPath, agentId, m_dumpAssetsToFile);
capsObjectPath, agentId, m_dumpAssetsToFile, RegionInfo.RegionName);
cap.RegisterHandlers();
EventManager.TriggerOnRegisterCaps(agentId, cap);

View File

@ -214,17 +214,5 @@ namespace OpenSim.Region.Environment.Scenes
return null;
}
public string GetNewCapsPath(LLUUID agentID)
{
if (capsPaths.ContainsKey(agentID))
{
capsPaths[agentID] = LLUUID.Random().ToString();
}
else
{
capsPaths.Add(agentID, LLUUID.Random().ToString());
}
return GetCapsPath(agentID);
}
}
}

View File

@ -167,9 +167,9 @@ namespace OpenSim.Region.Environment.Scenes
public int transactiontype;
public string description;
public MoneyTransferArgs(LLUUID asender, LLUUID areciever, int aamount, int atransactiontype, string adescription) {
public MoneyTransferArgs(LLUUID asender, LLUUID areceiver, int aamount, int atransactiontype, string adescription) {
sender = asender;
receiver = areciever;
receiver = areceiver;
amount = aamount;
transactiontype = atransactiontype;
description = adescription;
@ -219,7 +219,7 @@ namespace OpenSim.Region.Environment.Scenes
public event MoneyTransferEvent OnMoneyTransfer;
public event LandBuy OnLandBuy;
public event LandBuy OnValidatedLandBuy;
public event LandBuy OnValidateLandBuy;
/* Designated Event Deletage Instances */
@ -253,7 +253,7 @@ namespace OpenSim.Region.Environment.Scenes
private DeregisterCapsEvent handlerDeregisterCaps = null; // OnDeregisterCaps;
private NewInventoryItemUploadComplete handlerNewInventoryItemUpdateComplete = null;
private LandBuy handlerLandBuy = null;
private LandBuy handlerValidatedLandBuy = null;
private LandBuy handlerValidateLandBuy = null;
public void TriggerOnScriptChangedEvent(uint localID, uint change)
{
@ -526,12 +526,12 @@ namespace OpenSim.Region.Environment.Scenes
handlerLandBuy(sender, e);
}
}
public void TriggerValidatedLandBuy(Object sender, LandBuyArgs e)
public void TriggerValidateLandBuy(Object sender, LandBuyArgs e)
{
handlerValidatedLandBuy = OnValidatedLandBuy;
if (handlerValidatedLandBuy != null)
handlerValidateLandBuy = OnValidateLandBuy;
if (handlerValidateLandBuy != null)
{
handlerValidatedLandBuy(sender, e);
handlerValidateLandBuy(sender, e);
}
}
}