Commit Graph

10 Commits

Author SHA1 Message Date
bdb8a0a993 Start the ssl stream off in non-ssl mode (useful for STARTTLS).
2002-03-05  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_new_raw):
	Start the ssl stream off in non-ssl mode (useful for STARTTLS).
	(camel_tcp_stream_openssl_enable_ssl): New function to toggle an
	ssl stream into ssl mode.
	(open_ssl_connection): Close the sockfd on fail so our caller
	doesn't have to - this also allows us to save the original errno.
	(stream_connect): If we want ssl mode, do our ssl stuff.
	(camel_tcp_stream_openssl_class_init): Init some SSL stuff here
	instead of in open_ssl_connection since these only ever need to be
	called once.
	(stream_read): Only use SSL_read if we are in ssl mode.
	(stream_write): Only use SSL_write if we are in ssl mode.

	* providers/smtp/camel-smtp-transport.c (smtp_helo): Check for the
	STARTTLS extension.
	(connect_to_server): Try to use STARTTLS whenever possible rather
	than the old way of doing things.
	(connect_to_server_wrapper): Wrapper around connect_to_server() to
	first try STARTTLS and then attempt normal SSL mode if we can't
	connect via STARTTLS.

	* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_enable_ssl): New
	function to toggle an ssl stream into ssl mode.
	(camel_tcp_stream_ssl_new_raw): Start the ssl stream off in
	non-ssl mode (useful for STARTTLS).
	(stream_connect): Only connect in SSL mode if required.

svn path=/trunk/; revision=15937
2002-03-06 00:33:37 +00:00
42606efd98 More fixing of the license texts.
svn path=/trunk/; revision=14216
2001-10-27 18:06:04 +00:00
f3e2d67d4d Same hack as below.
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
2001-10-10 22:13:05 +00:00
a9df5de4af Print info about the issuer of the certificate.
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-16 23:02:04 +00:00
70fa864838 Uninclude prnetdb.h since it's not needed here.
2001-03-15  Jeffrey Stedfast  <fejj@ximian.com>

	* camel-tcp-stream-ssl.h: Uninclude prnetdb.h since it's not
	needed here.

	* providers/smtp/camel-smtp-transport.c: #include prnetdb.h here
	instead of making camel-tcp-stream-ssl.h include it. Prevents some
	header bloat.

	* providers/smtp/Makefile.am: Include the NSPR_CFLAGS and
	NSS_CFLAGS.

svn path=/trunk/; revision=8738
2001-03-15 17:50:46 +00:00
d365f59027 Update for using CamelTcpStreams and also for using SSL.
2001-03-14  Jeffrey Stedfast  <fejj@ximian.com>

	* providers/smtp/camel-smtp-transport.c (smtp_connect): Update for
	using CamelTcpStreams and also for using SSL.

	* providers/smtp/libcamelsmtp.urls: defined "ssmtp"

	* providers/smtp/camel-smtp-provider.c: Defined the Secure SMTP
	provider.
	(camel_provider_module_init): Register the Secure SMTP provider.

svn path=/trunk/; revision=8728
2001-03-15 04:21:24 +00:00
c0686e978d Pass the service into the SSL stream, not the session.
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-15 02:33:34 +00:00
6da96db8dd Comment out everything unless HAVE_NSS is defined.
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-03-11 04:35:20 +00:00
405f1c5229 Ugh, this design is ugly like my butt.
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-16 07:19:49 +00:00
5608af39dd New CamelTcpStream class that implements nspr sockets and eventually will
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
2001-01-14 08:21:00 +00:00