source: perl/modules/AIM/lib/Net/OSCAR/Callbacks/23/authorization_response.pm @ 7a1c90d

barnowl_perlaim
Last change on this file since 7a1c90d was 7a1c90d, checked in by Geoffrey Thomas <geofft@mit.edu>, 16 years ago
Skeleton AIM module, and Net::OSCAR 1.925
  • Property mode set to 100644
File size: 1.0 KB
Line 
1package Net::OSCAR::Callbacks;
2use strict;
3use warnings;
4use vars qw($connection $snac $conntype $family $subtype $data $reqid $reqdata $session $protobit %data);
5sub {
6
7if($data{error}) {
8        my $error = $data{error};
9        $session->crapout($connection, "Invalid screenname.") if $error == 0x01;
10        $session->crapout($connection, "Invalid password.") if $error == 0x05;
11        $session->crapout($connection, "You've been connecting too frequently.") if $error == 0x18;
12        my($errstr) = ((ERRORS)[$error]) || "unknown error";
13        $errstr .= " ($data{error_details})" if $data{error_details};
14        $session->crapout($connection, $errstr, $error);
15        return 0;
16} else {
17        $connection->log_print(OSCAR_DBG_SIGNON, "Login OK - connecting to BOS");
18        $session->addconn(
19                auth => $data{auth_cookie},
20                conntype => CONNTYPE_BOS,
21                description => "basic OSCAR service",
22                peer => $data{server_ip}
23        );
24        $connection->{closing} = 1;
25        $connection->disconnect;
26        $session->{screenname} = $data{screenname};
27        $session->{email} = $data{email};
28
29        Net::OSCAR::Screenname->new(\$session->{screenname});
30}
31
32};
Note: See TracBrowser for help on using the repository browser.