From 670c2bbcffe873a2b8589ed140c12e7923ef20c0 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Fri, 2 Jan 2015 20:23:27 +0000 Subject: Imported from /home/lorry/working-area/delta_file/file-5.22.tar.gz. --- magic/Magdir/msooxml | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'magic/Magdir/msooxml') diff --git a/magic/Magdir/msooxml b/magic/Magdir/msooxml index c627644..059e729 100644 --- a/magic/Magdir/msooxml +++ b/magic/Magdir/msooxml @@ -1,35 +1,36 @@ #------------------------------------------------------------------------------ -# $File: msooxml,v 1.2 2013/01/25 23:04:37 christos Exp $ +# $File: msooxml,v 1.5 2014/08/05 07:38:45 christos Exp $ # msooxml: file(1) magic for Microsoft Office XML # From: Ralf Brown # .docx, .pptx, and .xlsx are XML plus other files inside a ZIP # archive. The first member file is normally "[Content_Types].xml". +# but some libreoffice generated files put this later. Perhaps skip +# the "[Content_Types].xml" test? # Since MSOOXML doesn't have anything like the uncompressed "mimetype" # file of ePub or OpenDocument, we'll have to scan for a filename # which can distinguish between the three types # start by checking for ZIP local file header signature -0 string PK\003\004 +0 string PK\003\004 +!:strength +10 # make sure the first file is correct ->0x1E string [Content_Types].xml +>0x1E regex \\[Content_Types\\]\\.xml|_rels/\\.rels # skip to the second local file header -# since some documents include a 520-byte extra field following the file -# header, we need to scan for the next header ->>(18.l+49) search/2000 PK\003\004 +# since some documents include a 520-byte extra field following the file +# header, we need to scan for the next header +>>(18.l+49) search/2000 PK\003\004 # now skip to the *third* local file header; again, we need to scan due to a -# 520-byte extra field following the file header ->>>&26 search/1000 PK\003\004 +# 520-byte extra field following the file header +>>>&26 search/1000 PK\003\004 # and check the subdirectory name to determine which type of OOXML -# file we have -# Correct the mimetype with the registered ones: -# http://technet.microsoft.com/en-us/library/cc179224.aspx ->>>>&26 string word/ Microsoft Word 2007+ +# file we have. Correct the mimetype with the registered ones: +# http://technet.microsoft.com/en-us/library/cc179224.aspx +>>>>&26 string word/ Microsoft Word 2007+ !:mime application/vnd.openxmlformats-officedocument.wordprocessingml.document ->>>>&26 string ppt/ Microsoft PowerPoint 2007+ +>>>>&26 string ppt/ Microsoft PowerPoint 2007+ !:mime application/vnd.openxmlformats-officedocument.presentationml.presentation ->>>>&26 string xl/ Microsoft Excel 2007+ +>>>>&26 string xl/ Microsoft Excel 2007+ !:mime application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ->>>>&26 default x Microsoft OOXML -!:strength +10 +>>>>&26 default x Microsoft OOXML -- cgit v1.2.1