Message from discussion
GSSAPI programming help
Newsgroups: perl.ldap
Path: g2news2.google.com!news1.google.com!news4.google.com!newsfeed.stanford.edu!nntp.perl.org
Return-Path: <ac...@grolmsnet.de>
Mailing-List: contact perl-ldap-h...@perl.org; run by ezmlm
Delivered-To: mailing list perl-l...@perl.org
Received: (qmail 27270 invoked from network); 18 May 2006 19:51:16 -0000
Received: from x1a.develooper.com (HELO x1.develooper.com) (216.52.237.111)
by lists.develooper.com with SMTP; 18 May 2006 19:51:16 -0000
Received: (qmail 19015 invoked by uid 225); 18 May 2006 19:51:16 -0000
Delivered-To: perl-l...@perl.org
Received: (qmail 19008 invoked by alias); 18 May 2006 19:51:15 -0000
X-Spam-Status: No, hits=-2.6 required=8.0
tests=BAYES_00,DK_POLICY_SIGNSOME,SPF_HELO_PASS,SPF_PASS
X-Spam-Check-By: la.mx.develooper.com
Received-SPF: pass (x1.develooper.com: domain of ac...@grolmsnet.de designates 80.67.18.14 as permitted sender)
Received: from smtprelay02.ispgateway.de (HELO smtprelay02.ispgateway.de) (80.67.18.14)
by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Thu, 18 May 2006 12:50:42 -0700
Received: (qmail 10830 invoked from network); 18 May 2006 19:50:36 -0000
Received: from unknown (HELO thor) ([pbs]690736@[84.139.116.190])
(envelope-sender <ac...@grolmsnet.de>)
by smtprelay02.ispgateway.de (qmail-ldap-1.03) with RC4-MD5 encrypted SMTP
for <gb...@pobox.com>; 18 May 2006 19:50:36 -0000
Reply-To: ac...@grolmsnet.de
To: "Graham Barr" <gb...@pobox.com>,
"Dennis Putnam" <dennis.put...@aimaudit.com>
Subject: Re: GSSAPI programming help
Date: Thu, 18 May 2006 21:50:31 +0200
User-Agent: KMail/1.7.2
Cc: perl-l...@perl.org
References: <6C7C4F98-A8D9-4D12-AC1C-081721F18606@aimaudit.com> <13509.192.94.94.106.1147975087.squirrel@m1.goingon.net> <200605182110.38171.achim@grolmsnet.de>
In-Reply-To: <200605182110.38171.achim@grolmsnet.de>
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Message-ID: <200605182150.34709.achim@grolmsnet.de>
Approved: n...@nntp.perl.org
From: ac...@grolmsnet.de (Achim Grolms)
On Thursday 18 May 2006 21:10, Achim Grolms wrote:
> How can that "use the sasl-objetcs interface only" be done with
> Net::POP3?
I have no GSSAPI enabeled POP3 Server to test, but my idea is to add
a authsasl() method to Net::POP3 that accepts the Authen::SASL object.
Does that work? I have no chance to test it myself at the moment:
#------usage example--------------
use Authen::SASL 2.10;
use Net::POP3;
my $sasl = Authen::SASL->new( mechanism => 'GSSAPI' );
$pop = Net::POP3->new('pop3host');
$pop->authsasl($sasl);
my $msgnums = $pop->list; # hashref of msgnum => size
foreach my $msgnum (keys %$msgnums) {
my $msg = $pop->get($msgnum);
print @$msg;
}
$pop->quit;
#------end of usage example--------------
#--------changes to Net::POP3--------------------
# add this to Net::POP3 pm-file
#
sub authsasl {
my ($self, $sasl) = @_;
eval {
require MIME::Base64;
} or $self->set_status(500,["Need MIME::Base64 todo auth"]), return 0;
my $client = $sasl->client_new('pop3',${*$self}{'net_pop3_host'},0);
my $str = $client->client_start;
my @cmd = ("AUTH", $client->mechanism);
my $code;
push @cmd, MIME::Base64::encode_base64($str,'')
if defined $str and length $str;
while (($code = $self->command(@cmd)->response()) == CMD_MORE) {
@cmd = (MIME::Base64::encode_base64(
$client->client_step(
MIME::Base64::decode_base64(
($self->message)[0]
)
), ''
));
}
$code == CMD_OK;
}
#--------end of changes to Net::POP3--------------------