X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Fapps%2Fsigner.cpp;h=6b49241fc6747a3b658a1b915562d2d6cf3340f4;hb=bcc67d8ce710641222a9ec2d726fdbda42a81e45;hp=b955943452cf93bd31c36529d1d43cf33204a29c;hpb=d92d96bebe9ad5b4f17e4aef580f7dfd8d34d58b;p=cassiopeia.git diff --git a/src/apps/signer.cpp b/src/apps/signer.cpp index b955943..6b49241 100644 --- a/src/apps/signer.cpp +++ b/src/apps/signer.cpp @@ -1,3 +1,4 @@ + #include #include #include @@ -49,7 +50,7 @@ int main( int argc, const char* argv[] ) try { std::shared_ptr conn = openSerial( serialPath ); std::shared_ptr slip1( BIO_new( toBio() ), BIO_free ); - static_cast( slip1->ptr )->setTarget( std::shared_ptr( new OpensslBIOWrapper( conn ) ) ); + static_cast( slip1->ptr )->setTarget( std::shared_ptr( new OpensslBIOWrapper( conn ) ), true ); DefaultRecordHandler* dh = new DefaultRecordHandler( std::shared_ptr( new SimpleOpensslSigner( ) ), slip1 ); @@ -59,19 +60,25 @@ int main( int argc, const char* argv[] ) try { dh->handle(); //} catch( const std::exception &ch ) { //std::cout << "Real exception: " << typeid(ch).name() << ", " << ch.what() << std::endl; - } catch( const std::string& ch ) { - logger::error( "Exception: ", ch ); - } catch( char const* ch ) { - logger::error( "Exception: ", ch ); + } catch( const std::exception& e ) { + logger::error( "Exception: ", e.what() ); } } return -1; } catch( std::exception& e ) { - logger::fatalf( "Fatal Error: %s!\n", e.what() ); + try { + logger::fatalf( "Fatal Error: %s!\n", e.what() ); + }catch( std::exception &e){ + printf( "Fatal Error (+logger failed): %s!\n", e.what() ); + } return -1; } catch( ... ) { - logger::fatal( "Fatal Error: Unknown Exception!\n" ); + try{ + logger::fatal( "Fatal Error: Unknown Exception!\n" ); + }catch( std::exception &e){ + printf( "Fatal Error (+ logger failed): %s!\n", e.what() ); + } return -1; }