Authen::NTLM(3pm) - phpMan

NTLM(3)               User Contributed Perl Documentation              NTLM(3)
NAME
       Authen::NTLM - An NTLM authentication module
SYNOPSIS
           use Mail::IMAPClient;
           use Authen::NTLM;
           my $imap = Mail::IMAPClient->new(Server=>'imaphost');
           ntlm_user($username);
           ntlm_password($password);
           $imap->authenticate("NTLM", Authen::NTLM::ntlm);
           :
           $imap->logout;
           ntlm_reset;
           :
       or
           ntlmv2(1);
           ntlm_user($username);
           ntlm_host($host);
           ntlm_password($password);
           :
       or
           my $ntlm = Authen::NTLM-> new(
               host     => $host,
               user     => $username,
               domain   => $domain,
               password => $password,
               version  => 1,
           );
           $ntlm-> challenge;
           :
           $ntlm-> challenge($challenge);
DESCRIPTION
           This module provides methods to use NTLM authentication.  It can
           be used as an authenticate method with the Mail::IMAPClient module
           to perform the challenge/response mechanism for NTLM connections
           or it can be used on its own for NTLM authentication with other
           protocols (eg. HTTP).
           The implementation is a direct port of the code from F<fetchmail>
           which, itself, has based its NTLM implementation on F<samba>.  As
           such, this code is not especially efficient, however it will still
           take a fraction of a second to negotiate a login on a PII which is
           likely to be good enough for most situations.
   FUNCTIONS
       ntlm_domain()
               Set the domain to use in the NTLM authentication messages.
               Returns the new domain.  Without an argument, this function
               returns the current domain entry.
       ntlm_user()
               Set the username to use in the NTLM authentication messages.
               Returns the new username.  Without an argument, this function
               returns the current username entry.
       ntlm_password()
               Set the password to use in the NTLM authentication messages.
               Returns the new password.  Without an argument, this function
               returns the current password entry.
       ntlm_reset()
               Resets the NTLM challenge/response state machine so that the next
               call to C<ntlm()> will produce an initial connect message.
       ntlm()
               Generate a reply to a challenge.  The NTLM protocol involves an
               initial empty challenge from the server requiring a message
               response containing the username and domain (which may be empty).
               The first call to C<ntlm()> generates this first message ignoring
               any arguments.
               The second time it is called, it is assumed that the argument is
               the challenge string sent from the server.  This will contain 8
               bytes of data which are used in the DES functions to generate the
               response authentication strings.  The result of the call is the
               final authentication string.
               If C<ntlm_reset()> is called, then the next call to C<ntlm()> will
               start the process again allowing multiple authentications within
               an application.
       ntlmv2()
               Use NTLM v2 authentication.
   OBJECT API
       new %options
           Creates an object that accepts the following options: "user",
           "host", "domain", "password", "version".
       challenge [$challenge]
           If $challenge is not supplied, first-stage challenge string is
           generated.  Otherwise, the third-stage challenge is generated,
           where $challenge is assumed to be extracted from the second stage
           of NTLM exchange. The result of the call is the final
           authentication string.
AUTHOR
           David (Buzz) Bussenschutt <davidbuzz AT gmail.com> - current maintainer
           Dmitry Karasik <dmitry AT karasik.org> - nice ntlmv2 patch, OO extensions.
           Andrew Hobson <ahobson AT infloop.com> - initial ntlmv2 code
           Mark Bush <Mark.Bush AT bushnet.uk> - perl port
           Eric S. Raymond - author of fetchmail
           Andrew Tridgell and Jeremy Allison for SMB/Netbios code
SEE ALSO
       perl, Mail::IMAPClient, LWP::Authen::Ntlm
HISTORY
           1.09 - fix CPAN ticket # 70703
           1.08 - fix CPAN ticket # 39925
           1.07 - not publicly released
           1.06 - relicense as GPL+ or Artistic
           1.05 - add OO interface by Dmitry Karasik
           1.04 - implementation of NTLMv2 by Andrew Hobson/Dmitry Karasik
           1.03 - fixes long-standing 1 line bug L<http://rt.cpan.org/Public/Bug/Display.html?id=9521>; - released by David Bussenschutt 9th Aug 2007
           1.02 - released by Mark Bush 29th Oct 2001
perl v5.26.3                      2011-09-09                           NTLM(3)