Index: crypt/crypt.cc =================================================================== --- crypt/crypt.cc (revision 6011) +++ crypt/crypt.cc (revision 6988) @@ -34,6 +34,31 @@ using namespace YAPET; +EVP_CIPHER_CTX* +Crypt::create_context() { +#ifdef HAVE_EVP_CIPHER_CTX_INIT + EVP_CIPHER_CTX *context = (EVP_CIPHER_CTX*) std::malloc(sizeof(EVP_CIPHER_CTX)); + EVP_CIPHER_CTX_init(context); + return context; +#elif HAVE_EVP_CIPHER_CTX_NEW + return EVP_CIPHER_CTX_new(); +#else + #error "Neither EVP_CIPHER_CTX_init() nor EVP_CIPHER_CTX_new() available" +#endif +} + +void +Crypt::destroy_context(EVP_CIPHER_CTX *context) { +#ifdef HAVE_EVP_CIPHER_CTX_CLEANUP + EVP_CIPHER_CTX_cleanup(context); + std::free(context); +#elif HAVE_EVP_CIPHER_CTX_FREE + EVP_CIPHER_CTX_free(context); +#else +#error "Neither EVP_CIPHER_CTX_cleanup() nor EVP_CIPHER_CTX_free() available" +#endif +} + /** * Initializes the class with the given key, which is used for * encryption and decryption. @@ -57,25 +82,24 @@ throw YAPETException (_ ("Unable to get cipher") ); // Test if key length is ok - EVP_CIPHER_CTX ctx; - EVP_CIPHER_CTX_init (&ctx); - int retval = EVP_CipherInit_ex (&ctx, cipher, 0, 0, 0, 0); + EVP_CIPHER_CTX* ctx = create_context(); + int retval = EVP_CipherInit_ex (ctx, cipher, 0, 0, 0, 0); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context(ctx); throw YAPETException (_ ("Error initializing cipher") ); } - retval = EVP_CIPHER_CTX_set_key_length (&ctx, key.size() ); + retval = EVP_CIPHER_CTX_set_key_length (ctx, key.size() ); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context(ctx); throw YAPETException (_ ("Error setting the key length") ); } - iv_length = EVP_CIPHER_CTX_iv_length (&ctx); - key_length = EVP_CIPHER_CTX_key_length (&ctx); - EVP_CIPHER_CTX_cleanup (&ctx); + iv_length = EVP_CIPHER_CTX_iv_length (ctx); + key_length = EVP_CIPHER_CTX_key_length (ctx); + destroy_context(ctx); } Crypt::Crypt (const Crypt& c) : cipher (c.cipher), Index: crypt/crypt.h =================================================================== --- crypt/crypt.h (revision 6011) +++ crypt/crypt.h (revision 6988) @@ -100,6 +100,9 @@ */ Key key; + EVP_CIPHER_CTX *create_context(); + void destroy_context(EVP_CIPHER_CTX *context); + public: //! Constructor Crypt (const Key& k) throw (YAPETException); @@ -159,9 +162,8 @@ if (key.ivec_size() != iv_length) throw YAPETException (_ ("IVec length missmatch") ); - EVP_CIPHER_CTX ctx; - EVP_CIPHER_CTX_init (&ctx); - int retval = EVP_EncryptInit_ex (&ctx, + EVP_CIPHER_CTX *ctx=create_context (); + int retval = EVP_EncryptInit_ex (ctx, cipher, 0, key, @@ -168,14 +170,14 @@ key.getIVec() ); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); throw YAPETEncryptionException (_ ("Error initializing encryption engine") ); } - retval = EVP_CIPHER_CTX_set_key_length (&ctx, key.size() ); + retval = EVP_CIPHER_CTX_set_key_length (ctx, key.size() ); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); throw YAPETException (_ ("Error setting the key length") ); } @@ -182,7 +184,7 @@ BDBuffer* encdata = new BDBuffer (data.size() + EVP_MAX_BLOCK_LENGTH); int outlen; - retval = EVP_EncryptUpdate (&ctx, + retval = EVP_EncryptUpdate (ctx, *encdata, &outlen, data, @@ -189,24 +191,24 @@ data.size() ); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); delete encdata; throw YAPETEncryptionException (_ ("Error encrypting data") ); } int tmplen; - retval = EVP_EncryptFinal_ex (&ctx, + retval = EVP_EncryptFinal_ex (ctx, encdata->at (outlen), &tmplen); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); delete encdata; throw YAPETEncryptionException (_ ("Error finalizing encryption") ); } encdata->resize (outlen + tmplen); - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); return encdata; } @@ -237,9 +239,8 @@ if ( ( (unsigned int) key.ivec_size() ) != iv_length) throw YAPETException (_ ("IVec length missmatch") ); - EVP_CIPHER_CTX ctx; - EVP_CIPHER_CTX_init (&ctx); - int retval = EVP_DecryptInit_ex (&ctx, + EVP_CIPHER_CTX* ctx = create_context (); + int retval = EVP_DecryptInit_ex (ctx, cipher, 0, key, @@ -246,20 +247,20 @@ key.getIVec() ); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); throw YAPETEncryptionException (_ ("Error initializing encryption engine") ); } - retval = EVP_CIPHER_CTX_set_key_length (&ctx, key.size() ); + retval = EVP_CIPHER_CTX_set_key_length (ctx, key.size() ); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); throw YAPETException (_ ("Error setting the key length") ); } BDBuffer* decdata = new BDBuffer (data.size() ); int outlen; - retval = EVP_DecryptUpdate (&ctx, + retval = EVP_DecryptUpdate (ctx, *decdata, &outlen, data, @@ -266,24 +267,24 @@ data.size() ); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); delete decdata; throw YAPETEncryptionException (_ ("Error decrypting data") ); } int tmplen; - retval = EVP_DecryptFinal_ex (&ctx, + retval = EVP_DecryptFinal_ex (ctx, decdata->at (outlen), &tmplen); if (retval == 0) { - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); delete decdata; throw YAPETEncryptionException (_ ("Error finalizing decryption") ); } decdata->resize (outlen + tmplen); - EVP_CIPHER_CTX_cleanup (&ctx); + destroy_context (ctx); Record* r = 0; try { r = new Record; Index: crypt/key.cc =================================================================== --- crypt/key.cc (revision 6011) +++ crypt/key.cc (revision 6988) @@ -45,6 +45,29 @@ std::memset (IVec, 0, IVECLENGTH); } +EVP_MD_CTX* +Key::create_context() { +#ifdef HAVE_EVP_MD_CTX_CREATE + return EVP_MD_CTX_create (); +#elif HAVE_EVP_MD_CTX_NEW + return EVP_MD_CTX_new(); +#else +#error "Neither EVP_MD_CTX_create() nor EVP_MD_CTX_new() available" +#endif +} + +void +Key::destroy_context(EVP_MD_CTX *context) { +#ifdef HAVE_EVP_MD_CTX_DESTROY + EVP_MD_CTX_destroy (context); +#elif HAVE_EVP_MD_CTX_FREE + EVP_MD_CTX_free(context); +#else +#error "Neither EVP_MD_CTX_destroy() nor EVP_MD_CTX_free() available" +#endif +} + + /** * Initializes the key and the initialization vector. Make sure you * securely destroy the password provided to this method. @@ -63,39 +86,39 @@ if (md == 0) throw YAPETException (_ ("Run 1: Unable to initialize the EVP_MD structure") ); - EVP_MD_CTX mdctx; - EVP_MD_CTX_init (&mdctx); - int retval = EVP_DigestInit_ex (&mdctx, md, 0); + EVP_MD_CTX *mdctx = create_context(); + int retval = EVP_DigestInit_ex (mdctx, md, 0); + if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); throw YAPETException (_ ("Run 1: Unable to initialize the digest") ); } - retval = EVP_DigestUpdate (&mdctx, password, std::strlen (password) ); + retval = EVP_DigestUpdate (mdctx, password, std::strlen (password) ); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); throw YAPETException (_ ("Run 1: Unable to update the digest") ); } unsigned int tmplen; - retval = EVP_DigestFinal_ex (&mdctx, key, &tmplen); + retval = EVP_DigestFinal_ex (mdctx, key, &tmplen); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 1: Unable to finalize the digest") ); } if (tmplen != SHA1_LEN) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 1: Digest does not have expected length") ); } eff_keylength = tmplen; - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); // // Second run (md5) // @@ -106,39 +129,39 @@ throw YAPETException (_ ("Run 2: Unable to initialize the EVP_MD structure") ); } - EVP_MD_CTX_init (&mdctx); - retval = EVP_DigestInit_ex (&mdctx, md, 0); + mdctx=create_context(); + retval = EVP_DigestInit_ex (mdctx, md, 0); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 2: Unable to initialize the digest") ); } - retval = EVP_DigestUpdate (&mdctx, key, SHA1_LEN); + retval = EVP_DigestUpdate (mdctx, key, SHA1_LEN); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 2: Unable to update the digest") ); } - retval = EVP_DigestFinal_ex (&mdctx, key + SHA1_LEN, &tmplen); + retval = EVP_DigestFinal_ex (mdctx, key + SHA1_LEN, &tmplen); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 2: Unable to finalize the digest") ); } if (tmplen != MD5_LEN) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 2: Digest does not have expected length") ); } eff_keylength += tmplen; - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); // // Third run (ripemd160) // @@ -149,39 +172,39 @@ throw YAPETException (_ ("Run 3: Unable to initialize the EVP_MD structure") ); } - EVP_MD_CTX_init (&mdctx); - retval = EVP_DigestInit_ex (&mdctx, md, 0); + mdctx = create_context(); + retval = EVP_DigestInit_ex (mdctx, md, 0); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 3: Unable to initialize the digest") ); } - retval = EVP_DigestUpdate (&mdctx, key, SHA1_LEN + MD5_LEN); + retval = EVP_DigestUpdate (mdctx, key, SHA1_LEN + MD5_LEN); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 3: Unable to update the digest") ); } - retval = EVP_DigestFinal_ex (&mdctx, key + SHA1_LEN + MD5_LEN, &tmplen); + retval = EVP_DigestFinal_ex (mdctx, key + SHA1_LEN + MD5_LEN, &tmplen); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 3: Unable to finalize the digest") ); } if (tmplen != RIPEMD160_LEN) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("Run 3: Digest does not have expected length") ); } eff_keylength += tmplen; - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); if (eff_keylength != KEYLENGTH) { cleanup(); @@ -205,38 +228,38 @@ throw YAPETException (_ ("IVec: Unable to initialize the EVP_MD structure") ); } - EVP_MD_CTX_init (&mdctx); - retval = EVP_DigestInit_ex (&mdctx, md, 0); + mdctx = create_context(); + retval = EVP_DigestInit_ex (mdctx, md, 0); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("IVec: Unable to initialize the digest") ); } - retval = EVP_DigestUpdate (&mdctx, key, SHA1_LEN + MD5_LEN + RIPEMD160_LEN); + retval = EVP_DigestUpdate (mdctx, key, SHA1_LEN + MD5_LEN + RIPEMD160_LEN); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("IVec: Unable to update the digest") ); } - retval = EVP_DigestFinal_ex (&mdctx, ivec_hash_buf, &tmplen); + retval = EVP_DigestFinal_ex (mdctx, ivec_hash_buf, &tmplen); if (retval == 0) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("IVec: Unable to finalize the digest") ); } if (tmplen != MD5_LEN) { - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); cleanup(); throw YAPETException (_ ("IVec: Digest does not have expected length") ); } - EVP_MD_CTX_cleanup (&mdctx); + destroy_context(mdctx); std::memcpy (IVec, ivec_hash_buf, IVECLENGTH); std::memset (ivec_hash_buf, 0, MD5_LEN); } Index: crypt/key.h =================================================================== --- crypt/key.h (revision 6011) +++ crypt/key.h (revision 6988) @@ -114,6 +114,10 @@ //! Cleanup routine void cleanup(); + EVP_MD_CTX *create_context(); + + void destroy_context(EVP_MD_CTX *context); + public: //! Initializes the key Key (const char* password) throw (YAPETException); Index: po/de.po =================================================================== --- po/de.po (revision 6011) +++ po/de.po (revision 6988) @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: YAPET 1.0\n" "Report-Msgid-Bugs-To: Rafael Ostertag \n" -"POT-Creation-Date: 2014-02-18 18:05+0100\n" +"POT-Creation-Date: 2016-11-09 20:57+0100\n" "PO-Revision-Date: 2013-12-28 19:53+0100\n" "Last-Translator: Rafael Ostertag \n" "Language-Team: German\n" @@ -27,39 +27,39 @@ msgid "Position out of range" msgstr "Position ausserhalb des Bereiches" -#: crypt/crypt.cc:57 +#: crypt/crypt.cc:82 msgid "Unable to get cipher" msgstr "Kann die Verschlüsselung nicht ermitteln" -#: crypt/crypt.cc:66 +#: crypt/crypt.cc:90 msgid "Error initializing cipher" msgstr "Fehler beim Initialisieren der Verschlüsselung" -#: crypt/crypt.cc:73 crypt/crypt.h:179 crypt/crypt.h:257 +#: crypt/crypt.cc:97 crypt/crypt.h:181 crypt/crypt.h:258 msgid "Error setting the key length" msgstr "Kann die Schlüssellänge nicht setzen" -#: crypt/crypt.h:160 crypt/crypt.h:238 +#: crypt/crypt.h:163 crypt/crypt.h:240 msgid "IVec length missmatch" msgstr "IVec Länge falsch" -#: crypt/crypt.h:172 crypt/crypt.h:250 +#: crypt/crypt.h:174 crypt/crypt.h:251 msgid "Error initializing encryption engine" msgstr "Fehler beim Initialisieren der Verschlüsselung" -#: crypt/crypt.h:194 +#: crypt/crypt.h:196 msgid "Error encrypting data" msgstr "Fehler beim Verschlüsseln der Daten" -#: crypt/crypt.h:205 +#: crypt/crypt.h:207 msgid "Error finalizing encryption" msgstr "Fehler beim Abschliessen der Verschlüsselung" -#: crypt/crypt.h:271 +#: crypt/crypt.h:272 msgid "Error decrypting data" msgstr "Fehler beim Entschlüsseln der Daten" -#: crypt/crypt.h:282 +#: crypt/crypt.h:283 msgid "Error finalizing decryption" msgstr "Fehler beim Abschliessen der Entschlüsselung" @@ -127,67 +127,67 @@ msgid "File has been externally modified" msgstr "Datei wurde von ausserhalb verändert" -#: crypt/key.cc:64 +#: crypt/key.cc:87 msgid "Run 1: Unable to initialize the EVP_MD structure" msgstr "Lauf 1: Kann EVP_MD Struktur nicht initialisieren" -#: crypt/key.cc:72 +#: crypt/key.cc:95 msgid "Run 1: Unable to initialize the digest" msgstr "Lauf 1: Kann Digest nicht initialisieren" -#: crypt/key.cc:79 +#: crypt/key.cc:102 msgid "Run 1: Unable to update the digest" msgstr "Lauf 1: Digest kann nicht angepasst werden" -#: crypt/key.cc:88 +#: crypt/key.cc:111 msgid "Run 1: Unable to finalize the digest" msgstr "Lauf 1: Kann Digest nicht abschliessen" -#: crypt/key.cc:94 +#: crypt/key.cc:117 msgid "Run 1: Digest does not have expected length" msgstr "Lauf 1: Digest hat unerwartete Länge" -#: crypt/key.cc:106 +#: crypt/key.cc:129 msgid "Run 2: Unable to initialize the EVP_MD structure" msgstr "Lauf 2: Kann EVP_MD Struktur nicht initialisieren" -#: crypt/key.cc:115 +#: crypt/key.cc:138 msgid "Run 2: Unable to initialize the digest" msgstr "Lauf 2: Kann Digest nicht initialisieren" -#: crypt/key.cc:123 +#: crypt/key.cc:146 msgid "Run 2: Unable to update the digest" msgstr "Lauf 2: Digest kann nicht angepasst werden" -#: crypt/key.cc:131 +#: crypt/key.cc:154 msgid "Run 2: Unable to finalize the digest" msgstr "Lauf 2: Kann Digest nicht abschliessen" -#: crypt/key.cc:137 +#: crypt/key.cc:160 msgid "Run 2: Digest does not have expected length" msgstr "Lauf 2: Digest hat unerwartete Länge" -#: crypt/key.cc:149 +#: crypt/key.cc:172 msgid "Run 3: Unable to initialize the EVP_MD structure" msgstr "Lauf 3: Kann EVP_MD Struktur nicht initialisieren" -#: crypt/key.cc:158 +#: crypt/key.cc:181 msgid "Run 3: Unable to initialize the digest" msgstr "Lauf 3: Kann Digest nicht initialisieren" -#: crypt/key.cc:166 +#: crypt/key.cc:189 msgid "Run 3: Unable to update the digest" msgstr "Lauf 3: Digest kann nicht angepasst werden" -#: crypt/key.cc:174 +#: crypt/key.cc:197 msgid "Run 3: Unable to finalize the digest" msgstr "Lauf 3: Kann Digest nicht abschliessen" -#: crypt/key.cc:180 +#: crypt/key.cc:203 msgid "Run 3: Digest does not have expected length" msgstr "Lauf 3: Digest hat unerwartete Länge" -#: crypt/key.cc:191 +#: crypt/key.cc:214 #, c-format msgid "Effective key length of %d does not match expected key length %d" msgstr "" @@ -194,23 +194,23 @@ "Die effektive Schlüssellänge %d passt nicht auf die erwartete Schlüssellänge " "%d" -#: crypt/key.cc:205 +#: crypt/key.cc:228 msgid "IVec: Unable to initialize the EVP_MD structure" msgstr "IVec: Kann EVP_MD Struktur nicht initialisieren" -#: crypt/key.cc:214 +#: crypt/key.cc:237 msgid "IVec: Unable to initialize the digest" msgstr "IVec: Kann Digest nicht initialisieren" -#: crypt/key.cc:222 +#: crypt/key.cc:245 msgid "IVec: Unable to update the digest" msgstr "IVec: Kann Digest nicht anpassen" -#: crypt/key.cc:230 +#: crypt/key.cc:253 msgid "IVec: Unable to finalize the digest" msgstr "IVec: Kann Digest nicht abschliessen" -#: crypt/key.cc:236 +#: crypt/key.cc:259 msgid "IVec: Digest does not have expected length" msgstr "IVec: Digest hat unerwartete Länge" @@ -240,9 +240,8 @@ #: glue/createfile.cc:80 glue/promptpassword.cc:60 glue/changepassword.cc:52 #: glue/changepassword.cc:62 glue/changepassword.cc:116 -#: glue/opencmdlinefile.cc:103 ui/passwordrecord.cc:88 -#: ui/passwordrecord.cc:248 ui/mainwindow.cc:420 ui/mainwindow.cc:472 -#: ui/mainwindow.cc:503 +#: glue/opencmdlinefile.cc:103 ui/passwordrecord.cc:88 ui/passwordrecord.cc:248 +#: ui/mainwindow.cc:420 ui/mainwindow.cc:472 ui/mainwindow.cc:503 msgid "Error" msgstr "Fehler" Index: po/yapet.pot =================================================================== --- po/yapet.pot (revision 6011) +++ po/yapet.pot (revision 6988) @@ -1,6 +1,6 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. -# This file is distributed under the same license as the PACKAGE package. +# This file is distributed under the same license as the yapet package. # FIRST AUTHOR , YEAR. # #, fuzzy @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: yapet 1.0\n" "Report-Msgid-Bugs-To: Rafael Ostertag \n" -"POT-Creation-Date: 2014-02-18 18:05+0100\n" +"POT-Creation-Date: 2016-11-09 20:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,39 +25,39 @@ msgid "Position out of range" msgstr "" -#: crypt/crypt.cc:57 +#: crypt/crypt.cc:82 msgid "Unable to get cipher" msgstr "" -#: crypt/crypt.cc:66 +#: crypt/crypt.cc:90 msgid "Error initializing cipher" msgstr "" -#: crypt/crypt.cc:73 crypt/crypt.h:179 crypt/crypt.h:257 +#: crypt/crypt.cc:97 crypt/crypt.h:181 crypt/crypt.h:258 msgid "Error setting the key length" msgstr "" -#: crypt/crypt.h:160 crypt/crypt.h:238 +#: crypt/crypt.h:163 crypt/crypt.h:240 msgid "IVec length missmatch" msgstr "" -#: crypt/crypt.h:172 crypt/crypt.h:250 +#: crypt/crypt.h:174 crypt/crypt.h:251 msgid "Error initializing encryption engine" msgstr "" -#: crypt/crypt.h:194 +#: crypt/crypt.h:196 msgid "Error encrypting data" msgstr "" -#: crypt/crypt.h:205 +#: crypt/crypt.h:207 msgid "Error finalizing encryption" msgstr "" -#: crypt/crypt.h:271 +#: crypt/crypt.h:272 msgid "Error decrypting data" msgstr "" -#: crypt/crypt.h:282 +#: crypt/crypt.h:283 msgid "Error finalizing decryption" msgstr "" @@ -125,88 +125,88 @@ msgid "File has been externally modified" msgstr "" -#: crypt/key.cc:64 +#: crypt/key.cc:87 msgid "Run 1: Unable to initialize the EVP_MD structure" msgstr "" -#: crypt/key.cc:72 +#: crypt/key.cc:95 msgid "Run 1: Unable to initialize the digest" msgstr "" -#: crypt/key.cc:79 +#: crypt/key.cc:102 msgid "Run 1: Unable to update the digest" msgstr "" -#: crypt/key.cc:88 +#: crypt/key.cc:111 msgid "Run 1: Unable to finalize the digest" msgstr "" -#: crypt/key.cc:94 +#: crypt/key.cc:117 msgid "Run 1: Digest does not have expected length" msgstr "" -#: crypt/key.cc:106 +#: crypt/key.cc:129 msgid "Run 2: Unable to initialize the EVP_MD structure" msgstr "" -#: crypt/key.cc:115 +#: crypt/key.cc:138 msgid "Run 2: Unable to initialize the digest" msgstr "" -#: crypt/key.cc:123 +#: crypt/key.cc:146 msgid "Run 2: Unable to update the digest" msgstr "" -#: crypt/key.cc:131 +#: crypt/key.cc:154 msgid "Run 2: Unable to finalize the digest" msgstr "" -#: crypt/key.cc:137 +#: crypt/key.cc:160 msgid "Run 2: Digest does not have expected length" msgstr "" -#: crypt/key.cc:149 +#: crypt/key.cc:172 msgid "Run 3: Unable to initialize the EVP_MD structure" msgstr "" -#: crypt/key.cc:158 +#: crypt/key.cc:181 msgid "Run 3: Unable to initialize the digest" msgstr "" -#: crypt/key.cc:166 +#: crypt/key.cc:189 msgid "Run 3: Unable to update the digest" msgstr "" -#: crypt/key.cc:174 +#: crypt/key.cc:197 msgid "Run 3: Unable to finalize the digest" msgstr "" -#: crypt/key.cc:180 +#: crypt/key.cc:203 msgid "Run 3: Digest does not have expected length" msgstr "" -#: crypt/key.cc:191 +#: crypt/key.cc:214 #, c-format msgid "Effective key length of %d does not match expected key length %d" msgstr "" -#: crypt/key.cc:205 +#: crypt/key.cc:228 msgid "IVec: Unable to initialize the EVP_MD structure" msgstr "" -#: crypt/key.cc:214 +#: crypt/key.cc:237 msgid "IVec: Unable to initialize the digest" msgstr "" -#: crypt/key.cc:222 +#: crypt/key.cc:245 msgid "IVec: Unable to update the digest" msgstr "" -#: crypt/key.cc:230 +#: crypt/key.cc:253 msgid "IVec: Unable to finalize the digest" msgstr "" -#: crypt/key.cc:236 +#: crypt/key.cc:259 msgid "IVec: Digest does not have expected length" msgstr "" @@ -236,9 +236,8 @@ #: glue/createfile.cc:80 glue/promptpassword.cc:60 glue/changepassword.cc:52 #: glue/changepassword.cc:62 glue/changepassword.cc:116 -#: glue/opencmdlinefile.cc:103 ui/passwordrecord.cc:88 -#: ui/passwordrecord.cc:248 ui/mainwindow.cc:420 ui/mainwindow.cc:472 -#: ui/mainwindow.cc:503 +#: glue/opencmdlinefile.cc:103 ui/passwordrecord.cc:88 ui/passwordrecord.cc:248 +#: ui/mainwindow.cc:420 ui/mainwindow.cc:472 ui/mainwindow.cc:503 msgid "Error" msgstr "" Index: tests/preload/Makefile.am =================================================================== --- tests/preload/Makefile.am (revision 6011) +++ tests/preload/Makefile.am (revision 6988) @@ -14,7 +14,7 @@ ../../crypt/bdbuffer.cc ../../crypt/crypt.cc ../../crypt/file.cc \ ../../crypt/key.cc ../../crypt/partdec.cc checktestpwrecord_CPPFLAGS = -I$(top_srcdir)/crypt -I$(top_builddir) \ --I$(top_srcdir) +-I$(top_srcdir) $(OPENSSL_INCLUDES) checktestpwrecord_LDADD = $(top_builddir)/crypt/libyapet-crypt.la $(LIBINTL) checkmasterpwchange_SOURCES = checkmasterpwchange.cc \ @@ -21,7 +21,7 @@ ../../crypt/bdbuffer.cc ../../crypt/crypt.cc ../../crypt/file.cc \ ../../crypt/key.cc ../../crypt/partdec.cc checkmasterpwchange_CPPFLAGS = -I$(top_srcdir)/crypt -I$(top_builddir) \ --I$(top_srcdir) +-I$(top_srcdir) $(OPENSSL_INCLUDES) checkmasterpwchange_LDADD = $(top_builddir)/crypt/libyapet-crypt.la $(LIBINTL) istty_SOURCES = istty.cc Index: yapet/cfg.h =================================================================== --- yapet/cfg.h (revision 6011) +++ yapet/cfg.h (revision 6988) @@ -163,7 +163,7 @@ locked = false; } - void is_locked() const { + bool is_locked() const { return locked; } Index: configure.ac =================================================================== --- configure.ac (revision 6011) +++ configure.ac (revision 6988) @@ -86,9 +86,10 @@ LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS" CPPFLAGS="$CPPFLAGS $OPENSSL_INCLUDES" AC_MSG_NOTICE([Checking encryption functions]) -AC_CHECK_FUNCS([EVP_bf_cbc EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_init EVP_CIPHER_CTX_set_key_length EVP_CipherInit_ex EVP_DigestFinal_ex EVP_DigestInit_ex EVP_DigestUpdate EVP_MD_CTX_cleanup EVP_MD_CTX_init EVP_md5 EVP_ripemd160 EVP_sha1], +AC_CHECK_FUNCS([EVP_bf_cbc EVP_CIPHER_CTX_set_key_length EVP_CipherInit_ex EVP_DigestFinal_ex EVP_DigestInit_ex EVP_DigestUpdate EVP_md5 EVP_ripemd160 EVP_sha1], [], [AC_MSG_ERROR([You are missing a crucial function required for $PACKAGE_NAME])]) +AC_CHECK_FUNCS([EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_free EVP_CIPHER_CTX_init EVP_CIPHER_CTX_new EVP_MD_CTX_destroy EVP_MD_CTX_create EVP_MD_CTX_free EVP_MD_CTX_new]) AC_MSG_NOTICE([Checking support functions]) AC_CHECK_FUNCS([SSLeay_version]) LIBS="$LIBS_SAVE"