The following is a list of known places for possible improvement to the GMime library. This list of tasks in no way indicates priority, that is to say that there is no rhyme or reason to the order that the tasks are presented in. - better handling of invalid raw 8bit headers. need to somehow provide a way for the app to tell gmime how to handle these. perhaps a callback set on the parser object that gets called if gmime fails to be able to convert it to UTF-8 (after trying locale charset of course). Or... maybe some form of auto-charset-detection black magic? - Fix multipart/signed support so that verifying signatures will feed the complete signed-part in raw format (ie, without reformatting Content-* headers) to gpg. Currently I only feed the raw content of the signed part to gpg but the headers have been processed by GMime and so *may* be folded differently from the original Content-* headers. - make thread-safe? some stuff already is, like the gmime-iconv code and some of the other charset stuff. Streams and other objects, however, are not. How can I do this...? And is it really needed? - Possibly make the GMime parser incremental. - modify address parser: on usenet it's not uncommon to have header like "From: Joe Bob" where people use no address at all to avoid spammers ok It would be nice if internet-address handled this have ->name == "Joe Bob" and ->value.addr == NULL oh, so only support writing them? ah, that should be easy It looks like the else clause on line 582 is where a "Joe Bob" string fails I was pondering how I could possibly parse that as a name :) No, I am asking about parsing oh It would be nice for internet_address_parse_string() to return an InternetAddress with a name of "Joe Bob" and a NULL addr ah, okay I guess I can do that I'll have to modify my internet_address_to_string code to handle that too but that should be easy - S/MIMEv3: http://www.ietf.org/html.charters/smime-charter.html All questions and comments should be directed toward the author, Jeffrey Stedfast