Kai Wasserbäch [Fri, 27 Nov 2009 09:16:53 +0000 (09:16 +0000)]
[KVIrc] (branches/no embedded): Remove untested feature random IV for now.
As my time is severly limited and I'd like to see the rest of this
code in trunk, I'll remove the untested random IV generation for
now.
Kai Wasserbäch [Thu, 8 Oct 2009 17:12:44 +0000 (17:12 +0000)]
[KVIrc] (branches/no_openssl): Delete »src/kvilib/net/kvi_ssl.{h,cpp}«.
These two files provided the OpenSSL wrapper for KVIrc and is no longer needed.
We call on the respective QtNetwork methods where needed.
Kai Wasserbäch [Mon, 20 Jul 2009 21:16:08 +0000 (21:16 +0000)]
[KVIrc] (branches/no embedded): Fixing IV generation.
Usage of a wron variable to determine the required IV size led to
random IVs which broke decryption.
Additionally this commit prepares for real randomized IVs, which
are required to ensure no information leakage about the used key.
In case of random IVs per message, the generated IV is prepended to
the transmitted message (and yes, this doesn't affect the security
;-) ).
Kai Wasserbäch [Sun, 19 Jul 2009 16:35:12 +0000 (16:35 +0000)]
[KVIrc] (branches/no embedded): Add hardcoded IV and fix Blowfish key parsing.
* The module this shall replace hardcoded the IV to 0, do the same.
* The parsing of keys (and to some extent encrypted data) was flawd,
fix the parsing routines.
Kai Wasserbäch [Sun, 19 Jul 2009 09:33:30 +0000 (09:33 +0000)]
[KVIrc] (branches/no embedded): Fix Rijndael module's CMakeLists.txt.
If compiled without OpenSSL support and without WANT_NO_EMBEDDED_CODE
CMake complained about not set variables in the Rijndael module's
CMakeLists.txt file. We encapsule everything in a nice IF statement
and CMake is happy.
Kai Wasserbäch [Sat, 18 Jul 2009 00:57:14 +0000 (00:57 +0000)]
[KVIrc] (branches/no embedded): $str.digest for all.
Until now $str.digest was dependant on OpenSSL. This commit
removes this limitation.
Now one can decide at compile time for one of the following
backends:
* OpenSSL (etherything as it is now).
* Crypto++ (better backend, right now the entire SHA familiy,
MD2, MD4, MD5, the entire RIPEMD family and CRC32 are enabled).
* QCryptographicHash (as a fallback mechanism this option was
added, which offers MD4, MD5 and SHA1).
Kai Wasserbäch [Fri, 17 Jul 2009 20:58:24 +0000 (20:58 +0000)]
[KVIrc] (branches/no embedded): Work around a moc bug.
Split the old implementation and the new Crypto++-based
version into seperate files and let CMake handle what
to build, that works around a bug in moc, that lead to
linking errors.
Kai Wasserbäch [Fri, 17 Jul 2009 18:41:07 +0000 (18:41 +0000)]
[KVIrc] (branches/no embedded):
* First implementation of Rijndael and Blowfish with
libcrypto++ as a backend.
- It compiles.
- MOC is somewhat broken (indexes the wrong code and is
then expecting functions which aren't present, need
to figure out how to tell MOC which part of the code
is there to be scanned).
- No test run has been made so far (no time, if
someone else wants to go ahead...).
* If you compile with the Crypto++ backend, you'll be
warned about experimental code.
NOTE: This commit is (as should be clear from the above)
a WIP state.
Kai Wasserbäch [Wed, 15 Jul 2009 13:31:21 +0000 (13:31 +0000)]
[KVIrc] (branches/no embedded):
* Prepare the main CMakeLists.txt for the new code/option.
* Add myself to »src/modules/about/ENTRIES«.
* Removed kvi_md5.cpp from »src/kvilib/CMakeLists.txt«
* Don't compile »src/modules/rijndael/rijndael.{h,cpp}«
and »src/modules/rijndael/ablowfish.{h,cpp}« if
»WANT_NO_EMBEDDED_CODE« is set. (We keep the error
codes from »src/modules/rijndael/rijndael.h« for now.)
Kai Wasserbäch [Wed, 8 Jul 2009 23:18:40 +0000 (23:18 +0000)]
[KVIrc] (branches/no embedded) Remove »kvi_d5.{h,cpp}«.
As the embedded MD5 implementation wasn't used for some time in KVIrc and
nobody complained: just remove it. It seems like everybody who uses it
already compiles KVIrc with OpenSSL enabled.
Kai Wasserbäch [Wed, 8 Jul 2009 23:08:13 +0000 (23:08 +0000)]
[KVIrc] (branches/no embedded) Copy r3321 as the code base.
This branch is for hunting down code embedded or recreated, which should
come from libraries. An example would be the MD5 code.