summaryrefslogtreecommitdiff
path: root/xmlsecurity
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2018-06-07 21:24:09 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2018-06-08 08:11:46 +0200
commitbc4e43dd926bbe6f5315b5c372770ac8c7222177 (patch)
tree821901c8127378ae9547cfdc0233813c3fc145e0 /xmlsecurity
parent5708534b942c1d0ce384f6a8473da6bb569410e7 (diff)
xmlsecurity: check for the libxmlsec version runtime, not build-time
For the general benefit of --with-system-xmlsec usage scenarios (where LO may be built against an old version of xmlsec and run against a new one). Change-Id: I4ae582771dbc8eec149a706cfa5ccc0ec0859704 Reviewed-on: https://gerrit.libreoffice.org/55446 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'xmlsecurity')
-rw-r--r--xmlsecurity/source/xmlsec/xmlstreamio.cxx69
1 files changed, 36 insertions, 33 deletions
diff --git a/xmlsecurity/source/xmlsec/xmlstreamio.cxx b/xmlsecurity/source/xmlsec/xmlstreamio.cxx
index 83dd83e66a25..910944e11611 100644
--- a/xmlsecurity/source/xmlsec/xmlstreamio.cxx
+++ b/xmlsecurity/source/xmlsec/xmlstreamio.cxx
@@ -158,41 +158,44 @@ XSECXMLSEC_DLLPUBLIC int xmlEnableStreamInputCallbacks()
xmlSecIOCleanupCallbacks() ;
// Newer xmlsec wants the callback order in the opposite direction.
-#if XMLSEC_VERSION_MAJOR > 1 || (XMLSEC_VERSION_MAJOR == 1 && XMLSEC_VERSION_MINOR > 2) || (XMLSEC_VERSION_MAJOR == 1 && XMLSEC_VERSION_MINOR == 2 && XMLSEC_VERSION_SUBMINOR >= 26)
- //Register the default callbacks.
- //Notes: the error will cause xmlsec working problems.
- int cbs = xmlSecIORegisterDefaultCallbacks() ;
- if( cbs < 0 ) {
- return -1 ;
- }
-
- //Register my classbacks.
- cbs = xmlSecIORegisterCallbacks(
- xmlStreamMatch,
- xmlStreamOpen,
- xmlStreamRead,
- xmlStreamClose ) ;
- if( cbs < 0 ) {
- return -1 ;
- }
-#else
- //Register my classbacks.
- int cbs = xmlSecIORegisterCallbacks(
- xmlStreamMatch,
- xmlStreamOpen,
- xmlStreamRead,
- xmlStreamClose ) ;
- if( cbs < 0 ) {
- return -1 ;
+ if (xmlSecCheckVersionExt(1, 2, 26, xmlSecCheckVersionABICompatible))
+ {
+ //Register the default callbacks.
+ //Notes: the error will cause xmlsec working problems.
+ int cbs = xmlSecIORegisterDefaultCallbacks() ;
+ if( cbs < 0 ) {
+ return -1 ;
+ }
+
+ //Register my classbacks.
+ cbs = xmlSecIORegisterCallbacks(
+ xmlStreamMatch,
+ xmlStreamOpen,
+ xmlStreamRead,
+ xmlStreamClose ) ;
+ if( cbs < 0 ) {
+ return -1 ;
+ }
}
-
- //Register the default callbacks.
- //Notes: the error will cause xmlsec working problems.
- cbs = xmlSecIORegisterDefaultCallbacks() ;
- if( cbs < 0 ) {
- return -1 ;
+ else
+ {
+ //Register my classbacks.
+ int cbs = xmlSecIORegisterCallbacks(
+ xmlStreamMatch,
+ xmlStreamOpen,
+ xmlStreamRead,
+ xmlStreamClose ) ;
+ if( cbs < 0 ) {
+ return -1 ;
+ }
+
+ //Register the default callbacks.
+ //Notes: the error will cause xmlsec working problems.
+ cbs = xmlSecIORegisterDefaultCallbacks() ;
+ if( cbs < 0 ) {
+ return -1 ;
+ }
}
-#endif
enableXmlStreamIO |= XMLSTREAMIO_INITIALIZED ;
}