Changed dialogs and module UI to get mTLS needed params

This commit is contained in:
2026-03-24 16:56:19 -03:00
parent 778ac0ac54
commit 876cf900c3
2 changed files with 262 additions and 30 deletions

View File

@@ -1,12 +1,13 @@
class CfgVehicles {
class Logic;
class Module_F : Logic
{
class AttributesBase
class Module_F : Logic
{
class Edit;
class ModuleDescription;
};
class AttributesBase
{
class Edit;
class Combo;
class ModuleDescription;
};
class ModuleDescription;
};
@@ -22,10 +23,10 @@ class CfgVehicles {
scopeCurator = 2;
};
class GVAR(coreModule): GVAR(moduleBase) {
scope = 2;
scopeCurator = 0;
displayname = "CoT Router";
class GVAR(coreModule): GVAR(moduleBase) {
scope = 2;
scopeCurator = 0;
displayname = "CoT Router";
icon = "\a3\Modules_F_Curator\Data\iconRadio_ca.paa";
category = QEGVAR(main,moduleCategory);
function = QFUNC(3denCoreModuleConfig);
@@ -40,23 +41,101 @@ class CfgVehicles {
canSetAreaShape = 0;
canSetAreaHeight = 0;
class Attributes: AttributesBase {
class GVAR(moduleInstanceAddress): Edit {
property = QGVAR(moduleInstanceAddress);
displayname = "TAK Server Address";
class Attributes: AttributesBase {
class GVAR(moduleTransportMode): Combo {
property = QGVAR(moduleTransportMode);
displayname = "Transport Mode";
tooltip = "Choose how ArmaTAK connects to the TAK or IronTAK server.";
typeName = "STRING";
defaultValue = "'tcp'";
class Values {
class tcp {
name = "TCP 8088 (Unauthenticated)";
value = "tcp";
default = 1;
};
class manual_mtls {
name = "mTLS (Manual Certificate)";
value = "manual_mtls";
};
class enroll_mtls {
name = "mTLS (GET config + POST signClient)";
value = "enroll_mtls";
};
};
};
class GVAR(moduleInstanceAddress): Edit {
property = QGVAR(moduleInstanceAddress);
displayname = "TAK Server Address";
tooltip = "TAK Server Instance Address";
typeName = "STRING";
defaultValue = "localhost";
};
class GVAR(moduleInstancePort): Edit {
property = QGVAR(moduleInstancePort);
displayname = "TAK Server TCP Port";
tooltip = "TAK Server instance Port for TCP connection";
typeName = "NUMBER";
defaultValue = "8088";
class GVAR(moduleInstancePort): Edit {
property = QGVAR(moduleInstancePort);
displayname = "TAK Server TCP Port";
tooltip = "TAK Server instance Port for TCP connection";
typeName = "NUMBER";
defaultValue = "8088";
};
class GVAR(moduleTlsServerName): Edit {
property = QGVAR(moduleTlsServerName);
displayname = "TLS Server Name";
tooltip = "Optional hostname used for TLS certificate validation. Leave blank to reuse the address host.";
typeName = "STRING";
defaultValue = "";
};
class GVAR(moduleTlsCaCertPath): Edit {
property = QGVAR(moduleTlsCaCertPath);
displayname = "TLS CA Cert Path";
tooltip = "PEM path for the CA that signs the IronTAK or TAK server certificate.";
typeName = "STRING";
defaultValue = "";
};
class GVAR(moduleTlsClientCertPath): Edit {
property = QGVAR(moduleTlsClientCertPath);
displayname = "TLS Client Cert Path";
tooltip = "PEM path for the client certificate used by this ArmaTAK session.";
typeName = "STRING";
defaultValue = "";
};
class GVAR(moduleTlsClientKeyPath): Edit {
property = QGVAR(moduleTlsClientKeyPath);
displayname = "TLS Client Key Path";
tooltip = "PEM path for the private key that matches the client certificate.";
typeName = "STRING";
defaultValue = "";
};
class GVAR(moduleEnrollmentPort): Edit {
property = QGVAR(moduleEnrollmentPort);
displayname = "Enrollment HTTPS Port";
tooltip = "Port used for GET /Marti/api/tls/config and POST /Marti/api/tls/signClient/v2.";
typeName = "NUMBER";
defaultValue = "8446";
};
class GVAR(moduleEnrollmentUsername): Edit {
property = QGVAR(moduleEnrollmentUsername);
displayname = "Enrollment Username";
tooltip = "Socket enrollment username for Basic Auth.";
typeName = "STRING";
defaultValue = "";
};
class GVAR(moduleEnrollmentPassword): Edit {
property = QGVAR(moduleEnrollmentPassword);
displayname = "Enrollment Password";
tooltip = "Socket enrollment password for Basic Auth.";
typeName = "STRING";
defaultValue = "";
};
class GVAR(moduleEnrollmentClientUid): Edit {
property = QGVAR(moduleEnrollmentClientUid);
displayname = "Enrollment Client UID";
tooltip = "Optional device identifier sent as clientUid. Leave blank to auto-generate.";
typeName = "STRING";
defaultValue = "";
};
class ModuleDescription: ModuleDescription {};
};
class ModuleDescription: ModuleDescription {};
};
class ModuleDescription: ModuleDescription {
description = "Generate the initial ARMATAK configuration, syncronizing all players to the TAK server instance";