Skip to content

Commits on Source 23

.svn
target
.idea
.classpath
......@@ -6,3 +7,5 @@ target
*.iml
*.ipr
*.iws
nbactions.xml
nb-configuration.xml
\ No newline at end of file
Release 1.8 - 4/13/2015
* Fix null pointer when processing ODT footer styles (TIKA-1600).
* Upgrade to com.drewnoakes' metadata-extractor to 2.0 and
add parser for webp metadata (TIKA-1594).
* Duration extracted from MP3s with no ID3 tags (TIKA-1589).
* Upgraded to PDFBox 1.8.9 (TIKA-1575).
* Tika now supports the IsaTab data standard for bioinformatics
both in terms of MIME identification and in terms of parsing
(TIKA-1580).
* Tika server can now enable CORS requests with the command line
"--cors" or "-C" option (TIKA-1586).
* Update jhighlight dependency to avoid using LGPL license. Thank
@kkrugler for his great contribution (TIKA-1581).
* Updated HDF and NetCDF parsers to output file version in
metadata (TIKA-1578 and TIKA-1579).
* Upgraded to POI 3.12-beta1 (TIKA-1531).
* Added tika-batch module for directory to directory batch
processing. This is a new, experimental capability, and the API will
likely change in future releases (TIKA-1330).
* Translator.translate() Exceptions are now restricted to
TikaException and IOException (TIKA-1416).
* Tika now supports MIME detection for Microsoft Extended
Makefiles (EMF) (TIKA-1554).
* Tika has improved delineation in XML and HTML MIME detection
(TIKA-1365).
* Upgraded the Drew Noakes metadata-extractor to version 2.7.2
(TIKA-1576).
* Added basic style support for ODF documents, contributed by
Axel Dörfler (TIKA-1063).
* Move Tika server resources and writers to separate
org.apache.tika.server.resource and writer packages (TIKA-1564).
* Upgrade UCAR dependencies to 4.5.5 (TIKA-1571).
* Fix Paths in Tika server welcome page (TIKA-1567).
* Fixed infinite recursion while parsing some PDFs (TIKA-1038).
* XHTMLContentHandler now properly passes along body attributes,
contributed by Markus Jelsma (TIKA-995).
* TikaCLI option --compare-file-magic to report mime types known to
the file(1) tool but not known / fully known to Tika.
* MediaTypeRegistry support for returning known child types.
* Support for excluding (blacklisting) certain Parsers from being
used by DefaultParser via the Tika Config file, using the new
parser-exclude tag (TIKA-1558).
* Detect Global Change Master Directory (GCMD) Directory
Interchange Format (DIF) files (TIKA-1561).
* Tika's JAX-RS server can now return stacktraces for
parse exceptions (TIKA-1323).
* Added MockParser for testing handling of exceptions, errors
and hangs in code that uses parsers (TIKA-1553).
* The ForkParser service removed from Activator. Rollback of (TIKA-1354).
* Increased the speed of language identification by
a factor of two -- contributed by Toke Eskildsen (TIKA-1549).
* Added parser for Sqlite3 db files. BEWARE: the org.xerial
dependency includes native libs. Some users may need to
exclude this dependency or configure it specially for
their environment (TIKA-1511).
* Use POST instead of PUT for tika-server form methods
(TIKA-1547).
* A basic wrapper around the UNIX file command was
added to extract Strings. In addition a parse to
handle Strings parsing from octet-streams using Latin1
charsets as added (TIKA-1541, TIKA-1483).
* Add test files and detection mechanism for Gridded
Binary (GRIB) files (TIKA-1539).
* The RAR parser was updated to handle Chinese characters
using the functionality provided by allowing encoding to
be used within ZipArchiveInputStream (TIKA-936).
* Fix out of memory error in surefire plugin (TIKA-1537).
* Build a parser to extract data from GRIB formats (TIKA-1423).
* Upgrade to Commons Compress 1.9 (TIKA-1534).
* Include media duration in metadata parsed by MP4Parser (TIKA-1530).
* Support password protected 7zip files (using a PasswordProvider,
in keeping with the other password supporting formats) (TIKA-1521).
* Password protected Zip files should not trigger an exception (TIKA-1028).
Release 1.7 - 1/9/2015
* Fixed resource leak in OutlookPSTParser that caused TikaException
when invoked via AutoDetectParser on Windows (TIKA-1506).
* HTML tags are properly stripped from content by FeedParser
(TIKA-1500).
* Tika Server support for selecting a single metadata key;
wrapped MetadataEP into MetadataResource (TIKA-1499).
* Tika Server support for JSON and XMP views of metadata (TIKA-1497).
* Tika Parent uses dependency management to keep duplicate
dependencies in different modules the same version (TIKA-1384).
* Upgraded slf4j to version 1.7.7 (TIKA-1496).
* Tika Server support for RecursiveParserWrapper's JSON output
(endpoint=rmeta) equivalent to (TIKA-1451's) -J option
in tika-app (TIKA-1498).
* Tika Server support for providing the password for files on a
per-request basis through the Password http header (TIKA-1494).
* Simple support for the BPG (Better Portable Graphics) image format
(TIKA-1491, TIKA-1495).
* Prevent exceptions from being thrown for some malformed
mp3 files (TIKA-1218).
* Reformat pom.xml files to use two spaces per indent (TIKA-1475).
* Fix warning of slf4j logger on Tika Server startup (TIKA-1472).
* Tika CLI and GUI now have option to view JSON rendering of output
of RecursiveParserWrapper (TIKA-1451).
* Tika now integrates the Geospatial Data Abstraction Library
(GDAL) for parsing hundreds of geospatial formats (TIKA-605,
TIKA-1503).
* ExternalParsers can now use Regexs to specify dynamic keys
(TIKA-1441).
* Thread safety issues in ImageMetadataExtractor were resolved
(TIKA-1369).
* The ForkParser service is now registered in Activator
(TIKA-1354).
* The Rome Library was upgraded to version 1.5 (TIKA-1435).
* Add markup for files embedded in PDFs (TIKA-1427).
* Extract files embedded in annotations in PDFS (TIKA-1433).
* Upgrade to PDFBox 1.8.8 (TIKA-1419, TIKA-1442).
* Add RecursiveParserWrapper (aka Jukka's and Nick's)
RecursiveMetadataParser (TIKA-1329)
* Add example for how to dump TikaConfig to XML (TIKA-1418).
* Allow users to specify a tika config file for tika-app (TIKA-1426).
* PackageParser includes the last-modified date from the archive
in the metadata, when handling embedded entries (TIKA-1246)
* Created a new Tesseract OCR Parser to extract text from images.
Requires installation of Tesseract before use (TIKA-93).
* Basic parser for older Excel formats, such as Excel 4, 5 and 95,
which can get simple text, and metadata for Excel 5+95 (TIKA-1490)
Release 1.6 - 08/31/2014
* Parse output should indicate which Parser was actually used
(TIKA-674).
* Use the forbidden-apis Maven plugin to check for unsafe Java
operations (TIKA-1387).
* Created an ExternalTranslator class to interface with command
line Translators (TIKA-1385).
* Created a MosesTranslator as a subclass of ExternalTranslator
that calls the Moses Decoder machine translation program (TIKA-1385).
* Created the tika-example module. It will have examples of how to
use the main Tika interfaces (TIKA-1390).
* Upgraded to Commons Compress 1.8.1 (TIKA-1275).
* Upgraded to POI 3.11-beta1 (TIKA-1380).
* Tika now extracts SDTCell content from tables in .docx files (TIKA-1317).
* Tika now supports detection of the Persian/Farsi language.
(TIKA-1337)
* The Tika Detector interface is now exposed through the JAX-RS
server (TIKA-1336, TIKA-1336).
* Tika now has support for parsing binary Matlab files as part of
our larger effort to increase the number of scientific data formats
supported. (TIKA-1327)
* The Tika Server URLs for the unpacker resources have been changed,
to bring them under a common prefix (TIKA-1324). The mapping is
/unpacker/{id} -> /unpack/{id}
/all/{id} -> /unpack/all/{id}
* Added module and core Tika interface for translating text between
languages and added a default implementation that call's Microsoft's
translate service (TIKA-1319)
* Added an Translator implementation that calls Lingo24's Premium
Machine Translation API (TIKA-1381)
* Made RTFParser's list handling slightly more robust against corrupt
list metadata (TIKA-1305)
* Fixed bug in CLI json output (TIKA-1291/TIKA-1310)
* Added ability to turn off image extraction from PDFs (TIKA-1294).
Users must now turn on this capability via the PDFParserConfig.
* Upgrade to PDFBox 1.8.6 (TIKA-1290, TIKA-1231, TIKA-1233, TIKA-1352)
* Zip Container Detection for DWFX and XPS formats, which are OPC
based (TIKA-1204, TIKA-1221)
* Added a user facing welcome page to the Tika Server, which
says what it is, and a very brief summary of what is available.
(TIKA-1269)
* Added Tika Server endpoints to list the available mime types,
Parsers and Detectors, similar to the --list-<foo> methods on
the Tika CLI App (TIKA-1270)
* Improvements to NetCDF and HDF parsing to mimic the output of
ncdump and extract text dimensions and spatial and variable
information from scientific data files (TIKA-1265)
* Extract attachments from RTF files (TIKA-1010)
* Support Outlook Personal Folders File Format *.pst (TIKA-623)
* Added mime entries for additional Ogg based formats (TIKA-1259)
* Updated the Ogg Vorbis plugin to v0.4, which adds detection for a wider
range of Ogg formats, and parsers for more Ogg Audio ones (TIKA-1113)
* PDF: Images in PDF documents can now be extracted as embedded resources.
(TIKA-1268)
* Fixed RuntimeException thrown for certain Word Documents (TIKA-1251).
* CLI: TikaCLI now has another option: --list-parser-details-apt, which outputs
the list of supported parsers in APT format. This is used to generate the list
on the formats page (TIKA-411).
Release 1.5 - 02/04/2014
* Fixed bug in handling of embedded file processing in PDFs (TIKA-1228).
......
......@@ -230,7 +230,7 @@ uid David Meikle (CODE SIGNING KEY) <dmeikle@apache.org>
sub 4096R/84C15C40 2014-02-04
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
Version: GnuPG v1.4.11 (GNU/Linux)
mQINBFLxaSYBEADUywK+vv9sbxjLrW5aAM5bSxyZdPLgv8xUphG40XEGQPAamGiL
aDg9cgob1eZNcxmzMmp/O4vHdcdjzHN0iRMUpsYaSlm9YjqbK3sYynrXqahmHJFa
......@@ -256,28 +256,89 @@ yTpZZplU3QS7sMrAPDGrTP7A0pHkcMxLu+EKfnAYgtWKcPHmwdpWEHwcJaaYD5LU
U3+oNL01iP7fdTp+Nu6eHqCg3GXIkCEwN88Vr9IbAkoQD3DrRWerh35X9zOeb56i
GT+UulAJayBWIgypp6j+uiDqOtDWysOQBn1wQxkERSHzsHtKJ4OXTqXudZ+gNhAK
cQPDzrm1vaT/WoGLxL/hvjf1jo0UD/UtCKnFbCphjKXifuXiRFmr0MkI12ui79rk
uQINBFLxaSYBEACoQN98rA1Nj2shfaWDe3Pjhpd7f6qin86ziKbw8Eu/AxdiG5Xh
PpZbYm63+GKOinAwP0T4V1Fln+j+XH650Ysee1dexa8gXufChf85FKq/rDGjTPG0
RFvI6DkGDP+u4sJJdyAjkZjoZrUOR6ai3kSLIcVAsBRT/NLnlDnfljVfK1hbrE1Y
pLVxKmeTbJsvZOjQA1MgCigAlH3AAXcfZE9UY9HlPHrNDBNazvc89fzktgyUBS7b
H99J9DxmtWIn/XqpsFF/lQ86zeirWSSofJvfk6G66yxS5ApKB7O15GZ1AyqWkAzD
KfsLfd4gAfezRfKDJcWrY8/DyjsyRfbqF6HoBnV0UOLpzqZ8UbjP5+64WDGqajUc
6pUoW0lBJUxu1ZYvjCy7O/m1GNQD/v5Atoi0M2MUOLui30yN1AxC9qhbKFZB8vb1
F4cMuTuCtfF+GeOk8Ib2gl8RhSVmIlrbek7p5wk6pPR8Jf/9ngwySr4dhQBs3GdJ
Hh8fBge4zkg6kFo1pCo99bFzinB3hSbCV3hTnf2uLAb2LCizr125uAc5UML/jeHq
SXSZtHwfcy1wYKKmaynLcz8iMMM+CaCuNTUVLS2VI4P0p5eHUH1SAL1qT9T2S3gp
gM+5pyZmeDOWigtbUOJ79QBM17lbqlexvNQ/t1TcyWPHk9bXXvdAjoNBnwARAQAB
iQIfBBgBCgAJBQJS8WkmAhsMAAoJEFJBSwsOswsHJUAQAKslPy2ZNJwMvFyKaHfk
F0ki+tGDy3Zy/qYW8aQFxnzsR4fTl/BJNXBCh2EpYTGpSESfdvZeMXk8+jUVatq/
C8tLfFoDzwrPudwAemwynEJ+MqK8kJKbmMvmXddzqLJKrHXjzZCmi706ssAkioqI
XSJYZt+d93tTcZsmVrWwoyXUE+ZBbQfmds32HqeziepmfGXasWnRj1/fhdY5XZWJ
rCIZnwCadpxKlPj74XxfEastcKVsI+EWr7Sj83B7RsGS1IPjclY77PBNTCBSB1U3
kBTD7l/dYDLXpiJZ5OAyRO9MrXW7A876XhaBsRdcRxUqEe98NFLVhWuJO6RTb89L
if3LGxsvuaHpIQD0NgkNNTYL9PfIbRjTZpJPQtWErt+eRK4QuZRA1HYKT/htYVH6
/oqsMKlrIh9AoVXPQ+ExCw8TqNo0jTSh0Kdy4Sj0vASLDzckpzFVz2cMoPBfgsjr
U1h+Fc3lMPTjWW/YZUaPt7V+m1jrI4ikm+EC4TIWKtgE+VvHAXHnUPKm2G4a2a0Y
+a5Hwbtz+6hSCxpa2WMIV4wBhaoEeoRrgfllqfovNJ2BJHpZAvGqavFf/yqnqXst
JN4T06+JEcezrCUTDyZ/M0GNGVNq/cdNApc1XIl+tukUCYS/mg6uUWhVzfWenukM
WDWdnyjxFv/9quOxHM976hkg
=CmKg
iQQcBBABCAAGBQJTMWqBAAoJEIqviNbYTkGu/ZkgAJuXfdwRbvhuodF8f944sRN1
7dMDEBf2Uu07zIWR/zXw/ivduf89/5pOXKTjxWFtOqkxPNPPobc8qwAJ8RvnG8fJ
Wz5GP4X3b4Li56U+jSeIuMQqAPivnQQZAykKHwwZcjKrJK0zhpMwITbuQ9ng/tMk
kuV5S3twt73CrIcet2rd7VztesmD2cheNupwlal7tImMwOboE9lF6l4gln48dxzt
huW8h2jo2mWHqzGradcDLlFsecBFFYute3O5gVVweNG0p9/k7GtBTlcKga8ukhuK
nIKzcxGN2wDdMD/xXH0cSGhcDaxHPFvRcX5Og3bAVvdIdkrZueBoV7pd9BWpFA54
ArTBPkK9WUd0JVRMN1yDZqpel7JHAgKgQ1YiTT41RKj2XFvjN6S4kYJ3elRvDX8f
W4kZ4XOKzmqagGfJV061wFRI4sx1Vp3H1vZiF4NkVxdXApBlCdKtO4tyCZiqqSKZ
MaDDPYBiBp1WaNvwmP9zhLw6ZLoO8/0XMKjpguUWzIJh4D4lqw1pN690Dcvfm05r
gKnJUBH8KCq2XgPg8pgAsjuJ6EzIjHLxmvXffiQQ1jgvRT1yU/XM4glSqRnaTVXB
ymg6KrKDTf6iZE94TpmRkZu1lxvg8bKGo9T+otAVq44Ns/qKPaZ/pgZZi+Ip9v80
GQo4KHGaObjwYbZgHurwlZu59FRRTbm1iU0nt/h49xXOwGZuNM3LRO5gC3usvvL3
BYv18jSX9RZnsA0MAVLv9AcjtHMhAYoYZlmogA8Y6S/dIUuEEqTcQMG76GP8hRRL
RUXIViQ7aaOw7y61xVL65OFrfJcuJ0VSB7tuUVFffK6sijRtxu93JOmigq7/IlHy
vatCv6UW+NXaCg1gKezwBFjUQqwQc8ECNt8cq9A8VqhIk5w3xhu/oQpTarUuVJ9H
ZygV5sD/qamJ015fm9lePA7FgNwS0Jf9Bn/BO70IP72/s4bUWvDHGd2a7w0PM9fd
eXt5xTFxNuJJ2BOpO4XIFCiT7igSz5aEC9HoSBv6P+LEqDjoqp/Wize61iWJ9DVP
pZoFQUF3UMH5WajQ/wZxF7YZJsJX+YNiV+cYahO/6bJ6/nMMo1vLtRYLoliujXXQ
K92x7au66cDKUvc/5F1HbpuJ8ZkLtzUERcOdncU5hMeJjTxBH6wmqmBGYUvcqXgY
IfYYGv/J3z/Fai66q2fDuHFV1cIBtdR8wM00XuprMYLDmS0capQc3s7Ft8jsJVGt
y4hhM/zNzltkM7UB3XeEJNDwMHFZi2+yY49H9sPFrzh8izOFrYW670YFLhBTVNCw
C2i2rESxDs13do8UvuxK4qPnQTN2pAh21lUGrzGTm/NUqRJlpuK+NZYJ1EqjIoSI
nAQQAQIABgUCUwOEzQAKCRDurUz9SaVj2UUQA/9rfy/wgwWejyiei60Fnn4H7bfO
FRuNj3etXWOGksF+KciFY+TwKEmtC+Sxgzfq4jqLZCcTJWIVpAv+xD+bU0wXbU83
dv9BrYfuT1Q9O2r4m4YGGLROoaUU75/CKbyeKxUJZdulvB5DjxWPOVADUGV9k7Ct
2Xlpcxt0owafAWMa8rkCDQRS8WkmARAAqEDffKwNTY9rIX2lg3tz44aXe3+qop/O
s4im8PBLvwMXYhuV4T6WW2Jut/hijopwMD9E+FdRZZ/o/lx+udGLHntXXsWvIF7n
woX/ORSqv6wxo0zxtERbyOg5Bgz/ruLCSXcgI5GY6Ga1Dkemot5EiyHFQLAUU/zS
55Q535Y1XytYW6xNWKS1cSpnk2ybL2To0ANTIAooAJR9wAF3H2RPVGPR5Tx6zQwT
Ws73PPX85LYMlAUu2x/fSfQ8ZrViJ/16qbBRf5UPOs3oq1kkqHyb35OhuussUuQK
SgezteRmdQMqlpAMwyn7C33eIAH3s0XygyXFq2PPw8o7MkX26heh6AZ1dFDi6c6m
fFG4z+fuuFgxqmo1HOqVKFtJQSVMbtWWL4wsuzv5tRjUA/7+QLaItDNjFDi7ot9M
jdQMQvaoWyhWQfL29ReHDLk7grXxfhnjpPCG9oJfEYUlZiJa23pO6ecJOqT0fCX/
/Z4MMkq+HYUAbNxnSR4fHwYHuM5IOpBaNaQqPfWxc4pwd4Umwld4U539riwG9iwo
s69dubgHOVDC/43h6kl0mbR8H3MtcGCipmspy3M/IjDDPgmgrjU1FS0tlSOD9KeX
h1B9UgC9ak/U9kt4KYDPuacmZngzlooLW1Die/UATNe5W6pXsbzUP7dU3Mljx5PW
1173QI6DQZ8AEQEAAYkCHwQYAQoACQUCUvFpJgIbDAAKCRBSQUsLDrMLByVAEACr
JT8tmTScDLxcimh35BdJIvrRg8t2cv6mFvGkBcZ87EeH05fwSTVwQodhKWExqUhE
n3b2XjF5PPo1FWravwvLS3xaA88Kz7ncAHpsMpxCfjKivJCSm5jL5l3Xc6iySqx1
482Qpou9OrLAJIqKiF0iWGbfnfd7U3GbJla1sKMl1BPmQW0H5nbN9h6ns4nqZnxl
2rFp0Y9f34XWOV2ViawiGZ8AmnacSpT4++F8XxGrLXClbCPhFq+0o/Nwe0bBktSD
43JWO+zwTUwgUgdVN5AUw+5f3WAy16YiWeTgMkTvTK11uwPO+l4WgbEXXEcVKhHv
fDRS1YVriTukU2/PS4n9yxsbL7mh6SEA9DYJDTU2C/T3yG0Y02aST0LVhK7fnkSu
ELmUQNR2Ck/4bWFR+v6KrDCpayIfQKFVz0PhMQsPE6jaNI00odCncuEo9LwEiw83
JKcxVc9nDKDwX4LI61NYfhXN5TD041lv2GVGj7e1fptY6yOIpJvhAuEyFirYBPlb
xwFx51DypthuGtmtGPmuR8G7c/uoUgsaWtljCFeMAYWqBHqEa4H5Zan6LzSdgSR6
WQLxqmrxX/8qp6l7LSTeE9OviRHHs6wlEw8mfzNBjRlTav3HTQKXNVyJfrbpFAmE
v5oOrlFoVc31np7pDFg1nZ8o8Rb//arjsRzPe+oZIA==
=wanG
-----END PGP PUBLIC KEY BLOCK-----
pub 2048R/D4F10117 2015-01-01
uid Tyler Palsulich <tpalsulich@apache.org>
sig 3 D4F10117 2015-01-01 Tyler Palsulich <tpalsulich@apache.org>
sub 2048R/6137D1E6 2015-01-01
sig D4F10117 2015-01-01 Tyler Palsulich <tpalsulich@apache.org>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQENBFSlspUBCADJfADZ0ep3o/wo5sUSHDcFvmcuTRsHZDgsoHrdk83oqsQtHBZK
EQ4KeTbPTONgyNSU13kQDT6BYX3CA4AB9rqSBCI/Gghi56+I4d8mjZODY5bpnILC
vU9FyLsJNdbV8J48+oDF/5LToo5VB8QYslZ8ZZ7DJZvNmh4EovlnP9bVVS4Txk7d
mywSr1MTy5u6lb71oczK95pxO2dRwvJzLcQNTAgh3nrqk1JCLMxJoGGaKKLiGZgF
psn5nusGzOoRHeUa33V3/ms3ZYM6mS/9MmyU5P1zOUZ2Exc9C6Tps0bYbB/oztgM
4bx9NFwpeuILi4OJ/wEIJNp809CXXoYFuWlNABEBAAG0J1R5bGVyIFBhbHN1bGlj
aCA8dHBhbHN1bGljaEBhcGFjaGUub3JnPokBOAQTAQIAIgUCVKWylQIbAwYLCQgH
AwIGFQgCCQoLBBYCAwECHgECF4AACgkQiBC7GdTxARd0nQf/S2yLJ8U7P/Hix5zR
3idwrAmfDtYhUJXuEedKCw9RFnq9Q45hs1zIHVsOtnYaPvyQqSF8rY/E5LR6KJ1W
I1reFc5wKJLfmCWPAJ0Og8U4N1DOwwxESesugUT16iAXQL58xbSAzGJ1/v4L8eTj
P7maZcEdW7FLLTqJFuSfJsu8VowU8pD+v2DGHehARhDyJhhQxrX1Zb1t8vffspXw
bND1CbdB87VZJOj1apRL47nG6Qev7On+XKEXR9tHz/MWdJ/0kyNju6OLcjPJ2QFb
Q/Dwj6VYblvKq5eIYuhSNzbaI2AayZGpC9/PpFSPPWPhqa+eukUoPd3rGEG2PGBh
1shjYLkBDQRUpbKVAQgAsHL1+04Um1nOQJyeBhZ6tIa5VBPvhwk+Gccy3rWFZ66W
4byZ16Hc4tM9mU2CcPpdLYITPJaAEi+T7frXuiJwmVeAe1o9LElVAOGwbDlybv6s
wJvQqnrbwRBQLmblXeSqffAE4bpz4iU4haD2LpyjKNs5D/YS9QfhjuTKh9gGu+uP
DhXmD1hGn0UvDy9GuX6PgWijeOIUlvuZaiN8cZjsG87MLXcLLxbvCZIfrmyheF22
zSYMEvNB3r8dLTnCIt7SqbdGGyyV0kBMQWic2Epk7WzQWNsshCVPhZNkJ4oQN4Yo
AMdGyLHTJ8HvH6L8trDFQEdJrt1lIcLn43lv1AzF9QARAQABiQEfBBgBAgAJBQJU
pbKVAhsMAAoJEIgQuxnU8QEX4+oIALw2qD3KyAKKwHGK8X93woHY19tDH4zCKsQa
r2qXy7aoAsNhERkg24OUkJu0T/c/HzAQPs0RbEZUxqhzsezmJKwey+9TmNsmTcM6
52nVMa5fl7+38A54dqLOtK965ZggSroM6Qyk9lrfsJRQ/4BbNfagsXPP7Fvs1DDe
JcWAy7md7XR9MiVgSQuw040wqSzcSA5M6RCFZ9gN+G0kP1CNZ5vDz+JktV4nJZzh
/i/wH25qTePHz6Clp6mye68cqtCTKX2RF5cTlFCWIqyFYFCfrKCi3LF0bhpWqq7S
JF8xV9E4P/Msl8hqmOOocZ4LDJdw/nt1UWlUmattMLBVWdSeuu0=
=pYQ7
-----END PGP PUBLIC KEY BLOCK-----
......@@ -322,3 +322,51 @@ Council.
14. This Specifications License Agreement reflects the entire agreement of the parties regarding the subject matter hereof and supersedes all prior agreements or representations regarding such matters, whether written or oral. To the extent any portion or provision of this Specifications License Agreement is found to be illegal or unenforceable, then the remaining provisions of this Specifications License Agreement will remain in full force and effect and the illegal or unenforceable provision will be construed to give it such effect as it may properly have that is consistent with the intentions of the parties.
15. This Specifications License Agreement may only be modified in writing signed by an authorized representative of the IPTC.
16. This Specifications License Agreement is governed by the law of United Kingdom, as such law is applied to contracts made and fully performed in the United Kingdom. Any disputes arising from or relating to this Specifications License Agreement will be resolved in the courts of the United Kingdom. You consent to the jurisdiction of such courts over you and covenant not to assert before such courts any objection to proceeding in such forums.
JUnRAR (https://github.com/edmund-wagner/junrar/)
JUnRAR is based on the UnRAR tool, and covered by the same license
It was formerly available from http://java-unrar.svn.sourceforge.net/
****** ***** ****** UnRAR - free utility for RAR archives
** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
****** ******* ****** License for use and distribution of
** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** ** ** ** ** ** FREE portable version
~~~~~~~~~~~~~~~~~~~~~
The source code of UnRAR utility is freeware. This means:
1. All copyrights to RAR and the utility UnRAR are exclusively
owned by the author - Alexander Roshal.
2. The UnRAR sources may be used in any software to handle RAR
archives without limitations free of charge, but cannot be used
to re-create the RAR compression algorithm, which is proprietary.
Distribution of modified UnRAR sources in separate form or as a
part of other software is permitted, provided that it is clearly
stated in the documentation and source comments that the code may
not be used to develop a RAR (WinRAR) compatible archiver.
3. The UnRAR utility may be freely distributed. It is allowed
to distribute UnRAR inside of other software packages.
4. THE RAR ARCHIVER AND THE UnRAR UTILITY ARE DISTRIBUTED "AS IS".
NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT
YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS,
DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
OR MISUSING THIS SOFTWARE.
5. Installing and using the UnRAR utility signifies acceptance of
these terms and conditions of the license.
6. If you don't agree with terms of the license you must remove
UnRAR files from your storage devices and cease to use the
utility.
Thank you for your interest in RAR and UnRAR. Alexander L. Roshal
Sqlite (bundled in org.xerial's sqlite-jdbc)
This product bundles Sqlite, which is in the Public Domain. For details
see: https://www.sqlite.org/copyright.html
Apache Tika
Copyright 2011 The Apache Software Foundation
Copyright 2015 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
......@@ -7,9 +7,11 @@ The Apache Software Foundation (http://www.apache.org/).
Copyright 1993-2010 University Corporation for Atmospheric Research/Unidata
This software contains code derived from UCAR/Unidata's NetCDF library.
Tika-server compoment uses CDDL-licensed dependencies: jersey (http://jersey.java.net/) and
Tika-server component uses CDDL-licensed dependencies: jersey (http://jersey.java.net/) and
Grizzly (http://grizzly.java.net/)
Tika-parsers component uses CDDL/LGPL dual-licensed dependency: jhighlight (https://github.com/codelibs/jhighlight)
OpenCSV: Copyright 2005 Bytecode Pty Ltd. Licensed under the Apache License, Version 2.0
IPTC Photo Metadata descriptions Copyright 2010 International Press Telecommunications Council.
Welcome to Apache Tika <http://tika.apache.org/>
=================================================
Apache Tika(TM) is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries.
Tika is a project of the [Apache Software Foundation](http://www.apache.org).
Apache Tika, Tika, Apache, the Apache feather logo, and the Apache Tika project logo are trademarks of The Apache Software Foundation.
Getting Started
---------------
Tika is based on Java 6 and uses the [Maven 3](http://maven.apache.org) build system. To build Tika, use the following command in this directory:
mvn clean install
The build consists of a number of components, including a standalone runnable jar that you can use to try out Tika features. You can run it like this:
java -jar tika-app/target/tika-app-*.jar --help
Contributing via Github
=======================
To contribute a patch, follow these instructions (note that installing
[Hub](http://hub.github.com) is not strictly required, but is recommended).
```
0. Download and install hub.github.com
1. File JIRA issue for your fix at https://issues.apache.org/jira/browse/TIKA
- you will get issue id TIKA-xxx where xxx is the issue ID.
2. git clone http://github.com/apache/tika.git
3. cd tika
4. git checkout -b TIKA-xxx
5. edit files
6. git status (make sure it shows what files you expected to edit)
7. git add <files>
8. git commit -m “fix for TIKA-xxx contributed by <your username>”
9. git fork
10. git push -u <your git username> TIKA-xxx
11. git pull-request
```
License (see also LICENSE.txt)
------------------------------
Collective work: Copyright 2011 The Apache Software Foundation.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
<http://www.apache.org/licenses/LICENSE-2.0>
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache Tika includes a number of subcomponents with separate copyright notices and license terms. Your use of these subcomponents is subject to the terms and conditions of the licenses listed in the LICENSE.txt file.
Export control
--------------
This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See <http://www.wassenaar.org/> for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included cryptographic software:
Apache Tika uses the Bouncy Castle generic encryption libraries for extracting text content and metadata from encrypted PDF files. See <http://www.bouncycastle.org/> for more details on Bouncy Castle.
Mailing Lists
-------------
Discussion about Tika takes place on the following mailing lists:
* user@tika.apache.org - About using Tika
* dev@tika.apache.org - About developing Tika
Notification on all code changes are sent to the following mailing list:
* commits@tika.apache.org
The mailing lists are open to anyone and publicly archived.
You can subscribe the mailing lists by sending a message to [LIST]-subscribe@tika.apache.org (for example user-subscribe@...). To unsubscribe, send a message to [LIST]-unsubscribe@tika.apache.org. For more instructions, send a message to [LIST]-help@tika.apache.org.
Issue Tracker
-------------
If you encounter errors in Tika or want to suggest an improvement or a new feature, please visit the [Tika issue tracker](https://issues.apache.org/jira/browse/TIKA). There you can also find the latest information on known issues and recent bug fixes and enhancements.
=================================================
Welcome to Apache Tika <http://tika.apache.org/>
=================================================
Apache Tika(TM) is a toolkit for detecting and extracting metadata and
structured text content from various documents using existing parser
libraries.
Tika is a project of the Apache Software Foundation <http://www.apache.org/>.
Apache Tika, Tika, Apache, the Apache feather logo, and the Apache Tika
project logo are trademarks of The Apache Software Foundation.
Getting Started
===============
Tika is based on Java 5 and uses the Maven 2 <http://maven.apache.org/>
build system. To build Tika, use the following command in this directory:
mvn clean install
The build consists of a number of components, including a standalone runnable
jar that you can use to try out Tika features. You can run it like this:
java -jar tika-app/target/tika-app-*.jar --help
License (see also LICENSE.txt)
==============================
Collective work: Copyright 2011 The Apache Software Foundation.
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apache Tika includes a number of subcomponents with separate copyright
notices and license terms. Your use of these subcomponents is subject to
the terms and conditions of the licenses listed in the LICENSE.txt file.
Export control
==============
This distribution includes cryptographic software. The country in which
you currently reside may have restrictions on the import, possession, use,
and/or re-export to another country, of encryption software. BEFORE using
any encryption software, please check your country's laws, regulations and
policies concerning the import, possession, or use, and re-export of
encryption software, to see if this is permitted. See
<http://www.wassenaar.org/> for more information.
The U.S. Government Department of Commerce, Bureau of Industry and
Security (BIS), has classified this software as Export Commodity Control
Number (ECCN) 5D002.C.1, which includes information security software using
or performing cryptographic functions with asymmetric algorithms. The form
and manner of this Apache Software Foundation distribution makes it eligible
for export under the License Exception ENC Technology Software Unrestricted
(TSU) exception (see the BIS Export Administration Regulations, Section
740.13) for both object code and source code.
The following provides more details on the included cryptographic software:
Apache Tika uses the Bouncy Castle generic encryption libraries for
extracting text content and metadata from encrypted PDF files.
See http://www.bouncycastle.org/ for more details on Bouncy Castle.
Mailing Lists
=============
Discussion about Tika takes place on the following mailing lists:
user@tika.apache.org - About using Tika
dev@tika.apache.org - About developing Tika
Notification on all code changes are sent to the following mailing list:
commits@tika.apache.org
The mailing lists are open to anyone and publicly archived.
You can subscribe the mailing lists by sending a message to
<LIST>-subscribe@tika.apache.org (for example user-subscribe@...).
To unsubscribe, send a message to <LIST>-unsubscribe@tika.apache.org.
For more instructions, send a message to <LIST>-help@tika.apache.org.
Issue Tracker
=============
If you encounter errors in Tika or want to suggest an improvement or
a new feature, please visit the Tika issue tracker at
https://issues.apache.org/jira/browse/TIKA. There you can also find the
latest information on known issues and recent bug fixes and enhancements.
tika (1.8-1) unstable; urgency=medium
* New upstream release
- Refreshed the patches
- Build the new tika-serialization and tika-batch modules
- Fixed the compatibility with the version of metadata-extractor in Debian
- New dependency on libcommons-csv-java
- Depend on libapache-poi-java (>= 3.11)
* Fixed the build failure with libmetadata-extractor-java 2.10
* Merged and simplified the patches disabling unsupported parsers
* Standards-Version updated to 4.3.0
* Switch to debhelper level 11
* Use salsa.debian.org Vcs-* URLs
-- Emmanuel Bourg <ebourg@apache.org> Mon, 07 Jan 2019 00:56:25 +0100
tika (1.5-5) unstable; urgency=medium
* Enabled JHighlight support
......
......@@ -3,27 +3,34 @@ Section: java
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Uploaders: Emmanuel Bourg <ebourg@apache.org>
Build-Depends: debhelper (>= 9), default-jdk, maven-debian-helper (>= 2.0)
Build-Depends-Indep: bnd (>= 2.1.0),
Build-Depends:
bnd (>= 2.1.0),
debhelper (>= 11),
default-jdk,
libapache-mime4j-java (>= 0.7.2-3),
libapache-poi-java (>= 3.10),
libapache-poi-java (>= 3.11),
libasm-java (>= 5.0),
libbcmail-java,
libboilerpipe-java,
libcommons-cli-java,
libcommons-compress-java,
libcommons-csv-java,
libgoogle-gson-java,
libjempbox-java,
libjhighlight-java,
libjuniversalchardet-java,
libmaven-bundle-plugin-java,
libmetadata-extractor-java (>= 2.7.2-1~),
libmetadata-extractor-java (>= 2.8~),
libpdfbox-java,
librome-java,
libvorbis-java,
libslf4j-java,
libtagsoup-java,
libxmpcore-java
Standards-Version: 3.9.8
Vcs-Git: https://anonscm.debian.org/git/pkg-java/tika.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/tika.git
libvorbis-java (>= 0.8-3~),
libxmpcore-java,
maven-debian-helper (>= 2.0)
Standards-Version: 4.3.0
Vcs-Git: https://salsa.debian.org/java-team/tika.git
Vcs-Browser: https://salsa.debian.org/java-team/tika
Homepage: http://tika.apache.org
Package: libtika-java
......
......@@ -34,3 +34,7 @@ tika-app/pom.xml --ignore
tika-bundle/pom.xml --ignore
tika-server/pom.xml --ignore
tika-java7/pom.xml --has-package-version --java-lib
tika-serialization/pom.xml --has-package-version --java-lib
tika-translate/pom.xml --ignore
tika-batch/pom.xml --has-package-version --java-lib
tika-example/pom.xml --ignore
org.apache.tika tika-core test-jar * * *
org.apache.tika tika-parsers test-jar * * *
com.github.junrar junrar * * * *
com.googlecode.mp4parser isoparser * * * *
edu.ucar netcdf * * * *
com.pff java-libpst * * * *
de.thetaphi forbiddenapis * * * *
edu.ucar cdm * * * *
edu.ucar grib * * * *
edu.ucar httpservices * * * *
edu.ucar netcdf4 * * * *
junit junit * * * *
net.sourceforge.jmatio jmatio * * * *
org.apache.felix maven-scr-plugin * * * *
org.apache.felix org.apache.felix.scr.annotations * * * *
org.apache.geronimo.specs geronimo-stax-api_1.0_spec * * * *
org.apache.maven.plugins maven-deploy-plugin * * * *
org.apache.maven.plugins maven-failsafe-plugin * * * *
org.apache.maven.plugins maven-remote-resources-plugin * * * *
org.apache.maven.plugins maven-site-plugin * * * *
org.apache.maven.plugins maven-surefire-plugin * * * *
org.apache.rat apache-rat-plugin * * * *
org.apache.tika tika-app * * * *
org.apache.tika tika-bundle * * * *
org.apache.tika tika-server * * * *
org.codehaus.mojo clirr-maven-plugin * * * *
org.xerial sqlite-jdbc * * * *
org.mockito * * * * *
s/org.codelibs/com.uwyn/ jhighlight * s/.*/debian/ * *
org.bouncycastle s/bcmail-jdk15/bcmail/ * s/.*/debian/ * *
org.bouncycastle s/bcmail-jdk15on/bcmail/ * s/.*/debian/ * *
org.bouncycastle s/bcprov-jdk15/bcprov/ * s/.*/debian/ * *
......
Description: Remove the classes using the mp4parser library which isn't in Debian yet
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mp4/MP4Parser.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tika.parser.mp4;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TikaInputStream;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.Property;
-import org.apache.tika.metadata.TikaCoreProperties;
-import org.apache.tika.metadata.XMPDM;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AbstractParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import com.coremedia.iso.IsoFile;
-import com.coremedia.iso.boxes.Box;
-import com.coremedia.iso.boxes.ContainerBox;
-import com.coremedia.iso.boxes.FileTypeBox;
-import com.coremedia.iso.boxes.MetaBox;
-import com.coremedia.iso.boxes.MovieBox;
-import com.coremedia.iso.boxes.MovieHeaderBox;
-import com.coremedia.iso.boxes.SampleDescriptionBox;
-import com.coremedia.iso.boxes.SampleTableBox;
-import com.coremedia.iso.boxes.TrackBox;
-import com.coremedia.iso.boxes.TrackHeaderBox;
-import com.coremedia.iso.boxes.UserDataBox;
-import com.coremedia.iso.boxes.apple.AbstractAppleMetaDataBox;
-import com.coremedia.iso.boxes.apple.AppleAlbumBox;
-import com.coremedia.iso.boxes.apple.AppleArtistBox;
-import com.coremedia.iso.boxes.apple.AppleCommentBox;
-import com.coremedia.iso.boxes.apple.AppleCustomGenreBox;
-import com.coremedia.iso.boxes.apple.AppleEncoderBox;
-import com.coremedia.iso.boxes.apple.AppleItemListBox;
-import com.coremedia.iso.boxes.apple.AppleRecordingYearBox;
-import com.coremedia.iso.boxes.apple.AppleStandardGenreBox;
-import com.coremedia.iso.boxes.apple.AppleTrackAuthorBox;
-import com.coremedia.iso.boxes.apple.AppleTrackNumberBox;
-import com.coremedia.iso.boxes.apple.AppleTrackTitleBox;
-import com.coremedia.iso.boxes.sampleentry.AudioSampleEntry;
-
-/**
- * Parser for the MP4 media container format, as well as the older
- * QuickTime format that MP4 is based on.
- *
- * This uses the MP4Parser project from http://code.google.com/p/mp4parser/
- * to do the underlying parsing
- */
-public class MP4Parser extends AbstractParser {
- /** Serial version UID */
- private static final long serialVersionUID = 84011216792285L;
-
- // Ensure this stays in Sync with the entries in tika-mimetypes.xml
- private static final Map<MediaType,List<String>> typesMap = new HashMap<MediaType, List<String>>();
- static {
- // All types should be 4 bytes long, space padded as needed
- typesMap.put(MediaType.audio("mp4"), Arrays.asList(
- "M4A ", "M4B ", "F4A ", "F4B "));
- typesMap.put(MediaType.video("3gpp"), Arrays.asList(
- "3ge6", "3ge7", "3gg6", "3gp1", "3gp2", "3gp3", "3gp4", "3gp5", "3gp6", "3gs7"));
- typesMap.put(MediaType.video("3gpp2"), Arrays.asList(
- "3g2a", "3g2b", "3g2c"));
- typesMap.put(MediaType.video("mp4"), Arrays.asList(
- "mp41", "mp42"));
- typesMap.put(MediaType.video("x-m4v"), Arrays.asList(
- "M4V ", "M4VH", "M4VP"));
-
- typesMap.put(MediaType.video("quicktime"), Collections.<String>emptyList());
- typesMap.put(MediaType.application("mp4"), Collections.<String>emptyList());
- }
-
- private static final Set<MediaType> SUPPORTED_TYPES =
- Collections.unmodifiableSet(typesMap.keySet());
-
- public Set<MediaType> getSupportedTypes(ParseContext context) {
- return SUPPORTED_TYPES;
- }
-
-
- public void parse(
- InputStream stream, ContentHandler handler,
- Metadata metadata, ParseContext context)
- throws IOException, SAXException, TikaException {
- IsoFile isoFile;
-
- // The MP4Parser library accepts either a File, or a byte array
- // As MP4 video files are typically large, always use a file to
- // avoid OOMs that may occur with in-memory buffering
- TikaInputStream tstream = TikaInputStream.get(stream);
- try {
- isoFile = new IsoFile(tstream.getFileChannel());
- } finally {
- tstream.close();
- }
-
-
- // Grab the file type box
- FileTypeBox fileType = getOrNull(isoFile, FileTypeBox.class);
- if (fileType != null) {
- // Identify the type
- MediaType type = MediaType.application("mp4");
- for (MediaType t : typesMap.keySet()) {
- if (typesMap.get(t).contains(fileType.getMajorBrand())) {
- type = t;
- break;
- }
- }
- metadata.set(Metadata.CONTENT_TYPE, type.toString());
-
- if (type.getType().equals("audio")) {
- metadata.set(XMPDM.AUDIO_COMPRESSOR, fileType.getMajorBrand().trim());
- }
- } else {
- // Some older QuickTime files lack the FileType
- metadata.set(Metadata.CONTENT_TYPE, "video/quicktime");
- }
-
-
- // Get the main MOOV box
- MovieBox moov = getOrNull(isoFile, MovieBox.class);
- if (moov == null) {
- // Bail out
- return;
- }
-
-
- XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
- xhtml.startDocument();
-
-
- // Pull out some information from the header box
- MovieHeaderBox mHeader = getOrNull(moov, MovieHeaderBox.class);
- if (mHeader != null) {
- // Get the creation and modification dates
- metadata.set(
- Metadata.CREATION_DATE,
- MP4TimeToDate(mHeader.getCreationTime())
- );
- metadata.set(
- TikaCoreProperties.MODIFIED,
- MP4TimeToDate(mHeader.getModificationTime())
- );
-
- // Get the duration
- double durationSeconds = ((double)mHeader.getDuration()) / mHeader.getTimescale();
- // TODO Use this
-
- // The timescale is normally the sampling rate
- metadata.set(XMPDM.AUDIO_SAMPLE_RATE, (int)mHeader.getTimescale());
- }
-
-
- // Get some more information from the track header
- // TODO Decide how to handle multiple tracks
- List<TrackBox> tb = moov.getBoxes(TrackBox.class);
- if (tb.size() > 0) {
- TrackBox track = tb.get(0);
-
- TrackHeaderBox header = track.getTrackHeaderBox();
- // Get the creation and modification dates
- metadata.set(
- TikaCoreProperties.CREATED,
- MP4TimeToDate(header.getCreationTime())
- );
- metadata.set(
- TikaCoreProperties.MODIFIED,
- MP4TimeToDate(header.getModificationTime())
- );
-
- // Get the video with and height
- metadata.set(Metadata.IMAGE_WIDTH, (int)header.getWidth());
- metadata.set(Metadata.IMAGE_LENGTH, (int)header.getHeight());
-
- // Get the sample information
- SampleTableBox samples = track.getSampleTableBox();
- SampleDescriptionBox sampleDesc = samples.getSampleDescriptionBox();
- if (sampleDesc != null) {
- // Look for the first Audio Sample, if present
- AudioSampleEntry sample = getOrNull(sampleDesc, AudioSampleEntry.class);
- if (sample != null) {
- XMPDM.ChannelTypePropertyConverter.convertAndSet(metadata, sample.getChannelCount());
- //metadata.set(XMPDM.AUDIO_SAMPLE_TYPE, sample.getSampleSize()); // TODO Num -> Type mapping
- metadata.set(XMPDM.AUDIO_SAMPLE_RATE, (int)sample.getSampleRate());
- //metadata.set(XMPDM.AUDIO_, sample.getSamplesPerPacket());
- //metadata.set(XMPDM.AUDIO_, sample.getBytesPerSample());
- }
- }
- }
-
- // Get metadata from the User Data Box
- UserDataBox userData = getOrNull(moov, UserDataBox.class);
- if (userData != null) {
- MetaBox meta = getOrNull(userData, MetaBox.class);
-
- // Check for iTunes Metadata
- // See http://atomicparsley.sourceforge.net/mpeg-4files.html and
- // http://code.google.com/p/mp4v2/wiki/iTunesMetadata for more on these
- AppleItemListBox apple = getOrNull(meta, AppleItemListBox.class);
- if (apple != null) {
- // Title
- AppleTrackTitleBox title = getOrNull(apple, AppleTrackTitleBox.class);
- addMetadata(TikaCoreProperties.TITLE, metadata, title);
-
- // Artist
- AppleArtistBox artist = getOrNull(apple, AppleArtistBox.class);
- addMetadata(TikaCoreProperties.CREATOR, metadata, artist);
- addMetadata(XMPDM.ARTIST, metadata, artist);
-
- // Album
- AppleAlbumBox album = getOrNull(apple, AppleAlbumBox.class);
- addMetadata(XMPDM.ALBUM, metadata, album);
-
- // Composer
- AppleTrackAuthorBox composer = getOrNull(apple, AppleTrackAuthorBox.class);
- addMetadata(XMPDM.COMPOSER, metadata, composer);
-
- // Genre
- AppleStandardGenreBox sGenre = getOrNull(apple, AppleStandardGenreBox.class);
- AppleCustomGenreBox cGenre = getOrNull(apple, AppleCustomGenreBox.class);
- addMetadata(XMPDM.GENRE, metadata, sGenre);
- addMetadata(XMPDM.GENRE, metadata, cGenre);
-
- // Year
- AppleRecordingYearBox year = getOrNull(apple, AppleRecordingYearBox.class);
- addMetadata(XMPDM.RELEASE_DATE, metadata, year);
-
- // Track number
- AppleTrackNumberBox trackNum = getOrNull(apple, AppleTrackNumberBox.class);
- if (trackNum != null) {
- metadata.set(XMPDM.TRACK_NUMBER, trackNum.getTrackNumber());
- //metadata.set(XMPDM.NUMBER_OF_TRACKS, trackNum.getNumberOfTracks()); // TODO
- }
-
- // Comment
- AppleCommentBox comment = getOrNull(apple, AppleCommentBox.class);
- addMetadata(XMPDM.LOG_COMMENT, metadata, comment);
-
- // Encoder
- AppleEncoderBox encoder = getOrNull(apple, AppleEncoderBox.class);
- // addMetadata(XMPDM.???, metadata, encoder); // TODO
-
-
- // As text
- for (Box box : apple.getBoxes()) {
- if (box instanceof AbstractAppleMetaDataBox) {
- xhtml.element("p", ((AbstractAppleMetaDataBox)box).getValue());
- }
- }
- }
-
- // TODO Check for other kinds too
- }
-
- // All done
- xhtml.endDocument();
- }
-
- private static void addMetadata(String key, Metadata m, AbstractAppleMetaDataBox metadata) {
- if (metadata != null) {
- m.add(key, metadata.getValue());
- }
- }
- private static void addMetadata(Property prop, Metadata m, AbstractAppleMetaDataBox metadata) {
- if (metadata != null) {
- m.set(prop, metadata.getValue());
- }
- }
-
- /**
- * MP4 Dates are stored as 32-bit integer, which represent the seconds
- * since midnight, January 1, 1904, and are generally in UTC
- */
- private static Date MP4TimeToDate(long mp4Time) {
- long unix = mp4Time - EPOC_AS_MP4_TIME;
- return new Date(unix*1000);
- }
- private static final long EPOC_AS_MP4_TIME = 2082844800l;
-
- private static <T extends Box> T getOrNull(ContainerBox box, Class<T> clazz) {
- if (box == null) return null;
-
- List<T> boxes = box.getBoxes(clazz);
- if (boxes.size() == 0) {
- return null;
- }
- return boxes.get(0);
- }
-}
Description: Remove the classes using the netcdf library which isn't in Debian yet
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tika.parser.netcdf;
-
-//JDK imports
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.metadata.Property;
-import org.apache.tika.metadata.TikaCoreProperties;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AbstractParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.Parser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import ucar.nc2.Attribute;
-import ucar.nc2.NetcdfFile;
-
-/**
- * A {@link Parser} for <a
- * href="http://www.unidata.ucar.edu/software/netcdf/index.html">NetCDF</a>
- * files using the UCAR, MIT-licensed <a
- * href="http://www.unidata.ucar.edu/software/netcdf-java/">NetCDF for Java</a>
- * API.
- */
-public class NetCDFParser extends AbstractParser {
-
- /** Serial version UID */
- private static final long serialVersionUID = -5940938274907708665L;
-
- private final Set<MediaType> SUPPORTED_TYPES =
- Collections.singleton(MediaType.application("x-netcdf"));
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.tika.parser.Parser#getSupportedTypes(org.apache.tika.parser
- * .ParseContext)
- */
- public Set<MediaType> getSupportedTypes(ParseContext context) {
- return SUPPORTED_TYPES;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.tika.parser.Parser#parse(java.io.InputStream,
- * org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata,
- * org.apache.tika.parser.ParseContext)
- */
- public void parse(InputStream stream, ContentHandler handler,
- Metadata metadata, ParseContext context) throws IOException,
- SAXException, TikaException {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- IOUtils.copy(stream, os);
-
- String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
- if (name == null) {
- name = "";
- }
-
- try {
- NetcdfFile ncFile = NetcdfFile.openInMemory(name, os.toByteArray());
-
- // first parse out the set of global attributes
- for (Attribute attr : ncFile.getGlobalAttributes()) {
- Property property = resolveMetadataKey(attr.getName());
- if (attr.getDataType().isString()) {
- metadata.add(property, attr.getStringValue());
- } else if (attr.getDataType().isNumeric()) {
- int value = attr.getNumericValue().intValue();
- metadata.add(property, String.valueOf(value));
- }
- }
- } catch (IOException e) {
- throw new TikaException("NetCDF parse error", e);
- }
-
- XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
- xhtml.startDocument();
- xhtml.endDocument();
- }
-
- private Property resolveMetadataKey(String localName) {
- if ("title".equals(localName)) {
- return TikaCoreProperties.TITLE;
- }
- return Property.internalText(localName);
- }
-
-}
--- a/tika-parsers/src/main/java/org/apache/tika/parser/hdf/HDFParser.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.tika.parser.hdf;
-
-//JDK imports
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
-import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.IOUtils;
-import org.apache.tika.metadata.Metadata;
-import org.apache.tika.mime.MediaType;
-import org.apache.tika.parser.AbstractParser;
-import org.apache.tika.parser.ParseContext;
-import org.apache.tika.parser.netcdf.NetCDFParser;
-import org.apache.tika.sax.XHTMLContentHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-
-import ucar.nc2.Attribute;
-import ucar.nc2.Group;
-import ucar.nc2.NetcdfFile;
-
-/**
- *
- * Since the {@link NetCDFParser} depends on the <a
- * href="http://www.unidata.ucar.edu/software/netcdf-java" >NetCDF-Java</a> API,
- * we are able to use it to parse HDF files as well. See <a href=
- * "http://www.unidata.ucar.edu/software/netcdf-java/formats/FileTypes.html"
- * >this link</a> for more information.
- */
-public class HDFParser extends AbstractParser {
-
- /** Serial version UID */
- private static final long serialVersionUID = 1091208208003437549L;
-
- private static final Set<MediaType> SUPPORTED_TYPES =
- Collections.singleton(MediaType.application("x-hdf"));
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.tika.parser.netcdf.NetCDFParser#getSupportedTypes(org.apache
- * .tika.parser.ParseContext)
- */
- public Set<MediaType> getSupportedTypes(ParseContext context) {
- return SUPPORTED_TYPES;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.tika.parser.netcdf.NetCDFParser#parse(java.io.InputStream,
- * org.xml.sax.ContentHandler, org.apache.tika.metadata.Metadata,
- * org.apache.tika.parser.ParseContext)
- */
- public void parse(InputStream stream, ContentHandler handler,
- Metadata metadata, ParseContext context) throws IOException,
- SAXException, TikaException {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- IOUtils.copy(stream, os);
-
- String name = metadata.get(Metadata.RESOURCE_NAME_KEY);
- if (name == null) {
- name = "";
- }
- try {
- NetcdfFile ncFile = NetcdfFile.openInMemory(name, os.toByteArray());
- unravelStringMet(ncFile, null, metadata);
- } catch (IOException e) {
- throw new TikaException("HDF parse error", e);
- }
-
- XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
- xhtml.startDocument();
- xhtml.endDocument();
- }
-
- protected void unravelStringMet(NetcdfFile ncFile, Group group, Metadata met) {
- if (group == null) {
- group = ncFile.getRootGroup();
- }
-
- // unravel its string attrs
- for (Attribute attribute : group.getAttributes()) {
- if (attribute.isString()) {
- met.add(attribute.getName(), attribute.getStringValue());
- } else {
- // try and cast its value to a string
- met.add(attribute.getName(), String.valueOf(attribute
- .getNumericValue()));
- }
- }
-
- for (Group g : group.getGroups()) {
- unravelStringMet(ncFile, g, met);
- }
- }
-
-}
......@@ -3,8 +3,8 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/tika-parsers/src/main/java/org/apache/tika/parser/internal/Activator.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/internal/Activator.java
@@ -34,13 +34,13 @@
@@ -35,14 +35,14 @@
@Override
public void start(BundleContext context) throws Exception {
detectorService = context.registerService(
- Detector.class.getName(),
......@@ -12,12 +12,13 @@ Forwarded: not-needed
new DefaultDetector(Activator.class.getClassLoader()),
- new Properties());
+ new java.util.Hashtable<String,String>());
Parser parser = new DefaultParser(Activator.class.getClassLoader());
parserService = context.registerService(
- Parser.class.getName(),
+ Parser.class,
new DefaultParser(Activator.class.getClassLoader()),
parser,
- new Properties());
+ new java.util.Hashtable<String,String>());
}
public void stop(BundleContext context) throws Exception {
@Override
......@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: no
--- a/tika-parsers/pom.xml
+++ b/tika-parsers/pom.xml
@@ -62,6 +62,7 @@
@@ -76,6 +76,7 @@
<groupId>org.gagravarr</groupId>
<artifactId>vorbis-java-tika</artifactId>
<version>${vorbis.version}</version>
......@@ -11,10 +11,10 @@ Forwarded: no
</dependency>
<!-- Optional OSGi dependencies, used only when running within OSGi -->
@@ -76,31 +77,37 @@
<groupId>edu.ucar</groupId>
<artifactId>netcdf</artifactId>
<version>4.2-min</version>
@@ -90,37 +91,44 @@
<groupId>net.sourceforge.jmatio</groupId>
<artifactId>jmatio</artifactId>
<version>1.0</version>
+ <optional>true</optional>
</dependency>
<dependency>
......@@ -32,9 +32,16 @@ Forwarded: no
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.5</version>
<version>${compress.version}</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>${tukaani.version}</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
......@@ -44,21 +51,21 @@ Forwarded: no
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>1.8.4</version>
<version>${pdfbox.version}</version>
+ <optional>true</optional>
</dependency>
<!-- TIKA-370: PDFBox declares the Bouncy Castle dependencies
as optional, but we prefer to have them always to avoid
@@ -109,26 +116,31 @@
@@ -129,26 +137,31 @@
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15</artifactId>
<version>1.45</version>
<artifactId>bcmail-jdk15on</artifactId>
<version>1.52</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<version>1.45</version>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.52</version>
+ <optional>true</optional>
</dependency>
<dependency>
......@@ -81,7 +88,7 @@ Forwarded: no
<exclusions>
<exclusion>
<groupId>stax</groupId>
@@ -149,46 +161,55 @@
@@ -164,61 +177,74 @@
<groupId>org.ccil.cowan.tagsoup</groupId>
<artifactId>tagsoup</artifactId>
<version>1.2.1</version>
......@@ -96,13 +103,13 @@ Forwarded: no
<dependency>
<groupId>com.googlecode.mp4parser</groupId>
<artifactId>isoparser</artifactId>
<version>1.0-RC-1</version>
<version>1.0.2</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.6.2</version>
<version>2.8.0</version>
+ <optional>true</optional>
</dependency>
<dependency>
......@@ -114,13 +121,19 @@ Forwarded: no
<dependency>
<groupId>rome</groupId>
<artifactId>rome</artifactId>
<version>0.9</version>
<version>1.0</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.gagravarr</groupId>
<artifactId>vorbis-java-core</artifactId>
<version>${vorbis.version}</version>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.8.6</version> <!-- 3.8.7 failed on Ubuntu -->
+ <optional>true</optional>
</dependency>
<dependency>
......@@ -130,16 +143,29 @@ Forwarded: no
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>com.uwyn</groupId>
<groupId>org.codelibs</groupId>
<artifactId>jhighlight</artifactId>
<version>1.0</version>
<version>1.0.2</version>
+ <optional>true</optional>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
</dependency>
<dependency>
<groupId>com.pff</groupId>
<artifactId>java-libpst</artifactId>
<version>0.8.1</version>
+ <optional>true</optional>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>com.github.junrar</groupId>
<artifactId>junrar</artifactId>
<version>0.7</version>
+ <optional>true</optional>
</dependency>
<!-- Test dependencies -->
--- a/tika-xmp/pom.xml
+++ b/tika-xmp/pom.xml
@@ -75,6 +75,7 @@
@@ -86,6 +86,7 @@
<groupId>com.adobe.xmp</groupId>
<artifactId>xmpcore</artifactId>
<version>5.1.2</version>
......
Description: Upgrade metadata-extractor to version 2.7.2
Origin: backport, https://svn.apache.org/r1666778
Bug: https://issues.apache.org/jira/browse/TIKA-1576
--- a/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
@@ -36,7 +36,9 @@
import com.drew.imaging.jpeg.JpegMetadataReader;
import com.drew.imaging.jpeg.JpegProcessingException;
+import com.drew.imaging.jpeg.JpegSegmentType;
import com.drew.imaging.tiff.TiffMetadataReader;
+import com.drew.imaging.tiff.TiffProcessingException;
import com.drew.lang.GeoLocation;
import com.drew.lang.Rational;
import com.drew.metadata.Directory;
@@ -104,6 +106,8 @@
handle(tiffMetadata);
} catch (MetadataException e) {
throw new TikaException("Can't read TIFF metadata", e);
+ } catch (TiffProcessingException e) {
+ throw new TikaException("Can't read TIFF metadata", e);
}
}
@@ -218,11 +222,11 @@
//Exif.Image.ImageLength Short 1 75
// and the values are found in "Thumbnail Image Width" (and Height) from Metadata Extractor
set(directory, metadata, ExifThumbnailDirectory.TAG_THUMBNAIL_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
- set(directory, metadata, JpegDirectory.TAG_JPEG_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
+ set(directory, metadata, JpegDirectory.TAG_IMAGE_WIDTH, Metadata.IMAGE_WIDTH);
set(directory, metadata, ExifThumbnailDirectory.TAG_THUMBNAIL_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
- set(directory, metadata, JpegDirectory.TAG_JPEG_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
+ set(directory, metadata, JpegDirectory.TAG_IMAGE_HEIGHT, Metadata.IMAGE_LENGTH);
// Bits per sample, two methods of extracting, exif overrides jpeg
- set(directory, metadata, JpegDirectory.TAG_JPEG_DATA_PRECISION, Metadata.BITS_PER_SAMPLE);
+ set(directory, metadata, JpegDirectory.TAG_DATA_PRECISION, Metadata.BITS_PER_SAMPLE);
set(directory, metadata, ExifSubIFDDirectory.TAG_BITS_PER_SAMPLE, Metadata.BITS_PER_SAMPLE);
// Straightforward
set(directory, metadata, ExifSubIFDDirectory.TAG_SAMPLES_PER_PIXEL, Metadata.SAMPLES_PER_PIXEL);
@@ -242,8 +246,8 @@
return directoryType == JpegCommentDirectory.class;
}
public void handle(Directory directory, Metadata metadata) throws MetadataException {
- if (directory.containsTag(JpegCommentDirectory.TAG_JPEG_COMMENT)) {
- metadata.add(TikaCoreProperties.COMMENTS, directory.getString(JpegCommentDirectory.TAG_JPEG_COMMENT));
+ if (directory.containsTag(JpegCommentDirectory.TAG_COMMENT)) {
+ metadata.add(TikaCoreProperties.COMMENTS, directory.getString(JpegCommentDirectory.TAG_COMMENT));
}
}
}
From: Markus Koschany <apo@debian.org>
Date: Tue, 1 Dec 2015 20:08:05 +0100
Subject: bouncycastle 1.51
Fix FTBFS with bouncycastle 1.51.
Forwarded: no, already fixed
---
.../src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java b/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
index d66b95e..609fce6 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
@@ -31,6 +31,9 @@ import org.apache.tika.parser.Parser;
import org.bouncycastle.cms.CMSException;
import org.bouncycastle.cms.CMSSignedDataParser;
import org.bouncycastle.cms.CMSTypedStream;
+import org.bouncycastle.operator.DigestCalculatorProvider;
+import org.bouncycastle.operator.OperatorCreationException;
+import org.bouncycastle.operator.jcajce.JcaDigestCalculatorProviderBuilder;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -57,8 +60,10 @@ public class Pkcs7Parser extends AbstractParser {
Metadata metadata, ParseContext context)
throws IOException, SAXException, TikaException {
try {
+ DigestCalculatorProvider digestCalculatorProvider =
+ new JcaDigestCalculatorProviderBuilder().setProvider("BC").build();
CMSSignedDataParser parser =
- new CMSSignedDataParser(new CloseShieldInputStream(stream));
+ new CMSSignedDataParser(digestCalculatorProvider, new CloseShieldInputStream(stream));
try {
CMSTypedStream content = parser.getSignedContent();
if (content == null) {
@@ -75,6 +80,8 @@ public class Pkcs7Parser extends AbstractParser {
} finally {
parser.close();
}
+ } catch (OperatorCreationException e) {
+ throw new TikaException("Unable to create DigestCalculatorProvider", e);
} catch (CMSException e) {
throw new TikaException("Unable to parse pkcs7 signed data", e);
}
Description: Ignore the parsers using libraries not in Debian yet
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/tika-parsers/pom.xml
+++ b/tika-parsers/pom.xml
@@ -345,6 +345,25 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/grib/GribParser.java</exclude>
+ <exclude>**/hdf/HDFParser.java</exclude>
+ <exclude>**/image/WebPParser.java</exclude>
+ <exclude>**/mat/MatParser.java</exclude>
+ <exclude>**/mbox/OutlookPSTParser.java</exclude>
+ <exclude>**/mp4/MP4Parser.java</exclude>
+ <exclude>**/mp4/DirectFileReadDataSource.java</exclude>
+ <exclude>**/netcdf/NetCDFParser.java</exclude>
+ <exclude>**/pkg/RarParser.java</exclude>
+ <exclude>**/jdbc/SQLite3DBParser.java</exclude>
+ <exclude>**/jdbc/SQLite3Parser.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
</plugins>
<pluginManagement>