Subject: | Bug signaling: problem to authenticate with NTLM when server and requester are not in the same domain |
Date: | Fri, 17 Feb 2012 10:10:55 +0000 |
To: | "'bug-libwww-perl [...] rt.cpan.org'" <bug-libwww-perl [...] rt.cpan.org> |
From: | "Moron, Olivier" <Olivier.Moron [...] raynet-it.com> |
Hello,
I've got the latest release of libwww-perl: 6.03
I'm using the perl distribution: AcitvePerl:
Summary of my perl5 (revision 5 version 14 subversion 2) configuration:
Platform:
osname=MSWin32, osvers=5.2, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -
DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T',
optimize='-MD -Zi -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='12.0.8804', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86'
libpth=\lib
libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32
.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws
2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl514.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC
USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
USE_SITECUSTOMIZE
Locally applied patches:
ActivePerl Build 1402 [295342]
Built under MSWin32
Compiled at Oct 7 2011 15:49:44
@INC:
C:/Perl/site/lib/MSWin32-x86-multi-thread
C:/Perl/site/lib
C:/Perl/lib
.
I'm trying to connect an HTPP client to a HTTP server using NTLM for authentication.
Source code:
use LWP;
use strict;
my $url = 'http://myServer/wwwtestntlm/test.htm';
my $requester = 'myDomainX\\myUser';
my $password = 'myPass';
# Set up the ntlm client and then the base64 encoded ntlm handshake message
my $ua = LWP::UserAgent->new(keep_alive=>1);
$ua->credentials('myServer:80', '', $ requester, $password);
my $request = new HTTP::Request GET => $url;
print "--Performing request now...-----------\n";
my $response = $ua->request($request);
print "--Done with request-------------------\n";
if ($response->is_success) {print "It worked!->" . $response->code . "\n"}
else {
print "It didn't work!->" . $response->code . "\n";
print "response: " . $response->content . "\n";
}
This code is perfect when myServer belongs to the same domain than the requester, but in the case the domains are the not same, then the request fails. In the logs of the server, I can see that the domain used to try to login is not the one provided with the requester, but the one of the server. As if the provided domain was not used to do the authentication process....
Best regards,
[Description: AR-SigLeftPic]
Olivier MORON
RAYNET SNC
Miscellaneous Program Member
[Description: AR-SigCompLogo]
Registration number: RCS Grenole 429 754 096
Headquarters: Grenoble (FRANCE)
Address: 113, cours Berriat - 38000 Grenoble - FRANCE
Tel : +33 4 76 33 49 52
Cell: +33 6 07 22 53 99
Fax: +33 4 76 70 56 63
Mailto: Olivier.Moron@raynet-it.com
[Description: AR_Sceau_RG_]
The ARaymond Network
AUTOMOTIVE
INDUSTRIAL-EQUIPMENT
BUILDING
AGRICULTURE
ENERGIES
LIFE
"We support THE GLOBAL COMPACT"
No employee or agent of ARAYMOND or its Subsidiaries or Sisters' Companies (" ARAYMOND") is authorized to enter into any legally binding Agreement by e-mail or by any other electronic means unless that Agreement is expressly confirmed as part of a final contract issued in writing by an authorized Representative of ARAYMOND. In any cases the ARAYMOND General Terms and Conditions and any other documents referred in ARAYMOND offer shall exclusively apply to business relationships.
This message and any attachments are confidential, for the exclusive use of the addressee and may be legally privileged.
Any other distribution, use or reproduction is unauthorized and prohibited.
"Please consider your environmental responsibility before printing this e-mail"
Message body is not shown because it is too large.