| OLD | NEW |
| (Empty) | |
| 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-compre
ss |
| 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 forma
t (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 |
| OLD | NEW |