[xmlsec] FW: Free/Destroy versus Memory Leak

Edward Shallow ed.shallow at rogers.com
Fri May 5 14:39:24 PDT 2006


Hi Aleksey,

    just getting back onto this again ... i.e. compiling for Windows

- Got passed the missing "C" runtime stuff, now I am failing on
openssl-related include's

- I have the Windows OpenSSL distribution recommended by OpenSSL.org i.e.
http://www.slproweb.com/products/Win32OpenSSL.html

- I have both xmlsec1-1.2.9/include/openssl (copied from above) and
xmlsec1-1.2.9/include/xmlsec/openssl (from you) both containing header
files.

- _xmlSecOpenSSLX509StoreCtx doesn't seem to be in the headers ?

Any ideas on the X509vfy.c errors below ?

Appreciated ...

Ed

P.S. Are the warnings on xmlsec-ltdl.c below OK ?

P.P.S Sorry for the lengthy nmake output :(





C:\XMLSec\xmlsec1-1.2.9\win32>mycfg.bat
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.


libxmlsec version: 1.2.9
Created Makefile.

XMLSEC configuration
----------------------------
         Use Crypto: openssl mscrypto
 Use Default Crypto: openssl
       Use OpenSSL: Enabled
Use OpenSSL Version: Undefined
            Use NSS: Disabled
       Use MSCrypto: Enabled
        Use LibXSLT: Enabled
          Use iconv: Disabled
     NT 4.0 support: Enabled

Win32 build configuration
-------------------------
     Debug symbols: Enabled
     Static xmlsec: Disabled
  Enable DL suport: Enabled
    Install prefix: c:\XMLSec\xmlsec1-1.2.9
      Put tools in: $(PREFIX)\bin
    Put headers in: $(PREFIX)\include
Put static libs in: $(PREFIX)\lib
Put shared libs in: $(PREFIX)\lib
      Include path:
c:\XMLSec\xmlsec1-1.2.9\include;c:\XMLSec\xmlsec1-1.2.9\include\mozilla;c:\X
MLSec\xmlsec1-1.2.9\include\mozill
a\nspr;c:\XMLSec\xmlsec1-1.2.9\include\mozilla\nss;C:\MSSDK\include
          Lib path: c:\XMLSec\xmlsec1-1.2.9\lib;C:\MSSDK\lib

A subdirectory or file binaries already exists.
c:\XMLSec\xmlsec1-1.2.9\bin\iconv.dll
c:\XMLSec\xmlsec1-1.2.9\bin\libexslt.dll
c:\XMLSec\xmlsec1-1.2.9\bin\libxml2.dll
c:\XMLSec\xmlsec1-1.2.9\bin\libxslt.dll
        4 file(s) copied.

C:\XMLSec\xmlsec1-1.2.9\win32>nmake

Microsoft (R) Program Maintenance Utility   Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.

        if not exist libxmlsec.int mkdir libxmlsec.int
        cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_REENTRANT"
/W1 /MD /I.. /I..\include /Ic:\XMLSec\xmlsec1-1.2.9\in
clude /D PACKAGE=\"xmlsec\" /D "HAVE_STDIO_H" /D "HAVE_STDLIB_H" /D
"HAVE_STRING_H" /D "HAVE_CTYPE_H" /D "HAVE_MALLOC_H" /D "HAVE_
MEMORY_H" /D "_DEBUG" /Od /Z7 /DXMLSEC_MSCRYPTO_NT4=1 /D LTDL_OBJDIR=\"\" /D
LTDL_SHLIB_EXT=\".dll\" /Folibxmlsec.int\ /c ..\src\a
pp.c ..\src\base64.c ..\src\bn.c ..\src\buffer.c ..\src\c14n.c ..\src\dl.c
..\src\enveloped.c ..\src\errors.c ..\src\io.c ..\src\k
eyinfo.c ..\src\keys.c ..\src\keysdata.c ..\src\keysmngr.c ..\src\list.c
..\src\membuf.c ..\src\nodeset.c ..\src\parser.c ..\src\s
oap.c ..\src\strings.c ..\src\templates.c ..\src\transforms.c ..\src\x509.c
..\src\xkms.c ..\src\xmldsig.c ..\src\xmlenc.c ..\src\
xmlsec.c ..\src\xmltree.c ..\src\xpath.c ..\src\xslt.c ..\src\xmlsec-ltdl.c
app.c
base64.c
bn.c
buffer.c
c14n.c
dl.c
enveloped.c
errors.c
io.c
keyinfo.c
keys.c
keysdata.c
keysmngr.c
list.c
membuf.c
nodeset.c
parser.c
soap.c
strings.c
templates.c
Generating Code...
Compiling...
transforms.c
x509.c
xkms.c
xmldsig.c
xmlenc.c
xmlsec.c
xmltree.c
xpath.c
xslt.c
xmlsec-ltdl.c
..\src\xmlsec-ltdl.c(289) : warning C4090: 'function' : different 'const'
qualifiers
..\src\xmlsec-ltdl.c(805) : warning C4090: '=' : different 'const'
qualifiers
..\src\xmlsec-ltdl.c(907) : warning C4113: 'xmlsec_lt_module (__cdecl *)()'
differs in parameter lists from 'xmlsec_lt_module_open
 (__cdecl *)'
..\src\xmlsec-ltdl.c(907) : warning C4113: 'int (__cdecl *)()' differs in
parameter lists from 'xmlsec_lt_module_close (__cdecl *)
'
..\src\xmlsec-ltdl.c(907) : warning C4113: 'void *(__cdecl *)()' differs in
parameter lists from 'xmlsec_lt_find_sym (__cdecl *)'
..\src\xmlsec-ltdl.c(1255) : warning C4113: 'xmlsec_lt_module (__cdecl *)()'
differs in parameter lists from 'xmlsec_lt_module_ope
n (__cdecl *)'
..\src\xmlsec-ltdl.c(1255) : warning C4113: 'int (__cdecl *)()' differs in
parameter lists from 'xmlsec_lt_module_close (__cdecl *
)'
..\src\xmlsec-ltdl.c(1255) : warning C4113: 'void *(__cdecl *)()' differs in
parameter lists from 'xmlsec_lt_find_sym (__cdecl *)'

