File fix_vpnc_properties.patch of Package NetworkManager-kde

Index: knetworkmanager/vpn-plugins/vpnc/src/vpncprop.ui
===================================================================
--- knetworkmanager/vpn-plugins/vpnc/src/vpncprop.ui	(Revision 897081)
+++ knetworkmanager/vpn-plugins/vpnc/src/vpncprop.ui	(Revision 897092)
@@ -1,4 +1,4 @@
-<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
 <class>VPNCConfigWidget</class>
 <widget class="QWidget">
     <property name="name">
@@ -9,9 +9,12 @@
             <x>0</x>
             <y>0</y>
             <width>667</width>
-            <height>368</height>
+            <height>435</height>
         </rect>
     </property>
+    <property name="caption">
+        <string>VPNCConfigWidget</string>
+    </property>
     <grid>
         <property name="name">
             <cstring>unnamed</cstring>
@@ -96,55 +99,6 @@
                     <property name="name">
                         <cstring>unnamed</cstring>
                     </property>
-                    <widget class="QCheckBox" row="8" column="0" rowspan="1" colspan="2">
-                        <property name="name">
-                            <cstring>chkIPAdresses</cstring>
-                        </property>
-                        <property name="text">
-                            <string>Only use VPN Connection for these Adresses (for example: 172.16.0.0/16 10.11.12.0/24)</string>
-                        </property>
-                    </widget>
-                    <spacer row="10" column="1">
-                        <property name="name">
-                            <cstring>spacer10</cstring>
-                        </property>
-                        <property name="orientation">
-                            <enum>Vertical</enum>
-                        </property>
-                        <property name="sizeType">
-                            <enum>Expanding</enum>
-                        </property>
-                        <property name="sizeHint">
-                            <size>
-                                <width>20</width>
-                                <height>16</height>
-                            </size>
-                        </property>
-                    </spacer>
-                    <widget class="QCheckBox" row="6" column="0" rowspan="1" colspan="2">
-                        <property name="name">
-                            <cstring>chkDisableNatTraversal</cstring>
-                        </property>
-                        <property name="text">
-                            <string>Disable NAT traversal</string>
-                        </property>
-                    </widget>
-                    <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="2">
-                        <property name="name">
-                            <cstring>chkSingleDES</cstring>
-                        </property>
-                        <property name="text">
-                            <string>Enable weak single DES encryption</string>
-                        </property>
-                    </widget>
-                    <widget class="KLineEdit" row="9" column="0" rowspan="1" colspan="2">
-                        <property name="name">
-                            <cstring>routes</cstring>
-                        </property>
-                        <property name="enabled">
-                            <bool>false</bool>
-                        </property>
-                    </widget>
                     <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2">
                         <property name="name">
                             <cstring>chkUseKeepAlive</cstring>
@@ -169,14 +123,6 @@
                             <string>Override user name</string>
                         </property>
                     </widget>
-                    <widget class="KLineEdit" row="1" column="1">
-                        <property name="name">
-                            <cstring>Xauth_username</cstring>
-                        </property>
-                        <property name="enabled">
-                            <bool>false</bool>
-                        </property>
-                    </widget>
                     <widget class="QLabel" row="1" column="0">
                         <property name="name">
                             <cstring>lblUsername</cstring>
@@ -188,14 +134,6 @@
                             <string>Username</string>
                         </property>
                     </widget>
-                    <widget class="KLineEdit" row="3" column="1">
-                        <property name="name">
-                            <cstring>Domain</cstring>
-                        </property>
-                        <property name="enabled">
-                            <bool>false</bool>
-                        </property>
-                    </widget>
                     <widget class="QLabel" row="3" column="0">
                         <property name="name">
                             <cstring>lblDomain</cstring>
@@ -234,13 +172,81 @@
                             </sizepolicy>
                         </property>
                     </widget>
+                    <widget class="KLineEdit" row="3" column="1">
+                        <property name="name">
+                            <cstring>Domain</cstring>
+                        </property>
+                        <property name="enabled">
+                            <bool>false</bool>
+                        </property>
+                    </widget>
+                    <widget class="KLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>Xauth_username</cstring>
+                        </property>
+                        <property name="enabled">
+                            <bool>false</bool>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="6" column="0">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="text">
+                            <string>NAT traversal</string>
+                        </property>
+                    </widget>
+                    <widget class="QComboBox" row="6" column="1">
+                        <property name="name">
+                            <cstring>cboNAT</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>chkSingleDES</cstring>
+                        </property>
+                        <property name="text">
+                            <string>Enable weak single DES encryption</string>
+                        </property>
+                    </widget>
+                    <widget class="QCheckBox" row="8" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>chkIPAdresses</cstring>
+                        </property>
+                        <property name="text">
+                            <string>Only use VPN Connection for these Adresses (for example: 172.16.0.0/16 10.11.12.0/24)</string>
+                        </property>
+                    </widget>
+                    <spacer row="10" column="1">
+                        <property name="name">
+                            <cstring>spacer10</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>20</width>
+                                <height>20</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="KLineEdit" row="9" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>routes</cstring>
+                        </property>
+                        <property name="enabled">
+                            <bool>false</bool>
+                        </property>
+                    </widget>
                 </grid>
             </widget>
         </widget>
     </grid>
 </widget>
