You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kvpnc/src/newprofilewizard.cpp

4009 lines
188 KiB

/***************************************************************************
* 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 );
}