..\src\xmlsec-ltdl.c(1255) : warning C4113: 'int (__cdecl *)()' differs in
parameter lists from 'xmlsec_lt_dlloader_exit (__cdecl
*)'
..\src\xmlsec-ltdl.c(1632) : warning C4090: '=' : different 'const'
qualifiers
..\src\xmlsec-ltdl.c(1680) : warning C4090: '=' : different 'const'
qualifiers
..\src\xmlsec-ltdl.c(2053) : warning C4090: '=' : different 'const'
qualifiers
..\src\xmlsec-ltdl.c(2238) : warning C4090: '=' : different 'const'
qualifiers
Generating Code...
        link.exe /nologo /LIBPATH:binaries
/LIBPATH:c:\XMLSec\xmlsec1-1.2.9\lib /DEBUG /DLL /VERSION:1.2
/IMPLIB:binaries\libxmls
ec.lib /OUT:binaries\libxmlsec.dll  libxmlsec.int\app.obj
libxmlsec.int\base64.obj libxmlsec.int\bn.obj libxmlsec.int\buffer.obj
libxmlsec.int\c14n.obj  libxmlsec.int\dl.obj  libxmlsec.int\enveloped.obj
libxmlsec.int\errors.obj  libxmlsec.int\io.obj  libxmls
ec.int\keyinfo.obj  libxmlsec.int\keys.obj  libxmlsec.int\keysdata.obj
libxmlsec.int\keysmngr.obj  libxmlsec.int\list.obj  libxml
sec.int\membuf.obj  libxmlsec.int\nodeset.obj  libxmlsec.int\parser.obj
libxmlsec.int\soap.obj  libxmlsec.int\strings.obj  libxml
sec.int\templates.obj  libxmlsec.int\transforms.obj  libxmlsec.int\x509.obj
libxmlsec.int\xkms.obj  libxmlsec.int\xmldsig.obj  li
bxmlsec.int\xmlenc.obj  libxmlsec.int\xmlsec.obj  libxmlsec.int\xmltree.obj
libxmlsec.int\xpath.obj  libxmlsec.int\xslt.obj libxm
lsec.int\xmlsec-ltdl.obj  libxml2.lib libxslt.lib
MSVCRT.lib(crtdll.obj) : warning LNK4229: invalid directive
'/manifestdependency:type='win32' name='Microsoft.VC80.CRT' version='8
.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b''
encountered; ignored
MSVCRT.lib(crtdll.obj) : warning LNK4229: invalid directive
'/manifestdependency:type='win32' name='Microsoft.VC80.CRT' version='8
.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b''
encountered; ignored
   Creating library binaries\libxmlsec.lib and object binaries\libxmlsec.exp
        if not exist libxmlsec_openssl.int mkdir libxmlsec_openssl.int
        cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_REENTRANT"
