# General purpose file magic signatures. signature file-plaintext { file-magic /^([[:print:][:space:]]{10})/ file-mime "text/plain", -20 } signature file-tar { file-magic /^[[:print:]\x00]{100}([[:digit:]\x20]{7}\x00){3}([[:digit:]\x20]{11}\x00){2}([[:digit:]\x00\x20]{7}[\x20\x00])[0-7\x00]/ file-mime "application/x-tar", 100 } signature file-zip { file-mime "application/zip", 10 file-magic /^PK\x03\x04.{2}/ } signature file-jar { file-mime "application/java-archive", 100 file-magic /^PK\x03\x04.{1,200}\x14\x00..META-INF\/MANIFEST\.MF/ } signature file-java-applet { file-magic /^\xca\xfe\xba\xbe...[\x2e-\x34]/ file-mime "application/x-java-applet", 71 } # Shockwave flash signature file-swf { file-magic /^(F|C|Z)WS/ file-mime "application/x-shockwave-flash", 60 } # Microsoft Outlook's Transport Neutral Encapsulation Format signature file-tnef { file-magic /^\x78\x9f\x3e\x22/ file-mime "application/vnd.ms-tnef", 100 } # Mac OS X DMG files signature file-dmg { file-magic /^(\x78\x01\x73\x0D\x62\x62\x60|\x78\xDA\x63\x60\x18\x05|\x78\x01\x63\x60\x18\x05|\x78\xDA\x73\x0D|\x78[\x01\xDA]\xED[\xD0-\xD9])/ file-mime "application/x-dmg", 100 } # Mac OS X Mach-O executable signature file-mach-o { file-magic /^[\xce\xcf]\xfa\xed\xfe/ file-mime "application/x-mach-o-executable", 100 } # Mac OS X Universal Mach-O executable signature file-mach-o-universal { file-magic /^\xca\xfe\xba\xbe..\x00[\x01-\x14]/ file-mime "application/x-mach-o-executable", 100 } # XAR (eXtensible ARchive) format. # Mac OS X uses this for the .pkg format. signature file-xar { file-magic /^xar\!/ file-mime "application/x-xar", 100 } signature file-pkcs7 { file-magic /^MIME-Version:.*protocol=\"application\/pkcs7-signature\"/ file-mime "application/pkcs7-signature", 100 } # Concatenated X.509 certificates in textual format. signature file-pem { file-magic /^-----BEGIN CERTIFICATE-----/ file-mime "application/x-pem" } # Java Web Start file. signature file-jnlp { file-magic /^\