X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fapps%2Fclient.cpp;h=1793de0027177b6a79e84598d88e92b4a24f02fa;hb=56358cbe81dd0d11267a06133ce227c2c53f10f7;hp=6613c94fd38f24f34a1d2976f063821bf4211c1b;hpb=a14002d5a4531462c0ae6631323dd038e8d9990e;p=cassiopeia.git diff --git a/src/apps/client.cpp b/src/apps/client.cpp index 6613c94..1793de0 100644 --- a/src/apps/client.cpp +++ b/src/apps/client.cpp @@ -4,15 +4,16 @@ #include #include #include +#include -#include "database.h" -#include "mysql.h" -#include "simpleOpensslSigner.h" +#include "db/database.h" +#include "db/mysql.h" +#include "crypto/simpleOpensslSigner.h" +#include "crypto/remoteSigner.h" +#include "crypto/sslUtil.h" #include "util.h" -#include "bios.h" -#include "slipBio.h" -#include "remoteSigner.h" -#include "sslUtil.h" +#include "io/bios.h" +#include "io/slipBio.h" #include "config.h" #ifdef NO_DAEMON @@ -22,9 +23,9 @@ #endif extern std::string keyDir; -extern std::vector profiles; extern std::string sqlHost, sqlUser, sqlPass, sqlDB; extern std::string serialPath; +extern std::unordered_map> CAs; int main( int argc, const char* argv[] ) { ( void ) argc; @@ -140,8 +141,23 @@ int main( int argc, const char* argv[] ) { } catch( std::string c ) { log << "ERROR: " << c << std::endl; } + } else if( job->task == "revoke" ) { + std::cout << "Revoking!" << std::endl; + + for( auto& x : CAs ) { + std::cout << " [" << x.first << ']' << std::endl; + } + + try { + auto data = jp->getRevocationInfo( job ); + sign->revoke( CAs.at( data.second ), data.first ); + jp->finishJob( job ); + } catch( const char* c ) { + std::cout << "Exception: " << c << std::endl; + } } else { log << "Unknown job type" << job->task << std::endl; + jp->failJob( job ); } if( !DAEMON || once ) {