From a1fb89ebb6e6cc89ed301b10305c145da3be295f Mon Sep 17 00:00:00 2001 From: Brad Kittenbrink Date: Tue, 23 Nov 2021 17:44:06 -0800 Subject: [PATCH 01/56] SL-16365 Viewer adds empty mfa token to login params --- indra/newview/lllogininstance.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index e81d2cc082..25182593ce 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -225,6 +225,7 @@ void LLLoginInstance::constructAuthParams(LLPointer user_credentia request_params["id0"] = mSerialNumber; request_params["host_id"] = gSavedSettings.getString("HostID"); request_params["extended_errors"] = true; // request message_id and message_args + request_params["token"] = ""; // log request_params _before_ adding the credentials LL_DEBUGS("LLLogin") << "Login parameters: " << LLSDOStreamer(request_params) << LL_ENDL; From d307843dd431de86e6d4c4f3e6fe8eaf946354d4 Mon Sep 17 00:00:00 2001 From: Brad Kittenbrink Date: Tue, 23 Nov 2021 17:39:37 -0800 Subject: [PATCH 02/56] SL-16388 Viewer MFA Implementation We now present MFA errors to the user during login and prompt them for an authentication token. --- indra/newview/CMakeLists.txt | 2 + indra/newview/llfloatermfa.cpp | 104 ++++++++++++++++++ indra/newview/llfloatermfa.h | 50 +++++++++ indra/newview/lllogininstance.cpp | 40 +++++++ indra/newview/lllogininstance.h | 1 + indra/newview/llstartup.cpp | 6 +- indra/newview/llviewerfloaterreg.cpp | 2 + .../skins/default/xui/en/floater_mfa.xml | 50 +++++++++ 8 files changed, 252 insertions(+), 3 deletions(-) create mode 100644 indra/newview/llfloatermfa.cpp create mode 100644 indra/newview/llfloatermfa.h create mode 100644 indra/newview/skins/default/xui/en/floater_mfa.xml diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 1969c498f0..9e6cd48f21 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -271,6 +271,7 @@ set(viewer_SOURCE_FILES llfloatermap.cpp llfloatermediasettings.cpp llfloatermemleak.cpp + llfloatermfa.cpp llfloatermodelpreview.cpp llfloatermodeluploadbase.cpp llfloatermyscripts.cpp @@ -913,6 +914,7 @@ set(viewer_HEADER_FILES llfloatermarketplacelistings.h llfloatermediasettings.h llfloatermemleak.h + llfloatermfa.h llfloatermodelpreview.h llfloatermodeluploadbase.h llfloatermyscripts.h diff --git a/indra/newview/llfloatermfa.cpp b/indra/newview/llfloatermfa.cpp new file mode 100644 index 0000000000..9fb6788923 --- /dev/null +++ b/indra/newview/llfloatermfa.cpp @@ -0,0 +1,104 @@ +/** + * @file llfloatermfa.cpp + * @brief Multi-Factor Auth token submission dialog + * + * $LicenseInfo:firstyear=2003&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llfloatermfa.h" + +// viewer includes +#include "llevents.h" + + +LLFloaterMFA::LLFloaterMFA(const LLSD& data) +: LLModalDialog("mfa_challenge"), + mMessage(data["message"].asStringRef()), + mReplyPumpName(data["reply_pump"].asStringRef()) +{ + +} + +LLFloaterMFA::~LLFloaterMFA() +{ +} + +BOOL LLFloaterMFA::postBuild() +{ + childSetAction("Continue", onContinue, this); + childSetAction("Cancel", onCancel, this); + + if (hasChild("token_prompt")) + { + // this displays the prompt message + LLUICtrl *token_prompt = getChild("token_prompt"); + token_prompt->setEnabled( FALSE ); + token_prompt->setFocus(TRUE); + token_prompt->setValue(LLSD(mMessage)); + + return TRUE; + } + + return TRUE; +} + +// static +void LLFloaterMFA::onContinue( void* userdata ) +{ + LLFloaterMFA* self = (LLFloaterMFA*) userdata; + LL_INFOS("MFA") << "User submits MFA token for challenge." << LL_ENDL; + + std::string token{"8675309"}; + + if (self->hasChild("token")) + { + // this displays the prompt message + LLUICtrl *token_ctrl = self->getChild("token"); + + token = token_ctrl->getValue().asStringRef(); + } + + if(self->mReplyPumpName != "") + { + LLEventPumps::instance().obtain(self->mReplyPumpName).post(LLSD(token)); + } + + self->closeFloater(); // destroys this object +} + +// static +void LLFloaterMFA::onCancel( void* userdata ) +{ + LLFloaterMFA* self = (LLFloaterMFA*) userdata; + LL_INFOS("MFA") << "User cancels MFA challenge attempt." << LL_ENDL; + + if(self->mReplyPumpName != "") + { + LL_DEBUGS("MFA") << self->mReplyPumpName << LL_ENDL; + LLEventPumps::instance().obtain(self->mReplyPumpName).post(LLSD()); + } + + // destroys this object + self->closeFloater(); +} diff --git a/indra/newview/llfloatermfa.h b/indra/newview/llfloatermfa.h new file mode 100644 index 0000000000..c6c79439b8 --- /dev/null +++ b/indra/newview/llfloatermfa.h @@ -0,0 +1,50 @@ +/** + * @file llfloatermfa.h + * @brief Multi-Factor Auth token submission dialog + * + * $LicenseInfo:firstyear=2003&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_LLFLOATERMFA_H +#define LL_LLFLOATERMFA_H + +#include "llmodaldialog.h" + + +class LLFloaterMFA : + public LLModalDialog +{ +public: + LLFloaterMFA(const LLSD& data); + virtual ~LLFloaterMFA(); + + BOOL postBuild(); + + static void onContinue(void* userdata); + static void onCancel(void* userdata); + +private: + std::string mMessage; + std::string mReplyPumpName; +}; + +#endif // LL_FLOATERMFA_H diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index 25182593ce..e380e5a3f4 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -75,6 +75,8 @@ public: static const char * const TOS_REPLY_PUMP = "lllogininstance_tos_callback"; static const char * const TOS_LISTENER_NAME = "lllogininstance_tos"; +static const char * const MFA_REPLY_PUMP = "lllogininstance_mfa_callback"; +static const char * const MFA_LISTENER_NAME = "lllogininstance_mfa"; std::string construct_start_string(); @@ -408,6 +410,23 @@ void LLLoginInstance::handleLoginFailure(const LLSD& event) boost::bind(&LLLoginInstance::syncWithUpdater, this, resp, _1, _2)); } } + else if(reason_response == "mfa_challenge") + { + LL_DEBUGS("LLLogin") << " MFA challenge" << LL_ENDL; + + LLSD data(LLSD::emptyMap()); + data["message"] = message_response; + data["reply_pump"] = MFA_REPLY_PUMP; + if (gViewerWindow) + { + gViewerWindow->setShowProgress(FALSE); + } + LLFloaterReg::showInstance("message_mfa", data); + LLEventPumps::instance().obtain(MFA_REPLY_PUMP) + .listen(MFA_LISTENER_NAME, [=](const LLSD& token) { + return this->handleMFAResponse(token, "token"); + }); + } else if( reason_response == "key" || reason_response == "presence" || reason_response == "connect" @@ -502,6 +521,27 @@ bool LLLoginInstance::handleTOSResponse(bool accepted, const std::string& key) return true; } +bool LLLoginInstance::handleMFAResponse(const std::string& token, const std::string& key) +{ + if(!token.empty()) + { + LL_INFOS("LLLogin") << "LLLoginInstance::handleMFAResponse: token submitted" << LL_ENDL; + + // Set the request data to true and retry login. + mRequestData["params"][key] = token; + reconnect(); + } + else + { + LL_INFOS("LLLogin") << "LLLoginInstance::handleMFAResponse: no token, attemptComplete" << LL_ENDL; + + attemptComplete(); + } + + LLEventPumps::instance().obtain(MFA_REPLY_PUMP).stopListening(MFA_LISTENER_NAME); + return true; +} + std::string construct_start_string() { std::string start; diff --git a/indra/newview/lllogininstance.h b/indra/newview/lllogininstance.h index b759b43474..ce64e9e3be 100644 --- a/indra/newview/lllogininstance.h +++ b/indra/newview/lllogininstance.h @@ -84,6 +84,7 @@ private: void syncWithUpdater(ResponsePtr resp, const LLSD& notification, const LLSD& response); bool handleTOSResponse(bool v, const std::string& key); + bool handleMFAResponse(const std::string& v, const std::string& key); void attemptComplete() { mAttemptComplete = true; } // In the future an event? diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index f22be6481a..228d64c17b 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1117,10 +1117,10 @@ bool idle_startup() } else { - if (reason_response != "tos") + if (reason_response != "tos" && reason_response != "mfa_challenge") { - // Don't pop up a notification in the TOS case because - // LLFloaterTOS::onCancel() already scolded the user. + // Don't pop up a notification in the TOS or MFA cases because + // the specialized floater has already scolded the user. std::string error_code; if(response.has("errorcode")) { diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 5a05f89758..603cc00062 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -91,6 +91,7 @@ #include "llfloatermarketplacelistings.h" #include "llfloatermediasettings.h" #include "llfloatermemleak.h" +#include "llfloatermfa.h" #include "llfloatermodelpreview.h" #include "llfloatermyscripts.h" #include "llfloatermyenvironment.h" @@ -286,6 +287,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("marketplace_validation", "floater_marketplace_validation.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("message_critical", "floater_critical.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("message_tos", "floater_tos.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); + LLFloaterReg::add("message_mfa", "floater_mfa.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("moveview", "floater_moveview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("mute_object_by_name", "floater_mute_object.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); diff --git a/indra/newview/skins/default/xui/en/floater_mfa.xml b/indra/newview/skins/default/xui/en/floater_mfa.xml new file mode 100644 index 0000000000..acdfbc82c0 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_mfa.xml @@ -0,0 +1,50 @@ + + + + token prompt + + + - - - - - - Drag to move, shift-drag to copy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [DESC] [NUM] - - - Nothing selected. - - - - - [CAPACITY_STRING] [secondlife:///app/openfloater/object_weights More info] - - - - - - - Deed - - - Deed - - - You can modify this object - - - You can modify these objects - - - You can't modify this object - - - You can't modify these objects - - - You can't modify this object across a region boundary - - - You can't modify these objects across a region boundary - - - You must select entire object to set permissions - - - Price: L$ - - - Total Price: L$ - - - Price Per: L$ - - - Mixed Price - - - Mixed Sale - - - Multiple selection - - - Name: - - - - Description: - - - - Creator: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect TestString PleaseIgnore (please.ignore) - - - Owner: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect TestString PleaseIgnore (please.ignore) - - - Last Owner: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect TestString PleaseIgnore (please.ignore) - - - Group: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect Loading... - - - - - - You can modify this object - - - Anyone: - - - - - - Next owner: - - - - - - - B: - - - O: - - - G: - - - E: - - - N: - - - F: - - - - - Pathfinding attributes: - - - - - - - - - Paste Position -[VALUE] - - - Paste Size -[VALUE] - - - Paste Rotation -[VALUE] - - - - - - - Position (meters) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path Cut (begin/end) - - - - - Hollow - - - Skew - - - - - Hollow Shape - - - - - - - - - Twist (begin/end) - - - - - Taper - - - Hole Size - - - - - Top Shear - - - - - Profile Cut (begin/end) - - - Dimple (begin/end) - - - Slice (begin/end) - - - - - Taper Profile - - - - - Radius - - - Revolutions - - - - - - - - Stitching type - - - - - - - - - - Mesh Information: - - - - -High: -Medium: -Low: -Lowest: - - -[HIGHTRIS] -[MIDTRIS] -[LOWTRIS] -[LOWESTTRIS] - - - - - - - - - - - - - - - - - Linden Lab Second Life Viewer default ([FACTOR]) - - [APP_NAME] Viewer default ([FACTOR]) - - [APP_NAME_ABBR] - - [FACTOR] - - -High ↔ Med -Med ↔ Low -Low ↔ Lwst - - -[HIGH2MED] -[MED2LOW] -[LOW2LOWEST] - - - - - - This table shows the LOD change boundaries in metres from the camera. - - - - - None - Prim - Convex Hull - - Select only one primitive to edit features. - - - Edit object features: - - - - - - - - - - - - - - - - - - - - - - - Physics Shape Type: - - - - diff --git a/indra/newview/skins/starlight/xui/en/floater_ui_preview.xml b/indra/newview/skins/starlight/xui/en/floater_ui_preview.xml deleted file mode 100644 index df26a35f6f..0000000000 --- a/indra/newview/skins/starlight/xui/en/floater_ui_preview.xml +++ /dev/null @@ -1,420 +0,0 @@ - - - -Select an editor by setting the environment variable LL_XUI_EDITOR -or the ExternalEditor setting -or specifying its path in the "Editor Path" field. - - - Primary Language: - - - - - - - Me - - - - - Person - - - - - Infohub - - - - - Land Sale - - - - land auction - - - - by owner - - - - - Go Home - - - Events: - - - - - - General - - - - - - Moderate - - - - - - Adult - - - - - - - Find on Map - - - - - - - - - - - - - - - - - - - - - - - - - Location: - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlight/xui/en/main_view.xml b/indra/newview/skins/starlight/xui/en/main_view.xml deleted file mode 100644 index f0708bbfe1..0000000000 --- a/indra/newview/skins/starlight/xui/en/main_view.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlight/xui/en/panel_avatar_tag.xml b/indra/newview/skins/starlight/xui/en/panel_avatar_tag.xml deleted file mode 100644 index fcdb705240..0000000000 --- a/indra/newview/skins/starlight/xui/en/panel_avatar_tag.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - Angela Tester - - - - - The quick brown fox jumps over the lazy dog. - - diff --git a/indra/newview/skins/starlight/xui/en/panel_classified_info.xml b/indra/newview/skins/starlight/xui/en/panel_classified_info.xml deleted file mode 100644 index b3f4af97a8..0000000000 --- a/indra/newview/skins/starlight/xui/en/panel_classified_info.xml +++ /dev/null @@ -1,470 +0,0 @@ - - - - Moderate - - - General Content - - - L$[PRICE] - - - [TELEPORT] teleport, [MAP] map, [PROFILE] profile - - - [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt] - - - Enabled - - - Disabled - - - - - - - - -Warning: the home page specified in the General tab fails to pass this whitelist. It has been disabled until a valid entry has been added. - - - diff --git a/indra/newview/skins/starlight/xui/en/panel_my_profile.xml b/indra/newview/skins/starlight/xui/en/panel_my_profile.xml deleted file mode 100644 index bb8b7c3a35..0000000000 --- a/indra/newview/skins/starlight/xui/en/panel_my_profile.xml +++ /dev/null @@ -1,382 +0,0 @@ - - - -[ACCTTYPE] -[PAYMENTINFO] [FIRESTORM][FSDEV][FSSUPP][FSQA][FSGW] - - - - - - - - http://www.secondlife.com/account/billing.php?lang=en - - - http://www.secondlife.com/account/partners.php?lang=en - - - - - - [REG_DATE] ([AGE]) - - - [NAME] - - - [DISPLAY_NAME] - - - - - - - - - - - Resident. No payment info on file. - Linden. - - - - - - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra orci et justo sagittis aliquet.Nullamma lesuada mauris sit amet ipsum. adipiscing elit. Ae nean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. - - - - - - - - - - - - - - - - - Nearby Media - - - Show: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlight/xui/en/panel_notes.xml b/indra/newview/skins/starlight/xui/en/panel_notes.xml deleted file mode 100644 index 7c0ac7e085..0000000000 --- a/indra/newview/skins/starlight/xui/en/panel_notes.xml +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Mighty Moose of mooseville soundvillemoose - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlight/xui/en/panel_places.xml b/indra/newview/skins/starlight/xui/en/panel_places.xml deleted file mode 100644 index 12309c77de..0000000000 --- a/indra/newview/skins/starlight/xui/en/panel_places.xml +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlight/xui/en/panel_status_bar.xml b/indra/newview/skins/starlight/xui/en/panel_status_bar.xml deleted file mode 100644 index ad7da6fde1..0000000000 --- a/indra/newview/skins/starlight/xui/en/panel_status_bar.xml +++ /dev/null @@ -1,423 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlight/xui/en/sidepanel_appearance.xml b/indra/newview/skins/starlight/xui/en/sidepanel_appearance.xml deleted file mode 100644 index 1f252a06b1..0000000000 --- a/indra/newview/skins/starlight/xui/en/sidepanel_appearance.xml +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/floater_price_for_listing.xml b/indra/newview/skins/starlightcui/xui/en/floater_price_for_listing.xml deleted file mode 100644 index 616bbdc47d..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/floater_price_for_listing.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - Your classified ad will run for one week from the day it is published. - -Your ad's position in the classified listings is determined by how much you choose to pay. - -The highest paid ads go to the top of the list, and appear higher in searches. - - - Price for Ad: - - - L$ - - - - - - - - - Drag to move, shift-drag to copy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [DESC] [NUM] - - - Nothing selected. - - - - - [CAPACITY_STRING] [secondlife:///app/openfloater/object_weights More info] - - - - - - - Deed - - - Deed - - - You can modify this object - - - You can modify these objects - - - You can't modify this object - - - You can't modify these objects - - - You can't modify this object across a region boundary - - - You can't modify these objects across a region boundary - - - You must select entire object to set permissions - - - Price: L$ - - - Total Price: L$ - - - Price Per: L$ - - - Mixed Price - - - Mixed Sale - - - Multiple selection - - - Name: - - - - Description: - - - - Creator: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect TestString PleaseIgnore (please.ignore) - - - Owner: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect TestString PleaseIgnore (please.ignore) - - - Last Owner: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect TestString PleaseIgnore (please.ignore) - - - Group: - - - - secondlife:///app/agent/00000000-0000-0000-0000-000000000000/inspect Loading... - - - - - - You can modify this object - - - Anyone: - - - - - - Next owner: - - - - - - - B: - - - O: - - - G: - - - E: - - - N: - - - F: - - - - - Pathfinding attributes: - - - - - - - - - Paste Position -[VALUE] - - - Paste Size -[VALUE] - - - Paste Rotation -[VALUE] - - - - - - - Position (meters) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Path Cut (begin/end) - - - - - Hollow - - - Skew - - - - - Hollow Shape - - - - - - - - - Twist (begin/end) - - - - - Taper - - - Hole Size - - - - - Top Shear - - - - - Profile Cut (begin/end) - - - Dimple (begin/end) - - - Slice (begin/end) - - - - - Taper Profile - - - - - Radius - - - Revolutions - - - - - - - - Stitching type - - - - - - - - - - Mesh Information: - - - - -High: -Medium: -Low: -Lowest: - - -[HIGHTRIS] -[MIDTRIS] -[LOWTRIS] -[LOWESTTRIS] - - - - - - - - - - - - - - - - - Linden Lab Second Life Viewer default ([FACTOR]) - - [APP_NAME] Viewer default ([FACTOR]) - - [APP_NAME_ABBR] - - [FACTOR] - - -High ↔ Med -Med ↔ Low -Low ↔ Lwst - - -[HIGH2MED] -[MED2LOW] -[LOW2LOWEST] - - - - - - This table shows the LOD change boundaries in metres from the camera. - - - - - None - Prim - Convex Hull - - Select only one primitive to edit features. - - - Edit object features: - - - - - - - - - - - - - - - - - - - - - - - Physics Shape Type: - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/floater_ui_preview.xml b/indra/newview/skins/starlightcui/xui/en/floater_ui_preview.xml deleted file mode 100644 index 65bde85d2a..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/floater_ui_preview.xml +++ /dev/null @@ -1,420 +0,0 @@ - - - -Select an editor by setting the environment variable LL_XUI_EDITOR -or the ExternalEditor setting -or specifying its path in the "Editor Path" field. - - - Primary Language: - - - - - - - Me - - - - - Person - - - - - Infohub - - - - - Land Sale - - - - land auction - - - - by owner - - - - - Go Home - - - Events: - - - - - - General - - - - - - Moderate - - - - - - Adult - - - - - - - Find on Map - - - - - - - - - - - - - - - - - - - - - - - - - Location: - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/line_editor.xml b/indra/newview/skins/starlightcui/xui/en/line_editor.xml deleted file mode 100644 index b6fd4bb15f..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/line_editor.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/main_view.xml b/indra/newview/skins/starlightcui/xui/en/main_view.xml deleted file mode 100644 index 8f2e284a7b..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/main_view.xml +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/panel_avatar_tag.xml b/indra/newview/skins/starlightcui/xui/en/panel_avatar_tag.xml deleted file mode 100644 index fcdb705240..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/panel_avatar_tag.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - Angela Tester - - - - - The quick brown fox jumps over the lazy dog. - - diff --git a/indra/newview/skins/starlightcui/xui/en/panel_classified_info.xml b/indra/newview/skins/starlightcui/xui/en/panel_classified_info.xml deleted file mode 100644 index b3f4af97a8..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/panel_classified_info.xml +++ /dev/null @@ -1,470 +0,0 @@ - - - - Moderate - - - General Content - - - L$[PRICE] - - - [TELEPORT] teleport, [MAP] map, [PROFILE] profile - - - [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt] - - - Enabled - - - Disabled - - - - - - - - -Warning: the home page specified in the General tab fails to pass this whitelist. It has been disabled until a valid entry has been added. - - - diff --git a/indra/newview/skins/starlightcui/xui/en/panel_my_profile.xml b/indra/newview/skins/starlightcui/xui/en/panel_my_profile.xml deleted file mode 100644 index bb8b7c3a35..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/panel_my_profile.xml +++ /dev/null @@ -1,382 +0,0 @@ - - - -[ACCTTYPE] -[PAYMENTINFO] [FIRESTORM][FSDEV][FSSUPP][FSQA][FSGW] - - - - - - - - http://www.secondlife.com/account/billing.php?lang=en - - - http://www.secondlife.com/account/partners.php?lang=en - - - - - - [REG_DATE] ([AGE]) - - - [NAME] - - - [DISPLAY_NAME] - - - - - - - - - - - Resident. No payment info on file. - Linden. - - - - - - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra orci et justo sagittis aliquet.Nullamma lesuada mauris sit amet ipsum. adipiscing elit. Ae nean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. - - - - - - - - - - - - - - - - - Nearby Media - - - Show: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/panel_notes.xml b/indra/newview/skins/starlightcui/xui/en/panel_notes.xml deleted file mode 100644 index 7c0ac7e085..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/panel_notes.xml +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Mighty Moose of mooseville soundvillemoose - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/panel_places.xml b/indra/newview/skins/starlightcui/xui/en/panel_places.xml deleted file mode 100644 index 12309c77de..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/panel_places.xml +++ /dev/null @@ -1,420 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/panel_stand_stop_flying.xml b/indra/newview/skins/starlightcui/xui/en/panel_stand_stop_flying.xml deleted file mode 100644 index ee6b2b9d44..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/panel_stand_stop_flying.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/panel_status_bar.xml b/indra/newview/skins/starlightcui/xui/en/panel_status_bar.xml deleted file mode 100644 index e911fc9b6c..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/panel_status_bar.xml +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/sidepanel_appearance.xml b/indra/newview/skins/starlightcui/xui/en/sidepanel_appearance.xml deleted file mode 100644 index 6a64942ed6..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/sidepanel_appearance.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/chiclet_im_p2p.xml b/indra/newview/skins/starlightcui/xui/en/widgets/chiclet_im_p2p.xml deleted file mode 100644 index 37144bb81b..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/chiclet_im_p2p.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/clothing_list_item.xml b/indra/newview/skins/starlightcui/xui/en/widgets/clothing_list_item.xml deleted file mode 100644 index d83f44737e..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/clothing_list_item.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/combo_box.xml b/indra/newview/skins/starlightcui/xui/en/widgets/combo_box.xml deleted file mode 100644 index a2e735cb08..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/combo_box.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/deletable_wearable_list_item.xml b/indra/newview/skins/starlightcui/xui/en/widgets/deletable_wearable_list_item.xml deleted file mode 100644 index bd977aa4a6..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/deletable_wearable_list_item.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/drop_down.xml b/indra/newview/skins/starlightcui/xui/en/widgets/drop_down.xml deleted file mode 100644 index 5260e080cb..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/drop_down.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/dummy_clothing_list_item.xml b/indra/newview/skins/starlightcui/xui/en/widgets/dummy_clothing_list_item.xml deleted file mode 100644 index 11bc36c01d..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/dummy_clothing_list_item.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/floater.xml b/indra/newview/skins/starlightcui/xui/en/widgets/floater.xml deleted file mode 100644 index 3829e1f84a..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/floater.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/fs_chiclet_im_p2p.xml b/indra/newview/skins/starlightcui/xui/en/widgets/fs_chiclet_im_p2p.xml deleted file mode 100644 index 07d8962d72..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/fs_chiclet_im_p2p.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/gesture_combo_list.xml b/indra/newview/skins/starlightcui/xui/en/widgets/gesture_combo_list.xml deleted file mode 100644 index 872d12cb87..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/gesture_combo_list.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/icon.xml b/indra/newview/skins/starlightcui/xui/en/widgets/icon.xml deleted file mode 100644 index fe0cee9c59..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/icon.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/inventory_list_item.xml b/indra/newview/skins/starlightcui/xui/en/widgets/inventory_list_item.xml deleted file mode 100644 index f31b247822..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/inventory_list_item.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/inventory_panel.xml b/indra/newview/skins/starlightcui/xui/en/widgets/inventory_panel.xml deleted file mode 100644 index 8aea659372..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/inventory_panel.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/line_editor.xml b/indra/newview/skins/starlightcui/xui/en/widgets/line_editor.xml deleted file mode 100644 index b6fd4bb15f..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/line_editor.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/location_input.xml b/indra/newview/skins/starlightcui/xui/en/widgets/location_input.xml deleted file mode 100644 index 4e61843aa9..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/location_input.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/menu.xml b/indra/newview/skins/starlightcui/xui/en/widgets/menu.xml deleted file mode 100644 index c074308134..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/menu.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/menu_bar.xml b/indra/newview/skins/starlightcui/xui/en/widgets/menu_bar.xml deleted file mode 100644 index 71a624ac04..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/menu_bar.xml +++ /dev/null @@ -1,8 +0,0 @@ - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/panel.xml b/indra/newview/skins/starlightcui/xui/en/widgets/panel.xml deleted file mode 100644 index 008d06a705..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/panel.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/progress_bar.xml b/indra/newview/skins/starlightcui/xui/en/widgets/progress_bar.xml deleted file mode 100644 index 2a6ea05b84..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/progress_bar.xml +++ /dev/null @@ -1,12 +0,0 @@ - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/recent_inventory_panel.xml b/indra/newview/skins/starlightcui/xui/en/widgets/recent_inventory_panel.xml deleted file mode 100644 index fe0d93a9c2..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/recent_inventory_panel.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/scroll_bar.xml b/indra/newview/skins/starlightcui/xui/en/widgets/scroll_bar.xml deleted file mode 100644 index 05b601eadd..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/scroll_bar.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/scroll_container.xml b/indra/newview/skins/starlightcui/xui/en/widgets/scroll_container.xml deleted file mode 100644 index abae7f7683..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/scroll_container.xml +++ /dev/null @@ -1,7 +0,0 @@ - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/simple_text_editor.xml b/indra/newview/skins/starlightcui/xui/en/widgets/simple_text_editor.xml deleted file mode 100644 index f9cf52c8fc..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/simple_text_editor.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/slider_bar.xml b/indra/newview/skins/starlightcui/xui/en/widgets/slider_bar.xml deleted file mode 100644 index 061cbfc177..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/slider_bar.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/split_button.xml b/indra/newview/skins/starlightcui/xui/en/widgets/split_button.xml deleted file mode 100644 index 78258bc3f0..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/split_button.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/tab_container.xml b/indra/newview/skins/starlightcui/xui/en/widgets/tab_container.xml deleted file mode 100644 index ed50e4f104..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/tab_container.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/talk_button.xml b/indra/newview/skins/starlightcui/xui/en/widgets/talk_button.xml deleted file mode 100644 index fd931a896b..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/talk_button.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - diff --git a/indra/newview/skins/starlightcui/xui/en/widgets/toolbar.xml b/indra/newview/skins/starlightcui/xui/en/widgets/toolbar.xml deleted file mode 100644 index 00d755cc1a..0000000000 --- a/indra/newview/skins/starlightcui/xui/en/widgets/toolbar.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -