X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fmain.cpp;h=072547de31f39f8616b5e4b29440fdfb9462886a;hb=2c79061a72b54efdcac10b6beca62bf53f7383c8;hp=cf4f383d843e396b1850e87e2a2aeccc05a9eea9;hpb=5977614ee0582c67737713b1466bc726ec700bc0;p=cassiopeia.git diff --git a/src/main.cpp b/src/main.cpp index cf4f383..072547d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,6 +8,7 @@ #include "database.h" #include "mysql.h" #include "simpleOpensslSigner.h" +#include "util.h" #ifdef NO_DAEMON #define DAEMON false @@ -27,14 +28,13 @@ std::string writeBackFile( uint32_t serial, std::string cert ) { filename += "/" + std::to_string( serial / 1000 ); mkdir( filename.c_str(), 0755 ); filename += "/" + std::to_string( serial ) + ".crt"; - std::ofstream file; - file.open( filename.c_str() ); - file << cert.c_str(); - file.close(); + writeFile( filename, cert ); std::cout << "wrote to " << filename << std::endl; return filename; } +int handlermain( int argc, const char* argv[] ); + int main( int argc, const char* argv[] ) { ( void ) argc; ( void ) argv; @@ -45,10 +45,11 @@ int main( int argc, const char* argv[] ) { } std::ifstream config; - if(DAEMON){ - config.open( "/etc/cacert/cassiopeia/cassiopeia.conf" ); - }else{ - config.open( "config.txt" ); + + if( DAEMON ) { + config.open( "/etc/cacert/cassiopeia/cassiopeia.conf" ); + } else { + config.open( "config.txt" ); } if( !config.is_open() ) { @@ -120,6 +121,7 @@ int main( int argc, const char* argv[] ) { } config.close(); + return handlermain( argc, argv ); std::shared_ptr jp( new MySQLJobProvider( sqlHost, sqlUser, sqlPass, sqlDB ) ); std::shared_ptr sign( new SimpleOpensslSigner() ); @@ -143,8 +145,7 @@ int main( int argc, const char* argv[] ) { } std::cout << "Found a CSR at '" << cert->csr << "' signing" << std::endl; - std::ifstream t( cert->csr ); - cert->csr_content = std::string( std::istreambuf_iterator( t ), std::istreambuf_iterator() ); + cert->csr_content = readFile( cert->csr ); std::shared_ptr res = sign->sign( cert ); std::string fn = writeBackFile( atoi( job->target.c_str() ), res->certificate );