Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=gnometesting.git;a=commitdiff;h=d1f2a2a9dfb0e0b5e9cc3ed2c7e14d06feb259ad
commit d1f2a2a9dfb0e0b5e9cc3ed2c7e14d06feb259ad Author: Baste <[email protected]> Date: Mon Sep 21 22:27:28 2015 +0200 libxml2-2.9.2-1-x86_64 - 2.8.0 -> 2.9.2 - Remove patch diff --git a/source/base/libxml2/CVE-2012-5134.patch b/source/base/libxml2/CVE-2012-5134.patch deleted file mode 100644 index 3ac7f49..0000000 --- a/source/base/libxml2/CVE-2012-5134.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 6a36fbe3b3e001a8a840b5c1fdd81cefc9947f0d Mon Sep 17 00:00:00 2001 -From: Daniel Veillard <[email protected]> -Date: Mon, 29 Oct 2012 02:39:55 +0000 -Subject: Fix potential out of bound access - -http://git.gnome.org/browse/libxml2/patch/?id=6a36fbe3b3e001a8a840b5c1fdd81cefc9947f0d -http://git.gnome.org/browse/libxml2/commit/?id=6a36fbe3b3e001a8a840b5c1fdd81cefc9947f0d - ---- -Index: libxml2-2.8.0+dfsg1/parser.c -=================================================================== ---- libxml2-2.8.0+dfsg1.orig/parser.c 2012-12-04 09:40:39.000000000 -0800 -+++ libxml2-2.8.0+dfsg1/parser.c 2012-12-04 10:59:28.000000000 -0800 -@@ -3932,7 +3932,7 @@ - c = CUR_CHAR(l); - } - if ((in_space) && (normalize)) { -- while (buf[len - 1] == 0x20) len--; -+ while ((len > 0) && (buf[len - 1] == 0x20)) len--; - } - buf[len] = 0; - if (RAW == '<') { diff --git a/source/base/libxml2/CVE-2013-0339.patch b/source/base/libxml2/CVE-2013-0339.patch deleted file mode 100644 index 769da50..0000000 --- a/source/base/libxml2/CVE-2013-0339.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 23f05e0c33987d6605387b300c4be5da2120a7ab Mon Sep 17 00:00:00 2001 -From: Daniel Veillard <[email protected]> -Date: Tue, 19 Feb 2013 02:21:49 +0000 -Subject: Detect excessive entities expansion upon replacement - -If entities expansion in the XML parser is asked for, -it is possble to craft relatively small input document leading -to excessive on-the-fly content generation. -This patch accounts for those replacement and stop parsing -after a given threshold. it can be bypassed as usual with the -HUGE parser option. ---- -Index: libxml2-2.8.0+dfsg1/include/libxml/parser.h -=================================================================== ---- libxml2-2.8.0+dfsg1.orig/include/libxml/parser.h 2013-03-06 15:25:52.856052514 -0500 -+++ libxml2-2.8.0+dfsg1/include/libxml/parser.h 2013-03-06 15:25:52.840052514 -0500 -@@ -310,6 +310,7 @@ - xmlParserNodeInfo *nodeInfoTab; /* array of nodeInfos */ - - int input_id; /* we need to label inputs */ -+ unsigned long sizeentcopy; /* volume of entity copy */ - }; - - /** -Index: libxml2-2.8.0+dfsg1/parser.c -=================================================================== ---- libxml2-2.8.0+dfsg1.orig/parser.c 2013-03-06 15:25:52.856052514 -0500 -+++ libxml2-2.8.0+dfsg1/parser.c 2013-03-06 15:25:52.848052514 -0500 -@@ -119,7 +119,7 @@ - */ - static int - xmlParserEntityCheck(xmlParserCtxtPtr ctxt, unsigned long size, -- xmlEntityPtr ent) -+ xmlEntityPtr ent, unsigned long replacement) - { - unsigned long consumed = 0; - -@@ -127,7 +127,24 @@ - return (0); - if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP) - return (1); -- if (size != 0) { -+ if (replacement != 0) { -+ if (replacement < XML_MAX_TEXT_LENGTH) -+ return(0); -+ -+ /* -+ * If the volume of entity copy reaches 10 times the -+ * amount of parsed data and over the large text threshold -+ * then that's very likely to be an abuse. -+ */ -+ if (ctxt->input != NULL) { -+ consumed = ctxt->input->consumed + -+ (ctxt->input->cur - ctxt->input->base); -+ } -+ consumed += ctxt->sizeentities; -+ -+ if (replacement < XML_PARSER_NON_LINEAR * consumed) -+ return(0); -+ } else if (size != 0) { - /* - * Do the check based on the replacement size of the entity - */ -@@ -173,7 +190,6 @@ - */ - return (0); - } -- - xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL); - return (1); - } -@@ -2706,7 +2722,7 @@ - buffer[nbchars++] = *current++; - if (nbchars > - buffer_size - XML_PARSER_BUFFER_SIZE) { -- if (xmlParserEntityCheck(ctxt, nbchars, ent)) -+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0)) - goto int_error; - growBuffer(buffer, XML_PARSER_BUFFER_SIZE); - } -@@ -2748,7 +2764,7 @@ - buffer[nbchars++] = *current++; - if (nbchars > - buffer_size - XML_PARSER_BUFFER_SIZE) { -- if (xmlParserEntityCheck(ctxt, nbchars, ent)) -+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0)) - goto int_error; - growBuffer(buffer, XML_PARSER_BUFFER_SIZE); - } -@@ -6976,7 +6992,7 @@ - xmlFreeNodeList(list); - return; - } -- if (xmlParserEntityCheck(ctxt, 0, ent)) { -+ if (xmlParserEntityCheck(ctxt, 0, ent, 0)) { - xmlFreeNodeList(list); - return; - } -@@ -7136,6 +7152,13 @@ - xmlNodePtr nw = NULL, cur, firstChild = NULL; - - /* -+ * We are copying here, make sure there is no abuse -+ */ -+ ctxt->sizeentcopy += ent->length; -+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy)) -+ return; -+ -+ /* - * when operating on a reader, the entities definitions - * are always owning the entities subtree. - if (ctxt->parseMode == XML_PARSE_READER) -@@ -7175,6 +7198,14 @@ - } else if (list == NULL) { - xmlNodePtr nw = NULL, cur, next, last, - firstChild = NULL; -+ -+ /* -+ * We are copying here, make sure there is no abuse -+ */ -+ ctxt->sizeentcopy += ent->length; -+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy)) -+ return; -+ - /* - * Copy the entity child list and make it the new - * entity child list. The goal is to make sure any -@@ -14355,6 +14386,7 @@ - ctxt->catalogs = NULL; - ctxt->nbentities = 0; - ctxt->sizeentities = 0; -+ ctxt->sizeentcopy = 0; - xmlInitNodeInfoSeq(&ctxt->node_seq); - - if (ctxt->attsDefault != NULL) { -Index: libxml2-2.8.0+dfsg1/parserInternals.c -=================================================================== ---- libxml2-2.8.0+dfsg1.orig/parserInternals.c 2013-03-06 15:25:52.856052514 -0500 -+++ libxml2-2.8.0+dfsg1/parserInternals.c 2013-03-06 15:25:52.848052514 -0500 -@@ -1761,6 +1761,8 @@ - ctxt->charset = XML_CHAR_ENCODING_UTF8; - ctxt->catalogs = NULL; - ctxt->nbentities = 0; -+ ctxt->sizeentities = 0; -+ ctxt->sizeentcopy = 0; - ctxt->input_id = 1; - xmlInitNodeInfoSeq(&ctxt->node_seq); - return(0); diff --git a/source/base/libxml2/CVE-2013-2877.patch b/source/base/libxml2/CVE-2013-2877.patch deleted file mode 100644 index e5c57a9..0000000 --- a/source/base/libxml2/CVE-2013-2877.patch +++ /dev/null @@ -1,754 +0,0 @@ -Description: fix denial of service via incomplete document -Origin: backport, https://git.gnome.org/browse/libxml2/commit/?id=48b4cdde3483e054af8ea02e0cd7ee467b0e9a50 -Origin: backport, https://git.gnome.org/browse/libxml2/commit/?id=e50ba8164eee06461c73cd8abb9b46aa0be81869 -Origin: backport, https://git.gnome.org/browse/libxml2/commit/?id=9ca816b3a64e7b1bada7baa2cbc09e8937b38215 - -Index: libxml2-2.8.0+dfsg1/include/libxml/xmlerror.h -=================================================================== ---- libxml2-2.8.0+dfsg1.orig/include/libxml/xmlerror.h 2009-07-30 11:24:34.000000000 -0400 -+++ libxml2-2.8.0+dfsg1/include/libxml/xmlerror.h 2013-07-16 13:37:43.000000000 -0400 -@@ -205,6 +205,7 @@ - XML_WAR_ENTITY_REDEFINED, /* 107 */ - XML_ERR_UNKNOWN_VERSION, /* 108 */ - XML_ERR_VERSION_MISMATCH, /* 109 */ -+ XML_ERR_USER_STOP, /* 111 */ - XML_NS_ERR_XML_NAMESPACE = 200, - XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */ - XML_NS_ERR_QNAME, /* 202 */ -Index: libxml2-2.8.0+dfsg1/parser.c -=================================================================== ---- libxml2-2.8.0+dfsg1.orig/parser.c 2013-07-16 13:37:43.000000000 -0400 -+++ libxml2-2.8.0+dfsg1/parser.c 2013-07-16 13:53:38.892991209 -0400 -@@ -2161,6 +2161,8 @@ - "Pushing input %d : %.30s\n", ctxt->inputNr+1, input->cur); - } - ret = inputPush(ctxt, input); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); - GROW; - return(ret); - } -@@ -2197,6 +2199,8 @@ - if (count++ > 20) { - count = 0; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(0); - } - if ((RAW >= '0') && (RAW <= '9')) - val = val * 16 + (CUR - '0'); -@@ -2228,6 +2232,8 @@ - if (count++ > 20) { - count = 0; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(0); - } - if ((RAW >= '0') && (RAW <= '9')) - val = val * 10 + (CUR - '0'); -@@ -2514,6 +2520,8 @@ - NEXT; - if ((ctxt->sax != NULL) && (ctxt->sax->getParameterEntity != NULL)) - entity = ctxt->sax->getParameterEntity(ctxt->userData, name); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - if (entity == NULL) { - - /* -@@ -2576,6 +2584,8 @@ - * the amount of data in the buffer. - */ - GROW -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - if ((ctxt->input->end - ctxt->input->cur)>=4) { - start[0] = RAW; - start[1] = NXT(1); -@@ -3194,6 +3204,8 @@ - * Handler for more complex cases - */ - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - c = CUR_CHAR(l); - if ((ctxt->options & XML_PARSE_OLD10) == 0) { - /* -@@ -3245,6 +3257,8 @@ - if (count++ > 100) { - count = 0; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - } - len += l; - NEXTL(l); -@@ -3269,6 +3283,8 @@ - if (count++ > 100) { - count = 0; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - } - len += l; - NEXTL(l); -@@ -3362,6 +3378,8 @@ - if (count++ > 100) { - count = 0; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - } - len += l; - NEXTL(l); -@@ -3442,6 +3460,8 @@ - const xmlChar *ret; - - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - - in = ctxt->input->cur; - while (*in != 0 && *in == *cmp) { -@@ -3569,6 +3589,8 @@ - #endif - - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - c = CUR_CHAR(l); - - while (xmlIsNameChar(ctxt, c)) { -@@ -3597,6 +3619,10 @@ - if (count++ > 100) { - count = 0; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buffer); -+ return(NULL); -+ } - } - if (len + 10 > max) { - xmlChar *tmp; -@@ -3667,6 +3693,10 @@ - ctxt->instate = XML_PARSER_ENTITY_VALUE; - input = ctxt->input; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return(NULL); -+ } - NEXT; - c = CUR_CHAR(l); - /* -@@ -3678,8 +3708,8 @@ - * In practice it means we stop the loop only when back at parsing - * the initial entity and the quote is found - */ -- while ((IS_CHAR(c)) && ((c != stop) || /* checked */ -- (ctxt->input != input))) { -+ while (((IS_CHAR(c)) && ((c != stop) || /* checked */ -+ (ctxt->input != input))) && (ctxt->instate != XML_PARSER_EOF)) { - if (len + 5 >= size) { - xmlChar *tmp; - -@@ -3708,6 +3738,10 @@ - } - } - buf[len] = 0; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return(NULL); -+ } - - /* - * Raise problem w.r.t. '&' and '%' being used in non-entities -@@ -3755,12 +3789,12 @@ - */ - ret = xmlStringDecodeEntities(ctxt, buf, XML_SUBSTITUTE_PEREF, - 0, 0, 0); -- if (orig != NULL) -+ if (orig != NULL) - *orig = buf; - else - xmlFree(buf); - } -- -+ - return(ret); - } - -@@ -3811,8 +3845,9 @@ - * OK loop until we reach one of the ending char or a size limit. - */ - c = CUR_CHAR(l); -- while ((NXT(0) != limit) && /* checked */ -- (IS_CHAR(c)) && (c != '<')) { -+ while (((NXT(0) != limit) && /* checked */ -+ (IS_CHAR(c)) && (c != '<')) && -+ (ctxt->instate != XML_PARSER_EOF)) { - if (c == 0) break; - if (c == '&') { - in_space = 0; -@@ -3947,6 +3982,9 @@ - GROW; - c = CUR_CHAR(l); - } -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto error; -+ - if ((in_space) && (normalize)) { - while ((len > 0) && (buf[len - 1] == 0x20)) len--; - } -@@ -3979,6 +4017,7 @@ - - mem_error: - xmlErrMemory(ctxt, NULL); -+error: - if (buf != NULL) - xmlFree(buf); - if (rep != NULL) -@@ -4084,6 +4123,10 @@ - if (count > 50) { - GROW; - count = 0; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return(NULL); -+ } - } - COPY_BUF(l,buf,len,cur); - NEXTL(l); -@@ -4161,6 +4204,10 @@ - if (count > 50) { - GROW; - count = 0; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return(NULL); -+ } - } - NEXT; - cur = CUR; -@@ -4367,6 +4414,8 @@ - } - SHRINK; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - in = ctxt->input->cur; - } while (((*in >= 0x20) && (*in <= 0x7F)) || (*in == 0x09)); - nbchar = 0; -@@ -4435,6 +4484,8 @@ - if (count > 50) { - GROW; - count = 0; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - } - NEXTL(l); - cur = CUR_CHAR(l); -@@ -4635,6 +4686,10 @@ - if (count > 50) { - GROW; - count = 0; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return; -+ } - } - NEXTL(l); - cur = CUR_CHAR(l); -@@ -4785,6 +4840,10 @@ - } - SHRINK; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return; -+ } - in = ctxt->input->cur; - if (*in == '-') { - if (in[1] == '-') { -@@ -4803,7 +4862,8 @@ - } - if (buf != NULL) - xmlFree(buf); -- ctxt->instate = state; -+ if (ctxt->instate != XML_PARSER_EOF) -+ ctxt->instate = state; - return; - } - if (buf != NULL) { -@@ -5022,6 +5082,10 @@ - count++; - if (count > 50) { - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return; -+ } - count = 0; - } - COPY_BUF(l,buf,len,cur); -@@ -5371,6 +5435,8 @@ - } - } - } -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - SKIP_BLANKS; - if (RAW != '>') { - xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED, -@@ -5762,7 +5828,7 @@ - } - SKIP_BLANKS; - GROW; -- while (RAW != '>') { -+ while ((RAW != '>') && (ctxt->instate != XML_PARSER_EOF)) { - const xmlChar *check = CUR_PTR; - int type; - int def; -@@ -5911,7 +5977,7 @@ - ret = cur = xmlNewDocElementContent(ctxt->myDoc, NULL, XML_ELEMENT_CONTENT_PCDATA); - if (ret == NULL) return(NULL); - } -- while (RAW == '|') { -+ while ((RAW == '|') && (ctxt->instate != XML_PARSER_EOF)) { - NEXT; - if (elem == NULL) { - ret = xmlNewDocElementContent(ctxt->myDoc, NULL, XML_ELEMENT_CONTENT_OR); -@@ -6055,7 +6121,7 @@ - } - SKIP_BLANKS; - SHRINK; -- while (RAW != ')') { -+ while ((RAW != ')') && (ctxt->instate != XML_PARSER_EOF)) { - /* - * Each loop we parse one separator and one element. - */ -@@ -6334,6 +6400,8 @@ - } - NEXT; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); - SKIP_BLANKS; - if (CMP7(CUR_PTR, '#', 'P', 'C', 'D', 'A', 'T', 'A')) { - tree = xmlParseElementMixedContentDecl(ctxt, inputid); -@@ -6501,8 +6569,8 @@ - "Entering INCLUDE Conditional Section\n"); - } - -- while ((RAW != 0) && ((RAW != ']') || (NXT(1) != ']') || -- (NXT(2) != '>'))) { -+ while (((RAW != 0) && ((RAW != ']') || (NXT(1) != ']') || -+ (NXT(2) != '>'))) && (ctxt->instate != XML_PARSER_EOF)) { - const xmlChar *check = CUR_PTR; - unsigned int cons = ctxt->input->consumed; - -@@ -6570,7 +6638,8 @@ - if (ctxt->recovery == 0) ctxt->disableSAX = 1; - ctxt->instate = XML_PARSER_IGNORE; - -- while ((depth >= 0) && (RAW != 0)) { -+ while (((depth >= 0) && (RAW != 0)) && -+ (ctxt->instate != XML_PARSER_EOF)) { - if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) { - depth++; - SKIP(3); -@@ -6841,7 +6910,7 @@ - break; - } - } -- -+ - if (RAW != 0) { - xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL); - } -@@ -7310,6 +7379,8 @@ - xmlEntityPtr ent = NULL; - - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - - if (RAW != '&') - return(NULL); -@@ -7355,6 +7426,8 @@ - ent = xmlSAX2GetEntity(ctxt, name); - } - } -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - /* - * [ WFC: Entity Declared ] - * In a document without any DTD, a document with only an -@@ -7545,6 +7618,10 @@ - ent = xmlSAX2GetEntity(ctxt, name); - } - } -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(name); -+ return(NULL); -+ } - - /* - * [ WFC: Entity Declared ] -@@ -7706,8 +7783,9 @@ - */ - if ((ctxt->sax != NULL) && - (ctxt->sax->getParameterEntity != NULL)) -- entity = ctxt->sax->getParameterEntity(ctxt->userData, -- name); -+ entity = ctxt->sax->getParameterEntity(ctxt->userData, name); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - if (entity == NULL) { - /* - * [ WFC: Entity Declared ] -@@ -7840,6 +7918,10 @@ - if (count++ > 100) { - count = 0; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlBufferFree(buf); -+ return(-1); -+ } - } - NEXTL(l); - c = CUR_CHAR(l); -@@ -7931,8 +8013,11 @@ - */ - if ((ctxt->sax != NULL) && - (ctxt->sax->getParameterEntity != NULL)) -- entity = ctxt->sax->getParameterEntity(ctxt->userData, -- name); -+ entity = ctxt->sax->getParameterEntity(ctxt->userData, name); -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(name); -+ return(NULL); -+ } - if (entity == NULL) { - /* - * [ WFC: Entity Declared ] -@@ -8034,6 +8119,8 @@ - if ((ctxt->sax != NULL) && (ctxt->sax->internalSubset != NULL) && - (!ctxt->disableSAX)) - ctxt->sax->internalSubset(ctxt->userData, name, ExternalID, URI); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - - /* - * Is there any internal subset declarations ? -@@ -8073,7 +8160,7 @@ - * PEReferences. - * Subsequence (markupdecl | PEReference | S)* - */ -- while (RAW != ']') { -+ while ((RAW != ']') && (ctxt->instate != XML_PARSER_EOF)) { - const xmlChar *check = CUR_PTR; - unsigned int cons = ctxt->input->consumed; - -@@ -8259,9 +8346,9 @@ - SKIP_BLANKS; - GROW; - -- while ((RAW != '>') && -+ while (((RAW != '>') && - ((RAW != '/') || (NXT(1) != '>')) && -- (IS_BYTE_CHAR(RAW))) { -+ (IS_BYTE_CHAR(RAW))) && (ctxt->instate != XML_PARSER_EOF)) { - const xmlChar *q = CUR_PTR; - unsigned int cons = ctxt->input->consumed; - -@@ -8685,6 +8772,8 @@ - if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; -@@ -8699,6 +8788,8 @@ - if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; -@@ -8719,6 +8810,8 @@ - if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; -@@ -8736,6 +8829,8 @@ - if (in >= end) { - const xmlChar *oldbase = ctxt->input->base; - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(NULL); - if (oldbase != ctxt->input->base) { - long delta = ctxt->input->base - oldbase; - start = start + delta; -@@ -8967,9 +9062,9 @@ - GROW; - if (ctxt->input->base != base) goto base_changed; - -- while ((RAW != '>') && -+ while (((RAW != '>') && - ((RAW != '/') || (NXT(1) != '>')) && -- (IS_BYTE_CHAR(RAW))) { -+ (IS_BYTE_CHAR(RAW))) && (ctxt->instate != XML_PARSER_EOF)) { - const xmlChar *q = CUR_PTR; - unsigned int cons = ctxt->input->consumed; - int len = -1, alloc = 0; -@@ -9140,6 +9235,8 @@ - failed: - - GROW -+ if (ctxt->instate == XML_PARSER_EOF) -+ break; - if (ctxt->input->base != base) goto base_changed; - if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>')))) - break; -@@ -9377,6 +9474,8 @@ - * We should definitely be at the ending "S? '>'" part - */ - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - SKIP_BLANKS; - if ((!IS_BYTE_CHAR(RAW)) || (RAW != '>')) { - xmlFatalErr(ctxt, XML_ERR_GT_REQUIRED, NULL); -@@ -9485,6 +9584,10 @@ - count++; - if (count > 50) { - GROW; -+ if (ctxt->instate == XML_PARSER_EOF) { -+ xmlFree(buf); -+ return; -+ } - count = 0; - } - NEXTL(l); -@@ -9733,6 +9836,8 @@ - * Parse the content of the element: - */ - xmlParseContent(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return; - if (!IS_BYTE_CHAR(RAW)) { - xmlFatalErrMsgStrIntStr(ctxt, XML_ERR_TAG_NOT_FINISHED, - "Premature end of data in tag %s line %d\n", -@@ -10255,9 +10360,10 @@ - - void - xmlParseMisc(xmlParserCtxtPtr ctxt) { -- while (((RAW == '<') && (NXT(1) == '?')) || -- (CMP4(CUR_PTR, '<', '!', '-', '-')) || -- IS_BLANK_CH(CUR)) { -+ while ((ctxt->instate != XML_PARSER_EOF) && -+ (((RAW == '<') && (NXT(1) == '?')) || -+ (CMP4(CUR_PTR, '<', '!', '-', '-')) || -+ IS_BLANK_CH(CUR))) { - if ((RAW == '<') && (NXT(1) == '?')) { - xmlParsePI(ctxt); - } else if (IS_BLANK_CH(CUR)) { -@@ -10304,6 +10410,8 @@ - */ - if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) - ctxt->sax->setDocumentLocator(ctxt->userData, &xmlDefaultSAXLocator); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); - - if ((ctxt->encoding == NULL) && - ((ctxt->input->end - ctxt->input->cur) >= 4)) { -@@ -10355,6 +10463,8 @@ - } - if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX)) - ctxt->sax->startDocument(ctxt->userData); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); - - /* - * The Misc part of the Prolog -@@ -10374,6 +10484,8 @@ - if (RAW == '[') { - ctxt->instate = XML_PARSER_DTD; - xmlParseInternalSubset(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); - } - - /* -@@ -10384,6 +10496,8 @@ - (!ctxt->disableSAX)) - ctxt->sax->externalSubset(ctxt->userData, ctxt->intSubName, - ctxt->extSubSystem, ctxt->extSubURI); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); - ctxt->inSubset = 0; - - xmlCleanSpecialAttr(ctxt); -@@ -10524,6 +10638,8 @@ - } - if ((ctxt->sax) && (ctxt->sax->startDocument) && (!ctxt->disableSAX)) - ctxt->sax->startDocument(ctxt->userData); -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); - - /* - * Doing validity checking on chunk doesn't make sense -@@ -10535,6 +10651,9 @@ - - xmlParseContent(ctxt); - -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(-1); -+ - if ((RAW == '<') && (NXT(1) == '/')) { - xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL); - } else if (RAW != 0) { -@@ -10841,7 +10960,7 @@ - } - xmlParseGetLasts(ctxt, &lastlt, &lastgt); - -- while (1) { -+ while (ctxt->instate != XML_PARSER_EOF) { - if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1)) - return(0); - -@@ -11081,6 +11200,8 @@ - ctxt->sax->endElement(ctxt->userData, name); - #endif /* LIBXML_SAX1_ENABLED */ - } -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - spacePop(ctxt); - if (ctxt->nameNr == 0) { - ctxt->instate = XML_PARSER_EPILOG; -@@ -11262,6 +11383,8 @@ - ctxt->sax->characters(ctxt->userData, - ctxt->input->cur, tmp); - } -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - SKIPL(tmp); - ctxt->checkIndex = 0; - } -@@ -11297,6 +11420,8 @@ - ctxt->sax->characters(ctxt->userData, - ctxt->input->cur, base); - } -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - SKIPL(base + 3); - ctxt->checkIndex = 0; - ctxt->instate = XML_PARSER_CONTENT; -@@ -11328,6 +11453,8 @@ - "PP: Parsing PI\n"); - #endif - xmlParsePI(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - ctxt->checkIndex = 0; - } else if ((cur == '<') && (next == '!') && - (ctxt->input->cur[2] == '-') && -@@ -11340,6 +11467,8 @@ - "PP: Parsing Comment\n"); - #endif - xmlParseComment(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - ctxt->instate = XML_PARSER_MISC; - ctxt->checkIndex = 0; - } else if ((cur == '<') && (next == '!') && -@@ -11359,6 +11488,8 @@ - #endif - ctxt->inSubset = 1; - xmlParseDocTypeDecl(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - if (RAW == '[') { - ctxt->instate = XML_PARSER_DTD; - #ifdef DEBUG_PUSH -@@ -11415,6 +11546,8 @@ - "PP: Parsing PI\n"); - #endif - xmlParsePI(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - } else if ((cur == '<') && (next == '!') && - (ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) { - if ((!terminate) && -@@ -11425,6 +11558,8 @@ - "PP: Parsing Comment\n"); - #endif - xmlParseComment(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - ctxt->instate = XML_PARSER_PROLOG; - } else if ((cur == '<') && (next == '!') && - (avail < 4)) { -@@ -11459,6 +11594,8 @@ - "PP: Parsing PI\n"); - #endif - xmlParsePI(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - ctxt->instate = XML_PARSER_EPILOG; - } else if ((cur == '<') && (next == '!') && - (ctxt->input->cur[2] == '-') && (ctxt->input->cur[3] == '-')) { -@@ -11470,6 +11607,8 @@ - "PP: Parsing Comment\n"); - #endif - xmlParseComment(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - ctxt->instate = XML_PARSER_EPILOG; - } else if ((cur == '<') && (next == '!') && - (avail < 4)) { -@@ -11598,6 +11737,8 @@ - - found_end_int_subset: - xmlParseInternalSubset(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - ctxt->inSubset = 2; - if ((ctxt->sax != NULL) && (!ctxt->disableSAX) && - (ctxt->sax->externalSubset != NULL)) -@@ -11605,6 +11746,8 @@ - ctxt->extSubSystem, ctxt->extSubURI); - ctxt->inSubset = 0; - xmlCleanSpecialAttr(ctxt); -+ if (ctxt->instate == XML_PARSER_EOF) -+ goto done; - ctxt->instate = XML_PARSER_PROLOG; - ctxt->checkIndex = 0; - #ifdef DEBUG_PUSH -@@ -11813,6 +11956,10 @@ - xmlParseTryOrFinish(ctxt, 0); - else - xmlParseTryOrFinish(ctxt, terminate); -+ -+ if (ctxt->instate == XML_PARSER_EOF) -+ return(ctxt->errNo); -+ - if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1)) - return(ctxt->errNo); - -@@ -12006,6 +12153,7 @@ - if (ctxt == NULL) - return; - ctxt->instate = XML_PARSER_EOF; -+ ctxt->errNo = XML_ERR_USER_STOP; - ctxt->disableSAX = 1; - if (ctxt->input != NULL) { - ctxt->input->cur = BAD_CAST""; diff --git a/source/base/libxml2/CVE-2014-0191.patch b/source/base/libxml2/CVE-2014-0191.patch deleted file mode 100644 index 6611a41..0000000 --- a/source/base/libxml2/CVE-2014-0191.patch +++ /dev/null @@ -1,56 +0,0 @@ -From: Aron Xu <[email protected]> -Date: Sun, 26 Oct 2014 12:24:03 +0800 -Subject: cve-2014-0191 - ---- - parser.c | 23 +++++++++++++++++++++++ - 1 file changed, 23 insertions(+) - -diff --git a/parser.c b/parser.c -index 57500ef..7ef712d 100644 ---- a/parser.c -+++ b/parser.c -@@ -2564,6 +2564,23 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) { - xmlCharEncoding enc; - - /* -+ * Note: external parameter entities will not be loaded, it -+ * is not required for a non-validating parser, unless the -+ * option of validating, or substituting entities were -+ * given. Doing so is far more secure as the parser will -+ * only process data coming from the document entity by -+ * default. -+ */ -+ if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) && -+ ((ctxt->options & XML_PARSE_NOENT) == 0) && -+ ((ctxt->options & XML_PARSE_DTDVALID) == 0) && -+ ((ctxt->options & XML_PARSE_DTDLOAD) == 0) && -+ ((ctxt->options & XML_PARSE_DTDATTR) == 0) && -+ (ctxt->replaceEntities == 0) && -+ (ctxt->validate == 0)) -+ return; -+ -+ /* - * handle the extra spaces added before and after - * c.f. http://www.w3.org/TR/REC-xml#as-PE - * this is done independently. -@@ -12197,6 +12214,9 @@ xmlIOParseDTD(xmlSAXHandlerPtr sax, xmlParserInputBufferPtr input, - return(NULL); - } - -+ /* We are loading a DTD */ -+ ctxt->options |= XML_PARSE_DTDLOAD; -+ - /* - * Set-up the SAX context - */ -@@ -12324,6 +12344,9 @@ xmlSAXParseDTD(xmlSAXHandlerPtr sax, const xmlChar *ExternalID, - return(NULL); - } - -+ /* We are loading a DTD */ -+ ctxt->options |= XML_PARSE_DTDLOAD; -+ - /* - * Set-up the SAX context - */ diff --git a/source/base/libxml2/CVE-2014-3660-fix.patch b/source/base/libxml2/CVE-2014-3660-fix.patch new file mode 100644 index 0000000..6c757d1 --- /dev/null +++ b/source/base/libxml2/CVE-2014-3660-fix.patch @@ -0,0 +1,28 @@ +From 72a46a519ce7326d9a00f0b6a7f2a8e958cd1675 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard <[email protected]> +Date: Thu, 23 Oct 2014 11:35:36 +0800 +Subject: Fix missing entities after CVE-2014-3660 fix + +For https://bugzilla.gnome.org/show_bug.cgi?id=738805 + +The fix for CVE-2014-3660 introduced a regression in some case +where entity substitution is required and the entity is used +first in anotther entity referenced from an attribute value + +diff --git a/parser.c b/parser.c +index 67c9dfd..a8d1b67 100644 +--- a/parser.c ++++ b/parser.c +@@ -7235,7 +7235,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { + * far more secure as the parser will only process data coming from + * the document entity by default. + */ +- if ((ent->checked == 0) && ++ if (((ent->checked == 0) || ++ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) && + ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) || + (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) { + unsigned long oldnbent = ctxt->nbentities; +-- +cgit v0.10.2 + diff --git a/source/base/libxml2/CVE-2014-3660.patch b/source/base/libxml2/CVE-2014-3660.patch deleted file mode 100644 index 89698f3..0000000 --- a/source/base/libxml2/CVE-2014-3660.patch +++ /dev/null @@ -1,139 +0,0 @@ -From: Daniel Veillard <[email protected]> -Date: Sun, 26 Oct 2014 12:35:43 +0800 -Subject: Fix for CVE-2014-3660 - ---- - parser.c | 42 ++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 38 insertions(+), 4 deletions(-) - -diff --git a/parser.c b/parser.c -index 7ef712d..b435913 100644 ---- a/parser.c -+++ b/parser.c -@@ -127,6 +127,29 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size, - return (0); - if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP) - return (1); -+ -+ /* -+ * This may look absurd but is needed to detect -+ * entities problems -+ */ -+ if ((ent != NULL) && (ent->etype != XML_INTERNAL_PREDEFINED_ENTITY) && -+ (ent->content != NULL) && (ent->checked == 0)) { -+ unsigned long oldnbent = ctxt->nbentities; -+ xmlChar *rep; -+ -+ ent->checked = 1; -+ -+ rep = xmlStringDecodeEntities(ctxt, ent->content, -+ XML_SUBSTITUTE_REF, 0, 0, 0); -+ -+ ent->checked = (ctxt->nbentities - oldnbent + 1) * 2; -+ if (rep != NULL) { -+ if (xmlStrchr(rep, '<')) -+ ent->checked |= 1; -+ xmlFree(rep); -+ rep = NULL; -+ } -+ } - if (replacement != 0) { - if (replacement < XML_MAX_TEXT_LENGTH) - return(0); -@@ -186,9 +209,12 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size, - return (0); - } else { - /* -- * strange we got no data for checking just return -+ * strange we got no data for checking - */ -- return (0); -+ if (((ctxt->lastError.code != XML_ERR_UNDECLARED_ENTITY) && -+ (ctxt->lastError.code != XML_WAR_UNDECLARED_ENTITY)) || -+ (ctxt->nbentities <= 10000)) -+ return (0); - } - xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL); - return (1); -@@ -2553,6 +2579,7 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) { - name, NULL); - ctxt->valid = 0; - } -+ xmlParserEntityCheck(ctxt, 0, NULL, 0); - } else if (ctxt->input->free != deallocblankswrapper) { - input = xmlNewBlanksWrapperInputStream(ctxt, entity); - if (xmlPushInput(ctxt, input) < 0) -@@ -2723,6 +2750,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, - if ((ctxt->lastError.code == XML_ERR_ENTITY_LOOP) || - (ctxt->lastError.code == XML_ERR_INTERNAL_ERROR)) - goto int_error; -+ xmlParserEntityCheck(ctxt, 0, ent, 0); - if (ent != NULL) - ctxt->nbentities += ent->checked; - if ((ent != NULL) && -@@ -2774,6 +2802,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, - ent = xmlParseStringPEReference(ctxt, &str); - if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP) - goto int_error; -+ xmlParserEntityCheck(ctxt, 0, ent, 0); - if (ent != NULL) - ctxt->nbentities += ent->checked; - if (ent != NULL) { -@@ -7127,6 +7156,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { - (ret != XML_WAR_UNDECLARED_ENTITY)) { - xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY, - "Entity '%s' failed to parse\n", ent->name); -+ xmlParserEntityCheck(ctxt, 0, ent, 0); - } else if (list != NULL) { - xmlFreeNodeList(list); - list = NULL; -@@ -7235,7 +7265,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { - /* - * We are copying here, make sure there is no abuse - */ -- ctxt->sizeentcopy += ent->length; -+ ctxt->sizeentcopy += ent->length + 5; - if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy)) - return; - -@@ -7283,7 +7313,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { - /* - * We are copying here, make sure there is no abuse - */ -- ctxt->sizeentcopy += ent->length; -+ ctxt->sizeentcopy += ent->length + 5; - if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy)) - return; - -@@ -7467,6 +7497,7 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) { - ctxt->sax->reference(ctxt->userData, name); - } - } -+ xmlParserEntityCheck(ctxt, 0, ent, 0); - ctxt->valid = 0; - } - -@@ -7654,6 +7685,7 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) { - "Entity '%s' not defined\n", - name); - } -+ xmlParserEntityCheck(ctxt, 0, ent, 0); - /* TODO ? check regressions ctxt->valid = 0; */ - } - -@@ -7812,6 +7844,7 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt) - name, NULL); - ctxt->valid = 0; - } -+ xmlParserEntityCheck(ctxt, 0, NULL, 0); - } else { - /* - * Internal checking in case the entity quest barfed -@@ -8039,6 +8072,7 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) { - name, NULL); - ctxt->valid = 0; - } -+ xmlParserEntityCheck(ctxt, 0, NULL, 0); - } else { - /* - * Internal checking in case the entity quest barfed diff --git a/source/base/libxml2/FrugalBuild b/source/base/libxml2/FrugalBuild index 88061b1..cd67d5f 100644 --- a/source/base/libxml2/FrugalBuild +++ b/source/base/libxml2/FrugalBuild @@ -5,18 +5,20 @@ options+=('asneeded') pkgname=libxml2 -pkgver=2.8.0 -pkgrel=5 +pkgver=2.9.2 +pkgrel=1 pkgdesc="XML parsing library" url="http://www.xmlsoft.org/" groups=('base' 'chroot-core') archs=('i686' 'x86_64' 'arm') -depends=('zlib>=1.2.3-6') +depends=('zlib>=1.2.3-6' 'xz') makedepends=('python>=2.7' 'readline>=6.2') #up2date="lynx -dump 'ftp://xmlsoft.org/libxml2/'|grep -m1 'LATEST_LIBXML2_IS_'|sed 's/.*xml2-\(.*\).t.*/\1/'" up2date="Flasttar ftp://xmlsoft.org/libxml2/" -source=(ftp://xmlsoft.org/$pkgname/$pkgname-$pkgver.tar.gz) -sha1sums=('a0c553bd51ba79ab6fff26dc700004c6a41f5250') +source=(ftp://xmlsoft.org/$pkgname/$pkgname-$pkgver.tar.gz revert-catalog-initialize.patch CVE-2014-3660-fix.patch) +sha1sums=('f46a37ea6d869f702e03f393c376760f3cbee673' \ + '90708a805edfc7d035e348397e61e17396cd36d1' \ + '818e2d72aa868d750c2d6a82a85001b435e81e28') Finclude python subpkgs=("$pkgname-docs") @@ -33,23 +35,13 @@ subgroups+=('devel-extra') subarchs+=('i686 x86_64') subdepends+=('python') -# FSA fix *** -source=(${source[@]} CVE-2012-5134.patch CVE-2013-0339.patch CVE-2013-2877.patch - CVE-2014-0191.patch CVE-2014-3660.patch) -sha1sums=(${sha1sums[@]} '5f2ca3ffa6f8ae87ca5f3be1bdd7c06f8ffdea35' \ - '802a1a8c33c8808effd4505419057a5dc27a9599' \ - '8856fa620e57369a2c8b30f7e35afb78685ded69' \ - '9005e0b126756aba61e06a5bbfb8c97591caedd6' \ - 'ff56d72e53528ab2b6039d334d2f9834ca44efee') -# *********** - build() { Fpatchall - Fsed "tail -1" "tail -n 1" configure - Fsed "head -1" "head -n 1" configure + #Fsed "tail -1" "tail -n 1" configure + #Fsed "head -1" "head -n 1" configure Fmake --with-threads --with-readline --with-zlib Fmakeinstall - Ffilerel libxml-2.0.pc /usr/lib/pkgconfig/libxml-2.0.pc + #Ffilerel libxml-2.0.pc /usr/lib/pkgconfig/libxml-2.0.pc Fsplit $pkgname-docs usr/share/gtk-doc Fsplit $pkgname-docs usr/share/doc diff --git a/source/base/libxml2/revert-catalog-initialize.patch b/source/base/libxml2/revert-catalog-initialize.patch new file mode 100644 index 0000000..cd81739 --- /dev/null +++ b/source/base/libxml2/revert-catalog-initialize.patch @@ -0,0 +1,27 @@ +From f65128f38289d77ff322d63aef2858cc0a819c34 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard <[email protected]> +Date: Fri, 17 Oct 2014 17:13:41 +0800 +Subject: Revert "Missing initialization for the catalog module" + +This reverts commit 054c716ea1bf001544127a4ab4f4346d1b9947e7. +As this break xmlcatalog command +https://bugzilla.redhat.com/show_bug.cgi?id=1153753 + +diff --git a/parser.c b/parser.c +index 1d93967..67c9dfd 100644 +--- a/parser.c ++++ b/parser.c +@@ -14830,9 +14830,6 @@ xmlInitParser(void) { + #ifdef LIBXML_XPATH_ENABLED + xmlXPathInit(); + #endif +-#ifdef LIBXML_CATALOG_ENABLED +- xmlInitializeCatalog(); +-#endif + xmlParserInitialized = 1; + #ifdef LIBXML_THREAD_ENABLED + } +-- +cgit v0.10.1 + + diff --git a/source/base/libxml2/versioning.diff b/source/base/libxml2/versioning.diff deleted file mode 100644 index fd7a683..0000000 --- a/source/base/libxml2/versioning.diff +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/configure.in b/configure.in -index 59d0629..39b66dd 100644 ---- a/configure.in -+++ b/configure.in -@@ -75,6 +75,8 @@ dnl if the system support linker version scripts for symbol versioning - dnl then add it - dnl - VERSION_SCRIPT_FLAGS= -+echo host $host -+echo lt_cv_prog_gnu_ld $lt_cv_prog_gnu_ld - # lt_cv_prog_gnu_ld is from libtool 2.+ - if test "$lt_cv_prog_gnu_ld" = yes; then - VERSION_SCRIPT_FLAGS=-Wl,--version-script= -@@ -82,9 +84,12 @@ else - case $host in - *-*-sunos*) VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,";; - esac -+ case $host in -+ *-*-linux*) VERSION_SCRIPT_FLAGS="-Wl,--version-script=";; -+ esac - fi - AC_SUBST(VERSION_SCRIPT_FLAGS) --AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -z "$VERSION_SCRIPT_FLAGS"]) -+AM_CONDITIONAL([USE_VERSION_SCRIPT], [test -n "$VERSION_SCRIPT_FLAGS"]) - - dnl - dnl We process the AC_ARG_WITH first so that later we can modify -diff --git a/configure.in b/configure.in -*** a/configure ---- b/configure -*************** CC="$lt_save_CC" -*** 11405,11410 **** ---- 11405,11412 ---- - - - VERSION_SCRIPT_FLAGS= -+ echo host $host -+ echo lt_cv_prog_gnu_ld $lt_cv_prog_gnu_ld - # lt_cv_prog_gnu_ld is from libtool 2.+ - if test "$lt_cv_prog_gnu_ld" = yes; then - VERSION_SCRIPT_FLAGS=-Wl,--version-script= -*************** else -*** 11414,11420 **** - esac - fi - -! if test -z "$VERSION_SCRIPT_FLAGS"; then - USE_VERSION_SCRIPT_TRUE= - USE_VERSION_SCRIPT_FALSE='#' - else ---- 11416,11422 ---- - esac - fi - -! if test -n "$VERSION_SCRIPT_FLAGS"; then - USE_VERSION_SCRIPT_TRUE= - USE_VERSION_SCRIPT_FALSE='#' - else _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
