mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-22 02:01:08 +07:00
40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
|
|
#ifndef IKEV2_CONFIGURATOR_H
|
||
|
|
#define IKEV2_CONFIGURATOR_H
|
||
|
|
|
||
|
|
#include <QObject>
|
||
|
|
#include <QProcessEnvironment>
|
||
|
|
|
||
|
|
#include "configuratorBase.h"
|
||
|
|
#include "core/utils/errorCodes.h"
|
||
|
|
#include "core/utils/routeModes.h"
|
||
|
|
#include "core/utils/commonStructs.h"
|
||
|
|
|
||
|
|
class Ikev2Configurator : public ConfiguratorBase
|
||
|
|
{
|
||
|
|
Q_OBJECT
|
||
|
|
public:
|
||
|
|
Ikev2Configurator(SshSession* sshSession, QObject *parent = nullptr);
|
||
|
|
|
||
|
|
struct ConnectionData {
|
||
|
|
QByteArray clientCert; // p12 client cert
|
||
|
|
QByteArray caCert; // p12 server cert
|
||
|
|
QString clientId;
|
||
|
|
QString password; // certificate password
|
||
|
|
QString host; // host ip
|
||
|
|
};
|
||
|
|
|
||
|
|
amnezia::ProtocolConfig createConfig(const amnezia::ServerCredentials &credentials, amnezia::DockerContainer container,
|
||
|
|
const amnezia::ContainerConfig &containerConfig,
|
||
|
|
const amnezia::DnsSettings &dnsSettings,
|
||
|
|
amnezia::ErrorCode &errorCode) override;
|
||
|
|
|
||
|
|
QString genIkev2Config(const ConnectionData &connData);
|
||
|
|
QString genMobileConfig(const ConnectionData &connData);
|
||
|
|
QString genStrongSwanConfig(const ConnectionData &connData);
|
||
|
|
|
||
|
|
ConnectionData prepareIkev2Config(const amnezia::ServerCredentials &credentials,
|
||
|
|
amnezia::DockerContainer container, amnezia::ErrorCode &errorCode);
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // IKEV2_CONFIGURATOR_H
|