diff options
Diffstat (limited to 'knetworkmanager-0.8/vpn-plugins/vpnc/src')
5 files changed, 850 insertions, 0 deletions
diff --git a/knetworkmanager-0.8/vpn-plugins/vpnc/src/Makefile.am b/knetworkmanager-0.8/vpn-plugins/vpnc/src/Makefile.am new file mode 100644 index 0000000..331b9f6 --- /dev/null +++ b/knetworkmanager-0.8/vpn-plugins/vpnc/src/Makefile.am @@ -0,0 +1,12 @@ +INCLUDES = $(KNETWORKMANAGER_CFLAGS) $(VPNC_CFLAGS) $(all_includes) + +METASOURCES = AUTO + +kde_module_LTLIBRARIES = knetworkmanager_vpnc.la +knetworkmanager_vpnc_la_SOURCES = knetworkmanager-vpnc.cpp \ + vpncprop.ui \ + vpncauth.ui +noinst_HEADERS = knetworkmanager-vpnc.h +knetworkmanager_vpnc_la_LDFLAGS = -module $(all_libraries) +knetworkmanager_vpnc_la_LIBADD = $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) + diff --git a/knetworkmanager-0.8/vpn-plugins/vpnc/src/knetworkmanager-vpnc.cpp b/knetworkmanager-0.8/vpn-plugins/vpnc/src/knetworkmanager-vpnc.cpp new file mode 100644 index 0000000..526d5d5 --- /dev/null +++ b/knetworkmanager-0.8/vpn-plugins/vpnc/src/knetworkmanager-vpnc.cpp @@ -0,0 +1,402 @@ +/*************************************************************************** + * + * knetworkmanager-vpnc.cpp - A NetworkManager frontend for KDE + * + * Copyright (C) 2006 Novell, Inc. + * + * Author: Helmut Schaa <[email protected]>, <[email protected]> + * Author: Timothy Pearson <[email protected]> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + **************************************************************************/ + +#include <klocale.h> +#include <kmessagebox.h> +#include <tqmessagebox.h> +#include <tqbutton.h> +#include <kcombobox.h> +#include <klineedit.h> +#include <kurlrequester.h> +#include <tqobjectlist.h> +#include <tqobject.h> +#include <tqcheckbox.h> +#include <kpassdlg.h> +#include <kgenericfactory.h> +#include <tqlabel.h> +#include <string> +#include <stdio.h> + +#include "knetworkmanager-vpnc.h" +using namespace std; + +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 + +char linedata [2048]; + +VPNCPlugin::VPNCPlugin(TQObject* parent, const char* name, const TQStringList& args) + : VPNPlugin(parent, name, args) +{ + KLocale* loc = KGlobal::locale(); + loc->insertCatalogue("NetworkManager-vpnc"); +} + +VPNCPlugin::~VPNCPlugin() +{ + +} + +VPNConfigWidget* VPNCPlugin::CreateConfigWidget(TQWidget* parent) +{ + return new VPNCConfig(parent); +} + +VPNAuthenticationWidget* VPNCPlugin::CreateAuthenticationWidget(TQWidget* parent) +{ + return new VPNCAuthentication(parent); +} + + +VPNCConfig::VPNCConfig(TQWidget* parent) + : VPNConfigWidget(parent) +{ + TQVBoxLayout* tqlayout = new TQVBoxLayout(this, 1, 1); + _vpncWidget = new VPNCConfigWidget(this); + tqlayout->addWidget(_vpncWidget); + + connect(_vpncWidget->pcfImport, TQT_SIGNAL(clicked()), this, TQT_SLOT( pcfImport()) ); + + //connect(_vpncWidget->chkOverrideUsername, TQT_SIGNAL(toggled(bool)), _vpncWidget->Xauth_username, TQT_SLOT(setEnabled(bool))); + //connect(_vpncWidget->chkOverrideUsername, TQT_SIGNAL(toggled(bool)), _vpncWidget->lblUsername, TQT_SLOT(setEnabled(bool))); + + connect(_vpncWidget->chkUseDomain, TQT_SIGNAL(toggled(bool)), _vpncWidget->Domain, TQT_SLOT(setEnabled(bool))); + connect(_vpncWidget->chkUseDomain, TQT_SIGNAL(toggled(bool)), _vpncWidget->lblDomain, TQT_SLOT(setEnabled(bool))); + + connect(_vpncWidget->chkIPAdresses, TQT_SIGNAL(toggled(bool)), _vpncWidget->routes, TQT_SLOT(setEnabled(bool))); + + connect(_vpncWidget->chkUseKeepAlive, TQT_SIGNAL(toggled(bool)), _vpncWidget->nat_keep_alive_interval, TQT_SLOT(setEnabled(bool))); + connect(_vpncWidget->chkUseKeepAlive, TQT_SIGNAL(toggled(bool)), _vpncWidget->lblKeepAliveInterval, TQT_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(); +} + +VPNCConfig::~VPNCConfig() +{ + +} + +void VPNCConfig::languageChange() +{ + +} + +int VPNCConfig::getFileConfig(char *parameter, char *line) { + int i; + + if (strstr(line, parameter) != NULL) { + if ((strstr(line, parameter) - line) == 0) { + for (i=0; i<(strlen(line)-strlen(parameter));i++) { + linedata[i] = line[i+strlen(parameter)]; + if ((linedata[i] == 10) || (linedata[i] == 13)) { + linedata[i] = 0; + } + } + linedata[i-1]=0; + + return 0; + } + else { + return 1; + } + } + else { + return 1; + } +} + +void VPNCConfig::pcfImport() +{ + const TQString& pcf_file = TQString(_vpncWidget->editPCF->url()); + printf("Asked for PCF import from file %s\n\r", pcf_file.ascii()); + int i; + + FILE *file = fopen ( pcf_file.ascii(), "r" ); + if ( file != NULL ) { + char line [2048]; // or other suitable maximum line size + // read a line + while ( fgets ( line, sizeof line, file ) != NULL ) { + // Parse the line and update global variables (current line in variable "line") + if (getFileConfig("Host=", line) == 0) { + //strdup(linedata) + printf("Got configuration parameter Host with data %s\n\r", linedata); + _vpncWidget->IPSec_gateway->setText(linedata); + } + if (getFileConfig("GroupName=", line) == 0) { + printf("Got configuration parameter GroupName with data %s\n\r", linedata); + _vpncWidget->IPSec_ID->setText(linedata); + } +// if (getFileConfig("TcpTunnelingPort=", line) == 0) { +// printf("Got configuration parameter TcpTunnelingPort with data %s\n\r", linedata); +// _vpncWidget->IPSec_ID->setText(linedata); +// } + if (getFileConfig("NTDomain=", line) == 0) { + if (strlen(linedata) > 0) { + printf("Got configuration parameter NTDomain with data %s\n\r", linedata); + _vpncWidget->Domain->setText(linedata); + _vpncWidget->chkUseDomain->setChecked(true); + } + } + if (getFileConfig("GroupPwd=", line) == 0) { + if (strlen(linedata) > 0) { + printf("Got configuration parameter GroupPwd with data %s\n\r", linedata); + KMessageBox::information(this, TQString("Your group password is: %1\n\r\n\rYou will need this information when you log on").tqarg(linedata)); + } + } + if (getFileConfig("enc_GroupPwd=", line) == 0) { + if (strlen(linedata) > 0) { + printf("Got configuration parameter enc_GroupPwd with data %s\n\r", linedata); + + // Decrypt the obfusticated password with /usr/lib/vpnc/cisco-decrypt + string decryptcommand="/usr/lib/vpnc/cisco-decrypt "; + FILE *pipe_decrypt; + char decrypted_result[2048]; + int i; + + decryptcommand.append(linedata); + printf("Group password decrypt command: %s\n\r", decryptcommand.c_str()); + if ((pipe_decrypt = popen(decryptcommand.c_str(), "r")) == NULL) + { + printf("Group password decrypt error\n\r"); + } + else { + fgets(decrypted_result, 2048, pipe_decrypt); + pclose(pipe_decrypt); + for (i=0;i<2048;i++) { + if (decrypted_result[i] == 0) { + decrypted_result[i-1]=0; + i=2048; + } + } + printf("Group password decrypt result: '%s'\n\r", decrypted_result); + } + KMessageBox::information(this, TQString("Your group password is: %1\n\r\n\rYou will need this information when you log on").tqarg(decrypted_result)); + } + } + } + fclose ( file ); + } + else + { + //printf("[WARN] Unable to open configuration file %s\n\r", pcf_file.ascii()); + KMessageBox::error(this, i18n("That configuration file does not exist!")); + } +} + +void VPNCConfig::setVPNData(const TQStringList& routes, const TQMap<TQString, TQString>& properties) +{ + // fill up our inputfields (only textfields atm) + for(TQMap<TQString, TQString>::ConstIterator it = properties.begin(); it != properties.end(); ++it) + { + TQString entry = it.key(); + TQString value = it.data(); + + if (entry == "IPSec gateway") + { + _vpncWidget->IPSec_gateway->setText(value); + } + else if (entry == "IPSec ID") + { + _vpncWidget->IPSec_ID->setText(value); + } + else if (entry == "Xauth username") + { + _vpncWidget->Xauth_username->setText(value); + //_vpncWidget->chkOverrideUsername->setChecked(true); + } + else if (entry == "Domain") + { + _vpncWidget->Domain->setText(value); + _vpncWidget->chkUseDomain->setChecked(true); + } + else if (entry == "NAT-Keepalive packet interval") + { + _vpncWidget->nat_keep_alive_interval->setText(value); + _vpncWidget->chkUseKeepAlive->setChecked(true); + } + // backwards compatibility + else if (entry == "Disable NAT Traversal") + { + _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 == "yes" || value == "true"); + } + } + + // set routes + if (!routes.empty()) + { + _vpncWidget->chkIPAdresses->setChecked(true); + _vpncWidget->routes->setText(routes.join(" ")); + } +} + +TQMap<TQString, TQString> VPNCConfig::getVPNProperties() +{ + // build a StingList of properties + TQMap<TQString, TQString> strlist; + strlist.insert("IPSec gateway", TQString(_vpncWidget->IPSec_gateway->text())); + strlist.insert("IPSec ID", TQString(_vpncWidget->IPSec_ID->text())); + + //if (_vpncWidget->chkOverrideUsername->isChecked()) + strlist.insert("Xauth username", TQString(_vpncWidget->Xauth_username->text())); + + if (_vpncWidget->chkUseDomain->isChecked()) + strlist.insert("Domain", TQString(_vpncWidget->Domain->text())); + + if (_vpncWidget->chkUseKeepAlive->isChecked()) + strlist.insert("NAT-Keepalive packet interval", TQString(_vpncWidget->nat_keep_alive_interval->text())); + + 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; +} + +TQStringList VPNCConfig::getVPNRoutes() +{ + TQStringList strlist; + if(_vpncWidget->chkIPAdresses->isChecked()) + { + strlist = TQStringList::split(" ", _vpncWidget->routes->text()); + } + return strlist; + +} + +bool VPNCConfig::hasChanged() +{ + return true; +} + +bool VPNCConfig::isValid(TQStringList& err_msg) +{ + bool retval = true; + if(_vpncWidget->IPSec_gateway->text() == "" || _vpncWidget->IPSec_ID->text() == "") + { + err_msg.append(i18n("At least the gateway and group has to be supplied.")); + retval = false; + } + return retval; +} + +VPNCAuthentication::VPNCAuthentication(TQWidget* parent, char* name) + : VPNAuthenticationWidget(parent, name) +{ + TQVBoxLayout* tqlayout = new TQVBoxLayout(this, 1, 1); + _vpncAuth = new VPNCAuthenticationWidget(this); + tqlayout->addWidget(_vpncAuth); +} + +VPNCAuthentication::~VPNCAuthentication() +{ + +} + +TQMap<TQString, TQString> VPNCAuthentication::getPasswords() +{ + TQMap<TQString, TQString> pwds; + pwds.insert("Xauth password", TQString(_vpncAuth->editUserPassword->password())); + if (_vpncAuth->chkObfusticated->isChecked()) { + // Decrypt the obfusticated password with /usr/lib/vpnc/cisco-decrypt + string decryptcommand="/usr/lib/vpnc/cisco-decrypt "; + FILE *pipe_decrypt; + char decrypted_result[2048]; + int i; + + decryptcommand.append(_vpncAuth->editGroupPassword->password()); + printf("Group password decrypt command: %s\n\r", decryptcommand.c_str()); + if ((pipe_decrypt = popen(decryptcommand.c_str(), "r")) == NULL) + { + printf("Group password decrypt error\n\r"); + } + else { + fgets(decrypted_result, 2048, pipe_decrypt); + pclose(pipe_decrypt); + for (i=0;i<2048;i++) { + if (decrypted_result[i] == 0) { + decrypted_result[i-1]=0; + i=2048; + } + } + printf("Group password decrypt result: '%s'\n\r", decrypted_result); + pwds.insert("IPSec secret", TQString(decrypted_result)); + } + } + else { + pwds.insert("IPSec secret", TQString(_vpncAuth->editGroupPassword->password())); + } + return pwds; +} + +void VPNCAuthentication::setPasswords(TQString name, TQString value) { + if (name == TQString("Xauth password")) { + _vpncAuth->editUserPassword->erase(); + _vpncAuth->editUserPassword->insert(value); + } + else if (name == TQString("IPSec secret")) { + _vpncAuth->editGroupPassword->erase(); + _vpncAuth->editGroupPassword->insert(value); + } +}
\ No newline at end of file diff --git a/knetworkmanager-0.8/vpn-plugins/vpnc/src/knetworkmanager-vpnc.h b/knetworkmanager-0.8/vpn-plugins/vpnc/src/knetworkmanager-vpnc.h new file mode 100644 index 0000000..429bc55 --- /dev/null +++ b/knetworkmanager-0.8/vpn-plugins/vpnc/src/knetworkmanager-vpnc.h @@ -0,0 +1,89 @@ +/*************************************************************************** + * + * knetworkmanager-vpnc.h - A NetworkManager frontend for KDE + * + * Copyright (C) 2006 Novell, Inc. + * + * Author: Helmut Schaa <[email protected]>, <[email protected]> + * Author: Timothy Pearson <[email protected]> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + **************************************************************************/ + +#ifndef KNETWORKMANAGER_VPNC_H +#define KNETWORKMANAGER_VPNC_H + +#include <tqmap.h> +#include <tqstring.h> +#include <tqwidget.h> +#include <tqlayout.h> + +#include "knetworkmanager-vpnplugin.h" +#include "vpncprop.h" +#include "vpncauth.h" + +class VPNCPlugin : public VPNPlugin +{ + Q_OBJECT + TQ_OBJECT + public: + VPNCPlugin(TQObject*, const char*, const TQStringList&); + ~VPNCPlugin(); + + VPNConfigWidget* CreateConfigWidget(TQWidget* parent=0); + VPNAuthenticationWidget* CreateAuthenticationWidget(TQWidget* parent=0); +}; + +class VPNCConfig : public VPNConfigWidget +{ + Q_OBJECT + TQ_OBJECT + public: + void setVPNData(const TQStringList& routes, const TQMap<TQString, TQString>& properties); + TQMap<TQString, TQString> getVPNProperties(); + TQStringList getVPNRoutes(); + bool hasChanged(); + bool isValid(TQStringList& ); + + VPNCConfig(TQWidget* parent); + ~VPNCConfig(); + + public slots: + void pcfImport(); + + private: + VPNCConfigWidget* _vpncWidget; + int getFileConfig(char *parameter, char *line); + + protected slots: + void languageChange(); +}; + +class VPNCAuthentication : public VPNAuthenticationWidget +{ + Q_OBJECT + TQ_OBJECT + public: + VPNCAuthentication(TQWidget* parent = NULL, char* name = NULL); + ~VPNCAuthentication(); + TQMap<TQString, TQString> getPasswords(); + void setPasswords(TQString name, TQString value); + + private: + VPNCAuthenticationWidget* _vpncAuth; +}; + +#endif /* KNETWORKMANAGER_VPNC_H */ diff --git a/knetworkmanager-0.8/vpn-plugins/vpnc/src/vpncauth.ui b/knetworkmanager-0.8/vpn-plugins/vpnc/src/vpncauth.ui new file mode 100644 index 0000000..4fdf2f1 --- /dev/null +++ b/knetworkmanager-0.8/vpn-plugins/vpnc/src/vpncauth.ui @@ -0,0 +1,68 @@ +<!DOCTYPE UI><UI version="3.2" stdsetdef="1"> +<class>VPNCAuthenticationWidget</class> +<widget class="TQWidget"> + <property name="name"> + <cstring>VPNCAuthenticationWidget</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>372</width> + <height>75</height> + </rect> + </property> + <property name="caption"> + <string>VPNCAuthentication</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <widget class="TQLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>Password</string> + </property> + </widget> + <widget class="TQLabel" row="1" column="0"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="text"> + <string>Group Password</string> + </property> + </widget> + <widget class="KPasswordEdit" row="0" column="1"> + <property name="name"> + <cstring>editUserPassword</cstring> + </property> + </widget> + <widget class="KPasswordEdit" row="1" column="1"> + <property name="name"> + <cstring>editGroupPassword</cstring> + </property> + </widget> + <widget class="TQCheckBox" row="2" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>chkObfusticated</cstring> + </property> + <property name="text"> + <string>Group password is hashed</string> + </property> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + + +</includehints> +</UI> diff --git a/knetworkmanager-0.8/vpn-plugins/vpnc/src/vpncprop.ui b/knetworkmanager-0.8/vpn-plugins/vpnc/src/vpncprop.ui new file mode 100644 index 0000000..ab2b8fc --- /dev/null +++ b/knetworkmanager-0.8/vpn-plugins/vpnc/src/vpncprop.ui @@ -0,0 +1,279 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>VPNCConfigWidget</class> +<widget class="TQWidget"> + <property name="name"> + <cstring>VPNCConfigWidget</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>667</width> + <height>435</height> + </rect> + </property> + <property name="caption"> + <string>VPNCConfigWidget</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <property name="margin"> + <number>0</number> + </property> + <widget class="TQTabWidget" row="0" column="0"> + <property name="name"> + <cstring>kTabWidget1</cstring> + </property> + <widget class="TQWidget"> + <property name="name"> + <cstring>TabPage</cstring> + </property> + <attribute name="title"> + <string>Required Information</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="text"> + <string>Gateway</string> + </property> + <property name="buddy" stdset="0"> + <cstring>IPSec_gateway</cstring> + </property> + </widget> + <widget class="KLineEdit" row="0" column="1"> + <property name="name"> + <cstring>IPSec_gateway</cstring> + </property> + </widget> + <widget class="TQLabel" row="1" column="0"> + <property name="name"> + <cstring>labelGroup</cstring> + </property> + <property name="text"> + <string>Group Name</string> + </property> + <property name="buddy" stdset="0"> + <cstring>IPSec_ID</cstring> + </property> + </widget> + <widget class="KLineEdit" row="1" column="1"> + <property name="name"> + <cstring>IPSec_ID</cstring> + </property> + </widget> + <widget class="TQLabel" row="2" column="0"> + <property name="name"> + <cstring>lblUsername</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>User Name</string> + </property> + </widget> + <widget class="KLineEdit" row="2" column="1"> + <property name="name"> + <cstring>Xauth_username</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + </widget> + <widget class="TQGroupBox" row="5" column="0" colspan="2"> + <property name="name"> + <cstring>groupBox5_3</cstring> + </property> + <property name="title"> + <string>Import settings from Cisco PCF file</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KURLRequester" row="0" column="1"> + <property name="name"> + <cstring>editPCF</cstring> + </property> + </widget> + <widget class="TQLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel2_2</cstring> + </property> + <property name="text"> + <string>PCF File</string> + </property> + </widget> + <widget class="KPushButton" row="1" column="0" colspan="2"> + <property name="name"> + <cstring>pcfImport</cstring> + </property> + <property name="text"> + <string>Import</string> + </property> + </widget> + </grid> + </widget> + <spacer row="6" column="1"> + <property name="name"> + <cstring>spacer9</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="tqsizeHint"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </grid> + </widget> + <widget class="TQWidget"> + <property name="name"> + <cstring>TabPage</cstring> + </property> + <attribute name="title"> + <string>Optional Information</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQCheckBox" row="4" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>chkUseKeepAlive</cstring> + </property> + <property name="text"> + <string>Use NAT keep alive packets</string> + </property> + </widget> + <widget class="TQCheckBox" row="2" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>chkUseDomain</cstring> + </property> + <property name="text"> + <string>Use domain for authentication</string> + </property> + </widget> + <widget class="TQLabel" row="3" column="0"> + <property name="name"> + <cstring>lblDomain</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Domain</string> + </property> + </widget> + <widget class="TQLabel" row="5" column="0"> + <property name="name"> + <cstring>lblKeepAliveInterval</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Interval</string> + </property> + </widget> + <widget class="TQLineEdit" row="5" column="1"> + <property name="name"> + <cstring>nat_keep_alive_interval</cstring> + </property> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </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="TQLabel" row="6" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>NAT traversal</string> + </property> + </widget> + <widget class="TQComboBox" row="6" column="1"> + <property name="name"> + <cstring>cboNAT</cstring> + </property> + </widget> + <widget class="TQCheckBox" 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="TQCheckBox" 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="tqsizeHint"> + <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> +<layoutdefaults spacing="6" margin="11"/> +<includehints> +</includehints> +</UI> |