mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-18 02:16:59 +02:00
bump(dev-libs/libxml2): sync with upstream
This commit is contained in:
parent
bab2669845
commit
b8e881c2b3
@ -1,148 +0,0 @@
|
||||
# ChangeLog for dev-libs/libxml2
|
||||
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
|
||||
# (auto-generated from git log)
|
||||
|
||||
*libxml2-2.9.2-r1 (09 Aug 2015)
|
||||
|
||||
09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
|
||||
+files/libxml2-2.7.1-catalog_path.patch,
|
||||
+files/libxml2-2.8.0_rc1-winnt.patch,
|
||||
+files/libxml2-2.9.2-constant-memory.patch,
|
||||
+files/libxml2-2.9.2-cross-compile.patch,
|
||||
+files/libxml2-2.9.2-icu-pkgconfig.patch,
|
||||
+files/libxml2-2.9.2-missing-entities.patch,
|
||||
+files/libxml2-2.9.2-revert-missing-initialization.patch,
|
||||
+files/libxml2-2.9.2-threads-declarations.patch,
|
||||
+files/libxml2-2.9.2-timsort.patch, +libxml2-2.9.2-r1.ebuild, +metadata.xml:
|
||||
proj/gentoo: Initial commit
|
||||
|
||||
This commit represents a new era for Gentoo:
|
||||
Storing the gentoo-x86 tree in Git, as converted from CVS.
|
||||
|
||||
This commit is the start of the NEW history.
|
||||
Any historical data is intended to be grafted onto this point.
|
||||
|
||||
Creation process:
|
||||
1. Take final CVS checkout snapshot
|
||||
2. Remove ALL ChangeLog* files
|
||||
3. Transform all Manifests to thin
|
||||
4. Remove empty Manifests
|
||||
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
|
||||
5.1. Do not touch files with -kb/-ko keyword flags.
|
||||
|
||||
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
||||
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
|
||||
tests
|
||||
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
|
||||
project
|
||||
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
|
||||
developer, wrote Git features for the migration
|
||||
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
|
||||
cvs2svn
|
||||
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
|
||||
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
|
||||
work in migration
|
||||
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
|
||||
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
|
||||
the bikeshed
|
||||
|
||||
24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
|
||||
Use https by default
|
||||
|
||||
Convert all URLs for sites supporting encrypted connections from http to
|
||||
https
|
||||
|
||||
Signed-off-by: Justin Lecher <jlec@gentoo.org>
|
||||
|
||||
24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
|
||||
Revert DOCTYPE SYSTEM https changes in metadata.xml
|
||||
|
||||
repoman does not yet accept the https version.
|
||||
This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.
|
||||
|
||||
Bug: https://bugs.gentoo.org/552720
|
||||
|
||||
21 Oct 2015; Justin Lecher <jlec@gentoo.org> libxml2-2.9.2-r1.ebuild,
|
||||
metadata.xml:
|
||||
Add python3.5 support
|
||||
|
||||
Package-Manager: portage-2.2.23
|
||||
Signed-off-by: Justin Lecher <jlec@gentoo.org>
|
||||
|
||||
31 Oct 2015; Mike Frysinger <vapier@gentoo.org>
|
||||
+files/libxml2-2.9.2-disable-tests.patch, libxml2-2.9.2-r1.ebuild:
|
||||
disable building of useless programs
|
||||
|
||||
These aren't used during build or install, so disable them.
|
||||
|
||||
*libxml2-2.9.2-r2 (09 Nov 2015)
|
||||
|
||||
09 Nov 2015; Gilles Dartiguelongue <eva@gentoo.org>
|
||||
+files/libxml2-2.9.2-cve-2015-7941-1.patch,
|
||||
+files/libxml2-2.9.2-cve-2015-7941-2.patch,
|
||||
+files/libxml2-2.9.2-cve-2015-8035.patch,
|
||||
files/libxml2-2.9.2-disable-tests.patch,
|
||||
+files/libxml2-2.9.2-fix-lzma.patch,
|
||||
+files/libxml2-2.9.2-overflow-conditional-sections-1.patch,
|
||||
+files/libxml2-2.9.2-overflow-conditional-sections-2.patch,
|
||||
+files/libxml2-2.9.2-unclosed-comments.patch, +libxml2-2.9.2-r2.ebuild:
|
||||
apply several security patches
|
||||
|
||||
Security bugs: #560524, #564240 and #564776.
|
||||
Also fix incorrect lzma support, bug #530386 and fix handling of
|
||||
documentation and examples with USE=python, bug #533324.
|
||||
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=530386
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=533324
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=560524
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=564240
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=564776
|
||||
|
||||
Package-Manager: portage-2.2.23
|
||||
|
||||
*libxml2-2.9.2-r3 (09 Nov 2015)
|
||||
|
||||
09 Nov 2015; Gilles Dartiguelongue <eva@gentoo.org>
|
||||
-libxml2-2.9.2-r2.ebuild, +libxml2-2.9.2-r3.ebuild:
|
||||
re-add missing call to eprefixify
|
||||
|
||||
Package-Manager: portage-2.2.23
|
||||
|
||||
*libxml2-2.9.2-r4 (10 Nov 2015)
|
||||
|
||||
10 Nov 2015; Gilles Dartiguelongue <eva@gentoo.org>
|
||||
-libxml2-2.9.2-r3.ebuild, +libxml2-2.9.2-r4.ebuild:
|
||||
fix python module installation, bug #565310
|
||||
|
||||
Package-Manager: portage-2.2.24
|
||||
|
||||
11 Nov 2015; Agostino Sarubbo <ago@gentoo.org> libxml2-2.9.2-r4.ebuild:
|
||||
amd64 stable wrt bug #560524
|
||||
|
||||
Package-Manager: portage-2.2.20.1
|
||||
RepoMan-Options: --include-arches="amd64"
|
||||
|
||||
11 Nov 2015; Agostino Sarubbo <ago@gentoo.org> libxml2-2.9.2-r4.ebuild:
|
||||
x86 stable wrt bug #560524
|
||||
|
||||
Package-Manager: portage-2.2.20.1
|
||||
RepoMan-Options: --include-arches="x86"
|
||||
|
||||
12 Nov 2015; Jeroen Roovers <jer@gentoo.org> libxml2-2.9.2-r4.ebuild:
|
||||
Stable for PPC64 (bug #560524).
|
||||
|
||||
Package-Manager: portage-2.2.24
|
||||
RepoMan-Options: --ignore-arches
|
||||
|
||||
12 Nov 2015; Jeroen Roovers <jer@gentoo.org> libxml2-2.9.2-r4.ebuild:
|
||||
Stable for HPPA (bug #560524).
|
||||
|
||||
Package-Manager: portage-2.2.24
|
||||
RepoMan-Options: --ignore-arches
|
||||
|
||||
12 Nov 2015; Agostino Sarubbo <ago@gentoo.org> libxml2-2.9.2-r4.ebuild:
|
||||
ppc stable wrt bug #560524
|
||||
|
||||
Package-Manager: portage-2.2.20.1
|
||||
RepoMan-Options: --include-arches="ppc"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +1,17 @@
|
||||
AUX libxml2-2.7.1-catalog_path.patch 2209 SHA256 b3343f0611f9cb6e55bf62047a988653e3e9cc50f194b18adbc330b455236290 SHA512 99c1953865c560d2b7a01cf5fd61b1c5150857f3df8a9753ca583f6ff0a99e01c02d2586bb12220a615cf9c40a540dbe0d17996c0547bc0d20cbeefd6b45682d WHIRLPOOL 9b4daf434b38a0ae8103f02625ae033e7a94012a18cabc981f34b93fe8b422477905b74cfee300eb6a37e1af8bd358dd84804a5d0b6be8645ae9ee3e4c6fcd9b
|
||||
AUX libxml2-2.7.1-catalog_path.patch 2225 SHA256 8ff974c4c3cd04a16741e87247d0a0a63b09bfb0a285c1cc1d7d0aa855142d3c SHA512 bcad080ee84c926c75df8baa47937bdfcfa207235263249f4025e64cbb5ac9be883e1ac4dc1ee55944116da2f84ced27b7cae781aa855579796f3f53a54aacb1 WHIRLPOOL 83e1812e537a7babf1ae694352498628da643db860ebe62021a6b77cc1e3abae35cdbc44d05d889b12adba031b015dfe62c8f19560e45c53a3c3a082cadeabe6
|
||||
AUX libxml2-2.8.0_rc1-winnt.patch 2392 SHA256 c18b2c15550b3ff4709a85cd18d16368928319b1b7fd8875dc34acd67076b134 SHA512 e78d010c82f18386b4f0ff84497585755b43416563bccd11f8e4dbf0153ca8842934fe05dce6c2373d8360574a2165795a78ea991682aed9610000d2bfcb0164 WHIRLPOOL a87eefa17ad113ae4aed14744715b4e1781e0869a3bb789bdf4f243bdb3687d0d4b6ee2addc85bf5b2f86b9d1cc442d946f0329011f033e3a7855ae0ad79b745
|
||||
AUX libxml2-2.9.2-constant-memory.patch 6332 SHA256 0c3be9bf93626ae9c6f5517d68515acf272beda14575ecc38b282502b0c032dc SHA512 ebc428f6c1a74162b4a1d5cba09631ab9d10eb71a64d2f13248b27bf19f4f5eb14655f431b788b507b2e743ce5855b2c54deab1be257366261671442d49c6074 WHIRLPOOL d98d91783eb5d8108963f86a8dfcbc372ceacccf3ee354a0abebcace5772f601801c7131085a1b031c9cf29d8dbded8a66ed6d10f9832932e4ad9fa95e98efe6
|
||||
AUX libxml2-2.9.2-cross-compile.patch 487 SHA256 495d0c9d461b57e05a92b57c7eec6136ee318badfffa0c6f81f44097611eca5b SHA512 aa856ea455233137f059c603d68ec8990602053d59606c8921849c0c40a78468ad4e75d09f333faf1c798e31c03cb55e8ddfcdf78b8ec9628f6bd8875a56e959 WHIRLPOOL bf24d7726d061fc27c568eb0ea979bda34b37e6fadd889ad57a5f98cb313461a9162702262c6a545cd3dc54b922be015e0bc542d2c4e1e94efedf929a246f216
|
||||
AUX libxml2-2.9.2-cve-2015-7941-1.patch 1134 SHA256 b7a29616966bb66de87a6025f8cbc8902946f09a06254f1fb18b715957044149 SHA512 e03ec3809a47cd33d18b4e19e3e32d9f790f8c4c26c53e67b37de1b1080cc302bbeadb829132d3357b15101bbf2aae85dad6207a3177bdb039bd665a6fa208a7 WHIRLPOOL 288b9a470e18171e8dad4049f2b99e41ad48906bf319d697f376590767813f756a34ff3fd43288469a4a1bafa420a2a1500601a245c164438b8c6053b7bf2203
|
||||
AUX libxml2-2.9.2-cve-2015-7941-2.patch 1472 SHA256 2caef4b29c3935db35a5594c4f1f0b6181a41361d87ff35d64db8ff38cc303da SHA512 eaeaec27abb29c1ddb1b936c8204b9a052e75b2dde30a6859765a2e64561d77fe23c247adc057d730d14f5047663230df8c1f6aa6db39799c8e56b8a069877b5 WHIRLPOOL e625c339ba6e05a6318f6f8bbf8fdc385e18f5fbbca7e87e486e7990e343392c979e1cfea0670f1fb0d9fa0221a7a4bf77eb1f9a6c4bcd3b0320f23ae9f603af
|
||||
AUX libxml2-2.9.2-cve-2015-8035.patch 1000 SHA256 aeba2f719ce88de2ce555b40941bccfbff12f95c97738aacc2a6ce8bdfe45273 SHA512 191f6c1eb4d96d6cc1943f4119d6ffd98c2cf87d92ba7a266e3913e21967425dce63dde9b2d756275e00ffdcae51eb24783faab3a1f8db1dc33e0ffbe420d4b3 WHIRLPOOL 6c9967e04e7bdc6d1f46fc1733101f81ba4af2f3f44e1958e0f600ee90c574f967f528ebbecf7f2e91a6305bb53b17ccbd9df3b66d199c1931bf7b16eae858b1
|
||||
AUX libxml2-2.9.2-disable-tests.patch 2118 SHA256 4558ea3360dab8ce500b8f6438c128b9928959dce18cd5667d5403c317c8b3c1 SHA512 b38aa354b949c64da2a1cbe7dcff47f13eaa6c7a88bb34300995b17481d016192174e6f0613c55a351e21835fc2f2f70f87cc27f1fe8be99e8005a2e092a27ef WHIRLPOOL 7fa224dd404750ddacbfb9cde05c4b18c1bf9d7d794e23bfa11a4de316cca7c5df721e4b8bcf1f5d91d7ae3af58e158a4fb1051770634757f9d1b3358d34c7d3
|
||||
AUX libxml2-2.9.2-fix-lzma.patch 3332 SHA256 47af4d5d316e257c9d2f0ea20d5dce5f0081c8e859dde485505a91d94d99a6d7 SHA512 44bd4b9d5ac83c7f9fb3d2691a4cc382f46d81af78eba9963e94d7123696a9b25b382aa6710bf1b6af70105930ca308d142bc00a2b37ab52a4921c6f82c76ff5 WHIRLPOOL 54a756f2c7f96fe252b8c6b2245e7569b68e9fd215494c54ed6f0a3ef6063db21749021fb77ec402d1cf63f4cf5897db82be359f43804b032dd93a18b407fdfd
|
||||
AUX libxml2-2.9.2-icu-pkgconfig.patch 653 SHA256 b7e0e8ce27990d1ad8ef8eb3372a6cb9f8d7de5b0674613082ec3f6cdf214af1 SHA512 516fe55dc1500146e3fb1b8cf1c567aca668f54e65d7b595694cf668278217f0c2c82a03201dcdb463f8d5adda2620b42176a799bbaf2e1521500f8ed3971601 WHIRLPOOL f49a55065ab1a7d4159aa32b3182ae79c0b1d753f4aa81ef109eb38a2baa86c53a2ac98c391eebf0d1152206ec967adc1e4b41d6bbdabe3e6de791360d5c17af
|
||||
AUX libxml2-2.9.2-missing-entities.patch 1139 SHA256 8cf04e6355d0ca8d1e96fb5e5e92819d395609f07aa5fe7e4876efc6023485d6 SHA512 4ab3ea64010f194acf5ba92268db42487234096896e0dfe00eafdaff00dcb0a3b692824e6acb4bfc072e44a41b65c7fafffad2eb3fad2e2c55874c166fc919aa WHIRLPOOL b397f2415bfed48f13d6547a42cdcd52054aaae1b168eae8bd3daf451392942347cb31d0a92b3f7cbc67cc8ad22dcf6423aba319d4eaed054d37f16d5d6bccbd
|
||||
AUX libxml2-2.9.2-overflow-conditional-sections-1.patch 943 SHA256 9095165d17db7e66060307fea16872ce5be63bd9f52e858f05200d6f12391ee4 SHA512 bbf93ce9f9277f049ccac6644f72e4c2d42a7513762950c928bbdab3813a9a20123a3aef5c83b8448213026761150bc4ad5a2a89dd9eb770793b642a54ca3fd0 WHIRLPOOL 6ba96d77402aca20419b822b87da948dc5bca4685583019f1dbed7c51e21a11fb9b6a5982d1083b77bb4c8e23c22f83f811c1038e51e39ac129de2680877998c
|
||||
AUX libxml2-2.9.2-overflow-conditional-sections-2.patch 846 SHA256 bd98845e4fb4405ae45f4dbdac097ac40db4e8ac8d2ff7194ac0997404ca37bf SHA512 40837e2cc46aa8972818aa4526926cffd213e4c5a689c66f4c4b864c339582588e03d98f4fcf5781977b3a71a2a0850de17540b0293e58755f07346471e76aa4 WHIRLPOOL 4c347f7358a0c5ce6993e8166983a113a2e3bb1bb46f0733d19e90699b4428c1d445c28fd5e3b6402617ebe7bbe6fd51b4e0d94af700a87a0113e1dfb2749c18
|
||||
AUX libxml2-2.9.2-revert-missing-initialization.patch 715 SHA256 160258250f519b9d71e7d4ba913df6b2ba6109e1ac533bd19a3061ffbe82cd18 SHA512 cdad2b866684cc3193a5f3254339659e28ab4af988ba257ac0c41d42bf18c82665127cc705d36313f3bd4e5d6e1bb5bab0e966e9068398c62755ba54adea6b17 WHIRLPOOL 9addff866a02bee035b7aeccd4bd50baa74b0104c166cf02927fd779c92e41b119896a7fb2dcd0e255c7614018a80585b37f954ec36ae1a5871e0f885baff187
|
||||
AUX libxml2-2.9.2-threads-declarations.patch 1505 SHA256 2b6c128ffe2008067fa92d440e4d77764cc0e98d7d654a8216dbd5ddd9c0f7fa SHA512 a8f1cc01879d3e35312ace8d47f248480c380e12220be686dc65aaa5f1b9bb13e27606c56f0c657e5a294e630d669a7884a450f6476e4c581655d393de9e7e18 WHIRLPOOL 9569285cf69c834943647911d6b0e8652601c5305fcfd056895698c4f853614f1271da16a80416c2f7e7e83fa8ae63e817f1b772bfadf61376b5840bd02a1df6
|
||||
AUX libxml2-2.9.2-timsort.patch 3801 SHA256 eff9c354f9314cf08346a42364247dea79cd0472fd892a52656ed5bdbadeffff SHA512 d9d6849867005ae2ba9358c9db2f03d9f31a74136c0dacda3b36940224ae0d95d5dbeb06be8dd3e4df363cbe76f92e854294200db17be93c80b3542bf7a8f8cb WHIRLPOOL f30524faae0469a37377fdc3b053c5fb5040e9fb627a1ba7d2e7079ab0ee5347bb2bcfdf3ff6f27dee9045250edb159fac9bf6235c66cf5bc414a99c6d93a8b0
|
||||
AUX libxml2-2.9.2-unclosed-comments.patch 1757 SHA256 05a22f7fbc8800a2a16459838cd9f1217baf426cfe854b47f9a02738cdd044c0 SHA512 c287d1d54a5bdaba8029a981653d21924ec540ed06c593789db8670efeeccbdaefbc05f1017bacc7ed203dfb4549fcfca9186dbc51c23cdd4d2d2f345d501f74 WHIRLPOOL 82f542e3d85dcd3762f37c1543a84e8be3dfa9ba786350c0b6e861ded687f3741440dedf6b06072127c3a330b2be6b61d3b7c30030b1fc04b597d254c782bcfd
|
||||
DIST libxml2-2.9.2.tar.gz 5444991 SHA256 5178c30b151d044aefb1b08bf54c3003a0ac55c59c866763997529d60770d5bc SHA512 a4e3b20e2efceed39c20379b32b746d4a1cf65c0cf7719d26c9bf7483c1f04a4e5a442ae2f36dc4ae8a4d011b67cfb58d9f6d0be034fa3e897a49059c9289565 WHIRLPOOL d7a77cb6ad49533cf62f6a759668e297a60dd7f70c9e13b29f682c64dfb25ae46eb9db552500130f40e3f969897bda996001d18236a4630e3713f6dd5acbe686
|
||||
AUX libxml2-2.9.2-python-ABIFLAG.patch 728 SHA256 088ce998caf80e0861e63c1ae36917797ead8adbadef9d502423ab97a591f70e SHA512 2f801329ad4e13dc70450d41f7659a510fe429b3aa9b66859fed25c4e3d95381d6f253f3a60a54002a16999296d3bd2adaca5e4cca92186492bfc7de3ac84426 WHIRLPOOL 8302c90a647adea89f6baedf726b4af20a9cbd6d0f48bea7d38867f00cdd0dc71fea833419dcaf55b73435d1ba90c552eb49b583652c79dc47c495d61cdc703a
|
||||
AUX libxml2-2.9.4-CVE-2016-4658.patch 7318 SHA256 7aee52ca24da6c7d36787cded379eaedd34803f8d355e11806b988a25de6a6bb SHA512 7dc42ad219397a6be0b4e50c61d1aa4b44e06b4c0af5f1a63996fa257e6831c624729428ea66ef02118a81ca8360b07f923ad436870364de1081f8a3505d94fc WHIRLPOOL e407d349ee292314de9a63ecaeb8d415362a41df1521ba8533ac1168cd0ed709e38844b72446b6c1b21964fb6c389a499ed545c6c79688f3147e38fb9ec6f6f2
|
||||
AUX libxml2-2.9.4-CVE-2016-5131.patch 5038 SHA256 4e0248f5a6877b157b9d736c412d4da7a2c015d58a816b859957efddb8d3c8d4 SHA512 c92cda9851fdf8af6cb21aa80f39b474cddef8c749298f5b51f76f871160ac9749fdaac3fa406cc0c75a666f7627983fce0e90fb2919f3a8c778e1148583be33 WHIRLPOOL 810c79240386e3657dd8451583e57ade7d4b638dabc667c798c1c922f46922ec3687ef7627f7c558e34ae204e751830d7f2ab7891e1c75ab91c3f10e58ccd22a
|
||||
AUX libxml2-2.9.4-nullptrderef.patch 1577 SHA256 797743ea3d5d4a4ff50d0b9a572daf1db47aea02d5f163ff830019fc78ebbe5a SHA512 4882c75fd13807a842b57771242a3dc10ac9db36f10b7f2b3e96f7e4d1a59127779f73a5062305d80719053d94f6044a0ffd51447fb77fca393738fd1635bfc0 WHIRLPOOL 044a59f26ecbf88916c2f255a99869867880353ed7742ec958ec4feb821b3642a1110034d98c52ca36a9ebca775e2eab7f08b84200abe65675e58ab74ef31fc3
|
||||
AUX libxml2-2.9.4-nullptrderef2.patch 1785 SHA256 160459ea5d5fdbd3d7bd842a24075c3a56aeb75a8d7a17e3409e535d0ac7c706 SHA512 406379a787c1bd45f1b3c128c94182250e4200d5a577ae15dab574ce590857124bda896fd677bce1950658a1ff7b4ea6fc95b52a9ea31daf47ab5c66e03460d5 WHIRLPOOL fd94788d1095bdbfd9d707215865ba52f74287aff6251d74f4fbb74677edb18c730c1038f1ace7720213c3a372d09964fc5cd9f77ffbe1114e7e203593aa721b
|
||||
DIST libxml2-2.9.4.tar.gz 5374830 SHA256 ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c SHA512 f5174ab1a3a0ec0037a47f47aa47def36674e02bfb42b57f609563f84c6247c585dbbb133c056953a5adb968d328f18cbc102eb0d00d48eb7c95478389e5daf9 WHIRLPOOL 268d3364a3d293810dff060b3ab92042c5550e50dbe9038c4d5b54ea6a22ed77f9572575517ae3bacfe518d634047eb9d5345e903b125e56a3d32ad1ba96dabf
|
||||
DIST xmlts20080827.tar.gz 638940 SHA256 96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d WHIRLPOOL 50835380c3ea208df0bf9ce032ed2df69c4c6cb5a53ffdd39a08fb4f1d166f311b2ef2fe0d9911ae1ebff92aeb42f6ea55e727dfe0b7a3b95e6c7240315b3eda
|
||||
DIST xsts-2002-01-16.tar.gz 6894439 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 WHIRLPOOL 84dd51959460a4f8aa582d57ad39229c546ca7fe155012c57c368b59f5d31400d8b940a343a7320058330ca611303139cacdffed514783f96406ac5366026b11
|
||||
DIST xsts-2004-01-14.tar.gz 2761085 SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe WHIRLPOOL c46a3bf7d6dd771757f4304995cc177cf51c6cdd0e9778851fc13d3809c7b984690b4f273b3e075abe018110968eb7fc78f5b83170d3e18bacf00a4ed64b213d
|
||||
EBUILD libxml2-2.9.2-r1.ebuild 6767 SHA256 b6020cd02b0d251d66abc655fac952400768144fb2116470710aa8ba67bcdb77 SHA512 1dd5abddeb54690b87711e545fc1e1e825d679b8bc0289647bafc0ff75609f5dbc6fbb72372261fdab89455f6b14283ab83d367ec966e6d9d020e8ec2545e311 WHIRLPOOL 4b8b7273cb2c1bf79bfbccc297912152a19da4054c2735fd555225ef0346eee8d1d8d8bb0df2598859f41ad5d84ec22f234a97ead491b2cddf53bc1331226faa
|
||||
EBUILD libxml2-2.9.2-r4.ebuild 7339 SHA256 cebaa28bdd5b9eefddba67d6492f2c7a153b73f9e810f10c70a104925bfdf7ee SHA512 2be652f8a49a88abf95525c7905a2a2738fdf3109cb17ed8d2149e3e70e48b47305a0c8de6337263a6014478d6781726a2d48da2aed30ca553a0612478830896 WHIRLPOOL f9c19d25d555bd57f2e2bf620c88be0dec391c74c24f73cec3ee5d5dc2fe8e5190c892409d6ef1856dcdea430221a6d7665e31eb32172e319d5b5f980d1167dd
|
||||
MISC ChangeLog 5221 SHA256 7da5f474e45c96cf3b42df1bf424e9cd5c62e0bcfe40894a4e39539e44e28793 SHA512 610ca138db2d2e12d34e6490fa68958b72c94451d32a1b2345e72ebe194a1687252a275acee13e2e6ab23889e20777eeb3d76bd7ace6d7c2a98143c581df9770 WHIRLPOOL 273bdee336d9a7ef6ec4738b8fa6a9231720ecce29d50b2adeeb86b9a81c3383dd851090f30a45c1bed2f1cb3a07ab796c63f6eac228dd89d9ed8d5cf29fcaea
|
||||
EBUILD libxml2-2.9.4-r1.ebuild 6900 SHA256 54b5073939e1ae0f58527ae8c999602aefdef44db25ee797620827a9bd2a367f SHA512 2686bec6c27ec6ec9bd9b5f60ffd15c8ffa861336e50d39a0c525df1a379d48e2594b31baf19f529c7639c1ac81b80d2276abfff87128e51896befa86a7046f1 WHIRLPOOL 6aac55f06b325c1c30be897eb133b94dd4438462e1d68effa0fd118b3bc1684b3923a2c19c290ed0a63de989a78c1f77aa9a7aaf28841c7be3b9bb5ac857fecd
|
||||
EBUILD libxml2-2.9.4.ebuild 6222 SHA256 1090bf9474555f3175e492c98aeb4cb77225a22d8b22b3b7be99c21287cc421a SHA512 c23e6e9e0adb07e62a6cde26c09f932c57a81f4ab41f5253178e9eabb31ab2c98fac74a33d5632b889fb3e311375b1b41669d6f1e07d64235ab8d5658cf7e5cb WHIRLPOOL ad940ab5ca7577453cf50e089acdb5a66eea74becb42ad60771a82bd3c5846f7d82cd7bd0e306b7215fd53204efc1a88ec4aa966b5cf4dc809a698b5c449dec3
|
||||
MISC ChangeLog 9698 SHA256 1b1fb6fa12f27f404c6a5d2e68e56078877a20539e2150d43ceefaa61c31a251 SHA512 7f51ba012043be6cd6c979ffbf47bbed2d7ab2d4ed25fcde2c3baebb29311178c3d873d7ade799ef167fa8fcfa5cfd29379b6a19f72ba04e1594fa5a4dc3783f WHIRLPOOL 801f2f44fdf6411ec8a8b9df790e04fb8824d9b88623398a3d047c69a690dc9c9f071a2a845329403a1b15fb990f8cc61ebad5e34aeff2d869b932adae4d000b
|
||||
MISC ChangeLog-2015 65422 SHA256 6e4ee4a306e6b8c480f681f1846d7879ac86df55d74401e26f1b7cfc5e05f94d SHA512 e030bc367ffae1c8530e1ad171da60bf7034095d81060cbe4286bf0840ef86d17447e8549fbf3a09f39db9ced5476b3b29630d5495647cbe2d55e11b423aa379 WHIRLPOOL 279cff12baa7a881967812c7bf76b54297a39144e2fc9291053662f463faff68db5a8b6420267031ee1afb979669e823989063bf0ac2c7cc820927d6bdfe555c
|
||||
MISC metadata.xml 248 SHA256 b0fd2ca4dd32b2b409664977e78376bb9647d9cf562abf456b3116d72af41af8 SHA512 2d64c784e9caea3763bf417c779c97e6551d6579898dfd57718b655c200981c61a83fba2d5e67b5ce9c9db906c9acc8df7ef42acd19d1923c2f9a3481efd5c95 WHIRLPOOL 10d45bf2e04ee6e18988151364bedffa21e8a0c36372c3f89502631bb07cab03f370fd7196303e3b303a0765d05d3d15ab59a1fa3a0b62066e175a0754f1aa5d
|
||||
MISC metadata.xml 347 SHA256 f67239ca2e57c9729d3be4e84d03d474e382b53c89371617fd97acd8494a5fe7 SHA512 6a094316da6ea1fb160b539788923a2dc01d7ef6304f924f628a438714663a51c8d1adaa97800516a64055a8adf6999ae2899b5a976db680967dcc298e22444d WHIRLPOOL 24e14b8ca1c048a589aec596a844a7e9b9bbf52964b3dd26bab7c03b7ed762f0ea0abbb0832b1fb6c94b7a4cff92b921e61bce9461db3368ab95003501cd3e50
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- catalog.c
|
||||
+++ catalog.c
|
||||
--- a/catalog.c
|
||||
+++ b/catalog.c
|
||||
@@ -68,10 +68,10 @@
|
||||
#define XML_URN_PUBID "urn:publicid:"
|
||||
#define XML_CATAL_BREAK ((xmlChar *) -1)
|
||||
@ -22,8 +22,8 @@
|
||||
#if defined(_WIN32_WCE)
|
||||
/* Windows CE don't have a A variant */
|
||||
#define GetModuleHandleA GetModuleHandle
|
||||
--- xmlcatalog.c
|
||||
+++ xmlcatalog.c
|
||||
--- a/xmlcatalog.c
|
||||
+++ b/xmlcatalog.c
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
|
||||
@ -33,8 +33,8 @@
|
||||
#endif
|
||||
|
||||
/************************************************************************
|
||||
--- runtest.c
|
||||
+++ runtest.c
|
||||
--- a/runtest.c
|
||||
+++ b/runtest.c
|
||||
@@ -2747,7 +2747,7 @@
|
||||
*/
|
||||
static int
|
||||
@ -53,8 +53,8 @@
|
||||
return(NULL);
|
||||
/* Verify we received the escaped URL */
|
||||
if (strcmp(urip_rcvsURLs[urip_current], URI))
|
||||
--- xmllint.c
|
||||
+++ xmllint.c
|
||||
--- a/xmllint.c
|
||||
+++ b/xmllint.c
|
||||
@@ -103,7 +103,7 @@
|
||||
#endif
|
||||
|
||||
|
@ -1,176 +0,0 @@
|
||||
From 213f1fe0d76d30eaed6e5853057defc43e6df2c9 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Tue, 14 Apr 2015 17:41:48 +0800
|
||||
Subject: [PATCH] CVE-2015-1819 Enforce the reader to run in constant memory
|
||||
|
||||
One of the operation on the reader could resolve entities
|
||||
leading to the classic expansion issue. Make sure the
|
||||
buffer used for xmlreader operation is bounded.
|
||||
Introduce a new allocation type for the buffers for this effect.
|
||||
---
|
||||
buf.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
|
||||
include/libxml/tree.h | 3 ++-
|
||||
xmlreader.c | 20 +++++++++++++++++++-
|
||||
3 files changed, 63 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/buf.c b/buf.c
|
||||
index 6efc7b6..07922ff 100644
|
||||
--- a/buf.c
|
||||
+++ b/buf.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/globals.h>
|
||||
#include <libxml/tree.h>
|
||||
+#include <libxml/parserInternals.h> /* for XML_MAX_TEXT_LENGTH */
|
||||
#include "buf.h"
|
||||
|
||||
#define WITH_BUFFER_COMPAT
|
||||
@@ -299,7 +300,8 @@ xmlBufSetAllocationScheme(xmlBufPtr buf,
|
||||
if ((scheme == XML_BUFFER_ALLOC_DOUBLEIT) ||
|
||||
(scheme == XML_BUFFER_ALLOC_EXACT) ||
|
||||
(scheme == XML_BUFFER_ALLOC_HYBRID) ||
|
||||
- (scheme == XML_BUFFER_ALLOC_IMMUTABLE)) {
|
||||
+ (scheme == XML_BUFFER_ALLOC_IMMUTABLE) ||
|
||||
+ (scheme == XML_BUFFER_ALLOC_BOUNDED)) {
|
||||
buf->alloc = scheme;
|
||||
if (buf->buffer)
|
||||
buf->buffer->alloc = scheme;
|
||||
@@ -458,6 +460,18 @@ xmlBufGrowInternal(xmlBufPtr buf, size_t len) {
|
||||
size = buf->use + len + 100;
|
||||
#endif
|
||||
|
||||
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
|
||||
+ /*
|
||||
+ * Used to provide parsing limits
|
||||
+ */
|
||||
+ if ((buf->use + len >= XML_MAX_TEXT_LENGTH) ||
|
||||
+ (buf->size >= XML_MAX_TEXT_LENGTH)) {
|
||||
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
|
||||
+ return(0);
|
||||
+ }
|
||||
+ if (size >= XML_MAX_TEXT_LENGTH)
|
||||
+ size = XML_MAX_TEXT_LENGTH;
|
||||
+ }
|
||||
if ((buf->alloc == XML_BUFFER_ALLOC_IO) && (buf->contentIO != NULL)) {
|
||||
size_t start_buf = buf->content - buf->contentIO;
|
||||
|
||||
@@ -739,6 +753,15 @@ xmlBufResize(xmlBufPtr buf, size_t size)
|
||||
CHECK_COMPAT(buf)
|
||||
|
||||
if (buf->alloc == XML_BUFFER_ALLOC_IMMUTABLE) return(0);
|
||||
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
|
||||
+ /*
|
||||
+ * Used to provide parsing limits
|
||||
+ */
|
||||
+ if (size >= XML_MAX_TEXT_LENGTH) {
|
||||
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
|
||||
+ return(0);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
/* Don't resize if we don't have to */
|
||||
if (size < buf->size)
|
||||
@@ -867,6 +890,15 @@ xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len) {
|
||||
|
||||
needSize = buf->use + len + 2;
|
||||
if (needSize > buf->size){
|
||||
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
|
||||
+ /*
|
||||
+ * Used to provide parsing limits
|
||||
+ */
|
||||
+ if (needSize >= XML_MAX_TEXT_LENGTH) {
|
||||
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
|
||||
+ return(-1);
|
||||
+ }
|
||||
+ }
|
||||
if (!xmlBufResize(buf, needSize)){
|
||||
xmlBufMemoryError(buf, "growing buffer");
|
||||
return XML_ERR_NO_MEMORY;
|
||||
@@ -938,6 +970,15 @@ xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len) {
|
||||
}
|
||||
needSize = buf->use + len + 2;
|
||||
if (needSize > buf->size){
|
||||
+ if (buf->alloc == XML_BUFFER_ALLOC_BOUNDED) {
|
||||
+ /*
|
||||
+ * Used to provide parsing limits
|
||||
+ */
|
||||
+ if (needSize >= XML_MAX_TEXT_LENGTH) {
|
||||
+ xmlBufMemoryError(buf, "buffer error: text too long\n");
|
||||
+ return(-1);
|
||||
+ }
|
||||
+ }
|
||||
if (!xmlBufResize(buf, needSize)){
|
||||
xmlBufMemoryError(buf, "growing buffer");
|
||||
return XML_ERR_NO_MEMORY;
|
||||
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
|
||||
index 2f90717..4a9b3bc 100644
|
||||
--- a/include/libxml/tree.h
|
||||
+++ b/include/libxml/tree.h
|
||||
@@ -76,7 +76,8 @@ typedef enum {
|
||||
XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */
|
||||
XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
|
||||
XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */
|
||||
- XML_BUFFER_ALLOC_HYBRID /* exact up to a threshold, and doubleit thereafter */
|
||||
+ XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */
|
||||
+ XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */
|
||||
} xmlBufferAllocationScheme;
|
||||
|
||||
/**
|
||||
diff --git a/xmlreader.c b/xmlreader.c
|
||||
index f19e123..471e7e2 100644
|
||||
--- a/xmlreader.c
|
||||
+++ b/xmlreader.c
|
||||
@@ -2091,6 +2091,9 @@ xmlNewTextReader(xmlParserInputBufferPtr input, const char *URI) {
|
||||
"xmlNewTextReader : malloc failed\n");
|
||||
return(NULL);
|
||||
}
|
||||
+ /* no operation on a reader should require a huge buffer */
|
||||
+ xmlBufSetAllocationScheme(ret->buffer,
|
||||
+ XML_BUFFER_ALLOC_BOUNDED);
|
||||
ret->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
|
||||
if (ret->sax == NULL) {
|
||||
xmlBufFree(ret->buffer);
|
||||
@@ -3616,6 +3619,7 @@ xmlTextReaderConstValue(xmlTextReaderPtr reader) {
|
||||
return(((xmlNsPtr) node)->href);
|
||||
case XML_ATTRIBUTE_NODE:{
|
||||
xmlAttrPtr attr = (xmlAttrPtr) node;
|
||||
+ const xmlChar *ret;
|
||||
|
||||
if ((attr->children != NULL) &&
|
||||
(attr->children->type == XML_TEXT_NODE) &&
|
||||
@@ -3629,10 +3633,21 @@ xmlTextReaderConstValue(xmlTextReaderPtr reader) {
|
||||
"xmlTextReaderSetup : malloc failed\n");
|
||||
return (NULL);
|
||||
}
|
||||
+ xmlBufSetAllocationScheme(reader->buffer,
|
||||
+ XML_BUFFER_ALLOC_BOUNDED);
|
||||
} else
|
||||
xmlBufEmpty(reader->buffer);
|
||||
xmlBufGetNodeContent(reader->buffer, node);
|
||||
- return(xmlBufContent(reader->buffer));
|
||||
+ ret = xmlBufContent(reader->buffer);
|
||||
+ if (ret == NULL) {
|
||||
+ /* error on the buffer best to reallocate */
|
||||
+ xmlBufFree(reader->buffer);
|
||||
+ reader->buffer = xmlBufCreateSize(100);
|
||||
+ xmlBufSetAllocationScheme(reader->buffer,
|
||||
+ XML_BUFFER_ALLOC_BOUNDED);
|
||||
+ ret = BAD_CAST "";
|
||||
+ }
|
||||
+ return(ret);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -5131,6 +5146,9 @@ xmlTextReaderSetup(xmlTextReaderPtr reader,
|
||||
"xmlTextReaderSetup : malloc failed\n");
|
||||
return (-1);
|
||||
}
|
||||
+ /* no operation on a reader should require a huge buffer */
|
||||
+ xmlBufSetAllocationScheme(reader->buffer,
|
||||
+ XML_BUFFER_ALLOC_BOUNDED);
|
||||
if (reader->sax == NULL)
|
||||
reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler));
|
||||
if (reader->sax == NULL) {
|
||||
--
|
||||
2.3.5
|
||||
|
@ -1,17 +0,0 @@
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=749416
|
||||
|
||||
do not use -L$Z_DIR/lib when Z_DIR isn't actually set
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -392,7 +392,9 @@ if test "$with_zlib" = "no"; then
|
||||
else
|
||||
AC_CHECK_HEADERS(zlib.h,
|
||||
[SAVE_LDFLAGS="${LDFLAGS}"
|
||||
- LDFLAGS="-L${Z_DIR}/lib"
|
||||
+ if test "x${Z_DIR}" != "x"; then
|
||||
+ LDFLAGS="${LDFLAGS} -L${Z_DIR}/lib"
|
||||
+ fi
|
||||
AC_CHECK_LIB(z, gzread,[
|
||||
AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
|
||||
WITH_ZLIB=1
|
@ -1,32 +0,0 @@
|
||||
From a7dfab7411cbf545f359dd3157e5df1eb0e7ce31 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Mon, 23 Feb 2015 11:17:35 +0800
|
||||
Subject: [PATCH] Stop parsing on entities boundaries errors
|
||||
|
||||
For https://bugzilla.gnome.org/show_bug.cgi?id=744980
|
||||
|
||||
There are times, like on unterminated entities that it's preferable to
|
||||
stop parsing, even if that means less error reporting. Entities are
|
||||
feeding the parser on further processing, and if they are ill defined
|
||||
then it's possible to get the parser to bug. Also do the same on
|
||||
Conditional Sections if the input is broken, as the structure of
|
||||
the document can't be guessed.
|
||||
---
|
||||
parser.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/parser.c b/parser.c
|
||||
index a8d1b67..bbe97eb 100644
|
||||
--- a/parser.c
|
||||
+++ b/parser.c
|
||||
@@ -5658,6 +5658,7 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
|
||||
if (RAW != '>') {
|
||||
xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED,
|
||||
"xmlParseEntityDecl: entity %s not terminated\n", name);
|
||||
+ xmlStopParser(ctxt);
|
||||
} else {
|
||||
if (input != ctxt->input) {
|
||||
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
|
||||
--
|
||||
2.4.10
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 9b8512337d14c8ddf662fcb98b0135f225a1c489 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Mon, 23 Feb 2015 11:29:20 +0800
|
||||
Subject: [PATCH] Cleanup conditional section error handling
|
||||
|
||||
For https://bugzilla.gnome.org/show_bug.cgi?id=744980
|
||||
|
||||
The error handling of Conditional Section also need to be
|
||||
straightened as the structure of the document can't be
|
||||
guessed on a failure there and it's better to stop parsing
|
||||
as further errors are likely to be irrelevant.
|
||||
---
|
||||
parser.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/parser.c b/parser.c
|
||||
index bbe97eb..fe603ac 100644
|
||||
--- a/parser.c
|
||||
+++ b/parser.c
|
||||
@@ -6770,6 +6770,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
|
||||
SKIP_BLANKS;
|
||||
if (RAW != '[') {
|
||||
xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL);
|
||||
+ xmlStopParser(ctxt);
|
||||
+ return;
|
||||
} else {
|
||||
if (ctxt->input->id != id) {
|
||||
xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
|
||||
@@ -6830,6 +6832,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
|
||||
SKIP_BLANKS;
|
||||
if (RAW != '[') {
|
||||
xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID, NULL);
|
||||
+ xmlStopParser(ctxt);
|
||||
+ return;
|
||||
} else {
|
||||
if (ctxt->input->id != id) {
|
||||
xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
|
||||
@@ -6885,6 +6889,8 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
|
||||
|
||||
} else {
|
||||
xmlFatalErr(ctxt, XML_ERR_CONDSEC_INVALID_KEYWORD, NULL);
|
||||
+ xmlStopParser(ctxt);
|
||||
+ return;
|
||||
}
|
||||
|
||||
if (RAW == 0)
|
||||
--
|
||||
2.4.10
|
||||
|
@ -1,31 +0,0 @@
|
||||
From f0709e3ca8f8947f2d91ed34e92e38a4c23eae63 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Tue, 3 Nov 2015 15:31:25 +0800
|
||||
Subject: [PATCH] CVE-2015-8035 Fix XZ compression support loop
|
||||
|
||||
For https://bugzilla.gnome.org/show_bug.cgi?id=757466
|
||||
DoS when parsing specially crafted XML document if XZ support
|
||||
is compiled in (which wasn't the case for 2.9.2 and master since
|
||||
Nov 2013, fixed in next commit !)
|
||||
---
|
||||
xzlib.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/xzlib.c b/xzlib.c
|
||||
index 0dcb9f4..1fab546 100644
|
||||
--- a/xzlib.c
|
||||
+++ b/xzlib.c
|
||||
@@ -581,6 +581,10 @@ xz_decomp(xz_statep state)
|
||||
xz_error(state, LZMA_DATA_ERROR, "compressed data error");
|
||||
return -1;
|
||||
}
|
||||
+ if (ret == LZMA_PROG_ERROR) {
|
||||
+ xz_error(state, LZMA_PROG_ERROR, "compression error");
|
||||
+ return -1;
|
||||
+ }
|
||||
} while (strm->avail_out && ret != LZMA_STREAM_END);
|
||||
|
||||
/* update available output and crc check value */
|
||||
--
|
||||
2.4.10
|
||||
|
@ -1,114 +0,0 @@
|
||||
From 18b8988511b0954272cac4d6c3e6724f9dbf6e0a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Tue, 3 Nov 2015 15:46:29 +0800
|
||||
Subject: [PATCH] Reenable xz support by default
|
||||
|
||||
For https://bugzilla.gnome.org/show_bug.cgi?id=757466
|
||||
|
||||
problem was introduced by commit f3f86ff465c92c79f834d7b981f3c7274a8bb5c8
|
||||
for https://bugzilla.gnome.org/show_bug.cgi?id=711026
|
||||
---
|
||||
configure.ac | 3 +++
|
||||
xmlIO.c | 12 ++++++------
|
||||
xzlib.c | 6 ++++--
|
||||
3 files changed, 13 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 14ac0a8..48e0577 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -445,6 +445,9 @@ else
|
||||
fi],
|
||||
[have_liblzma=no])
|
||||
LDFLAGS="${SAVE_LDFLAGS}"])
|
||||
+ else
|
||||
+ # we still need to check for lzma,h header
|
||||
+ AC_CHECK_HEADERS([lzma.h])
|
||||
fi
|
||||
|
||||
# Found the library via either method?
|
||||
diff --git a/xmlIO.c b/xmlIO.c
|
||||
index e628ab0..8b13184 100644
|
||||
--- a/xmlIO.c
|
||||
+++ b/xmlIO.c
|
||||
@@ -1334,7 +1334,7 @@ xmlGzfileClose (void * context) {
|
||||
}
|
||||
#endif /* HAVE_ZLIB_H */
|
||||
|
||||
-#ifdef HAVE_LZMA_H
|
||||
+#ifdef LIBXML_LZMA_ENABLED
|
||||
/************************************************************************
|
||||
* *
|
||||
* I/O for compressed file accesses *
|
||||
@@ -1451,7 +1451,7 @@ xmlXzfileClose (void * context) {
|
||||
if (ret < 0) xmlIOErr(0, "xzclose()");
|
||||
return(ret);
|
||||
}
|
||||
-#endif /* HAVE_LZMA_H */
|
||||
+#endif /* LIBXML_LZMA_ENABLED */
|
||||
|
||||
#ifdef LIBXML_HTTP_ENABLED
|
||||
/************************************************************************
|
||||
@@ -2328,10 +2328,10 @@ xmlRegisterDefaultInputCallbacks(void) {
|
||||
xmlRegisterInputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
|
||||
xmlGzfileRead, xmlGzfileClose);
|
||||
#endif /* HAVE_ZLIB_H */
|
||||
-#ifdef HAVE_LZMA_H
|
||||
+#ifdef LIBXML_LZMA_ENABLED
|
||||
xmlRegisterInputCallbacks(xmlXzfileMatch, xmlXzfileOpen,
|
||||
xmlXzfileRead, xmlXzfileClose);
|
||||
-#endif /* HAVE_ZLIB_H */
|
||||
+#endif /* LIBXML_LZMA_ENABLED */
|
||||
|
||||
#ifdef LIBXML_HTTP_ENABLED
|
||||
xmlRegisterInputCallbacks(xmlIOHTTPMatch, xmlIOHTTPOpen,
|
||||
@@ -2683,7 +2683,7 @@ __xmlParserInputBufferCreateFilename(const char *URI, xmlCharEncoding enc) {
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
-#ifdef HAVE_LZMA_H
|
||||
+#ifdef LIBXML_LZMA_ENABLED
|
||||
if ((xmlInputCallbackTable[i].opencallback == xmlXzfileOpen) &&
|
||||
(strcmp(URI, "-") != 0)) {
|
||||
ret->compressed = __libxml2_xzcompressed(context);
|
||||
@@ -3350,7 +3350,7 @@ xmlParserInputBufferGrow(xmlParserInputBufferPtr in, int len) {
|
||||
* try to establish compressed status of input if not done already
|
||||
*/
|
||||
if (in->compressed == -1) {
|
||||
-#ifdef HAVE_LZMA_H
|
||||
+#ifdef LIBXML_LZMA_ENABLED
|
||||
if (in->readcallback == xmlXzfileRead)
|
||||
in->compressed = __libxml2_xzcompressed(in->context);
|
||||
#endif
|
||||
diff --git a/xzlib.c b/xzlib.c
|
||||
index 1fab546..782957f 100644
|
||||
--- a/xzlib.c
|
||||
+++ b/xzlib.c
|
||||
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
#define IN_LIBXML
|
||||
#include "libxml.h"
|
||||
-#ifdef HAVE_LZMA_H
|
||||
+#ifdef LIBXML_LZMA_ENABLED
|
||||
|
||||
#include <string.h>
|
||||
#ifdef HAVE_ERRNO_H
|
||||
@@ -34,7 +34,9 @@
|
||||
#ifdef HAVE_ZLIB_H
|
||||
#include <zlib.h>
|
||||
#endif
|
||||
+#ifdef HAVE_LZMA_H
|
||||
#include <lzma.h>
|
||||
+#endif
|
||||
|
||||
#include "xzlib.h"
|
||||
#include <libxml/xmlmemory.h>
|
||||
@@ -799,4 +801,4 @@ __libxml2_xzclose(xzFile file)
|
||||
xmlFree(state);
|
||||
return ret ? ret : LZMA_OK;
|
||||
}
|
||||
-#endif /* HAVE_LZMA_H */
|
||||
+#endif /* LIBXML_LZMA_ENABLED */
|
||||
--
|
||||
2.4.10
|
||||
|
@ -1,26 +0,0 @@
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 7374564..13c8d4e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1444,19 +1444,11 @@ XML_LIBTOOLLIBS="libxml2.la"
|
||||
AC_SUBST(WITH_ICONV)
|
||||
|
||||
WITH_ICU=0
|
||||
-ICU_LIBS=""
|
||||
if test "$with_icu" != "yes" ; then
|
||||
echo Disabling ICU support
|
||||
else
|
||||
- ICU_CONFIG=icu-config
|
||||
- if ${ICU_CONFIG} --cflags >/dev/null 2>&1
|
||||
- then
|
||||
- ICU_LIBS=`${ICU_CONFIG} --ldflags`
|
||||
- WITH_ICU=1
|
||||
- echo Enabling ICU support
|
||||
- else
|
||||
- AC_MSG_ERROR([libicu config program icu-config not found])
|
||||
- fi
|
||||
+ PKG_CHECK_MODULES(ICU, icu-i18n)
|
||||
+ WITH_ICU=1
|
||||
fi
|
||||
AC_SUBST(WITH_ICU)
|
||||
AC_SUBST(ICU_LIBS)
|
@ -1,31 +0,0 @@
|
||||
From 72a46a519ce7326d9a00f0b6a7f2a8e958cd1675 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Thu, 23 Oct 2014 11:35:36 +0800
|
||||
Subject: [PATCH] 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
|
||||
---
|
||||
parser.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
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;
|
||||
--
|
||||
2.3.5
|
||||
|
@ -1,32 +0,0 @@
|
||||
From bd0526e66a56e75a18da8c15c4750db8f801c52d Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Fri, 23 Oct 2015 19:02:28 +0800
|
||||
Subject: Another variation of overflow in Conditional sections
|
||||
|
||||
Which happen after the previous fix to
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=756456
|
||||
|
||||
But stopping the parser and exiting we didn't pop the intermediary entities
|
||||
and doing the SKIP there applies on an input which may be too small
|
||||
---
|
||||
parser.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/parser.c b/parser.c
|
||||
index a65e4cc..b9217ff 100644
|
||||
--- a/parser.c
|
||||
+++ b/parser.c
|
||||
@@ -6915,7 +6915,9 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
|
||||
"All markup of the conditional section is not in the same entity\n",
|
||||
NULL, NULL);
|
||||
}
|
||||
- SKIP(3);
|
||||
+ if ((ctxt-> instate != XML_PARSER_EOF) &&
|
||||
+ ((ctxt->input->cur + 3) < ctxt->input->end))
|
||||
+ SKIP(3);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
cgit v0.11.2
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 41ac9049a27f52e7a1f3b341f8714149fc88d450 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Tue, 27 Oct 2015 10:53:44 +0800
|
||||
Subject: Fix an error in previous Conditional section patch
|
||||
|
||||
an off by one mistake in the change, led to error on correct
|
||||
document where the end of the included entity was exactly
|
||||
the end of the conditional section, leading to regtest failure
|
||||
---
|
||||
parser.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/parser.c b/parser.c
|
||||
index b9217ff..d67b300 100644
|
||||
--- a/parser.c
|
||||
+++ b/parser.c
|
||||
@@ -6916,7 +6916,7 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
|
||||
NULL, NULL);
|
||||
}
|
||||
if ((ctxt-> instate != XML_PARSER_EOF) &&
|
||||
- ((ctxt->input->cur + 3) < ctxt->input->end))
|
||||
+ ((ctxt->input->cur + 3) <= ctxt->input->end))
|
||||
SKIP(3);
|
||||
}
|
||||
}
|
||||
--
|
||||
cgit v0.11.2
|
||||
|
@ -0,0 +1,16 @@
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 14ac0a8..f787b12 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -844,7 +844,7 @@ if test "$with_python" != "no" ; then
|
||||
fi
|
||||
if test "$PYTHON" != ""
|
||||
then
|
||||
- PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
|
||||
+ PYTHON_VERSION=`$PYTHON -c "import sysconfig; print(sysconfig.get_config_var('LDVERSION') or sysconfig.get_config_var('py_version_short'))"`
|
||||
PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
|
||||
# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
|
||||
#
|
@ -1,26 +0,0 @@
|
||||
From f65128f38289d77ff322d63aef2858cc0a819c34 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
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
|
||||
|
@ -1,48 +0,0 @@
|
||||
From fff8a6b87e05200a0ad0af6f86c2e859c7de9172 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Heimpold <mhei@heimpold.de>
|
||||
Date: Mon, 22 Dec 2014 11:12:12 +0800
|
||||
Subject: [PATCH] threads: use forward declarations only for glibc
|
||||
|
||||
Fixes bug #704908
|
||||
|
||||
The declarations of pthread functions, used to generate weak references
|
||||
to them, fail to suppress macros. Thus, if any pthread function has
|
||||
been provided as a macro, compiling threads.c will fail.
|
||||
This breaks on musl libc, which defines pthread_equal as a macro (in
|
||||
addition to providing the function, as required).
|
||||
|
||||
Prevent the declarations for e.g. musl libc by refining the condition.
|
||||
|
||||
The idea for this solution was borrowed from the alpine linux guys, see
|
||||
http://git.alpinelinux.org/cgit/aports/tree/main/libxml2/libxml2-pthread.patch
|
||||
|
||||
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
|
||||
---
|
||||
threads.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/threads.c b/threads.c
|
||||
index 8921204..78006a2 100644
|
||||
--- a/threads.c
|
||||
+++ b/threads.c
|
||||
@@ -47,7 +47,7 @@
|
||||
#ifdef HAVE_PTHREAD_H
|
||||
|
||||
static int libxml_is_threaded = -1;
|
||||
-#ifdef __GNUC__
|
||||
+#if defined(__GNUC__) && defined(__GLIBC__)
|
||||
#ifdef linux
|
||||
#if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
|
||||
extern int pthread_once (pthread_once_t *__once_control,
|
||||
@@ -89,7 +89,7 @@ extern int pthread_cond_signal ()
|
||||
__attribute((weak));
|
||||
#endif
|
||||
#endif /* linux */
|
||||
-#endif /* __GNUC__ */
|
||||
+#endif /* defined(__GNUC__) && defined(__GLIBC__) */
|
||||
#endif /* HAVE_PTHREAD_H */
|
||||
|
||||
/*
|
||||
--
|
||||
2.3.5
|
||||
|
@ -1,128 +0,0 @@
|
||||
From 9b987f8c98763ee569bde90b5268b43474ca106c Mon Sep 17 00:00:00 2001
|
||||
From: Christopher Swenson <chris@caswenson.com>
|
||||
Date: Fri, 27 Feb 2015 14:55:49 +0800
|
||||
Subject: [PATCH] Fix timsort invariant loop re: Envisage article
|
||||
|
||||
See http://envisage-project.eu/proving-android-java-and-python-sorting-algorithm-is-broken-and-how-to-fix-it/
|
||||
|
||||
We use a "runLen" array of size 128, so it should be nearly impossible
|
||||
to have our implementation overflow.
|
||||
|
||||
But in any case, the fix is relatively simple -- checking two extra
|
||||
conditions in the invariant calculation.
|
||||
|
||||
I also took this opportunity to remove some redundancy in the
|
||||
left/right merge logic in the invariant loop.
|
||||
---
|
||||
timsort.h | 74 +++++++++++++++++++++++++++++++++------------------------------
|
||||
1 file changed, 39 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/timsort.h b/timsort.h
|
||||
index efa3aab..795f272 100644
|
||||
--- a/timsort.h
|
||||
+++ b/timsort.h
|
||||
@@ -392,62 +392,66 @@ static void TIM_SORT_MERGE(SORT_TYPE *dst, const TIM_SORT_RUN_T *stack, const in
|
||||
|
||||
static int TIM_SORT_COLLAPSE(SORT_TYPE *dst, TIM_SORT_RUN_T *stack, int stack_curr, TEMP_STORAGE_T *store, const size_t size)
|
||||
{
|
||||
- while (1)
|
||||
- {
|
||||
- int64_t A, B, C;
|
||||
+ while (1) {
|
||||
+ int64_t A, B, C, D;
|
||||
+ int ABC, BCD, BD, CD;
|
||||
+
|
||||
/* if the stack only has one thing on it, we are done with the collapse */
|
||||
- if (stack_curr <= 1) break;
|
||||
+ if (stack_curr <= 1) {
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
/* if this is the last merge, just do it */
|
||||
- if ((stack_curr == 2) &&
|
||||
- (stack[0].length + stack[1].length == (int64_t) size))
|
||||
- {
|
||||
+ if ((stack_curr == 2) && (stack[0].length + stack[1].length == size)) {
|
||||
TIM_SORT_MERGE(dst, stack, stack_curr, store);
|
||||
stack[0].length += stack[1].length;
|
||||
stack_curr--;
|
||||
break;
|
||||
}
|
||||
/* check if the invariant is off for a stack of 2 elements */
|
||||
- else if ((stack_curr == 2) && (stack[0].length <= stack[1].length))
|
||||
- {
|
||||
+ else if ((stack_curr == 2) && (stack[0].length <= stack[1].length)) {
|
||||
TIM_SORT_MERGE(dst, stack, stack_curr, store);
|
||||
stack[0].length += stack[1].length;
|
||||
stack_curr--;
|
||||
break;
|
||||
- }
|
||||
- else if (stack_curr == 2)
|
||||
+ } else if (stack_curr == 2) {
|
||||
break;
|
||||
+ }
|
||||
|
||||
- A = stack[stack_curr - 3].length;
|
||||
- B = stack[stack_curr - 2].length;
|
||||
- C = stack[stack_curr - 1].length;
|
||||
+ B = stack[stack_curr - 3].length;
|
||||
+ C = stack[stack_curr - 2].length;
|
||||
+ D = stack[stack_curr - 1].length;
|
||||
|
||||
- /* check first invariant */
|
||||
- if (A <= B + C)
|
||||
- {
|
||||
- if (A < C)
|
||||
- {
|
||||
- TIM_SORT_MERGE(dst, stack, stack_curr - 1, store);
|
||||
- stack[stack_curr - 3].length += stack[stack_curr - 2].length;
|
||||
- stack[stack_curr - 2] = stack[stack_curr - 1];
|
||||
- stack_curr--;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- TIM_SORT_MERGE(dst, stack, stack_curr, store);
|
||||
- stack[stack_curr - 2].length += stack[stack_curr - 1].length;
|
||||
- stack_curr--;
|
||||
- }
|
||||
+ if (stack_curr >= 4) {
|
||||
+ A = stack[stack_curr - 4].length;
|
||||
+ ABC = (A <= B + C);
|
||||
+ } else {
|
||||
+ ABC = 0;
|
||||
}
|
||||
- /* check second invariant */
|
||||
- else if (B <= C)
|
||||
- {
|
||||
+
|
||||
+ BCD = (B <= C + D) || ABC;
|
||||
+ CD = (C <= D);
|
||||
+ BD = (B < D);
|
||||
+
|
||||
+ /* Both invariants are good */
|
||||
+ if (!BCD && !CD) {
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ /* left merge */
|
||||
+ if (BCD && !CD) {
|
||||
+ TIM_SORT_MERGE(dst, stack, stack_curr - 1, store);
|
||||
+ stack[stack_curr - 3].length += stack[stack_curr - 2].length;
|
||||
+ stack[stack_curr - 2] = stack[stack_curr - 1];
|
||||
+ stack_curr--;
|
||||
+ } else {
|
||||
+ /* right merge */
|
||||
TIM_SORT_MERGE(dst, stack, stack_curr, store);
|
||||
stack[stack_curr - 2].length += stack[stack_curr - 1].length;
|
||||
stack_curr--;
|
||||
}
|
||||
- else
|
||||
- break;
|
||||
}
|
||||
+
|
||||
return stack_curr;
|
||||
}
|
||||
|
||||
--
|
||||
2.3.5
|
||||
|
@ -1,65 +0,0 @@
|
||||
From e724879d964d774df9b7969fc846605aa1bac54c Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Veillard <veillard@redhat.com>
|
||||
Date: Fri, 30 Oct 2015 21:14:55 +0800
|
||||
Subject: Fix parsing short unclosed comment uninitialized access
|
||||
|
||||
For https://bugzilla.gnome.org/show_bug.cgi?id=746048
|
||||
The HTML parser was too optimistic when processing comments and
|
||||
didn't check for the end of the stream on the first 2 characters
|
||||
---
|
||||
HTMLparser.c | 21 ++++++++++++++-------
|
||||
1 file changed, 14 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/HTMLparser.c b/HTMLparser.c
|
||||
index 19c10c3..bdf7807 100644
|
||||
--- a/HTMLparser.c
|
||||
+++ b/HTMLparser.c
|
||||
@@ -3264,12 +3264,17 @@ htmlParseComment(htmlParserCtxtPtr ctxt) {
|
||||
ctxt->instate = state;
|
||||
return;
|
||||
}
|
||||
+ len = 0;
|
||||
+ buf[len] = 0;
|
||||
q = CUR_CHAR(ql);
|
||||
+ if (!IS_CHAR(q))
|
||||
+ goto unfinished;
|
||||
NEXTL(ql);
|
||||
r = CUR_CHAR(rl);
|
||||
+ if (!IS_CHAR(r))
|
||||
+ goto unfinished;
|
||||
NEXTL(rl);
|
||||
cur = CUR_CHAR(l);
|
||||
- len = 0;
|
||||
while (IS_CHAR(cur) &&
|
||||
((cur != '>') ||
|
||||
(r != '-') || (q != '-'))) {
|
||||
@@ -3300,18 +3305,20 @@ htmlParseComment(htmlParserCtxtPtr ctxt) {
|
||||
}
|
||||
}
|
||||
buf[len] = 0;
|
||||
- if (!IS_CHAR(cur)) {
|
||||
- htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
|
||||
- "Comment not terminated \n<!--%.50s\n", buf, NULL);
|
||||
- xmlFree(buf);
|
||||
- } else {
|
||||
+ if (IS_CHAR(cur)) {
|
||||
NEXT;
|
||||
if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
|
||||
(!ctxt->disableSAX))
|
||||
ctxt->sax->comment(ctxt->userData, buf);
|
||||
xmlFree(buf);
|
||||
+ ctxt->instate = state;
|
||||
+ return;
|
||||
}
|
||||
- ctxt->instate = state;
|
||||
+
|
||||
+unfinished:
|
||||
+ htmlParseErr(ctxt, XML_ERR_COMMENT_NOT_FINISHED,
|
||||
+ "Comment not terminated \n<!--%.50s\n", buf, NULL);
|
||||
+ xmlFree(buf);
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
cgit v0.11.2
|
||||
|
@ -0,0 +1,249 @@
|
||||
From c1d1f7121194036608bf555f08d3062a36fd344b Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Tue, 28 Jun 2016 18:34:52 +0200
|
||||
Subject: Disallow namespace nodes in XPointer ranges
|
||||
|
||||
Namespace nodes must be copied to avoid use-after-free errors.
|
||||
But they don't necessarily have a physical representation in a
|
||||
document, so simply disallow them in XPointer ranges.
|
||||
|
||||
Found with afl-fuzz.
|
||||
|
||||
Fixes CVE-2016-4658.
|
||||
---
|
||||
xpointer.c | 149 +++++++++++++++++++++++--------------------------------------
|
||||
1 file changed, 56 insertions(+), 93 deletions(-)
|
||||
|
||||
diff --git a/xpointer.c b/xpointer.c
|
||||
index a7b03fb..694d120 100644
|
||||
--- a/xpointer.c
|
||||
+++ b/xpointer.c
|
||||
@@ -320,6 +320,45 @@ xmlXPtrRangesEqual(xmlXPathObjectPtr range1, xmlXPathObjectPtr range2) {
|
||||
}
|
||||
|
||||
/**
|
||||
+ * xmlXPtrNewRangeInternal:
|
||||
+ * @start: the starting node
|
||||
+ * @startindex: the start index
|
||||
+ * @end: the ending point
|
||||
+ * @endindex: the ending index
|
||||
+ *
|
||||
+ * Internal function to create a new xmlXPathObjectPtr of type range
|
||||
+ *
|
||||
+ * Returns the newly created object.
|
||||
+ */
|
||||
+static xmlXPathObjectPtr
|
||||
+xmlXPtrNewRangeInternal(xmlNodePtr start, int startindex,
|
||||
+ xmlNodePtr end, int endindex) {
|
||||
+ xmlXPathObjectPtr ret;
|
||||
+
|
||||
+ /*
|
||||
+ * Namespace nodes must be copied (see xmlXPathNodeSetDupNs).
|
||||
+ * Disallow them for now.
|
||||
+ */
|
||||
+ if ((start != NULL) && (start->type == XML_NAMESPACE_DECL))
|
||||
+ return(NULL);
|
||||
+ if ((end != NULL) && (end->type == XML_NAMESPACE_DECL))
|
||||
+ return(NULL);
|
||||
+
|
||||
+ ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
+ if (ret == NULL) {
|
||||
+ xmlXPtrErrMemory("allocating range");
|
||||
+ return(NULL);
|
||||
+ }
|
||||
+ memset(ret, 0, sizeof(xmlXPathObject));
|
||||
+ ret->type = XPATH_RANGE;
|
||||
+ ret->user = start;
|
||||
+ ret->index = startindex;
|
||||
+ ret->user2 = end;
|
||||
+ ret->index2 = endindex;
|
||||
+ return(ret);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
* xmlXPtrNewRange:
|
||||
* @start: the starting node
|
||||
* @startindex: the start index
|
||||
@@ -344,17 +383,7 @@ xmlXPtrNewRange(xmlNodePtr start, int startindex,
|
||||
if (endindex < 0)
|
||||
return(NULL);
|
||||
|
||||
- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
- if (ret == NULL) {
|
||||
- xmlXPtrErrMemory("allocating range");
|
||||
- return(NULL);
|
||||
- }
|
||||
- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
|
||||
- ret->type = XPATH_RANGE;
|
||||
- ret->user = start;
|
||||
- ret->index = startindex;
|
||||
- ret->user2 = end;
|
||||
- ret->index2 = endindex;
|
||||
+ ret = xmlXPtrNewRangeInternal(start, startindex, end, endindex);
|
||||
xmlXPtrRangeCheckOrder(ret);
|
||||
return(ret);
|
||||
}
|
||||
@@ -381,17 +410,8 @@ xmlXPtrNewRangePoints(xmlXPathObjectPtr start, xmlXPathObjectPtr end) {
|
||||
if (end->type != XPATH_POINT)
|
||||
return(NULL);
|
||||
|
||||
- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
- if (ret == NULL) {
|
||||
- xmlXPtrErrMemory("allocating range");
|
||||
- return(NULL);
|
||||
- }
|
||||
- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
|
||||
- ret->type = XPATH_RANGE;
|
||||
- ret->user = start->user;
|
||||
- ret->index = start->index;
|
||||
- ret->user2 = end->user;
|
||||
- ret->index2 = end->index;
|
||||
+ ret = xmlXPtrNewRangeInternal(start->user, start->index, end->user,
|
||||
+ end->index);
|
||||
xmlXPtrRangeCheckOrder(ret);
|
||||
return(ret);
|
||||
}
|
||||
@@ -416,17 +436,7 @@ xmlXPtrNewRangePointNode(xmlXPathObjectPtr start, xmlNodePtr end) {
|
||||
if (start->type != XPATH_POINT)
|
||||
return(NULL);
|
||||
|
||||
- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
- if (ret == NULL) {
|
||||
- xmlXPtrErrMemory("allocating range");
|
||||
- return(NULL);
|
||||
- }
|
||||
- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
|
||||
- ret->type = XPATH_RANGE;
|
||||
- ret->user = start->user;
|
||||
- ret->index = start->index;
|
||||
- ret->user2 = end;
|
||||
- ret->index2 = -1;
|
||||
+ ret = xmlXPtrNewRangeInternal(start->user, start->index, end, -1);
|
||||
xmlXPtrRangeCheckOrder(ret);
|
||||
return(ret);
|
||||
}
|
||||
@@ -453,17 +463,7 @@ xmlXPtrNewRangeNodePoint(xmlNodePtr start, xmlXPathObjectPtr end) {
|
||||
if (end->type != XPATH_POINT)
|
||||
return(NULL);
|
||||
|
||||
- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
- if (ret == NULL) {
|
||||
- xmlXPtrErrMemory("allocating range");
|
||||
- return(NULL);
|
||||
- }
|
||||
- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
|
||||
- ret->type = XPATH_RANGE;
|
||||
- ret->user = start;
|
||||
- ret->index = -1;
|
||||
- ret->user2 = end->user;
|
||||
- ret->index2 = end->index;
|
||||
+ ret = xmlXPtrNewRangeInternal(start, -1, end->user, end->index);
|
||||
xmlXPtrRangeCheckOrder(ret);
|
||||
return(ret);
|
||||
}
|
||||
@@ -486,17 +486,7 @@ xmlXPtrNewRangeNodes(xmlNodePtr start, xmlNodePtr end) {
|
||||
if (end == NULL)
|
||||
return(NULL);
|
||||
|
||||
- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
- if (ret == NULL) {
|
||||
- xmlXPtrErrMemory("allocating range");
|
||||
- return(NULL);
|
||||
- }
|
||||
- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
|
||||
- ret->type = XPATH_RANGE;
|
||||
- ret->user = start;
|
||||
- ret->index = -1;
|
||||
- ret->user2 = end;
|
||||
- ret->index2 = -1;
|
||||
+ ret = xmlXPtrNewRangeInternal(start, -1, end, -1);
|
||||
xmlXPtrRangeCheckOrder(ret);
|
||||
return(ret);
|
||||
}
|
||||
@@ -516,17 +506,7 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) {
|
||||
if (start == NULL)
|
||||
return(NULL);
|
||||
|
||||
- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
- if (ret == NULL) {
|
||||
- xmlXPtrErrMemory("allocating range");
|
||||
- return(NULL);
|
||||
- }
|
||||
- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
|
||||
- ret->type = XPATH_RANGE;
|
||||
- ret->user = start;
|
||||
- ret->index = -1;
|
||||
- ret->user2 = NULL;
|
||||
- ret->index2 = -1;
|
||||
+ ret = xmlXPtrNewRangeInternal(start, -1, NULL, -1);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@@ -541,6 +521,8 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) {
|
||||
*/
|
||||
xmlXPathObjectPtr
|
||||
xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
|
||||
+ xmlNodePtr endNode;
|
||||
+ int endIndex;
|
||||
xmlXPathObjectPtr ret;
|
||||
|
||||
if (start == NULL)
|
||||
@@ -549,7 +531,12 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
|
||||
return(NULL);
|
||||
switch (end->type) {
|
||||
case XPATH_POINT:
|
||||
+ endNode = end->user;
|
||||
+ endIndex = end->index;
|
||||
+ break;
|
||||
case XPATH_RANGE:
|
||||
+ endNode = end->user2;
|
||||
+ endIndex = end->index2;
|
||||
break;
|
||||
case XPATH_NODESET:
|
||||
/*
|
||||
@@ -557,39 +544,15 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
|
||||
*/
|
||||
if (end->nodesetval->nodeNr <= 0)
|
||||
return(NULL);
|
||||
+ endNode = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1];
|
||||
+ endIndex = -1;
|
||||
break;
|
||||
default:
|
||||
/* TODO */
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject));
|
||||
- if (ret == NULL) {
|
||||
- xmlXPtrErrMemory("allocating range");
|
||||
- return(NULL);
|
||||
- }
|
||||
- memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
|
||||
- ret->type = XPATH_RANGE;
|
||||
- ret->user = start;
|
||||
- ret->index = -1;
|
||||
- switch (end->type) {
|
||||
- case XPATH_POINT:
|
||||
- ret->user2 = end->user;
|
||||
- ret->index2 = end->index;
|
||||
- break;
|
||||
- case XPATH_RANGE:
|
||||
- ret->user2 = end->user2;
|
||||
- ret->index2 = end->index2;
|
||||
- break;
|
||||
- case XPATH_NODESET: {
|
||||
- ret->user2 = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1];
|
||||
- ret->index2 = -1;
|
||||
- break;
|
||||
- }
|
||||
- default:
|
||||
- STRANGE
|
||||
- return(NULL);
|
||||
- }
|
||||
+ ret = xmlXPtrNewRangeInternal(start, -1, endNode, endIndex);
|
||||
xmlXPtrRangeCheckOrder(ret);
|
||||
return(ret);
|
||||
}
|
||||
--
|
||||
cgit v0.12
|
||||
|
@ -0,0 +1,174 @@
|
||||
From 9ab01a277d71f54d3143c2cf333c5c2e9aaedd9e Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Tue, 28 Jun 2016 14:22:23 +0200
|
||||
Subject: Fix XPointer paths beginning with range-to
|
||||
|
||||
The old code would invoke the broken xmlXPtrRangeToFunction. range-to
|
||||
isn't really a function but a special kind of location step. Remove
|
||||
this function and always handle range-to in the XPath code.
|
||||
|
||||
The old xmlXPtrRangeToFunction could also be abused to trigger a
|
||||
use-after-free error with the potential for remote code execution.
|
||||
|
||||
Found with afl-fuzz.
|
||||
|
||||
Fixes CVE-2016-5131.
|
||||
---
|
||||
result/XPath/xptr/vidbase | 13 ++++++++
|
||||
test/XPath/xptr/vidbase | 1 +
|
||||
xpath.c | 7 ++++-
|
||||
xpointer.c | 76 ++++-------------------------------------------
|
||||
4 files changed, 26 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/result/XPath/xptr/vidbase b/result/XPath/xptr/vidbase
|
||||
index 8b9e92d..f19193e 100644
|
||||
--- a/result/XPath/xptr/vidbase
|
||||
+++ b/result/XPath/xptr/vidbase
|
||||
@@ -17,3 +17,16 @@ Object is a Location Set:
|
||||
To node
|
||||
ELEMENT p
|
||||
|
||||
+
|
||||
+========================
|
||||
+Expression: xpointer(range-to(id('chapter2')))
|
||||
+Object is a Location Set:
|
||||
+1 : Object is a range :
|
||||
+ From node
|
||||
+ /
|
||||
+ To node
|
||||
+ ELEMENT chapter
|
||||
+ ATTRIBUTE id
|
||||
+ TEXT
|
||||
+ content=chapter2
|
||||
+
|
||||
diff --git a/test/XPath/xptr/vidbase b/test/XPath/xptr/vidbase
|
||||
index b146383..884b106 100644
|
||||
--- a/test/XPath/xptr/vidbase
|
||||
+++ b/test/XPath/xptr/vidbase
|
||||
@@ -1,2 +1,3 @@
|
||||
xpointer(id('chapter1')/p)
|
||||
xpointer(id('chapter1')/p[1]/range-to(following-sibling::p[2]))
|
||||
+xpointer(range-to(id('chapter2')))
|
||||
diff --git a/xpath.c b/xpath.c
|
||||
index d992841..5a01b1b 100644
|
||||
--- a/xpath.c
|
||||
+++ b/xpath.c
|
||||
@@ -10691,13 +10691,18 @@ xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) {
|
||||
lc = 1;
|
||||
break;
|
||||
} else if ((NXT(len) == '(')) {
|
||||
- /* Note Type or Function */
|
||||
+ /* Node Type or Function */
|
||||
if (xmlXPathIsNodeType(name)) {
|
||||
#ifdef DEBUG_STEP
|
||||
xmlGenericError(xmlGenericErrorContext,
|
||||
"PathExpr: Type search\n");
|
||||
#endif
|
||||
lc = 1;
|
||||
+#ifdef LIBXML_XPTR_ENABLED
|
||||
+ } else if (ctxt->xptr &&
|
||||
+ xmlStrEqual(name, BAD_CAST "range-to")) {
|
||||
+ lc = 1;
|
||||
+#endif
|
||||
} else {
|
||||
#ifdef DEBUG_STEP
|
||||
xmlGenericError(xmlGenericErrorContext,
|
||||
diff --git a/xpointer.c b/xpointer.c
|
||||
index 676c510..d74174a 100644
|
||||
--- a/xpointer.c
|
||||
+++ b/xpointer.c
|
||||
@@ -1332,8 +1332,6 @@ xmlXPtrNewContext(xmlDocPtr doc, xmlNodePtr here, xmlNodePtr origin) {
|
||||
ret->here = here;
|
||||
ret->origin = origin;
|
||||
|
||||
- xmlXPathRegisterFunc(ret, (xmlChar *)"range-to",
|
||||
- xmlXPtrRangeToFunction);
|
||||
xmlXPathRegisterFunc(ret, (xmlChar *)"range",
|
||||
xmlXPtrRangeFunction);
|
||||
xmlXPathRegisterFunc(ret, (xmlChar *)"range-inside",
|
||||
@@ -2243,76 +2241,14 @@ xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs) {
|
||||
* @nargs: the number of args
|
||||
*
|
||||
* Implement the range-to() XPointer function
|
||||
+ *
|
||||
+ * Obsolete. range-to is not a real function but a special type of location
|
||||
+ * step which is handled in xpath.c.
|
||||
*/
|
||||
void
|
||||
-xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, int nargs) {
|
||||
- xmlXPathObjectPtr range;
|
||||
- const xmlChar *cur;
|
||||
- xmlXPathObjectPtr res, obj;
|
||||
- xmlXPathObjectPtr tmp;
|
||||
- xmlLocationSetPtr newset = NULL;
|
||||
- xmlNodeSetPtr oldset;
|
||||
- int i;
|
||||
-
|
||||
- if (ctxt == NULL) return;
|
||||
- CHECK_ARITY(1);
|
||||
- /*
|
||||
- * Save the expression pointer since we will have to evaluate
|
||||
- * it multiple times. Initialize the new set.
|
||||
- */
|
||||
- CHECK_TYPE(XPATH_NODESET);
|
||||
- obj = valuePop(ctxt);
|
||||
- oldset = obj->nodesetval;
|
||||
- ctxt->context->node = NULL;
|
||||
-
|
||||
- cur = ctxt->cur;
|
||||
- newset = xmlXPtrLocationSetCreate(NULL);
|
||||
-
|
||||
- for (i = 0; i < oldset->nodeNr; i++) {
|
||||
- ctxt->cur = cur;
|
||||
-
|
||||
- /*
|
||||
- * Run the evaluation with a node list made of a single item
|
||||
- * in the nodeset.
|
||||
- */
|
||||
- ctxt->context->node = oldset->nodeTab[i];
|
||||
- tmp = xmlXPathNewNodeSet(ctxt->context->node);
|
||||
- valuePush(ctxt, tmp);
|
||||
-
|
||||
- xmlXPathEvalExpr(ctxt);
|
||||
- CHECK_ERROR;
|
||||
-
|
||||
- /*
|
||||
- * The result of the evaluation need to be tested to
|
||||
- * decided whether the filter succeeded or not
|
||||
- */
|
||||
- res = valuePop(ctxt);
|
||||
- range = xmlXPtrNewRangeNodeObject(oldset->nodeTab[i], res);
|
||||
- if (range != NULL) {
|
||||
- xmlXPtrLocationSetAdd(newset, range);
|
||||
- }
|
||||
-
|
||||
- /*
|
||||
- * Cleanup
|
||||
- */
|
||||
- if (res != NULL)
|
||||
- xmlXPathFreeObject(res);
|
||||
- if (ctxt->value == tmp) {
|
||||
- res = valuePop(ctxt);
|
||||
- xmlXPathFreeObject(res);
|
||||
- }
|
||||
-
|
||||
- ctxt->context->node = NULL;
|
||||
- }
|
||||
-
|
||||
- /*
|
||||
- * The result is used as the new evaluation set.
|
||||
- */
|
||||
- xmlXPathFreeObject(obj);
|
||||
- ctxt->context->node = NULL;
|
||||
- ctxt->context->contextSize = -1;
|
||||
- ctxt->context->proximityPosition = -1;
|
||||
- valuePush(ctxt, xmlXPtrWrapLocationSet(newset));
|
||||
+xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt,
|
||||
+ int nargs ATTRIBUTE_UNUSED) {
|
||||
+ XP_ERROR(XPATH_EXPR_ERROR);
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
cgit v0.12
|
||||
|
@ -0,0 +1,50 @@
|
||||
From e905f08123e4a6e7731549e6f09dadff4cab65bd Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Sun, 26 Jun 2016 12:38:28 +0200
|
||||
Subject: Fix more NULL pointer derefs in xpointer.c
|
||||
|
||||
Found with afl-fuzz.
|
||||
---
|
||||
xpointer.c | 12 +++++++-----
|
||||
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/xpointer.c b/xpointer.c
|
||||
index 694d120..e643ee9 100644
|
||||
--- a/xpointer.c
|
||||
+++ b/xpointer.c
|
||||
@@ -542,7 +542,7 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
|
||||
/*
|
||||
* Empty set ...
|
||||
*/
|
||||
- if (end->nodesetval->nodeNr <= 0)
|
||||
+ if ((end->nodesetval == NULL) || (end->nodesetval->nodeNr <= 0))
|
||||
return(NULL);
|
||||
endNode = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1];
|
||||
endIndex = -1;
|
||||
@@ -1361,7 +1361,7 @@ xmlXPtrEval(const xmlChar *str, xmlXPathContextPtr ctx) {
|
||||
*/
|
||||
xmlNodeSetPtr set;
|
||||
set = tmp->nodesetval;
|
||||
- if ((set->nodeNr != 1) ||
|
||||
+ if ((set == NULL) || (set->nodeNr != 1) ||
|
||||
(set->nodeTab[0] != (xmlNodePtr) ctx->doc))
|
||||
stack++;
|
||||
} else
|
||||
@@ -2034,9 +2034,11 @@ xmlXPtrRangeFunction(xmlXPathParserContextPtr ctxt, int nargs) {
|
||||
xmlXPathFreeObject(set);
|
||||
XP_ERROR(XPATH_MEMORY_ERROR);
|
||||
}
|
||||
- for (i = 0;i < oldset->locNr;i++) {
|
||||
- xmlXPtrLocationSetAdd(newset,
|
||||
- xmlXPtrCoveringRange(ctxt, oldset->locTab[i]));
|
||||
+ if (oldset != NULL) {
|
||||
+ for (i = 0;i < oldset->locNr;i++) {
|
||||
+ xmlXPtrLocationSetAdd(newset,
|
||||
+ xmlXPtrCoveringRange(ctxt, oldset->locTab[i]));
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
cgit v0.12
|
||||
|
@ -0,0 +1,57 @@
|
||||
From d8083bf77955b7879c1290f0c0a24ab8cc70f7fb Mon Sep 17 00:00:00 2001
|
||||
From: Nick Wellnhofer <wellnhofer@aevum.de>
|
||||
Date: Sat, 25 Jun 2016 12:35:50 +0200
|
||||
Subject: Fix NULL pointer deref in XPointer range-to
|
||||
|
||||
- Check for errors after evaluating first operand.
|
||||
- Add sanity check for empty stack.
|
||||
|
||||
Found with afl-fuzz.
|
||||
---
|
||||
result/XPath/xptr/viderror | 4 ++++
|
||||
test/XPath/xptr/viderror | 1 +
|
||||
xpath.c | 7 ++++++-
|
||||
3 files changed, 11 insertions(+), 1 deletion(-)
|
||||
create mode 100644 result/XPath/xptr/viderror
|
||||
create mode 100644 test/XPath/xptr/viderror
|
||||
|
||||
diff --git a/result/XPath/xptr/viderror b/result/XPath/xptr/viderror
|
||||
new file mode 100644
|
||||
index 0000000..d589882
|
||||
--- /dev/null
|
||||
+++ b/result/XPath/xptr/viderror
|
||||
@@ -0,0 +1,4 @@
|
||||
+
|
||||
+========================
|
||||
+Expression: xpointer(non-existing-fn()/range-to(id('chapter2')))
|
||||
+Object is empty (NULL)
|
||||
diff --git a/test/XPath/xptr/viderror b/test/XPath/xptr/viderror
|
||||
new file mode 100644
|
||||
index 0000000..da8c53b
|
||||
--- /dev/null
|
||||
+++ b/test/XPath/xptr/viderror
|
||||
@@ -0,0 +1 @@
|
||||
+xpointer(non-existing-fn()/range-to(id('chapter2')))
|
||||
diff --git a/xpath.c b/xpath.c
|
||||
index 113bce6..751665b 100644
|
||||
--- a/xpath.c
|
||||
+++ b/xpath.c
|
||||
@@ -14005,9 +14005,14 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
|
||||
xmlNodeSetPtr oldset;
|
||||
int i, j;
|
||||
|
||||
- if (op->ch1 != -1)
|
||||
+ if (op->ch1 != -1) {
|
||||
total +=
|
||||
xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
|
||||
+ CHECK_ERROR0;
|
||||
+ }
|
||||
+ if (ctxt->value == NULL) {
|
||||
+ XP_ERROR0(XPATH_INVALID_OPERAND);
|
||||
+ }
|
||||
if (op->ch2 == -1)
|
||||
return (total);
|
||||
|
||||
--
|
||||
cgit v0.12
|
||||
|
@ -1,10 +1,9 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5} )
|
||||
PYTHON_REQ_USE="xml"
|
||||
|
||||
inherit libtool flag-o-matic eutils python-r1 autotools prefix multilib-minimal
|
||||
@ -14,7 +13,7 @@ HOMEPAGE="http://www.xmlsoft.org/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="2"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
IUSE="debug examples icu ipv6 lzma python readline static-libs test"
|
||||
|
||||
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
||||
@ -30,18 +29,14 @@ SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
|
||||
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
|
||||
http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
RDEPEND="
|
||||
>=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
||||
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:= )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20131008-r6
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
DEPEND="${EDEPEND}
|
||||
dev-util/gtk-doc-am
|
||||
virtual/pkgconfig
|
||||
hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
|
||||
@ -69,41 +64,39 @@ src_unpack() {
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
|
||||
|
||||
# Patches needed for prefix support
|
||||
epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
|
||||
eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
|
||||
|
||||
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
|
||||
|
||||
# Fix build for Windows platform
|
||||
epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=760456
|
||||
eapply "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
|
||||
|
||||
# Disable programs that we don't actually install.
|
||||
epatch "${FILESDIR}"/${PN}-2.9.2-disable-tests.patch
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=760457
|
||||
eapply "${FILESDIR}"/${PN}-2.9.2-disable-tests.patch
|
||||
|
||||
# Fix zlib parameter handling for cross-compilation
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=749416
|
||||
epatch "${FILESDIR}"/${PN}-2.9.2-cross-compile.patch
|
||||
# Fix python detection, bug #567066
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=760458
|
||||
eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
|
||||
|
||||
# Use pkgconfig to find icu to properly support multilib
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=738751
|
||||
epatch "${FILESDIR}"/${PN}-2.9.2-icu-pkgconfig.patch
|
||||
# Apply latest round of security patches wrt bugs
|
||||
# 589816, 597112, 597114, 597116. This will be included
|
||||
# in the next upstream release
|
||||
eapply "${FILESDIR}"/${PN}-2.9.4-CVE-2016-4658.patch
|
||||
eapply "${FILESDIR}"/${PN}-2.9.4-CVE-2016-5131.patch
|
||||
eapply "${FILESDIR}"/${PN}-2.9.4-nullptrderef.patch
|
||||
eapply "${FILESDIR}"/${PN}-2.9.4-nullptrderef2.patch
|
||||
|
||||
# Important patches from master
|
||||
epatch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-revert-missing-initialization.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-missing-entities.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-threads-declarations.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-timsort.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-cve-2015-7941-1.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-cve-2015-7941-2.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-constant-memory.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-overflow-conditional-sections-1.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-overflow-conditional-sections-2.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-unclosed-comments.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-cve-2015-8035.patch \
|
||||
"${FILESDIR}"/${PN}-2.9.2-fix-lzma.patch
|
||||
# Avoid final linking arguments for python modules
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
|
||||
fi
|
||||
|
||||
# Please do not remove, as else we get references to PORTAGE_TMPDIR
|
||||
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
|
||||
@ -130,7 +123,6 @@ multilib_src_configure() {
|
||||
libxml2_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--with-html-subdir=${PF}/html \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
$(use_with debug run-debug) \
|
||||
$(use_with icu) \
|
||||
$(use_with lzma) \
|
||||
@ -143,7 +135,7 @@ multilib_src_configure() {
|
||||
|
||||
libxml2_py_configure() {
|
||||
mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
|
||||
run_in_build_dir libxml2_configure "--with-python=${PYTHON}" # odd build system
|
||||
run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130
|
||||
}
|
||||
|
||||
libxml2_configure --without-python # build python bindings separately
|
@ -1,10 +1,9 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5} )
|
||||
PYTHON_REQ_USE="xml"
|
||||
|
||||
inherit libtool flag-o-matic eutils python-r1 autotools prefix multilib-minimal
|
||||
@ -14,7 +13,7 @@ HOMEPAGE="http://www.xmlsoft.org/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="2"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
KEYWORDS="arm64 m68k s390 sh"
|
||||
IUSE="debug examples icu ipv6 lzma python readline static-libs test"
|
||||
|
||||
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
||||
@ -30,18 +29,14 @@ SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
|
||||
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
|
||||
http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
RDEPEND="
|
||||
>=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
||||
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:= )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20131008-r6
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
DEPEND="${EDEPEND}
|
||||
dev-util/gtk-doc-am
|
||||
virtual/pkgconfig
|
||||
hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
|
||||
@ -69,36 +64,37 @@ src_unpack() {
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
|
||||
|
||||
# Patches needed for prefix support
|
||||
epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
|
||||
epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
|
||||
|
||||
# Disable programs that we don't actually install.
|
||||
epatch "${FILESDIR}"/${PN}-2.9.2-disable-tests.patch
|
||||
eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
|
||||
|
||||
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
|
||||
|
||||
# epunt_cxx # if we don't eautoreconf
|
||||
# Fix build for Windows platform
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=760456
|
||||
eapply "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-2.9.2-cross-compile.patch
|
||||
# Disable programs that we don't actually install.
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=760457
|
||||
eapply "${FILESDIR}"/${PN}-2.9.2-disable-tests.patch
|
||||
|
||||
# Important patches from master
|
||||
epatch \
|
||||
"${FILESDIR}/${PN}-2.9.2-revert-missing-initialization.patch" \
|
||||
"${FILESDIR}/${PN}-2.9.2-missing-entities.patch" \
|
||||
"${FILESDIR}/${PN}-2.9.2-threads-declarations.patch" \
|
||||
"${FILESDIR}/${PN}-2.9.2-timsort.patch" \
|
||||
"${FILESDIR}/${PN}-2.9.2-constant-memory.patch"
|
||||
# Fix python detection, bug #567066
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=760458
|
||||
eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
|
||||
|
||||
# Avoid final linking arguments for python modules
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
|
||||
fi
|
||||
|
||||
# Please do not remove, as else we get references to PORTAGE_TMPDIR
|
||||
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
|
||||
# We now need to run eautoreconf at the end to prevent maintainer mode.
|
||||
# elibtoolize
|
||||
|
||||
# Use pkgconfig to find icu to properly support multilib, upstream bug #738751
|
||||
epatch "${FILESDIR}/${PN}-2.9.2-icu-pkgconfig.patch"
|
||||
# epunt_cxx # if we don't eautoreconf
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
@ -119,7 +115,6 @@ multilib_src_configure() {
|
||||
libxml2_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--with-html-subdir=${PF}/html \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
$(use_with debug run-debug) \
|
||||
$(use_with icu) \
|
||||
$(use_with lzma) \
|
||||
@ -132,7 +127,7 @@ multilib_src_configure() {
|
||||
|
||||
libxml2_py_configure() {
|
||||
mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
|
||||
run_in_build_dir libxml2_configure "--with-python=${PYTHON}" # odd build system
|
||||
run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130
|
||||
}
|
||||
|
||||
libxml2_configure --without-python # build python bindings separately
|
||||
@ -160,7 +155,11 @@ multilib_src_install() {
|
||||
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
|
||||
|
||||
if multilib_is_native_abi && use python; then
|
||||
python_foreach_impl libxml2_py_emake DESTDIR="${D}" install
|
||||
python_foreach_impl libxml2_py_emake \
|
||||
DESTDIR="${D}" \
|
||||
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
|
||||
exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
|
||||
install
|
||||
python_foreach_impl python_optimize
|
||||
fi
|
||||
}
|
||||
@ -178,14 +177,9 @@ multilib_src_install_all() {
|
||||
rm -rf "${ED}"/usr/share/doc/${P}
|
||||
einstalldocs
|
||||
|
||||
if ! use python; then
|
||||
rm -rf "${ED}"/usr/share/doc/${PF}/python
|
||||
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
|
||||
fi
|
||||
|
||||
if ! use examples; then
|
||||
rm -rf "${ED}/usr/share/doc/${PF}/examples"
|
||||
rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
|
||||
rm -rf "${ED}"/usr/share/doc/${PF}/examples
|
||||
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
@ -1,7 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>gnome</herd>
|
||||
<maintainer type="project">
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:xmlsoft:libxml2</remote-id>
|
||||
</upstream>
|
||||
|
@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare test unpack
|
||||
DEPEND=>=sys-libs/zlib-1.2.8-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) readline? ( sys-libs/readline:= ) dev-util/gtk-doc-am virtual/pkgconfig hppa? ( >=sys-devel/binutils-2.15.92.0.2 ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=Version 2 of the library to manipulate XML files
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.xmlsoft.org/
|
||||
IUSE=debug examples icu ipv6 lzma python readline static-libs test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
|
||||
KEYWORDS=alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
|
||||
LICENSE=MIT
|
||||
RDEPEND=>=sys-libs/zlib-1.2.8-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) readline? ( sys-libs/readline:= ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20131008-r6 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
|
||||
SLOT=2
|
||||
SRC_URI=ftp://xmlsoft.org/libxml2/libxml2-2.9.2.tar.gz test? ( http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2002-01-16/xsts-2002-01-16.tar.gz http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2004-01-14/xsts-2004-01-14.tar.gz http://www.w3.org/XML/Test/xmlts20080827.tar.gz )
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e libtool b75230758539a7da029e24afdb693960 multibuild 742139c87a9fa3766f0c2b155e5522bf multilib 3972ca401cf7dbb430df9995f5d8d580 multilib-build 8fe2e81aeb36cdf8a6cc5f50443879cc multilib-minimal 0224dee31c0f98405d572e14ad6dee65 prefix e7f2b9c6e57342e5d25eac22fce23062 python-r1 0f6937650a475d673baa5d0c8c0b37b3 python-utils-r1 2e6826f6a93ad2acf904eecf5b5fb6d2 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=584be97e36d7fe2f7efbe457ad4d9427
|
@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare test unpack
|
||||
DEPEND=>=sys-libs/zlib-1.2.8-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) readline? ( sys-libs/readline:= ) dev-util/gtk-doc-am virtual/pkgconfig hppa? ( >=sys-devel/binutils-2.15.92.0.2 ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=Version 2 of the library to manipulate XML files
|
||||
EAPI=5
|
||||
HOMEPAGE=http://www.xmlsoft.org/
|
||||
IUSE=debug examples icu ipv6 lzma python readline static-libs test python_targets_python2_7 python_targets_python3_3 python_targets_python3_4 python_targets_python3_5 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
|
||||
KEYWORDS=~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
|
||||
LICENSE=MIT
|
||||
RDEPEND=>=sys-libs/zlib-1.2.8-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_3? ( >=dev-lang/python-3.3.2-r2:3.3[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) readline? ( sys-libs/readline:= ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20131008-r6 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )
|
||||
SLOT=2
|
||||
SRC_URI=ftp://xmlsoft.org/libxml2/libxml2-2.9.2.tar.gz test? ( http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2002-01-16/xsts-2002-01-16.tar.gz http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2004-01-14/xsts-2004-01-14.tar.gz http://www.w3.org/XML/Test/xmlts20080827.tar.gz )
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e libtool b75230758539a7da029e24afdb693960 multibuild 742139c87a9fa3766f0c2b155e5522bf multilib 3972ca401cf7dbb430df9995f5d8d580 multilib-build 8fe2e81aeb36cdf8a6cc5f50443879cc multilib-minimal 0224dee31c0f98405d572e14ad6dee65 prefix e7f2b9c6e57342e5d25eac22fce23062 python-r1 0f6937650a475d673baa5d0c8c0b37b3 python-utils-r1 2e6826f6a93ad2acf904eecf5b5fb6d2 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=dc5f1ec042b1dbe366bd5f8ea2016a3b
|
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-libs/libxml2-2.9.4
vendored
Normal file
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-libs/libxml2-2.9.4
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare test unpack
|
||||
DEPEND=dev-util/gtk-doc-am virtual/pkgconfig hppa? ( >=sys-devel/binutils-2.15.92.0.2 ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=Version 2 of the library to manipulate XML files
|
||||
EAPI=6
|
||||
HOMEPAGE=http://www.xmlsoft.org/
|
||||
IUSE=debug examples icu ipv6 lzma python readline static-libs test python_targets_python2_7 python_targets_python3_4 python_targets_python3_5 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
|
||||
KEYWORDS=arm64 m68k s390 sh
|
||||
LICENSE=MIT
|
||||
RDEPEND=>=sys-libs/zlib-1.2.8-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) readline? ( sys-libs/readline:= )
|
||||
SLOT=2
|
||||
SRC_URI=ftp://xmlsoft.org/libxml2/libxml2-2.9.4.tar.gz test? ( http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2002-01-16/xsts-2002-01-16.tar.gz http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2004-01-14/xsts-2004-01-14.tar.gz http://www.w3.org/XML/Test/xmlts20080827.tar.gz )
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e libtool b75230758539a7da029e24afdb693960 multibuild 742139c87a9fa3766f0c2b155e5522bf multilib 3972ca401cf7dbb430df9995f5d8d580 multilib-build 8fe2e81aeb36cdf8a6cc5f50443879cc multilib-minimal 0224dee31c0f98405d572e14ad6dee65 prefix e7f2b9c6e57342e5d25eac22fce23062 python-r1 0f6937650a475d673baa5d0c8c0b37b3 python-utils-r1 2e6826f6a93ad2acf904eecf5b5fb6d2 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=7b5645df9ac442d996ddc2ccc4ceafbc
|
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-libs/libxml2-2.9.4-r1
vendored
Normal file
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/dev-libs/libxml2-2.9.4-r1
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
DEFINED_PHASES=compile configure install postinst prepare test unpack
|
||||
DEPEND=dev-util/gtk-doc-am virtual/pkgconfig hppa? ( >=sys-devel/binutils-2.15.92.0.2 ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.15:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
|
||||
DESCRIPTION=Version 2 of the library to manipulate XML files
|
||||
EAPI=6
|
||||
HOMEPAGE=http://www.xmlsoft.org/
|
||||
IUSE=debug examples icu ipv6 lzma python readline static-libs test python_targets_python2_7 python_targets_python3_4 python_targets_python3_5 abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
|
||||
KEYWORDS=alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt
|
||||
LICENSE=MIT
|
||||
RDEPEND=>=sys-libs/zlib-1.2.8-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] icu? ( >=dev-libs/icu-51.2-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7[xml] ) python_targets_python3_4? ( dev-lang/python:3.4[xml] ) python_targets_python3_5? ( dev-lang/python:3.5[xml] ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)] ) readline? ( sys-libs/readline:= )
|
||||
SLOT=2
|
||||
SRC_URI=ftp://xmlsoft.org/libxml2/libxml2-2.9.4.tar.gz test? ( http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2002-01-16/xsts-2002-01-16.tar.gz http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2004-01-14/xsts-2004-01-14.tar.gz http://www.w3.org/XML/Test/xmlts20080827.tar.gz )
|
||||
_eclasses_=autotools 07e71b3b5690738ef7e8bc097077e00c eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e libtool b75230758539a7da029e24afdb693960 multibuild 742139c87a9fa3766f0c2b155e5522bf multilib 3972ca401cf7dbb430df9995f5d8d580 multilib-build 8fe2e81aeb36cdf8a6cc5f50443879cc multilib-minimal 0224dee31c0f98405d572e14ad6dee65 prefix e7f2b9c6e57342e5d25eac22fce23062 python-r1 0f6937650a475d673baa5d0c8c0b37b3 python-utils-r1 2e6826f6a93ad2acf904eecf5b5fb6d2 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85
|
||||
_md5_=08af7830fa53759a9d03e3b9da3e1900
|
Loading…
Reference in New Issue
Block a user