mirror of
https://github.com/zeek/zeek.git
synced 2025-10-03 23:28:20 +00:00

- It's derived from the magic database of libmagic 5.14, but with most everything not related to mime types removed. - The custom database is always used by default for mime detection, but the more verbose file type detection will fall back on the default libmagic installation's database. The result is: mime type strings are now guaranteed to be consistent across platforms, but the verbose file type descriptions are not. - The custom database gets installed in $prefix/share/bro/magic, and should even be extensible if files with new patterns are added inside the directory. - The search path for the mime magic database can be controlled via BROMAGIC environment variable. - Remove mime_desc field from ftp.log. - Stop using the mime/file type canonifier with unit tests. - libmagic >= 5.04 is now a requirement.
242 lines
8.9 KiB
Text
242 lines
8.9 KiB
Text
# See COPYING file in this directory for original libmagic copyright.
|
|
#------------------------------------------------------------------------------
|
|
# $File: archive,v 1.78 2013/02/06 14:18:52 christos Exp $
|
|
# archive: file(1) magic for archive formats (see also "msdos" for self-
|
|
# extracting compressed archives)
|
|
#
|
|
# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
|
|
# pre-POSIX "tar" archives are handled in the C code.
|
|
|
|
# POSIX tar archives
|
|
257 string ustar\0 POSIX tar archive
|
|
!:mime application/x-tar # encoding: posix
|
|
257 string ustar\040\040\0 GNU tar archive
|
|
!:mime application/x-tar # encoding: gnu
|
|
|
|
# cpio archives
|
|
#
|
|
# Yes, the top two "cpio archive" formats *are* supposed to just be "short".
|
|
# The idea is to indicate archives produced on machines with the same
|
|
# byte order as the machine running "file" with "cpio archive", and
|
|
# to indicate archives produced on machines with the opposite byte order
|
|
# from the machine running "file" with "byte-swapped cpio archive".
|
|
#
|
|
# The SVR4 "cpio(4)" hints that there are additional formats, but they
|
|
# are defined as "short"s; I think all the new formats are
|
|
# character-header formats and thus are strings, not numbers.
|
|
0 short 070707 cpio archive
|
|
!:mime application/x-cpio
|
|
0 short 0143561 byte-swapped cpio archive
|
|
!:mime application/x-cpio # encoding: swapped
|
|
|
|
#
|
|
# System V Release 1 portable(?) archive format.
|
|
#
|
|
0 string =<ar> System V Release 1 ar archive
|
|
!:mime application/x-archive
|
|
|
|
#
|
|
# Debian package; it's in the portable archive format, and needs to go
|
|
# before the entry for regular portable archives, as it's recognized as
|
|
# a portable archive whose first member has a name beginning with
|
|
# "debian".
|
|
#
|
|
0 string =!<arch>\ndebian
|
|
!:mime application/x-debian-package
|
|
|
|
#
|
|
# MIPS archive; they're in the portable archive format, and need to go
|
|
# before the entry for regular portable archives, as it's recognized as
|
|
# a portable archive whose first member has a name beginning with
|
|
# "__________E".
|
|
#
|
|
0 string =!<arch>\n__________E MIPS archive
|
|
!:mime application/x-archive
|
|
|
|
#
|
|
# BSD/SVR2-and-later portable archive formats.
|
|
#
|
|
0 string =!<arch> current ar archive
|
|
!:mime application/x-archive
|
|
|
|
# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com)
|
|
#
|
|
# The first byte is the magic (0x1a), byte 2 is the compression type for
|
|
# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
|
|
# filename of the first file (null terminated). Since some types collide
|
|
# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
|
|
# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo.
|
|
0 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW
|
|
!:mime application/x-arc
|
|
0 lelong&0x8080ffff 0x0000091a ARC archive data, squashed
|
|
!:mime application/x-arc
|
|
0 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed
|
|
!:mime application/x-arc
|
|
0 lelong&0x8080ffff 0x0000031a ARC archive data, packed
|
|
!:mime application/x-arc
|
|
0 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed
|
|
!:mime application/x-arc
|
|
0 lelong&0x8080ffff 0x0000061a ARC archive data, crunched
|
|
!:mime application/x-arc
|
|
# [JW] stuff taken from idarc, obviously ARC successors:
|
|
0 lelong&0x8080ffff 0x00000a1a PAK archive data
|
|
!:mime application/x-arc
|
|
0 lelong&0x8080ffff 0x0000141a ARC+ archive data
|
|
!:mime application/x-arc
|
|
0 lelong&0x8080ffff 0x0000481a HYP archive data
|
|
!:mime application/x-arc
|
|
|
|
# ARJ archiver (jason@jarthur.Claremont.EDU)
|
|
0 leshort 0xea60 ARJ archive data
|
|
!:mime application/x-arj
|
|
|
|
# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
|
|
2 string -lh0- LHarc 1.x/ARX archive data [lh0]
|
|
!:mime application/x-lharc
|
|
2 string -lh1- LHarc 1.x/ARX archive data [lh1]
|
|
!:mime application/x-lharc
|
|
2 string -lz4- LHarc 1.x archive data [lz4]
|
|
!:mime application/x-lharc
|
|
2 string -lz5- LHarc 1.x archive data [lz5]
|
|
!:mime application/x-lharc
|
|
# [never seen any but the last; -lh4- reported in comp.compression:]
|
|
2 string -lzs- LHa/LZS archive data [lzs]
|
|
!:mime application/x-lha
|
|
2 string -lh\40- LHa 2.x? archive data [lh ]
|
|
!:mime application/x-lha
|
|
2 string -lhd- LHa 2.x? archive data [lhd]
|
|
!:mime application/x-lha
|
|
2 string -lh2- LHa 2.x? archive data [lh2]
|
|
!:mime application/x-lha
|
|
2 string -lh3- LHa 2.x? archive data [lh3]
|
|
!:mime application/x-lha
|
|
2 string -lh4- LHa (2.x) archive data [lh4]
|
|
!:mime application/x-lha
|
|
2 string -lh5- LHa (2.x) archive data [lh5]
|
|
!:mime application/x-lha
|
|
2 string -lh6- LHa (2.x) archive data [lh6]
|
|
!:mime application/x-lha
|
|
2 string -lh7- LHa (2.x)/LHark archive data [lh7]
|
|
!:mime application/x-lha
|
|
|
|
# RAR archiver (Greg Roelofs, newt@uchicago.edu)
|
|
0 string Rar! RAR archive data,
|
|
!:mime application/x-rar
|
|
|
|
# PKZIP multi-volume archive
|
|
0 string PK\x07\x08PK\x03\x04 Zip multi-volume archive data, at least PKZIP v2.50 to extract
|
|
!:mime application/zip
|
|
|
|
# Zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
|
|
0 string PK\003\004
|
|
|
|
# Specialised zip formats which start with a member named 'mimetype'
|
|
# (stored uncompressed, with no 'extra field') containing the file's MIME type.
|
|
# Check for have 8-byte name, 0-byte extra field, name "mimetype", and
|
|
# contents starting with "application/":
|
|
>26 string \x8\0\0\0mimetypeapplication/
|
|
|
|
# OpenDocument formats (for OpenOffice 2.x / StarOffice >= 8)
|
|
# http://lists.oasis-open.org/archives/office/200505/msg00006.html
|
|
# (mimetype contains "application/vnd.oasis.opendocument.<SUBTYPE>")
|
|
>>50 string vnd.oasis.opendocument. OpenDocument
|
|
>>>73 string text
|
|
>>>>77 byte !0x2d Text
|
|
!:mime application/vnd.oasis.opendocument.text
|
|
>>>>77 string -template Text Template
|
|
!:mime application/vnd.oasis.opendocument.text-template
|
|
>>>>77 string -web HTML Document Template
|
|
!:mime application/vnd.oasis.opendocument.text-web
|
|
>>>>77 string -master Master Document
|
|
!:mime application/vnd.oasis.opendocument.text-master
|
|
>>>73 string graphics
|
|
>>>>81 byte !0x2d Drawing
|
|
!:mime application/vnd.oasis.opendocument.graphics
|
|
>>>>81 string -template Template
|
|
!:mime application/vnd.oasis.opendocument.graphics-template
|
|
>>>73 string presentation
|
|
>>>>85 byte !0x2d Presentation
|
|
!:mime application/vnd.oasis.opendocument.presentation
|
|
>>>>85 string -template Template
|
|
!:mime application/vnd.oasis.opendocument.presentation-template
|
|
>>>73 string spreadsheet
|
|
>>>>84 byte !0x2d Spreadsheet
|
|
!:mime application/vnd.oasis.opendocument.spreadsheet
|
|
>>>>84 string -template Template
|
|
!:mime application/vnd.oasis.opendocument.spreadsheet-template
|
|
>>>73 string chart
|
|
>>>>78 byte !0x2d Chart
|
|
!:mime application/vnd.oasis.opendocument.chart
|
|
>>>>78 string -template Template
|
|
!:mime application/vnd.oasis.opendocument.chart-template
|
|
>>>73 string formula
|
|
>>>>80 byte !0x2d Formula
|
|
!:mime application/vnd.oasis.opendocument.formula
|
|
>>>>80 string -template Template
|
|
!:mime application/vnd.oasis.opendocument.formula-template
|
|
>>>73 string database Database
|
|
!:mime application/vnd.oasis.opendocument.database
|
|
>>>73 string image
|
|
>>>>78 byte !0x2d Image
|
|
!:mime application/vnd.oasis.opendocument.image
|
|
>>>>78 string -template Template
|
|
!:mime application/vnd.oasis.opendocument.image-template
|
|
|
|
# EPUB (OEBPS) books using OCF (OEBPS Container Format)
|
|
# http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm, section 4.
|
|
# From: Ralf Brown <ralf.brown@gmail.com>
|
|
>0x1E string mimetypeapplication/epub+zip EPUB document
|
|
!:mime application/epub+zip
|
|
|
|
# Catch other ZIP-with-mimetype formats
|
|
# In a ZIP file, the bytes immediately after a member's contents are
|
|
# always "PK". The 2 regex rules here print the "mimetype" member's
|
|
# contents up to the first 'P'. Luckily, most MIME types don't contain
|
|
# any capital 'P's. This is a kludge.
|
|
# (mimetype contains "application/<OTHER>")
|
|
>>50 string !epub+zip
|
|
>>>50 string !vnd.oasis.opendocument.
|
|
>>>>50 string !vnd.sun.xml.
|
|
>>>>>50 string !vnd.kde.
|
|
>>>>>>38 regex [!-OQ-~]+ Zip data (MIME type "%s"?)
|
|
!:mime application/zip
|
|
# (mimetype contents other than "application/*")
|
|
>26 string \x8\0\0\0mimetype
|
|
>>38 string !application/
|
|
>>>38 regex [!-OQ-~]+ Zip data (MIME type "%s"?)
|
|
!:mime application/zip
|
|
|
|
# Java Jar files
|
|
>(26.s+30) leshort 0xcafe Java Jar file data (zip)
|
|
!:mime application/jar
|
|
|
|
# Generic zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
|
|
# Next line excludes specialized formats:
|
|
>(26.s+30) leshort !0xcafe
|
|
>>26 string !\x8\0\0\0mimetype Zip archive data
|
|
!:mime application/zip
|
|
|
|
# Zoo archiver
|
|
20 lelong 0xfdc4a7dc Zoo archive data
|
|
!:mime application/x-zoo
|
|
|
|
# Shell archives
|
|
10 string #\ This\ is\ a\ shell\ archive shell archive text
|
|
!:mime application/octet-stream
|
|
|
|
# Felix von Leitner <felix-file@fefe.de>
|
|
0 string d8:announce BitTorrent file
|
|
!:mime application/x-bittorrent
|
|
|
|
# EET archive
|
|
# From: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
0 belong 0x1ee7ff00 EET archive
|
|
!:mime application/x-eet
|
|
|
|
# Symbian installation files
|
|
# http://www.thouky.co.uk/software/psifs/sis.html
|
|
# http://developer.symbian.com/main/downloads/papers/SymbianOSv91/softwareinstallsis.pdf
|
|
8 lelong 0x10000419 Symbian installation file
|
|
!:mime application/vnd.symbian.install
|
|
0 lelong 0x10201A7A Symbian installation file (Symbian OS 9.x)
|
|
!:mime x-epoc/x-sisx-app
|