On Tuesday 04 December 2012 12:12:51 Jack Mitchell wrote: > From: Jack Mitchell <[email protected]> > > Signed-off-by: Jack Mitchell <[email protected]> > --- > .../recipes-httpd/hiawatha/files/xslt-fix.patch | 71 > ++++++++++++++++++++++ .../recipes-httpd/hiawatha/hiawatha_8.6.bb | > 5 +- > 2 files changed, 74 insertions(+), 2 deletions(-) > create mode 100644 > meta-webserver/recipes-httpd/hiawatha/files/xslt-fix.patch > > diff --git a/meta-webserver/recipes-httpd/hiawatha/files/xslt-fix.patch > b/meta-webserver/recipes-httpd/hiawatha/files/xslt-fix.patch new file mode > 100644 > index 0000000..41bf4cc > --- /dev/null > +++ b/meta-webserver/recipes-httpd/hiawatha/files/xslt-fix.patch > @@ -0,0 +1,71 @@ > +Upstream Status: Backport > +Signed-off-by: Jack Mitchell <[email protected]> > +--- > + src/xslt.c | 19 +++++++------------ > + 1 file changed, 7 insertions(+), 12 deletions(-) > + > +diff --git a/src/xslt.c b/src/xslt.c > +index 9d8d31a..58ca52d 100644 > +--- a/src/xslt.c > ++++ b/src/xslt.c > +@@ -23,6 +23,7 @@ > + #include <libxslt/transform.h> > + #include <libxslt/xsltutils.h> > + #include "libstr.h" > ++#include "liblist.h" > + #include "send.h" > + #include "log.h" > + #ifdef ENABLE_TOMAHAWK > +@@ -343,10 +344,10 @@ bool can_transform_with_xslt(t_session *session) { > + static int apply_xslt_sheet(t_session *session, xmlDocPtr data_xml) { > + xmlDocPtr style_xml, result_xml; > + xsltStylesheetPtr xslt; > +- xmlOutputBufferPtr output; > ++ xmlChar *raw_xml; > + char value[VALUE_SIZE + 1]; > + const char **params; > +- int result = 200; > ++ int result = 200, raw_size; > + > + /* Read XML data > + */ > +@@ -396,14 +397,8 @@ static int apply_xslt_sheet(t_session *session, > xmlDocPtr data_xml) { + xsltFreeStylesheet(xslt); > + return 500; > + } > +- if ((output = xmlAllocOutputBuffer(NULL)) == NULL) { > +- xmlFreeDoc(result_xml); > +- xsltFreeStylesheet(xslt); > +- return 500; > +- } > +- if (xsltSaveResultTo(output, result_xml, xslt) == -1) { > ++ if (xsltSaveResultToString(&raw_xml, &raw_size, result_xml, xslt) == -1) > { + log_file_error(session, session->file_on_disk, "transformation > error"); +- xmlOutputBufferClose(output); > + xmlFreeDoc(result_xml); > + xsltFreeStylesheet(xslt); > + return 500; > +@@ -414,17 +409,17 @@ static int apply_xslt_sheet(t_session *session, > xmlDocPtr data_xml) { + value[VALUE_SIZE] = '\0'; > + if (send_buffer(session, hs_conlen, 16) == -1) { > + result = -1; > +- } else if (snprintf(value, VALUE_SIZE, "%d\r\n\r\n", > output->buffer->use) > == -1) { ++ } else if (snprintf(value, VALUE_SIZE, "%d\r\n\r\n", raw_size) > == -1) { + result = -1; > + } else if (send_buffer(session, value, strlen(value)) == -1) { > + result = -1; > +- } else if (send_buffer(session, (char*)output->buffer->content, > output->buffer->use) == -1) { ++ } else if (send_buffer(session, > (char*)raw_xml, raw_size) == -1) { + result = -1; > + } > + > + /* Free buffers > + */ > +- xmlOutputBufferClose(output); > ++ xmlFree(raw_xml); > + xmlFreeDoc(result_xml); > + xsltFreeStylesheet(xslt); > + > +-- > +1.8.0.1 > + > diff --git a/meta-webserver/recipes-httpd/hiawatha/hiawatha_8.6.bb > b/meta-webserver/recipes-httpd/hiawatha/hiawatha_8.6.bb index > 7dcbe9e..d49bcab 100644 > --- a/meta-webserver/recipes-httpd/hiawatha/hiawatha_8.6.bb > +++ b/meta-webserver/recipes-httpd/hiawatha/hiawatha_8.6.bb > @@ -4,12 +4,13 @@ LICENSE = "GPLv2" > LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" > DEPENDS = "libxml2 libxslt" > > -PR = "r1" > +PR = "r2" > > SECTION = "net" > > SRC_URI = "http://hiawatha-webserver.org/files/${PN}-${PV}.tar.gz \ > - file://hiawatha-init" > + file://hiawatha-init \ > + file://xslt-fix.patch " > > SRC_URI[md5sum] = "372ea9e8329ed36e4fb781fdc1a6734c" > SRC_URI[sha256sum] = > "1a7fa98ce66beb54fc8490cc787461d719a98cb0e4a81caedfa18ac8b5ba3b3b"
Merged to meta-webserver, thanks. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
