aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-sasl.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove the "quick_login" member, which is unnecessary.Dan Winship2001-04-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * camel-service.h: Remove the "quick_login" member, which is unnecessary. * providers/smtp/camel-smtp-transport.c (smtp_auth): Remove the references to quick_login and fix this to use the CamelSasl interfaces correctly to do the same thing. (connect_to_server): Split this out of smtp_connect (smtp_connect): Use connect_to_server. When re-EHLO'ing after auth, ignore errors. (query_auth_types): Use connect_to_server rather than smtp_connect, so it doesn't try to authenticate. Add LOGIN authtype to the list of authtypes to check for. * providers/smtp/camel-smtp-provider.c (camel_provider_module_init): Add LOGIN authtype to the authtypes list explicitly. * camel-sasl.c (camel_sasl_authtype_list): Don't list LOGIN here: it's not a real SASL authtype and is only used for SMTP. * camel-sasl-plain.c: * camel-sasl-login.c: * camel-sasl-kerberos4.c: * camel-sasl-cram-md5.c: * camel-sasl-anonymous.c: * providers/pop3/camel-pop3-provider.c: Remove "quick_login" argument from authtypes. svn path=/trunk/; revision=9100
* New files to handle the LOGIN SASL mechanism.Jeffrey Stedfast2001-04-021-1/+4
| | | | | | | | | | | | | | | | | | | 2001-04-01 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-login.[c,h]: New files to handle the LOGIN SASL mechanism. * camel-sasl-plain.c: Removed the definition of camel_sasl_login_authtype. * camel-sasl.c (camel_sasl_new): Oops. I thought LOGIN was an alias to PLAIN. I was wrong. These two SASL objects have to be separate. * providers/smtp/camel-smtp-transport.c (smtp_auth): Updated to check for and use authmech->quick_login when available. svn path=/trunk/; revision=9088
* Updated the authtype values.Jeffrey Stedfast2001-04-021-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-01 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-plain.c: * camel-sasl-anonymous.c: * camel-sasl-digest-md5.c: * camel-sasl-cram-md5.c: * camel-sasl-kerberos4.c: Updated the authtype values. * camel-service.h: Added another field to CamelServiceAuthType that specifies whether or not the mechanism supports "quick auth" which means that the client can send the initial challenge in the AUTH request. * camel-sasl.c (camel_sasl_new): Add support for LOGIN. (camel_sasl_authtype_list): Here too. (camel_sasl_authtype): And finally here. * camel-sasl-plain.c: Define camel_sasl_login_authtype. * providers/smtp/camel-smtp-transport.c (smtp_auth): Only unref the SASL object if it exists. svn path=/trunk/; revision=9086
* Big header cleanups and nntp compile fixKjartan Maraas2001-03-301-0/+4
| | | | svn path=/trunk/; revision=9024
* add an argument to say whether or not you want "PLAIN" in the list (so youDan Winship2001-03-271-6/+4
| | | | | | | | | | | | | | | | * camel-sasl.c (camel_sasl_authtype_list): add an argument to say whether or not you want "PLAIN" in the list (so you don't end up with "Password" twice in the config dialog). * providers/imap/camel-imap-provider.c (camel_provider_module_init): * providers/imap/camel-imap-store.c (query_auth_types): We don't want PLAIN. * providers/smtp/camel-smtp-provider.c (camel_provider_module_init): * providers/smtp/camel-smtp-transport.c (query_auth_types): But we do. svn path=/trunk/; revision=8972
* Don't return NULL if the token is non-NULL. This is why:Jeffrey Stedfast2001-03-061-0/+3
| | | | | | | | | | | | | | | | | | | | | 2001-03-05 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl-plain.c (plain_challenge): Don't return NULL if the token is non-NULL. This is why: sending : AUTH PLAIN received: 334 ok. go on. <-- this is why sending : ZGZPaQpAZ214Lm5ldBBnb29jYXI= received: 235 {mp005-rz3} go ahead * camel-sasl.c (camel_sasl_authtype): Add the PLAIN type here. (camel_sasl_authtype_list): And here too. * camel-sasl-plain.c: Initialize the camel_sasl_plain_authtype. * camel-sasl-plain.h: extern the camel_sasl_plain_authtype. svn path=/trunk/; revision=8562
* #include "camel-sasl-digest-md5.h" (camel_sasl_authtype_list): addJeffrey Stedfast2001-03-021-0/+6
| | | | | | | | | | | | | | 2001-03-01 Jeffrey Stedfast <fejj@ximian.com> * camel-sasl.c: #include "camel-sasl-digest-md5.h" (camel_sasl_authtype_list): add DIGEST-MD5 stuff here. (camel_sasl_authtype): And here too. (camel_sasl_new): And here... * camel-sasl-digest-md5.[c,h]: new SASL class for DIGEST-MD5 (has been tested and proven to work). svn path=/trunk/; revision=8513
* Take a GByteArray as input as well. Comment that you can pass %NULL forDan Winship2001-03-021-11/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Added camel-sasl*.[c,h] to the build.Jeffrey Stedfast2001-03-011-0/+87
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