Aaaaaand I've implemented support for inline PGP this morning 😊

Jeff

> -----Original Message-----
> From: balsa-list [mailto:[email protected]] On Behalf Of Jeffrey
> Stedfast via balsa-list
> Sent: Monday, March 13, 2017 6:39 PM
> To: [email protected]
> Subject: Upcoming GMime 3.0 changes
> 
> Hello Balsa devs,
> 
> I'm sending this email to inform you guys of some upcoming GMime 3.0
> features that I've either implemented or will be adding soon.
> 
> 1. Probably the most import change coming to GMime 3.0 is that each header
> field/value pair has its own raw value cache instead of using a cached stream
> of the entire head block, thus forcing the complete invalidation of the header
> cache when anything changed in the headers. In GMime 2.6, once the
> header cache was invalidated, each header would get re-folded when
> written back out to disk. This was obviously not ideal.
> 
> 2. Next up is the replacement of the old custom GnuPG back-end with
> GpgMe. Also included with this change is full support for S/MIME via both
> multipart/signed and application/pkcs7-mime content-types using gpgsm (via
> GpgMe). During this change, I also took the liberty of simplifying the crypto
> API's a bit and so I was able to make it such that
> g_mime_multipart_signed_verify(), for example, no longer requires you to
> pass it a GMimeCryptoContext. Instead, GMime parses the Content-Type's
> protocol parameter and uses that to instantiate the correct crypto context
> (GMimeGpgContext for PGP and GMimePkcs7Context for S/MIME). Many of
> the various state properties have been replaced with bitflags that can be
> passed to encrypt() and decrypt(). The sign() method now also takes a
> detach argument (might make this into a bitflag instead?) in order to support
> encapsulated signing.
> 
> 3. The GMimeMessage API's have been improved a bit. Gone are the old
> GMimeMessage API's that return strings for the From and Reply-To headers.
> Instead, *all* GMimeMessage API's return an InternetAddressList pointer
> which can be used to manipulate the parsed address header. Also improved
> is the g_mime_message_set_subject() method which now takes an optional
> charset parameter (or NULL to use the default).
> 
> 4. New in GMime 3.0 is the GMimeParserOptions struct which can be passed
> to GMimeParser and other parser functions exposed in the lower-level API's.
> This structure helps define how strict/forgiving the various parsing routines
> should be with the input. This replaces the need for g_mime_init()'s flags so
> you can change these settings on the fly now.
> 
> 5. Another new feature is GMimeTextPart which makes getting/setting text
> on a GMimePart simpler. GMimeTextPart is a subclass of GMimePart, so all
> of the GMimePart API's that you are used to still work but now you also have
> access to convenient functions like g_mime_text_part_get_text() and
> g_mime_text_part_set_text() which removes the need for creating streams,
> data wrappers, and setting them on the part.
> 
> 6. Brand new rfc822 address parser which is more tolerant than the previous
> generation parser. What's not to love?
> 
> 7. And finally we get to a nifty feature that I just hacked up while waiting 
> for
> some other code to compile (hey, it takes an hour to compile... I needed
> something to do!) which is that GMimeParser now scans for -----BEGIN PGP
> MESSAGE-----/-----END PGP MESSAGE----- and -----BEGIN PGP SIGNED
> MESSAGE-----/-----END PGP SIGNED MESSAGE----- markers while looking for
> MIME boundaries and sets some state on the corresponding GMimePart that
> you can use to quickly decide if the part contains encapsulated OpenPGP
> data.
> 
> Jeff
> 
> _______________________________________________
> balsa-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/balsa-list
_______________________________________________
balsa-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/balsa-list

Reply via email to