ARCv2
view release on metacpan or search on metacpan
lib/Arc/Connection/Server.pm view on Meta::CPAN
return $this->_SetError("No SASL mechanisms given.")
unless defined $this->{sasl_mechanisms};
# commands
return $this->_SetError("No ARCv2 commands given. There is no reason the run ARCv2.")
unless defined $this->{commands};
}
## Callback function to canonicalize the username (SASL)
## see Authen::SASL(::Cyrus) for parameter list and how to use.
sub _CBCanonUser
{
my ($this,$type,$realm,$maxlen,$user) = @_;
return $user;
}
## send the available SASL mechanisms.
## Protocol command: AUTH <comma-seperated list of SASL mechansims>\r\n
##out> true when succesful, otherwise false
##eg> $this->_Auth();
sub _Auth
lib/Arc/Connection/Server.pm view on Meta::CPAN
sub _StartAuthentication
{
my $this = shift;
$this->_PrepareAuthentication() || return;
# Setting the Callback for getting the username
# This has to happen just before the object-creation of cyrus sasl
# because there is no way to set a callback after sasl_*_new
$this->{__sasl}->callback(
canonuser => [ \&_CBCanonUser, $this ],
checkpass => $this->{sasl_cb_checkpass},
getsecret => $this->{sasl_cb_getsecret},
);
my $sasl = $this->{_sasl} =
$this->{__sasl}->server_new(
$this->{service},
"",
inet_ntoa($this->{_connection}->sockaddr).";".$this->{_connection}->sockport,
inet_ntoa($this->{_connection}->peeraddr).";".$this->{_connection}->peerport,
lib/Arc/Connection/Server.pod view on Meta::CPAN
B<Returns:> true when succesful, otherwise false
B<Example:>
$this->_Authtype();
=item _CBCanonUser ( )
B<Description>: Callback function to canonicalize the username (SASL)
see Authen::SASL(::Cyrus) for parameter list and how to use.
=item _CheckCmd ( )
=item _CmdError ( )
B<Description>: send a command error msg to client.
( run in 0.517 second using v1.01-cache-2.11-cpan-df04353d9ac )