summaryrefslogtreecommitdiffstats
path: root/src/newprofilewizard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newprofilewizard.cpp')
-rw-r--r--src/newprofilewizard.cpp4008
1 files changed, 4008 insertions, 0 deletions
diff --git a/src/newprofilewizard.cpp b/src/newprofilewizard.cpp
new file mode 100644
index 0000000..296d80c
--- /dev/null
+++ b/src/newprofilewizard.cpp
@@ -0,0 +1,4008 @@
+/***************************************************************************
+* Copyright (C) 2004 by Christoph Thielecke *
+* crissi99@gmx.de *
+* *
+* 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. *
+***************************************************************************/
+//BEGIN INCLUDES
+
+#include <klocale.h>
+#include <qlabel.h>
+#include <qhbox.h>
+#include <qvbox.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qcheckbox.h>
+#include <klineedit.h>
+#include <qlineedit.h>
+#include <kmessagebox.h>
+#include <kcombobox.h>
+#include <kurlrequester.h>
+#include <knuminput.h>
+#include <kpassdlg.h>
+#include <kfiledialog.h>
+#include <qspinbox.h>
+#include <qcursor.h>
+#include <qbuttongroup.h>
+#include <qtooltip.h>
+#include <iostream>
+
+#include <kstddirs.h>
+#include <kinputdialog.h>
+
+#include "kvpncconfig.h"
+#include "networkinterface.h"
+#include "newprofilewizard.h"
+#include "addnetworkroutedialog.h"
+#include "utils.h"
+//END INCLUDES
+
+NewProfileWizard::NewProfileWizard ( KVpncConfig* GlobalConfig )
+{
+ this->GlobalConfig = GlobalConfig;
+
+ newProfileCreated = false;
+ setCaption ( i18n ( "Add new profile..." ) );
+ //setMinimumSize( 400,300);
+
+ SetupPixmap = new QPixmap ( locate ( "data", "kvpnc/newprofilewizard.png" ) );
+ SetupPixmapFinal = new QPixmap ( locate ( "data", "kvpnc/newprofilewizard_final.png" ) );
+
+ // currently static for new profile
+ VpnAccountData::ConnectionType ConnType = VpnAccountData::ConnectionType ( VpnAccountData::other );
+ Port = 500;
+ Gateway = "";
+ ID = "";
+ Username = "";
+ UserPassword = "";
+ PreSharedKey = "";
+ ApplicationVersion = "";
+ NtDomainName = "";
+ PerfectForwardSecrecy = "";
+ IkeGroup = "";
+ Description = "";
+ Name = "None";
+ useApplicationVersion = false;
+ useGlobalIpsecSecret = false;
+ useIkeGroup = false;
+ useLocalPort = false;
+ useNtDomainName = false;
+ useSingleDes = false;
+ useAdvancedSettings = false;
+ usePerfectSecrecy = false;
+ saveUserPassword = false;
+ savePsk = false;
+ useUdp = false;
+ useUdpPort = false;
+ useDnsServer = false;
+ DnsServer = "";
+ useGetDnsFromPeer = true;
+ refuse40BitEncryption = true;
+ refuse128BitEncryption = false;
+ allowStatefulMode = false;
+ requireMppe = true;
+ useNoBsdComp = true;
+ useNoDeflate = true;
+ savePsk = false;
+ connectaftercreating = true;
+ daemonavailable = false;
+ enterdatamanually = false;
+ importOK = false;
+
+ currentpage = 0;
+ previouspage = 0;
+
+ profileData = new VpnAccountData ( ConnType, Name );
+ profileData->setGateway ( Gateway );
+ profileData->setID ( ID );
+ profileData->setPreSharedKey ( PreSharedKey );
+ profileData->setSavePsk ( savePsk );
+ profileData->setUserName ( Username );
+ profileData->setUserPassword ( UserPassword );
+ profileData->setSaveUserPassword ( saveUserPassword );
+ profileData->setSavePsk ( savePsk );
+ profileData->setApplicationVersion ( ApplicationVersion );
+ profileData->setUseLocalPort ( useLocalPort );
+ profileData->setLocalPort ( Port );
+ profileData->setUseSingleDes ( useSingleDes );
+ profileData->setPerfectForwardSecrety ( PerfectForwardSecrecy );
+ profileData->setIkeGroup ( IkeGroup );
+ profileData->setUseGlobalIpsecSecret ( useGlobalIpsecSecret );
+ profileData->setUseIkeGroup ( useIkeGroup );
+ profileData->setNtDomainName ( NtDomainName );
+ profileData->setUseAdvancedSettings ( useAdvancedSettings );
+ profileData->setUsePerfectForwardSecrety ( usePerfectSecrecy );
+ profileData->setUseTlsAuth ( false );
+
+ setupPages();
+
+ // // tmp
+ // newprofilewizardtypeselectionpagecontent->FreeswanRadioButton->setEnabled(false);
+ // newprofilewizardtypeselectionpagecontent->RacoonRadioButton->setEnabled(false);
+}
+
+void NewProfileWizard::accept()
+{
+
+ if ( !enterdatamanually )
+ {
+ if ( profileData->getConnectionType() == VpnAccountData::cisco )
+ {
+// importProfile( VpnAccountData::cisco );
+// if ( importOK )
+// newProfileCreated = true;
+// else
+// newProfileCreated = false;
+ }
+ }
+ else
+ {
+ newProfileCreated = true;
+ }
+ finished = true;
+
+ if ( newProfileCreated && profileData->getAuthType() == VpnAccountData::cert )
+ {}
+
+ QWizard::accept();
+}
+
+void NewProfileWizard::reject()
+{
+ finished = false;
+ QWizard::reject();
+}
+
+void NewProfileWizard::setupPages()
+{
+
+ // setup start page
+ page1 = new QHBox ( 0 );
+ // page1->setSpacing(8);
+ QLabel *setupPixmapContent1 = new QLabel ( page1 );
+ setupPixmapContent1->setPixmap ( *SetupPixmap );
+ setupPixmapContent1->resize ( setupPixmapContent1->sizeHint() );
+ newprofilewizardstartcontent = new NewProfileWizardStart ( page1 );
+ newprofilewizardstartcontent->resize ( newprofilewizardstartcontent->sizeHint() );
+ page1->sizeHint();
+ addPage ( page1, "<b>" + i18n ( "Welcome" ) + "</b>" );
+
+ // type selection
+ newprofilewizardtypeselectionpage = new QHBox ( 0 );
+ // newprofilewizardtypeselectionpage->setSpacing(8);
+ QLabel *setupPixmapContent2 = new QLabel ( newprofilewizardtypeselectionpage );
+ setupPixmapContent2->setPixmap ( *SetupPixmap );
+ setupPixmapContent2->resize ( setupPixmapContent2->sizeHint() );
+ newprofilewizardtypeselectionpagecontent = new NewProfileWizardTypeSelection ( newprofilewizardtypeselectionpage );
+ newprofilewizardtypeselectionpagecontent->FreeswanRadioButton->setText ( i18n ( "IPSec (%1)" ).arg ( "FreeS/WAN/Openswan/strongSwan" ) );
+ newprofilewizardtypeselectionpagecontent->L2tpFreeswanRadioButton->setText ( i18n ( "L2TP over IPSec (%1)" ).arg ( "FreeS/WAN/Openswan/strongSwan" ) );
+ newprofilewizardtypeselectionpage->sizeHint();
+ addPage ( newprofilewizardtypeselectionpage, "<b>" + i18n ( "Type selection" ) + "</b>" );
+
+ // cisco
+ newprofilewizardciscoselectionpage = new QHBox ( 0 );
+ // newprofilewizardciscoselectionpage->setSpacing(8);
+ QLabel *setupPixmapContent3 = new QLabel ( newprofilewizardciscoselectionpage );
+ setupPixmapContent3->setPixmap ( *SetupPixmap );
+ setupPixmapContent3->resize ( setupPixmapContent3->sizeHint() );
+ newprofilewizardciscoselectionpagecontent = new NewProfileWizardCiscoSelection ( newprofilewizardciscoselectionpage );
+ newprofilewizardciscoselectionpage->sizeHint();
+
+ newprofilewizardciscomanuallypage = new QHBox ( 0 );
+ // newprofilewizardciscomanuallypage->setSpacing(8);
+ QLabel *setupPixmapContent4 = new QLabel ( newprofilewizardciscomanuallypage );
+ setupPixmapContent4->setPixmap ( *SetupPixmap );
+ setupPixmapContent4->resize ( setupPixmapContent4->sizeHint() );
+ newprofilewizardciscomanuallypagecontent = new NewProfileWizardCiscoManually ( newprofilewizardciscomanuallypage );
+ newprofilewizardciscomanuallypage->sizeHint();
+
+ connect ( newprofilewizardciscomanuallypagecontent->GroupPasswordLineEdit , SIGNAL ( textChanged ( const QString& ) ), this, SLOT ( pskToggled ( const QString& ) ) );
+
+ // racoon
+ newprofilewizardracoonpage = new QHBox ( 0 );
+ // newprofilewizardracoonpage->setSpacing(8);
+ QLabel *setupPixmapContent5 = new QLabel ( newprofilewizardracoonpage );
+ setupPixmapContent5->setPixmap ( *SetupPixmap );
+ setupPixmapContent5->resize ( setupPixmapContent5->sizeHint() );
+ newprofilewizardracoonpagecontent = new NewProfileWizardRacoon ( newprofilewizardracoonpage );
+ newprofilewizardracoonpagecontent->ExchangeModeComboBox->insertItem ( "main", 0 );
+ newprofilewizardracoonpagecontent->ExchangeModeComboBox->insertItem ( "aggressive", 1 );
+ newprofilewizardracoonpagecontent->ExchangeModeComboBox->insertItem ( "base", 2 );
+ newprofilewizardracoonpagecontent->ExchangeModeComboBox->setCurrentItem ( 0 ); // main
+
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem ( "SHA1" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem ( "MD5" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->setCurrentItem ( 0 ); //SHA1
+
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp768" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp1024" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "ec2n155" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "ec2n185" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp1536" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp2048" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp3072" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp4096" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp6144" );
+ newprofilewizardracoonpagecontent->DHGroupComboBox->insertItem ( "modp8192" );
+
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->insertItem("none");
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->insertItem("address");
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->insertItem("user_fqdn");
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->insertItem("fqdn");
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->insertItem("keyid (file)");
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->insertItem("keyid");
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->insertItem("asn1dn");
+
+ newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->insertItem("none");
+ newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->insertItem("address");
+ newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->insertItem("user_fqdn");
+ newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->insertItem("fqdn");
+ newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->insertItem("keyid (file)");
+ newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->insertItem("keyid");
+ newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->insertItem("asn1dn");
+
+ QToolTip::add( newprofilewizardracoonpagecontent->RemoteIdTypeCombobox, i18n("<b>Remote ID type</b><br><table>"
+ "<tr><td>none:</td><td>No ID</td></tr>"
+ "<tr><td>address:</td><td>The type is the IP address. This is the default type if you do not specify an identifier to use</td></tr>"
+ "<tr><td>user_fqdn:</td><td>The type is a USER_FQDN (user fully-qualified domain name)</td></tr>"
+ "<tr><td>fqdn:</td><td>The type is a FQDN (fully-qualified domain name)</td></tr>"
+ "<tr><td>keyid (file):</td><td>The type is a KEY_ID, read from the file</td></tr>"
+ "<tr><td>keyid:</td><td>The type is a KEY_ID, specified in field</td></tr>"
+ "<tr><td>asn1dn:</td><td>The type is an ASN.1 distinguished name. If empty, DN from the Subject field in the certificate will be used"
+ "<table>"));
+
+ QToolTip::add( newprofilewizardracoonpagecontent->LocalIdTypeCombobox, i18n("<b>Local ID type</b><br><table>"
+ "<tr><td>none:</td><td>No ID</td></tr>"
+ "<tr><td>address:</td><td>The type is the IP address. This is the default type if you do not specify an identifier to use</td></tr>"
+ "<tr><td>user_fqdn:</td><td>The type is a USER_FQDN (user fully-qualified domain name)</td></tr>"
+ "<tr><td>fqdn:</td><td>The type is a FQDN (fully-qualified domain name)</td></tr>"
+ "<tr><td>keyid (file):</td><td>The type is a KEY_ID, read from the file</td></tr>"
+ "<tr><td>keyid:</td><td>The type is a KEY_ID, specified in field</td></tr>"
+ "<tr><td>asn1dn:</td><td>The type is an ASN.1 distinguished name. If empty, DN from the Subject field in the certificate will be used"
+ "<table>"));
+
+ newprofilewizardracoonpagecontent->PerfectForwardSecurityCheckbox->setChecked(true);
+ newprofilewizardracoonpagecontent->PerfectForwardSecrecyCombobox->setCurrentText("modp2048");
+
+ connect ( newprofilewizardracoonpagecontent->LocalIdTypeCombobox, SIGNAL ( highlighted ( const QString& ) ), this, SLOT ( localIDTypeRacoonToggled ( const QString& ) ) );
+ connect ( newprofilewizardracoonpagecontent->RemoteIdTypeCombobox, SIGNAL ( highlighted ( const QString& ) ), this, SLOT ( remoteIDTypeRacoonToggled ( const QString& ) ) );
+
+ connect ( newprofilewizardracoonpagecontent->IkeGroupCheckbox, SIGNAL ( toggled ( bool ) ), this, SLOT ( ikeGroupToggled ( bool ) ) );
+ connect ( newprofilewizardracoonpagecontent->UseXauthCheckBox, SIGNAL(toggled(bool)),this, SLOT(useXauthRacoonToggled(bool)));
+
+ Utils::IpsecAlgos KernelCrypto = Utils ( GlobalConfig ).getKernelCrypto();
+
+ // man racoon.conf
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("3des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("blowfish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("cast128" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("aes" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("camellia" );
+
+ // man racoon.conf
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "md5" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha1" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha256" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha384" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha512" );
+
+
+
+
+// // phase 2 encr algos from kernel
+// for ( QStringList::Iterator it = KernelCrypto.IpsecEspEncryptionAlgorithms.begin(); it != KernelCrypto.IpsecEspEncryptionAlgorithms.end(); ++it )
+// {
+// newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem ( *it );
+// }
+//
+// // phase 2 auth algos from kernel
+// for ( QStringList::Iterator it = KernelCrypto.IpsecEspAuthenticationAlgorithms.begin(); it != KernelCrypto.IpsecEspAuthenticationAlgorithms.end(); ++it )
+// {
+// newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem ( *it );
+// }
+
+ // vpn mit linux book
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("3des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("des_iv64" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("des_iv32" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("rc5" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("rc4" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("idea" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("3idea" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("cast128" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("blowfish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("null_enc" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("twofish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("rijndael" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("aes" );
+
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "3des" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des_iv64" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des_iv32" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_md5" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha1" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha256" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha384" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha512" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "non_auth" );
+
+
+ // FIXME save not implemented yet
+ newprofilewizardracoonpagecontent->PerfectForwardSecurityCheckbox->hide();
+ newprofilewizardracoonpagecontent->PerfectForwardSecrecyCombobox->hide();
+
+ newprofilewizardracoonpage->sizeHint();
+
+ //freeswan
+ newprofilewizardfreeswanselectionpage = new QHBox ( 0 );
+ // newprofilewizardfreeswanselectionpage->setSpacing(8);
+ QLabel *setupPixmapContent711 = new QLabel ( newprofilewizardfreeswanselectionpage );
+ setupPixmapContent711->setPixmap ( *SetupPixmap );
+ setupPixmapContent711->resize ( setupPixmapContent711->sizeHint() );
+ newprofilewizardfreeswanselectionpagecontent = new NewProfileWizardOpenvpnSelection ( newprofilewizardfreeswanselectionpage );
+ newprofilewizardfreeswanselectionpagecontent->OpenvpnImportRadioButton->setText(i18n("Import &Ipsec config file"));
+ newprofilewizardfreeswanselectionpage->sizeHint();
+
+ newprofilewizardfreeswanpage = new QHBox ( 0 );
+ // newprofilewizardfreeswanpage->setSpacing(8);
+ QLabel *setupPixmapContent6 = new QLabel ( newprofilewizardfreeswanpage );
+ setupPixmapContent6->setPixmap ( *SetupPixmap );
+ setupPixmapContent6->resize ( setupPixmapContent6->sizeHint() );
+ newprofilewizardfreeswanpagecontent = new NewProfileWizardFreeswan ( newprofilewizardfreeswanpage );
+ newprofilewizardfreeswanpage->sizeHint();
+
+ //freeswan
+ newprofilewizardfreeswanpage = new QHBox ( 0 );
+ // newprofilewizardfreeswanpage->setSpacing(8);
+ QLabel *setupPixmapContent66 = new QLabel ( newprofilewizardfreeswanpage );
+ setupPixmapContent66->setPixmap ( *SetupPixmap );
+ setupPixmapContent66->resize ( setupPixmapContent66->sizeHint() );
+ newprofilewizardfreeswanpagecontent = new NewProfileWizardFreeswan ( newprofilewizardfreeswanpage );
+
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->insertItem(i18n("Certificate ID"));
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->insertItem("asn1dn");
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->insertItem("address");
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->insertItem("fqdn");
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->insertItem("keyid");
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->insertItem("user_fqdn");
+
+ newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->insertItem("asn1dn");
+ newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->insertItem("address");
+ newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->insertItem("fqdn");
+ newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->insertItem("keyid");
+ newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->insertItem("user_fqdn");
+ newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->insertItem("none");
+
+ newprofilewizardfreeswanpagecontent->IpsecVpnModeCombobox->insertItem( "transport" );
+ newprofilewizardfreeswanpagecontent->IpsecVpnModeCombobox->insertItem( "tunnel" );
+
+ newprofilewizardfreeswanpagecontent->IpsecVpnModeCombobox->setCurrentItem(1);
+ newprofilewizardfreeswanpagecontent->DisableOpportunisticEncryptionCheckBox->setChecked(true);
+ newprofilewizardfreeswanpagecontent->UseModeConfigCheckBox->hide();
+ newprofilewizardfreeswanpagecontent->PerfectForwardSecurityCheckbox->setChecked(true);
+
+ connect ( newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox, SIGNAL ( highlighted ( const QString& ) ), this, SLOT ( localIDTypeIpsecToggled ( const QString& ) ) );
+
+ connect( newprofilewizardfreeswanpagecontent->UseCustomEspCheckBox, SIGNAL( toggled(bool) ), this, SLOT( useEspToogled(bool) ) );
+ connect( newprofilewizardfreeswanpagecontent->UseCustomIkeCheckBox, SIGNAL( toggled(bool) ), this, SLOT( useIkeToggled(bool) ) );
+ connect( newprofilewizardfreeswanpagecontent->UseLeftNextHopCheckBox, SIGNAL( toggled(bool) ), this, SLOT( useLeftNextHopToggled(bool) ) );
+ connect( newprofilewizardfreeswanpagecontent->UseRightNextHopCheckBox, SIGNAL( toggled(bool) ), this, SLOT( useRightNextHopToggled(bool) ) );
+ connect (newprofilewizardfreeswanpagecontent->UseXauthCheckBox, SIGNAL(toggled(bool)),this, SLOT(useXauthFreeswanToggled(bool)));
+
+ connect ( newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox, SIGNAL ( highlighted ( const QString& ) ), this, SLOT ( localIDTypeIpsecToggled ( const QString& ) ) );
+ connect ( newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox, SIGNAL ( highlighted ( const QString& ) ), this, SLOT ( remoteIDTypeIpsecToggled ( const QString& ) ) );
+
+ newprofilewizardfreeswanpage->sizeHint();
+
+ // openvpn
+ newprofilewizardopenvpnselectionpage = new QHBox ( 0 );
+ // newprofilewizardopenvpnselectionpage->setSpacing(8);
+ QLabel *setupPixmapContent7 = new QLabel ( newprofilewizardopenvpnselectionpage );
+ setupPixmapContent7->setPixmap ( *SetupPixmap );
+ setupPixmapContent7->resize ( setupPixmapContent7->sizeHint() );
+ newprofilewizardopenvpnselectionpagecontent = new NewProfileWizardOpenvpnSelection ( newprofilewizardopenvpnselectionpage );
+ newprofilewizardopenvpnselectionpage->sizeHint();
+
+ newprofilewizardopenvpnauthpage = new QHBox ( 0 );
+ // newprofilewizardopenvpnauthpage->setSpacing(8);
+ QLabel *setupPixmapContent71 = new QLabel ( newprofilewizardopenvpnauthpage );
+ setupPixmapContent71->setPixmap ( *SetupPixmap );
+ setupPixmapContent71->resize ( setupPixmapContent71->sizeHint() );
+ newprofilewizardopenvpnauthpagecontent = new NewProfileWizardOpenvpnAuth ( newprofilewizardopenvpnauthpage );
+ newprofilewizardopenvpnauthpage->sizeHint();
+ connect ( newprofilewizardopenvpnauthpagecontent->AuthWithUsernameAndPasswordCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( authenticateWithUsernameAndPasswordToggled ( bool ) ) );
+ connect ( newprofilewizardopenvpnauthpagecontent->UseAuthenticationAlgorithmCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useAuthenticationAlgorithmToggled ( bool ) ) );
+
+ newprofilewizardopenvpnpage = new QHBox ( 0 );
+ // newprofilewizardopenvpnpage->setSpacing(8);
+ QLabel *setupPixmapContent8 = new QLabel ( newprofilewizardopenvpnpage );
+ setupPixmapContent8->setPixmap ( *SetupPixmap );
+ setupPixmapContent8->resize ( setupPixmapContent8->sizeHint() );
+ newprofilewizardopenvpnpagecontent = new NewProfileWizardOpenvpn ( newprofilewizardopenvpnpage );
+ newprofilewizardopenvpnpage->sizeHint();
+ newprofilewizardopenvpnpagecontent->TunnelDeviceTypeComboBox->insertItem ( "tun" );
+ newprofilewizardopenvpnpagecontent->TunnelDeviceTypeComboBox->insertItem ( "tap" );
+ newprofilewizardopenvpnpagecontent->NsCertTypeComboBox->insertItem ( "client" );
+ newprofilewizardopenvpnpagecontent->NsCertTypeComboBox->insertItem ( "server" );
+ newprofilewizardopenvpnpagecontent->NsCertTypeComboBox->setEnabled ( false );
+ newprofilewizardopenvpnpagecontent->UserdefinedPortSpinBox->setEnabled ( false );
+
+ newprofilewizardopenvpnpagecontent->UseUserdefinedPortCheckBox->setChecked ( false );
+ newprofilewizardopenvpnpagecontent->UseNsCertTypeCheckBox->setChecked ( false );
+ newprofilewizardopenvpnpagecontent->UseTlsAuthCheckBox->setChecked ( false );
+ newprofilewizardopenvpnpagecontent->UseTlsRemoteHostCheckBox->setChecked ( false );
+ newprofilewizardopenvpnpagecontent->UseUserdefiniedCipherCheckBox->setChecked ( false );
+ newprofilewizardopenvpnpagecontent->UseHttpProxyCheckBox->setChecked ( false );
+
+ connect ( newprofilewizardopenvpnpagecontent->UseUserdefinedPortCheckBox , SIGNAL ( toggled ( bool ) ), this, SLOT ( userdefinedOpenvpnPortToggeled ( bool ) ) );
+ connect ( newprofilewizardopenvpnpagecontent->UseNsCertTypeCheckBox , SIGNAL ( toggled ( bool ) ), this, SLOT ( nsCertTypeOpenvpnToggled ( bool ) ) );
+ connect ( newprofilewizardopenvpnpagecontent->UseUserdefinedPortCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( userdefinedOpenvpnPortToggeled ( bool ) ) );
+ connect ( newprofilewizardopenvpnpagecontent->UseTlsAuthCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useTlsAuthToggled ( bool ) ) );
+ connect ( newprofilewizardopenvpnpagecontent->UseTlsRemoteHostCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useTlsRemoteHostToggled ( bool ) ) );
+ connect ( newprofilewizardopenvpnpagecontent->UseUserdefiniedCipherCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useUserdefiniedCipherToggled ( bool ) ) );
+ connect ( newprofilewizardopenvpnpagecontent->UseHttpProxyCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useHttpProxyToggeled ( bool ) ) );
+
+ QStringList ciphers = Utils ( GlobalConfig ).getOpenvpnCiphers();
+ QStringList digests = Utils ( GlobalConfig ).getOpenvpnDigests();
+
+ for ( QStringList::Iterator it = ciphers.begin(); it != ciphers.end(); ++it )
+ {
+ newprofilewizardopenvpnpagecontent->UserdefiniedCipherComboBox->insertItem ( *it );
+ }
+
+ for ( QStringList::Iterator it = digests.begin(); it != digests.end(); ++it )
+ {
+ newprofilewizardopenvpnauthpagecontent->UserdefiniedDigestComboBox->insertItem ( *it );
+ }
+
+ // pptp
+ newprofilewizardpptppage = new QHBox ( 0 );
+ // newprofilewizardpptppage->setSpacing(8);
+ QLabel *setupPixmapContent9 = new QLabel ( newprofilewizardpptppage );
+ setupPixmapContent9->setPixmap ( *SetupPixmap );
+ setupPixmapContent9->resize ( setupPixmapContent9->sizeHint() );
+ newprofilewizardpptppagecontent = new NewProfileWizardPptp ( newprofilewizardpptppage );
+ newprofilewizardpptppage->sizeHint();
+ newprofilewizardpptppagecontent->DnsServerLineedit->setEnabled ( false );
+ newprofilewizardpptppagecontent->RequireMppeCheckbox->setChecked( profileData->getRequireMppe() );
+ newprofilewizardpptppagecontent->Refuse128BitEncryptionCheckbox->setChecked( profileData->getRefuse128BitEncryption() );
+ newprofilewizardpptppagecontent->Refuse40BitEncryptionCheckbox->setChecked( profileData->getRefuse40BitEncryption() );
+ newprofilewizardpptppagecontent->UseNoMPPECompressionCheckbox->setChecked( profileData->getDisableMPPEComp() );
+ newprofilewizardpptppagecontent->DnsServerCheckbox->setChecked( profileData->getUseDnsUpdate() );
+ newprofilewizardpptppagecontent->DnsServerCheckbox->setChecked( profileData->getUseDnsServer() );
+ newprofilewizardpptppagecontent->DnsServerLineedit->setText( profileData->getDnsServer() );
+ newprofilewizardpptppagecontent->UseNoBsdCompCheckbox->setChecked( profileData->getUseNoBsdComp() );
+ newprofilewizardpptppagecontent->UseNoDeflateCheckbox->setChecked( profileData->getUseNoDeflate() );
+ newprofilewizardpptppagecontent->AllowStatefulModeCheckbox->setChecked( profileData->getAllowStatefulMode() );
+ newprofilewizardpptppagecontent->UseNoIpDefaultCheckbox->setChecked( profileData->getUseNoIpDefault() );
+ newprofilewizardpptppagecontent->DisableCcpCheckbox->setChecked( profileData->getDisableCcp() );
+ newprofilewizardpptppagecontent->DisableHeaderCompressionCheckbox->setChecked(profileData->getDisableHeaderCompression());
+ newprofilewizardpptppagecontent->DisableMagicNumberNegotiationCheckbox->setChecked(profileData->getDisableMagicNumberNegotiation());
+ newprofilewizardpptppagecontent->DisableIpxCheckbox->setChecked(profileData->getDisableIpx());
+ newprofilewizardpptppagecontent->DisableAdressControlCompressionCheckbox->setChecked(profileData->getDisableAdressControlCompression());
+ newprofilewizardpptppagecontent->DisableProtocolFieldCompressionCheckbox->setChecked(profileData->getDisableProtocolFieldCompression());
+
+
+ newprofilewizardpptppagecontent->AuthMethodComboBox->insertItem ( "chap" );
+ newprofilewizardpptppagecontent->AuthMethodComboBox->insertItem ( "pap" );
+ newprofilewizardpptppagecontent->AuthMethodComboBox->insertItem ( "mschap" );
+ newprofilewizardpptppagecontent->AuthMethodComboBox->insertItem ( "mschap-v2" );
+
+ connect( newprofilewizardpptppagecontent->DnsServerCheckbox, SIGNAL( toggled(bool) ), this, SLOT( useDnsServerToggled(bool) ) );
+ connect( newprofilewizardpptppagecontent->UseSearchDomainInResolvConfCheckbox, SIGNAL( toggled(bool) ), this, SLOT( useSearchDomainInResolvConfToggled(bool) ) );
+ connect( newprofilewizardpptppagecontent->UseDomainInResolvConfCheckbox, SIGNAL( toggled(bool) ), this, SLOT( useDomainInResolvConfToggled(bool) ) );
+
+ // vtun
+ newprofilewizardvtunpage = new QHBox ( 0 );
+ // newprofilewizardvtunpage->setSpacing(8);
+ QLabel *setupPixmapContent19 = new QLabel ( newprofilewizardvtunpage );
+ setupPixmapContent19->setPixmap ( *SetupPixmap );
+ setupPixmapContent19->resize ( setupPixmapContent19->sizeHint() );
+ newprofilewizardvtunpagecontent = new ProfileVtunOptions ( newprofilewizardvtunpage );
+ newprofilewizardvtunpage->sizeHint();
+ connect ( newprofilewizardvtunpagecontent->PortCheckbox, SIGNAL ( toggled ( bool ) ), this, SLOT ( usePortToggled ( bool ) ) );
+
+ // ssh
+ newprofilewizardsshpage = new QHBox ( 0 );
+ // newprofilewizardsshpage->setSpacing(8);
+ QLabel *setupPixmapContent191 = new QLabel ( newprofilewizardsshpage );
+ setupPixmapContent191->setPixmap ( *SetupPixmap );
+ setupPixmapContent191->resize ( setupPixmapContent191->sizeHint() );
+ newprofilewizardsshpagecontent = new ProfileSshOptions ( newprofilewizardsshpage );
+ newprofilewizardsshpage->sizeHint();
+
+ QString Home= QString(getenv("HOME"));
+ if (!Home.isEmpty())
+ {
+ QDir dir( Home+"/.ssh" );
+ QStringList KeyFiles = dir.entryList( "*" );
+
+ //if (GlobalConfig->KvpncDebugLevel > 2)
+ //{
+ // GlobalConfig->appendLogEntry(i18n("SSH files: %1").arg(KeyFiles.join(",")),GlobalConfig->debug);
+ //}
+
+ if (KeyFiles.size() > 1)
+ {
+ for ( QStringList::Iterator it = KeyFiles.begin(); it != KeyFiles.end(); ++it )
+ {
+ QString item = QString(*it);
+ if (GlobalConfig->KvpncDebugLevel > 2)
+ {
+ //GlobalConfig->appendLogEntry(i18n("processing entry: %1").arg(item),GlobalConfig->debug);
+ }
+ if (!item.contains (".pub", false) && !item.contains ("authorized_keys", false) && !item.contains ("known_hosts", false) && !item.contains (".", false) && !item.contains ("..", false) && !item.contains ("config", false) )
+ {
+ if (GlobalConfig->KvpncDebugLevel > 2)
+ {
+ GlobalConfig->appendLogEntry(i18n("SSH key found: %1").arg(*it),GlobalConfig->debug);
+ }
+ newprofilewizardsshpagecontent->SshKeyComboBox->insertItem(*it);
+ }
+ }
+ }
+ }
+
+
+ newprofilewizardauthselectionpage = new QHBox ( 0 );
+ // newprofilewizardauthselectionpage->setSpacing(8);
+ QLabel *setupPixmapContent81 = new QLabel ( newprofilewizardauthselectionpage );
+ setupPixmapContent81->setPixmap ( *SetupPixmap );
+ setupPixmapContent81->resize ( setupPixmapContent81->sizeHint() );
+ newprofilewizardauthselectioncontent = new NewProfileWizardAuthSelection ( newprofilewizardauthselectionpage );
+ newprofilewizardauthselectionpage->sizeHint();
+ newprofilewizardauthselectioncontent->CertificateRadioButton->setChecked ( true );
+ newprofilewizardauthselectioncontent->HybridRadioButton->hide ();
+
+
+ // virtual ip
+ newprofilewizardvirtualipaddresspage = new QHBox ( 0 );
+ QLabel *setupPixmapContent_virtualip = new QLabel ( newprofilewizardvirtualipaddresspage );
+ setupPixmapContent_virtualip->setPixmap ( *SetupPixmap );
+ setupPixmapContent_virtualip->resize ( setupPixmapContent_virtualip->sizeHint() );
+ profilenetworkvirtualipoptionscontent = new ProfileNetworkVirtualIpOptions ( newprofilewizardvirtualipaddresspage );
+ newprofilewizardvirtualipaddresspage->sizeHint();
+ insertPage ( newprofilewizardvirtualipaddresspage, "<b>" + i18n ( "Virtual IP address options" ) + "</b>",-1 );
+ connect ( profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useVirtualIpAddressToggled ( bool ) ) );
+
+ // psk
+ newprofilewizardpskpage = new QHBox ( 0 );
+ // newprofilewizardpskpage->setSpacing(8);
+ QLabel *setupPixmapContent72 = new QLabel ( newprofilewizardpskpage );
+ setupPixmapContent72->setPixmap ( *SetupPixmap );
+ setupPixmapContent72->resize ( setupPixmapContent72->sizeHint() );
+ newprofilewizardpskcontent = new NewProfileWizardPsk ( newprofilewizardpskpage );
+ newprofilewizardpskpage->sizeHint();
+
+ connect ( newprofilewizardpskcontent->PskInFileCheckBox , SIGNAL ( toggled ( bool ) ), this, SLOT ( pskIsInFileToggled ( bool ) ) );
+ connect ( newprofilewizardpskcontent->PSKLineEdit , SIGNAL ( textChanged ( const QString & ) ), this, SLOT ( pskInputToggled ( const QString& ) ) );
+
+ newprofilewizardp12certselectionpage = new QHBox ( 0 );
+ // newprofilewizardp12certselectionpage->setSpacing(8);
+ QLabel *setupPixmapContent74 = new QLabel ( newprofilewizardp12certselectionpage );
+ setupPixmapContent74->setPixmap ( *SetupPixmap );
+ setupPixmapContent74->resize ( setupPixmapContent74->sizeHint() );
+ newprofilewizardp12certselectioncontent = new NewProfileWizardP12CertSelection ( newprofilewizardp12certselectionpage );
+ newprofilewizardp12certselectionpage->sizeHint();
+ connect ( newprofilewizardp12certselectioncontent->UseSmartcardCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useSmartcardOnCertFormateToggled ( bool ) ) );
+
+ // cert
+ newprofilewizardcertpage = new QHBox ( 0 );
+ // newprofilewizardcertpage->setSpacing(8);
+ QLabel *setupPixmapContent73 = new QLabel ( newprofilewizardcertpage );
+ setupPixmapContent73->setPixmap ( *SetupPixmap );
+ setupPixmapContent73->resize ( setupPixmapContent73->sizeHint() );
+ newprofilewizardcertcontent = new NewProfileWizardCert ( newprofilewizardcertpage );
+ newprofilewizardcertpage->sizeHint();
+ connect ( newprofilewizardcertcontent->UseSpecialServerCertificateCheckBox , SIGNAL ( toggled ( bool ) ), this, SLOT ( useSpecialServerCertificateToggled ( bool ) ) );
+ connect ( newprofilewizardcertcontent->UseSmartcardCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useSmartcardToggled ( bool ) ) );
+ connect ( newprofilewizardcertcontent->UsePkcs11ProvidersCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( usePkcs11ProvidersToggled ( bool ) ) );
+ connect ( newprofilewizardcertcontent->DetectPkcs11SlotsPushButton, SIGNAL ( clicked() ), this, SLOT ( detectPkcs11Slots() ) );
+ connect ( newprofilewizardcertcontent->DetectPkcs11IdPushButton, SIGNAL ( clicked() ), this, SLOT ( detectPkcs11Ids() ) );
+ newprofilewizardcertcontent->Pkcs11SlotTypeComboBox->setEnabled ( false );
+ newprofilewizardcertcontent->Pkcs11SlotTypeLabel->setEnabled ( false );
+ newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->setURL ( QString ( "/usr/local/lib/libetpkcs11.so" ) );
+
+
+ // user
+ newprofilewizarduserpage = new QHBox ( 0 );
+ // newprofilewizarduserpage->setSpacing(8);
+ QLabel *setupPixmapContent75 = new QLabel ( newprofilewizarduserpage );
+ setupPixmapContent75->setPixmap ( *SetupPixmap );
+ setupPixmapContent75->resize ( setupPixmapContent75->sizeHint() );
+ newprofilewizarduserpagecontent = new NewProfileWizardUser ( newprofilewizarduserpage );
+ newprofilewizarduserpage->sizeHint();
+
+ connect ( newprofilewizarduserpagecontent->PasswordEdit , SIGNAL ( textChanged ( const QString& ) ), this, SLOT ( userpassToggled ( const QString& ) ) );
+ connect ( newprofilewizarduserpagecontent->UsernameLineEdit , SIGNAL ( textChanged ( const QString& ) ), this, SLOT ( usernameToggled ( const QString& ) ) );
+ connect ( newprofilewizarduserpagecontent->NtDomainNameCheckbox, SIGNAL ( toggled ( bool ) ), this, SLOT ( domainNameToggled ( bool ) ) );
+ newprofilewizarduserpagecontent ->NtDomainNameCheckbox->setEnabled ( true );
+ newprofilewizarduserpagecontent ->NtDomainNameCheckbox->hide();
+ newprofilewizarduserpagecontent ->NtDomainNameLineedit->hide();
+
+
+ // network
+ newprofilewizardnetworkpage = new QHBox ( 0 );
+ // newprofilewizardnetworkpage->setSpacing(8);
+ QLabel *setupPixmapContent76 = new QLabel ( newprofilewizardnetworkpage );
+ setupPixmapContent76->setPixmap ( *SetupPixmap );
+ setupPixmapContent76->resize ( setupPixmapContent76->sizeHint() );
+ newprofilewizardnetworkcontent = new NewProfileWizardNetwork ( newprofilewizardnetworkpage );
+ newprofilewizardnetworkpage->sizeHint();
+ newprofilewizardnetworkcontent->NetworkDeviceComboBox->insertItem ( "default" );
+
+ NetworkInterface iface ( GlobalConfig, GlobalConfig->appPointer );
+ QStringList list = iface.getAllNetworkInterfaces();
+ for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
+ newprofilewizardnetworkcontent->NetworkDeviceComboBox->insertItem ( QString ( *it ) );
+
+ newprofilewizardnetworkcontent->MtuSpinbox->hide();
+ newprofilewizardnetworkcontent->MtuCheckbox->hide();
+ newprofilewizardnetworkcontent->MruSpinbox->hide();
+ newprofilewizardnetworkcontent->MruCheckbox->hide();
+
+ newprofilewizardnetworkcontent->TunnelDeviceTypeLabel->hide();
+ newprofilewizardnetworkcontent->TunnelDeviceTypeComboBox->hide();
+
+ newprofilewizardnetworkcontent->TunnelDeviceTypeComboBox->insertItem("tun");
+ newprofilewizardnetworkcontent->TunnelDeviceTypeComboBox->insertItem("tap");
+
+ connect ( newprofilewizardnetworkcontent->MtuCheckbox, SIGNAL ( toggled ( bool ) ), this, SLOT ( mtuToggled ( bool ) ) );
+ connect ( newprofilewizardnetworkcontent->MtuCheckbox, SIGNAL ( toggled ( bool ) ), this, SLOT ( mtuToggled ( bool ) ) );
+ connect ( newprofilewizardnetworkcontent->UseRemoteNetworkCheckBox, SIGNAL ( toggled ( bool ) ) , this, SLOT( useRemoteNetworkToggled (bool )));
+ connect ( newprofilewizardnetworkcontent->TunnelDeviceTypeComboBox, SIGNAL(activated ( const QString & )),this, SLOT(tunnelDeviceTypeChanged(const QString& )));
+
+ // network routes
+ newprofilewizardnetworkroutepage = new QHBox ( 0 );
+ // newprofilewizardnetworkroutepage->setSpacing(8);
+ QLabel *setupPixmapContent761 = new QLabel ( newprofilewizardnetworkroutepage );
+ setupPixmapContent761->setPixmap ( *SetupPixmap );
+ setupPixmapContent761->resize ( setupPixmapContent761->sizeHint() );
+ newprofilewizardnetworkroutecontent = new ProfileNetworkRouteOptions ( newprofilewizardnetworkroutepage );
+ newprofilewizardnetworkroutepage->sizeHint();
+
+ connect(newprofilewizardnetworkroutecontent->DefaultRouteComboBox, SIGNAL(activated(const QString&)), this, SLOT(defaultRouteToggled(const QString&)));
+
+ newprofilewizardnetworkroutecontent->DefaultRouteComboBox->setCurrentItem(1);
+
+
+ // nat
+ newprofilewizardnatpage = new QHBox ( 0 );
+ // newprofilewizardnatpage->setSpacing(8);
+ QLabel *setupPixmapContent77 = new QLabel ( newprofilewizardnatpage );
+ setupPixmapContent77->setPixmap ( *SetupPixmap );
+ setupPixmapContent77->resize ( setupPixmapContent77->sizeHint() );
+ newprofilewizardnatcontent = new NewProfileWizardNat ( newprofilewizardnatpage );
+ newprofilewizardnatpage->sizeHint();
+ newprofilewizardnatcontent->UseUdpCheckbox->setChecked ( true );
+ newprofilewizardnatcontent->UseNatCheckbox->setChecked ( true );
+ connect ( newprofilewizardnatcontent->UseNatCheckbox, SIGNAL ( toggled ( bool ) ), this, SLOT ( useNatToggled ( bool ) ) );
+ connect ( newprofilewizardnatcontent->UdpPortCheckbox, SIGNAL ( toggled ( bool ) ), this, SLOT ( udpPortToggled ( bool ) ) );
+ useNatToggled(true);
+
+ // connectionstatuscheck
+ newprofilewizardconnectionstatuscheckpage = new QHBox ( 0 );
+ // newprofilewizardconnectionstatuscheckpage->setSpacing(8);
+ QLabel *setupPixmapContent79 = new QLabel ( newprofilewizardconnectionstatuscheckpage );
+ setupPixmapContent79->setPixmap ( *SetupPixmap );
+ setupPixmapContent79->resize ( setupPixmapContent79->sizeHint() );
+ newprofilewizardconnectionstatuscheckcontent = new NewProfileWizardConnectionStatusCheck ( newprofilewizardconnectionstatuscheckpage );
+ newprofilewizardconnectionstatuscheckpage->sizeHint();
+ insertPage ( newprofilewizardconnectionstatuscheckpage, "<b>" + i18n ( "Connection status check" ) + "</b>", -1 );
+ connect ( newprofilewizardconnectionstatuscheckcontent->PingUserdefiniedAddressCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( pingIpAfterConnectToggled ( bool ) ) );
+ connect ( newprofilewizardconnectionstatuscheckcontent->UseConnectionStatusCheckCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( connectionStatusCheckToggled ( bool ) ) );
+
+ // connectoptions
+ newprofilewizardconnectoptionspage = new QHBox ( 0 );
+
+ // newprofilewizardconnectoptionspage->setSpacing(8);
+ QLabel *setupPixmapContent80 = new QLabel ( newprofilewizardconnectoptionspage );
+ setupPixmapContent80->setPixmap ( *SetupPixmap );
+ setupPixmapContent80->resize ( setupPixmapContent80->sizeHint() );
+ newprofilewizardconnectoptionscontent = new NewProfileWizardConnectOptions ( newprofilewizardconnectoptionspage );
+ newprofilewizardconnectoptionspage->sizeHint();
+ newprofilewizardconnectoptionscontent->DoAutoConnectCheckBox->hide(); //TODO later
+ newprofilewizardconnectoptionscontent->AutoConnectProfileComboBox->hide(); //TODO_ later
+ insertPage ( newprofilewizardconnectoptionspage, "<b>" + i18n ( "Connect options" ) + "</b>", -1 );
+
+ // general
+ newprofilewizardgeneralpage = new QHBox ( 0 );
+ // newprofilewizardgeneralpage->setSpacing(8);
+ QLabel *setupPixmapContent78 = new QLabel ( newprofilewizardgeneralpage );
+ setupPixmapContent78->setPixmap ( *SetupPixmap );
+ setupPixmapContent78->resize ( setupPixmapContent78->sizeHint() );
+ newprofilewizardgeneralpagecontent = new NewProfileWizardGeneral ( newprofilewizardgeneralpage );
+ newprofilewizardgeneralpage->sizeHint();
+ insertPage ( newprofilewizardgeneralpage, "<b>" + i18n ( "General settings" ) + "</b>", -1 );
+
+ // setup end page
+ endpage = new QHBox ( 0 );
+ // endpage->setSpacing(8);
+ QLabel *setupPixmapContent11 = new QLabel ( endpage );
+ setupPixmapContent11->setPixmap ( *SetupPixmapFinal );
+ setupPixmapContent11->resize ( setupPixmapContent11->sizeHint() );
+ QLabel *endpagecontent = new QLabel ( endpage );
+ endpagecontent->setMargin ( 11 );
+ endpagecontent->setText ( i18n ( "Now you have completed all steps for creating a new profile.\nClick \"Finish\" to continue." ) );
+ endpagecontent->setMaximumSize ( endpagecontent->sizeHint() );
+ endpage->sizeHint();
+ insertPage ( endpage, "<b>" + i18n ( "Finish" ) + "</b>", -1 ); // last page
+}
+
+void NewProfileWizard::next ()
+{
+ // called at each finish of a page
+ bool ok = true;
+ QString msg = i18n ( "Please fill in all fields!" );
+
+ if ( currentpage == page1 )
+ {
+ // nothing here
+ }
+ else if ( currentpage == newprofilewizardgeneralpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ if ( newprofilewizardgeneralpagecontent->NameLineEdit->text().isEmpty() )
+ {
+ msg += "- " + i18n ( "Name" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Name is empty!" ), GlobalConfig->error );
+ }
+ else
+ {
+ QString Name = newprofilewizardgeneralpagecontent->NameLineEdit->text();
+
+
+ bool nameOk = true;
+ if ( Name.contains ( ' ' ) )
+ {
+ KMessageBox::error ( this, i18n ( "Profile name can not contain spaces!" ), i18n ( "Spaces Not Allowed" ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Profile name can not contain spaces!" ) , GlobalConfig->error );
+ msg += "- " + i18n ( "Name" ) + "\n";
+ nameOk = FALSE;
+ ok = false;
+ }
+
+ if ( Name.isEmpty() )
+ {
+ KMessageBox::error ( this, i18n ( "Profile name can not be empty!" ), i18n ( "No Name Entered" ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Profile name can not be empty!" ) , GlobalConfig->error );
+ msg += "- " + i18n ( "Name" ) + "\n";
+ nameOk = FALSE;
+ ok = false;
+ }
+
+ VpnAccountData * it;
+
+ while ( nameOk == false )
+ {
+ for ( it = GlobalConfig->AccountList->first(); it; it = GlobalConfig->AccountList->next() )
+ {
+ if ( it->getName() == Name )
+ {
+ //account->setName( QString( account->getName() + "_2" ) );
+ // KMessageBox::information ( this, i18n( "Profile name exists!\n It will be renamed to \"%1\"." ).arg( account->getName() ), i18n( "Name exist, renamed" ) );
+ KMessageBox::error ( this, i18n ( "Profile name exists!" ), i18n ( "Name Exists" ) );
+
+ QString newName = KInputDialog::getText ( i18n ( "New Name" ), i18n ( "New name for profile:" ), QString ( Name += "_2" ), &ok );
+
+ if ( !Name.isEmpty() )
+ {
+ nameOk = true;
+ break;
+ }
+ }
+ nameOk = true;
+ }
+ nameOk = true;
+ }
+
+ if ( nameOk )
+ {
+ profileData->setName ( Name );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Profile name: %1" ).arg ( profileData->getName() ), KVpncConfig::debug );
+
+ newProfileCreated = TRUE;
+ }
+ else
+ {
+ return ;
+ }
+ }
+
+ if ( newprofilewizardgeneralpagecontent->gatewayLineEdit->text().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "Gateway" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Gateway is empty!" ), GlobalConfig->error );
+ }
+ else
+ {
+ profileData->setGateway ( newprofilewizardgeneralpagecontent->gatewayLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Gateway: %1" ).arg ( newprofilewizardgeneralpagecontent->gatewayLineEdit->text() ), KVpncConfig::debug );
+ }
+ profileData->setDescription ( newprofilewizardgeneralpagecontent->DescriptionLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Description: %1" ).arg ( newprofilewizardgeneralpagecontent->DescriptionLineEdit->text() ), KVpncConfig::debug );
+ }
+ else if ( currentpage == newprofilewizardtypeselectionpage )
+ {
+ if ( newprofilewizardtypeselectionpagecontent->CiscoRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::cisco );
+ removePage ( newprofilewizardcertpage );
+ removePage ( newprofilewizardpskpage );
+ removePage ( newprofilewizardp12certselectionpage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ removePage ( newprofilewizardracoonpage );
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnselectionpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardvirtualipaddresspage );
+ newprofilewizardnetworkcontent->RemoteNetworkGroupBox->hide();
+// newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+// newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+// newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+// newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+// newprofilewizardp12certselectioncontent->UseSmartcardCheckBox->hide();
+
+ newprofilewizarduserpagecontent ->NtDomainNameCheckbox->show();
+ newprofilewizarduserpagecontent ->NtDomainNameLineedit->show();
+
+ insertPage ( newprofilewizardciscoselectionpage, "<b>" + i18n ( "Cisco selection" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "Cisco (free)" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->CiscoVpncRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::ciscoorig );
+// removePage ( newprofilewizardcertpage );
+ removePage ( newprofilewizardpskpage );
+ removePage ( newprofilewizardp12certselectionpage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ removePage ( newprofilewizardracoonpage );
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnselectionpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardvirtualipaddresspage );
+ newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+ newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+ newprofilewizardp12certselectioncontent->UseSmartcardCheckBox->hide();
+
+ newprofilewizarduserpagecontent ->NtDomainNameCheckbox->show();
+ newprofilewizarduserpagecontent ->NtDomainNameLineedit->show();
+
+ insertPage ( newprofilewizardciscoselectionpage, "<b>" + i18n ( "Cisco selection" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "Cisco (propritary)" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->FreeswanRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::freeswan );
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnselectionpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardvirtualipaddresspage );
+
+ insertPage ( newprofilewizardfreeswanpage, "<b>" + i18n ( "FreeSWAN/OpenSWAN settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->insertItem ( "main", 0 );
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->insertItem ( "aggressive", 1 );
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->setCurrentItem ( 0 ); // main
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->setEnabled ( true );
+
+ newprofilewizardfreeswanpagecontent->IpsecVpnModeCombobox->setCurrentItem(1); // tunnel
+
+ newprofilewizardcertcontent->certpathURLRequester->setURL ( "/etc/ipsec.d/cacerts" );
+ newprofilewizardcertcontent->Pkcs11IdTypeComboBox->setEnabled ( false );
+ newprofilewizardcertcontent->Pkcs11IdTypeComboBox->setCurrentText ( i18n ( "ID" ) );
+
+// profileData->setIkeGroup ( "modp2048" ); // default for windows?!
+// profileData->setAuthenticationAlgorithm ( "hmac_md5" ); // default for windows?!
+// profileData->setHashAlgo ( "sha1" ); // default for windows?!
+
+
+// newprofilewizardfreeswanpagecontent->InfoLabel->setText ( i18n ( "Please enter %1 specific settings:" ).arg ( "FreeS/WAN/Openswan/strongSwan" ) );
+ insertPage ( newprofilewizardfreeswanselectionpage, "<b>" + i18n ( "IPSec selection" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "FreeS/WAN/Openswan/strongSwan" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->RacoonRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::racoon );
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnselectionpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardvirtualipaddresspage );
+
+
+// profileData->setIkeGroup ( "modp2048" ); // default for windows?!
+// profileData->setHashAlgo ( "sha1" ); // default for windows?!
+// profileData->setAuthenticationAlgorithm ( "hmac_md5" );
+
+ profileData->setUseMailAddressAsIdentifier ( false );
+
+// newprofilewizardracoonpagecontent->DHGroupComboBox->setCurrentText ( profileData->getIkeGroup() );
+// newprofilewizardracoonpagecontent->AuthenticationAlgorithmComboBox->setCurrentText ( profileData->getAuthenticationAlgorithm() );
+// newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->setCurrentText ( profileData->getEncryptionAlgorithm() );
+
+ Utils::IpsecAlgos KernelCrypto = Utils ( GlobalConfig ).getKernelCrypto();
+
+ // man racoon.conf
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("3des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("blowfish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("cast128" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("aes" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("camellia" );
+
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->setCurrentText("3des");
+
+ // man racoon.conf
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "md5" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha1" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha256" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha384" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha512" );
+
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->setCurrentText("md5");
+
+ // vpn mit linux book
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("3des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("des_iv64" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("des_iv32" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("rc5" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("rc4" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("idea" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("3idea" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("cast128" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("blowfish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("null_enc" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("twofish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("rijndael" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem("aes" );
+
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->setCurrentText("3des");
+
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "3des" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des_iv64" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des_iv32" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_md5" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha1" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha256" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha384" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha512" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "non_auth" );
+
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->setCurrentText( "hmac_md5" );
+
+ for ( QStringList::Iterator it = KernelCrypto.IpsecEspEncryptionAlgorithms.begin(); it != KernelCrypto.IpsecEspEncryptionAlgorithms.end(); ++it )
+ {
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem ( *it );
+ }
+
+ newprofilewizardcertcontent->UseSmartcardCheckBox->hide();
+ newprofilewizardcertcontent->SmartcardGroupBox->hide();
+ newprofilewizardp12certselectioncontent->UseSmartcardCheckBox->hide();
+
+
+ insertPage ( newprofilewizardauthselectionpage, i18n ( "Authentication settings" ), indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardracoonpage, "<b>" + i18n ( "Racoon settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+
+ newprofilewizardauthselectioncontent->HybridRadioButton->show();
+
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "Racoon" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->L2tpRacoonRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::l2tpd_racoon );
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnselectionpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardnetworkpage );
+ removePage ( newprofilewizardvirtualipaddresspage );
+
+ profileData->setUseMailAddressAsIdentifier ( false );
+
+// profileData->setIkeGroup ( "modp2048" ); // default for windows?!
+// profileData->setHashAlgo ( "sha1" ); // default for windows?!
+// profileData->setAuthenticationAlgorithm ( "hmac_md5" ); // default for windows?
+
+ Utils::IpsecAlgos KernelCrypto = Utils ( GlobalConfig ).getKernelCrypto();
+
+ //FIXME why this is not in kernel crypto list???
+// newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem ( "3des" );
+
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("des" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("des_iv64" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("des_iv32" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("rc5" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("rc4" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("idea" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("3idea" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("cast128" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("blowfish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("null_enc" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("twofish" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("rijndael" );
+ newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem("aes" );
+
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "md5" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha1" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha256" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha384" );
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem( "sha512" );
+
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "3des" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des_iv64" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "des_iv32" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_md5" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha1" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha256" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha384" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "hmac_sha512" );
+ newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem( "non_auth" );
+
+// for ( QStringList::Iterator it = KernelCrypto.IpsecIkeEncryptionAlgorithms.begin(); it != KernelCrypto.IpsecIkeEncryptionAlgorithms.end(); ++it )
+// {
+// newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->insertItem ( *it );
+// }
+//
+// for ( QStringList::Iterator it = KernelCrypto.IpsecIkeHashAlgorithms.begin(); it != KernelCrypto.IpsecIkeHashAlgorithms.end(); ++it )
+// {
+// newprofilewizardracoonpagecontent->HashAlgoComboBox->insertItem ( *it );
+// }
+
+ for ( QStringList::Iterator it = KernelCrypto.IpsecEspEncryptionAlgorithms.begin(); it != KernelCrypto.IpsecEspEncryptionAlgorithms.end(); ++it )
+ {
+ newprofilewizardracoonpagecontent->EncryptionAlgorithm2ComboBox->insertItem ( *it );
+ }
+
+// for ( QStringList::Iterator it = KernelCrypto.IpsecEspAuthenticationAlgorithms.begin(); it != KernelCrypto.IpsecEspAuthenticationAlgorithms.end(); ++it )
+// {
+// newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->insertItem ( *it );
+// }
+ insertPage ( newprofilewizardracoonpage, "<b>" + i18n ( "Racoon settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardauthselectionpage, i18n ( "Authentication settings" ), indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 3 );
+
+ newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+ newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+ newprofilewizarduserpagecontent ->NtDomainNameCheckbox->show();
+ newprofilewizarduserpagecontent ->NtDomainNameLineedit->show();
+ newprofilewizardcertcontent->UseSmartcardCheckBox->hide();
+ newprofilewizardcertcontent->SmartcardGroupBox->hide();
+ newprofilewizardp12certselectioncontent->UseSmartcardCheckBox->hide();
+ newprofilewizardcertcontent->certpathURLRequester->setURL ( "/etc/racoon/" );
+
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "L2TP (racoon)" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->L2tpFreeswanRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::l2tpd_freeswan );
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnselectionpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardnetworkpage );
+ removePage ( newprofilewizardvirtualipaddresspage );
+
+ profileData->setUseMailAddressAsIdentifier ( false );
+
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->insertItem ( "main", 0 );
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->insertItem ( "aggressive", 1 );
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->setCurrentItem ( 0 ); // main
+ newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->setEnabled ( true );
+ newprofilewizardfreeswanpagecontent->IpsecVpnModeCombobox->setCurrentItem(1); // transport
+ newprofilewizardfreeswanpagecontent->IpsecVpnModeCombobox->setEnabled(false);
+
+
+ newprofilewizarduserpagecontent ->NtDomainNameCheckbox->show();
+ newprofilewizarduserpagecontent ->NtDomainNameLineedit->show();
+ newprofilewizardcertcontent->Pkcs11IdTypeComboBox->setEnabled ( false );
+ newprofilewizardcertcontent->Pkcs11IdTypeComboBox->setCurrentText ( i18n ( "ID" ) );
+ newprofilewizardauthselectioncontent->CertificateRadioButton->setText ( i18n ( "&Certificate/Smartcard" ) );
+ newprofilewizardcertcontent->certpathURLRequester->setURL ( "/etc/ipsec.d/cacerts" );
+
+// newprofilewizardfreeswanpagecontent->InfoLabel->setText ( i18n ( "Please enter %1 specific settings:" ).arg ( "FreeS/WAN/Openswan/strongSwan" ) );
+
+ insertPage ( newprofilewizardfreeswanselectionpage, "<b>" + i18n ( "IPSec selection" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "L2TP (OpenS/WAN)" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->OpenvpnRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::openvpn );
+ profileData->setLocalPort ( 1194 );
+ profileData->setRemotePort ( 1194 );
+ profileData->setUserdefinedPort ( 1194 );
+ profileData->setUseSmartcard ( false );
+ profileData->setCertPath ( "/etc/openvpn" );
+ profileData->setHashAlgo ( "SHA1" );
+ profileData->setAuthenticationAlgorithm ( "MD5" );
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardracoonpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+ newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+
+ newprofilewizardcertcontent->UseSmartcardCheckBox->show();
+ newprofilewizardcertcontent->SmartcardGroupBox->show();
+ newprofilewizardp12certselectioncontent->UseSmartcardCheckBox->show();
+ newprofilewizardauthselectioncontent->CertificateRadioButton->setText ( i18n ( "&Certificate/Smartcard" ) );
+ newprofilewizardcertcontent->certpathURLRequester->setURL ( "/etc/openvpn" );
+
+ profilenetworkvirtualipoptionscontent->SourceIpgroupBox->hide();
+
+ insertPage ( newprofilewizardopenvpnauthpage, "<b>" + i18n ( "OpenVPN authentication settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ connect ( newprofilewizardopenvpnauthpagecontent->AuthWithUsernameAndPasswordCheckBox, SIGNAL ( toggled ( bool ) ), this, SLOT ( authenticateWithUsernameAndPasswordToggled ( bool ) ) );
+ newprofilewizardopenvpnauthpagecontent->UserdefiniedDigestComboBox->setCurrentText ( "SHA1" );
+
+
+ insertPage ( newprofilewizardopenvpnselectionpage, "<b>" + i18n ( "OpenVPN selection" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "OpenVPN" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->PptpRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::pptp );
+ profileData->setUseMtu ( false );
+ profileData->setUseMru ( false );
+ profileData->setMtu ( 1500 );
+ profileData->setMru ( 1500 );
+ newprofilewizardnetworkcontent->MtuSpinbox->show();
+ newprofilewizardnetworkcontent->MtuCheckbox->show();
+ newprofilewizardnetworkcontent->MruSpinbox->show();
+ newprofilewizardnetworkcontent->MruCheckbox->show();
+ newprofilewizardnetworkcontent->MtuSpinbox->setValue ( profileData->getMtu() );
+ newprofilewizardnetworkcontent->MruSpinbox->setValue ( profileData->getMru() );
+ newprofilewizardnetworkcontent->MtuSpinbox->setEnabled ( false );
+ newprofilewizardnetworkcontent->MruSpinbox->setEnabled ( false );
+ newprofilewizardnetworkcontent->MtuCheckbox->setChecked ( false );
+ newprofilewizardnetworkcontent->MruCheckbox->setChecked ( false );
+
+ newprofilewizardpptppagecontent->AuthMethodComboBox->setCurrentText ( profileData->getAuthMethod() );
+ newprofilewizardpptppagecontent->L2tpDaemonComboBox->hide();
+ newprofilewizardpptppagecontent->L2tpdDaemonLabel->hide();
+ newprofilewizardpptppagecontent->AuthGroupBox->hide();
+ newprofilewizardpptppagecontent->UseNoDeflateCheckbox->setChecked( ! profileData->getUseNoDeflate());
+ newprofilewizardpptppagecontent->UseNoBsdCompCheckbox->setChecked( ! profileData->getUseNoBsdComp());
+
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardcertpage );
+ removePage ( newprofilewizardpskpage );
+ removePage ( newprofilewizardp12certselectionpage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ removePage ( newprofilewizardracoonpage );
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnselectionpage );
+ insertPage ( newprofilewizardpptppage, "<b>" + i18n ( "PPTP settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 3 );
+
+ newprofilewizarduserpagecontent ->NtDomainNameCheckbox->show();
+ newprofilewizarduserpagecontent ->NtDomainNameLineedit->show();
+ newprofilewizardcertcontent->UseSmartcardCheckBox->hide();
+ newprofilewizardcertcontent->SmartcardGroupBox->hide();
+
+ profilenetworkvirtualipoptionscontent->SourceIpgroupBox->hide();
+
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "PPTP" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->VtunRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::vtun );
+ profileData->setLocalPort ( 5000 );
+ profileData->setRemotePort ( 5000 );
+ profileData->setUserdefinedPort ( 5000 );
+ profileData->setUseSmartcard ( false );
+// profileData->setCertPath( "/etc/openvpn" );
+// profileData->setHashAlgo("SHA1");
+// profileData->setAuthenticationAlgorithm("MD5");
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardracoonpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ removePage ( newprofilewizardopenvpnpage );
+ newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+ newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+
+
+ insertPage ( newprofilewizardvtunpage, "<b>" + i18n ( "Vtun options" ) + "</b>",2 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 3 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 4 );
+
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "Vtun" ), KVpncConfig::debug );
+ }
+ else if ( newprofilewizardtypeselectionpagecontent->SshRadioButton->isChecked() )
+ {
+ profileData->setConnectionType ( VpnAccountData::ssh );
+ profileData->setRemotePort ( 22 );
+ profileData->setUseSmartcard ( false );
+ profileData->setTunnelDeviceType("tun");
+ removePage ( newprofilewizardvtunpage);
+ removePage ( newprofilewizardciscoselectionpage );
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardracoonpage );
+ removePage ( newprofilewizardpptppage );
+ removePage ( newprofilewizardfreeswanpage );
+ removePage ( newprofilewizardfreeswanselectionpage );
+ removePage ( newprofilewizardopenvpnpage );
+ newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+ newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+
+ profilenetworkvirtualipoptionscontent->SourceIpgroupBox->hide();
+
+ newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+ newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+ newprofilewizardnetworkcontent->UseRemoteNetworkCheckBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetworkGroupBox->hide();
+
+ newprofilewizardnetworkcontent->TunnelDeviceTypeLabel->show();
+ newprofilewizardnetworkcontent->TunnelDeviceTypeComboBox->show();
+ newprofilewizardnetworkcontent->TunnelDeviceTypeLabel->setEnabled(true);
+ newprofilewizardnetworkcontent->TunnelDeviceTypeComboBox->setEnabled(true);
+
+
+ profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->setChecked(true);
+ newprofilewizarduserpagecontent->UsernameLineEdit->setText("root");
+
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardsshpage, "<b>" + i18n ( "SSH options" ) + "</b>",2 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 3 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 4 );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Selected type: %1" ).arg ( "SSH" ), KVpncConfig::debug );
+ }
+
+
+ QString type = ""; // visible name
+ QString bin = ""; // executable name
+ if ( profileData->getConnectionType() == VpnAccountData::cisco )
+ {
+ type = "vpnc";
+ bin = "vpnc";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::freeswan )
+ {
+ type = "freeswan";
+ bin = "ipsec";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::racoon )
+ {
+ type = "racoon";
+ bin = "racoon";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::l2tpd_racoon )
+ {
+ type = "L2TP (racoon)";
+ bin = "racoon";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan )
+ {
+ type = "L2TP (OpenSWAN)";
+ bin = "ipsec";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::pptp )
+ {
+ type = "pptp";
+ bin = "pppd pptp";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::openvpn )
+ {
+ type = "openvpn";
+ bin = "openvpn";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::vtun )
+ {
+ type = "vtun";
+ bin = "vtund";
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::ssh )
+ {
+ type = "ssh";
+ bin = "ssh";
+ }
+ else
+ {
+ type = "other";
+ bin = "";
+ }
+
+ ToolInfo *it = 0;
+ //std::cout << "Tool (bin): " << bin << std::endl;
+
+ if ( !GlobalConfig->ToolList->isEmpty() )
+ {
+ if ( type != "pptp" )
+ {
+ it = Utils ( GlobalConfig ).getToolInfo ( bin );
+ if ( it != 0 )
+ {
+ if ( it->PathToExec.section ( '/', -1 ) == bin )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "The required daemon (%1) is available, you will be able to use this connection." ).arg ( bin ), KVpncConfig::info );
+ daemonavailable = true;
+ }
+ else
+ {
+ KMessageBox::information ( this, i18n ( "The required daemon (%1) isn't available, you will not be able to use this connection until the daemon is not installed." ).arg ( bin ) );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "The required daemon (%1) isn't available, you will not be able to use this connection until the daemon is not installed." ).arg ( bin ), KVpncConfig::error );
+ daemonavailable = false;
+ removePage ( newprofilewizardconnectoptionspage );
+ }
+ }
+ if ( type == "ipsec" )
+ {
+
+ QString realversion = it->Version.section ( ' ', 1, 1 ).section ( '/', 0, 0 ).right ( it->Version.section ( ' ', 1, 1 ).section ( '/', 0, 0 ).length() - 1 );
+ QString realtype = it->Version.section ( ' ', 0, 0 ).lower();
+
+ if ( realversion.find ( "1.", 0, -1 ) > -1 )
+ {
+ KMessageBox::information ( this, i18n ( "The required version (%1) of FreeSWAN/OpenSWAN was not found. You will not be able to use the Agressive Mode. It will be used the Main Mode." ).arg ( "2" ) );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "The required version (%1) of FreeSWAN/OpenSWAN was not found. You will not be able to use the Agressive Mode. It will be used the Main Mode." ).arg ( "2" ).arg ( bin ), KVpncConfig::error );
+ }
+ }
+ }
+ else
+ {
+ bool pppd_and_pptp_available = false;
+ it = Utils ( GlobalConfig ).getToolInfo ( "pppd" );
+ if ( it->PathToExec.section ( '/', -1 ) == "pppd" )
+ {
+ it = Utils ( GlobalConfig ).getToolInfo ( "pptp" );
+ if ( it->PathToExec.section ( '/', -1 ) == "pptp" )
+ pppd_and_pptp_available = true;
+ }
+ if ( pppd_and_pptp_available )
+ {
+ // programs are installed
+ daemonavailable = true;
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "The required daemons (%1 and %2) are available." ).arg ( "pppd" ).arg ( "pptp" ), KVpncConfig::info );
+ }
+ else
+ {
+ KMessageBox::information ( this, i18n ( "The required daemons (%1 and %2) aren't available, you will not be able to use this connection until the daemons are not installed." ).arg ( "pppd" ).arg ( "pptpd" ) );
+ GlobalConfig->appendLogEntry ( i18n ( "The required daemons (%1 and %2) are not available, connect will be disabled." ).arg ( "pppd" ).arg ( "pptpd" ), KVpncConfig::error );
+ daemonavailable = false;
+ removePage ( newprofilewizardconnectoptionspage );
+ }
+ }
+
+ }
+
+ }
+ else if ( currentpage == newprofilewizardciscoselectionpage )
+ {
+ if ( newprofilewizardciscoselectionpagecontent->PcfImportRadioButton->isChecked() )
+ {
+ enterdatamanually = false;
+ removePage ( newprofilewizardciscomanuallypage );
+ removePage ( newprofilewizardgeneralpage );
+ //insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Cisco selection: import PCF file" ), KVpncConfig::debug );
+
+ if ( profileData->getConnectionType() == VpnAccountData::cisco )
+ importProfile ( VpnAccountData::cisco );
+ if ( profileData->getConnectionType() == VpnAccountData::ciscoorig )
+ importProfile ( VpnAccountData::ciscoorig );
+ if ( importOK )
+ newProfileCreated = true;
+ else
+ newProfileCreated = false;
+
+ }
+ else
+ {
+ enterdatamanually = true;
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Cisco selection: enter data manually" ), KVpncConfig::debug );
+
+ if ( profileData->getConnectionType() == VpnAccountData::cisco )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Cisco selection: cisco" ), KVpncConfig::debug );
+
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardciscomanuallypage, "<b>" + i18n ( "Cisco settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 3 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 4 );
+ }
+ if ( profileData->getConnectionType() == VpnAccountData::ciscoorig )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Cisco selection: ciscoorig" ), KVpncConfig::debug );
+
+ insertPage ( newprofilewizardauthselectionpage, "<b>"+ i18n ( "Authentication settings" ) +"</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 4 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 5 );
+
+ newprofilewizardauthselectioncontent->PskRadioButton->setChecked(true);
+ }
+
+ }
+ }
+ else if ( currentpage == newprofilewizardciscomanuallypage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ if ( newprofilewizardciscomanuallypagecontent->IDLineEdit->text().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "Cisco IPSec ID" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Cisco IPSec ID is empty!" ), GlobalConfig->error );
+ }
+ profileData->setGateway ( newprofilewizardciscomanuallypagecontent->IDLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Cisco IPSec ID: %1" ).arg ( newprofilewizardciscomanuallypagecontent->IDLineEdit->text() ), KVpncConfig::debug );
+
+ profileData->setAllowEmptyGroupPassword ( newprofilewizardciscomanuallypagecontent->AllowEmptyGroupPasswordCheckBox->isChecked() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ {
+ if ( newprofilewizardciscomanuallypagecontent->AllowEmptyGroupPasswordCheckBox->isChecked() )
+ GlobalConfig->appendLogEntry ( i18n ( "Allow empty group password: true" ), KVpncConfig::debug );
+ else
+ GlobalConfig->appendLogEntry ( i18n ( "Allow empty group password: false" ), KVpncConfig::debug );
+ }
+
+// if ( !newprofilewizardciscomanuallypagecontent->AllowEmptyGroupPasswordCheckBox->isChecked() && newprofilewizardciscomanuallypagecontent->GroupPasswordLineEdit->text().isEmpty() )
+// {
+// ok = false;
+// msg += "- " + i18n( "Group password" ) + "\n";
+// GlobalConfig->appendLogEntry( i18n( "Group password is empty but you dont have checked to allow that!" ), GlobalConfig->error );
+// }
+// else
+ profileData->setPreSharedKey ( newprofilewizardciscomanuallypagecontent->GroupPasswordLineEdit->text() );
+
+ profileData->setSavePsk ( newprofilewizardciscomanuallypagecontent->CheckSavePsk->isChecked() );
+
+ profileData->setID ( newprofilewizardciscomanuallypagecontent->IDLineEdit->text() );
+ profileData->setAllowEmptyGroupPassword ( newprofilewizardciscomanuallypagecontent->AllowEmptyGroupPasswordCheckBox->isChecked() );
+
+ profileData->setUseDpdIdleTimeout(true);
+ if (profileData->getConnectionType() == VpnAccountData::cisco )
+ profileData->setDpdIdleTimeout(300);
+ if (profileData->getConnectionType() == VpnAccountData::ciscoorig )
+ profileData->setDpdIdleTimeout(90);
+
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnatpage, "<b>" + i18n ( "NAT settings" ) + "</b>", indexOf ( currentpage ) + 3 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 4 );
+
+ }
+ else if ( currentpage == newprofilewizardfreeswanpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ profileData->setUseModeConfig ( newprofilewizardfreeswanpagecontent->UseModeConfigCheckBox->isChecked() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ {
+ if ( newprofilewizardfreeswanpagecontent->UseModeConfigCheckBox->isChecked() )
+ GlobalConfig->appendLogEntry ( i18n ( "Use Mode Config: %1" ).arg ( i18n ( "yes" ) ), KVpncConfig::debug );
+ else
+ GlobalConfig->appendLogEntry ( i18n ( "Use Mode Config: %1" ).arg ( i18n ( "no" ) ), KVpncConfig::debug );
+ }
+
+ profileData->setExchangeMode ( newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->currentText() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Exchange mode (%1): %2" ).arg ( "ipsec" ).arg ( newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->currentText() ), KVpncConfig::debug );
+
+ profileData->setLeftNextHop ( newprofilewizardfreeswanpagecontent->LeftNextHopLineEdit->text() ); //TODO check valid IP
+ profileData->setRightNextHop ( newprofilewizardfreeswanpagecontent->RightNextHopLineEdit->text( ) ); //TODO check valid IP
+ profileData->setDisableOpportunisticEncryption ( newprofilewizardfreeswanpagecontent->DisableOpportunisticEncryptionCheckBox->isChecked( ) );
+
+ // xauth
+ if (newprofilewizardfreeswanpagecontent->UseXauthCheckBox->isChecked())
+ {
+ profileData->setAuthWithUsernameAndPassword(true);
+ }
+ else
+ {
+ profileData->setAuthWithUsernameAndPassword(false);
+ }
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ {
+ if ( newprofilewizardfreeswanpagecontent->DisableOpportunisticEncryptionCheckBox->isChecked() )
+ GlobalConfig->appendLogEntry ( i18n ( "Disable opportunistic encryption: %1" ).arg ( i18n ( "yes" ) ), KVpncConfig::debug );
+ else
+ GlobalConfig->appendLogEntry ( i18n ( "Disable opportunistic encryption: %1" ).arg ( i18n ( "no" ) ), KVpncConfig::debug );
+ GlobalConfig->appendLogEntry ( i18n ( "Right next hop: %1" ).arg ( newprofilewizardfreeswanpagecontent->RightNextHopLineEdit->text() ), KVpncConfig::debug );
+ GlobalConfig->appendLogEntry ( i18n ( "Left next hop: %1" ).arg ( newprofilewizardfreeswanpagecontent->LeftNextHopLineEdit->text() ), KVpncConfig::debug );
+ GlobalConfig->appendLogEntry ( i18n ( "Use PFS: %1" ).arg ( profileData->getPerfectForwardSecrety() ), KVpncConfig::debug );
+
+ }
+
+ profileData->setExchangeMode ( newprofilewizardfreeswanpagecontent->ExchangeModeComboBox->currentText() );
+
+ if (newprofilewizardfreeswanpagecontent->UseXauthCheckBox->isChecked())
+ {
+ if ( newprofilewizardfreeswanpagecontent->LocalIDLineEdit->text().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "Local ID (Group ID)" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Local ID (Group ID) is empty!" ), GlobalConfig->error );
+ }
+ profileData->setUseSpecialLocalID(true);
+ }
+
+ profileData->setLocalIDType ( newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->currentText() );
+
+ if (newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->currentText() != "none" && newprofilewizardfreeswanpagecontent->RemoteIDLineEdit->text().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "Remote ID" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Remote ID is empty!" ), GlobalConfig->error );
+ }
+ if (newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->currentText() != "none")
+ profileData->setUseSpecialRemoteID(true);
+ else
+ profileData->setUseSpecialRemoteID(false);
+
+ profileData->setRemoteIDType ( newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->currentText() );
+
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Type of local ID: %1" ).arg ( newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->currentText() ), KVpncConfig::debug );
+
+ profileData->setSpecialLocalID ( newprofilewizardfreeswanpagecontent->LocalIDLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Local ID value: %1" ).arg ( newprofilewizardfreeswanpagecontent->LocalIDLineEdit->text() ), KVpncConfig::debug );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Type of remote ID: %1" ).arg ( newprofilewizardfreeswanpagecontent->RemoteIdTypeCombobox->currentText() ), KVpncConfig::debug );
+
+ profileData->setSpecialRemoteID ( newprofilewizardfreeswanpagecontent->RemoteIDLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Remote ID value: %1" ).arg ( newprofilewizardfreeswanpagecontent->RemoteIDLineEdit->text() ), KVpncConfig::debug );
+
+
+ // ike + esp
+ QStringList IkeList;
+ QStringList EspList;
+
+ if (newprofilewizardfreeswanpagecontent->IkeAes256Sha1CheckBox->isChecked())
+ IkeList.append("aes256-sha1");
+ if (newprofilewizardfreeswanpagecontent->IkeAes128Sha1CheckBox->isChecked())
+ IkeList.append("aes128-sha1");
+ if (newprofilewizardfreeswanpagecontent->IkeDesSha1Modp2048CheckBox->isChecked())
+ IkeList.append("3des-sha1-modp2048");
+ if (newprofilewizardfreeswanpagecontent->IkeDesMd5CheckBox->isChecked())
+ IkeList.append("3des-md5");
+ if (newprofilewizardfreeswanpagecontent->IkeDesSha1CheckBox->isChecked())
+ IkeList.append("3des-sha1");
+
+ if (!newprofilewizardfreeswanpagecontent->OtherIkeLineEdit->text().isEmpty())
+ IkeList.append(newprofilewizardfreeswanpagecontent->OtherIkeLineEdit->text());
+
+ if (newprofilewizardfreeswanpagecontent->Esp3desMd5CheckBox->isChecked())
+ EspList.append("3des-md5");
+ if (newprofilewizardfreeswanpagecontent->EspDesSha1CheckBox->isChecked())
+ EspList.append("3des-sha1");
+ if (newprofilewizardfreeswanpagecontent->EspAes128Sha1CheckBox->isChecked())
+ EspList.append( "aes128-sha1");
+ if (newprofilewizardfreeswanpagecontent->EspAes256Sha1CheckBox->isChecked())
+ EspList.append( "aes256-sha1");
+
+ if (!newprofilewizardfreeswanpagecontent->OtherEspLineEdit->text().isEmpty())
+ EspList.append(newprofilewizardfreeswanpagecontent->OtherEspLineEdit->text());
+
+// for ( QStringList::Iterator ikeit = IkeList.begin(); ikeit != IkeList.end(); ++ikeit )
+// std::cout << "ike: " << *ikeit << ":" << std::endl;
+
+// for ( QStringList::Iterator espit = EspList.begin(); espit != EspList.end(); ++espit )
+// std::cout << "esp: " << *espit << ":" << std::endl;
+
+ if(newprofilewizardfreeswanpagecontent->UseCustomEspCheckBox->isChecked() && !EspList.isEmpty())
+ {
+ profileData->setUseCustomEsp(true);
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Use custom %1: %2" ).arg ( i18n("ESP") ).arg(i18n("yes")), KVpncConfig::debug );
+
+ profileData->setIpsecEsp(EspList.join(","));
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "ESP settings: %1" ).arg ( EspList.join(",") ), KVpncConfig::debug );
+
+ }
+ else if(newprofilewizardfreeswanpagecontent->UseCustomEspCheckBox->isChecked() && EspList.isEmpty())
+ {
+ ok = false;
+ msg += "- " + i18n ( "Use custom ESP checked but none selected!" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Use custom ESP checked but none selected!" ), GlobalConfig->error );
+ }
+ else if(!newprofilewizardfreeswanpagecontent->UseCustomEspCheckBox->isChecked())
+ {
+ profileData->setUseCustomEsp(false);
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Use custom %1: %2" ).arg ( i18n("ESP") ).arg(i18n("no")), KVpncConfig::debug );
+ }
+
+ if(newprofilewizardfreeswanpagecontent->UseCustomIkeCheckBox->isChecked() && !IkeList.isEmpty())
+ {
+ profileData->setUseCustomIke(true);
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Use custom %1: %2" ).arg ( i18n("IKE") ).arg(i18n("yes")), KVpncConfig::debug );
+
+ profileData->setIpsecIke(IkeList.join(","));
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "IKE settings: %1" ).arg ( IkeList.join(",") ), KVpncConfig::debug );
+
+ }
+ else if(newprofilewizardfreeswanpagecontent->UseCustomIkeCheckBox->isChecked() && IkeList.isEmpty())
+ {
+ ok = false;
+ msg += "- " + i18n ( "Use custom IKE checked but none selected!" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Use custom IKE checked but none selected!" ), GlobalConfig->error );
+ }
+ else if (!newprofilewizardfreeswanpagecontent->UseCustomIkeCheckBox->isChecked())
+ {
+ profileData->setUseCustomIke(false);
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Use custom %1: %2" ).arg ( i18n("IKE") ).arg(i18n("false")), KVpncConfig::debug );
+ }
+
+ if (ok)
+ {
+ if (newprofilewizardfreeswanpagecontent->UseXauthCheckBox->isChecked())
+ {
+ if (GlobalConfig->KvpncDebugLevel > 1)
+ GlobalConfig->appendLogEntry ( i18n ( "Authenticate with username and password: %1" ).arg ( i18n ( "yes" ) ), KVpncConfig::debug );
+ profileData->setAuthWithUsernameAndPassword(true);
+
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnatpage, "<b>" + i18n ( "NAT settings" ) + "</b>", indexOf ( currentpage ) + 3 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 4 );
+ }
+ else
+ {
+ if (GlobalConfig->KvpncDebugLevel > 1)
+ GlobalConfig->appendLogEntry ( i18n ( "Authenticate with username and password: %1" ).arg ( i18n ( "no" ) ), KVpncConfig::debug );
+
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardnatpage, "<b>" + i18n ( "NAT settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 3 );
+ }
+ }
+
+ }
+ else if ( currentpage == newprofilewizardfreeswanselectionpage )
+ {
+ if ( newprofilewizardfreeswanselectionpagecontent->OpenvpnImportRadioButton->isChecked() )
+ {
+ enterdatamanually = false;
+ removePage ( newprofilewizardfreeswanpage );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "IPSec selection: import profile file" ), KVpncConfig::debug );
+
+ // removePage ( newprofilewizardgeneralpage );
+// removePage ( newprofilewizardvirtualipaddresspage );
+
+ if ( importProfile ( VpnAccountData::freeswan ) == true )
+ {
+ newProfileCreated = true;
+ newprofilewizardgeneralpagecontent->NameLineEdit->setText ( profileData->getName() );
+ newprofilewizardgeneralpagecontent->gatewayLineEdit->setText ( profileData->getGateway() );
+ newprofilewizardgeneralpagecontent->DescriptionLineEdit->setText ( profileData->getDescription() );
+
+ }
+ else
+ {
+ newProfileCreated = false;
+ ok = false;
+ }
+ }
+ else
+ {
+ enterdatamanually = true;
+ insertPage ( newprofilewizardfreeswanpage, "<b>" + i18n ( "IPSec settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardauthselectionpage, i18n ( "Authentication settings" ), indexOf ( currentpage ) + 1 );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "IPSec selection: enter data manually" ), KVpncConfig::debug );
+ }
+
+ }
+ else if ( currentpage == newprofilewizardracoonpage )
+ {
+ if ( newprofilewizardracoonpagecontent->HashAlgoComboBox->currentText() == "SHA1" )
+ {
+ profileData->setHashAlgo ( "sha1" );
+ }
+ if ( newprofilewizardracoonpagecontent->HashAlgoComboBox->currentText() == "MD5" )
+ {
+ profileData->setHashAlgo ( "md5" );
+ }
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Hash algorithm (%1): %2" ).arg ( "racoon" ).arg ( profileData->getHashAlgo() ), KVpncConfig::debug );
+
+ if ( newprofilewizardtypeselectionpagecontent->RacoonRadioButton->isChecked() )
+ {
+ profileData->setUseModeConfig ( newprofilewizardracoonpagecontent->UseModeConfigCheckBox->isChecked() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ {
+ if ( newprofilewizardracoonpagecontent->UseModeConfigCheckBox->isChecked() )
+ GlobalConfig->appendLogEntry ( i18n ( "Use Mode Config: %1" ).arg ( i18n ( "yes" ) ), KVpncConfig::debug );
+ else
+ GlobalConfig->appendLogEntry ( i18n ( "Use Mode Config: %1" ).arg ( i18n ( "no" ) ), KVpncConfig::debug );
+ }
+ }
+
+ profileData->setExchangeMode ( newprofilewizardracoonpagecontent->ExchangeModeComboBox->currentText() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Exchange mode (%1): %2" ).arg ( "racoon" ).arg ( newprofilewizardracoonpagecontent->ExchangeModeComboBox->currentText() ), KVpncConfig::debug );
+
+ profileData->setIkeGroup ( newprofilewizardracoonpagecontent->DHGroupComboBox->currentText() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "DH group (%1): %2" ).arg ( "racoon" ).arg ( newprofilewizardracoonpagecontent->DHGroupComboBox->currentText() ), KVpncConfig::debug );
+
+ profileData->setAuthenticationAlgorithm( newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->currentText() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Authentication algorithm (%1) (phase 2): %2" ).arg ( "racoon" ).arg ( newprofilewizardracoonpagecontent->AuthenticationAlgorithm2ComboBox->currentText() ),KVpncConfig::debug );
+
+ profileData->setIpsecIke(newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->currentText());
+ profileData->setUseAuthenticationAlgorithm(true);
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Encryption algorithm (%1) (phase 1): %2" ).arg ( "racoon" ).arg ( newprofilewizardracoonpagecontent->EncryptionAlgorithmComboBox->currentText() ), KVpncConfig::debug );
+
+ profileData->setLocalIDType ( newprofilewizardracoonpagecontent->LocalIdTypeCombobox->currentText() );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Type of local ID: %1" ).arg ( newprofilewizardracoonpagecontent->LocalIdTypeCombobox->currentText() ), KVpncConfig::debug );
+
+ profileData->setSpecialLocalID ( newprofilewizardracoonpagecontent->LocalIDLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Local ID value: %1" ).arg ( newprofilewizardracoonpagecontent->LocalIDLineEdit->text() ), KVpncConfig::debug );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Type of remote ID: %1" ).arg ( newprofilewizardracoonpagecontent->RemoteIdTypeCombobox->currentText() ), KVpncConfig::debug );
+
+ profileData->setSpecialRemoteID ( newprofilewizardracoonpagecontent->RemoteIDLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Remote ID value: %1" ).arg ( newprofilewizardracoonpagecontent->RemoteIDLineEdit->text() ), KVpncConfig::debug );
+
+
+ if (newprofilewizardracoonpagecontent->UseXauthCheckBox->isChecked())
+ {
+ profileData->setAuthWithUsernameAndPassword(true);
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Authenticate with username and password: %1" ).arg ( i18n ( "yes" ) ), KVpncConfig::debug );
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnatpage, "<b>" + i18n ( "NAT settings" ) + "</b>", indexOf ( currentpage ) + 3 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) +4 );
+
+ }
+ else
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Authenticate with username and password: %1" ).arg ( i18n ( "no" ) ), KVpncConfig::debug );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardnatpage, "<b>" + i18n ( "NAT settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) +3 );
+ }
+ }
+ else if ( currentpage == newprofilewizardopenvpnpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ profileData->setTunnelDeviceType ( newprofilewizardopenvpnpagecontent->TunnelDeviceTypeComboBox->currentText() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Tunnel device type (%1): %2" ).arg ( "OpenVPN" ).arg ( newprofilewizardopenvpnpagecontent->TunnelDeviceTypeComboBox->currentText() ), KVpncConfig::debug );
+
+ if ( newprofilewizardopenvpnpagecontent->NsCertTypeComboBox->currentText() == "client" )
+ profileData->setNsCertType ( "client" );
+ else
+ profileData->setNsCertType ( "server" );
+
+ profileData->setTunnelDeviceType ( newprofilewizardopenvpnpagecontent->TunnelDeviceTypeComboBox->currentText() );
+
+ insertPage ( newprofilewizardauthselectionpage, "<b>" + i18n ( "Authentication settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ insertPage ( newprofilewizardnetworkpage, "<b>" + i18n ( "Network settings" ) + "</b>", indexOf ( currentpage ) + 2 );
+ insertPage ( newprofilewizardnetworkroutepage, "<b>" + i18n ( "Network routes" ) + "</b>", indexOf ( currentpage ) + 3 );
+ insertPage ( newprofilewizardnatpage, "<b>" + i18n ( "NAT settings" ) + "</b>", indexOf ( currentpage ) + 4 );
+
+ profileData->setUserdefiniedCipher ( newprofilewizardopenvpnpagecontent->UserdefiniedCipherComboBox->currentText() );
+ profileData->setUseUserdefiniedCipher ( newprofilewizardopenvpnpagecontent->UseUserdefiniedCipherCheckBox->isChecked() );
+
+ profileData->setRemotePort ( newprofilewizardopenvpnpagecontent->UserdefinedPortSpinBox->value() );
+ profileData->setUseRemotePort ( newprofilewizardopenvpnpagecontent->UseUserdefinedPortCheckBox->isChecked() );
+
+ if ( newprofilewizardopenvpnpagecontent->UseTlsAuthCheckBox->isChecked() )
+ {
+ if ( newprofilewizardopenvpnpagecontent->TlsAuthURLRequester->url().isEmpty() )
+ {
+ ok = false;
+ msg += i18n ( "TLS auth file" ) + "\n";
+ }
+ else
+ {
+ profileData->setUseTlsAuth ( true );
+ profileData->setTlsAuthFile ( newprofilewizardopenvpnpagecontent->TlsAuthURLRequester->url() );
+ }
+ }
+
+ if ( newprofilewizardopenvpnpagecontent->UseTlsRemoteHostCheckBox->isChecked() )
+ {
+ if ( newprofilewizardopenvpnpagecontent->TlsRemoteHostLineEdit->text().isEmpty() )
+ {
+ ok = false;
+ msg += i18n ( "TLS remote host" ) + "\n";
+ }
+ else
+ {
+ profileData->setUseTlsRemoteHost ( newprofilewizardopenvpnpagecontent->UseTlsAuthCheckBox->isChecked() );
+ profileData->setTlsRemoteHost ( newprofilewizardopenvpnpagecontent->TlsRemoteHostLineEdit->text() );
+ }
+ }
+
+ profileData->setDisableLzoCompression ( newprofilewizardopenvpnpagecontent->DisableLzoCompressionCheckBox->isChecked() );
+
+ if ( newprofilewizardopenvpnpagecontent->UseHttpProxyCheckBox->isChecked() )
+ {
+ if ( newprofilewizardopenvpnpagecontent->HttpProxyLineEdit->text().isEmpty() )
+ {
+ ok = false;
+ msg += i18n ( "HTTP proxy host" ) + "\n";
+ }
+ else
+ {
+ profileData->setUseHttpProxy ( newprofilewizardopenvpnpagecontent->UseHttpProxyCheckBox->isChecked() );
+ profileData->setHttpProxy ( newprofilewizardopenvpnpagecontent->HttpProxyLineEdit->text( ) );
+ }
+ }
+
+ if ( newprofilewizardopenvpnpagecontent->AllowIpAddressChangeOfPeerCheckBox->isChecked() )
+ profileData->setAllowIpAddressChangeOfPeer ( true );
+ else
+ profileData->setAllowIpAddressChangeOfPeer ( false );
+
+ profileData->setHttpProxyPort ( newprofilewizardopenvpnpagecontent->HttpProxyPortIntNumInput->value( ) );
+ profileData->setHttpProxyTimeout ( newprofilewizardopenvpnpagecontent->HttpProxyTimeoutIntSpinBox->value() );
+
+
+ }
+ else if ( currentpage == newprofilewizardauthselectionpage )
+ {
+ if ( newprofilewizardauthselectioncontent->PskRadioButton->isChecked() )
+ {
+ useCert = false;
+
+ profileData->setAuthType ( VpnAccountData::psk );
+ insertPage ( newprofilewizardpskpage, "<b>" + i18n ( "PSK settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ // racoon or freeswan
+ if ( profileData->getConnectionType() == VpnAccountData::freeswan || profileData->getConnectionType() == VpnAccountData::racoon ||
+ profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan || profileData->getConnectionType() == VpnAccountData::l2tpd_racoon )
+ {
+ newprofilewizardpskcontent->PSKLineEdit->setEnabled ( true );
+ newprofilewizardfreeswanpagecontent->UseXauthCheckBox->setEnabled ( true );
+ newprofilewizardracoonpagecontent->UseXauthCheckBox->setEnabled ( true );
+ }
+
+ else if ( profileData->getConnectionType() == VpnAccountData::openvpn )
+ {
+ newprofilewizardpskcontent->PSKLineEdit->setEnabled ( true );
+ newprofilewizardpskcontent->LabelPsk->setEnabled ( true );
+ }
+
+ else if ( profileData->getConnectionType() == VpnAccountData::ciscoorig )
+ {
+ insertPage ( newprofilewizardciscomanuallypage, "<b>" + i18n ( "Cisco settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ removePage( newprofilewizardpskpage);
+ }
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Auth selection: use PSK" ), KVpncConfig::debug );
+ }
+ if ( newprofilewizardauthselectioncontent->CertificateRadioButton->isChecked() )
+ {
+ useCert = true;
+ profileData->setAuthType ( VpnAccountData::cert );
+
+ newprofilewizardcertcontent->x509certURLRequester->show();
+ newprofilewizardcertcontent->x509certURLRequester->sizeHint();
+ newprofilewizardcertcontent->x509certComboBox->hide();
+
+
+ if (profileData->getConnectionType() != VpnAccountData::ciscoorig)
+ insertPage ( newprofilewizardp12certselectionpage, "<b>" + i18n ( "Certificate format" ) + "</b>", indexOf ( currentpage ) + 1 );
+ // racoon or freeswan
+ if ( profileData->getConnectionType() == VpnAccountData::freeswan || profileData->getConnectionType() == VpnAccountData::racoon ||
+ profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan || profileData->getConnectionType() == VpnAccountData::l2tpd_racoon )
+ {
+ newprofilewizardcertcontent->x509certURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->LabelCertificate->setEnabled ( true );
+ newprofilewizardcertcontent->certpathURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->LabelCertificatePath->setEnabled ( true );
+
+ newprofilewizardfreeswanpagecontent->UseXauthCheckBox->setEnabled ( false );
+ newprofilewizardracoonpagecontent->UseXauthCheckBox->setEnabled ( false );
+ }
+
+ else if ( profileData->getConnectionType() == VpnAccountData::openvpn )
+ {
+ newprofilewizardcertcontent->CaCertpathURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->certpathURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->LabelCertificatePath->setEnabled ( true );
+
+
+ if ( profileData->getUseOnlyCaCertAndUserAuth() )
+ {
+ newprofilewizardcertcontent->x509certURLRequester->setEnabled ( false );
+ newprofilewizardcertcontent->privkeypathURLRequester->setEnabled ( false );
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setEnabled ( false );
+ newprofilewizardcertcontent->LabelPrivateKeyPath->setEnabled ( false );
+ newprofilewizardcertcontent->LabelCertificate->setEnabled ( false );
+ newprofilewizardcertcontent->LabelPrivateKeyPassword->setEnabled ( false );
+
+ }
+ else
+ {
+ newprofilewizardcertcontent->x509certURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->privkeypathURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setEnabled ( true );
+ newprofilewizardcertcontent->LabelPrivateKeyPath->setEnabled ( true );
+ newprofilewizardcertcontent->LabelCertificate->setEnabled ( true );
+ newprofilewizardcertcontent->LabelPrivateKeyPassword->setEnabled ( true );
+ }
+ }
+
+ else if ( profileData->getConnectionType() == VpnAccountData::ciscoorig )
+ {
+ newprofilewizardcertcontent->x509certURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->LabelCertificate->setEnabled ( true );
+ newprofilewizardcertcontent->certpathURLRequester->setEnabled ( false );
+ newprofilewizardcertcontent->LabelCertificatePath->setEnabled ( false );
+ newprofilewizardcertcontent->certpathURLRequester->hide();
+ newprofilewizardcertcontent->LabelCertificatePath->hide();
+ newprofilewizardcertcontent->UseSmartcardCheckBox->hide();
+ newprofilewizardcertcontent->SmartcardGroupBox->hide();
+ newprofilewizardcertcontent->UseSpecialServerCertificateCheckBox->hide();
+ newprofilewizardcertcontent->SpecialServerCertificateURLRequester->hide();
+ newprofilewizardcertcontent->CaCertpathURLRequester->hide();
+ newprofilewizardcertcontent->LabelPrivateKeyPath->hide();
+ newprofilewizardcertcontent->privkeypathURLRequester->hide();
+ newprofilewizardcertcontent->LabelCaCertificatePath->hide();
+ newprofilewizardcertcontent->CertificateGroupBox->resize(newprofilewizardcertcontent->CertificateGroupBox->sizeHint());
+
+
+ insertPage ( newprofilewizardcertpage, "<b>" + i18n ( "Certificate settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+
+// newprofilewizardciscomanuallypagecontent->AllowEmptyGroupPasswordCheckBox->hide();
+// newprofilewizardciscomanuallypagecontent->LabelPsk->hide();
+// newprofilewizardciscomanuallypagecontent->GroupPasswordLineEdit->hide();
+// newprofilewizardciscomanuallypagecontent->CheckSavePsk->hide();
+
+ if ( importCertificate() )
+ {
+ // success :)
+ }
+ else
+ {
+ newProfileCreated = false;
+ }
+ newprofilewizardcertcontent->LabelPrivateKeyPassword->setText("Certificate password:");
+ // newprofilewizardcertcontent->LabelCertificate->setText(i18n("Certificate (enter name here):"));
+ newprofilewizardcertcontent->x509certURLRequester->hide();
+ newprofilewizardcertcontent->x509certComboBox->show();
+ newprofilewizardcertcontent->x509certComboBox->sizeHint();
+ newprofilewizardcertcontent->x509certComboBox->setCurrentItem(0);
+
+ }
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Auth selection: use certificate" ), KVpncConfig::debug );
+ }
+ if ( newprofilewizardauthselectioncontent->HybridRadioButton->isChecked() )
+ {
+ useCert = false;
+
+ profileData->setAuthType ( VpnAccountData::hybrid );
+ insertPage ( newprofilewizardcertpage, "<b>" + i18n ( "Certificate settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ // racoon or freeswan
+ if ( profileData->getConnectionType() == VpnAccountData::racoon || profileData->getConnectionType() == VpnAccountData::l2tpd_racoon )
+ {
+ newprofilewizardpskcontent->PSKLineEdit->setEnabled ( true );
+ newprofilewizardfreeswanpagecontent->UseXauthCheckBox->setEnabled ( true );
+ newprofilewizardracoonpagecontent->UseXauthCheckBox->setEnabled ( true );
+
+ newprofilewizardcertpage->setEnabled(true);
+ newprofilewizardcertcontent->x509certComboBox->setEnabled(false);
+ newprofilewizardcertcontent->x509certURLRequester->setEnabled(false);
+ newprofilewizardcertcontent->CaCertpathURLRequester->setEnabled(true);
+ newprofilewizardcertcontent->certpathURLRequester->setURL("/etc/racoon/certs");
+ newprofilewizardcertcontent->LabelCertificate->setEnabled(false);
+ newprofilewizardcertcontent->LabelPrivateKeyPath->setEnabled(false);
+ newprofilewizardcertcontent->LabelPrivateKeyPassword->setEnabled(false);
+ newprofilewizardcertcontent->SpecialServerCertificateURLRequester->setEnabled(false);
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setEnabled(false);
+ newprofilewizardcertcontent->UseSpecialServerCertificateCheckBox->setEnabled(false);
+ newprofilewizardcertcontent->privkeypathURLRequester->setEnabled(false);
+ newprofilewizardpskcontent->setEnabled(false);
+
+
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::ciscoorig )
+ {
+ insertPage ( newprofilewizardciscomanuallypage, "<b>" + i18n ( "Cisco settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ removePage( newprofilewizardpskpage);
+ }
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Auth selection: use Hybrid" ), KVpncConfig::debug );
+ }
+ }
+ else if ( currentpage == newprofilewizardp12certselectionpage )
+ {
+ insertPage ( newprofilewizardcertpage, "<b>" + i18n ( "Certificate settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ if ( newprofilewizardp12certselectioncontent->UseSmartcardCheckBox->isChecked() )
+ {
+ profileData->setUseSmartcard ( true );
+ newprofilewizardcertcontent->UseSmartcardCheckBox->setChecked ( true );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "P12 cert selection: use smartcard" ), KVpncConfig::debug );
+ }
+ else
+ {
+ if ( newprofilewizardp12certselectioncontent->P12CertYesRadioButton->isChecked() )
+ {
+ // yes we have p12 cert
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "P12 cert selection: cert type is PKCS12" ), KVpncConfig::debug );
+
+ if ( importCertificate() )
+ {
+ // success :)
+ }
+ else
+ {
+ newProfileCreated = false;
+ }
+ }
+ else
+ {
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "P12 cert selection: cert type is other" ), KVpncConfig::debug );
+ }
+ }
+ }
+ else if ( currentpage == newprofilewizardopenvpnselectionpage )
+ {
+ if ( newprofilewizardopenvpnselectionpagecontent->OpenvpnImportRadioButton->isChecked() )
+ {
+ enterdatamanually = false;
+ removePage ( newprofilewizardopenvpnpage );
+ removePage ( newprofilewizardopenvpnauthpage );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN selection: import profile file" ), KVpncConfig::debug );
+
+ // removePage ( newprofilewizardgeneralpage );
+ removePage ( newprofilewizardvirtualipaddresspage );
+
+ if ( importProfile ( VpnAccountData::openvpn ) == true )
+ {
+ newProfileCreated = true;
+ newprofilewizardgeneralpagecontent->NameLineEdit->setText ( profileData->getName() );
+ newprofilewizardgeneralpagecontent->gatewayLineEdit->setText ( profileData->getGateway() );
+ newprofilewizardgeneralpagecontent->DescriptionLineEdit->setText ( profileData->getDescription() );
+
+ if ( profileData->getAuthWithUsernameAndPassword() )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN auth: authenticate with username and password" ), KVpncConfig::debug );
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ }
+ }
+ else
+ {
+ newProfileCreated = false;
+ ok = false;
+ }
+ }
+ else
+ {
+ enterdatamanually = true;
+ insertPage ( newprofilewizardopenvpnpage, "<b>" + i18n ( "OpenVPN settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN selection: enter data manually" ), KVpncConfig::debug );
+ }
+
+ }
+ else if ( currentpage == newprofilewizardopenvpnauthpage )
+ {
+ if ( newprofilewizardopenvpnauthpagecontent->AuthWithUsernameAndPasswordCheckBox->isChecked() )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN auth: authenticate with username and password" ), KVpncConfig::debug );
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ profileData->setAuthWithUsernameAndPassword ( true );
+
+ if ( newprofilewizardopenvpnauthpagecontent->UseOnlyCaCertAndUserAuthCheckBox->isChecked() )
+ {
+ profileData->setUseOnlyCaCertAndUserAuth ( true );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN auth: use only CA cert authenticate with username and password" ), KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setUseOnlyCaCertAndUserAuth ( false );
+
+ }
+ }
+ else
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN auth: dont authenticate with username and password" ), KVpncConfig::debug );
+
+ profileData->setAuthWithUsernameAndPassword ( false );
+ profileData->setUseOnlyCaCertAndUserAuth ( false );
+ }
+
+ if ( newprofilewizardopenvpnauthpagecontent->UseAuthenticationAlgorithmCheckBox->isChecked() )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN auth: use special authentication algorithm: %1" ).arg ( newprofilewizardopenvpnauthpagecontent->UserdefiniedDigestComboBox->currentText() ), KVpncConfig::debug );
+ profileData->setUseAuthenticationAlgorithm ( true );
+ profileData->setAuthenticationAlgorithm ( newprofilewizardopenvpnauthpagecontent->UserdefiniedDigestComboBox->currentText() );
+ }
+ else
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN auth: dont use special authentication algorithm" ), KVpncConfig::debug );
+ profileData->setUseAuthenticationAlgorithm ( false );
+ }
+
+ profileData->setAuthenticationAlgorithm ( newprofilewizardopenvpnauthpagecontent->UserdefiniedDigestComboBox->currentText() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "OpenVPN auth: use authentication method: %1" ).arg ( profileData->getAuthenticationAlgorithm() ), KVpncConfig::debug );
+
+
+ }
+ else if ( currentpage == newprofilewizardpptppage )
+ {
+
+ msg = i18n ( "These fields must be filled in:\n" );
+ profileData->setAllowStatefulMode( newprofilewizardpptppagecontent->AllowStatefulModeCheckbox->isChecked() );
+ profileData->setUseNoIpDefault( newprofilewizardpptppagecontent->UseNoIpDefaultCheckbox->isChecked() );
+ profileData->setDisableMPPEComp( newprofilewizardpptppagecontent->UseNoMPPECompressionCheckbox->isChecked() );
+ profileData->setRequireMppe( newprofilewizardpptppagecontent->RequireMppeCheckbox->isChecked() );
+ profileData->setRefuse128BitEncryption( newprofilewizardpptppagecontent->Refuse128BitEncryptionCheckbox->isChecked() );
+ profileData->setRefuse40BitEncryption( newprofilewizardpptppagecontent->Refuse40BitEncryptionCheckbox->isChecked() );
+ profileData->setDisableMPPEComp( newprofilewizardpptppagecontent->UseNoMPPECompressionCheckbox->isChecked() );
+ profileData->setUseNoBsdComp( newprofilewizardpptppagecontent->UseNoBsdCompCheckbox->isChecked() );
+ profileData->setUseNoDeflate( newprofilewizardpptppagecontent->UseNoDeflateCheckbox->isChecked() );
+ profileData->setDisableHeaderCompression(newprofilewizardpptppagecontent->DisableHeaderCompressionCheckbox->isChecked());
+ profileData->setDisableMagicNumberNegotiation(newprofilewizardpptppagecontent->DisableMagicNumberNegotiationCheckbox->isChecked());
+ profileData->setDisableIpx(newprofilewizardpptppagecontent->DisableIpxCheckbox->isChecked());
+ profileData->setDisableAdressControlCompression(newprofilewizardpptppagecontent->DisableAdressControlCompressionCheckbox->isChecked());
+ profileData->setDisableProtocolFieldCompression(newprofilewizardpptppagecontent->DisableProtocolFieldCompressionCheckbox->isChecked());
+ profileData->setRequireEap(newprofilewizardpptppagecontent->RequireEapCheckbox->isChecked());
+
+ if ( newprofilewizardpptppagecontent->DnsServerCheckbox->isChecked() )
+ {
+ profileData->setUseDnsServer( true );
+ profileData->setDnsServer( newprofilewizardpptppagecontent->DnsServerLineedit->text() );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Using custom DNS server: %1" ).arg ( profileData->getDnsServer() ), KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setUseDnsServer( false );
+ }
+
+ if ( newprofilewizardpptppagecontent->UseSearchDomainInResolvConfCheckbox ->isChecked() )
+ {
+ profileData->setUseSearchDomainInResolvConf(true);
+ profileData->setSearchDomainInResolvConf(newprofilewizardpptppagecontent->SearchDomainInResolvConfLineedit->text());
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Using custom DNS search domain: %1" ).arg ( profileData->getSearchDomainInResolvConf() ), KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setUseSearchDomainInResolvConf(false);
+ }
+
+ if ( newprofilewizardpptppagecontent->UseDomainInResolvConfCheckbox ->isChecked() )
+ {
+ profileData->setUseDomainInResolvConf(true);
+ profileData->setDomainInResolvConf(newprofilewizardpptppagecontent->DomainInResolvConfLineedit->text());
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Using custom DNS domain: %1" ).arg ( profileData->getDomainInResolvConf() ), KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setUseDomainInResolvConf(false);
+ }
+
+ if ( newprofilewizardpptppagecontent->AuthMethodComboBox->currentItem() == 0 )
+ profileData->setAuthMethod ( "chap" );
+ if ( newprofilewizardpptppagecontent->AuthMethodComboBox->currentItem() == 1 )
+ profileData->setAuthMethod ( "pap" );
+ if ( newprofilewizardpptppagecontent->AuthMethodComboBox->currentItem() == 2 )
+ profileData->setAuthMethod ( "mschap" );
+ if ( newprofilewizardpptppagecontent->AuthMethodComboBox->currentItem() == 3 )
+ profileData->setAuthMethod ( "mschap-v2" );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Using auth method: %1" ).arg ( profileData->getAuthMethod() ), KVpncConfig::debug );
+
+ newprofilewizardnetworkcontent->LabelRemoteNetwork->hide();
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->hide();
+ newprofilewizardnetworkcontent->RemoteNetDividetextLabel->hide();
+ newprofilewizardnetworkcontent->UseRemoteNetworkCheckBox->hide();
+ newprofilewizardnetworkcontent->RemoteNetworkGroupBox->hide();
+
+ insertPage ( newprofilewizarduserpage, "<b>" + i18n ( "User settings" ) + "</b>", indexOf ( currentpage ) + 1 );
+
+ }
+ else if ( currentpage == newprofilewizardvtunpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ profileData->setUseLocalPort ( newprofilewizardvtunpagecontent->PortCheckbox->isChecked() );
+ profileData->setLocalPort ( newprofilewizardvtunpagecontent->PortSpinbox->value() );
+
+ if ( newprofilewizardvtunpagecontent->PortCheckbox->isChecked() )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Vtun: use userdefined port: %1" ).arg ( QString().setNum ( newprofilewizardvtunpagecontent->PortSpinbox->value() ) ), KVpncConfig::debug );
+ }
+
+ if ( newprofilewizardvtunpagecontent->VtunProfileLineEdit->text().isEmpty() )
+ {
+ KMessageBox::error ( this, i18n ( "No profile name entered!" ), i18n ( "No profile name" ) );
+ ok = false;
+ msg += "- " + i18n ( "Vtun profile name" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "No profile name entered!" ), GlobalConfig->error );
+ }
+ else
+ profileData->setVtunProfile ( newprofilewizardvtunpagecontent->VtunProfileLineEdit->text() );
+ }
+ else if ( currentpage == newprofilewizardsshpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ profileData->setUseRemotePort( newprofilewizardsshpagecontent->UseUserdefinedRemotePortCheckBox->isChecked() );
+ profileData->setRemotePort ( newprofilewizardsshpagecontent->UserdefinedRemotePortSpinBox->value() );
+
+ if ( newprofilewizardsshpagecontent->UseUserdefinedRemotePortCheckBox->isChecked() )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "SSH: use userdefined port: %1" ).arg ( QString().setNum ( newprofilewizardsshpagecontent->UserdefinedRemotePortSpinBox->value() ) ), KVpncConfig::debug );
+ }
+
+ // password or key auth
+ if (newprofilewizardsshpagecontent->AuthPassRadioButton->isChecked())
+ {
+ profileData->setAuthWithUsernameAndPassword(true);
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "SSH: use user password authentication" ) , KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setAuthWithUsernameAndPassword(false);
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "SSH: use key authentication" ) , KVpncConfig::debug );
+ }
+
+ profileData->setPreSharedKeyFile(newprofilewizardsshpagecontent->CostumkeyURLRequester->url());
+
+ if (newprofilewizardsshpagecontent->CostumKeyRadioButton->isChecked())
+ {
+ profileData->setPskIsInFile(newprofilewizardsshpagecontent->CostumKeyRadioButton->isChecked());
+ profileData->setPreSharedKeyFile(newprofilewizardsshpagecontent->CostumkeyURLRequester->url());
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "SSH: use costum key: %1" ).arg(newprofilewizardsshpagecontent->CostumkeyURLRequester->url()) , KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setPreSharedKey(newprofilewizardsshpagecontent->SshKeyComboBox->currentText());
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "SSH: use autotected key: %1" ).arg(newprofilewizardsshpagecontent->SshKeyComboBox->currentText()) , KVpncConfig::debug );
+ }
+
+ if (newprofilewizardsshpagecontent->UseSshConfigRemoteScriptCheckBox->isChecked() && !newprofilewizardsshpagecontent->SshConfigRemoteScriptLineEdit->text().isEmpty())
+ {
+ profileData->setUseSshConfigRemoteScript(true);
+ profileData->setSshConfigRemoteScript(newprofilewizardsshpagecontent->SshConfigRemoteScriptLineEdit->text());
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "SSH: use ssh config remote script: %1" ).arg(newprofilewizardsshpagecontent->SshConfigRemoteScriptLineEdit->text()) , KVpncConfig::debug );
+
+ }
+ else
+ profileData->setUseSshConfigRemoteScript(false);
+
+ if (newprofilewizardsshpagecontent->UseSshConfigRemoteScriptCheckBox->isChecked() && newprofilewizardsshpagecontent->SshConfigRemoteScriptLineEdit->text().isEmpty())
+ {
+ ok = false;
+ msg += "- " + i18n ( "Special server certificate" ) + "\n";
+ GlobalConfig->appendLogEntry( i18n( "%1 cant be empty!" ).arg(i18n("ssh config remote script")), GlobalConfig->error);
+ }
+
+ }
+ else if ( currentpage == newprofilewizardvirtualipaddresspage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ bool IPOk=true;
+ QString wrongAddress="";
+ ok = true;
+
+ if ( profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->isChecked() && !profilenetworkvirtualipoptionscontent->LocalVirtualIpEdit->text().isEmpty() )
+ {
+ QString LocalVirtualIp = profilenetworkvirtualipoptionscontent->LocalVirtualIpEdit->text();
+ if ( Utils ( GlobalConfig ).isValidIPv4Address ( LocalVirtualIp ) == false )
+ {
+ // KMessageBox::error ( this, i18n( "No valid IP address for local IP address entered!" ), i18n( "No Valid IP Address" ) );
+ IPOk=false;
+ wrongAddress=i18n ( "local IP address" );
+ ok=false;
+ }
+ else
+ {
+ profileData->setLocalVirtualIP ( LocalVirtualIp );
+ }
+ }
+ else
+ {
+ msg += "- " + i18n ( "Local IP address for virtual IP" ) + "\n";
+ ok =false;
+ IPOk=false;
+ }
+
+ if ( profileData->getConnectionType() != VpnAccountData::openvpn || profileData->getConnectionType() != VpnAccountData::ssh )
+ {
+ if(profileData->getTunnelDeviceType() == "tun")
+ {
+ if ( profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->isChecked() && !profilenetworkvirtualipoptionscontent->RemoteVirtualIpLineEdit->text().isEmpty() )
+ {
+ QString RemoteVirtualIp = profilenetworkvirtualipoptionscontent->RemoteVirtualIpLineEdit->text();
+ if ( Utils ( GlobalConfig ).isValidIPv4Address ( RemoteVirtualIp ) == false )
+ {
+
+ IPOk=false;
+ ok=false;
+ if ( wrongAddress=="" )
+ wrongAddress = i18n ( "remote IP address" );
+ else
+ wrongAddress = i18n ( "local and remote IP address" );
+ }
+ else
+ {
+ profileData->setRemoteVirtualIP ( RemoteVirtualIp );
+ }
+ }
+ else
+ {
+ msg += "- " + i18n ( "Remote IP address for virtual IP" ) + "\n";
+ ok =false;
+ IPOk=false;
+
+ }
+ }
+ if (profileData->getTunnelDeviceType() == "tap")
+ {
+ QString RemoteVirtualIp = profilenetworkvirtualipoptionscontent->RemoteVirtualIpLineEdit->text();
+ if (Utils( GlobalConfig ).isValidIPv4Netmask (RemoteVirtualIp) == false)
+ {
+ KMessageBox::error ( this, i18n( "No valid netmask entered!" ), i18n( "No valid netmask" ) );
+ IPOk=false;
+ }
+ else
+ {
+ profileData->setRemoteVirtualIP( RemoteVirtualIp);
+ }
+ }
+ }
+
+
+ if ( profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->isChecked() && IPOk )
+ {
+ profileData->setUseVirtualIP ( profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->isChecked() );
+
+ if ( profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->isChecked() )
+ {
+
+ if (profileData->getTunnelDeviceType() == "tun")
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Using virtual IP addresses (local: %1, remote: %2): " ).arg ( profileData->getLocalVirtualIP() ).arg ( profileData->getRemoteVirtualIP() ), KVpncConfig::debug );
+ }
+ if (profileData->getTunnelDeviceType() == "tap")
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Using virtual IP address (local: %1, netmask: %2): " ).arg ( profileData->getLocalVirtualIP() ).arg ( profileData->getRemoteVirtualIP() ), KVpncConfig::debug );
+ }
+ }
+ else
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Not using virtual IP addresses" ), KVpncConfig::debug );
+ }
+ }
+ else
+ {
+ if ( wrongAddress!= "" )
+ KMessageBox::error ( this, i18n ( "No valid IP address for %1 entered!" ).arg ( wrongAddress ), i18n ( "No Valid IP Address" ) );
+ profileData->setUseVirtualIP ( false );
+ }
+
+ if ( !profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->isChecked() )
+ ok=true;
+
+ }
+ else if ( currentpage == newprofilewizardpskpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ if ( newprofilewizardpskcontent->CheckSavePsk->isChecked() )
+ {
+ if ( !newprofilewizardpskcontent->PskInFileCheckBox->isChecked() )
+ {
+ profileData->setSavePsk ( true );
+ profileData->setPskIsInFile ( false );
+ if ( !newprofilewizardpskcontent->PSKLineEdit->text().isEmpty() )
+ {
+ profileData->setPreSharedKey ( newprofilewizardpskcontent->PSKLineEdit->text() );
+ }
+ else
+ {
+ msg += "- " + i18n ( "Pre shared key" ) + "\n";
+ ok = false;
+ }
+ }
+ else
+ {
+ profileData->setSavePsk ( true );
+ profileData->setPskIsInFile ( true );
+ if ( !newprofilewizardpskcontent->PSKFileURLRequester->url().isEmpty() )
+ {
+ profileData->setPreSharedKey ( newprofilewizardpskcontent->PSKLineEdit->text() );
+ }
+ else
+ {
+ ok = false;
+ msg += "- " + i18n ( "Pre shared key file" ) + "\n";
+ }
+ }
+
+ }
+ else
+ {
+ profileData->setSavePsk ( false );
+ }
+
+ if ( newprofilewizardpskcontent->PskInFileCheckBox->isChecked() )
+ {
+ profileData->setSavePsk ( newprofilewizardpskcontent->CheckSavePsk->isChecked() );
+ if ( !newprofilewizardpskcontent->PSKFileURLRequester->url().isEmpty() )
+ {
+ profileData->setPreSharedKeyFile ( newprofilewizardpskcontent->PSKFileURLRequester->url() );
+ }
+ else
+ {
+ ok = false;
+ msg += "- " + i18n ( "Pre shared key file" ) + "\n";
+ }
+ }
+ if ( newprofilewizardpskcontent->CheckSavePsk->isChecked() )
+ profileData->setPreSharedKey ( newprofilewizardpskcontent->PSKLineEdit->text( ) );
+ else
+ profileData->setPreSharedKey ( "" );
+
+ profileData->setPreSharedKey ( newprofilewizardpskcontent->PSKLineEdit->text() );
+
+ }
+ else if ( currentpage == newprofilewizardcertpage )
+ {
+
+ profileData->setX509Certificate ( newprofilewizardcertcontent->x509certURLRequester->url() );
+ profileData->setCaCertificate ( newprofilewizardcertcontent->CaCertpathURLRequester->url() );
+ profileData->setCertPath ( newprofilewizardcertcontent->certpathURLRequester->url() );
+ profileData->setPrivateKey ( newprofilewizardcertcontent->privkeypathURLRequester->url() );
+ profileData->setPrivateKeyPass ( newprofilewizardcertcontent->PrivkeyPasswordEdit->text() );
+ profileData->setX509Certificate ( newprofilewizardcertcontent->x509certURLRequester->url() );
+ profileData->setCertPath ( newprofilewizardcertcontent->certpathURLRequester->url() );
+ profileData->setUseSpecialServerCertificate ( newprofilewizardcertcontent->UseSpecialServerCertificateCheckBox->isChecked() );
+ profileData->setSpecialServerCertificate ( newprofilewizardcertcontent->SpecialServerCertificateURLRequester->url() );
+
+ if ( !newprofilewizardcertcontent->PrivkeyPasswordEdit->text().isEmpty() )
+ profileData->setSavePrivateKeyPassword ( true );
+ else
+ profileData->setSavePrivateKeyPassword ( false );
+
+ msg = i18n ( "These fields must be filled in:\n" );
+
+ if ( newprofilewizardcertcontent->UseSpecialServerCertificateCheckBox->isChecked() )
+ {
+ if ( newprofilewizardcertcontent->SpecialServerCertificateURLRequester->url().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "Special server certificate" ) + "\n";
+ // KMessageBox::error ( this, i18n( "Special server certificate can't be empty!" ), i18n( "No Server Certificate" ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Special server certificate can't be empty!" ) , GlobalConfig->error );
+ }
+ }
+
+ if ( newprofilewizardcertcontent->CaCertpathURLRequester->url().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "CA certificate" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "CA Certificate can't be empty!" ) , GlobalConfig->error );
+ }
+
+ if ( !newprofilewizardcertcontent->UseSmartcardCheckBox->isChecked() && !profileData->getAuthType() == VpnAccountData::hybrid)
+ {
+ if ( (!profileData->getUseOnlyCaCertAndUserAuth() && newprofilewizardcertcontent->x509certURLRequester->url().isEmpty()) || ( profileData->getConnectionType() == VpnAccountData::ciscoorig && newprofilewizardcertcontent->x509certURLRequester->url().isEmpty()))
+ {
+ ok = false;
+ msg += "- " + i18n ( "Certificate" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Certificate can't be empty!" ) , GlobalConfig->error );
+ }
+
+ if ( !profileData->getUseOnlyCaCertAndUserAuth() && newprofilewizardcertcontent->privkeypathURLRequester->url().isEmpty() && !profileData->getAuthType() == VpnAccountData::hybrid)
+ {
+ ok = false;
+ msg += "- " + i18n ( "Path to private key" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Path to private key can't be empty!" ) , GlobalConfig->error );
+ }
+// if ( ! ( profileData->getConnectionType() == VpnAccountData::racoon || profileData->getConnectionType() == VpnAccountData::l2tpd_racoon ) && !profileData->getUseOnlyCaCertAndUserAuth() && newprofilewizardcertcontent->PrivkeyPasswordEdit->text().isEmpty() )
+// {
+// if ( Utils ( GlobalConfig ).getNeedsPassphrase ( newprofilewizardcertcontent->privkeypathURLRequester->url() ) )
+// {
+// ok = false;
+// msg += "- " + i18n ( "Private key password, private key needs passphrase" ) + "\n";
+// GlobalConfig->appendLogEntry ( i18n ( "Private key password can't be empty because private key is protected with a passphrase." ) , GlobalConfig->error );
+// }
+// }
+
+ }
+ else
+ {
+ if ( newprofilewizardcertcontent->Pkcs11SlotComboBox->currentText().isEmpty() || newprofilewizardcertcontent->Pkcs11IdComboBox->currentText().isEmpty() )
+ nextButton()->setEnabled ( false );
+ else
+ nextButton()->setEnabled ( true );
+ }
+
+ if ( newprofilewizardcertcontent->UseSmartcardCheckBox->isEnabled() && newprofilewizardcertcontent->UseSmartcardCheckBox->isChecked() )
+ {
+ if ( !newprofilewizardcertcontent->Pkcs11SlotComboBox->currentText().isEmpty() )
+ profileData->setPkcs11Slot ( newprofilewizardcertcontent->Pkcs11SlotComboBox->currentText() );
+ else
+ {
+ KMessageBox::error ( this, i18n ( "Slot at smartcard can't be empty!" ), i18n ( "No smartcard slot" ) );
+ // GlobalConfig->appendLogEntry( i18n( "Slot at smartcard can't be empty!" ) ,GlobalConfig->error);
+ ok = false;
+ }
+ if ( !newprofilewizardcertcontent->Pkcs11IdComboBox->currentText().isEmpty() )
+ profileData->setPkcs11Id ( newprofilewizardcertcontent->Pkcs11IdComboBox->currentText() );
+ else
+ {
+ KMessageBox::error ( this, i18n ( "ID for certificate at smartcard can't be empty!" ), i18n ( "No certificate ID" ) );
+ // GlobalConfig->appendLogEntry( i18n( "ID for certificate at smartcard can't be empty!" ) ,GlobalConfig->error);
+ ok = false;
+ }
+ QString Pkcs11SlotType = newprofilewizardcertcontent->Pkcs11SlotTypeComboBox->currentText();
+ if ( Pkcs11SlotType == i18n ( "ID" ) )
+ profileData->setPkcs11SlotType ( "id" );
+ else if ( Pkcs11SlotType == i18n ( "Name" ) )
+ profileData->setPkcs11SlotType ( "name" );
+ else
+ profileData->setPkcs11SlotType ( "label" );
+
+ QString Pkcs11IdType = newprofilewizardcertcontent->Pkcs11IdTypeComboBox->currentText();
+ if ( Pkcs11IdType == i18n ( "ID" ) )
+ profileData->setPkcs11IdType ( "id" );
+ else if ( Pkcs11IdType == i18n ( "Label" ) )
+ profileData->setPkcs11IdType ( "label" );
+ else
+ profileData->setPkcs11IdType ( "subject" );
+
+ QString Pkcs11SignMode = newprofilewizardcertcontent->Pkcs11SignModeComboBox->currentText();
+ if ( Pkcs11SignMode == i18n ( "auto" ) )
+ profileData->setPkcs11SignMode ( "auto" );
+ else if ( Pkcs11SignMode == i18n ( "sign" ) )
+ profileData->setPkcs11SignMode ( "sign" );
+ else if ( Pkcs11SignMode == i18n ( "recover" ) )
+ profileData->setPkcs11SignMode ( "recover" );
+ else
+ profileData->setPkcs11SignMode ( "any" );
+
+ if ( newprofilewizardcertcontent->UsePkcs11ProvidersCheckBox->isChecked() )
+ {
+ if ( !newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->url().isEmpty() )
+ profileData->setPkcs11Providers ( newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->url() );
+ else
+ {
+ KMessageBox::error ( this, i18n ( "Library path to lib for use with smartcard can't be empty!" ), i18n ( "No providers lib" ) );
+ // GlobalConfig->appendLogEntry( i18n( "Library path to lib for use with smartcard can't be empty!" ) ,GlobalConfig->error);
+ ok = false;
+ }
+ }
+ profileData->setUsePkcs11Providers ( newprofilewizardcertcontent->UsePkcs11ProvidersCheckBox->isChecked() );
+ }
+
+ }
+ else if ( currentpage == newprofilewizarduserpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ if ( newprofilewizarduserpagecontent->UsernameLineEdit->text().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "Username" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Username is empty!" ), GlobalConfig->error );
+ }
+ else
+ {
+ profileData->setUserName ( newprofilewizarduserpagecontent->UsernameLineEdit->text() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "User options: username: %1" ).arg ( profileData->getUserName() ), KVpncConfig::debug );
+ }
+
+ if ( !newprofilewizarduserpagecontent->PasswordEdit->text().isEmpty() )
+ {
+ profileData->setUserPassword ( newprofilewizarduserpagecontent->PasswordEdit->text() );
+
+ }
+ else
+ {
+ if ( newprofilewizarduserpagecontent->CheckUserPass->isChecked() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "Password" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Password is empty but you have checked to store it!" ), GlobalConfig->error );
+ }
+ }
+ profileData->setUserPassword ( newprofilewizarduserpagecontent->PasswordEdit->text() );
+ profileData->setSaveUserPassword ( newprofilewizarduserpagecontent->CheckUserPass->isChecked() );
+
+ profileData->setNtDomainName ( newprofilewizarduserpagecontent->NtDomainNameLineedit->text() );
+
+
+ if ( profileData->getConnectionType () == VpnAccountData::cisco || profileData->getConnectionType() == VpnAccountData::pptp ||
+ profileData->getConnectionType () == VpnAccountData::l2tpd_racoon || profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan
+ )
+ {
+ if ( newprofilewizarduserpagecontent->NtDomainNameCheckbox->isChecked() )
+ {
+ if ( newprofilewizarduserpagecontent->NtDomainNameLineedit->text().isEmpty() )
+ {
+ ok = false;
+ msg += "- " + i18n ( "NT domain name" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "NT domain name is empty but you have checked to specifiy one!" ), GlobalConfig->error );
+ }
+ else
+ {
+ profileData->setNtDomainName ( newprofilewizarduserpagecontent->NtDomainNameLineedit->text() );
+ profileData->setUseNtDomainName ( true );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "User options: NT domain name: %1" ).arg ( profileData->getNtDomainName() ), KVpncConfig::debug );
+ }
+ }
+ else
+ {
+ profileData->setUseNtDomainName ( false );
+ }
+ }
+ }
+ else if ( currentpage == newprofilewizardnetworkpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ bool validAddr = true;
+ if ( ( profileData->getConnectionType() == VpnAccountData::freeswan || profileData->getConnectionType() == VpnAccountData::racoon ||
+ profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan || profileData->getConnectionType() == VpnAccountData::l2tpd_racoon ) )
+ {
+ if (newprofilewizardnetworkcontent->UseRemoteNetworkCheckBox->isChecked())
+ {
+ if ( !newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->text().isEmpty() )
+ {
+ if ( newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->text().contains ( '.' ) != 3 )
+ {
+ KMessageBox::error ( this, i18n ( "No remote network entered!" ), i18n ( "No remote network" ) );
+ validAddr = false;
+ return ;
+ }
+ else
+ {
+ QString addr = newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->text();
+ int part0 = addr.section ( '.', 0, 0 ).toInt();
+ int part1 = addr.section ( '.', 1, 1 ).toInt();
+ int part2 = addr.section ( '.', 2, 2 ).toInt();
+ int part3 = addr.section ( '.', 3, 3 ).toInt();
+
+ /*
+ LogOutput->append ("part0: "+QString().setNum(part0));
+ LogOutput->append ("part1: "+QString().setNum(part1));
+ LogOutput->append ("part2: "+QString().setNum(part2));
+ LogOutput->append ("part3: "+QString().setNum(part3));
+ */
+
+ if ( ( part0 < 1 || part0 > 254 ) || ( part1 < 0 || part1 > 254 ) || ( part2 < 0 || part2 > 254 ) || ( part3 < 0 || part3 > 254 ) )
+ {
+ KMessageBox::error ( this, i18n ( "Invalid values in IP address (remote net)!" ), i18n ( "Invalid Values in IP Address" ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Invalid values in IP address (remote net)!" ) , GlobalConfig->error );
+ validAddr = false;
+ return ;
+ }
+
+ if ( validAddr == true )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Use remote network: %1/%2" ).arg ( addr ).arg(newprofilewizardnetworkcontent->RemoteNetMaskComboBox->currentText()), KVpncConfig::debug );
+ profileData->setUseRemoteNetwork(true);
+ profileData->setRemoteNetAddr ( addr );
+ profileData->setRemoteNetMask ( newprofilewizardnetworkcontent->RemoteNetMaskComboBox->currentText() );
+ }
+
+ }
+ }
+ else
+ {
+ ok = false;
+ msg += "- " + i18n ( "Remote network" ) + "\n";
+ GlobalConfig->appendLogEntry ( i18n ( "Remote network is empty!" ), GlobalConfig->error );
+ }
+ }
+ }
+ profileData->setNetworkDevice ( newprofilewizardnetworkcontent->NetworkDeviceComboBox->currentText() );
+
+ profileData->setMtu ( newprofilewizardnetworkcontent->MtuSpinbox->value() );
+ if ( newprofilewizardnetworkcontent->MtuCheckbox->isChecked() )
+ {
+ profileData->setUseMtu ( true );
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Network options: use own MTU size: %1" ).arg ( profileData->getMtu() ) , GlobalConfig->debug );
+ }
+ else
+ profileData->setUseMtu ( false );
+
+ profileData->setMru ( newprofilewizardnetworkcontent->MruSpinbox->value() );
+ if ( newprofilewizardnetworkcontent->MruCheckbox->isChecked() )
+ {
+ profileData->setUseMru ( true );
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Network options: use own MRU size: %1" ).arg ( profileData->getMtu() ) , GlobalConfig->debug );
+ }
+ else
+ profileData->setUseMru ( false );
+
+ if ( profileData->getConnectionType() == VpnAccountData::ssh )
+ {
+ profileData->setTunnelDeviceType(newprofilewizardnetworkcontent->TunnelDeviceTypeComboBox->currentText());
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Network options: Tunnel device type: %1" ).arg ( profileData->getTunnelDeviceType() ) , GlobalConfig->debug );
+
+ tunnelDeviceTypeChanged(profileData->getTunnelDeviceType());
+ }
+
+ }
+ else if ( currentpage == newprofilewizardnetworkroutepage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+
+ if ( newprofilewizardnetworkroutecontent->DefaultRouteComboBox->currentItem() == 1 )
+ {
+ profileData->setReplaceDefaultRoute ( true );
+
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Network route options: replace default route" ) , GlobalConfig->debug );
+ }
+ else
+ {
+ profileData->setReplaceDefaultRoute ( false );
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Network route options: dont replace default route" ) , GlobalConfig->debug );
+ }
+
+ profileData->setUseAdditionalNetworkRoutes ( newprofilewizardnetworkroutecontent->UseExtraNetworkRoutesCheckbox->isChecked() );
+
+ if ( newprofilewizardnetworkroutecontent->UseExtraNetworkRoutesCheckbox->isChecked() && newprofilewizardnetworkroutecontent->NetworkListView->childCount() > 0 )
+ {
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Network route options: use additional network routes" ) , GlobalConfig->debug );
+
+ QStringList AdditionalNetworkRoutes;
+ QListViewItemIterator it ( newprofilewizardnetworkroutecontent->NetworkListView );
+ for ( ; it.current(); ++it )
+ {
+ // example entry:
+ // <network>/<netmask>#<gateway>
+ QString network = QString ( it.current() ->text ( 0 ) + "/" + it.current() ->text ( 1 ) );
+ network.append ( "#" );
+ network.append ( it.current() ->text ( 2 ) ); // gateway
+ network.append ( "#" );
+ network.append ( it.current() ->text ( 3 ) ); // interface
+ AdditionalNetworkRoutes.append ( network );
+
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Network route options: additional network: %1/%2 gw %3 %4" ).arg ( it.current() ->text ( 0 ) ).arg ( it.current() ->text ( 1 ) ).arg ( it.current() ->text ( 2 ) ).arg ( it.current() ->text ( 3 ) ) , GlobalConfig->debug );
+ }
+ profileData->setAdditionalNetworkRoutes ( AdditionalNetworkRoutes );
+ }
+
+ }
+ else if ( currentpage == newprofilewizardnatpage )
+ {
+ profileData->setUseUdp ( newprofilewizardnatcontent->UseUdpCheckbox->isChecked() );
+ profileData->setUseNat ( newprofilewizardnatcontent->UseNatCheckbox->isChecked() );
+ profileData->setUseUdpPort ( newprofilewizardnatcontent->UdpPortCheckbox->isChecked() );
+ profileData->setUdpPort ( newprofilewizardnatcontent->UdpPortSpinbox->value() );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ {
+ if ( profileData->getUseNat() )
+ GlobalConfig->appendLogEntry ( i18n ( "NAT settings: use NAT" ), KVpncConfig::debug );
+ else
+ GlobalConfig->appendLogEntry ( i18n ( "NAT settings: use no NAT" ), KVpncConfig::debug );
+ if ( profileData->getUseUdp() )
+ GlobalConfig->appendLogEntry ( i18n ( "NAT settings: use UDP" ), KVpncConfig::debug );
+ else
+ GlobalConfig->appendLogEntry ( i18n ( "NAT settings: use UDP" ), KVpncConfig::debug );
+
+ if ( profileData->getUseUdpPort() )
+ GlobalConfig->appendLogEntry ( i18n ( "NAT settings: use userdefined Port: %1" ).arg ( QString().setNum ( profileData->getUdpPort() ) ), KVpncConfig::debug );
+ }
+
+
+ }
+ else if ( currentpage == newprofilewizardconnectoptionspage )
+ {
+ connectaftercreating = newprofilewizardconnectoptionscontent->ConnectAfterCreatingProfileCheckBox->isChecked();
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ if ( connectaftercreating )
+ GlobalConfig->appendLogEntry ( i18n ( "Connect options: connecting to profile \"%1\" after creating it." ).arg ( profileData->getName() ) , GlobalConfig->debug );
+
+ }
+ else if ( currentpage == newprofilewizardconnectionstatuscheckpage )
+ {
+ msg = i18n ( "These fields must be filled in:\n" );
+ if ( newprofilewizardconnectionstatuscheckcontent->UseConnectionStatusCheckCheckBox->isChecked() )
+ {
+ profileData->setUseConnectionStatusCheck ( true );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: use connection status check" ), KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setUseConnectionStatusCheck ( false );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: dont use connection status check" ), KVpncConfig::debug );
+ }
+
+ if ( newprofilewizardconnectionstatuscheckcontent->DoReconnectAfterConnectionLostCheckBox->isChecked() )
+ {
+ profileData->setDoReconnectAfterConnectionLost ( true );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: do reconnect after connection lost" ), KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setDoReconnectAfterConnectionLost ( false );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: dont reconnect after connection lost" ), KVpncConfig::debug );
+ }
+
+ if ( newprofilewizardconnectionstatuscheckcontent->PingUserdefiniedAddressCheckBox->isChecked() )
+ {
+ profileData->setDoPingIP ( true );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: ping userdefined IP address" ), KVpncConfig::debug );
+ }
+ else
+ {
+ profileData->setDoPingIP ( false );
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: dont ping userdefined IP address" ), KVpncConfig::debug );
+ }
+
+ profileData->setConnectionStatusInterval ( newprofilewizardconnectionstatuscheckcontent->ConnectionStatusCheckIntervalNumInput->value() );
+ profileData->setConnectionStatusCheckSuccessCount ( newprofilewizardconnectionstatuscheckcontent->ConnectionStatusSuccessCountNumInput->value() );
+
+ if ( GlobalConfig->KvpncDebugLevel > 0 )
+ {
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: use connection interval: %1" ).arg ( QString().setNum ( newprofilewizardconnectionstatuscheckcontent->ConnectionStatusCheckIntervalNumInput->value() ) ), KVpncConfig::debug );
+ GlobalConfig->appendLogEntry ( i18n ( "Connection status check: success count: %1" ).arg ( QString().setNum ( newprofilewizardconnectionstatuscheckcontent->ConnectionStatusSuccessCountNumInput->value() ) ), KVpncConfig::debug );
+ }
+
+ if ( newprofilewizardconnectionstatuscheckcontent->UseConnectionStatusCheckCheckBox->isChecked() )
+ {
+ if ( newprofilewizardconnectionstatuscheckcontent->PingUserdefiniedAddressCheckBox->isChecked() )
+ {
+ if ( !newprofilewizardconnectionstatuscheckcontent->UserdefiniedPingIPLineEdit->text().isEmpty() )
+ {
+ if ( Utils ( GlobalConfig ).isValidIPv4Address ( newprofilewizardconnectionstatuscheckcontent->UserdefiniedPingIPLineEdit->text() ) )
+ profileData->setPingHostIP ( newprofilewizardconnectionstatuscheckcontent->UserdefiniedPingIPLineEdit->text() );
+ else
+ {
+ ok = false;
+ msg = i18n ( "The value of userdefined IP address is not a valid IP address!" );
+ }
+ }
+ else
+ {
+ ok = false;
+ msg += i18n ( "Userdefinied IP for ping" ) + "\n";
+ }
+ }
+ }
+ }
+ else if ( currentpage == endpage )
+ {}
+ if ( ok )
+ {
+ previouspage = currentpage;
+ QWizard::next();
+ }
+ else
+ {
+ KMessageBox::error ( this, msg );
+ }
+}
+
+void NewProfileWizard::back()
+{
+ /*
+ currentpage=previouspage;
+ // showPage(previouspage);
+
+ if ( currentpage == page1 )
+ {
+ // nothing here
+ }
+ else if ( currentpage == newprofilewizardgeneralpage )
+ {
+ newprofilewizardgeneralpagecontent->NameLineEdit->setText(profileData->getName());
+ newprofilewizardgeneralpagecontent->gatewayLineEdit->setText(profileData->getGateway());
+ newprofilewizardgeneralpagecontent->DescriptionLineEdit->setText(profileData->getDescription());
+ }
+ else if ( currentpage == newprofilewizardtypeselectionpage )
+ {
+ if ( profileData->getConnectionType() == VpnAccountData::cisco )
+ newprofilewizardtypeselectionpagecontent->CiscoRadioButton->setChecked(true);
+ else if ( profileData->getConnectionType() == VpnAccountData::freeswan ||
+ profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan )
+ newprofilewizardtypeselectionpagecontent->FreeswanRadioButton->setChecked(true);
+ else if ( profileData->getConnectionType() == VpnAccountData::racoon || profileData->getConnectionType() == VpnAccountData::l2tpd_racoon)
+ newprofilewizardtypeselectionpagecontent->FreeswanRadioButton->setChecked(true);
+ else if ( profileData->getConnectionType() == VpnAccountData::pptp )
+ newprofilewizardtypeselectionpagecontent->PptpRadioButton->setChecked(true);
+ else if ( profileData->getConnectionType() == VpnAccountData::openvpn )
+ newprofilewizardtypeselectionpagecontent->OpenvpnRadioButton->setChecked(true);
+ }
+ else if ( currentpage == newprofilewizardciscoselectionpage )
+ {}
+ else if ( currentpage == newprofilewizardciscomanuallypage )
+ {
+ newprofilewizardciscomanuallypagecontent->IDLineEdit->setText(profileData->getGateway());
+ newprofilewizardciscomanuallypagecontent->AllowEmptyGroupPasswordCheckBox->setChecked(profileData->getAllowEmptyGroupPassword());
+ newprofilewizardciscomanuallypagecontent->GroupPasswordLineEdit->setText(profileData->getPreSharedKey());
+ profileData->setID(newprofilewizardciscomanuallypagecontent->IDLineEdit->text());
+
+ insertPage ( newprofilewizardciscoselectionpage, "<b>"+ i18n("Cisco selection")+"</b>", 2 );
+
+ }
+ else if ( currentpage == newprofilewizardracoonpage )
+ {
+ newprofilewizardracoonpagecontent->HashAlgoComboBox->setCurrentText(profileData->getHashAlgo());
+
+ insertPage ( newprofilewizardciscoselectionpage,"<b>"+ i18n("Cisco selection")+"</b>" , 2 );
+ insertPage ( newprofilewizardciscomanuallypage, "<b>"+ i18n("Cisco settings")+"</b>", 3 );
+ insertPage ( newprofilewizardopenvpnselectionpage, "<b>"+ i18n("FreeS/WAN settings") , 4 );
+ insertPage ( newprofilewizardopenvpnselectionpage, "<b>"+ i18n("OpenVPN settings")+"</b>" , 5 );
+ insertPage ( newprofilewizardpptppage, "<b>"+ i18n("PPTP settings")+"</b>", 6 );
+ }
+ else if ( currentpage == newprofilewizardfreeswanpage )
+ {
+ insertPage ( newprofilewizardciscoselectionpage,"<b>"+ i18n("Cisco selection")+"</b>" , 2 );
+ insertPage ( newprofilewizardciscomanuallypage, "<b>"+ i18n("Cisco settings")+"</b>", 3 );
+ insertPage ( newprofilewizardracoonpage, "<b>"+ i18n("Racoon settings")+"</b>" , 4 );
+ insertPage ( newprofilewizardopenvpnselectionpage, "<b>"+ i18n("FreeS/WAN settings") , 4 );
+ insertPage ( newprofilewizardpptppage, "<b>"+ i18n("PPTP settings")+"</b>", 5 );
+ }
+ else if ( currentpage == newprofilewizardopenvpnpage )
+ {
+ newprofilewizardopenvpnpagecontent->TunnelDeviceTypeComboBox->setCurrentText(profileData->getTunnelDeviceType() );
+ newprofilewizardopenvpnpagecontent->NsCertTypeComboBox->setCurrentText(profileData->getNsCertType());
+ newprofilewizardopenvpnpagecontent->TunnelDeviceTypeComboBox->setCurrentText(profileData->getTunnelDeviceType() );
+ newprofilewizardopenvpnpagecontent->UseRedirectGatewayCheckBox->setChecked(profileData->getUseRedirectGateway() );
+
+ newprofilewizardopenvpnpagecontent->UserdefiniedCipherComboBox->setCurrentText(profileData->getUserdefiniedCipher());
+ newprofilewizardopenvpnpagecontent->UseUserdefiniedCipherCheckBox->setChecked(profileData->getUseUserdefiniedCipher());
+ newprofilewizardopenvpnpagecontent->UseTlsAuthCheckBox->setChecked(profileData->getUseTlsAuth());
+ newprofilewizardopenvpnpagecontent->TlsAuthURLRequester->setURL(profileData->getTlsAuthFile());
+
+ profileData->setUseTlsRemoteHost( newprofilewizardopenvpnpagecontent->UseTlsAuthCheckBox->isChecked());
+ profileData->setTlsRemoteHost( newprofilewizardopenvpnpagecontent->TlsRemoteHostLineEdit->text());
+
+ profileData->setUseHttpProxy( newprofilewizardopenvpnpagecontent->UseHttpProxyCheckBox->isChecked() );
+ profileData->setHttpProxy( newprofilewizardopenvpnpagecontent->HttpProxyLineEdit->text( ) );
+ profileData->setHttpProxyPort( newprofilewizardopenvpnpagecontent->HttpProxyPortIntNumInput->value( ) );
+ profileData->setHttpProxyTimeout( newprofilewizardopenvpnpagecontent->HttpProxyTimeoutIntSpinBox->value() );
+
+ insertPage ( newprofilewizardciscoselectionpage,"<b>"+ i18n("Cisco selection")+"</b>" , 2 );
+ insertPage ( newprofilewizardciscomanuallypage, "<b>"+ i18n("Cisco settings")+"</b>", 3 );
+ insertPage ( newprofilewizardfreeswanpage, "<b>"+ i18n("Ipsec settings") , 4 );
+ insertPage ( newprofilewizardracoonpage, "<b>"+ i18n("Racoon settings")+"</b>" , 5 );
+ insertPage ( newprofilewizardpptppage, "<b>"+ i18n("PPTP settings")+"</b>", 6 );
+ }
+ else if ( currentpage == newprofilewizardpptppage )
+ {
+ insertPage ( newprofilewizardciscoselectionpage,"<b>"+ i18n("Cisco selection")+"</b>" , 2 );
+ insertPage ( newprofilewizardciscomanuallypage, "<b>"+ i18n("Cisco settings")+"</b>", 3 );
+ insertPage ( newprofilewizardfreeswanpage, "<b>"+ i18n("IPsec settings") , 4 );
+ insertPage ( newprofilewizardracoonpage, "<b>"+ i18n("Racoon settings")+"</b>" , 5 );
+ insertPage ( newprofilewizardopenvpnpage, "<b>"+i18n("OpenVPN settings")+"</b>", 6 );
+ }
+ else if ( currentpage == newprofilewizarduserpage )
+ {
+ newprofilewizarduserpagecontent->UsernameLineEdit->setText(profileData->getUserName());
+ newprofilewizarduserpagecontent->PasswordEdit->setText(profileData->getUserPassword() );
+ newprofilewizarduserpagecontent->CheckUserPass->setChecked(profileData->getSaveUserPassword());
+ }
+ else if ( currentpage == newprofilewizardnetworkpage )
+ {
+ newprofilewizardnetworkcontent->RemoteNetAddrLineEdit->setText(profileData->getRemoteNetAddr() );
+ newprofilewizardnetworkcontent->RemoteNetMaskComboBox->setCurrentText(profileData->getRemoteNetMask());
+ newprofilewizardnetworkcontent->NetworkDeviceComboBox->setCurrentText(profileData->getNetworkDevice());
+ }
+ else if ( currentpage == newprofilewizardnatpage )
+ {
+ newprofilewizardnatcontent->UseUdpCheckbox->setChecked(profileData->getUseUdp());
+ newprofilewizardnatcontent->UdpPortCheckbox->setChecked(profileData->getUseUdpPort ());
+ newprofilewizardnatcontent->UdpPortSpinbox->setValue(profileData->getUdpPort());
+ }
+ */
+ QWizard::back();
+}
+
+QString NewProfileWizard::getName()
+{
+ return profileData->getName();
+}
+
+bool NewProfileWizard::getFinished()
+{
+ return finished;
+}
+
+// void NewProfileDialog::reject()
+// {
+//
+// }
+
+void NewProfileWizard::showPage ( QWidget* page )
+{
+ currentpage = page;
+ QWizard::showPage ( page );
+
+
+ // FIXME set currentpage at back()
+ //backButton()->setEnabled(false);
+
+ helpButton() ->setEnabled ( false );
+
+ if ( page == endpage )
+ {
+ finishButton() ->setEnabled ( TRUE );
+ finishButton() ->setFocus();
+ }
+}
+
+void NewProfileWizard::dataChanged ( const QString & )
+{
+ // if ( !firstName->text().isEmpty() &&
+ // !lastName->text().isEmpty() &&
+ // !email->text().isEmpty() )
+ // nextButton()->setEnabled( TRUE );
+ // else
+ // nextButton()->setEnabled( FALSE );
+}
+
+void NewProfileWizard::userdefinedOpenvpnPortToggeled ( bool )
+{
+ if ( newprofilewizardopenvpnpagecontent->UseUserdefinedPortCheckBox->isChecked() )
+ newprofilewizardopenvpnpagecontent->UserdefinedPortSpinBox->setEnabled ( true );
+ else
+ newprofilewizardopenvpnpagecontent->UserdefinedPortSpinBox->setEnabled ( false );
+}
+
+void NewProfileWizard::nsCertTypeOpenvpnToggled ( bool )
+{
+ if ( newprofilewizardopenvpnpagecontent->UseNsCertTypeCheckBox->isChecked() )
+ newprofilewizardopenvpnpagecontent->NsCertTypeComboBox->setEnabled ( true );
+ else
+ newprofilewizardopenvpnpagecontent->NsCertTypeComboBox->setEnabled ( false );
+}
+
+void NewProfileWizard::pskIsInFileToggled ( bool )
+{
+ if ( newprofilewizardpskcontent->PskInFileCheckBox->isChecked() )
+ {
+ newprofilewizardpskcontent->LabelPskFile->setEnabled ( TRUE );
+ newprofilewizardpskcontent->PSKFileURLRequester->setEnabled ( TRUE );
+ newprofilewizardpskcontent->LabelPsk->setEnabled ( FALSE );
+ newprofilewizardpskcontent->PSKLineEdit->setEnabled ( FALSE );
+ }
+ else
+ {
+ newprofilewizardpskcontent->LabelPskFile->setEnabled ( FALSE );
+ newprofilewizardpskcontent->PSKFileURLRequester->setEnabled ( FALSE );
+ newprofilewizardpskcontent->LabelPsk->setEnabled ( TRUE );
+ newprofilewizardpskcontent->PSKLineEdit->setEnabled ( TRUE );
+ }
+}
+
+void NewProfileWizard::useNatToggled ( bool )
+{
+ if ( newprofilewizardnatcontent->UseNatCheckbox->isChecked() )
+ {
+ newprofilewizardnatcontent->UdpPortCheckbox->setEnabled ( TRUE );
+ newprofilewizardnatcontent->UdpPortSpinbox->setEnabled ( FALSE );
+ }
+ else
+ {
+ newprofilewizardnatcontent->UdpPortCheckbox->setEnabled ( FALSE );
+ newprofilewizardnatcontent->UdpPortSpinbox->setEnabled ( FALSE );
+ }
+}
+
+void NewProfileWizard::udpPortToggled ( bool )
+{
+ if ( newprofilewizardnatcontent->UdpPortCheckbox->isChecked() )
+ {
+ newprofilewizardnatcontent->UdpPortSpinbox->setEnabled ( TRUE );
+ }
+ else
+ {
+ newprofilewizardnatcontent->UdpPortSpinbox->setEnabled ( FALSE );
+ }
+}
+
+void NewProfileWizard::pingIpAfterConnectToggled ( bool )
+{
+ if ( newprofilewizardconnectionstatuscheckcontent->PingUserdefiniedAddressCheckBox->isChecked() )
+ newprofilewizardconnectionstatuscheckcontent->UserdefiniedPingIPLineEdit->setEnabled ( true );
+ else
+ newprofilewizardconnectionstatuscheckcontent->UserdefiniedPingIPLineEdit->setEnabled ( false );
+}
+
+void NewProfileWizard::useUserdefiniedCipherToggled ( bool )
+{
+ if ( newprofilewizardopenvpnpagecontent->UseUserdefiniedCipherCheckBox->isChecked() )
+ newprofilewizardopenvpnpagecontent->UserdefiniedCipherComboBox->setEnabled ( true );
+ else
+ newprofilewizardopenvpnpagecontent->UserdefiniedCipherComboBox->setEnabled ( false );
+}
+
+void NewProfileWizard::useSpecialServerCertificateToggled ( bool )
+{
+ if ( newprofilewizardcertcontent->UseSpecialServerCertificateCheckBox->isChecked() )
+ {
+ newprofilewizardcertcontent->SpecialServerCertificateURLRequester->setEnabled ( TRUE );
+ }
+ else
+ {
+ newprofilewizardcertcontent->SpecialServerCertificateURLRequester->setEnabled ( FALSE );
+ }
+}
+
+void NewProfileWizard::useTlsAuthToggled ( bool )
+{
+ if ( newprofilewizardopenvpnpagecontent->UseTlsAuthCheckBox ->isChecked() )
+ {
+ newprofilewizardopenvpnpagecontent->TlsAuthURLRequester->setEnabled ( true );
+ newprofilewizardopenvpnpagecontent->UseTlsRemoteHostCheckBox->setEnabled ( true );
+ }
+ else
+ {
+ newprofilewizardopenvpnpagecontent->TlsAuthURLRequester->setEnabled ( false );
+ newprofilewizardopenvpnpagecontent->UseTlsRemoteHostCheckBox->setEnabled ( false );
+ }
+}
+
+void NewProfileWizard::useHttpProxyToggeled ( bool )
+{
+ if ( newprofilewizardopenvpnpagecontent->UseHttpProxyCheckBox->isChecked() )
+ {
+ newprofilewizardopenvpnpagecontent->HostTextLabel->setEnabled ( true );
+ newprofilewizardopenvpnpagecontent->HttpProxyLineEdit->setEnabled ( true );
+ newprofilewizardopenvpnpagecontent->TimeoutTextLabel->setEnabled ( true );
+ newprofilewizardopenvpnpagecontent->HttpProxyTimeoutIntSpinBox->setEnabled ( true );
+ newprofilewizardopenvpnpagecontent->PortTextextLabel->setEnabled ( true );
+ newprofilewizardopenvpnpagecontent->HttpProxyPortIntNumInput->setEnabled ( true );
+ }
+ else
+ {
+ newprofilewizardopenvpnpagecontent->HostTextLabel->setEnabled ( false );
+ newprofilewizardopenvpnpagecontent->HttpProxyLineEdit->setEnabled ( false );
+ newprofilewizardopenvpnpagecontent->TimeoutTextLabel->setEnabled ( false );
+ newprofilewizardopenvpnpagecontent->HttpProxyTimeoutIntSpinBox->setEnabled ( false );
+ newprofilewizardopenvpnpagecontent->PortTextextLabel->setEnabled ( false );
+ newprofilewizardopenvpnpagecontent->HttpProxyPortIntNumInput->setEnabled ( false );
+ }
+}
+
+void NewProfileWizard::useTlsRemoteHostToggled ( bool )
+{
+ if ( newprofilewizardopenvpnpagecontent->UseTlsRemoteHostCheckBox->isChecked() )
+ newprofilewizardopenvpnpagecontent->TlsRemoteHostLineEdit->setEnabled ( true );
+ else
+ newprofilewizardopenvpnpagecontent->TlsRemoteHostLineEdit->setEnabled ( false );
+}
+
+void NewProfileWizard::connectionStatusCheckToggled ( bool )
+{
+ if ( !newprofilewizardconnectionstatuscheckcontent->UseConnectionStatusCheckCheckBox->isChecked() )
+ {
+ newprofilewizardconnectionstatuscheckcontent->ConnectionStatusCheckIntervalNumInput->setEnabled ( false );
+ newprofilewizardconnectionstatuscheckcontent->ConnectionStatusSuccessCountNumInput->setEnabled ( false );
+ }
+ else
+ {
+ newprofilewizardconnectionstatuscheckcontent->ConnectionStatusCheckIntervalNumInput->setEnabled ( true );
+ newprofilewizardconnectionstatuscheckcontent->ConnectionStatusSuccessCountNumInput->setEnabled ( true );
+ }
+}
+
+bool NewProfileWizard::importProfile ( VpnAccountData::ConnectionType ConnType )
+{
+ // FIXME make dlg dynamiclly
+
+ bool success = true;
+
+ if ( ConnType == VpnAccountData::cisco || ConnType == VpnAccountData::ciscoorig )
+ {
+ ImportProfileDialog dlg ( GlobalConfig, this, i18n ( "Import Cisco PCF profile" ), "" );
+ dlg.exec();
+ importOK = dlg.importOk;
+ if ( importOK )
+ {
+ profileData = dlg.acc;
+ KMessageBox::information ( 0, i18n ( "Import of \"%1\" was successful." ).arg ( profileData->getName() ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) was successful." ).arg ( profileData->getName() ).arg ( "PCF" ), GlobalConfig->info );
+ }
+ else
+ {
+ KMessageBox::sorry ( 0, i18n ( "Import of \"%1\" has been failed." ).arg ( profileData->getName() ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) has been failed." ).arg ( profileData->getName() ).arg ( "PCF" ), GlobalConfig->error );
+ success = false;
+ }
+ }
+ if ( ConnType == VpnAccountData::openvpn )
+ {
+ ImportOpenvpnProfileDialog dlg ( GlobalConfig, this, i18n ( "Import OpenVPN profile" ), "" );
+ dlg.exec();
+ importOK = dlg.importOk;
+ if ( importOK )
+ {
+ profileData = dlg.acc;
+ KMessageBox::information ( 0, i18n ( "Import of \"%1\" was successful." ).arg ( profileData->getName() ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) was successful." ).arg ( profileData->getName() ).arg ( "OpenVPN" ), GlobalConfig->info );
+ }
+ else
+ {
+ KMessageBox::sorry ( 0, i18n ( "Import of \"%1\" has been failed." ).arg ( profileData->getName() ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) has been failed." ).arg ( profileData->getName() ).arg ( "OpenVPN" ), GlobalConfig->error );
+ success = false;
+ }
+ }
+ if ( ConnType == VpnAccountData::freeswan )
+ {
+ ImportIpsecProfileDialog dlg ( GlobalConfig, this, i18n ( "Import IPSec profile" ), "" );
+ dlg.setCaption(i18n("Import IPSec config"));
+ dlg.exec();
+ importOK = dlg.importOk;
+ if ( importOK )
+ {
+ profileData = dlg.acc;
+ KMessageBox::information ( 0, i18n ( "Import of \"%1\" was successful." ).arg ( profileData->getName() ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) was successful." ).arg ( dlg.main->FilenameUrlrequester->url() ).arg ( "IPSec" ), GlobalConfig->info );
+ }
+ else
+ {
+ KMessageBox::sorry ( 0, i18n ( "Import of \"%1\" has been failed." ).arg ( profileData->getName() ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) has been failed." ).arg ( dlg.main->FilenameUrlrequester->url() ).arg ( "IPsec" ), GlobalConfig->error );
+ success = false;
+ }
+ }
+
+ return success;
+
+}
+
+bool NewProfileWizard::importCertificate()
+{
+ bool success = true;
+
+ newprofilewizardcertcontent->CaCertpathURLRequester->clear();
+ newprofilewizardcertcontent->certpathURLRequester->clear();
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->clear();
+ ImportCertificateDialog dlg ( this, i18n ( "Import Certificate..." ).ascii(), GlobalConfig );
+
+ if ( profileData->getConnectionType() == VpnAccountData::freeswan ||
+ profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan )
+ {
+ dlg.main->ImporttypeComboBox->setCurrentItem ( ImportCertificateDialog::pkcs12_freeswan );
+ dlg.typeToggeled ( ImportCertificateDialog::pkcs12_freeswan );
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::racoon || profileData->getConnectionType() == VpnAccountData::l2tpd_racoon )
+ {
+ dlg.main->ImporttypeComboBox->setCurrentItem ( ImportCertificateDialog::pkcs12_racoon );
+ dlg.main->PrivateKeyPassGroupBox->setEnabled ( false );
+ dlg.main->UsePrivateKeyPasswordCheckBox->setChecked(false);
+ dlg.typeToggeled ( ImportCertificateDialog::pkcs12_racoon );
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::openvpn )
+ {
+ dlg.main->ImporttypeComboBox->setCurrentItem ( ImportCertificateDialog::pkcs12_openvpn );
+ dlg.typeToggeled ( ImportCertificateDialog::pkcs12_openvpn );
+ dlg.main->RacoonCertificatePathUrlrequester->setEnabled ( true );
+ dlg.main->RacoonCertificatePathUrlrequester->setURL ( profileData->getCertPath() );
+ dlg.main->PrivateKeyPassGroupBox->setEnabled ( true );
+ dlg.main->PrivateKeyPasswordEdit->setEnabled ( true );
+ dlg.main->PrivateKeyAgainPasswordEdit->setEnabled ( true );
+ }
+ else if ( profileData->getConnectionType() == VpnAccountData::ciscoorig )
+ {
+ dlg.main->ImporttypeComboBox->setCurrentItem ( ImportCertificateDialog::cisco );
+ dlg.typeToggeled ( ImportCertificateDialog::cisco);
+ dlg.main->RacoonCertificatePathUrlrequester->setEnabled ( false );
+// dlg.main->RacoonCertificatePathUrlrequester->hide();
+ dlg.main->PrivateKeyPassGroupBox->setEnabled ( true );
+ dlg.main->PrivateKeyPasswordEdit->setEnabled ( true );
+ dlg.main->PrivateKeyAgainPasswordEdit->setEnabled ( true );
+ }
+
+
+ dlg.exec();
+ importOK = dlg.importOk;
+ QString filename = dlg.filename;
+ if ( importOK )
+ {
+ QString certpath = dlg.certpath;
+ QString CertFullPath = dlg.CertFullPath;
+ QString CaCertFullPath = dlg.CaCertFullPath;
+ QString importpassword = dlg.main->ImportPasswordEdit->text();
+ QString privatekeypassword = dlg.main->PrivateKeyPasswordEdit->password();
+ QString certificate = QString ( "mykeys_" + dlg.certName + ".pem" );
+ QString privatekey = QString ( dlg.certName + ".pem" );
+
+ QString certpostfix = "";
+ QString privatepostfix = "";
+ if ( profileData->getConnectionType() == VpnAccountData::freeswan ||
+ profileData->getConnectionType() == VpnAccountData::l2tpd_freeswan )
+ {
+ certpostfix = "certs/";
+ privatepostfix = "private/";
+ }
+
+ newprofilewizardcertcontent->CaCertpathURLRequester->setURL ( CaCertFullPath );
+
+
+ if ( profileData->getConnectionType() == VpnAccountData::openvpn )
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setText ( importpassword );
+ else
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setText ( privatekeypassword );
+
+ if ( profileData->getConnectionType() == VpnAccountData::l2tpd_racoon ||
+ profileData->getConnectionType() == VpnAccountData::racoon )
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setEnabled ( false );
+
+
+ newprofilewizardcertcontent->certpathURLRequester->setURL ( certpath );
+
+ if ( profileData->getConnectionType() == VpnAccountData::l2tpd_racoon ||
+ profileData->getConnectionType() == VpnAccountData::racoon )
+ {
+ newprofilewizardcertcontent->privkeypathURLRequester->setURL ( certpath + "/" + certpostfix + certificate );
+ newprofilewizardcertcontent->LabelPrivateKeyPassword->setEnabled ( false );
+ }
+ else
+ newprofilewizardcertcontent->privkeypathURLRequester->setURL ( certpath + "/" + privatepostfix + privatekey );
+ newprofilewizardcertcontent->x509certURLRequester->setURL ( certpath + "/" + certpostfix + certificate );
+
+ KMessageBox::information ( 0, i18n ( "Import of \"%1\" was successful." ).arg ( filename ) );
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) was successful." ).arg ( filename ).arg ( "P12 certificate" ), GlobalConfig->info );
+ }
+ else
+ {
+ GlobalConfig->appendLogEntry ( i18n ( "Import of \"%1\" (%2) has been failed." ).arg ( filename ).arg ( "P12 certificate" ), GlobalConfig->info );
+ success = false;
+ }
+ return success;
+}
+
+void NewProfileWizard::authenticateWithUsernameAndPasswordToggled ( bool )
+{
+ if ( newprofilewizardopenvpnauthpagecontent->AuthWithUsernameAndPasswordCheckBox->isChecked() )
+ newprofilewizardopenvpnauthpagecontent->UseOnlyCaCertAndUserAuthCheckBox->setEnabled ( true );
+ else
+ newprofilewizardopenvpnauthpagecontent->UseOnlyCaCertAndUserAuthCheckBox->setEnabled ( false );
+}
+
+void NewProfileWizard::pskInputToggled ( const QString& )
+{
+ if ( !newprofilewizardpskcontent->PSKLineEdit->text().isEmpty() )
+ newprofilewizardpskcontent->CheckSavePsk->setChecked ( true );
+ else
+ newprofilewizardpskcontent->CheckSavePsk->setChecked ( false );
+}
+
+void NewProfileWizard::userpassToggled ( const QString& )
+{
+ if ( !newprofilewizarduserpagecontent->PasswordEdit->text().isEmpty() )
+ newprofilewizarduserpagecontent->CheckUserPass->setChecked ( true );
+ else
+ newprofilewizarduserpagecontent->CheckUserPass->setChecked ( false );
+}
+
+void NewProfileWizard::usernameToggled ( const QString& )
+{
+ // if (newprofilewizarduserpagecontent->UsernameLineEdit->text().isEmpty())
+ // newprofilewizarduserpagecontent->DontSaveUsernameCheckBox->setChecked(true);
+ // else
+ // newprofilewizarduserpagecontent->DontSaveUsernameCheckBox->setChecked(false);
+}
+
+void NewProfileWizard::pskToggled ( const QString& )
+{
+ if ( !newprofilewizardciscomanuallypagecontent->GroupPasswordLineEdit->text().isEmpty() )
+ newprofilewizardciscomanuallypagecontent->CheckSavePsk->setChecked ( true );
+ else
+ newprofilewizardciscomanuallypagecontent->CheckSavePsk->setChecked ( false );
+}
+
+void NewProfileWizard::useRightNextHopToggled ( bool )
+{
+ if ( newprofilewizardfreeswanpagecontent->UseRightNextHopCheckBox->isChecked() )
+ newprofilewizardfreeswanpagecontent->RightNextHopLineEdit->setEnabled ( true );
+ else
+ newprofilewizardfreeswanpagecontent->RightNextHopLineEdit->setEnabled ( false );
+}
+
+void NewProfileWizard::useLeftNextHopToggled ( bool )
+{
+ if ( newprofilewizardfreeswanpagecontent->UseLeftNextHopCheckBox->isChecked() )
+ newprofilewizardfreeswanpagecontent->LeftNextHopLineEdit->setEnabled ( true );
+ else
+ newprofilewizardfreeswanpagecontent->LeftNextHopLineEdit->setEnabled ( false );
+}
+
+void NewProfileWizard::additionalNetworkRoutesToggled ( bool )
+{
+ if ( newprofilewizardnetworkroutecontent->UseExtraNetworkRoutesCheckbox->isChecked() )
+ {
+ newprofilewizardnetworkroutecontent->NetworkListView->setEnabled ( TRUE );
+ newprofilewizardnetworkroutecontent->DeleteNetworkRoutePushButton->setEnabled ( TRUE );
+ newprofilewizardnetworkroutecontent->AddRoutePushButton->setEnabled ( TRUE );
+ }
+ else
+ {
+ newprofilewizardnetworkroutecontent->NetworkListView->setEnabled ( FALSE );
+ newprofilewizardnetworkroutecontent->DeleteNetworkRoutePushButton->setEnabled ( FALSE );
+ newprofilewizardnetworkroutecontent->AddRoutePushButton->setEnabled ( FALSE );
+ }
+}
+
+void NewProfileWizard::delNetworkRouteClicked()
+{
+ if ( newprofilewizardnetworkroutecontent->NetworkListView->childCount() > 0 && newprofilewizardnetworkroutecontent->NetworkListView->currentItem() != 0 )
+ {
+ QListViewItem * item = newprofilewizardnetworkroutecontent->NetworkListView->currentItem();
+ QString Network = item->text ( 0 );
+ QString Netmask = item->text ( 1 );
+ int result = KMessageBox::questionYesNo ( this, i18n ( "Do you really want to delete the network \"%1/%2\"?" ).arg ( Network ).arg ( Netmask ), i18n ( "Delete?" ) );
+ //LogOutput->append( "Result: "+ QString().setNum(result) ) ;
+ if ( result == 3 ) // Yes
+ {
+ newprofilewizardnetworkroutecontent->NetworkListView->removeItem ( item );
+ }
+ }
+}
+
+void NewProfileWizard::addNetworkRouteClicked()
+{
+ AddNetworkRouteDialog dlg ( this, i18n ( "Add Network Route..." ) );
+
+
+ dlg.main->InterfaceComboBox->insertItem ( "default" ); // interface where default route points
+
+ //FIXME
+ dlg.main->InterfaceComboBox->insertItem ( "eth0" );
+ dlg.main->InterfaceComboBox->insertItem ( "eth1" );
+ dlg.main->InterfaceComboBox->insertItem ( "eth2" );
+ dlg.main->InterfaceComboBox->insertItem ( "ipsec0" );
+ dlg.main->InterfaceComboBox->insertItem ( "tun0" );
+ dlg.main->InterfaceComboBox->insertItem ( "ppp0" );
+
+ if ( dlg.exec() )
+ {
+ QString gateway = dlg.getGateway();
+ QString interface = dlg.getInterface();
+ if ( !dlg.getUseGateway() )
+ gateway = "-";
+ if ( !dlg.getUseInterface() )
+ interface = "-";
+ newprofilewizardnetworkroutecontent->NetworkListView->insertItem ( new QListViewItem ( newprofilewizardnetworkroutecontent->NetworkListView, dlg.getNetwork(), dlg.getNetmask(), gateway, interface ) );
+ }
+}
+
+void NewProfileWizard::domainNameToggled ( bool )
+{
+ if ( newprofilewizarduserpagecontent->NtDomainNameCheckbox->isChecked() )
+ newprofilewizarduserpagecontent->NtDomainNameLineedit->setEnabled ( true );
+ else
+ newprofilewizarduserpagecontent->NtDomainNameLineedit->setEnabled ( false );
+}
+
+void NewProfileWizard::useSmartcardToggled ( bool )
+{
+ if ( newprofilewizardcertcontent->UseSmartcardCheckBox->isChecked() )
+ {
+ newprofilewizardcertcontent->SmartcardGroupBox->setEnabled ( true );
+ newprofilewizardcertcontent->x509certURLRequester->setEnabled ( false );
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setEnabled ( false );
+ newprofilewizardcertcontent->privkeypathURLRequester->setEnabled ( false );
+ newprofilewizardcertcontent->LabelCertificate->setEnabled ( false );
+ newprofilewizardcertcontent->LabelPrivateKeyPath->setEnabled ( false );
+ newprofilewizardcertcontent->LabelPrivateKeyPassword->setEnabled ( false );
+ newprofilewizardcertcontent->Pkcs11IdTypeComboBox->setEnabled ( false );
+
+// newprofilewizardcertcontent->CertificateGroupBox->setEnabled(false);
+
+
+// if ( profileData->getConnectionType() == VpnAccountData::freeswan || GlobalConfig->currentProfile->getConnectionType() == VpnAccountData::l2tpd_freeswan )
+// {
+// ToolInfo IpsecToolInfo( GlobalConfig->programsInPath , "ipsec" );
+// if ( GlobalConfig->programsInPath )
+// {
+// IpsecToolInfo.addSearchPath( "/sbin" );
+// IpsecToolInfo.addSearchPath( "/usr/local/sbin" );
+// IpsecToolInfo.addSearchPath( "/usr/sbin" );
+// IpsecToolInfo.addSearchPath( "/bin" );
+// IpsecToolInfo.addSearchPath( "/usr/local/bin" );
+// IpsecToolInfo.addSearchPath( "/usr/bin" );
+// }
+// IpsecToolInfo.collectToolInfo();
+// if (IpsecToolInfo.Version.contains("Openswan") || IpsecToolInfo.Version.contains("Free"))
+// KMessageBox::information(0,i18n("%1 (IPSec) currently has no working smartcard support (pkcs11). Please use strongSwan instead with enabled smartcard support.").arg(IpsecToolInfo.Version.section(' ',0,0)),i18n("Unsupported IPSec version"));
+// }
+
+ }
+ else
+ {
+ newprofilewizardcertcontent->SmartcardGroupBox->setEnabled ( false );
+ newprofilewizardcertcontent->x509certURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->PrivkeyPasswordEdit->setEnabled ( true );
+ newprofilewizardcertcontent->privkeypathURLRequester->setEnabled ( true );
+ newprofilewizardcertcontent->LabelCertificate->setEnabled ( true );
+ newprofilewizardcertcontent->LabelPrivateKeyPath->setEnabled ( true );
+ newprofilewizardcertcontent->LabelPrivateKeyPassword->setEnabled ( true );
+
+// newprofilewizardcertcontent->CertificateGroupBox->setEnabled(true);
+ }
+}
+
+void NewProfileWizard::useSmartcardOnCertFormateToggled ( bool )
+{
+ if ( newprofilewizardp12certselectioncontent->UseSmartcardCheckBox->isChecked() )
+ {
+ newprofilewizardp12certselectioncontent->P12Group->setEnabled ( false );
+// if ( profileData->getConnectionType() == VpnAccountData::freeswan || GlobalConfig->currentProfile->getConnectionType() == VpnAccountData::l2tpd_freeswan )
+// {
+// ToolInfo IpsecToolInfo( GlobalConfig->programsInPath , "ipsec" );
+// if ( GlobalConfig->programsInPath )
+// {
+// IpsecToolInfo.addSearchPath( "/sbin" );
+// IpsecToolInfo.addSearchPath( "/usr/local/sbin" );
+// IpsecToolInfo.addSearchPath( "/usr/sbin" );
+// IpsecToolInfo.addSearchPath( "/bin" );
+// IpsecToolInfo.addSearchPath( "/usr/local/bin" );
+// IpsecToolInfo.addSearchPath( "/usr/bin" );
+// }
+// IpsecToolInfo.collectToolInfo();
+// if (IpsecToolInfo.Version.contains("Openswan") || IpsecToolInfo.Version.contains("Free"))
+// KMessageBox::information(0,i18n("%1 (IPSec) currently has no working smartcard support (pkcs11). Please use strongSwan instead with enabled smartcard support.").arg(IpsecToolInfo.Version.section(' ',0,0)),i18n("Unsupported IPSec version"));
+// }
+ }
+ else
+ {
+ newprofilewizardp12certselectioncontent->P12Group->setEnabled ( true );
+ }
+}
+
+void NewProfileWizard::usePkcs11ProvidersToggled ( bool )
+{
+ if ( newprofilewizardcertcontent->UsePkcs11ProvidersCheckBox->isChecked() )
+ newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->setEnabled ( true );
+ else
+ newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->setEnabled ( false );
+}
+
+void NewProfileWizard::idTypeToggled()
+{
+ // if (newprofilewizardcertcontent->Pkcs11IdTypeComboBox->currentItem() == 0)
+ // newprofilewizardcertcontent->IdLabel->setText(i18n("ID"));
+ // else if (newprofilewizardcertcontent->Pkcs11IdTypeComboBox->currentItem() == 1)
+ // newprofilewizardcertcontent->IdLabel->setText(i18n("Label"));
+ // else
+ // newprofilewizardcertcontent->IdLabel->setText(i18n("Description"));
+}
+
+void NewProfileWizard::detectPkcs11Ids()
+{
+ GlobalConfig->appPointer->setOverrideCursor ( QCursor ( Qt::WaitCursor ) );
+ newprofilewizardcertcontent->Pkcs11IdComboBox->clear();
+
+ int Pkcs11IdType = newprofilewizardcertcontent->Pkcs11IdTypeComboBox->currentItem();
+ QString Pkcs11IdTypeTmp;
+ if ( Pkcs11IdType == 0 )
+ {
+ Pkcs11IdTypeTmp = "id";
+
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Pkcs11IdType: %1" ).arg ( Pkcs11IdTypeTmp ), KVpncConfig::debug );
+ }
+ else if ( Pkcs11IdType == 1 )
+ {
+ Pkcs11IdTypeTmp = "label";
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Pkcs11IdType: %1" ).arg ( Pkcs11IdTypeTmp ), KVpncConfig::debug );
+ }
+ else
+ {
+ Pkcs11IdTypeTmp = "subject";
+ if ( GlobalConfig->KvpncDebugLevel > 1 )
+ GlobalConfig->appendLogEntry ( i18n ( "Pkcs11IdType: %1" ).arg ( Pkcs11IdTypeTmp ), KVpncConfig::debug );
+ }
+
+ QString ProviderLib = "";
+ if ( newprofilewizardcertcontent->UsePkcs11ProvidersCheckBox->isChecked() && !newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->url().isEmpty() )
+ ProviderLib = newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->url();
+
+ // we have to split slot id and name ("0 : foobar") => 0
+ QString Pkcs11Slot = newprofilewizardcertcontent->Pkcs11SlotComboBox->currentText().section ( ':', 0, 0 ).stripWhiteSpace();
+
+ QStringList Pkcs11Ids = Utils ( GlobalConfig ).getSmartcardCertsFromSlot ( Pkcs11Slot, Pkcs11IdTypeTmp, ProviderLib );
+ for ( QStringList::Iterator it = Pkcs11Ids.begin(); it != Pkcs11Ids.end(); ++it )
+ newprofilewizardcertcontent->Pkcs11IdComboBox->insertItem ( QString ( *it ) );
+
+ if ( newprofilewizardcertcontent->Pkcs11SlotComboBox->currentText() == "" || newprofilewizardcertcontent->Pkcs11IdComboBox->currentText() == "" )
+ nextButton()->setEnabled ( false );
+ else
+ nextButton()->setEnabled ( true );
+
+ GlobalConfig->appPointer->restoreOverrideCursor();
+}
+
+void NewProfileWizard::detectPkcs11Slots()
+{
+ GlobalConfig->appPointer->setOverrideCursor ( QCursor ( Qt::WaitCursor ) );
+ newprofilewizardcertcontent->Pkcs11SlotComboBox->clear();
+ QString ProviderLib = "";
+ if ( newprofilewizardcertcontent->UsePkcs11ProvidersCheckBox->isChecked() && !newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->url().isEmpty() )
+ ProviderLib = newprofilewizardcertcontent->Pkcs11ProvidersURLRequester->url();
+ QStringList Pkcs11Slots = Utils ( GlobalConfig ).getSmartcardSlots ( ProviderLib );
+ for ( QStringList::Iterator it = Pkcs11Slots.begin(); it != Pkcs11Slots.end(); ++it )
+ newprofilewizardcertcontent->Pkcs11SlotComboBox->insertItem ( QString ( *it ) );
+
+ if ( !Pkcs11Slots.isEmpty() )
+ newprofilewizardcertcontent->Pkcs11IdTypeComboBox->setEnabled ( true );
+ if ( newprofilewizardcertcontent->Pkcs11SlotComboBox->currentText() == "" || newprofilewizardcertcontent->Pkcs11IdComboBox->currentText() == "" )
+ nextButton()->setEnabled ( false );
+ else
+ nextButton()->setEnabled ( true );
+
+ GlobalConfig->appPointer->restoreOverrideCursor();
+}
+
+void NewProfileWizard::mtuToggled ( bool )
+{
+ if ( newprofilewizardnetworkcontent->MtuCheckbox->isChecked() )
+ newprofilewizardnetworkcontent->MtuSpinbox->setEnabled ( true );
+ else
+ newprofilewizardnetworkcontent->MtuSpinbox->setEnabled ( false );
+}
+
+void NewProfileWizard::mruToggled ( bool )
+{
+ if ( newprofilewizardnetworkcontent->MruCheckbox->isChecked() )
+ newprofilewizardnetworkcontent->MruSpinbox->setEnabled ( true );
+ else
+ newprofilewizardnetworkcontent->MruSpinbox->setEnabled ( false );
+}
+
+void NewProfileWizard::useVirtualIpAddressToggled ( bool )
+{
+ if ( profilenetworkvirtualipoptionscontent->UseVirtualIPCheckBox->isChecked() )
+ {
+ profilenetworkvirtualipoptionscontent->LocalVirtualIpEdit->setEnabled ( TRUE );
+ profilenetworkvirtualipoptionscontent->RemoteVirtualIpLineEdit->setEnabled ( TRUE );
+ }
+ else
+ {
+ profilenetworkvirtualipoptionscontent->LocalVirtualIpEdit->setEnabled ( FALSE );
+ profilenetworkvirtualipoptionscontent->RemoteVirtualIpLineEdit->setEnabled ( FALSE );
+ }
+}
+
+void NewProfileWizard::usePortToggled ( bool )
+{
+ if ( newprofilewizardvtunpagecontent->PortCheckbox->isChecked() )
+ newprofilewizardvtunpagecontent->PortSpinbox->setEnabled ( true );
+ else
+ newprofilewizardvtunpagecontent->PortSpinbox->setEnabled ( false );
+}
+
+void NewProfileWizard::useAuthenticationAlgorithmToggled ( bool )
+{
+ if ( newprofilewizardopenvpnauthpagecontent->UseAuthenticationAlgorithmCheckBox->isChecked() )
+ newprofilewizardopenvpnauthpagecontent->UserdefiniedDigestComboBox ->setEnabled ( true );
+ else
+ newprofilewizardopenvpnauthpagecontent->UserdefiniedDigestComboBox->setEnabled ( false );
+}
+
+void NewProfileWizard::useRemoteNetworkToggled(bool)
+{
+ if ( newprofilewizardnetworkcontent->UseRemoteNetworkCheckBox->isChecked() )
+ newprofilewizardnetworkcontent->RemoteNetworkGroupBox ->setEnabled ( true );
+ else
+ newprofilewizardnetworkcontent->RemoteNetworkGroupBox->setEnabled ( false );
+}
+
+void NewProfileWizard::useIkeToggled(bool)
+{
+ if (newprofilewizardfreeswanpagecontent->UseCustomIkeCheckBox->isChecked())
+ newprofilewizardfreeswanpagecontent->IkeGroupBox->setEnabled(true);
+ else
+ newprofilewizardfreeswanpagecontent->IkeGroupBox->setEnabled(false);
+}
+
+void NewProfileWizard::useEspToogled(bool)
+{
+ if (newprofilewizardfreeswanpagecontent->UseCustomEspCheckBox->isChecked())
+ newprofilewizardfreeswanpagecontent->EspGroupBox->setEnabled(true);
+ else
+ newprofilewizardfreeswanpagecontent->EspGroupBox->setEnabled(false);
+}
+
+void NewProfileWizard::remoteIDTypeRacoonToggled(const QString& text)
+{
+ if (text == "asn1dn")
+ {
+ newprofilewizardracoonpagecontent->RemoteIDLineEdit->setDisabled(true);
+ newprofilewizardracoonpagecontent->RemoteIDLabel->setDisabled(true);
+ }
+ else
+ {
+ newprofilewizardracoonpagecontent->RemoteIDLineEdit->setDisabled(false);
+ newprofilewizardracoonpagecontent->RemoteIDLabel->setDisabled(false);
+ }
+}
+
+void NewProfileWizard::localIDTypeRacoonToggled(const QString& text)
+{
+ if (text == "none")
+ {
+ newprofilewizardracoonpagecontent->LocalIDLineEdit->setDisabled(true);
+ newprofilewizardracoonpagecontent->LocalIDLabel->setDisabled(true);
+ }
+ else
+ {
+ newprofilewizardracoonpagecontent->LocalIDLineEdit->setDisabled(false);
+ newprofilewizardracoonpagecontent->LocalIDLabel->setDisabled(false);
+ }
+}
+
+void NewProfileWizard::remoteIDTypeIpsecToggled(const QString& text)
+{
+ if (text == "asn1dn" || text == "none")
+ {
+ newprofilewizardfreeswanpagecontent->RemoteIDLineEdit->setDisabled(true);
+ newprofilewizardfreeswanpagecontent->RemoteIDLabel->setDisabled(true);
+ }
+ else
+ {
+ newprofilewizardfreeswanpagecontent->RemoteIDLineEdit->setDisabled(false);
+ newprofilewizardfreeswanpagecontent->RemoteIDLabel->setDisabled(false);
+ }
+
+}
+
+void NewProfileWizard::localIDTypeIpsecToggled(const QString& text)
+{
+ if (text == "asn1dn" || text == i18n("Certificate ID"))
+ {
+ newprofilewizardfreeswanpagecontent->LocalIDLineEdit->setDisabled(true);
+ newprofilewizardfreeswanpagecontent->LocalIDLabel->setDisabled(true);
+ }
+ else
+ {
+ newprofilewizardfreeswanpagecontent->LocalIDLineEdit->setDisabled(false);
+ newprofilewizardfreeswanpagecontent->LocalIDLabel->setDisabled(false);
+ }
+}
+
+void NewProfileWizard::defaultRouteToggled(const QString&)
+{
+
+ if (newprofilewizardnetworkroutecontent->DefaultRouteComboBox->currentText() == i18n("Keep default route") || newprofilewizardnetworkroutecontent->DefaultRouteComboBox->currentItem() == 0)
+ {
+ KMessageBox::information(0,i18n("Additional network route is needed:\n\nYou have selected to keep the default route. You have to add additional network routes to your remote network. Otherwise you probably dont have access to it."),i18n("Route needed"));
+ }
+
+}
+
+void NewProfileWizard::ikeGroupToggled(bool)
+{
+ if (newprofilewizardracoonpagecontent->IkeGroupCheckbox->isChecked())
+ newprofilewizardracoonpagecontent->DHGroupComboBox->setEnabled(true);
+ else
+ newprofilewizardracoonpagecontent->DHGroupComboBox->setEnabled(false);
+}
+
+void NewProfileWizard::useXauthFreeswanToggled(bool)
+{
+ if (newprofilewizardfreeswanpagecontent->UseXauthCheckBox->isChecked())
+ {
+ newprofilewizarduserpagecontent->setEnabled(true);
+ newprofilewizardpskcontent->setEnabled(true);
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->setEnabled(false);
+ newprofilewizardfreeswanpagecontent->LocalIDLineEdit->setEnabled(true);
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->setCurrentText("keyid");
+ }
+ else
+ {
+ newprofilewizarduserpagecontent->setEnabled(false);
+ newprofilewizardpskcontent->setEnabled(false);
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->setEnabled(true);
+ newprofilewizardfreeswanpagecontent->LocalIDLineEdit->setEnabled(false);
+ newprofilewizardfreeswanpagecontent->LocalIdTypeCombobox->setCurrentText("asn1dn");
+ }
+}
+
+void NewProfileWizard::useXauthRacoonToggled(bool)
+{
+ if (newprofilewizardracoonpagecontent->UseXauthCheckBox->isChecked())
+ {
+ newprofilewizarduserpagecontent->setEnabled(true);
+ newprofilewizardpskcontent->setEnabled(true);
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->setEnabled(false);
+ newprofilewizardracoonpagecontent->LocalIDLineEdit->setEnabled(true);
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->setCurrentText("keyid");
+ }
+ else
+ {
+ newprofilewizarduserpagecontent->setEnabled(false);
+ newprofilewizardpskcontent->setEnabled(false);
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->setEnabled(true);
+ newprofilewizardracoonpagecontent->LocalIDLineEdit->setEnabled(false);
+ newprofilewizardracoonpagecontent->LocalIdTypeCombobox->setCurrentText("asn1dn");
+ }
+}
+
+void NewProfileWizard::tunnelDeviceTypeChanged(const QString & string )
+{
+ if ( profileData->getConnectionType() == VpnAccountData::openvpn || profileData->getConnectionType() == VpnAccountData::ssh)
+ {
+ if (string.lower() == "tun")
+ {
+ profilenetworkvirtualipoptionscontent->LabelRemoteVirtualIp->setText(i18n("Remote IP (virtual):"));
+ }
+ if (string.lower() == "tap")
+ {
+ profilenetworkvirtualipoptionscontent->LabelRemoteVirtualIp->setText(i18n("Netmask for local IP address:"));
+ }
+ }
+}
+
+void NewProfileWizard::useDnsServerToggled(bool)
+{
+ if ( newprofilewizardpptppagecontent->DnsServerCheckbox->isChecked() )
+ newprofilewizardpptppagecontent->DnsServerLineedit->setEnabled( true );
+ else
+ newprofilewizardpptppagecontent->DnsServerLineedit->setEnabled( false );
+}
+
+void NewProfileWizard::useSearchDomainInResolvConfToggled(bool)
+{
+ if ( newprofilewizardpptppagecontent->UseSearchDomainInResolvConfCheckbox ->isChecked() )
+ newprofilewizardpptppagecontent->SearchDomainInResolvConfLineedit->setEnabled( true );
+ else
+ newprofilewizardpptppagecontent->SearchDomainInResolvConfLineedit->setEnabled( false );
+}
+
+void NewProfileWizard::useDomainInResolvConfToggled(bool)
+{
+ if ( newprofilewizardpptppagecontent->UseDomainInResolvConfCheckbox ->isChecked() )
+ newprofilewizardpptppagecontent->DomainInResolvConfLineedit->setEnabled( true );
+ else
+ newprofilewizardpptppagecontent->DomainInResolvConfLineedit->setEnabled( false );
+}
+
+