Index: language/English (US)/strings.po
===================================================================
--- language/English (US)/strings.po	(revision 33045)
+++ language/English (US)/strings.po	(working copy)
@@ -8272,3 +8272,11 @@
 msgctxt "#34005"
 msgid "Flac"
 msgstr "Flac"
+
+msgctxt "#34006"
+msgid "- Primary DNS"
+msgstr ""
+
+msgctxt "#34007"
+msgid "- Secondary DNS"
+msgstr ""
\ No newline at end of file
Index: language/English/strings.po
===================================================================
--- language/English/strings.po	(revision 33045)
+++ language/English/strings.po	(working copy)
@@ -8688,3 +8688,11 @@
 msgctxt "#34005"
 msgid "Flac"
 msgstr ""
+
+msgctxt "#34006"
+msgid "- Primary DNS"
+msgstr ""
+
+msgctxt "#34007"
+msgid "- Secondary DNS"
+msgstr ""
Index: xbmc/Application.cpp
===================================================================
--- xbmc/Application.cpp	(revision 33045)
+++ xbmc/Application.cpp	(working copy)
@@ -548,29 +548,31 @@
         {
           case NETWORK_DASH:
             FEH_TextOut(pFont, iLine, L"Init network using dash settings...");
-            m_network.Initialize(NETWORK_DASH, "","","","");
+            m_network.Initialize(NETWORK_DASH, "","","","","");
             break;
           case NETWORK_DHCP:
             FEH_TextOut(pFont, iLine, L"Init network using DHCP...");
-            m_network.Initialize(NETWORK_DHCP, "","","","");
+            m_network.Initialize(NETWORK_DHCP, "","","","","");
             break;
           default:
             FEH_TextOut(pFont, iLine, L"Init network using static ip...");
             if( m_bXboxMediacenterLoaded )
             {
               m_network.Initialize(NETWORK_STATIC,
-                    g_guiSettings.GetString("network.ipaddress").c_str(),
-                    g_guiSettings.GetString("network.subnet").c_str(),
-                    g_guiSettings.GetString("network.gateway").c_str(),
-                    g_guiSettings.GetString("network.dns").c_str() );
+              g_guiSettings.GetString("network.ipaddress").c_str(),
+              g_guiSettings.GetString("network.subnet").c_str(),
+              g_guiSettings.GetString("network.gateway").c_str(),
+              g_guiSettings.GetString("network.dns").c_str(),
+              g_guiSettings.GetString("network.dns2").c_str() );
             }
             else
             {
               m_network.Initialize(NETWORK_STATIC,
-                    "192.168.0.42",
-                    "255.255.255.0",
-                    "192.168.0.1",
-                    "192.168.0.1" );
+              "192.168.0.42",
+              "255.255.255.0",
+              "192.168.0.1",
+              "192.168.0.1",
+              "0.0.0.0" );
             }
             break;
         }
@@ -940,7 +942,7 @@
         
         char extendDriveLetter = CIoSupport::GetExtendedPartitionDriveLetter(cDriveLetter-EXTEND_DRIVE_BEGIN);
         CLog::Log(LOGNOTICE, "  map extended drive %c:", extendDriveLetter);
-		
+    
         sprintf(szDevice, "Harddisk0\\Partition%u", i);
 
         CIoSupport::RemapDriveLetter(extendDriveLetter, szDevice);
@@ -1243,6 +1245,7 @@
     g_guiSettings.SetString("network.subnet", "255.255.255.0");
     g_guiSettings.SetString("network.gateway", "192.168.0.1");
     g_guiSettings.SetString("network.dns", "192.168.0.1");
+    g_guiSettings.SetString("network.dns2", "0.0.0.0");
     g_guiSettings.SetBool("services.ftpserver", true);
     g_guiSettings.SetBool("services.webserver", false);
     g_guiSettings.SetBool("locale.timeserver", false);
Index: xbmc/settings/GUISettings.cpp
===================================================================
--- xbmc/settings/GUISettings.cpp	(revision 33045)
+++ xbmc/settings/GUISettings.cpp	(working copy)
@@ -519,9 +519,10 @@
   AddString(2, "network.ipaddress", 719, "0.0.0.0", EDIT_CONTROL_IP_INPUT);
   AddString(3, "network.subnet", 720, "255.255.255.0", EDIT_CONTROL_IP_INPUT);
   AddString(4, "network.gateway", 721, "0.0.0.0", EDIT_CONTROL_IP_INPUT);
