| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
2002-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Call set_errno
appropriately.
svn path=/trunk/; revision=15566
|
|
|
|
|
|
|
|
| |
using the functions that mutt uses.
this is why I love libnss.
svn path=/trunk/; revision=15229
|
|
|
|
|
|
|
|
|
| |
2002-01-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Do more like what mutt
does so hopefully this'll fix bug #16363 and #16300.
svn path=/trunk/; revision=15226
|
|
|
|
|
|
|
|
|
|
| |
2001-11-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_read): Added a check to see if
the operation has been cancelled.
(stream_write): Same.
svn path=/trunk/; revision=14751
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (save_ssl_cert): Oops, pass a mode
argument to the open() call.
* camel-tcp-stream-openssl.c (save_ssl_cert): Oops, pass a mode
argument to the open() call.
svn path=/trunk/; revision=14636
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-openssl.c (my_SSL_write): Removed.
(stream_write): Keep looping (non-blocking case) if errno is
EAGAIN, EINTR or EWOULDBLOCK. For NONBLOCKing I/O, sync up with
CamelTcpStreamRaw. As with CamelTcpStreamRaw/SSL - make sure to
write out everything before returning.
(my_SSL_read): Removed.
(stream_read): Just call ssl_error_to_errno() and check the errno
values that we care about so we can keep the general look of all
this stream code the same. Also when checking the return value of
SSL_read, check for <0 instead of ==-1 since the man page for
SSL_read doesn't say it will return -1 on fail, it just says <0.
(stream_flush): Don't fsync() since syncing on a socket is a Bad
Thing (tm).
* camel-tcp-stream-ssl.c (stream_write): Make sure we write out
everything just like in camel-tcp-stream-raw.c.
* camel-stream-buffer.c (camel_stream_buffer_gets): If
camel_stream_read() returns -1, don't necessarily return -1 to our
caller since it's possible that we did actually "read" some data
(ie, we copied some pre-buffered data into the out buffer).
* camel-stream-buffer.h: Removed CAMEL_STREAM_BUFFER_NEWLINE since
it never got used anywhere and it isn't supported anyway.
svn path=/trunk/; revision=14409
|
|
|
|
| |
svn path=/trunk/; revision=14216
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/trunk/; revision=13364
|
|
|
|
|
|
|
|
|
| |
2001-10-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Import the certificate if
the user accepts it.
svn path=/trunk/; revision=13363
|
|
|
|
|
|
|
|
|
|
| |
2001-09-19 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Oops, don't fail if
`data' isn't a CamelService...cuz it's not supposed to be! It's a
CamelTcpStreamSSL object...doh!
svn path=/trunk/; revision=12992
|
|
|
|
|
|
|
|
|
|
| |
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): #if 0 out the code that
was hopefully going to fix bug #5325 because the functions I used
seem to have been deprecated. *sigh*.
svn path=/trunk/; revision=12699
|
|
|
|
|
|
|
|
|
| |
2001-08-30 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c: #include pk11func.h.
(ssl_bad_cert): Use CERT_GetDefaultCertDB.
svn path=/trunk/; revision=12530
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (ssl_bad_cert): If the user accepts the
certificate, add it to the database as a trusted CA.
svn path=/trunk/; revision=12502
|
|
|
|
| |
svn path=/trunk/; revision=9785
|
|
|
|
| |
svn path=/trunk/; revision=9784
|
|
|
|
|
|
|
|
|
|
| |
2001-05-10 Chris Toshok <toshok@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): call SSL_Enable after
the SSL_ImportFD and before PR_Connect. Otherwise, NSS aborts
during the connect.
svn path=/trunk/; revision=9751
|
|
|
|
|
|
|
|
|
| |
2001-05-01 Anders Carlsson <andersca@codefactory.se>
* camel-tcp-stream-ssl.c (ssl_bad_cert): Remove the last argument from
camel_session_alert_user.
svn path=/trunk/; revision=9640
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-session.c: Redo this a lot so that instead of having a
class full of callbacks, we have a subclassable class. Also,
replace the increasingly horrifying
camel_session_query_authenticator with three new routines,
camel_session_get_password, camel_session_forget_password, and
camel_session_alert_user.
* camel-pgp-context.c:
* camel-pkcs7-context.c:
* camel-smime-context.c:
* providers/imap/camel-imap-store.c:
* providers/pop3/camel-pop3-store.c:
* providers/smtp/camel-smtp-transport.c:
Use camel_session_get_password / camel_session_forget_password.
* camel-tcp-stream-ssl.c (ssl_bad_cert): Use
camel_session_alert_user.
svn path=/trunk/; revision=9617
|
|
|
|
| |
svn path=/trunk/; revision=9024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-17 Jeffrey Stedfast <fejj@ximian.com>
* Makefile.am: Don't include system include dir.
* camel.c: Use quotes around the nss.h include so it doesn't try
to use the systen nss.h file.
* camel-tcp-stream-ssl.c: Same here.
svn path=/trunk/; revision=8786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-15 Jeffrey Stedfast <fejj@ximian.com>
* camel.c (camel_init): Don't use the hardcoded cert db directory,
use the one passed in.
* camel-tcp-stream-ssl.c (ssl_get_client_auth): Wrote the default
implementation. Not that we'll use this though, since this is the
default implementation provided by NSS anyway. This more or less
serves as a reference in case we want to change anything.
(ssl_auth_cert): Same.
(ssl_bad_cert): Changed the prompt string and free it when we're
done.
svn path=/trunk/; revision=8753
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_new): Ya know what?
Lets not ref the service because otherwise we'll start having the
same problems we had back with vtrash. Besides, since the store
owns the stream, it's not like the store is going anywhere without
the stream anyway.
(camel_tcp_stream_ssl_finalize): No need to unref the service.
svn path=/trunk/; revision=8722
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_connect): Pass the service into the
SSL stream, not the session.
* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_init): Set the
service to NULL.
(camel_tcp_stream_ssl_finalize): Unref the service.
(camel_tcp_stream_ssl_new): Takes a CamelService arg now rather
than a CamelSession arg.
svn path=/trunk/; revision=8720
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-14 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-store.c (camel_imap_store_init): Eek!
So the service's URL isn't set until after this is
initialized. This means we can't check for SSL here.
(imap_connect): Set the SSL options here instead.
svn path=/trunk/; revision=8715
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c: Numerous fixes to get it to build
correctly with NSS enabled.
* camel-remote-store.c (remote_connect): Pass in the session and
expected host args, oops.
* camel-provider.h (CAMEL_URL_ALLOW_SSL): Defined.
* providers/imap/camel-imap-store.c (camel_imap_store_init): Check
to see if we are supposed to use SSL and set the options
accordingly.
(imap_connect): Return FALSE here instead of NULL.
* providers/imap/camel-imap-provider.c: Add CAMEL_URL_ALLOW_SSL.
* providers/imap/libcamelimap.urls: Add "imaps" which is the
protocol for Secure IMAP.
svn path=/trunk/; revision=8711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-raw.c (stream_read): Made cancellable.
(stream_write): Same.
(stream_connect): Removed checks for DIVINE_INTERVENTION as the
code worked fine.
* camel-tcp-stream-ssl.c (stream_write): get rid of 'w' as it
wasn't really needed.
(set_errno): New function to set errno based on the NSPR error
code.
(stream_read): If an error occured, call set_errno().
(stream_write): Same.
svn path=/trunk/; revision=8701
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_get_type):
Oops. Make this a subclass of CamelTcpStream, not CamelStream.
* camel-types.h: Add the defs for CamelTcpStream and
CamelTcpStreamRaw
* Makefile.am: Add camel-tcp-stream and camel-tcp-stream-raw to
the build.
* camel-remote-store.c (remote_connect): Update to use
CamelTcpStreams.
* camel-tcp-stream-raw.c (stream_connect): Made cancellable by
copying the currently used code in camel-remote-store.c.
(stream_setsockopt): Oops, flags = fcntl (..., GET_FL);
(camel_tcp_stream_raw_get_type): Oops. Make this a subclass of
CamelTcpStream, not CamelStream.
svn path=/trunk/; revision=8697
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-09 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.h: Comment out everything unless HAVE_NSS
is defined.
* camel-tcp-stream-ssl.c (stream_read): Don't use errno, use
nspr's error code stuff.
(stream_write): Same.
svn path=/trunk/; revision=8626
|
|
|
|
|
|
|
|
|
| |
2001-01-31 Jeffrey Stedfast <fejj@helixcode.com>
* camel-tcp-stream-ssl.c: Oops, include the camel-tcp-stream-ssl
header instead of the raw one.
svn path=/trunk/; revision=8103
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-16 Jeffrey Stedfast <fejj@ximian.com>
Ugh, this design is ugly like my butt.
* camel-session.c (camel_session_query_cert_authenticator): New
function which will be useful when we integrate SSL.
* camel-tcp-stream-ssl.c (ssl_auth_cert): Callback to authenticate
a certificate.
(ssl_bad_cert): Callback that gets the reason the certificate is
bad and then calls camel's cert-authenticator callback to notify
the user and to allow the user to override the check.
(stream_connect): Set the URL we expect to connect with and setup
the auth_cert and bad_cert callbacks.
(camel_tcp_stream_ssl_new): Now takes a CamelSession and a
expected_host argument that it will use for certificate
authentication.
(camel_tcp_stream_ssl_finalize): Unref the session and free the
expected_host.
svn path=/trunk/; revision=7531
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-fs.c (stream_close): If the close() is successful,
set the fd to -1.
* camel-tcp-stream-raw.c: Removed the disconnect() method.
(stream_close): If the close() is successful, set the sockfd to
-1.
* camel-tcp-stream-ssl.c: Removed the disconnect() method.
(stream_close): If the close() is successful, set the sockfd to
NULL.
* camel-tcp-stream.c (camel_tcp_stream_disconnect): Removed,
easier to just use the close() method as it did the same thing
anyway.
svn path=/trunk/; revision=7522
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-15 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_connect): Uses an SSL socket now
although there's still a few things missing (like certificate
handling and such).
* camel.c (camel_ssl_init): A replacement function for
camel_init() that also initializes SSL.
svn path=/trunk/; revision=7494
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (stream_getsockopt): Implemented.
(stream_setsockopt): Implemented.
* camel-tcp-stream-raw.c (stream_getsockopt): Implemented.
(stream_setsockopt): Implemented.
* camel-tcp-stream.c (camel_tcp_stream_getsockopt): New method.
(camel_tcp_stream_setsockopt): Another new method. I think you get
the idea of what these are for so I won't explain them.
svn path=/trunk/; revision=7491
|
|
2001-01-14 Jeffrey Stedfast <fejj@helixcode.com>
* camel-tcp-stream-ssl.[c,h]: New CamelTcpStream class that
implements nspr sockets and eventually will use nss for
SSL/TLS. Currently doesn't do any SSL/TLS but it should still
work. It's functionally equivalent to CamelTcpStreamRaw at the
moment only it uses nspr i/o.
* camel-tcp-stream-raw.[c,h]: New CamelTcpStream class that
implements native sockets. Should be usable but may have some bugs
yet.
svn path=/trunk/; revision=7489
|