comparison libpurple/protocols/jabber/auth.c @ 28707:c1d41b7484ff

jabber: Complete (though untested) SCRAM implementation. Client proof calculations function properly, but parsing is untested.
author Paul Aurich <paul@darkrain42.org>
date Mon, 09 Nov 2009 03:42:26 +0000
parents 673ed3740cd7
children cea22db36ffc
comparison
equal deleted inserted replaced
28706:2b4465db73f1 28707:c1d41b7484ff
483 return 0; 483 return 0;
484 } 484 }
485 485
486 void jabber_auth_init(void) 486 void jabber_auth_init(void)
487 { 487 {
488 JabberSaslMech **tmp;
489 gint count, i;
490
488 auth_mechs = g_slist_insert_sorted(auth_mechs, jabber_auth_get_plain_mech(), compare_mech); 491 auth_mechs = g_slist_insert_sorted(auth_mechs, jabber_auth_get_plain_mech(), compare_mech);
489 auth_mechs = g_slist_insert_sorted(auth_mechs, jabber_auth_get_digest_md5_mech(), compare_mech); 492 auth_mechs = g_slist_insert_sorted(auth_mechs, jabber_auth_get_digest_md5_mech(), compare_mech);
490 #ifdef HAVE_CYRUS_SASL 493 #ifdef HAVE_CYRUS_SASL
491 auth_mechs = g_slist_insert_sorted(auth_mechs, jabber_auth_get_cyrus_mech(), compare_mech); 494 auth_mechs = g_slist_insert_sorted(auth_mechs, jabber_auth_get_cyrus_mech(), compare_mech);
492 #endif 495 #endif
496
497 tmp = jabber_auth_get_scram_mechs(&count);
498 for (i = 0; i < count; ++i)
499 auth_mechs = g_slist_insert_sorted(auth_mechs, tmp[i], compare_mech);
493 } 500 }
494 501
495 void jabber_auth_uninit(void) 502 void jabber_auth_uninit(void)
496 { 503 {
497 g_slist_free(auth_mechs); 504 g_slist_free(auth_mechs);