0.1.5 Fixed a segmentation fault when using pcp1 -t on a public key. I added a double free() there by purpose to test segfault catching I added in unittest.pl and forgot to remove it. The good news is, that I found the double free() immediately thanks to the segfault catching of unittest.pl :) Fixed use of unencrypted secret keys, added proper unittests for this case. Note: a secret key will be stored unencrypted if the user doesn't enter a password when asked. In addition to the fix I added a question if the user is sure about what he does. Moved config.h to include/pcp/ so it will be installed as well. Removed the conditional include of config.h in platform.h, that was stupid. Added generation of a pkg-config configuration in libpcp/libpcp1.pc.in. Added -O support to -k. So now you can generate a new secret key and export it directly into a file. In this case the key will not be stored to the vault. The -t option now accepts an inputfile (-I) and determines what kind of file that might be and if it finds out, prints some info about it to stdout. Useful if you've got a z85 encoded file without headers and comments and don't know what it is. 0.1.4 Changed key format (again), now the main secret is the ED25519 secret key, which will be encrypted. Everything else will be derived from that. Thanks to S.Neives and "CodesInChaos" from the libsodium mailinglist for clarifying it and helping me to understand it. 0.1.3 Added signature support using ED25519. Key format has changed it now contains the ed25519 public key part as well, required for signing. Key version is now 0x2 and vault version 0x2. There's no backwards compatibility, since this is still beta. Re-organized header files. Added support for self encryption using the users own key pair for encryption and decryption. Backport of issue https://github.com/zeromq/zeromq4-x/issues/29 Fixed key export, now uses big endianess as well. Updated POD documentation. Fixed a couple of minor bugs which lead to crashes. Options -r and -R exchanged: -R = remove key, -r = recipient. Added support for derived keys (using -r). Added more precautions when writing to the vault, we now always use a tmp vault for writing and if that works, we copy it back. In case something fails on the way, the tmp file will be retained or the original vault will not be altered. 0.1.2 Fixed bug in pcp_derivekey() which derives encryption keys. it generated collisions due coding error, e.g. passphase 'a' resulted in the same encryptionkey as passphase 'r'. Now uses SHA256 witout the xor stuff, which was the cause for the bug. This also fixes a segmentation fault which occured invariably by entering an invalid passphrase. Added support for derived public keys using the -R option, which allows two peers to encrypt messages without the need to reveal their primary public keys. That way each peer will have another public key of the same source. Added more unit tests to reflect the above changes. 0.1.1 Changed output format of encrypted keys. now we encode it properly with the Z85 encoding and add a header and footer to it: -----BEGN CURVE25519 SECRET KEY----- 0q<1MspXp=x>mBZsUJF:2#)o*!.nTKR8SK}0IfuMBmC1a&*?)JD4%$%I5