]> WPIA git - cassiopeia.git/commitdiff
upd: clean up valgrind stuff
authorFelix Dörre <felix@dogcraft.de>
Fri, 2 Dec 2016 23:33:53 +0000 (23:33 +0000)
committerFelix Dörre <felix@dogcraft.de>
Fri, 2 Dec 2016 23:33:53 +0000 (23:33 +0000)
src/crypto/CRL.cpp
src/crypto/sslUtil.cpp
src/util.cpp
test/src/bioWrapper.cpp

index f7aa6a5e2417a70af2ff8640f369a637b851ddcc..a26c7862d00d192ba61a9f8cd170f1767f02b508 100644 (file)
@@ -139,13 +139,17 @@ void CRL::setSignature( std::string signature ) {
     ASN1_BIT_STRING *sig = d2i_ASN1_BIT_STRING( NULL, &buffer, signature.size() + data - buffer );
     ASN1_TIME *a1 = d2i_ASN1_TIME( NULL, &buffer, signature.size() + data - buffer );
     ASN1_TIME *a2 = d2i_ASN1_TIME( NULL, &buffer, signature.size() + data - buffer );
+    auto tmp = *palg;
     *palg = *alg;
+    *alg = tmp;
+    auto tmp2 = *psig;
     *psig = *sig;
+    *sig = tmp2;
     X509_CRL_set1_lastUpdate( crl.get(), a1);
     X509_CRL_set1_nextUpdate( crl.get(), a2);
 
-    //X509_ALGOR_free(alg);
-    //ASN1_BIT_STRING_free(sig);
+    X509_ALGOR_free(alg);
+    ASN1_BIT_STRING_free(sig);
     ASN1_TIME_free(a1);
     ASN1_TIME_free(a2);
 }
index 3b63769a6fdee9987e0325edf0578c61db9c9a7f..a3432ea5253c87026814d3eaf1cfa96dc231d858 100644 (file)
@@ -194,7 +194,8 @@ CAConfig::CAConfig( const std::string& name ) : path( "ca/" + name ), name( name
     ca = loadX509FromFile( path + "/ca.crt" );
     caKey = loadPkeyFromFile( path + "/ca.key" );
     ASN1_TIME* tm = X509_get_notBefore( ca.get() );
-    notBefore = std::shared_ptr<ASN1_TIME>( tm, ASN1_TIME_free );
+    auto ca0 = ca;
+    notBefore = std::shared_ptr<ASN1_TIME>( tm, [ca0](auto p){(void)p;} );
     std::size_t pos = name.find("_");
     if (pos == std::string::npos) {
         throw new std::invalid_argument("ca name: " + name + " is malformed.");
index 30f87b77e1569b53bfc396cdbdb56d2676a2e230..870359474b087098887d8c83179412a38c00440e 100644 (file)
@@ -96,6 +96,10 @@ std::pair<bool, time_t> parseDate( const std::string& date ) {
     t.tm_year = std::stoi( date.substr( 0, 4 ) ) - 1900;
     t.tm_mon = std::stoi( date.substr( 5, 2 ) ) - 1;
     t.tm_mday = std::stoi( date.substr( 8, 2 ) );
+    t.tm_wday = 0;   /* Day of the week (0-6, Sunday = 0) */
+    t.tm_yday = 0;   /* Day in the year (0-365, 1 Jan = 0) */
+    t.tm_isdst = 0;  /* Daylight saving time */
+
     setenv( "TZ", "UTC", 1 );
     tzset();
     std::time_t res = mktime( &t );
index aaf3ecc67939fdd740d5124534eb8df8106015bb..1f6d705829de279fbd5c7f58a2580ed5459d8db4 100644 (file)
@@ -40,7 +40,8 @@ const char* OpensslBIO1::getName() {
 BOOST_AUTO_TEST_SUITE( TestBioWrapper )
 
 BOOST_AUTO_TEST_CASE( BasicCalls ) {
-    std::shared_ptr<BIO> n( BIO_new( toBio<OpensslBIO1>() ), BIO_free );
+    std::shared_ptr<BIO_METHOD> m(toBio<OpensslBIO1>(), BIO_meth_free);
+    std::shared_ptr<BIO> n( BIO_new( m.get() ), BIO_free );
     OpensslBIO* o = new OpensslBIOWrapper( n );
     OpensslBIO1* data = ( OpensslBIO1* ) n->ptr;