-  AddString(5, "network.dns", 722, "0.0.0.0", EDIT_CONTROL_IP_INPUT);
-  AddString(6, "network.dnssuffix", 22002, "", EDIT_CONTROL_INPUT, true);
-  AddInt(7, "network.bandwidth", 14042, 0, 0, 512, 100*1024, SPIN_CONTROL_INT_PLUS, MASK_KBPS, TEXT_OFF);
+  AddString(5, "network.dns", 34006, "0.0.0.0", EDIT_CONTROL_IP_INPUT);
+  AddString(6, "network.dns2", 34007, "0.0.0.0", EDIT_CONTROL_IP_INPUT);
+  AddString(7, "network.dnssuffix", 22002, "", EDIT_CONTROL_INPUT, true);
+  AddInt(8, "network.bandwidth", 14042, 0, 0, 512, 100*1024, SPIN_CONTROL_INT_PLUS, MASK_KBPS, TEXT_OFF);
 
   AddSeparator(12, "network.sep1");
   AddBool(13, "network.usehttpproxy", 708, false);
Index: xbmc/settings/GUIWindowSettingsCategory.cpp
===================================================================
--- xbmc/settings/GUIWindowSettingsCategory.cpp	(revision 33045)
+++ xbmc/settings/GUIWindowSettingsCategory.cpp	(working copy)
@@ -953,7 +953,7 @@
         pControl->SetEnabled(g_guiSettings.GetBool("services.webserver"));
       }
     }
-    else if (strSetting.Equals("network.ipaddress") || strSetting.Equals("network.subnet") || strSetting.Equals("network.gateway") || strSetting.Equals("network.dns"))
+    else if (strSetting.Equals("network.ipaddress") || strSetting.Equals("network.subnet") || strSetting.Equals("network.gateway") || strSetting.Equals("network.dns") || strSetting.Equals("network.dns2"))
     {
       CGUIButtonControl *pControl = (CGUIButtonControl *)GetControl(pSettingControl->GetID());
       if (pControl)
@@ -969,6 +969,8 @@
             pControl->SetLabel2(g_application.getNetwork().m_networkinfo.gateway);
           else if(strSetting.Equals("network.dns"))
             pControl->SetLabel2(g_application.getNetwork().m_networkinfo.DNS1);
+          else if(strSetting.Equals("network.dns2"))
+            pControl->SetLabel2(g_application.getNetwork().m_networkinfo.DNS2);
         }
         pControl->SetEnabled(g_guiSettings.GetInt("network.assignment") == NETWORK_STATIC);
       }
@@ -1618,7 +1620,8 @@
         g_guiSettings.SetString("network.gateway",strDefault);
       if (g_guiSettings.GetString("network.dns").Equals("0.0.0.0"))
         g_guiSettings.SetString("network.dns",strDefault);
-
+      if (g_guiSettings.GetString("network.dns2").Equals("0.0.0.0"))
+        g_guiSettings.SetString("network.dns2",strDefault);
     }
   }
     
@@ -2241,7 +2244,8 @@
          m_strNetworkIPAddress != g_guiSettings.GetString("network.ipaddress") ||
          m_strNetworkSubnet != g_guiSettings.GetString("network.subnet") ||
          m_strNetworkGateway != g_guiSettings.GetString("network.gateway") ||
