summaryrefslogtreecommitdiffstats
path: root/src/vpnaccountdata.h
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-12-06 12:36:58 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-12-06 12:36:58 -0600
commitd08a0ede1d2cb15bb14b0ff75eacf5c682b1fa0a (patch)
treee5ce4701bac540038a279b4e208c86390a24ba11 /src/vpnaccountdata.h
downloadkvpnc-d08a0ede1d2cb15bb14b0ff75eacf5c682b1fa0a.tar.gz
kvpnc-d08a0ede1d2cb15bb14b0ff75eacf5c682b1fa0a.zip
Initial import of year-and-a-half-old upstream version 0.9.6a
Diffstat (limited to 'src/vpnaccountdata.h')
-rw-r--r--src/vpnaccountdata.h689
1 files changed, 689 insertions, 0 deletions
diff --git a/src/vpnaccountdata.h b/src/vpnaccountdata.h
new file mode 100644
index 0000000..ed83ce7
--- /dev/null
+++ b/src/vpnaccountdata.h
@@ -0,0 +1,689 @@
+/***************************************************************************
+* 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. *
+***************************************************************************/
+#ifndef VPNACCOUNTDATA_H
+#define VPNACCOUNTDATA_H
+
+#include <qstring.h>
+#include <qobject.h>
+#include <qstringlist.h>
+
+/**
+* holds the data for a account
+* @author Christoph Thielecke
+*/
+class VpnAccountData : public QObject
+{
+public:
+ enum ConnectionType {cisco=0, racoon=1, freeswan=2, pptp=3,openvpn=4,l2tpd_racoon=5,l2tpd_freeswan=6,ciscoorig=7,vtun=8,ssh=9,other=99};
+ enum AuthenticationType {cert=0, psk=1, hybrid=2, unknownauth=99};
+ enum L2tpDaemonType { l2tpd=0, openl2tp=1};
+
+ /**
+ * Konstruktor
+ * @param ConnType Type (cisco, freeswan,racoon, etc)
+ * @param Name The name of the account
+ * @param Gateway The hostname/IP of the VPN gateway
+ * @return nothing
+ */
+ VpnAccountData( ConnectionType ConnType, const QString &Name);
+
+ /**
+ * Destruktor
+ */
+ ~VpnAccountData();
+
+ /*
+ Copy constructor
+ */
+ VpnAccountData(const VpnAccountData&);
+
+ ConnectionType getConnectionType() const; //< returns Connection type
+ QString getName() const; //< returns Name
+ QString getGateway() const; //< returns Gateway
+ QString getID() const; //< returns ID
+ QString getUserName() const; //< returns UserName
+ QString getUserPassword() const; //< returns UserPassword
+ QString getIkeGroup() const; //< returns IkeGroup
+ QString getEncryptionAlgorithm() const; //< returns EncryptionAlgorithm
+ QString getAuthenticationAlgorithm() const; //< returns AuthenticationAlgorithm
+ QString getPerfectForwardSecrety() const; //< returns PerfectForwardSecrecy
+ QString getNtDomainName() const; //< returns NtDomainName
+ QString getApplicationVersion() const; //< returns ApplicationVersion
+ QString getRemoteNetAddr() const; //<returns remoteNetAddr
+ QString getRemoteNetMask() const; //<returns remoteNetMask
+ QString getPreSharedKey() const; // returns PreSharedKey
+ QString getX509Certificate() const; //< returns x509 certificate
+ QString getCaCertificate() const; //< returns x509 certificate (CA)
+ QString getNetworkDevice() const; //< returns NetworkDevice
+ QString getCertPath() const; //<returns CertPath
+ QString getSpecialRemoteID() const; //< returns SpecialRemoteID;
+ QString getSpecialLocalID() const; //< returns SpecialLocalID;
+ QString getLocalIDType() const; //< return Local ID type for racoon
+ QString getRemoteIDType() const; //< return Remote ID type for racoon
+ QString getPingHostIP() const; //< returns last part of IP (host) for ping test
+ QString getPrivateKeyPass() const; //< returns PrivateKeyPass
+ QString getPrivateKey() const; //< returns PrivateKey
+ QString getDnsServer() const;
+ QString getLocalVirtualIP() const; //< returns LocalVirtualIP
+ QString getRemoteVirtualIP() const; //< returns RemoteVirtualIP (tun at openvpn,pptp) or Netmask for (tap at openvpn)
+ QString getPreSharedKeyFile() const;
+ QString getCommandBeforeConnect() const;
+ QString getCommandAfterConnect() const;
+ QString getCommandBeforeDisconnect() const;
+ QString getCommandAfterDisconnect() const;
+ QString getSpecialServerCertificate() const;
+ QString getHashAlgo() const;
+ QString getTunnelDeviceType() const;
+ QString getDescription() const;
+ QString getNsCertType() const;
+ QString getVirtualIP() const;
+ QString getUserdefiniedCipher() const;
+ QString getTlsAuthFile() const;
+ QString getHttpProxy() const;
+ QString getExchangeMode() const;
+ QString getTlsRemoteHost() const;
+ QString getRightNextHop() const;
+ QString getLeftNextHop() const;
+ QString getHttpProxyAuthType() const;
+ QString getHttpProxyUser() const;
+ QString getHttpProxyPass() const;
+ QString getPkcs11Providers() const;
+ QString getPkcs11SlotType() const;
+ QString getPkcs11Slot() const;
+ QString getPkcs11IdType() const;
+ QString getPkcs11Id() const;
+ QString getPkcs11SignMode() const;
+ QString getAuthMethod() const;
+ QString getSearchDomainInResolvConf() const;
+ QString getDomainInResolvConf() const;
+ QString getAuthenticationDirection() const;
+ QString getCiscoNatMode() const;
+ QString getIpsecEsp() const;
+ QString getIpsecIke() const;
+ QString getVtunProfile() const;
+ QString getIpsecVpnMode() const;
+ QString getLeftSourceIp() const;
+ QString getRightSourceIp() const;
+ QString getVirtualSubnetworks() const;
+ QString getSshConfigRemoteScript() const;
+
+ int getLocalPort() const; //< returns LocalPort
+ int getRemotePort() const; //< returns RemotePort
+ int getUdpPort() const; //< returns UdpPort
+ int getMtu() const;
+ int getMru() const;
+ int getUserdefinedPort() const;
+ int getConnectionStatusCheckSuccessCount() const;
+ int getConnectionStatusInterval() const;
+ int getHttpProxyPort() const;
+ int getHttpProxyTimeout() const;
+ int getReconnectDelay() const;
+ int getMssfix() const;
+ int getFragment() const;
+ int getPeerTimeout() const;
+ int getCommandAfterConnectDelayTime() const;
+ int getDpdIdleTimeout() const;
+ int getMaxConnectTries() const;
+ int getRenegSec() const;
+ int getTunnelPing() const;
+ int getTunnelPingRestart() const;
+
+ AuthenticationType getAuthType() const; //< returns AuthType
+ QStringList getAdditionalNetworkRoutes() const;
+ bool getSaveUserPassword() const; //< returns saveUserPassword
+ bool getSavePsk() const; //< returns savePSK
+ bool getUseSingleDes() const; //< returns useSingleDes
+ bool getUseIkeGroup() const; //< returns useIkeGroup
+ bool getUsePerfectForwardSecrety() const; //< returns usePerfectSecrecy
+ bool getUseNtDomainName() const; //< returns useNtDomainName
+ bool getUseApplicationVersion() const; //< returns useApplicationVersion
+ bool getUseLocalPort() const; //< returns useLocalPort
+ bool getUseRemotePort() const; //< returns useRemotePort
+ bool getUseAdvancedSettings() const; //< returns useAdvancedSettings
+ bool getUseGlobalIpsecSecret() const; //< returns useGlobalIpsecSecret
+ bool getDoPingIP() const; //< returns doPingIP
+ bool getUseSpecialRemoteID() const; //< returns useSpecialRemoteID
+ bool getUseSpecialLocalID() const; //< returns useSpecialLocalID
+ bool getUseUdp() const; //< returns useUdp
+ bool getUseUdpPort() const; //< returns useUdpPort
+ bool getUseDnsUpdate() const;
+ bool getUseDnsServer() const;
+ bool getRefuse40BitEncryption() const;
+ bool getRefuse128BitEncryption() const;
+ bool getAllowStatefulMode() const;
+ bool getRequireMppe() const;
+ bool getUseNoIpDefault() const;
+ bool getDisableMPPEComp() const;
+ bool getExecuteCmdBeforeConnect() const;
+ bool getExecuteCmdAfterConnect() const;
+ bool getExecuteCmdBeforeDisconnect() const;
+ bool getExecuteCmdAfterDisconnect() const;
+ bool getUseNoBsdComp() const;
+ bool getUseNoDeflate() const;
+ bool getReplaceDefaultRoute() const;
+ bool getUseMtu() const;
+ bool getUseMru() const;
+ bool getUseVirtualIP() const;
+ bool getPskIsInFile() const;
+ bool getUseAdditionalNetworkRoutes() const;
+ bool getUseSpecialServerCertificate() const;
+ bool getUseUserdefinedPort() const;
+ bool getUseNsCertType() const;
+ bool getUseConnectionStatusCheck() const;
+ bool getDoReconnectAfterConnectionLost() const;
+ bool getDisableLzoCompression() const;
+ bool getAuthWithUsernameAndPassword() const;
+ bool getAllowEmptyGroupPassword() const;
+ bool getUseUserdefiniedCipher() const;
+ bool getUseRedirectGateway() const;
+ bool getUseTlsAuth() const;
+ bool getUseHttpProxy() const;
+ bool getDontSaveUsername() const;
+ bool getUseModeConfig() const;
+ bool getUseReconnectDelay() const;//< if true kvpnc will wait ReconnectDelay before do reconnect instead of immediately reconnect
+ bool getUseTlsRemoteHost() const;
+ bool getDisableOpportunisticEncryption() const;
+ bool getUseMssfix() const;
+ bool getUseFragment() const;
+ bool getDisableCcp() const;
+ bool getUseSmartcard() const;
+ bool getUseXauthInteractive() const;
+ bool getSavePrivateKeyPassword() const;
+ bool getUseHttpProxyAuth () const;
+ bool getUseOnlyCaCertAndUserAuth() const;
+ bool getUseMailAddressAsIdentifier() const;
+ bool getUseRightNextHop() const;
+ bool getUseLeftNextHop() const;
+ bool getUsePkcs11Providers() const;
+ bool getAllowEmptyPrivateKeyPassword() const;
+ bool getAllowIpAddressChangeOfPeer() const;
+ bool getUseSearchDomainInResolvConf() const;
+ bool getUseDomainInResolvConf() const;
+ bool getDisableDataEncryption() const;
+ bool getUseAuthenticationAlgorithm() const;
+ bool getFixPathMtuDiscoveryProblem() const;
+ bool getUseRemoteNetwork() const;
+ bool getDisableHeaderCompression() const;
+ bool getDisableMagicNumberNegotiation() const;
+ bool getDisableIpx() const;
+ bool getDisableProtocolFieldCompression() const;
+ bool getDisableAdressControlCompression() const;
+ bool getUseCustomIke() const;
+ bool getUseCustomEsp() const;
+ bool getVerifyCaCert() const;
+ bool getUseDpdIdleTimeout() const;
+ bool getHideGroupPasswordInAccountDataDialog() const;
+ bool getUseLeftSourceIp() const;
+ bool getUseRightSourceIp() const;
+ bool getUseVirtualSubnetworks() const;
+ bool getDisablePushFromServer () const;
+ bool getDisableBind() const;
+ bool getUseRenegSec() const;
+ bool getUseTunnelPing() const;
+ bool getUseTunnelPingRestart() const;
+ bool getRequireEap() const;
+ bool getUseSshConfigRemoteScript() const;
+ bool getAskUserPasswordOnEachConnect() const;
+ bool getUseCiscoCertStore() const;
+ bool getUseNat() const;
+ L2tpDaemonType getL2tpDaemon() const;
+
+
+
+
+ /**
+ * Sets the connection type
+ * @param type The type
+ */
+ void setConnectionType( ConnectionType type );
+
+ /**
+ * Sets the name of the profile
+ * @param Name The new name
+ */
+ void setName( const QString &Name );
+
+ /**
+ * Sets the IP/DNS name of the gateway
+ * @param Gateway the IP/DNS name
+ */
+ void setGateway( const QString &Gateway );
+
+ /**
+ * Sets the remote ID (cisco)
+ * @param ID The ID
+ */
+ void setID( const QString &ID );
+
+ /**
+ * Sets the group password (cisco)
+ * @param GroupPassword The password
+ */
+ void setGroupPassword( const QString &GroupPassword );
+
+ /**
+ * Sets the username (cisco)
+ * @param Username The username
+ */
+ void setUserName( const QString &Username );
+
+ /**
+ * Sets the user password
+ * @param UserPassword The password
+ */
+ void setUserPassword( const QString &UserPassword );
+
+ /**
+ * Sets if user password should be stored or not
+ * @param saveUserPassword True if password should be stored
+ */
+ void setSaveUserPassword( bool saveUserPassword );
+
+ /**
+ * Sets if group password should be stored or not
+ * @param saveGroupPassword True if password should be stored
+ */
+ void setSavePsk( bool savePsk );
+
+ /**
+ * Sets the IKE group (cisco)
+ * @param IkeGroup The group
+ */
+ void setIkeGroup( const QString &IkeGroup );
+ void setEncryptionAlgorithm( const QString &EncryptionAlgorithm );
+ void setAuthenticationAlgorithm( const QString &AuthenticationAlgorithm );
+
+ void setPerfectForwardSecrety( const QString &PerfectForwardSecrecy );
+ void setNtDomainName( const QString &Name );
+ void setApplicationVersion( const QString &version );
+ void setUseSingleDes( bool useSingleDes );
+ void setLocalPort( int port );
+ void setRemotePort( int port );
+ void setUseIkeGroup( bool useIkeGroup );
+ void setUsePerfectForwardSecrety( bool usePerfectForwardSecrety );
+ void setUseNtDomainName( bool useNtDomainName );
+ void setUseApplicationVersion( bool useApplicationVersion );
+ void setUseLocalPort( bool useLocalPort );
+ void setUseRemotePort( bool useRemotePort );
+ void setUseAdvancedSettings( bool useAdvancedSettings );
+ void setUseGlobalIpsecSecret( bool useGlobalIpsecSecret );
+ void setRemoteNetAddr( const QString &RemoteNetAddr );
+ void setRemoteNetMask( const QString &RemoteNetMask );
+ void setPreSharedKey( const QString &PreSharedKey );
+ void setX509Certificate( const QString &x509Certificate );
+ void setCaCertificate( const QString &CaCertificate );
+ void setNetworkDevice( const QString &NetworkDevice );
+ void setCertPath( const QString &CertPath );
+ void setAuthType( AuthenticationType authtype );
+ void setDoPingIP( bool pingIP );
+ void setPingHostIP( const QString &pingHostIP );
+ void setPrivateKeyPass( const QString &PrivateKeyPass );
+ void setPrivateKey( const QString &PrivateKey );
+ void setUseSpecialRemoteID( bool useSpecialRemoteID );
+ void setUseSpecialLocalID( bool useSpecialLocalID );
+ void setSpecialRemoteID( const QString &SpecialRemoteID );
+ void setSpecialLocalID( const QString &SpecialLocalID );
+ void setLocalIDType( const QString &LocalIDType);
+ void setRemoteIDType( const QString &RemoteIDType);
+ void setUseUdp( bool useUdp );
+ void setUseUdpPort( bool useUdpPort);
+ void setUdpPort( int UdpPort );
+ void setUseDnsUpdate(bool useDnsUpdate );
+ void setUseDnsServer(bool useDnsServer );
+ void setDnsServer(const QString &DnsServer );
+ void setRefuse40BitEncryption(bool refuse40BitEncryption );
+ void setRefuse128BitEncryption(bool refuse128BitEncryption );
+ void setAllowStatefulMode(bool allowStatefulMode );
+ void setRequireMppe(bool requireMppe );
+ void setUseNoIpDefault (bool useNoIpDefault );
+ void setDisableMPPEComp (bool disableMPPEComp );
+ void setLocalVirtualIP( const QString &LocalVirtualIP );
+ void setRemoteVirtualIP( const QString &RemoteVirtualIP );
+ void setPreSharedKeyFile( const QString &PreSharedKeyFile );
+ void setExecuteCmdBeforeConnect(bool executeCmdBeforeConnect);
+ void setExecuteCmdAfterConnect(bool executeCmdAfterConnect);
+ void setExecuteCmdBeforeDisconnect(bool executeCmdBeforeDisonnect);
+ void setExecuteCmdAfterDisconnect(bool executeCmdAfterDisonnect);
+ void setCommandBeforeConnect(const QString &CommandBeforeConnect);
+ void setCommandAfterConnect(const QString &CommandAfterConnect);
+ void setCommandBeforeDisconnect(const QString &CommandBeforeDisconnect);
+ void setCommandAfterDisconnect(const QString &CommandAfterDisconnect);
+ void setUseNoBsdComp(bool useNoBsdComp);
+ void setUseNoDeflate(bool useNoDeflate);
+ void setReplaceDefaultRoute(bool setReplaceDefaultRoute);
+ void setUseMtu(bool useMtu);
+ void setUseMru(bool useMru);
+ void setMtu (int Mtu);
+ void setMru (int Mru);
+ void setUseVirtualIP (bool useVirtualIP);
+ void setVirtualIP( const QString &VirtualIP );
+ void setPskIsInFile(bool PskIsInFile );
+ void setUseAdditionalNetworkRoutes( bool useAdditionalNetworkRoutes );
+ void setAdditionalNetworkRoutes( QStringList AdditionalNetworkRoutes );
+ void setUseSpecialServerCertificate(bool useSpecialServerCertificate);
+ void setSpecialServerCertificate(const QString &SpecialServerCertificate);
+ void setHashAlgo(const QString &HashAlgo);
+ void setTunnelDeviceType(const QString &TunnelDeviceType);
+ void setUseUserdefinedPort(bool useUserdefinedPort);
+ void setUserdefinedPort(int UserdefinedPort);
+ void setDescription( const QString &Description );
+ void setNsCertType( const QString &NsCertType );
+ void setUseNsCertType ( bool useNsCertType );
+ void setUseConnectionStatusCheck ( bool useConnectionStatusCheck );
+ void setConnectionStatusCheckSuccessCount ( int connectionStatusCheckSuccessCount );
+ void setConnectionStatusInterval ( int connectionStatusInterval );
+ void setDoReconnectAfterConnectionLost( bool doReconnectAfterConnectionLost );
+ void setDisableLzoCompression( bool disableLzoCompression);
+ void setAuthWithUsernameAndPassword( bool authWithUsernameAndPassword );
+ void setAllowEmptyGroupPassword( bool allowEmptyGroupPassword );
+ void setUseUserdefiniedCipher( bool useUserdefiniedCipher );
+ void setUserdefiniedCipher( QString UserdefiniedCipher );
+ void setUseRedirectGateway( bool useRedirectGateway );
+ void setUseTlsAuth( bool useTlsAuth );
+ void setTlsAuthFile( QString TlsAuthFile );
+ void setUseHttpProxy( bool useHttpProxy );
+ void setHttpProxy( QString HttpProxy );
+ void setHttpProxyPort ( int HttpProxyPort );
+ void setHttpProxyTimeout ( int HttpProxyTimeout );
+ void setDontSaveUsername( bool dontSaveUsername );
+ void setUseModeConfig( bool useModeConfig );
+ void setExchangeMode( QString ExchangeMode );
+ void setUseReconnectDelay( bool useReconnectDelay );
+ void setReconnectDelay( int ReconnectDelay );
+ void setUseTlsRemoteHost( bool useTlsRemoteHost );
+ void setTlsRemoteHost( QString TlsRemoteHost );
+ void setDisableOpportunisticEncryption( bool );
+ void setRightNextHop( QString RightNextHop );
+ void setLeftNextHop( QString LeftNextHop );
+ void setUseMssfix( bool useMssfix );
+ void setUseFragment( bool useFragment);
+ void setMssfix( int Mssfix );
+ void setFragment( int Fragment );
+ void setPeerTimeout( int PeerTimeout );
+ void setDisableCcp( bool disableCcp );
+ void setUseSmartcard( bool useSmartcard );
+ void setUseXauthInteractive( bool useXauthInteractive );
+ void setSavePrivateKeyPassword ( bool savePrivateKeyPassword );
+ void setUseHttpProxyAuth (bool useHttpProxyAuth );
+ void setHttpProxyAuthType(QString HttpProxyAuthType );
+ void setHttpProxyUser(QString HttpProxyUser );
+ void setHttpProxyPass(QString HttpProxyPass );
+ void setUseOnlyCaCertAndUserAuth(bool useOnlyCaCertAndUserAuth );
+ void setUseMailAddressAsIdentifier(bool useMailAddressAsIdentifier );
+ void setUseRightNextHop(bool useRightNextHop);
+ void setUseLeftNextHop (bool useLeftNextHop);
+ void setPkcs11Providers(QString Pkcs11Providers);
+ void setPkcs11SlotType(QString Pkcs11SlotType);
+ void setPkcs11Slot(QString Pkcs11Slot);
+ void setPkcs11IdType(QString Pkcs11IdType);
+ void setPkcs11Id(QString Pkcs11Id);
+ void setPkcs11SignMode(QString Pkcs11SignMode);
+ void setUsePkcs11Providers(bool usePkcs11Providers);
+ void setAllowEmptyPrivateKeyPassword (bool allowEmptyPrivateKeyPassword );
+ void setAllowIpAddressChangeOfPeer( bool allowIpAddressChangeOfPeer );
+ void setAuthMethod( QString AuthMethod );
+ void setCommandAfterConnectDelayTime( int CommandAfterConnectDelayTime );
+ void setUseSearchDomainInResolvConf( bool useSearchDomainInResolvConf );
+ void setUseDomainInResolvConf( bool useDomainInResolvConf );
+ void setSearchDomainInResolvConf(QString SearchDomainInResolvConf );
+ void setDomainInResolvConf(QString DomainInResolvConf );
+ void setAuthenticationDirection(QString AuthenticationDirection );
+ void setCiscoNatMode(QString CiscoNatMode );
+ void setIpsecEsp(QString IpsecEsp);
+ void setIpsecIke(QString IpsecIke);
+ void setVtunProfile(QString VtunProfile);
+ void setDisableDataEncryption(bool disableDataEncryption);
+ void setUseAuthenticationAlgorithm(bool useAuthenticationAlgorithm);
+ void setFixPathMtuDiscoveryProblem( bool fixPathMtuDiscoveryProblem);
+ void setUseRemoteNetwork(bool useRemoteNetwork);
+ void setIpsecVpnMode(QString IpsecVpnMode);
+ void setDisableHeaderCompression(bool disableHeaderCompression);
+ void setDisableMagicNumberNegotiation(bool disableMagicNumberNegotiation);
+ void setDisableIpx(bool disableIpx);
+ void setDisableProtocolFieldCompression(bool disableProtocolFieldCompression);
+ void setDisableAdressControlCompression(bool disableAdressControlCompression);
+ void setUseCustomIke(bool useCustomIke );
+ void setUseCustomEsp(bool useCustomEsp);
+ void setVerifyCaCert(bool verifyCaCert);
+ void setUseDpdIdleTimeout(bool useDpdIdleTimeout);
+ void setDpdIdleTimeout(int DpdIdleTimeout);
+ void setHideGroupPasswordInAccountDataDialog(bool hideGroupPasswordInAccountDataDialog);
+ void setMaxConnectTries(int MaxConnectTries);
+ void setL2tpDaemon(L2tpDaemonType L2tpDaemon );
+ void setUseLeftSourceIp(bool useLeftSourceIp);
+ void setUseRightSourceIp(bool useLeftRightIp);
+ void setLeftSourceIp(QString LeftSourceIp);
+ void setRightSourceIp(QString RightSourceIp);
+ void setUseVirtualSubnetworks(bool useVirtualSubnetworks);
+ void setVirtualSubnetworks(QString VirtualSubnetworks);
+ void setDisablePushFromServer( bool disablePushFromServer);
+ void setDisableBind( bool disableBind );
+ void setUseRenegSec(bool useRenegSec);
+ void setRenegSec(int RenegSec);
+ void setUseTunnelPing(bool useTunnelPing);
+ void setTunnelPing(int TunnelPing);
+ void setUseTunnelPingRestart(bool useTunnelPingRestart);
+ void setTunnelPingRestart(int TunnelPingRestart);
+ void setRequireEap(bool requireEap);
+ void setUseSshConfigRemoteScript(bool useSshConfigRemoteScript);
+ void setSshConfigRemoteScript( QString SshConfigRemoteScript);
+ void setAskUserPasswordOnEachConnect ( bool askUserPasswordOnEachConnect );
+ void setUseCiscoCertStore(bool useCiscoCertStore);
+ void setUseNat(bool useNat);
+
+protected:
+ QString Name; //< Name of the profile
+ QString Gateway; //< IP/DNS name of the gateway
+ QString ID; //< ID of remote gateway
+ QString Username; //< Username (cisco)
+ QString UserPassword; //< User password (cisco)
+ QString IkeGroup; //< DH group for PFS (cisco,racoon)
+ QString PerfectForwardSecrecy; //< Type of PFS (cisco, racoon)
+ QString EncryptionAlgorithm; // phase 2 (ipsec)
+ QString AuthenticationAlgorithm; // phase 2 (ipsec)
+ QString NtDomainName; //< NT domain name for authentication (cisco/pptp)
+ QString ApplicationVersion; //< userdefined application version (cisco)
+ QString RemoteNetAddr; //< Remote network addr of VPN
+ QString RemoteNetMask; //< Remote network mask of VPN
+ QString PreSharedKey; //< Pre shared key (freeswan/racoon)
+ QString x509Certificate; //< Path to X.509 certificate file
+ QString CaCertificate; //< Path to CA certificate file
+ QString NetworkDevice; //< Network device
+ QString PrivateKeyPass; //< Password for private key
+ QString PrivateKey; //< Path to private key file
+ QString CertPath; //< Global certificate path
+ QString AuthType; //< Authentication type (cert/psk)
+ QString pingHostIP; //< IP of the host which should be pinged
+ QString SpecialRemoteID; //< userdefined ID of remote gateway
+ QString SpecialLocalID; //< userdefined ID of remote gateway
+ QString LocalIDType; //< type of the local ID for racoon
+ QString RemoteIDType; //< type of the remote ID for racoon
+ QString LocalVirtualIP; //< Local virtual IP for tunnel (openvpn)
+ QString RemoteVirtualIP; //< Remote virtual IP for tunnel (openvpn)
+ QString PreSharedKeyFile; //< for openvpn
+ QString HashAlgo; // Hash algorithm for racoon
+ QString UseUserdefiniedCipher; //< Cipher for OpenVPN
+ QString DnsServer; //< userdefined DNS server for pptp
+ QString SearchDomainInResolvConf;
+ QString DomainInResolvConf;
+ QString CommandBeforeConnect;
+ QString CommandAfterConnect;
+ QString CommandBeforeDisconnect;
+ QString CommandAfterDisconnect;
+ QString Description; //< Description of the profile
+ QString SpecialServerCertificate;
+ QString VirtualIP; //< Virtual IP for freeswan/racoon
+ QString TunnelDeviceType; //< Type of tunnel device which should be used e.g. tun or tap for openvpn
+ QString NsCertType; //< openvpn
+ QString UserdefiniedCipher; //< Ciphers for OpenVPN
+ QString TlsAuthFile;
+ QString HttpProxy;
+ QString ExchangeMode; //< IKE exchange mode
+ QString TlsRemoteHost;
+ QString RightNextHop; // freeswan
+ QString LeftNextHop; // freeswan
+ QString HttpProxyAuthType;
+ QString HttpProxyUser;
+ QString HttpProxyPass;
+ QString Pkcs11Providers;
+ QString Pkcs11SlotType;
+ QString Pkcs11Slot;
+ QString Pkcs11IdType;
+ QString Pkcs11Id;
+ QString Pkcs11SignMode;
+ QString AuthMethod; //< authorization method for pptp (chap/pap)
+ QString AuthenticationDirection; //< openvpn key and tls-auth direction (none,0,1)
+ QString CiscoNatMode;
+ QString IpsecEsp; // IPsec ESP mode
+ QString IpsecIke; //< IPsec IKE mode
+ QString VtunProfile;
+ QString IpsecVpnMode; //< IPSec tunnel type (transport | tunnel)
+ QString LeftSourceIp;
+ QString RightSourceIp;
+ QString VirtualSubnetworks;
+ QString SshConfigRemoteScript;
+
+ QStringList AdditionalNetworkRoutes;
+
+ bool saveUserPassword; //< True if the user password should be stored (cisco)
+ bool savePsk; //< True if the PSK should be stored
+ bool useAdvancedSettings; //< True if advanced settings should be used (cisco)
+ bool useIkeGroup; //< True if userdefined IKE group should be used
+ bool usePerfectForwardSecrety; //< True if userdefined PFS should be used
+ bool useNtDomainName; //< True if NT domain name should eb used for authentication
+ bool useApplicationVersion; //< True if userdefined application version should be used
+ bool useLocalPort; //< True if userdefined local port should be used
+ bool useRemotePort; //< True if userdefined remote port should be used
+ bool useSingleDes; //< True if DES instead of 3DES should be used
+ bool useGlobalIpsecSecret; //< True if global group password from /etc/vpnc.conf should be used
+ bool doPingIP; //< True if pingHostIP should be pinged after connection is established
+ bool useSpecialRemoteID; //< True if userdefined ID of remote gateway instead of certificate issuer should be used
+ bool useSpecialLocalID; //< True if userdefined ID of local instead of certificate client should be used
+ bool useUdp; //< True if NAT-T should be used
+ bool useUdpPort; //< True if userdefined UDP port should be used
+ bool useDnsUpdate; //< False if we don't update resolv.conf
+ bool useDnsServer; //< True if userdefined DNS server should be used
+ bool refuse40BitEncryption; //< True if 40 bit encryption is refused (pptp)
+ bool refuse128BitEncryption; //< True if 128 bit encryption is refused (pptp)
+ bool allowStatefulMode;
+ bool requireMppe; //< True if MPPE is required (pptp)
+ bool useNoIpDefault;
+ bool disableMPPEComp;
+ bool executeCmdBeforeConnect;
+ bool executeCmdAfterConnect;
+ bool executeCmdBeforeDisconnect;
+ bool executeCmdAfterDisconnect;
+ bool useNoBsdComp;
+ bool useNoDeflate;
+ bool replaceDefaultRoute; //< for PPTP
+ bool useMtu;
+ bool useMru;
+ bool useVirtualIP; //< freeswan/racoon
+ bool PskIsInFile; //< Read PSK from file
+ bool useAdditionalNetworkRoutes;
+ bool useSpecialServerCertificate;
+ bool useUserdefinedPort;
+ bool useNsCertType; // <openvpn
+ bool useConnectionStatusCheck; //< if true it checks if the gateway is alive within a given time
+ bool doReconnectAfterConnectionLost;
+ bool disableLzoCompression;
+ bool authWithUsernameAndPassword; //< openvpn, xauth
+ bool allowEmptyGroupPassword; //< allows empty group password for vpnc
+ bool useUserdefiniedCipher;
+ bool useRedirectGateway;//< redirect gateway for openvpn
+ bool useTlsAuth; //< Add an additional layer of HMAC authentication on top of the TLS control channel to protect against DoS attacks (openvpn)
+ bool useHttpProxy;
+ bool dontSaveUsername;
+ bool useModeConfig;
+ bool useReconnectDelay;
+ bool useTlsRemoteHost;
+ bool disableOpportunisticEncryption;
+ bool useMssfix;
+ bool useFragment;
+ bool disableCcp;
+ bool useSmartcard;
+ bool useXauthInteractive;
+ bool savePrivateKeyPassword;
+ bool useHttpProxyAuth;
+ bool useOnlyCaCertAndUserAuth; //< use only a CA certificate and authentication with username and password (openvpn)
+ bool useMailAddressAsIdentifier; //< x509 cert
+ bool useRightNextHop;
+ bool useLeftNextHop;
+ bool usePkcs11Providers;
+ bool allowEmptyPrivateKeyPassword;
+ bool allowIpAddressChangeOfPeer;
+ bool useSearchDomainInResolvConf;
+ bool useDomainInResolvConf;
+ bool disableDataEncryption;
+ bool useAuthenticationAlgorithm;
+ bool fixPathMtuDiscoveryProblem; //< see http://pptpclient.sourceforge.net/howto-diagnosis.phtml#connections_freeze
+ bool useRemoteNetwork; //< specify a remote network
+ bool disableHeaderCompression; //< Disable Van Jacobson style TCP/IP header compression in both the transmit and the receive direction.
+ bool disableMagicNumberNegotiation; //< Disable magic number negotiation. With this option, pppd cannot detect a looped-back line. This option should only be needed if the peer is buggy.
+ bool disableIpx; //< Disable the IPXCP and IPX protocols.
+ bool disableProtocolFieldCompression; //< Disable protocol field compression negotiation in both the receive and the transmit direction.
+ bool disableAdressControlCompression; //< Disable Address/Control compression in both directions (send and receive).
+ bool useCustomIke;
+ bool useCustomEsp;
+ bool verifyCaCert; //< verify ca cert of remote host on racoon
+ bool useDpdIdleTimeout; //< dead peer detection idle timeout (vpnc)
+ bool hideGroupPasswordInAccountDataDialog;
+ bool useLeftSourceIp;
+ bool useRightSourceIp;
+ bool useVirtualSubnetworks;
+ bool disablePushFromServer; //< openvpn, no pull mode
+ bool disableBind; //< Do not bind to local address and port. The IP stack will allocate a dynamic port for returning packets. Since the value of the dynamic port could not be known in advance by a peer, this option is only suitable for peers which will be initiating connections by using the --remote option.
+ bool useRenegSec;
+ bool useTunnelPing;
+ bool useTunnelPingRestart;
+ bool requireEap;
+ bool useSshConfigRemoteScript;
+ bool askUserPasswordOnEachConnect; //< ask for user password on each connect
+ bool useCiscoCertStore;
+ bool useNat;
+ int Mtu;
+ int Mru;
+ int UdpPort; //< Port number of UDP port
+ int LocalPort; //< userdefined local port
+ int RemotePort; //< userdefined remote port
+ int UserdefinedPort;
+ int connectionStatusCheckSuccessCount; //< in which count a check must be successful
+ int connectionStatusInterval; //< interval which is used for check
+ int HttpProxyPort;
+ int HttpProxyTimeout;
+ int ReconnectDelay;
+ int MaxConnectTries;
+ int Mssfix;
+ int Fragment;
+ int PeerTimeout; // timeout given from peer (cisco for example gives that)
+ int CommandAfterConnectDelayTime; //< time which is wait after connect before the cmd after connect should be executed
+ int DpdIdleTimeout;
+ int RenegSec;
+ int TunnelPing;
+ int TunnelPingRestart;
+
+public:
+ ConnectionType connectiontype; //< Type of the connection (cisco, freeswan, racoon, etc.)
+ AuthenticationType authtype; //< Type of authentication (cert, psk)
+ L2tpDaemonType L2tpDaemon;
+
+};
+
+#endif