diff --git a/BuildParams b/BuildParams
index 6adae15d5f82ed90228292b66c5586c63ee1a6a3..f0892c6c4655b91bf80f53218249c44e5acb551f 100644
--- a/BuildParams
+++ b/BuildParams
@@ -1,19 +1,15 @@
 # BuildParams
 #
 # Please refer to:
-#  https://wiki.lindenlab.com/wiki/Parabuild_with_Mercurial#How_Build_Parameters_Work
+#  https://wiki.secondlife.com/wiki/Automated_Build_System
 
 # Global setting for now...
 Darwin.symbolfiles = "newview/Release/secondlife-symbols-darwin.tar.bz2"
 CYGWIN.symbolfiles = "newview/Release/secondlife-symbols-windows.tar.bz2"
 Linux.symbolfiles = "newview/secondlife-symbols-linux.tar.bz2"
 
-# Public Upload Locations overriding the default private ones
-S3PROXY_URL = http://automated-builds-secondlife-com.s3.amazonaws.com/
-S3INTERNAL_URL = http://automated-builds-secondlife-com.s3.amazonaws.com/
-S3GET_URL = http://automated-builds-secondlife-com.s3.amazonaws.com/
-S3PUT_URL = https://s3.amazonaws.com/automated-builds-secondlife-com/
-S3ACL = public-read
+# Use Public Upload Locations
+public_build = true
 
 # Update Public Inworld Build Status Indicators
 email_status_this_is_os = true
@@ -27,7 +23,6 @@ viewer-development.show_changes_since = 2-1-release
 
 # Build Settings
 viewer-development_coverity.coverity_product = viewer
-
 viewer-development.build_debug_release_separately = true
 
 # Notifications - to configure email notices, add a setting like this:
diff --git a/doc/contributions.txt b/doc/contributions.txt
index f451c5732ee51600360326471edbcd5411e05859..0a0123b507f35c20f7ab47cde1a630e627a8ec5b 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -127,6 +127,8 @@ Asuka Neely
 	VWR-8179
 Balp Allen
 	VWR-4157
+Be Holder
+	SNOW-397
 Benja Kepler
 	VWR-746
 Biancaluce Robbiani
@@ -153,6 +155,7 @@ Boroondas Gupte
 	SNOW-503
 	SNOW-510
 	SNOW-527
+	SNOW-610
 	SNOW-624
 	VWR-233
 	WEB-262
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 37cd289b1ba9522cd3da8895e16c4cc661755379..fe7e883d8382a8e525e6ac31fd7bab9f6bcc41f6 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -827,6 +827,11 @@ LLVector3d LLAgent::getPosGlobalFromAgent(const LLVector3 &pos_agent) const
 	return pos_agent_d + mAgentOriginGlobal;
 }
 
+void LLAgent::sitDown()
+{
+	setControlFlags(AGENT_CONTROL_SIT_ON_GROUND);
+}
+
 
 //-----------------------------------------------------------------------------
 // resetAxes()
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index 0d95683a9837c60a731af0e3a8a1fbd752a5c7db..c643cef78fffcae33a5027bc09745986037b12b8 100644
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -345,6 +345,8 @@ private:
 	//--------------------------------------------------------------------
 public:
 	void			standUp();
+	/// @brief ground-sit at agent's current position
+	void			sitDown();
 
 	//--------------------------------------------------------------------
 	// Busy
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index c2750680282233fb6d3cc0090e95b99ecbb31ff3..daeace0ec5c9f2bf1e856dc13615bcac4e6d891e 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -3383,8 +3383,21 @@ class LLSelfStandUp : public view_listener_t
 
 bool enable_standup_self()
 {
-	bool new_value = isAgentAvatarValid() && gAgentAvatarp->isSitting();
-	return new_value;
+    return isAgentAvatarValid() && gAgentAvatarp->isSitting();
+}
+
+class LLSelfSitDown : public view_listener_t
+    {
+        bool handleEvent(const LLSD& userdata)
+        {
+            gAgent.sitDown();
+            return true;
+        }
+    };
+
+bool enable_sitdown_self()
+{
+    return isAgentAvatarValid() && !gAgentAvatarp->isSitting() && !gAgent.getFlying();
 }
 
 // Used from the login screen to aid in UI work on side tray
@@ -8100,11 +8113,13 @@ void initialize_menus()
 	// Admin top level
 	view_listener_t::addMenu(new LLAdminOnSaveState(), "Admin.OnSaveState");
 
-	// Self pie menu
+	// Self context menu
 	view_listener_t::addMenu(new LLSelfStandUp(), "Self.StandUp");
