home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 May / PCWorld_2003-05_cd.bin / Komunik / apache / apache_2.0.45-win32-x86-no_ssl.msi / Data.Cab / F45781_magic.default < prev    next >
Text File  |  2002-03-26  |  13KB  |  383 lines

  1. # Magic data for mod_mime_magic Apache module (originally for file(1) command)
  2. # The module is described in /manual/mod/mod_mime_magic.html
  3. #
  4. # The format is 4-5 columns:
  5. #    Column #1: byte number to begin checking from, ">" indicates continuation
  6. #    Column #2: type of data to match
  7. #    Column #3: contents of data to match
  8. #    Column #4: MIME type of result
  9. #    Column #5: MIME encoding of result (optional)
  10.  
  11. #------------------------------------------------------------------------------
  12. # Localstuff:  file(1) magic for locally observed files
  13. # Add any locally observed files here.
  14.  
  15. #------------------------------------------------------------------------------
  16. # end local stuff
  17. #------------------------------------------------------------------------------
  18.  
  19. #------------------------------------------------------------------------------
  20. # Java
  21.  
  22. 0    short        0xcafe
  23. >2    short        0xbabe        application/java
  24.  
  25. #------------------------------------------------------------------------------
  26. # audio:  file(1) magic for sound formats
  27. #
  28. # from Jan Nicolai Langfeldt <janl@ifi.uio.no>,
  29. #
  30.  
  31. # Sun/NeXT audio data
  32. 0    string        .snd
  33. >12    belong        1        audio/basic
  34. >12    belong        2        audio/basic
  35. >12    belong        3        audio/basic
  36. >12    belong        4        audio/basic
  37. >12    belong        5        audio/basic
  38. >12    belong        6        audio/basic
  39. >12    belong        7        audio/basic
  40.  
  41. >12    belong        23        audio/x-adpcm
  42.  
  43. # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
  44. # that uses little-endian encoding and has a different magic number
  45. # (0x0064732E in little-endian encoding).
  46. 0    lelong        0x0064732E    
  47. >12    lelong        1        audio/x-dec-basic
  48. >12    lelong        2        audio/x-dec-basic
  49. >12    lelong        3        audio/x-dec-basic
  50. >12    lelong        4        audio/x-dec-basic
  51. >12    lelong        5        audio/x-dec-basic
  52. >12    lelong        6        audio/x-dec-basic
  53. >12    lelong        7        audio/x-dec-basic
  54. #                                       compressed (G.721 ADPCM)
  55. >12    lelong        23        audio/x-dec-adpcm
  56.  
  57. # Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM"
  58. #                    AIFF audio data
  59. 8    string        AIFF        audio/x-aiff    
  60. #                    AIFF-C audio data
  61. 8    string        AIFC        audio/x-aiff    
  62. #                    IFF/8SVX audio data
  63. 8    string        8SVX        audio/x-aiff    
  64.  
  65. # Creative Labs AUDIO stuff
  66. #                    Standard MIDI data
  67. 0    string    MThd            audio/unknown    
  68. #>9     byte    >0            (format %d)
  69. #>11    byte    >1            using %d channels
  70. #                    Creative Music (CMF) data
  71. 0    string    CTMF            audio/unknown    
  72. #                    SoundBlaster instrument data
  73. 0    string    SBI            audio/unknown    
  74. #                    Creative Labs voice data
  75. 0    string    Creative\ Voice\ File    audio/unknown    
  76. ## is this next line right?  it came this way...
  77. #>19    byte    0x1A
  78. #>23    byte    >0            - version %d
  79. #>22    byte    >0            \b.%d
  80.  
  81. # [GRR 950115:  is this also Creative Labs?  Guessing that first line
  82. #  should be string instead of unknown-endian long...]
  83. #0    long        0x4e54524b    MultiTrack sound data
  84. #0    string        NTRK        MultiTrack sound data
  85. #>4    long        x        - version %ld
  86.  
  87. # Microsoft WAVE format (*.wav)
  88. # [GRR 950115:  probably all of the shorts and longs should be leshort/lelong]
  89. #                    Microsoft RIFF
  90. 0    string        RIFF        audio/unknown
  91. #                    - WAVE format
  92. >8    string        WAVE        audio/x-wav
  93. # MPEG audio.
  94. 0   beshort&0xfff0  0xfff0  audio/mpeg
  95. # C64 SID Music files, from Linus Walleij <triad@df.lth.se>
  96. 0   string      PSID        audio/prs.sid
  97.  
  98. #------------------------------------------------------------------------------
  99. # c-lang:  file(1) magic for C programs or various scripts
  100. #
  101.  
  102. # XPM icons (Greg Roelofs, newt@uchicago.edu)
  103. # ideally should go into "images", but entries below would tag XPM as C source
  104. 0    string        /*\ XPM        image/x-xbm    7bit
  105.  
  106. # this first will upset you if you're a PL/1 shop... (are there any left?)
  107. # in which case rm it; ascmagic will catch real C programs
  108. #                    C or REXX program text
  109. 0    string        /*        text/plain
  110. #                    C++ program text
  111. 0    string        //        text/plain
  112.  
  113. #------------------------------------------------------------------------------
  114. # compress:  file(1) magic for pure-compression formats (no archives)
  115. #
  116. # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc.
  117. #
  118. # Formats for various forms of compressed data
  119. # Formats for "compress" proper have been moved into "compress.c",
  120. # because it tries to uncompress it to figure out what's inside.
  121.  
  122. # standard unix compress
  123. 0    string        \037\235    application/octet-stream    x-compress
  124.  
  125. # gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)
  126. 0       string          \037\213        application/octet-stream    x-gzip
  127.  
  128. # According to gzip.h, this is the correct byte order for packed data.
  129. 0    string        \037\036    application/octet-stream
  130. #
  131. # This magic number is byte-order-independent.
  132. #
  133. 0    short        017437        application/octet-stream
  134.  
  135. # XXX - why *two* entries for "compacted data", one of which is
  136. # byte-order independent, and one of which is byte-order dependent?
  137. #
  138. # compacted data
  139. 0    short        0x1fff        application/octet-stream
  140. 0    string        \377\037    application/octet-stream
  141. # huf output
  142. 0    short        0145405        application/octet-stream
  143.  
  144. # Squeeze and Crunch...
  145. # These numbers were gleaned from the Unix versions of the programs to
  146. # handle these formats.  Note that I can only uncrunch, not crunch, and
  147. # I didn't have a crunched file handy, so the crunch number is untested.
  148. #                Keith Waclena <keith@cerberus.uchicago.edu>
  149. #0    leshort        0x76FF        squeezed data (CP/M, DOS)
  150. #0    leshort        0x76FE        crunched data (CP/M, DOS)
  151.  
  152. # Freeze
  153. #0    string        \037\237    Frozen file 2.1
  154. #0    string        \037\236    Frozen file 1.0 (or gzip 0.5)
  155.  
  156. # lzh?
  157. #0    string        \037\240    LZH compressed data
  158.  
  159. #------------------------------------------------------------------------------
  160. # frame:  file(1) magic for FrameMaker files
  161. #
  162. # This stuff came on a FrameMaker demo tape, most of which is
  163. # copyright, but this file is "published" as witness the following:
  164. #
  165. 0    string        \<MakerFile    application/x-frame
  166. 0    string        \<MIFFile    application/x-frame
  167. 0    string        \<MakerDictionary    application/x-frame
  168. 0    string        \<MakerScreenFon    application/x-frame
  169. 0    string        \<MML        application/x-frame
  170. 0    string        \<Book        application/x-frame
  171. 0    string        \<Maker        application/x-frame
  172.  
  173. #------------------------------------------------------------------------------
  174. # html:  file(1) magic for HTML (HyperText Markup Language) docs
  175. #
  176. # from Daniel Quinlan <quinlan@yggdrasil.com>
  177. # and Anna Shergold <anna@inext.co.uk>
  178. #
  179. 0   string      \<!DOCTYPE\ HTML    text/html
  180. 0   string      \<!doctype\ html    text/html
  181. 0   string      \<HEAD      text/html
  182. 0   string      \<head      text/html
  183. 0   string      \<TITLE     text/html
  184. 0   string      \<title     text/html
  185. 0   string      \<html      text/html
  186. 0   string      \<HTML      text/html
  187. 0   string      \<!--       text/html
  188. 0   string      \<h1        text/html
  189. 0   string      \<H1        text/html
  190.  
  191. # XML eXtensible Markup Language, from Linus Walleij <triad@df.lth.se>
  192. 0   string      \<?xml      text/xml
  193.  
  194. #------------------------------------------------------------------------------
  195. # images:  file(1) magic for image formats (see also "c-lang" for XPM bitmaps)
  196. #
  197. # originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
  198. # additions by janl@ifi.uio.no as well as others. Jan also suggested
  199. # merging several one- and two-line files into here.
  200. #
  201. # XXX - byte order for GIF and TIFF fields?
  202. # [GRR:  TIFF allows both byte orders; GIF is probably little-endian]
  203. #
  204.  
  205. # [GRR:  what the hell is this doing in here?]
  206. #0    string        xbtoa        btoa'd file
  207.  
  208. # PBMPLUS
  209. #                    PBM file
  210. 0    string        P1        image/x-portable-bitmap    7bit
  211. #                    PGM file
  212. 0    string        P2        image/x-portable-greymap    7bit
  213. #                    PPM file
  214. 0    string        P3        image/x-portable-pixmap    7bit
  215. #                    PBM "rawbits" file
  216. 0    string        P4        image/x-portable-bitmap
  217. #                    PGM "rawbits" file
  218. 0    string        P5        image/x-portable-greymap
  219. #                    PPM "rawbits" file
  220. 0    string        P6        image/x-portable-pixmap
  221.  
  222. # NIFF (Navy Interchange File Format, a modification of TIFF)
  223. # [GRR:  this *must* go before TIFF]
  224. 0    string        IIN1        image/x-niff
  225.  
  226. # TIFF and friends
  227. #                    TIFF file, big-endian
  228. 0    string        MM        image/tiff
  229. #                    TIFF file, little-endian
  230. 0    string        II        image/tiff
  231.  
  232. # possible GIF replacements; none yet released!
  233. # (Greg Roelofs, newt@uchicago.edu)
  234. #
  235. # GRR 950115:  this was mine ("Zip GIF"):
  236. #                    ZIF image (GIF+deflate alpha)
  237. 0    string        GIF94z        image/unknown
  238. #
  239. # GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
  240. #                    FGF image (GIF+deflate beta)
  241. 0    string        FGF95a        image/unknown
  242. #
  243. # GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
  244. # (best; not yet implemented):
  245. #                    PBF image (deflate compression)
  246. 0    string        PBF        image/unknown
  247.  
  248. # GIF
  249. 0    string        GIF        image/gif
  250.  
  251. # JPEG images
  252. 0    beshort        0xffd8        image/jpeg
  253.  
  254. # PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
  255. 0    string        BM        image/bmp
  256. #>14    byte        12        (OS/2 1.x format)
  257. #>14    byte        64        (OS/2 2.x format)
  258. #>14    byte        40        (Windows 3.x format)
  259. #0    string        IC        icon
  260. #0    string        PI        pointer
  261. #0    string        CI        color icon
  262. #0    string        CP        color pointer
  263. #0    string        BA        bitmap array
  264.  
  265.  
  266. #------------------------------------------------------------------------------
  267. # lisp:  file(1) magic for lisp programs
  268. #
  269. # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
  270. 0    string    ;;            text/plain    8bit
  271. # Emacs 18 - this is always correct, but not very magical.
  272. 0    string    \012(            application/x-elc
  273. # Emacs 19
  274. 0    string    ;ELC\023\000\000\000    application/x-elc
  275.  
  276. #------------------------------------------------------------------------------
  277. # mail.news:  file(1) magic for mail and news
  278. #
  279. # There are tests to ascmagic.c to cope with mail and news.
  280. 0    string        Relay-Version:     message/rfc822    7bit
  281. 0    string        #!\ rnews    message/rfc822    7bit
  282. 0    string        N#!\ rnews    message/rfc822    7bit
  283. 0    string        Forward\ to     message/rfc822    7bit
  284. 0    string        Pipe\ to     message/rfc822    7bit
  285. 0    string        Return-Path:    message/rfc822    7bit
  286. 0    string        Path:        message/news    8bit
  287. 0    string        Xref:        message/news    8bit
  288. 0    string        From:        message/rfc822    7bit
  289. 0    string        Article     message/news    8bit
  290. #------------------------------------------------------------------------------
  291. # msword: file(1) magic for MS Word files
  292. #
  293. # Contributor claims:
  294. # Reversed-engineered MS Word magic numbers
  295. #
  296.  
  297. 0    string        \376\067\0\043            application/msword
  298. 0    string        \333\245-\0\0\0            application/msword
  299.  
  300. # disable this one because it applies also to other
  301. # Office/OLE documents for which msword is not correct. See PR#2608.
  302. #0    string        \320\317\021\340\241\261    application/msword
  303.  
  304.  
  305.  
  306. #------------------------------------------------------------------------------
  307. # printer:  file(1) magic for printer-formatted files
  308. #
  309.  
  310. # PostScript
  311. 0    string        %!        application/postscript
  312. 0    string        \004%!        application/postscript
  313.  
  314. # Acrobat
  315. # (due to clamen@cs.cmu.edu)
  316. 0    string        %PDF-        application/pdf
  317.  
  318. #------------------------------------------------------------------------------
  319. # sc:  file(1) magic for "sc" spreadsheet
  320. #
  321. 38    string        Spreadsheet    application/x-sc
  322.  
  323. #------------------------------------------------------------------------------
  324. # tex:  file(1) magic for TeX files
  325. #
  326. # XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
  327. #
  328. # From <conklin@talisman.kaleida.com>
  329.  
  330. # Although we may know the offset of certain text fields in TeX DVI
  331. # and font files, we can't use them reliably because they are not
  332. # zero terminated. [but we do anyway, christos]
  333. 0    string        \367\002    application/x-dvi
  334. #0    string        \367\203    TeX generic font data
  335. #0    string        \367\131    TeX packed font data
  336. #0    string        \367\312    TeX virtual font data
  337. #0    string        This\ is\ TeX,    TeX transcript text    
  338. #0    string        This\ is\ METAFONT,    METAFONT transcript text
  339.  
  340. # There is no way to detect TeX Font Metric (*.tfm) files without
  341. # breaking them apart and reading the data.  The following patterns
  342. # match most *.tfm files generated by METAFONT or afm2tfm.
  343. #2    string        \000\021    TeX font metric data
  344. #2    string        \000\022    TeX font metric data
  345. #>34    string        >\0        (%s)
  346.  
  347. # Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
  348. #0    string        \\input\ texinfo    Texinfo source text
  349. #0    string        This\ is\ Info\ file    GNU Info text
  350.  
  351. # correct TeX magic for Linux (and maybe more)
  352. # from Peter Tobias (tobias@server.et-inf.fho-emden.de)
  353. #
  354. 0    leshort        0x02f7        application/x-dvi
  355.  
  356. # RTF - Rich Text Format
  357. 0    string        {\\rtf        application/rtf
  358.  
  359. #------------------------------------------------------------------------------
  360. # animation:  file(1) magic for animation/movie formats
  361. #
  362. # animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8)
  363. #                        MPEG file
  364. 0    string        \000\000\001\263    video/mpeg
  365. #
  366. # The contributor claims:
  367. #   I couldn't find a real magic number for these, however, this
  368. #   -appears- to work.  Note that it might catch other files, too,
  369. #   so BE CAREFUL!
  370. #
  371. # Note that title and author appear in the two 20-byte chunks
  372. # at decimal offsets 2 and 22, respectively, but they are XOR'ed with
  373. # 255 (hex FF)! DL format SUCKS BIG ROCKS.
  374. #
  375. #                        DL file version 1 , medium format (160x100, 4 images/screen)
  376. 0    byte        1            video/unknown
  377. 0    byte        2            video/unknown
  378. # Quicktime video, from Linus Walleij <triad@df.lth.se>
  379. # from Apple quicktime file format documentation.
  380. 4   string      moov        video/quicktime 
  381. 4   string      mdat        video/quicktime
  382.  
  383.