[Net-ssleay-devel] Testers for svn trunk, please.
Mike McCauley
mikem at open.com.au
Thu Jul 27 12:10:33 UTC 2006
Hi Florian,
On Wednesday 26 July 2006 22:30, Florian Ragwitz wrote:
> On Wed, Jul 26, 2006 at 10:00:11AM +1000, Mike McCauley wrote:
> > 3. The link phase of the ssleay.dll fails, because the necessary switches
> > set by ssleay_get_build_opts (lib_paths and lib_links) dont end up on
> > the link command line. The resulting link command line is:
This problem is now fixed: it required a change in ssleay_get_build_opts,
changing
push @{ $opts->{lib_paths} }, "-L$prefix/lib/VC";
to
push @{ $opts->{lib_paths} }, "$prefix/lib/VC";
I have committed this change to svn.
So now it compiles and links on Windows, but a number of tests fail, and there
is a crash:
t/local/07_sslecho...............NOK 12
# Failed test 'accept'
# in t/local/07_sslecho.t at line 61.
t/local/07_sslecho...............NOK 14
# Failed test 'ssl_read_all'
# in t/local/07_sslecho.t at line 66.
# got: ''
# expected: 'ssleay-test'
t/local/07_sslecho...............NOK 15
# Failed test 'ssl_write_all'
Use of uninitialized value in string eq at t/local/07_sslecho.t line 110.
# in t/local/07_sslecho.t at line 67.
Free to wrong pool 212c88 not 30c0121 at t/local/07_sslecho.t line 220.
The debugger shows the crash occurs in ssleay_verify_callback_invoke() inside
the call to
count = call_sv(*callback, G_SCALAR);
If I remove all the calls to Net::SSLeay::X509_NAME_oneline from
t/local/07_sslecho.t it doesnt crash.
If I comment out the free(buf); in X509_NAME_oneline it doesnt crash.
But.... X509_NAME_oneline allocs a buffer and what else can you do but free()
it? Why does the free crash?
The few comments I see about "Free to wrong pool" indicate that this type of
crash is generally a symptom of a memory/thread problem elsewhere. I note
that t/local/07_sslecho.t uses fork() which on Windows uses threads to
implement.
Cheers.
> >
> > link -out:blib\arch\auto\Net\SSLeay\SSLeay.dll -dll -nologo
> > -nodefaultli
> > b -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86
> > SSLeay.obj C:
> > \Perl\lib\CORE\perl58.lib "C:\Program Files\Microsoft Visual
> > Studio\VC98\lib\old
> > names.lib" "C:\Program Files\Microsoft SDK\Lib\.\kernel32.lib"
> > "C:\Program Files
> > \Microsoft SDK\Lib\.\user32.lib" "C:\Program Files\Microsoft SDK\Lib\.
> > \gdi32.lib
> > " "C:\Program Files\Microsoft SDK\Lib\.\winspool.lib" "C:\Program
> > Files\Microsof
> > t SDK\Lib\.\comdlg32.lib" "C:\Program Files\Microsoft
> > SDK\Lib\.\advapi32.lib" "C
> >
> > :\Program Files\Microsoft SDK\Lib\.\shell32.lib" "C:\Program
> > : Files\Microsoft
> >
> > SDK
> > \Lib\.\ole32.lib" "C:\Program Files\Microsoft SDK\Lib\.\oleaut32.lib" "C:
> > \Progra
> > m Files\Microsoft SDK\Lib\.\netapi32.lib" "C:\Program Files\Microsoft
> > SDK\Lib\.\
> > uuid.lib" "C:\Program Files\Microsoft SDK\Lib\.\ws2_32.lib" "C:\Program
> > Files\Mi
> > crosoft SDK\Lib\.\mpr.lib" "C:\Program Files\Microsoft
> > SDK\Lib\.\winmm.lib" "C:\
> > Program Files\Microsoft SDK\Lib\.\version.lib" "C:\Program
> > Files\Microsoft SDK\L
> > ib\.\odbc32.lib" "C:\Program Files\Microsoft SDK\Lib\.\odbccp32.lib" "C:
> > \Program
> > Files\Microsoft Visual Studio\VC98\lib\msvcrt.lib" -def:SSLeay.def
>
> What's the error you get? How is this commandline supposed to look like?
>
> > Also, some Unixish command line options make it onto the Windows compiler
> > command lines (such as -g)
>
> OK, will be fixed soon.
>
> > Im note sure if this is because Module::Build also needs to make it into
> > the dist? Or does Module::Install really support Windows properly?
>
> Yes, it does. Quite well actually. It's the M::I extension in ext/ which
> seems to be broken.
--
Mike McCauley mikem at open.com.au
Open System Consultants Pty. Ltd Unix, Perl, Motif, C++, WWW
9 Bulbul Place Currumbin Waters QLD 4223 Australia http://www.open.com.au
Phone +61 7 5598-7474 Fax +61 7 5598-7070
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, TACACS+, PAM, external, Active Directory, EAP, TLS,
TTLS, PEAP etc on Unix, Windows, MacOS, NetWare etc.
More information about the Net-ssleay-devel
mailing list