X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Fmain.cpp;h=cf4f383d843e396b1850e87e2a2aeccc05a9eea9;hb=7a72391242e316a16992e0874a118999486afb87;hp=56ff30fd3e8cc8a2670b4832b1297bd141737e8f;hpb=59e3ff1a00dbe5c819ea6f34f86b03b2912b71c5;p=cassiopeia.git diff --git a/src/main.cpp b/src/main.cpp index 56ff30f..cf4f383 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,21 +1,3 @@ -/* - Cassiopeia - CAcert signing module - Copyright (C) 2014 CAcert Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ #include #include @@ -56,8 +38,18 @@ std::string writeBackFile( uint32_t serial, std::string cert ) { int main( int argc, const char* argv[] ) { ( void ) argc; ( void ) argv; + bool once = false; + + if( argc == 2 && std::string( "--once" ) == std::string( argv[1] ) ) { + once = true; + } + std::ifstream config; - config.open( "config.txt" ); + if(DAEMON){ + config.open( "/etc/cacert/cassiopeia/cassiopeia.conf" ); + }else{ + config.open( "config.txt" ); + } if( !config.is_open() ) { std::cerr << "config missing" << std::endl; @@ -159,7 +151,10 @@ int main( int argc, const char* argv[] ) { res->crt_name = fn; jp->writeBack( job, res ); } catch( const char* c ) { - std::cerr << c << std::endl; + std::cerr << "ERROR: " << c << std::endl; + return 2; + } catch( std::string c ) { + std::cerr << "ERROR: " << c << std::endl; return 2; } } else { @@ -170,7 +165,7 @@ int main( int argc, const char* argv[] ) { return 1; } - if( !DAEMON ) { + if( !DAEMON || once ) { return 0; } }