remove old auth prototype plugin
git-svn-id: https://svn.perl.org/qpsmtpd/trunk@254 958fd67b-6ff1-0310-b445-bb7760255be9
This commit is contained in:
parent
74a5b704b0
commit
f5a0a0998a
@ -1,57 +0,0 @@
|
|||||||
|
|
||||||
#
|
|
||||||
# This plugin doesn't work at all yet! Really; it's not even a
|
|
||||||
# prototype. More like a skeleton with no bones. Patches welcome.
|
|
||||||
#
|
|
||||||
|
|
||||||
=pod
|
|
||||||
|
|
||||||
TODO:
|
|
||||||
|
|
||||||
After an AUTH command has successfully completed, no more AUTH
|
|
||||||
commands may be issued in the same session. After a successful
|
|
||||||
AUTH command completes, a server MUST reject any further AUTH
|
|
||||||
commands with a 503 reply.
|
|
||||||
|
|
||||||
The AUTH command is not permitted during a mail transaction.
|
|
||||||
|
|
||||||
If the client wishes to cancel an authentication exchange, it issues a line
|
|
||||||
with a single "*". If the server receives such an answer, it
|
|
||||||
MUST reject the AUTH command by sending a 501 reply.
|
|
||||||
|
|
||||||
=cut
|
|
||||||
|
|
||||||
|
|
||||||
sub register {
|
|
||||||
my ($self, $qp) = @_;
|
|
||||||
$self->register_hook("ehlo", "ehlo");
|
|
||||||
$self->register_hook("unrecognized_command", "auth");
|
|
||||||
}
|
|
||||||
|
|
||||||
sub ehlo {
|
|
||||||
my ($self, $transaction, $host) = @_;
|
|
||||||
$transaction->notes('capabilities'); # or
|
|
||||||
$transaction->notes('capabilities', []);
|
|
||||||
my $capabilities = $transaction->notes('capabilities');
|
|
||||||
push @{$capabilities}, 'AUTH PLAIN LOGIN DIGEST-MD5 PLAIN';
|
|
||||||
}
|
|
||||||
|
|
||||||
sub auth {
|
|
||||||
my ($self, $transaction, $command) = @_;
|
|
||||||
return DECLINED unless $self->{expecting_response} or $command eq "auth";
|
|
||||||
|
|
||||||
if ($command eq "auth") {
|
|
||||||
warn "COMMAND: $command";
|
|
||||||
$self->qp->respond(334, "VXNlcm5hbWU6");
|
|
||||||
$self->{expecting_response} = $self->qp->command_counter;
|
|
||||||
return DONE;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$self->{expecting_response}+1 == $self->qp->command_counter
|
|
||||||
or return DECLINED;
|
|
||||||
# check the response
|
|
||||||
$self->qp->respond(123, "Something should go here...");
|
|
||||||
return DONE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user