1. 01 Mar, 2001 1 commit
    • Dan Winship's avatar
      Take a GByteArray as input as well. Comment that you can pass %NULL for · 61a496ff
      Dan Winship authored
      	* camel-sasl.c (camel_sasl_challenge): Take a GByteArray as input
      	as well. Comment that you can pass %NULL for @token to get the
      	initial auth data for mechanisms that are client-initiated.
      	(camel_sasl_challenge_base64): Convenience function for protocols
      	that use base64-encoded SASL.
      	(camel_sasl_authenticated): Implement this... (it was prototyped
      	already)
      	(camel_sasl_new): Function to take a service name, a mechanism
      	name, and a CamelService, and return a CamelSasl for it.
      	(camel_sasl_authtype, camel_sasl_authtype_list): Functions to
      	return CamelServiceAuthType information about SASL mechanisms, to
      	allow providers to deal with them generically.
      
      	* camel-sasl-anonymous.c, camel-sasl-plain.c: Update/simplify for
      	CamelSasl changes. Both of these are single-round
      	(client-initiated) mechanisms, so they don't need to keep state.
      	(camel_sasl_plain_new): Removed; use camel_sasl_new instead.
      	(Can't get rid of camel_sasl_anonymous_new though...)
      
      	* camel-sasl-cram-md5.c: Update/simplify for CamelSasl changes.
      	(camel_sasl_cram_md5_new): Removed; use camel_sasl_new instead.
      	(cram_md5_challenge): Use md5_get_digest where possible, and
      	various other minor simplifications. CRAM-MD5 only has a single
      	round, so there's no need to keep track of state. This code is now
      	tested (against Cyrus IMAPd) and known to work.
      
      	* camel-sasl-kerberos4.h: Update/simplify for CamelSasl changes.
      	Make only a single #ifdef HAVE_KRB4. Remove stuff from priv that
      	isn't needed between rounds.
      	(camel_sasl_kerberos4_new): Removed; use camel_sasl_new instead
      	(krb4_challenge): Fix up the logic I broke in my previous "at
      	least make it compile" fixes, update to match other changes, and
      	remove IMAP-isms that shouldn't be in the generic code. This still
      	isn't tested, because we're stuck behind a NAT right now...
      
      svn path=/trunk/; revision=8462
      61a496ff
  2. 28 Feb, 2001 1 commit
    • Jeffrey Stedfast's avatar
      Added camel-sasl*.[c,h] to the build. · 4321d72d
      Jeffrey Stedfast authored
      2001-02-28  Jeffrey Stedfast  <fejj@ximian.com>
      
      	* Makefile.am: Added camel-sasl*.[c,h] to the build.
      
      	* camel-sasl.[c,h]: new "abstract" SASL class
      
      	* camel-sasl-kerberos4.[c,h]: new SASL class for KERBEROS_V4
      
      	* camel-sasl-cram-md5.[c,h]: new SASL class for CRAM-MD5
      
      	* camel-sasl-plain.[c,h]: new SASL class for PLAIN
      
      	* providers/imap/camel-imap-auth.c: Removed the base64 functions.
      
      	* camel-mime-utils.c (base64_encode_simple): Moved here from
      	camel-imap-auth.c
      	(base64_decode_simple): Same.
      
      svn path=/trunk/; revision=8428
      4321d72d
  3. 14 Jan, 2001 2 commits
    • Jeffrey Stedfast's avatar
      New CamelTcpStream class that implements nspr sockets and eventually will · 5608af39
      Jeffrey Stedfast authored
      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
      5608af39
    • Jeffrey Stedfast's avatar
      New stream for handling SSL/TLS connections. · 0f10d3f7
      Jeffrey Stedfast authored
      2001-01-13  Jeffrey Stedfast  <fejj@ximian.com>
      
      	* camel-stream-ssl.[c,h]: New stream for handling SSL/TLS
      	connections.
      
      svn path=/trunk/; revision=7486
      0f10d3f7