home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-perl-addon-1.4.9-installer.exe / CRAM_MD5.pm < prev    next >
Encoding:
Perl POD Document  |  2003-10-21  |  798 b   |  42 lines

  1. # Copyright (c) 2002 Graham Barr <gbarr@pobox.com>. All rights reserved.
  2. # This program is free software; you can redistribute it and/or
  3. # modify it under the same terms as Perl itself.
  4.  
  5. package Authen::SASL::Perl::CRAM_MD5;
  6.  
  7. use strict;
  8. use vars qw($VERSION @ISA);
  9. use Digest::HMAC_MD5 qw(hmac_md5_hex);
  10.  
  11. $VERSION = "1.03";
  12. @ISA     = qw(Authen::SASL::Perl);
  13.  
  14. my %secflags = (
  15.     noplaintext => 1,
  16.     noanonymous => 1,
  17. );
  18.  
  19. sub _order { 2 }
  20. sub _secflags {
  21.   shift;
  22.   scalar grep { $secflags{$_} } @_;
  23. }
  24.  
  25. sub mechanism { 'CRAM-MD5' }
  26.  
  27. sub client_start {
  28.   '';
  29. }
  30.  
  31. sub client_step {
  32.   my ($self, $string) = @_;
  33.   my ($user, $pass) = map {
  34.     my $v = $self->_call($_);
  35.     defined($v) ? $v : ''
  36.   } qw(user pass);
  37.  
  38.   $user . " " . hmac_md5_hex($string,$pass);
  39. }
  40.  
  41. 1;
  42.