- if( CAs.find( map->at( "ca" ) ) == CAs.end() ) {
- std::shared_ptr<CAConfig> ca( new CAConfig( map->at( "ca" ) ) );
- CAs.emplace( map->at( "ca" ), ca );
- }
+ std::string cas = map->at( "ca" );
+
+ DIR* dir;
+ struct dirent* ent;
+
+ if( ( dir = opendir( "ca" ) ) != NULL ) {
+ while( ( ent = readdir( dir ) ) != NULL ) {
+ std::string caName = std::string( ent->d_name );
+
+ if( caName.find( cas ) != 0 ) {
+ continue;
+ }
+
+ if( CAs.find( caName ) == CAs.end() ) {
+ std::shared_ptr<CAConfig> ca( new CAConfig( caName ) );
+ CAs.emplace( caName, ca );
+ }