GMime 2.6 Reference Manual |
---|
Changes from 2.4 to 2.6Changes from 2.4 to 2.6 — Changes made between version 2.4 and version 2.6 |
After releasing GMime 2.4, it was discovered that g_mime_stream_length() still returned ssize_t which, on 32bit systems, meant that the function was useless if the actual stream was larger than 2GB (which could happen if GMime was built with large file support).
As I fixed this, I also found some API inconsistencies which I felt I might as well fix up since I had to break API/ABI compatibility with 2.4 anyway.
Most notable in GMime 2.6 is the lack of GMimeSession which has been dropped in favor of a much simpler callback mechanism. GMimeCipherContexts constructors now take a password_request callback function rather than forcing you to subclass GMimeSession to get this functionality.
Other API changes include:
GMimeBestEncoding has been renamed to GMimeEncodingConstraint
GMimeSignatureValidity has been dropped in favor of GMimeSignatureList which is simply a collection of signatures.
GMimeSigner has been replaced by GMimeSignature and GMimeCertificate which added a number of new fields and accessors making it much more complete.
GMimeCipherContext has been renamed to GMimeCryptoContext and the method names for this class have also been renamed in a similar fashion.
g_mime_crypto_context_encrypt()
now takes a digest algorithm argument which is used when the
'sign' argument is TRUE.
g_mime_multipart_encrypted_encrypt()
also now takes a digest algorithm argument which it passes along
to g_mime_crypto_context_encrypt()
.
g_mime_crypto_context_decrypt()
now returns a GMimeDecryptResult which contains a list of
signatures (if signed), a list of recipients that the stream had
been encrypted to, and also the cipher and digest algorithms
used.
g_mime_multipart_encrypted_decrypt()
no longer caches the decrypted part and also now takes a
GMimeSignatureList** output argument which it sets in place of
having to call
g_mime_multipart_encrypted_get_signature_validity()
afterward.