diff --git a/indra/llinventory/llpermissions.cpp b/indra/llinventory/llpermissions.cpp
index 4b6d0f74d4..2608f5e480 100755
--- a/indra/llinventory/llpermissions.cpp
+++ b/indra/llinventory/llpermissions.cpp
@@ -1149,8 +1149,18 @@ void mask_to_string(U32 mask, char* str)
else
{
*str = ' ';
- }
- str++;
+ }
+// OpenSim export permission
+ if (mask & PERM_EXPORT)
+ {
+ *str = 'X';
+ }
+ else
+ {
+ *str = ' ';
+ }
+//
+ str++;
*str = '\0';
}
diff --git a/indra/llinventory/llpermissions.h b/indra/llinventory/llpermissions.h
index 3ecc922370..0307377581 100755
--- a/indra/llinventory/llpermissions.h
+++ b/indra/llinventory/llpermissions.h
@@ -274,6 +274,7 @@ public:
inline bool allowModifyBy(const LLUUID &agent_id, const LLUUID& group) const;
inline bool allowCopyBy(const LLUUID& agent_id, const LLUUID& group) const;
inline bool allowMoveBy(const LLUUID &agent_id, const LLUUID &group) const;
+ inline bool allowExportBy(const LLUUID& agent_id) const; // OpenSim export permission
// This somewhat specialized function is meant for testing if the
// current owner is allowed to transfer to the specified agent id.
@@ -373,6 +374,13 @@ bool LLPermissions::allowTransferTo(const LLUUID &agent_id) const
}
}
+// Opensim Export Permissions
+bool LLPermissions::allowExportBy(const LLUUID& agent) const
+{
+ return ((mCreator == agent) ? true : (allowOperationBy(PERM_EXPORT, agent, LLUUID::null)));
+}
+//
+
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class LLAggregatePermissions
//
diff --git a/indra/llinventory/llpermissionsflags.h b/indra/llinventory/llpermissionsflags.h
index 9ecf465c8c..4d81989207 100755
--- a/indra/llinventory/llpermissionsflags.h
+++ b/indra/llinventory/llpermissionsflags.h
@@ -46,6 +46,10 @@ const PermissionBit PERM_MODIFY = (1 << 14); // 0x00004000
// objects, allow copy
const PermissionBit PERM_COPY = (1 << 15); // 0x00008000
+// OpenSim export permission
+const PermissionBit PERM_EXPORT = (1 << 16); // 0x00010000
+//
+
// parcels, allow entry, deprecated
//const PermissionBit PERM_ENTER = (1 << 16); // 0x00010000
diff --git a/indra/newview/NACLantispam.cpp b/indra/newview/NACLantispam.cpp
index 4e324228c9..f445a8b536 100644
--- a/indra/newview/NACLantispam.cpp
+++ b/indra/newview/NACLantispam.cpp
@@ -156,7 +156,7 @@ S32 NACLAntiSpamQueue::checkEntry(const LLUUID& name, U32 multiplier)
}
else
{
- lldebugs << "[antispam] New queue entry:" << name.asString() << llendl;
+ LL_DEBUGS("AntiSpam") << "New queue entry:" << name.asString() << LL_ENDL;
NACLAntiSpamQueueEntry* entry = new NACLAntiSpamQueueEntry();
entry->updateEntryAmount();
entry->updateEntryTime();
@@ -371,14 +371,16 @@ bool NACLAntiSpamRegistry::checkQueue(EAntispamQueue queue, const LLUUID& source
if (result == 1) // newly blocked, result == 1
{
- std::string msg = llformat("AntiSpam: Blocked %s for spamming a %s (%d) times in %d seconds.", source.asString().c_str(), getQueueName(queue), multiplier * mQueues[queue]->getAmount(), mQueues[queue]->getTime());
if (!silent)
{
LLSD args;
- args["MESSAGE"] = msg;
- LLNotificationsUtil::add("SystemMessageTip", args);
+ args["SOURCE"] = source.asString();
+ args["QUEUE"] = getQueueName(queue);
+ args["COUNT"] = llformat("%d", multiplier * mQueues[queue]->getAmount());
+ args["PERIOD"] = llformat("%d", mQueues[queue]->getTime());
+ LLNotificationsUtil::add("AntiSpamBlocked", args);
}
- llinfos << "[antispam] " << msg << llendl;
+ LL_INFOS("AntiSpam") << "Blocked " << source.asString() << " for spamming a " << getQueueName(queue) << " (" << multiplier * mQueues[queue]->getAmount() << ") times in " << mQueues[queue]->getTime() << " seconds." << LL_ENDL;
return true;
}
@@ -437,7 +439,7 @@ void NACLAntiSpamRegistry::purgeAllQueues()
}
}
}
- llinfos << "AntiSpam Queues Purged" << llendl;
+ LL_INFOS("AntiSpam") << "AntiSpam Queues Purged" << LL_ENDL;
}
S32 NACLAntiSpamRegistry::checkGlobalEntry(const LLUUID& source, U32 multiplier)
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index cea188e9aa..43f38b5b85 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -20899,7 +20899,7 @@ Change of this parameter will affect the layout of buttons in notification toast
Type
Boolean
Value
- 1
+ 0
FSLegacyRadarFriendColoring