aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-crypto.c
Commit message (Collapse)AuthorAgeFilesLines
* Update to pass in the `remember' argument when creating a new pgp context.Jeffrey Stedfast2001-07-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-09 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (decode_pgp): Update to pass in the `remember' argument when creating a new pgp context. (try_inline_pgp_sig): And here... * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Update to pass in the `remember' argument when creating a new pgp context. (mail_crypto_pgp_mime_part_verify): Same. (mail_crypto_pgp_mime_part_encrypt): And here... (mail_crypto_pgp_mime_part_decrypt): And finally here. * mail-config.c (mail_config_get_remember_pgp_passphrase): New. (mail_config_set_remember_pgp_passphrase): New. (config_read): Read in the "remember passphrase" value. (mail_config_write_on_exit): Save the remember-passphrase value. * mail-accounts.c (construct): Allow the user to set "Remember PGP Passphrase". (remember_pgp_passphrase_toggled): Set the toggle state. svn path=/trunk/; revision=10934
* Update to pass in the `remember' argument when creating a new pgp context.Jeffrey Stedfast2001-07-101-4/+8
| | | | | | | | | | | | | | | | | | | | | 2001-07-09 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Update to pass in the `remember' argument when creating a new pgp context. (mail_crypto_pgp_mime_part_verify): Same. (mail_crypto_pgp_mime_part_encrypt): And here... (mail_crypto_pgp_mime_part_decrypt): And finally here. * mail-config.c (mail_config_get_remember_pgp_passphrase): New. (mail_config_set_remember_pgp_passphrase): New. (config_read): Read in the "remember passphrase" value. (mail_config_write_on_exit): Save the remember-passphrase value. * mail-accounts.c (construct): Allow the user to set "Remember PGP Passphrase". (remember_pgp_passphrase_toggled): Set the toggle state. svn path=/trunk/; revision=10933
* Removed the code to check for the validity of an S/MIME part. Stuff worksJeffrey Stedfast2001-06-011-42/+88
| | | | | | | | | | | | 2001-05-31 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_multipart_signed): Removed the code to check for the validity of an S/MIME part. Stuff works differently now. * mail-crypto.c: Rewrote how the S/MIME stuff is going to work. svn path=/trunk/; revision=10066
* Removed (this now exists in camel/camel-smime.c).Jeffrey Stedfast2001-05-171-96/+128
| | | | | | | | | | | | | | | | | | | 2001-05-16 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (mail_crypto_is_smime_v3_signed): Removed (this now exists in camel/camel-smime.c). (mail_crypto_is_pkcs7_mime): Same. (mail_crypto_smime_part_sign): new (mail_crypto_smime_part_verify): new (mail_crypto_smime_part_encrypt): new (mail_crypto_smime_part_decrypt): new (mail_crypto_pgp_mime_part_sign): Added code to set an exception if the context fails to be created. (mail_crypto_pgp_mime_part_verify): And here... (mail_crypto_pgp_mime_part_encrypt): Same. (mail_crypto_pgp_mime_part_decrypt): And here too. svn path=/trunk/; revision=9856
* Make sure we have a context before we try and use it.Jeffrey Stedfast2001-04-231-2/+5
| | | | | | | | | 2001-04-22 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Make sure we have a context before we try and use it. svn path=/trunk/; revision=9496
* Only use non-NULL contexts. (mail_crypto_pgp_mime_part_encrypt): Same.Jeffrey Stedfast2001-04-151-8/+17
| | | | | | | | | | | | | | | | | | 2001-04-14 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (mail_crypto_pgp_mime_part_verify): Only use non-NULL contexts. (mail_crypto_pgp_mime_part_encrypt): Same. (mail_crypto_pgp_mime_part_decrypt): And here too. * mail-format.c (try_inline_pgp_sig): Make sure to not use the context if it is NULL. (decode_pgp): Same. * folder-browser-factory.c: Added stuff for filtering/vfoldering on mailinglists. svn path=/trunk/; revision=9315
* Use the CamelCipherHash enum. (mail_crypto_pgp_mime_part_verify): Use aJeffrey Stedfast2001-04-131-4/+4
| | | | | | | | | | | | | | 2001-04-12 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Use the CamelCipherHash enum. (mail_crypto_pgp_mime_part_verify): Use a CamelCipherValidity. * mail-format.c (try_inline_pgp_sig): Updated to use CamelCipherValidity instead of CamelPgpValidity. (handle_multipart_signed): Same. svn path=/trunk/; revision=9284
* Updated for changes to PGP code.Jeffrey Stedfast2001-04-131-416/+32
| | | | | | | | | | | | | | | | | | | | | | | 2001-04-12 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (pgp_path_changed): Updated for changes to PGP code. * component-factory.c (owner_set_cb): Don't init openpgp anymore because we don't need it. * mail-crypto.c: Simply wrap the camel-pgp-mime functions (also renamed the functions to be prefixed with mail_crypto). * mail-format.c (handle_multipart_signed): Update to use camel_pgp_mime_is_rfc2015_signed() and other camel-pgp-mime functions. (handle_multipart_encrypted): Same but for rfc2015_encrypted. (decode_pgp): Updated to use camel-pgp-context (try_inline_pgp): Updated to use camel-pgp-context's. (try_inline_pgp_sig): Same. svn path=/trunk/; revision=9269
* Huh, somehow I forgot to apply the from filter when verifying signedJeffrey Stedfast2001-04-121-1/+4
| | | | | | | | | | 2001-04-11 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (pgp_mime_part_verify): Huh, somehow I forgot to apply the from filter when verifying signed parts. Oh well, probably not all that common. Fixed now though. svn path=/trunk/; revision=9248
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-2/+4
| | | | | | | | | | | 2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * *.*: Cleaned up #includes. Remove unneccesary includes of <gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more fine grained headers where needed. Also marked a bunch of strings for translations and added some missing prototypes. svn path=/trunk/; revision=9025
* unref the standard folders. (owner_set_cb): Use g_atexit() to callJeffrey Stedfast2001-03-191-0/+1
| | | | | | | | | | | | | 2001-03-18 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (unref_standard_folders): unref the standard folders. (owner_set_cb): Use g_atexit() to call unref_standard_folders() when evolution-mail exits. This should solve the problem where these folders are not synced when evolution-mail closes (because they still had refs on them on close). svn path=/trunk/; revision=8814
* New function to prepare the mime part and any subparts for pgp signing.Jeffrey Stedfast2001-03-171-6/+66
| | | | | | | | | | | | | | | | | 2001-03-16 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (pgp_mime_part_sign_prepare_part): New function to prepare the mime part and any subparts for pgp signing. (pgp_mime_part_sign_restore_part): New convenience function to undo the prepare_part. (pgp_mime_part_sign): Don't assume the part passed in is a leaf part, we could very easily get a multipart (and in fact were which is why people have been having unexpected results when signing messages with attachments) and set the encoding as if it were a leaf part. Use our 2 new convenience functions to set the encoding(s) instead. svn path=/trunk/; revision=8766
* New function to decide if a mime part is an S/MIME v3 signed part.Jeffrey Stedfast2001-03-071-20/+98
| | | | | | | | | | | | 2001-03-07 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (mail_crypto_is_smime_v3_signed): New function to decide if a mime part is an S/MIME v3 signed part. (mail_crypto_is_pkcs7_mime): New function to decide if a mime part is an application/pkcs7-mime part (or an application/octet-stream part with application/pkcs7-mime data). svn path=/trunk/; revision=8578
* Correcty set the mime type for the multipart. Hmmm, still doesn't wrapJeffrey Stedfast2001-03-061-8/+12
| | | | | | | | | | | 2001-03-05 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (pgp_mime_part_sign): Correcty set the mime type for the multipart. Hmmm, still doesn't wrap correctly. NotZed? Ideas? (pgp_mime_part_encrypt): Here too. svn path=/trunk/; revision=8559
* Changed to use PgpValidity.Jeffrey Stedfast2001-02-221-10/+6
| | | | | | | | | | | | | | | | | 2001-02-21 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (pgp_mime_part_verify): Changed to use PgpValidity. * openpgp-utils.c (openpgp_verify): Return a PgpValidity and set the description as UTF-8 for later use in mail-format.c when writing to GtkHTML. * mail-format.c (try_inline_pgp_sig): Updated to use the new PgpValidity code. (handle_multipart_signed): Updated. svn path=/trunk/; revision=8320
* A few minor tweaks.Jeffrey Stedfast2001-01-241-11/+18
| | | | | | | | | 2001-01-23 Jeffrey Stedfast <fejj@ximian.com> * openpgp-utils.c: * mail-crypto.c: A few minor tweaks. svn path=/trunk/; revision=7755
* Fix a double-free problem.Not Zed2001-01-231-19/+12
| | | | | | | | 2001-01-23 Not Zed <NotZed@Ximian.com> * mail-crypto.c (pgp_mime_part_verify): Fix a double-free problem. svn path=/trunk/; revision=7722
* Helps if I spell stuff correctly so it can pass the tests ;-)Jeffrey Stedfast2001-01-221-2/+2
| | | | | | | | | 2001-01-22 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (mail_crypto_is_rfc2015_signed): Helps if I spell stuff correctly so it can pass the tests ;-) svn path=/trunk/; revision=7697
* Don't forget to unref the filters. (pgp_mime_part_verify): Same.Jeffrey Stedfast2001-01-221-27/+21
| | | | | | | | | | | | | | | 2001-01-21 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c (pgp_mime_part_sign): Don't forget to unref the filters. (pgp_mime_part_verify): Same. (pgp_mime_part_encrypt): Same. (pgp_mime_part_decrypt): Take NotZed's advice and use camel_stream_mem_new_with_buffer instead of writing to a new stream_mem. Also use camel_data_wrapper_construct_from_stream instead of creating a parser and using that. svn path=/trunk/; revision=7687
* Updated header comment and fixed some ref/unref count problems in theJeffrey Stedfast2001-01-211-6/+8
| | | | | | | | | | | | | | | | 2001-01-21 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c: Updated header comment and fixed some ref/unref count problems in the various functions. Also fixed some other little things. (pgp_mime_part_encrypt): Do some canonical CRLF action before encrypting. (pgp_mime_part_sign): Make sure we are the owners of the byte array. (pgp_mime_part_verify): Same. (pgp_mime_part_encrypt): Same. (pgp_mime_part_decrypt): Same. svn path=/trunk/; revision=7682
* Updated header comment and fixed some ref/unref count problems in theJeffrey Stedfast2001-01-211-25/+25
| | | | | | | | | | | | 2001-01-21 Jeffrey Stedfast <fejj@ximian.com> * mail-crypto.c: Updated header comment and fixed some ref/unref count problems in the various functions. Also fixed some other little things. (pgp_mime_part_encrypt): Do some canonical CRLF action before encrypting. svn path=/trunk/; revision=7680
* Updated. (decode_pgp): Get rid of #ifdef PGP_PROGRAM's and handleJeffrey Stedfast2001-01-101-979/+11
| | | | | | | | | | | | | | | | | | | | | | 2001-01-09 Jeffrey Stedfast <fejj@helixcode.com> * mail-format.c: Updated. (decode_pgp): Get rid of #ifdef PGP_PROGRAM's and handle appropriately. (handle_multipart_signed): Same. (handle_multipart_encrypted): Same. * Makefile.am: Added openpgp-utils.[c,h] to the build. * openpgp-utils.c: New source file containing all of the pgp interface code. * mail-crypto.c: Removed all of the openpgp funtions as they are being moved to a new file. (mail_crypto_is_rfc2015_signed): Renamed. (mail_crypto_is_rfc2015_encrypted): Renamed. svn path=/trunk/; revision=7320
* Implemented.Jeffrey Stedfast2001-01-021-30/+59
| | | | | | | | | | | | | | | | | | | | 2000-12-26 Jeffrey Stedfast <fejj@helixcode.com> * mail-crypto.c (mail_crypto_openpgp_verify): Implemented. 2000-12-23 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (mail_do_setup_trash): New function similar to mail_do_setup_folder() except that this creates the Trash VFolder (special-case). 2000-12-21 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (do_send_mail): Don't free info inside the last if-statement, if sent_folder doesn't exist we'll have a memory leak. Instead free it afterward. svn path=/trunk/; revision=7205
* fix previous fixDan Winship2000-12-301-1/+1
| | | | svn path=/trunk/; revision=7195
* Update this for CamelContentType too.Dan Winship2000-12-301-17/+17
| | | | svn path=/trunk/; revision=7193
* New callback to handle multipart/signed parts. (decode_pgp): Update toJeffrey Stedfast2000-12-161-14/+660
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-15 Jeffrey Stedfast <fejj@helixcode.com> * mail-format.c (handle_multipart_signed): New callback to handle multipart/signed parts. (decode_pgp): Update to account for the cipherlen argument needed for openpgp_decrypt. (is_rfc2015): Removed as we now have a better version in mail-crypto. (handle_multipart_encrypted): Updated to use the PGP/MIME utility functions. * mail-crypto.c (mail_crypto_openpgp_decrypt): Don't check (!*plaintext) as it could be a binary stream. Now also takes a cipherlen argument. (mail_crypto_openpgp_sign): New function. (pgp_mime_part_sign): New function to replace a mime part with the pgp signed equivalent. (pgp_mime_part_encrypt): New function to replace a mime part with the pgp encrypted equivalent. (pgp_mime_part_decrypt): New function to decrypt a pgp encrypted mime part (like from pgp_mime_part_encrypt) and replace it. (is_rfc2015_signed): New function to determine if a mime part is an rfc2015 signed part. (is_rfc2015_encrypted): New function to determine if a mime part is an rfc2015 encrypted part. (mail_crypto_openpgp_verify): New openpgp function to verify a signature. svn path=/trunk/; revision=7056
* Updated to reflect arguments to the openpgp functions - now also takes anJeffrey Stedfast2000-12-121-81/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-11 Jeffrey Stedfast <fejj@helixcode.com> * mail-format.c (decode_pgp): Updated to reflect arguments to the openpgp functions - now also takes an outlen argument. (try_inline_pgp): Updated. (handle_multipart_encrypted): Updated here too. * mail-crypto.c (crypto_exec_with_passwd): Updated to handle binary streams and such. (mail_crypto_openpgp_encrypt): Always initialize the passwd_fds even if we don't plan on signing. Added an 'inlen' to specify the length of the input data (as it could be binary). Also added a 'userid' argument for cases when we want to sign as well as encrypt. (mail_crypto_openpgp_decrypt): Updated to take an outlen argument in case the ciphertext is encrypted binary data. (mail_crypto_openpgp_clearsign): Added a 'hash' and 'detach' arguments. 'hash' allows the program to specify the preferred hash function (which will come in handy when generating PGP/MIME). 'detach' allows the program to specify whether it wants a detached signature or the entire signed text. svn path=/trunk/; revision=6921
* Fix up #include <config.h> Same here. Here too. Fix indentation of #ifdefKjartan Maraas2000-11-071-1/+1
| | | | | | | | | | | | 2000-11-06 Kjartan Maraas <kmaraas@gnome.org> * mail-autofilter.c: Fix up #include <config.h> * mail-crypto.c: Same here. * mail-search-dialog.c: Here too. * main.c: Fix indentation of #ifdef * message-thread.c: Fix include. svn path=/trunk/; revision=6422
* Added new header files.Jeffrey Stedfast2000-11-041-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: Added new header files. * component-factory.c (owner_set_cb): s/session_init/mail_session_init * session.c: Renamed public functions to mail_session_*. FIXME: Rename session.c to mail-session.c * folder-browser-factory.c: #include "mail-callbacks.h", #include "mail-session.h" and replace forget_passwords with mail_session_forget_passwords * mail.h: Move session prototypes to mail-session.h, Move mail-crypto prototypes to mail-crypto.h, Move mail-callback prototypes to mail-callbacks.h * mail-session.h: New header file containing public prototypes for session.c * mail-format.c: #include "mail-crypto.h" * mail-view.c: * folder-browser.c: #include "mail-callbacks.h" * mail-crypto.h: New header file containing public prototypes for mail-crypto.c * mail-callbacks.h: New header file containing public prototypes for mail-callbacks.c * message-list.c (message_list_get_layout): Set useful defaults. (message_list_setup_etable): Don't set the Outbox defaults on a folder just because it doesn't have a corresponding saved file. svn path=/trunk/; revision=6372
* lots of i18n fixesDan Winship2000-10-241-4/+4
| | | | svn path=/trunk/; revision=6143
* Fix to prevent possible buffer overflows and a logic fix.Jeffrey Stedfast2000-08-281-4/+4
| | | | | | | | | 2000-08-28 Jeffrey Stedfast <fejj@helixcode.com> * mail-crypto.c (mail_crypto_openpgp_encrypt): Fix to prevent possible buffer overflows and a logic fix. svn path=/trunk/; revision=5071
* Fix to prevent possible buffer overflowsJeffrey Stedfast2000-08-281-34/+37
| | | | | | | | | 2000-08-28 Jeffrey Stedfast <fejj@helixcode.com> * mail-crypto.c (mail_crypto_openpgp_encrypt): Fix to prevent possible buffer overflows svn path=/trunk/; revision=5070
* New crypto function to clearsign plaintextJeffrey Stedfast2000-08-281-4/+126
| | | | | | | | | 2000-08-27 Jeffrey Stedfast <fejj@helixcode.com> * mail-crypto.c (mail_crypto_openpgp_clearsign): New crypto function to clearsign plaintext svn path=/trunk/; revision=5068
* Fixed an uninitialized variable.Christopher James Lahey2000-08-261-1/+1
| | | | | | | | 2000-08-25 Christopher James Lahey <clahey@helixcode.com> * mail-crypto.c: Fixed an uninitialized variable. svn path=/trunk/; revision=5057
* Implemented PGP 2.x encryption. We only need to get the passphrase if weJeffrey Stedfast2000-08-261-17/+58
| | | | | | | | | | | 2000-08-25 Jeffrey Stedfast <fejj@helixcode.com> * mail-crypto.c (mail_crypto_openpgp_encrypt): Implemented PGP 2.x encryption. We only need to get the passphrase if we plan to sign the text, otherwise we don't need to worry about getting the passphrase. svn path=/trunk/; revision=5035
* Added support for encrypting via PGP 5.0Jeffrey Stedfast2000-08-141-5/+21
| | | | | | | | | 2000-08-13 Jeffrey Stedfast <fejj@helixcode.com> * mail-crypto.c (mail_crypto_openpgp_encrypt): Added support for encrypting via PGP 5.0 svn path=/trunk/; revision=4831
* Update this for CamelObject (try_inline_pgp): Deal with decrypting hereDan Winship2000-08-121-27/+29
| | | | | | | | | | | | | | | | | | | * mail-format.c (destroy_part): Update this for CamelObject (try_inline_pgp): Deal with decrypting here rather than trying to pawn the data off to handle_multipart_encrypted, since it most likely won't be correct (won't have the proper MIME headers inside the encrypted part). (handle_multipart_encrypted): Add code from Nathan Thompson-Amato to re-MIME-parse the decrypted data after decrypting. * mail-crypto.c (mail_crypto_openpgp_{de,en}crypt): Get the password here rather than having it passed in. Remove some dead code. * session.c (mail_request_dialog): Allow this to work in either a sync or an async context. svn path=/trunk/; revision=4751
* Fix some compiler warnings.Dan Winship2000-08-091-1/+0
| | | | | | | * mail-crypto.c, mail-format.c, message-thread.c: Fix some compiler warnings. svn path=/trunk/; revision=4615
* Added support for encrypting with GnuPG. Support for PGP5 and PGP2 areJeffrey Stedfast2000-08-061-1/+108
| | | | | | | | | | 2000-08-06 Jeffrey Stedfast <fejj@helixcode.com> * mail-crypto.c (mail_crypto_openpgp_encrypt): Added support for encrypting with GnuPG. Support for PGP5 and PGP2 are still in progress. svn path=/trunk/; revision=4557
* New code to spawn off GPG/PGP to do stuff. Currently only deals withDan Winship2000-08-021-0/+405
* mail-crypto.c: New code to spawn off GPG/PGP to do stuff. Currently only deals with decryption. From Nathan Thompson-Amato <ndt@jps.net>, with bunches of changes from me. * session.c (mail_request_dialog): Expose the password dialog to the rest of the app (for use by the GPG/PGP code). * mail-format.c (handle_text_plain): Handle special inline data types. (Currently uuencoding, BinHex, and PGP encryption.) This is not the best way to deal with it, but it works for now. (try_inline_pgp): Convert an inline PGP-encrypted message into a multipart/encrypted part. (try_inline_binhex): Convert an inline BinHex attachment into an application/mac-binhex40 part (which we currently don't deal with...) (try_uudecoding): Convert a uuencoded attachment to an application/octet-stream part. (handle_multipart_encrypted): Deal with RFC2015 MIME-encoded PGP encrypted messages. (From ndt.) * mail-display.c (mail_text_write, mail_error_write): New utility functions. * Makefile.am (evolution_mail_SOURCES): add mail-crypto.c svn path=/trunk/; revision=4466