# General purpose file magic signatures. # Plaintext # (Including BOMs for UTF-8, 16, and 32) signature file-plaintext { file-magic /^(\xef\xbb\xbf|(\x00\x00)?\xfe\xff|\xff\xfe(\x00\x00)?)?[[:space:]\x20-\x7E]{10}/ file-mime "text/plain", -20 } signature file-xml { file-mime "application/xml", 10 file-magic /^[\x0d\x0a[:blank:]]*<\?xml / } signature file-xhtml { file-mime "text/html", 100 file-magic /^[\x0d\x0a[:blank:]]*<\?xml version[ =]['"].*<(![dD][oO][cC][tT][yY][pP][eE] {1,}[hH][tT][mM][lL]|[hH][tT][mM][lL])/ } signature file-html { file-mime "text/html", 49 file-magic /^[\x0d\x0a[:blank:]]*)?/ } signature file-javascript3 { file-mime "application/javascript", 60 # This seems to be a somewhat common idiom in javascript. file-magic /^[\x0d\x0a[:blank:]]*for \(;;\);/ } signature file-javascript4 { file-mime "application/javascript", 60 file-magic /^[\x0d\x0a[:blank:]]*document\.write(ln)?[:blank:]?\(/ } signature file-javascript5 { file-mime "application/javascript", 60 file-magic /^\(function\(\)[[:blank:]\n]*\{/ } signature file-php { file-mime "text/x-php", 60 file-magic /^\x23\x21[^\n]{1,15}bin\/(env[[:space:]]+)?php/ } signature file-php2 { file-magic /^.*<\?php/ file-mime "text/x-php", 40 } # Stereolithography ASCII format signature file-stl-ascii { file-magic /^solid\x20/ file-mime "application/sla", 10 } # Sketchup model file signature file-skp { file-magic /^\xFF\xFE\xFF\x0E\x53\x00\x6B\x00\x65\x00\x74\x00\x63\x00\x68\x00\x55\x00\x70\x00\x20\x00\x4D\x00\x6F\x00\x64\x00\x65\x00\x6C\x00/ file-mime "application/skp", 100 } signature file-elf-object { file-mime "application/x-object", 50 file-magic /\x7fELF[\x01\x02](\x01.{10}\x01\x00|\x02.{10}\x00\x01)/ } signature file-elf { file-mime "application/x-executable", 50 file-magic /\x7fELF[\x01\x02](\x01.{10}\x02\x00|\x02.{10}\x00\x02)/ } signature file-elf-sharedlib { file-mime "application/x-sharedlib", 50 file-magic /\x7fELF[\x01\x02](\x01.{10}\x03\x00|\x02.{10}\x00\x03)/ } signature file-elf-coredump { file-mime "application/x-coredump", 50 file-magic /\x7fELF[\x01\x02](\x01.{10}\x04\x00|\x02.{10}\x00\x04)/ }