Summary: Mircryption in KVIrc fails on encoding/decoding Classification: openSUSE Product: openSUSE 12.1 Version: Final Platform: x86-64 OS/Version: SuSE Other Status: NEW Severity: Major Priority: P5 - None Component: KDE4 Applications AssignedTo: firstname.lastname@example.org ReportedBy: email@example.com QAContact: firstname.lastname@example.org Found By: --- Blocker: ---
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7
I installed KVIrc 4.0.4 from the 12.1 repository and made sure the OpenSSL requirement was met to enable encryption within the client. Upon entering a channel with a Mircryption requirement, the messages my client was sending and receiving were indecipherable by any chat participant.
I removed KVIrc 4.0.4 and libcryptopp9 from my system. I installed the latest SVN version of crypto++ ( svn checkout https://cryptopp.svn.sourceforge.net/svnroot/cryptopp/trunk/c5 cryptopp ) and KVIrc 4.0.4 from source ( http://www.kvirc.de/?id=releases&platform=source&version=4.0.4&l... )
Once these programs were successfully installed, the channel with the Mircryption requirement worked again.
The people in the KVIrc IRC channel on Freenode indicated there was a problem with crypto++ that presented itself in some Debian-based distros, so that was the basis for my decision to recompile crypto++ from SVN. I would have installed KVIrc from repo, but the prerequisite check depended on libcryptopp9 which my manual installation did not seem to provide.
I believe this bug lies with crypto++ as present in libcryptopp9 but I thought I'd start by filing it with KVIrc as I cannot confirm where the source of the bug lies.
If any additional information is needed, please let me know. I'd like to see this bug resolved in repo so I can go back to having a managed source instead of managing them manually.
Steps to Reproduce: 1. zypper install kvirc 2. Run KVIrc 3. Create or join a channel on any IRC server 4. Above the userlist on the right-hand side, press the green arrow 5. Press the lock icon 6. Check "Use the crypt engine" 7. Select "Mircryption" 8. For both the Encrypt and Decrypt key, enter "kvirc" (any key will do, so long as it's known by all parties) 9. Repeat steps 1-8 on another computer to get an additional client for testing 10. With Mircryption enabled on both computers, attempt to chat. You should notice that the messages received are garbled and cannot be understood. Actual Results: Messages received are corrupted. KVIrc should output an error message upon every received message: "The following message appears to be encrypted, but the crypto engine failed to decode it: Crypto++ threw the following exception: StreamTransformationFilter: ciphertext length is not a multiple of block size"
Expected Results: No error messages output. Received messages should be exactly as they were sent.
Christian Trippe email@example.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |firstname.lastname@example.org, | |email@example.com
--- Comment #1 from Christian Trippe firstname.lastname@example.org 2012-01-02 20:18:51 UTC --- Taking the libcryptopp maintainer into CC.