/W1 /MD /I.. /I..\include /Ic:\XMLSec\xmlsec1-1.2.9\in
clude /D PACKAGE=\"xmlsec\" /D "HAVE_STDIO_H" /D "HAVE_STDLIB_H" /D
"HAVE_STRING_H" /D "HAVE_CTYPE_H" /D "HAVE_MALLOC_H" /D "HAVE_
MEMORY_H" /D "_DEBUG" /Od /Z7 /DXMLSEC_MSCRYPTO_NT4=1 /D LTDL_OBJDIR=\"\" /D
LTDL_SHLIB_EXT=\".dll\" /D "XMLSEC_OPENSSL_098" /D "X
MLSEC_CRYPTO_OPENSSL" /D "XMLSEC_CRYPTO=\"openssl\""
/Folibxmlsec_openssl.int\ /c ..\src\openssl\app.c ..\src\openssl\bn.c
..\src\
openssl\ciphers.c ..\src\openssl\crypto.c ..\src\openssl\digests.c
..\src\openssl\evp.c ..\src\openssl\hmac.c ..\src\openssl\kt_rs
a.c ..\src\openssl\kw_aes.c ..\src\openssl\kw_des.c
..\src\openssl\signatures.c ..\src\openssl\symkeys.c ..\src\openssl\x509.c
..\
src\openssl\x509vfy.c
app.c
bn.c
ciphers.c
crypto.c
digests.c
..\src\openssl\digests.c(146) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
..\src\openssl\digests.c(152) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
..\src\openssl\digests.c(158) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
..\src\openssl\digests.c(164) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
evp.c
hmac.c
..\src\openssl\hmac.c(156) : warning C4047: '=' : 'const EVP_MD *' differs
in levels of indirection from 'int'
..\src\openssl\hmac.c(162) : warning C4047: '=' : 'const EVP_MD *' differs
in levels of indirection from 'int'
..\src\openssl\hmac.c(168) : warning C4047: '=' : 'const EVP_MD *' differs
in levels of indirection from 'int'
..\src\openssl\hmac.c(174) : warning C4047: '=' : 'const EVP_MD *' differs
in levels of indirection from 'int'
kt_rsa.c
kw_aes.c
kw_des.c
signatures.c
..\src\openssl\signatures.c(185) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
..\src\openssl\signatures.c(192) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
..\src\openssl\signatures.c(199) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
..\src\openssl\signatures.c(206) : warning C4047: '=' : 'const EVP_MD *'
differs in levels of indirection from 'int'
symkeys.c
x509.c
x509vfy.c
..\src\openssl\x509vfy.c(53) : error C2061: syntax error : identifier
'X509_VERIFY_PARAM'
..\src\openssl\x509vfy.c(55) : error C2059: syntax error : '}'
..\src\openssl\x509vfy.c(75) : error C2027: use of undefined type
'_xmlSecOpenSSLX509StoreCtx'
        ..\src\openssl\x509vfy.c(47) : see declaration of
'_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(154) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(155) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(155) : warning C4133: 'function' : incompatible
types - from 'xmlChar *' to 'STACK *'
..\src\openssl\x509vfy.c(155) : error C2198: 'xmlSecOpenSSLX509FindCert' :
too few arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(191) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(205) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(206) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(206) : error C2198: 'sk_num' : too few arguments
for call through pointer-to-function
..\src\openssl\x509vfy.c(207) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(207) : warning C4047: 'function' : 'const STACK *'
differs in levels of indirection from 'int'
..\src\openssl\x509vfy.c(207) : error C2198: 'sk_value' : too few arguments
for call through pointer-to-function
..\src\openssl\x509vfy.c(232) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(232) : warning C4133: 'function' : incompatible
types - from 'X509_CRL *' to 'X509_STORE *'
..\src\openssl\x509vfy.c(232) : error C2198: 'xmlSecOpenSSLX509VerifyCRL' :
too few arguments for call through pointer-to-function

