blob: 4443e9e884b49e738f18012e7b1f7e5a60783227 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<refentry id="gmime-changes-2-6" revision="06 Feb 2010">
<refmeta>
<refentrytitle>Changes from 2.4 to 2.6</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>Changes from 2.4 to 2.6</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Changes from 2.4 to 2.6</refname>
<refpurpose>Changes made between version 2.4 and version 2.6</refpurpose>
</refnamediv>
<refsect1>
<title>Changes from 2.4 to 2.6</title>
<para>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).</para>
<para>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.</para>
<para>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.</para>
<para>Other API changes include:</para>
<itemizedlist>
<listitem><para>GMimeBestEncoding has been renamed to
GMimeEncodingConstraint</para></listitem>
<listitem><para>GMimeSignatureValidity has been dropped in favor
of GMimeSignatureList which is simply a collection of
signatures.
</para></listitem>
<listitem><para>GMimeSigner has been replaced by GMimeSignature
and GMimeCertificate which added a number of new fields and
accessors making it much more complete.
</para></listitem>
<listitem><para>GMimeCipherContext has been renamed to
GMimeCryptoContext and the method names for this class have also
been renamed in a similar fashion.
</para></listitem>
<listitem><para><function>g_mime_crypto_context_encrypt()</function>
now takes a digest algorithm argument which is used when the
'sign' argument is TRUE.
</para></listitem>
<listitem><para><function>g_mime_multipart_encrypted_encrypt()</function>
also now takes a digest algorithm argument which it passes along
to <function>g_mime_crypto_context_encrypt()</function>.
</para></listitem>
<listitem><para><function>g_mime_crypto_context_decrypt()</function>
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.
</para></listitem>
<listitem><para><function>g_mime_multipart_encrypted_decrypt()</function>
no longer caches the decrypted part and also now takes a
GMimeSignatureList** output argument which it sets in place of
having to call
<function>g_mime_multipart_encrypted_get_signature_validity()</function>
afterward.
</para></listitem>
</itemizedlist>
</refsect1>
</refentry>
|