Index: head/devel/xmltooling/Makefile =================================================================== --- head/devel/xmltooling/Makefile (revision 495307) +++ head/devel/xmltooling/Makefile (revision 495308) @@ -1,37 +1,38 @@ # Created by: Janos Mohacsi # $FreeBSD$ PORTNAME= xmltooling PORTVERSION= 3.0.3 +PORTREVISION= 1 CATEGORIES= devel security MASTER_SITES= http://shibboleth.net/downloads/c++-opensaml/3.0.0/ MAINTAINER= girgen@FreeBSD.org COMMENT= Low level XML support for SAML LICENSE= APACHE20 BUILD_DEPENDS= boost-libs>=0:devel/boost-libs LIB_DEPENDS= libcurl.so:ftp/curl \ liblog4shib.so:devel/log4shib \ libxerces-c.so:textproc/xerces-c3 \ libxml-security-c.so:security/apache-xml-security-c GNU_CONFIGURE= yes CONFIGURE_ARGS+=--disable-dependency-tracking --disable-doxygen-doc --with-xmlsec USES= gmake libtool pkgconfig tar:bzip2 ssl autoreconf USE_LDCONFIG= yes CONFIGURE_ENV+= openssl_LIBS="-L${OPENSSLLIB} -lcrypto" openssl_CFLAGS=-I${OPENSSLBASE} PORTDOCS= * OPTIONS_DEFINE= DOCS post-patch: @${REINPLACE_CMD} -e 's,^pkgdocdir.*=.*,pkgdocdir = ${DOCSDIR},' \ ${WRKSRC}/doc/Makefile.am post-patch-DOCS-off: @${REINPLACE_CMD} -e '/^SUBDIRS/s,doc ,,' ${WRKSRC}/Makefile.am .include Index: head/devel/xmltooling/files/patch-xmltooling_util_ParserPool.cpp =================================================================== --- head/devel/xmltooling/files/patch-xmltooling_util_ParserPool.cpp (nonexistent) +++ head/devel/xmltooling/files/patch-xmltooling_util_ParserPool.cpp (revision 495308) @@ -0,0 +1,43 @@ +commit af27c422f551e16989ff6f1722d83614c8550eb5 +Author: Scott Cantor +Date: Wed Mar 6 21:14:13 2019 -0500 + + CPPXT - Crash due to uncaught DOMException + + https://issues.shibboleth.net/jira/browse/CPPXT-143 + +diff --git a/xmltooling/util/ParserPool.cpp b/xmltooling/util/ParserPool.cpp +index 5d96b66..da23846 100644 +--- xmltooling/util/ParserPool.cpp ++++ xmltooling/util/ParserPool.cpp +@@ -148,14 +148,28 @@ DOMDocument* ParserPool::parse(DOMLSInput& domsrc) + checkinBuilder(janitor.release()); + return doc; + } +- catch (XMLException& ex) { ++ catch (const DOMException& ex) { ++ parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, (void*)nullptr); ++ parser->getDomConfig()->setParameter(XMLUni::fgXercesUserAdoptsDOMDocument, true); ++ checkinBuilder(janitor.release()); ++ auto_ptr_char temp(ex.getMessage()); ++ throw XMLParserException(string("DOM error during parsing: ") + (temp.get() ? temp.get() : "no message")); ++ } ++ catch (const SAXException& ex) { ++ parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, (void*)nullptr); ++ parser->getDomConfig()->setParameter(XMLUni::fgXercesUserAdoptsDOMDocument, true); ++ checkinBuilder(janitor.release()); ++ auto_ptr_char temp(ex.getMessage()); ++ throw XMLParserException(string("SAX error during parsing: ") + (temp.get() ? temp.get() : "no message")); ++ } ++ catch (const XMLException& ex) { + parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, (void*)nullptr); + parser->getDomConfig()->setParameter(XMLUni::fgXercesUserAdoptsDOMDocument, true); + checkinBuilder(janitor.release()); + auto_ptr_char temp(ex.getMessage()); + throw XMLParserException(string("Xerces error during parsing: ") + (temp.get() ? temp.get() : "no message")); + } +- catch (XMLToolingException&) { ++ catch (const XMLToolingException&) { + parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, (void*)nullptr); + parser->getDomConfig()->setParameter(XMLUni::fgXercesUserAdoptsDOMDocument, true); + checkinBuilder(janitor.release()); Property changes on: head/devel/xmltooling/files/patch-xmltooling_util_ParserPool.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property