..\src\openssl\x509vfy.c(267) : error C2037: left of 'crls' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(268) : error C2037: left of 'crls' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(268) : warning C4133: 'function' : incompatible
types - from 'X509 *' to 'STACK *'
..\src\openssl\x509vfy.c(268) : error C2198:
'xmlSecOpenSSLX509VerifyCertAgainstCrls' : too few arguments for call
through pointer
-to-function
..\src\openssl\x509vfy.c(291) : error C2065: 'X509_VERIFY_PARAM' :
undeclared identifier
..\src\openssl\x509vfy.c(291) : error C2065: 'vpm' : undeclared identifier
..\src\openssl\x509vfy.c(291) : warning C4047: '=' : 'int' differs in levels
of indirection from 'void *'
..\src\openssl\x509vfy.c(291) : error C2106: '=' : left operand must be
l-value
..\src\openssl\x509vfy.c(292) : error C2143: syntax error : missing ';'
before 'type'
..\src\openssl\x509vfy.c(295) : warning C4047: '==' : 'int' differs in
levels of indirection from 'void *'
..\src\openssl\x509vfy.c(303) : error C2065: 'vpm_flags' : undeclared
identifier
..\src\openssl\x509vfy.c(303) : error C2223: left of '->flags' must point to
struct/union
..\src\openssl\x509vfy.c(314) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(314) : warning C4133: 'function' : incompatible
types - from 'X509 *' to 'X509_STORE *'
..\src\openssl\x509vfy.c(314) : warning C4133: 'function' : incompatible
types - from 'STACK *' to 'X509 *'
..\src\openssl\x509vfy.c(314) : error C2198: 'X509_STORE_CTX_init' : too few
arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(449) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(451) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(451) : warning C4133: 'function' : incompatible
types - from 'X509 *' to 'X509_STORE *'
..\src\openssl\x509vfy.c(451) : error C2198: 'X509_STORE_add_cert' : too few
arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(463) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(465) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(465) : warning C4133: 'function' : incompatible
types - from 'char *' to 'STACK *'
..\src\openssl\x509vfy.c(465) : error C2198: 'sk_push' : too few arguments
for call through pointer-to-function
..\src\openssl\x509vfy.c(498) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(500) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(500) : warning C4133: 'function' : incompatible
types - from 'X509_LOOKUP_METHOD *' to 'X509_STORE *'
..\src\openssl\x509vfy.c(500) : error C2198: 'X509_STORE_add_lookup' : too
few arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(523) : error C2027: use of undefined type
'_xmlSecOpenSSLX509StoreCtx'
        ..\src\openssl\x509vfy.c(47) : see declaration of
'_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(525) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(526) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(535) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(535) : error C2198: 'X509_STORE_set_default_paths'
: too few arguments for call through pointer-to-functi
on
..\src\openssl\x509vfy.c(548) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(548) : warning C4133: 'function' : incompatible
types - from 'X509_LOOKUP_METHOD *' to 'X509_STORE *'
..\src\openssl\x509vfy.c(548) : error C2198: 'X509_STORE_add_lookup' : too
few arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(560) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(561) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(570) : error C2037: left of 'crls' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(571) : error C2037: left of 'crls' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(581) : error C2037: left of 'vpm' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(582) : error C2037: left of 'vpm' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(590) : error C2037: left of 'vpm' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(591) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(591) : error C2037: left of 'vpm' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(609) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(610) : error C2037: left of 'xst' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(610) : error C2198: 'X509_STORE_free' : too few
arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(612) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(613) : error C2037: left of 'untrusted' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(613) : warning C4047: 'function' : 'STACK *'
differs in levels of indirection from 'void (__cdecl *)(void
 *)'
..\src\openssl\x509vfy.c(613) : error C2198: 'sk_pop_free' : too few
arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(615) : error C2037: left of 'crls' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(616) : error C2037: left of 'crls' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(616) : warning C4047: 'function' : 'STACK *'
differs in levels of indirection from 'void (__cdecl *)(void
 *)'
..\src\openssl\x509vfy.c(616) : error C2198: 'sk_pop_free' : too few
arguments for call through pointer-to-function
..\src\openssl\x509vfy.c(619) : error C2037: left of 'vpm' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(620) : error C2037: left of 'vpm' specifies
undefined struct/union '_xmlSecOpenSSLX509StoreCtx'
..\src\openssl\x509vfy.c(624) : error C2027: use of undefined type
'_xmlSecOpenSSLX509StoreCtx'
        ..\src\openssl\x509vfy.c(47) : see declaration of
'_xmlSecOpenSSLX509StoreCtx'
Generating Code...
NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
Stop. 

-----Original Message-----
From: xmlsec-bounces at aleksey.com [mailto:xmlsec-bounces at aleksey.com] On
Behalf Of Aleksey Sanin
Sent: May 3, 2006 12:03 AM
To: ed.shallow at rogers.com
Cc: xmlsec at aleksey.com; igor at zlatkovic.com
Subject: Re: [xmlsec] FW: Free/Destroy versus Memory Leak



Edward Shallow wrote:
> Almost there. Can't find msvcrt.lib
> 
> Not in MSSDK or VC6 ???
> 
> Ed

This is MS runtime library... Yet another MS download:

http://wiki.tcl.tk/11431

Aleksey

_______________________________________________
xmlsec mailing list
xmlsec at aleksey.com
http://www.aleksey.com/mailman/listinfo/xmlsec





More information about the xmlsec mailing list