+	enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self));
+	view_listener_t::addMenu(new LLSelfSitDown(), "Self.SitDown");
+	enable.add("Self.EnableSitDown", boost::bind(&enable_sitdown_self));
 	view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments");
 
-	enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self));
 	view_listener_t::addMenu(new LLSelfEnableRemoveAllAttachments(), "Self.EnableRemoveAllAttachments");
 
 	// we don't use boost::bind directly to delay side tray construction
diff --git a/indra/newview/skins/default/xui/en/menu_attachment_self.xml b/indra/newview/skins/default/xui/en/menu_attachment_self.xml
index e2348375d55b7a25b67a7a7ec1a0794315cfce77..84e81397beb465b0df1b180f7cd845ab60decc93 100644
--- a/indra/newview/skins/default/xui/en/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/en/menu_attachment_self.xml
@@ -23,7 +23,7 @@
         <menu_item_call.on_enable
          function="Self.EnableStandUp" />
     </menu_item_call-->
-        <menu_item_call
+    <menu_item_call
      enabled="false"
      label="Edit"
      layout="topleft"
@@ -46,6 +46,17 @@
   <menu_item_separator
     layout="topleft" />
 
+    <menu_item_call
+     label="Sit Down"
+     layout="topleft"
+     name="Sit Down Here">
+        <menu_item_call.on_click
+         function="Self.SitDown"
+         parameter="" />
+        <menu_item_call.on_enable
+         function="Self.EnableSitDown" />
+    </menu_item_call>
+
   <menu_item_call
 label="Stand Up"
 layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/menu_avatar_self.xml b/indra/newview/skins/default/xui/en/menu_avatar_self.xml
index d5b993152a5374bbfafe973e9b8ebbd5e789abc8..9059745f4602ea858e08caafb28ce06a4d992cfa 100644
--- a/indra/newview/skins/default/xui/en/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/en/menu_avatar_self.xml
@@ -2,7 +2,17 @@
 <context_menu
  layout="topleft"
  name="Self Pie">
-       <menu_item_call
+    <menu_item_call
+     label="Sit Down"
+     layout="topleft"
+     name="Sit Down Here">
+        <menu_item_call.on_click
+         function="Self.SitDown"
+         parameter="" />
+        <menu_item_call.on_enable
+         function="Self.EnableSitDown" />
+    </menu_item_call>
+    <menu_item_call
      label="Stand Up"
      layout="topleft"
      name="Stand Up">
diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml
index ea18e02ca1e770c2d7d29da9e48d5f2ba3c0721f..30c2cde552d3f83777b0bc60daf2b96404e8ec6a 100644
--- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml
@@ -5,6 +5,16 @@
          mouse_opaque="false"
          visible="false"
          name="Gear Menu">
+  <menu_item_call
+   label="Sit Down"
+   enabled="true"
+   name="sit_down_here">
+    <menu_item_call.on_click
+     function="Self.SitDown"
+     parameter="" />
+    <menu_item_call.on_visible
+     function="Self.EnableSitDown" />
+  </menu_item_call>
   <menu_item_call
    label="Stand Up"
    enabled="true"
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index e963bcc9f7b17d962550816120814fc66fdc6508..08ba8c13b1f529d61ad130d7db55823c84360591 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -930,10 +930,10 @@ class Linux_i686Manifest(LinuxManifest):
             self.path("libopenal.so", "libopenal.so.1")
             self.path("libopenal.so", "libvivoxoal.so.1") # vivox's sdk expects this soname
             try:
-                    self.path("libkdu_v42R.so", "libkdu.so")
+                    self.path("libkdu.so")
                     pass
             except:
-                    print "Skipping libkdu_v42R.so - not found"
+                    print "Skipping libkdu.so - not found"
                     pass
             try:
                     self.path("libfmod-3.75.so")
diff --git a/install.xml b/install.xml
index 3a9dc5f6d1101d19f1adbe721ab5cdeb2b27f708..a47a732d56a7a52572ffe110b3c10c7be8733e79 100644
--- a/install.xml
+++ b/install.xml
@@ -797,9 +797,9 @@
           <key>linux</key>
           <map>
             <key>md5sum</key>
-            <string>b379063f5f03374f85620e87ce48e497</string>
+            <string>b1f15bbabb68445e55ce23a2aeaca598</string>
             <key>url</key>
-            <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/indra_private-2.1.1-linux-20100820.tar.bz2</uri>
+            <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/indra_private-2.1.1-linux-20100826.tar.bz2</uri>
           </map>
           <key>windows</key>
           <map>