[Libreoffice-commits] core.git: Branch 'libreoffice-6-0' - xmlsecurity/source
Miklos Vajna
vmiklos at collabora.co.uk
Mon Jun 18 07:32:42 UTC 2018
xmlsecurity/source/xmlsec/xmlstreamio.cxx | 51 +++++++++++++++++++++---------
1 file changed, 37 insertions(+), 14 deletions(-)
New commits:
commit 355a59a7d4b0c8f50823d4bf68f0cb0c985a2b79
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Thu Jun 7 09:41:19 2018 +0200
Fix CppunitTest_xmlsecurity_signing with system-xmlsec 1.2.26
Swap the order of the default and custom callback registration, since
the order of lookup is now reversed since
<https://github.com/lsh123/xmlsec/commit/968646fb9b8428174a112fce2f08b1ec89d0ed97>.
Thanks Tomas Chvatal for reporting this.
(cherry picked from commit 576f899811a22e83b6fb6a120c8da303b1f4cac1)
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).
(cherry picked from commit bc4e43dd926bbe6f5315b5c372770ac8c7222177)
Change-Id: I60a347454701a679db4ccd8924a723a236d5edff
Reviewed-on: https://gerrit.libreoffice.org/55462
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
(cherry picked from commit 3d532502c9a17049bdd383a3d5c56005222331b7)
Reviewed-on: https://gerrit.libreoffice.org/55944
Tested-by: Jenkins
diff --git a/xmlsecurity/source/xmlsec/xmlstreamio.cxx b/xmlsecurity/source/xmlsec/xmlstreamio.cxx
index de32f8286c1b..910944e11611 100644
--- a/xmlsecurity/source/xmlsec/xmlstreamio.cxx
+++ b/xmlsecurity/source/xmlsec/xmlstreamio.cxx
@@ -157,21 +157,44 @@ XSECXMLSEC_DLLPUBLIC int xmlEnableStreamInputCallbacks()
//Notes: all none default callbacks will lose.
xmlSecIOCleanupCallbacks() ;
- //Register my classbacks.
- int cbs = xmlSecIORegisterCallbacks(
- xmlStreamMatch,
- xmlStreamOpen,
- xmlStreamRead,
- xmlStreamClose ) ;
- if( cbs < 0 ) {
- return -1 ;
+ // Newer xmlsec wants the callback order in the opposite direction.
+ 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 ;
+ }
}
enableXmlStreamIO |= XMLSTREAMIO_INITIALIZED ;
More information about the Libreoffice-commits
mailing list