Mercurial > pidgin.yaz
view libpurple/plugins/test.pl @ 30288:a81d44a11d99
If SASL authentication fails, we generally shouldn't be setting an error
message, as the actual error was communicated via the
"urn:ietf:params:xml:ns:xmpp-sasl" failure stanza. Setting an error means that
jabber_auth_handle_failure() won't ever call jabber_parse_error() to extract
the actual error message and interpretation.
For example, if authentication fails, previously we would show "SASL
authentication failed" and think it was a PURPLE_CONNECTION_ERROR_NETWORK_ERROR
which is incorrect. Now, jabber_parse_error() gets a chance to return
"Not Authorized", clear the saved password, and return
PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED.
We should still set this error message if there is an internal SASL failure
leading to SASL_BADPARAM or SASL_NOMEM.
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Tue, 04 May 2010 01:46:40 +0000 |
parents | c9dc220e0301 |
children |
line wrap: on
line source
use Purple; %PLUGIN_INFO = ( perl_api_version => 2, name => 'Test Perl Plugin', version => '1.0', summary => 'Provides as a test base for the perl plugin.', description => 'Provides as a test base for the perl plugin.', author => 'Etan Reisner <deryni\@pidgin.im>', url => 'http://pidgin.im', load => "plugin_load" ); sub plugin_init { return %PLUGIN_INFO; } sub account_status_cb { my ($account, $old, $new, $data) = @_; Purple::Debug::info("perl test plugin", "In account_status_cb\n"); Purple::Debug::info("perl test plugin", "Account " . $account->get_username() . " changed status.\n"); Purple::Debug::info("perl test plugin", $data . "\n"); } sub plugin_load { my $plugin = shift; Purple::Debug::info("perl test plugin", "plugin_load\n"); Purple::Debug::info("perl test plugin", "Listing accounts.\n"); foreach $account (Purple::Accounts::get_all()) { Purple::Debug::info("perl test plugin", $account->get_username() . "\n"); } Purple::Signal::connect(Purple::Accounts::get_handle(), "account-status-changed", $plugin, \&account_status_cb, "test"); }