From b90d905cc589c5f7ed137bb0b4682623771eda6e Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Tue, 12 Apr 2016 20:55:40 -0400 Subject: [PATCH] Allow exclusively filtering out Landmark offers with AntiSpamItemOffersLandmarks. This was requested on our JIRA, but then no one suggested any other things to filter. --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llviewermessage.cpp | 9 ++++++--- .../xui/en-us/panel_preferences_ascent_chat.xml | 1 + 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 09d34e573..e8de089ea 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1763,6 +1763,17 @@ This should be as low as possible, but too low may break functionality Value 0 + AntiSpamItemOffersLandmarks + + Comment + When AntiSpamItemOffers is false but this is true, dialogs from inventory item offers of landmarks will be blocked. + Persist + 1 + Type + Boolean + Value + 0 + AntiSpamNotFriend Comment diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index f51932041..7402ea8ee 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1806,10 +1806,13 @@ bool is_spam_filtered(const EInstantMessage& dialog, bool is_friend, bool is_own return true; } -void inventory_offer_handler(LLOfferInfo* info) +void inventory_offer_handler(LLOfferInfo* info, bool is_friend, bool is_owned_by_me) { + static const LLCachedControl no_landmarks(gSavedSettings, "AntiSpamItemOffersLandmarks"); // NaCl - Antispam Registry - if (NACLAntiSpamRegistry::checkQueue((U32)NACLAntiSpamRegistry::QUEUE_INVENTORY,info->mFromID)) + if (NACLAntiSpamRegistry::checkQueue((U32)NACLAntiSpamRegistry::QUEUE_INVENTORY,info->mFromID) + || (!has_spam_bypass(is_friend, is_owned_by_me) + && (no_landmarks && info->mType == LLAssetType::AT_LANDMARK))) { delete info; return; @@ -2941,7 +2944,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) */ else { - inventory_offer_handler(info); + inventory_offer_handler(info, is_friend, is_owned_by_me); } } break; diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml index dfb12066f..e0d0867d2 100644 --- a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml +++ b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml @@ -168,6 +168,7 @@ The following wildcards are available to enhance your autoresponses: #n for user + Except those from: