From 955788d72bfce145c70828bd257e7d6b8f492afd Mon Sep 17 00:00:00 2001 From: Hazim Gazov Date: Wed, 18 Aug 2010 05:00:29 +0000 Subject: [PATCH] don't ever use IP spoofing protection on a non-LL grid. display the warning near the slider that there may be blue screens --- indra/newview/hbprefsinert.cpp | 8 +++++++- indra/newview/llpanellogin.cpp | 15 ++++++++++++++- indra/newview/llstartup.cpp | 8 -------- .../default/xui/en-us/panel_preferences_inert.xml | 5 +++-- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/indra/newview/hbprefsinert.cpp b/indra/newview/hbprefsinert.cpp index 9dbd3032a..d7376ea7c 100644 --- a/indra/newview/hbprefsinert.cpp +++ b/indra/newview/hbprefsinert.cpp @@ -39,6 +39,7 @@ #include "lluictrlfactory.h" #include "llcombobox.h" #include "llwind.h" +#include "llviewernetwork.h" #include "pipeline.h" class LLPrefsInertImpl : public LLPanel @@ -270,8 +271,13 @@ void LLPrefsInertImpl::apply() if(new_spoof_protection != mSpoofProtectionAtOpen) { mSpoofProtectionAtOpen = new_spoof_protection; + gMessageSystem->stopSpoofProtection(); - gMessageSystem->startSpoofProtection(new_spoof_protection); + + if(LLViewerLogin::getInstance()->getGridChoice() < GRID_INFO_LOCAL) + gMessageSystem->startSpoofProtection(new_spoof_protection); + else + gMessageSystem->startSpoofProtection(0); } } refreshValues(); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index d9d0cdd84..5b370e99b 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -80,6 +80,7 @@ // #include "llappviewer.h" #include "llspinctrl.h" +#include "llviewermessage.h" #include // #define USE_VIEWER_AUTH 0 @@ -1233,7 +1234,19 @@ void LLPanelLogin::onClickConnect(void *) { if (sInstance && sInstance->mCallback) { - // save identity settings for login + // + if(gMessageSystem) + { + //IP spoofing protection only really works on the LL's grids + if(LLViewerLogin::getInstance()->getGridChoice() < GRID_INFO_LOCAL) + gMessageSystem->startSpoofProtection(gSavedSettings.getU32("SpoofProtectionLevel")); + else + gMessageSystem->startSpoofProtection(0); + + gMessageSystem->setSpoofDroppedCallback(spoof_dropped_callback); + } + + // save identity settings for login bool specify_mac = sInstance->getChild("mac_check")->getValue(); bool specify_id0 = sInstance->getChild("id0_check")->getValue(); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 30c70527c..bb0b24391 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -927,14 +927,6 @@ bool idle_startup() LLAppViewer::instance()->earlyExit("LoginFailedNoNetwork", LLSD().insert("DIAGNOSTIC", diagnostic)); } - // - if(gMessageSystem) - { - gMessageSystem->startSpoofProtection(gSavedSettings.getU32("SpoofProtectionLevel")); - gMessageSystem->setSpoofDroppedCallback(spoof_dropped_callback); - } - // - #if LL_WINDOWS // On the windows dev builds, unpackaged, the message.xml file will // be located in indra/build-vc**/newview//app_settings. diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_inert.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_inert.xml index 2fd3c7be1..8afd1afdb 100644 --- a/indra/newview/skins/default/xui/en-us/panel_preferences_inert.xml +++ b/indra/newview/skins/default/xui/en-us/panel_preferences_inert.xml @@ -102,9 +102,10 @@ bottom="-20" drop_shadow_visible="true" enabled="true" follows="left|top" font="SansSerifSmall" h_pad="0" halign="left" height="10" left="12" mouse_opaque="false" name="text_box" v_pad="0" width="500"> - IP Spoofing Protection (0 being off, 3 being highest, anything higher than 1 may BlueScreen Windows) + IP Spoofing Protection (0 being off, 3 being highest, +anything higher than 1 may bluescreen Windows in tcpip.sys) -