mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-10-30 02:02:36 +00:00
Signed-off-by: stephb9959 <stephane.bourque@gmail.com>
This commit is contained in:
@@ -29,43 +29,44 @@ namespace OpenWifi {
|
|||||||
if(Endpoint.Type=="orion") {
|
if(Endpoint.Type=="orion") {
|
||||||
PoolEntry.set("radsecPoolType","orion");
|
PoolEntry.set("radsecPoolType","orion");
|
||||||
auto Servers = OpenRoaming_Orion()->GetServers();
|
auto Servers = OpenRoaming_Orion()->GetServers();
|
||||||
Poco::JSON::Object ServerDetails;
|
Poco::JSON::Object AuthConfig;
|
||||||
ServerDetails.set("methodParameters", Poco::JSON::Array() );
|
AuthConfig.set("methodParameters", Poco::JSON::Array() );
|
||||||
ServerDetails.set("monitor", false );
|
AuthConfig.set("monitor", false );
|
||||||
ServerDetails.set("monitorMethod", "none" );
|
AuthConfig.set("monitorMethod", "none" );
|
||||||
ServerDetails.set("strategy","random");
|
AuthConfig.set("strategy","random");
|
||||||
Poco::JSON::Array ServerArray;
|
Poco::JSON::Array ServerArray;
|
||||||
ProvObjects::GooglOrionAccountInfo OA;
|
ProvObjects::GooglOrionAccountInfo OA;
|
||||||
StorageService()->OrionAccountsDB().GetRecord("id",Endpoint.RadsecServers[0].UseOpenRoamingAccount,OA);
|
StorageService()->OrionAccountsDB().GetRecord("id",Endpoint.RadsecServers[0].UseOpenRoamingAccount,OA);
|
||||||
int i=1;
|
int i=1;
|
||||||
for(const auto &Server:Servers) {
|
for(const auto &Server:Servers) {
|
||||||
Poco::JSON::Object AuthConfig;
|
Poco::JSON::Object InnerServer;
|
||||||
AuthConfig.set("allowSelfSigned", false);
|
InnerServer.set("allowSelfSigned", false);
|
||||||
AuthConfig.set("ignore", false);
|
InnerServer.set("ignore", false);
|
||||||
AuthConfig.set("name", fmt::format("Server {}",i));
|
InnerServer.set("name", fmt::format("Server {}",i));
|
||||||
AuthConfig.set("ip", Server.Hostname);
|
InnerServer.set("ip", Server.Hostname);
|
||||||
AuthConfig.set("radsecPort", Server.Port);
|
InnerServer.set("radsecPort", Server.Port);
|
||||||
AuthConfig.set("radsecCert", Utils::base64encode((const u_char *)OA.certificate.c_str(),OA.certificate.size()));
|
InnerServer.set("radsecCert", Utils::base64encode((const u_char *)OA.certificate.c_str(),OA.certificate.size()));
|
||||||
AuthConfig.set("radsecKey", Utils::base64encode((const u_char *)OA.privateKey.c_str(),OA.privateKey.size()));
|
InnerServer.set("radsecKey", Utils::base64encode((const u_char *)OA.privateKey.c_str(),OA.privateKey.size()));
|
||||||
Poco::JSON::Array CaCerts;
|
Poco::JSON::Array CaCerts;
|
||||||
for(const auto &cert:OA.cacerts) {
|
for(const auto &cert:OA.cacerts) {
|
||||||
CaCerts.add(Utils::base64encode((const u_char *)cert.c_str(),cert.size()));
|
CaCerts.add(Utils::base64encode((const u_char *)cert.c_str(),cert.size()));
|
||||||
}
|
}
|
||||||
AuthConfig.set("radsecCacerts", CaCerts);
|
InnerServer.set("radsecCacerts", CaCerts);
|
||||||
AuthConfig.set("radsecSecret","radsec");
|
InnerServer.set("radsecSecret","radsec");
|
||||||
i++;
|
i++;
|
||||||
ServerArray.add(AuthConfig);
|
ServerArray.add(InnerServer);
|
||||||
}
|
}
|
||||||
ServerDetails.set("servers",ServerArray);
|
AuthConfig.set("servers",ServerArray);
|
||||||
RadiusPools.add(ServerDetails);
|
PoolEntry.set("authConfig", AuthConfig);
|
||||||
|
RadiusPools.add(PoolEntry);
|
||||||
} else if(Endpoint.Type=="globalreach") {
|
} else if(Endpoint.Type=="globalreach") {
|
||||||
PoolEntry.set("radsecPoolType","globalreach");
|
PoolEntry.set("radsecPoolType","globalreach");
|
||||||
auto Servers = OpenRoaming_GlobalReach()->GetServers();
|
auto Servers = OpenRoaming_GlobalReach()->GetServers();
|
||||||
Poco::JSON::Object ServerDetails;
|
Poco::JSON::Object AuthConfig;
|
||||||
ServerDetails.set("methodParameters", Poco::JSON::Array() );
|
AuthConfig.set("methodParameters", Poco::JSON::Array() );
|
||||||
ServerDetails.set("monitor", false );
|
AuthConfig.set("monitor", false );
|
||||||
ServerDetails.set("monitorMethod", "none" );
|
AuthConfig.set("monitorMethod", "none" );
|
||||||
ServerDetails.set("strategy","random");
|
AuthConfig.set("strategy","random");
|
||||||
Poco::JSON::Array ServerArray;
|
Poco::JSON::Array ServerArray;
|
||||||
ProvObjects::GLBLRCertificateInfo GRCertificate;
|
ProvObjects::GLBLRCertificateInfo GRCertificate;
|
||||||
ProvObjects::GLBLRAccountInfo GRAccountInfo;
|
ProvObjects::GLBLRAccountInfo GRAccountInfo;
|
||||||
@@ -73,25 +74,26 @@ namespace OpenWifi {
|
|||||||
StorageService()->GLBLRAccountInfoDB().GetRecord("id",GRCertificate.accountId,GRAccountInfo);
|
StorageService()->GLBLRAccountInfoDB().GetRecord("id",GRCertificate.accountId,GRAccountInfo);
|
||||||
int i=1;
|
int i=1;
|
||||||
for(const auto &Server:Servers) {
|
for(const auto &Server:Servers) {
|
||||||
Poco::JSON::Object AuthConfig;
|
Poco::JSON::Object InnerServer;
|
||||||
AuthConfig.set("allowSelfSigned", false);
|
InnerServer.set("allowSelfSigned", false);
|
||||||
AuthConfig.set("ignore", false);
|
InnerServer.set("ignore", false);
|
||||||
AuthConfig.set("name", fmt::format("Server {}",i));
|
InnerServer.set("name", fmt::format("Server {}",i));
|
||||||
AuthConfig.set("ip", Server.Hostname);
|
InnerServer.set("ip", Server.Hostname);
|
||||||
AuthConfig.set("radsecPort", Server.Port);
|
InnerServer.set("radsecPort", Server.Port);
|
||||||
AuthConfig.set("radsecCert", Utils::base64encode((const u_char *)GRCertificate.certificate.c_str(),GRCertificate.certificate.size()));
|
InnerServer.set("radsecCert", Utils::base64encode((const u_char *)GRCertificate.certificate.c_str(),GRCertificate.certificate.size()));
|
||||||
AuthConfig.set("radsecKey", Utils::base64encode((const u_char *)GRAccountInfo.CSRPrivateKey.c_str(),GRAccountInfo.CSRPrivateKey.size()));
|
InnerServer.set("radsecKey", Utils::base64encode((const u_char *)GRAccountInfo.CSRPrivateKey.c_str(),GRAccountInfo.CSRPrivateKey.size()));
|
||||||
Poco::JSON::Array CaCerts;
|
Poco::JSON::Array CaCerts;
|
||||||
for(const auto &cert:GRCertificate.certificateChain) {
|
for(const auto &cert:GRCertificate.certificateChain) {
|
||||||
CaCerts.add(Utils::base64encode((const u_char *)cert.c_str(),cert.size()));
|
CaCerts.add(Utils::base64encode((const u_char *)cert.c_str(),cert.size()));
|
||||||
}
|
}
|
||||||
AuthConfig.set("radsecCacerts", CaCerts);
|
InnerServer.set("radsecCacerts", CaCerts);
|
||||||
AuthConfig.set("radsecSecret","radsec");
|
InnerServer.set("radsecSecret","radsec");
|
||||||
i++;
|
i++;
|
||||||
ServerArray.add(AuthConfig);
|
ServerArray.add(InnerServer);
|
||||||
}
|
}
|
||||||
ServerDetails.set("servers",ServerArray);
|
AuthConfig.set("servers",ServerArray);
|
||||||
RadiusPools.add(ServerDetails);
|
PoolEntry.set("authConfig", AuthConfig);
|
||||||
|
RadiusPools.add(PoolEntry);
|
||||||
} else if(Endpoint.Type=="radius") {
|
} else if(Endpoint.Type=="radius") {
|
||||||
PoolEntry.set("radsecPoolType","generic");
|
PoolEntry.set("radsecPoolType","generic");
|
||||||
auto Servers = OpenRoaming_GlobalReach()->GetServers();
|
auto Servers = OpenRoaming_GlobalReach()->GetServers();
|
||||||
|
|||||||
Reference in New Issue
Block a user