aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-tcp-stream-openssl.c
Commit message (Collapse)AuthorAgeFilesLines
* If CAMEL_DEBUG is defined, print some useful ref/unref info.Jeffrey Stedfast2001-10-171-1/+0
| | | | | | | | | | | | | | | | 2001-10-16 Jeffrey Stedfast <fejj@ximian.com> * camel-object.[c,h]: If CAMEL_DEBUG is defined, print some useful ref/unref info. * providers/imap/camel-imap-store.c (delete_folder): Fixed an assignment warning. * camel-uid-cache.c (camel_uid_cache_new): Make sure that the parent directory exists before trying to open the filename, if it doesn't, create it. svn path=/trunk/; revision=13707
* Same.Jeffrey Stedfast2001-10-121-5/+8
| | | | | | | | | | | 2001-10-11 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (ssl_cert_is_saved): Same. * camel-tcp-stream-openssl.c (ssl_cert_is_saved): Instead of opening the file, stat it and make sure that it belongs to us. svn path=/trunk/; revision=13600
* Same hack as below.Jeffrey Stedfast2001-10-111-0/+51
| | | | | | | | | | | 2001-10-10 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.c (ssl_verify): Same hack as below. * camel-tcp-stream-ssl.c (ssl_bad_cert): Hack around the fact that adding a cert to nss's certdb seems to not work. svn path=/trunk/; revision=13575
* Make this take an SSL * instead of a CamelTcpStreamSSL *, since it can getDan Winship2001-09-281-5/+5
| | | | | | | | | * camel-tcp-stream-openssl.c (ssl_error_to_errno): Make this take an SSL * instead of a CamelTcpStreamSSL *, since it can get called from open_ssl_connection, when the CamelTcpStreamSSL isn't set up right yet. Fixes a crash on connection failure. svn path=/trunk/; revision=13213
* call SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sureDan Winship2001-09-261-4/+31
| | | | | | | | | | | | * camel-tcp-stream-openssl.c (my_SSL_read, my_SSL_write): call SSL_read/write, looping on SSL_ERROR_WANT_READ/WRITE. I'm sure there's a perfectly good reason that the API works this way. No, really. (stream_read, stream_write): use my_SSL_read and my_SSL_write. Fixes at least ximian 8593, and probably 6024 and maybe 10366, at least for OpenSSL. There may be a parallel NSS bug? svn path=/trunk/; revision=13121
* fixed compile warningJeffrey Stedfast2001-09-241-3/+2
| | | | svn path=/trunk/; revision=13090
* Don't even try to alert the user if the session isn't interactive.Jeffrey Stedfast2001-09-241-22/+24
| | | | | | | | | | | | | | | | | 2001-09-23 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.c (ssl_verify): Don't even try to alert the user if the session isn't interactive. (errlib_error_to_errno): Make the default errno EINTR so that we act just like CamelTcpStreamSSL. * camel-pgp-context.c (pgp_sign): When the password is not provided, set the exception to USER_CANCEL. (pgp_clearsign): Same. (pgp_encrypt): And here. (pgp_decrypt): Here too. svn path=/trunk/; revision=13088
* New function. Try to approximate the SSL error into errno.Peter Williams2001-08-161-1/+50
| | | | | | | | | | | | | | 2001-08-15 Peter Williams <peterw@ximian.com> * camel-tcp-stream-openssl.c (ssl_error_to_errno): New function. Try to approximate the SSL error into errno. (errlib_error_to_errno): New function, try to approximate OpenSSl's error library's error (ERR_*) into errno. (stream_read): Try to set errno using ssl_error_to_errno. (stream_write): Same. (open_ssl_connection): Same. svn path=/trunk/; revision=12065
* openssl_table is gone. we now store/get the stream from the SSL_CTX'sChris Toshok2001-07-091-46/+25
| | | | | | | | | | | | | | | | | | 2001-07-08 Chris Toshok <toshok@ximian.com> * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize): openssl_table is gone. we now store/get the stream from the SSL_CTX's app_data. (stream_read): rework the non-blocking case to account for SSL possibly buffering data (in which case select will block even though data is ready to be read), and to account for FreeBSD's strange behavior of returning -1/EAGAIN even though select said the fd was ready to be read. (ssl_verify): openssl_table is gone. (open_ssl_connection): set the SSL_CTX's app_data to be the stream, remove the openssl_table code. svn path=/trunk/; revision=10894
* use X509_STORE_CTX_get_ex_data to get at the SSL* - don't use theChris Toshok2001-07-061-10/+22
| | | | | | | | | | | | | | | | | | 2001-07-05 Chris Toshok <toshok@ximian.com> * camel-tcp-stream-openssl.c (ssl_verify): use X509_STORE_CTX_get_ex_data to get at the SSL* - don't use the X509_STORE_CTX to look up our stream, since it's not what we used to insert our stream into the hashtable. (open_ssl_connection): insert the stream into the hashtable before calling SSL_connect, as this can cause ssl_verify to be called, and we need to look up the stream there. remove the stream from the hashtable if there's an error connecting. (stream_connect): pass the CamelTcpStreamOpenSSL* to open_ssl_connection since it handles the hashtable stuff. remove hashtable stuff from here. svn path=/trunk/; revision=10819
* Store the CamelFolderInfo tree that was returned fromJeffrey Stedfast2001-05-221-0/+2
| | | | | | | | | | | | | | 2001-05-21 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (get_folder_info_online): Store the CamelFolderInfo tree that was returned from camel_folder_info_build() in a new variable, 'tree', rather than 'fi' since we later use 'fi' when syncing folders. Not only does this fix a memory leak, but it also fixes the bug where the user would only see the last folder in the folder list and/or it's subfolders. svn path=/trunk/; revision=9911
* Add support for using OpenSSL.Jeffrey Stedfast2001-05-081-22/+60
| | | | | | | | | | | | | | | | | | | | | | 2001-05-04 Jeffrey Stedfast <fejj@ximian.com> * providers/smtp/camel-smtp-transport.c (connect_to_server): Add support for using OpenSSL. * camel-remote-store.c (remote_connect): Add support for using the OpenSSL implementation. * camel-tcp-stream-ssl.c (ssl_bad_cert): Hmmmm, don't pass in a NULL as the last argument to alert_user - prototype doesn't take that argument anymore? * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize): (ssl_verify): Use a global hash table to try and lookup the CamelTcpStreamOpenSSL object given the ssl context since OpenSSL doesn't think one needs to pass data around, we should all be living in a world of global variables, duh! svn path=/trunk/; revision=9697
* Big header cleanups and nntp compile fixKjartan Maraas2001-03-301-3/+4
| | | | svn path=/trunk/; revision=9024
* Return -1 on fail. (camel_filter_driver_filter_folder): Same.Jeffrey Stedfast2001-03-221-7/+20
| | | | | | | | | | | | | | | | | | | | 2001-03-21 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_message): Return -1 on fail. (camel_filter_driver_filter_folder): Same. (camel_filter_driver_filter_mbox): Same. (camel_filter_driver_filter_folder): Return -1 if an exception was set as well. 2001-03-19 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize): Free the expected host. (camel_tcp_stream_openssl_new): Now takes a Service and an expected_host. Set them. svn path=/trunk/; revision=8871
* Print info about the issuer of the certificate.Jeffrey Stedfast2001-03-171-37/+54
| | | | | | | | | | | | | | | | | | | | 2001-03-16 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-ssl.c (ssl_bad_cert): Print info about the issuer of the certificate. * providers/smtp/camel-smtp-transport.c (smtp_connect): Use camel_tcp_stream_get_socket(). * camel-tcp-stream-openssl.c (stream_get_socket): Implemented. * camel-tcp-stream-ssl.c (stream_get_socket): Implemented. * camel-tcp-stream-raw.c (stream_get_socket): Implemented. * camel-tcp-stream.c (camel_tcp_stream_get_socket): New function. svn path=/trunk/; revision=8764
* AddedJeffrey Stedfast2001-03-151-0/+531
2001-03-14 Jeffrey Stedfast <fejj@ximian.com> * camel-tcp-stream-openssl.[c,h]: Added * Makefile.am: Added camel-tcp-stream-openssl.[c,h] to the build. * camel-types.h: Added CamelTcpStreamSSL and CamelTcpStreamOpenSSL svn path=/trunk/; revision=8710