-<customwidgets>
-</customwidgets>
 <layoutdefaults spacing="6" margin="11"/>
 <includehints>
 </includehints>
Index: knetworkmanager/vpn-plugins/vpnc/src/knetworkmanager-vpnc.cpp
===================================================================
--- knetworkmanager/vpn-plugins/vpnc/src/knetworkmanager-vpnc.cpp	(Revision 897081)
+++ knetworkmanager/vpn-plugins/vpnc/src/knetworkmanager-vpnc.cpp	(Revision 897092)
@@ -40,7 +40,11 @@
 typedef KGenericFactory<VPNCPlugin> VPNCPluginFactory;
 K_EXPORT_COMPONENT_FACTORY( knetworkmanager_vpnc, VPNCPluginFactory("knetworkmanager_vpnc"));
 
+#define NAT_MODE_CISCO 0
+#define NAT_MODE_NATT 1
+#define NAT_MODE_DISABLED 2
 
+
 VPNCPlugin::VPNCPlugin(QObject* parent, const char* name, const QStringList& args) 
 	: VPNPlugin(parent, name, args)
 {
@@ -82,6 +86,10 @@
 	connect(_vpncWidget->chkUseKeepAlive, SIGNAL(toggled(bool)), _vpncWidget->nat_keep_alive_interval, SLOT(setEnabled(bool)));
 	connect(_vpncWidget->chkUseKeepAlive, SIGNAL(toggled(bool)), _vpncWidget->lblKeepAliveInterval, SLOT(setEnabled(bool)));
 
+	_vpncWidget->cboNAT->insertItem(i18n("Cisco UDP (default)"), NAT_MODE_CISCO);
+	_vpncWidget->cboNAT->insertItem(i18n("NAT-T"), NAT_MODE_NATT);
+	_vpncWidget->cboNAT->insertItem(i18n("Disabled"), NAT_MODE_DISABLED);
+
 	this->languageChange();
 }
 
@@ -126,13 +134,27 @@
 			_vpncWidget->nat_keep_alive_interval->setText(value);
 			_vpncWidget->chkUseKeepAlive->setChecked(true);
 		}
+		// backwards compatibility
 		else if (entry == "Disable NAT Traversal")
 		{
-			_vpncWidget->chkDisableNatTraversal->setChecked(value == "true");
+			_vpncWidget->cboNAT->setCurrentItem(NAT_MODE_DISABLED);
 		}
+		else if (entry == "NAT Traversal Mode")
+		{
+			if (value == "natt")
+				_vpncWidget->cboNAT->setCurrentItem(NAT_MODE_NATT);
+			else if (value == "cisco-udp")
+				_vpncWidget->cboNAT->setCurrentItem(NAT_MODE_CISCO);
+			else if (value == "none")
+				_vpncWidget->cboNAT->setCurrentItem(NAT_MODE_DISABLED);
+			else
+			{
+				// FIXME: unknown NAT mode
+			}
+		}
 		else if (entry == "Enable Single DES")
 		{
-			_vpncWidget->chkSingleDES->setChecked(value == "true");
+			_vpncWidget->chkSingleDES->setChecked(value == "yes" || value == "true");
 		}
 	}
 
@@ -160,9 +182,25 @@
 	if (_vpncWidget->chkUseKeepAlive->isChecked())
 		strlist.insert("NAT-Keepalive packet interval", QString(_vpncWidget->nat_keep_alive_interval->text()));
 
-	strlist.insert("Disable NAT Traversal", QString::number(_vpncWidget->chkDisableNatTraversal->isChecked()));
-	strlist.insert("Enable Single DES", QString::number(_vpncWidget->chkSingleDES->isChecked()));
+	switch (_vpncWidget->cboNAT->currentItem())
+	{
+		case NAT_MODE_CISCO:
+			strlist.insert("NAT Traversal Mode", "cisco-udp");
+			break;
+		case NAT_MODE_NATT:
+			strlist.insert("NAT Traversal Mode", "natt");
+			break;
+		case NAT_MODE_DISABLED:
+		default:
+			strlist.insert("NAT Traversal Mode", "none");
+			break;
+	}
 
+	if (_vpncWidget->chkSingleDES->isChecked())
+		strlist.insert("Enable Single DES", "yes");
+	else
+		strlist.insert("Enable Single DES", "no");
+
 	return strlist;
 }
 
openSUSE Build Service is sponsored by