-         m_strNetworkDNS != g_guiSettings.GetString("network.dns"))))
+         m_strNetworkDNS != g_guiSettings.GetString("network.dns") ||
+         m_strNetworkDNS2 != g_guiSettings.GetString("network.dns2"))))
   {
 /*    // our network settings have changed - we should prompt the user to reset XBMC
     if (CGUIDialogYesNo::ShowAndGetInput(14038, 14039, 14040, 0))
@@ -2262,13 +2266,15 @@
     m_strNetworkSubnet = g_guiSettings.GetString("network.subnet");
     m_strNetworkGateway = g_guiSettings.GetString("network.gateway");
     m_strNetworkDNS = g_guiSettings.GetString("network.dns");
+    m_strNetworkDNS2 = g_guiSettings.GetString("network.dns2");
 
     // replace settings
     /*   g_guiSettings.SetInt("network.assignment", m_iNetworkAssignment);
        g_guiSettings.SetString("network.ipaddress", m_strNetworkIPAddress);
        g_guiSettings.SetString("network.subnet", m_strNetworkSubnet);
        g_guiSettings.SetString("network.gateway", m_strNetworkGateway);
-       g_guiSettings.SetString("network.dns", m_strNetworkDNS);*/
+       g_guiSettings.SetString("network.dns", m_strNetworkDNS);2
+       g_guiSettings.SetString("network.dns2", m_strNetworkDNS2);*/
   }
 }
 
@@ -3150,6 +3156,7 @@
   m_strNetworkSubnet = g_guiSettings.GetString("network.subnet");
   m_strNetworkGateway = g_guiSettings.GetString("network.gateway");
   m_strNetworkDNS = g_guiSettings.GetString("network.dns");
+  m_strNetworkDNS2 = g_guiSettings.GetString("network.dns2");
   m_strOldTrackFormat = g_guiSettings.GetString("musicfiles.trackformat");
   m_strOldTrackFormatRight = g_guiSettings.GetString("musicfiles.trackformatright");
   m_NewResolution = INVALID;
Index: xbmc/settings/GUIWindowSettingsCategory.h
===================================================================
--- xbmc/settings/GUIWindowSettingsCategory.h	(revision 33045)
+++ xbmc/settings/GUIWindowSettingsCategory.h	(working copy)
@@ -96,6 +96,7 @@
   CStdString m_strNetworkSubnet;
   CStdString m_strNetworkGateway;
   CStdString m_strNetworkDNS;
+  CStdString m_strNetworkDNS2;
   // look + feel settings (for delayed loading)
   CStdString m_strNewSkinFontSet;
   CStdString m_strNewSkin;
Index: xbmc/xbox/Network.cpp
===================================================================
--- xbmc/xbox/Network.cpp	(revision 33045)
+++ xbmc/xbox/Network.cpp	(working copy)
@@ -196,7 +196,7 @@
 }
 #endif
 
-bool CNetwork::Initialize(int iAssignment, const char* szLocalAddress, const char* szLocalSubnet, const char* szLocalGateway, const char* szNameServer)
+bool CNetwork::Initialize(int iAssignment, const char* szLocalAddress, const char* szLocalSubnet, const char* szLocalGateway, const char* szNameServer, const char* szNameServeralt)
 {
 #ifdef HAS_XBOX_NETWORK
   XNetStartupParams xnsp = {};
@@ -225,6 +225,7 @@
     strcpy(m_networkinfo.subnet, szLocalSubnet);
     strcpy(m_networkinfo.gateway, szLocalGateway);
     strcpy(m_networkinfo.DNS1, szNameServer);
+    strcpy(m_networkinfo.DNS2, szNameServeralt);
 
     TranslateConfig(m_networkinfo, params);
     CLog::Log(LOGNOTICE, "Network: Using static IP settings");
@@ -403,7 +404,8 @@
       g_guiSettings.GetString("network.ipaddress").c_str(),
       g_guiSettings.GetString("network.subnet").c_str(),
       g_guiSettings.GetString("network.gateway").c_str(),
-      g_guiSettings.GetString("network.dns").c_str());
+      g_guiSettings.GetString("network.dns").c_str(),
+      g_guiSettings.GetString("network.dns2").c_str());
       
     return true;
   }
Index: xbmc/xbox/Network.h
===================================================================
--- xbmc/xbox/Network.h	(revision 33045)
+++ xbmc/xbox/Network.h	(working copy)
@@ -48,7 +48,7 @@
   ~CNetwork(void);
 
   /* initializes network settings */
-  bool Initialize(int iAssignment, const char* szLocalAddress, const char* szLocalSubnet, const char* szLocalGateway, const char* szNameServer);
+  bool Initialize(int iAssignment, const char* szLocalAddress, const char* szLocalSubnet, const char* szLocalGateway, const char* szNameServer, const char* szNameServeralt);
   void Deinitialize();
 
   /* waits for network to finish init */
