? sites/default/files
? sites/default/settings.php
Index: includes/file.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/file.inc,v
retrieving revision 1.143
diff -u -p -r1.143 file.inc
--- includes/file.inc	8 Nov 2008 22:04:03 -0000	1.143
+++ includes/file.inc	9 Nov 2008 02:05:27 -0000
@@ -1396,354 +1396,7 @@ function file_upload_max_size() {
  */
 function file_get_mimetype($filename, $mapping = NULL) {
   if (!is_array($mapping)) {
-    $mapping = variable_get('mime_extension_mapping', array(
-      'ez' => 'application/andrew-inset',
-      'atom' => 'application/atom',
-      'atomcat' => 'application/atomcat+xml',
-      'atomsrv' => 'application/atomserv+xml',
-      'cap|pcap' => 'application/cap',
-      'cu' => 'application/cu-seeme',
-      'tsp' => 'application/dsptype',
-      'spl' => 'application/x-futuresplash',
-      'hta' => 'application/hta',
-      'jar' => 'application/java-archive',
-      'ser' => 'application/java-serialized-object',
-      'class' => 'application/java-vm',
-      'hqx' => 'application/mac-binhex40',
-      'cpt' => 'image/x-corelphotopaint',
-      'nb' => 'application/mathematica',
-      'mdb' => 'application/msaccess',
-      'doc|dot' => 'application/msword',
-      'bin' => 'application/octet-stream',
-      'oda' => 'application/oda',
-      'ogg|ogx' => 'application/ogg',
-      'pdf' => 'application/pdf',
-      'key' => 'application/pgp-keys',
-      'pgp' => 'application/pgp-signature',
-      'prf' => 'application/pics-rules',
-      'ps|ai|eps' => 'application/postscript',
-      'rar' => 'application/rar',
-      'rdf' => 'application/rdf+xml',
-      'rss' => 'application/rss+xml',
-      'rtf' => 'application/rtf',
-      'smi|smil' => 'application/smil',
-      'wpd' => 'application/wordperfect',
-      'wp5' => 'application/wordperfect5.1',
-      'xhtml|xht' => 'application/xhtml+xml',
-      'xml|xsl' => 'application/xml',
-      'zip' => 'application/zip',
-      'cdy' => 'application/vnd.cinderella',
-      'kml' => 'application/vnd.google-earth.kml+xml',
-      'kmz' => 'application/vnd.google-earth.kmz',
-      'xul' => 'application/vnd.mozilla.xul+xml',
-      'xls|xlb|xlt' => 'application/vnd.ms-excel',
-      'cat' => 'application/vnd.ms-pki.seccat',
-      'stl' => 'application/vnd.ms-pki.stl',
-      'ppt|pps' => 'application/vnd.ms-powerpoint',
-      'odc' => 'application/vnd.oasis.opendocument.chart',
-      'odb' => 'application/vnd.oasis.opendocument.database',
-      'odf' => 'application/vnd.oasis.opendocument.formula',
-      'odg' => 'application/vnd.oasis.opendocument.graphics',
-      'otg' => 'application/vnd.oasis.opendocument.graphics-template',
-      'odi' => 'application/vnd.oasis.opendocument.image',
-      'odp' => 'application/vnd.oasis.opendocument.presentation',
-      'otp' => 'application/vnd.oasis.opendocument.presentation-template',
-      'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
-      'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
-      'odt' => 'application/vnd.oasis.opendocument.text',
-      'odm' => 'application/vnd.oasis.opendocument.text-master',
-      'ott' => 'application/vnd.oasis.opendocument.text-template',
-      'oth' => 'application/vnd.oasis.opendocument.text-web',
-      'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
-      'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
-      'dotm' => 'application/vnd.ms-word.template.macroEnabled.12',
-      'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
-      'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
-      'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
-      'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
-      'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
-      'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
-      'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
-      'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
-      'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
-      'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
-      'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
-      'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
-      'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
-      'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
-      'cod' => 'application/vnd.rim.cod',
-      'mmf' => 'application/vnd.smaf',
-      'sdc' => 'application/vnd.stardivision.calc',
-      'sds' => 'application/vnd.stardivision.chart',
-      'sda' => 'application/vnd.stardivision.draw',
-      'sdd' => 'application/vnd.stardivision.impress',
-      'sdf' => 'application/vnd.stardivision.math',
-      'sdw' => 'application/vnd.stardivision.writer',
-      'sgl' => 'application/vnd.stardivision.writer-global',
-      'sxc' => 'application/vnd.sun.xml.calc',
-      'stc' => 'application/vnd.sun.xml.calc.template',
-      'sxd' => 'application/vnd.sun.xml.draw',
-      'std' => 'application/vnd.sun.xml.draw.template',
-      'sxi' => 'application/vnd.sun.xml.impress',
-      'sti' => 'application/vnd.sun.xml.impress.template',
-      'sxm' => 'application/vnd.sun.xml.math',
-      'sxw' => 'application/vnd.sun.xml.writer',
-      'sxg' => 'application/vnd.sun.xml.writer.global',
-      'stw' => 'application/vnd.sun.xml.writer.template',
-      'sis' => 'application/vnd.symbian.install',
-      'vsd' => 'application/vnd.visio',
-      'wbxml' => 'application/vnd.wap.wbxml',
-      'wmlc' => 'application/vnd.wap.wmlc',
-      'wmlsc' => 'application/vnd.wap.wmlscriptc',
-      'wk' => 'application/x-123',
-      '7z' => 'application/x-7z-compressed',
-      'abw' => 'application/x-abiword',
-      'dmg' => 'application/x-apple-diskimage',
-      'bcpio' => 'application/x-bcpio',
-      'torrent' => 'application/x-bittorrent',
-      'cab' => 'application/x-cab',
-      'cbr' => 'application/x-cbr',
-      'cbz' => 'application/x-cbz',
-      'cdf' => 'application/x-cdf',
-      'vcd' => 'application/x-cdlink',
-      'pgn' => 'application/x-chess-pgn',
-      'cpio' => 'application/x-cpio',
-      'csh' => 'text/x-csh',
-      'deb|udeb' => 'application/x-debian-package',
-      'dcr|dir|dxr' => 'application/x-director',
-      'dms' => 'application/x-dms',
-      'wad' => 'application/x-doom',
-      'dvi' => 'application/x-dvi',
-      'rhtml' => 'application/x-httpd-eruby',
-      'flac' => 'application/x-flac',
-      'pfa|pfb|gsf|pcf|pcf.Z' => 'application/x-font',
-      'mm' => 'application/x-freemind',
-      'gnumeric' => 'application/x-gnumeric',
-      'sgf' => 'application/x-go-sgf',
-      'gcf' => 'application/x-graphing-calculator',
-      'gtar|tgz|taz' => 'application/x-gtar',
-      'hdf' => 'application/x-hdf',
-      'phtml|pht|php' => 'application/x-httpd-php',
-      'phps' => 'application/x-httpd-php-source',
-      'php3' => 'application/x-httpd-php3',
-      'php3p' => 'application/x-httpd-php3-preprocessed',
-      'php4' => 'application/x-httpd-php4',
-      'ica' => 'application/x-ica',
-      'ins|isp' => 'application/x-internet-signup',
-      'iii' => 'application/x-iphone',
-      'iso' => 'application/x-iso9660-image',
-      'jnlp' => 'application/x-java-jnlp-file',
-      'js' => 'application/x-javascript',
-      'jmz' => 'application/x-jmol',
-      'chrt' => 'application/x-kchart',
-      'kil' => 'application/x-killustrator',
-      'skp|skd|skt|skm' => 'application/x-koan',
-      'kpr|kpt' => 'application/x-kpresenter',
-      'ksp' => 'application/x-kspread',
-      'kwd|kwt' => 'application/x-kword',
-      'latex' => 'application/x-latex',
-      'lha' => 'application/x-lha',
-      'lyx' => 'application/x-lyx',
-      'lzh' => 'application/x-lzh',
-      'lzx' => 'application/x-lzx',
-      'frm|maker|frame|fm|fb|book|fbdoc' => 'application/x-maker',
-      'mif' => 'application/x-mif',
-      'wmd' => 'application/x-ms-wmd',
-      'wmz' => 'application/x-ms-wmz',
-      'com|exe|bat|dll' => 'application/x-msdos-program',
-      'msi' => 'application/x-msi',
-      'nc' => 'application/x-netcdf',
-      'pac' => 'application/x-ns-proxy-autoconfig',
-      'nwc' => 'application/x-nwc',
-      'o' => 'application/x-object',
-      'oza' => 'application/x-oz-application',
-      'p7r' => 'application/x-pkcs7-certreqresp',
-      'crl' => 'application/x-pkcs7-crl',
-      'pyc|pyo' => 'application/x-python-code',
-      'qtl' => 'application/x-quicktimeplayer',
-      'rpm' => 'application/x-redhat-package-manager',
-      'sh' => 'text/x-sh',
-      'shar' => 'application/x-shar',
-      'swf|swfl' => 'application/x-shockwave-flash',
-      'sit|sitx' => 'application/x-stuffit',
-      'sv4cpio' => 'application/x-sv4cpio',
-      'sv4crc' => 'application/x-sv4crc',
-      'tar' => 'application/x-tar',
-      'tcl' => 'application/x-tcl',
-      'gf' => 'application/x-tex-gf',
-      'pk' => 'application/x-tex-pk',
-      'texinfo|texi' => 'application/x-texinfo',
-      '~|%|bak|old|sik' => 'application/x-trash',
-      't|tr|roff' => 'application/x-troff',
-      'man' => 'application/x-troff-man',
-      'me' => 'application/x-troff-me',
-      'ms' => 'application/x-troff-ms',
-      'ustar' => 'application/x-ustar',
-      'src' => 'application/x-wais-source',
-      'wz' => 'application/x-wingz',
-      'crt' => 'application/x-x509-ca-cert',
-      'xcf' => 'application/x-xcf',
-      'fig' => 'application/x-xfig',
-      'xpi' => 'application/x-xpinstall',
-      'au|snd' => 'audio/basic',
-      'mid|midi|kar' => 'audio/midi',
-      'mpga|mpega|mp2|mp3|m4a' => 'audio/mpeg',
-      'm3u' => 'audio/x-mpegurl',
-      'oga|spx' => 'audio/ogg',
-      'sid' => 'audio/prs.sid',
-      'aif|aiff|aifc' => 'audio/x-aiff',
-      'gsm' => 'audio/x-gsm',
-      'wma' => 'audio/x-ms-wma',
-      'wax' => 'audio/x-ms-wax',
-      'ra|rm|ram' => 'audio/x-pn-realaudio',
-      'ra' => 'audio/x-realaudio',
-      'pls' => 'audio/x-scpls',
-      'sd2' => 'audio/x-sd2',
-      'wav' => 'audio/x-wav',
-      'alc' => 'chemical/x-alchemy',
-      'cac|cache' => 'chemical/x-cache',
-      'csf' => 'chemical/x-cache-csf',
-      'cbin|cascii|ctab' => 'chemical/x-cactvs-binary',
-      'cdx' => 'chemical/x-cdx',
-      'cer' => 'chemical/x-cerius',
-      'c3d' => 'chemical/x-chem3d',
-      'chm' => 'chemical/x-chemdraw',
-      'cif' => 'chemical/x-cif',
-      'cmdf' => 'chemical/x-cmdf',
-      'cml' => 'chemical/x-cml',
-      'cpa' => 'chemical/x-compass',
-      'bsd' => 'chemical/x-crossfire',
-      'csml|csm' => 'chemical/x-csml',
-      'ctx' => 'chemical/x-ctx',
-      'cxf|cef' => 'chemical/x-cxf',
-      'emb|embl' => 'chemical/x-embl-dl-nucleotide',
-      'spc' => 'chemical/x-galactic-spc',
-      'inp|gam|gamin' => 'chemical/x-gamess-input',
-      'fch|fchk' => 'chemical/x-gaussian-checkpoint',
-      'cub' => 'chemical/x-gaussian-cube',
-      'gau|gjc|gjf' => 'chemical/x-gaussian-input',
-      'gal' => 'chemical/x-gaussian-log',
-      'gcg' => 'chemical/x-gcg8-sequence',
-      'gen' => 'chemical/x-genbank',
-      'hin' => 'chemical/x-hin',
-      'istr|ist' => 'chemical/x-isostar',
-      'jdx|dx' => 'chemical/x-jcamp-dx',
-      'kin' => 'chemical/x-kinemage',
-      'mcm' => 'chemical/x-macmolecule',
-      'mmd|mmod' => 'chemical/x-macromodel-input',
-      'mol' => 'chemical/x-mdl-molfile',
-      'rd' => 'chemical/x-mdl-rdfile',
-      'rxn' => 'chemical/x-mdl-rxnfile',
-      'sd|sdf' => 'chemical/x-mdl-sdfile',
-      'tgf' => 'chemical/x-mdl-tgf',
-      'mcif' => 'chemical/x-mmcif',
-      'mol2' => 'chemical/x-mol2',
-      'b' => 'chemical/x-molconn-Z',
-      'gpt' => 'chemical/x-mopac-graph',
-      'mop|mopcrt|mpc|dat|zmt' => 'chemical/x-mopac-input',
-      'moo' => 'chemical/x-mopac-out',
-      'mvb' => 'chemical/x-mopac-vib',
-      'asn' => 'chemical/x-ncbi-asn1-spec',
-      'prt|ent' => 'chemical/x-ncbi-asn1-ascii',
-      'val|aso' => 'chemical/x-ncbi-asn1-binary',
-      'pdb|ent' => 'chemical/x-pdb',
-      'ros' => 'chemical/x-rosdal',
-      'sw' => 'chemical/x-swissprot',
-      'vms' => 'chemical/x-vamas-iso14976',
-      'vmd' => 'chemical/x-vmd',
-      'xtel' => 'chemical/x-xtel',
-      'xyz' => 'chemical/x-xyz',
-      'gif' => 'image/gif',
-      'ief' => 'image/ief',
-      'jpeg|jpg|jpe' => 'image/jpeg',
-      'pcx' => 'image/pcx',
-      'png' => 'image/png',
-      'svg|svgz' => 'image/svg+xml',
-      'tiff|tif' => 'image/tiff',
-      'djvu|djv' => 'image/vnd.djvu',
-      'wbmp' => 'image/vnd.wap.wbmp',
-      'ras' => 'image/x-cmu-raster',
-      'cdr' => 'image/x-coreldraw',
-      'pat' => 'image/x-coreldrawpattern',
-      'cdt' => 'image/x-coreldrawtemplate',
-      'ico' => 'image/x-icon',
-      'art' => 'image/x-jg',
-      'jng' => 'image/x-jng',
-      'bmp' => 'image/x-ms-bmp',
-      'psd' => 'image/x-photoshop',
-      'pnm' => 'image/x-portable-anymap',
-      'pbm' => 'image/x-portable-bitmap',
-      'pgm' => 'image/x-portable-graymap',
-      'ppm' => 'image/x-portable-pixmap',
-      'rgb' => 'image/x-rgb',
-      'xbm' => 'image/x-xbitmap',
-      'xpm' => 'image/x-xpixmap',
-      'xwd' => 'image/x-xwindowdump',
-      'eml' => 'message/rfc822',
-      'igs|iges' => 'model/iges',
-      'msh|mesh|silo' => 'model/mesh',
-      'wrl|vrml' => 'model/vrml',
-      'ics|icz' => 'text/calendar',
-      'css' => 'text/css',
-      'csv' => 'text/csv',
-      '323' => 'text/h323',
-      'html|htm|shtml' => 'text/html',
-      'uls' => 'text/iuls',
-      'mml' => 'text/mathml',
-      'asc|txt|text|pot' => 'text/plain',
-      'rtx' => 'text/richtext',
-      'sct|wsc' => 'text/scriptlet',
-      'tm|ts' => 'text/texmacs',
-      'tsv' => 'text/tab-separated-values',
-      'jad' => 'text/vnd.sun.j2me.app-descriptor',
-      'wml' => 'text/vnd.wap.wml',
-      'wmls' => 'text/vnd.wap.wmlscript',
-      'bib' => 'text/x-bibtex',
-      'boo' => 'text/x-boo',
-      'h++|hpp|hxx|hh' => 'text/x-c++hdr',
-      'c++|cpp|cxx|cc' => 'text/x-c++src',
-      'h' => 'text/x-chdr',
-      'htc' => 'text/x-component',
-      'c' => 'text/x-csrc',
-      'd' => 'text/x-dsrc',
-      'diff|patch' => 'text/x-diff',
-      'hs' => 'text/x-haskell',
-      'java' => 'text/x-java',
-      'lhs' => 'text/x-literate-haskell',
-      'moc' => 'text/x-moc',
-      'p|pas' => 'text/x-pascal',
-      'gcd' => 'text/x-pcs-gcd',
-      'pl|pm' => 'text/x-perl',
-      'py' => 'text/x-python',
-      'etx' => 'text/x-setext',
-      'tcl|tk' => 'text/x-tcl',
-      'tex|ltx|sty|cls' => 'text/x-tex',
-      'vcs' => 'text/x-vcalendar',
-      'vcf' => 'text/x-vcard',
-      '3gp' => 'video/3gpp',
-      'dl' => 'video/dl',
-      'dif|dv' => 'video/dv',
-      'fli' => 'video/fli',
-      'gl' => 'video/gl',
-      'mpeg|mpg|mpe' => 'video/mpeg',
-      'mp4' => 'video/mp4',
-      'ogv' => 'video/ogg',
-      'qt|mov' => 'video/quicktime',
-      'mxu' => 'video/vnd.mpegurl',
-      'lsf|lsx' => 'video/x-la-asf',
-      'mng' => 'video/x-mng',
-      'asf|asx' => 'video/x-ms-asf',
-      'wm' => 'video/x-ms-wm',
-      'wmv' => 'video/x-ms-wmv',
-      'wmx' => 'video/x-ms-wmx',
-      'wvx' => 'video/x-ms-wvx',
-      'avi' => 'video/x-msvideo',
-      'movie' => 'video/x-sgi-movie',
-      'ice' => 'x-conference/x-cooltalk',
-      'sisx' => 'x-epoc/x-sisx-app',
-      'vrm|vrml|wrl' => 'x-world/x-vrml',
-      'xps' => 'application/vnd.ms-xpsdocument',
-    ));
+    $mapping = variable_get('mime_extension_mapping', file_mime_extension_mapping());
   }
   foreach ($mapping as $ext_preg => $mime_match) {
     if (preg_match('!\.('. $ext_preg .')$!i', $filename)) {
@@ -1755,5 +1408,359 @@ function file_get_mimetype($filename, $m
 }
 
 /**
+ * Provide a default array of extension to media type mappings.
+ */
+function file_mime_extension_mapping() {
+  return array(
+    'ez' => 'application/andrew-inset',
+    'atom' => 'application/atom',
+    'atomcat' => 'application/atomcat+xml',
+    'atomsrv' => 'application/atomserv+xml',
+    'cap|pcap' => 'application/cap',
+    'cu' => 'application/cu-seeme',
+    'tsp' => 'application/dsptype',
+    'spl' => 'application/x-futuresplash',
+    'hta' => 'application/hta',
+    'jar' => 'application/java-archive',
+    'ser' => 'application/java-serialized-object',
+    'class' => 'application/java-vm',
+    'hqx' => 'application/mac-binhex40',
+    'cpt' => 'image/x-corelphotopaint',
+    'nb' => 'application/mathematica',
+    'mdb' => 'application/msaccess',
+    'doc|dot' => 'application/msword',
+    'bin' => 'application/octet-stream',
+    'oda' => 'application/oda',
+    'ogg|ogx' => 'application/ogg',
+    'pdf' => 'application/pdf',
+    'key' => 'application/pgp-keys',
+    'pgp' => 'application/pgp-signature',
+    'prf' => 'application/pics-rules',
+    'ps|ai|eps' => 'application/postscript',
+    'rar' => 'application/rar',
+    'rdf' => 'application/rdf+xml',
+    'rss' => 'application/rss+xml',
+    'rtf' => 'application/rtf',
+    'smi|smil' => 'application/smil',
+    'wpd' => 'application/wordperfect',
+    'wp5' => 'application/wordperfect5.1',
+    'xhtml|xht' => 'application/xhtml+xml',
+    'xml|xsl' => 'application/xml',
+    'zip' => 'application/zip',
+    'cdy' => 'application/vnd.cinderella',
+    'kml' => 'application/vnd.google-earth.kml+xml',
+    'kmz' => 'application/vnd.google-earth.kmz',
+    'xul' => 'application/vnd.mozilla.xul+xml',
+    'xls|xlb|xlt' => 'application/vnd.ms-excel',
+    'cat' => 'application/vnd.ms-pki.seccat',
+    'stl' => 'application/vnd.ms-pki.stl',
+    'ppt|pps' => 'application/vnd.ms-powerpoint',
+    'odc' => 'application/vnd.oasis.opendocument.chart',
+    'odb' => 'application/vnd.oasis.opendocument.database',
+    'odf' => 'application/vnd.oasis.opendocument.formula',
+    'odg' => 'application/vnd.oasis.opendocument.graphics',
+    'otg' => 'application/vnd.oasis.opendocument.graphics-template',
+    'odi' => 'application/vnd.oasis.opendocument.image',
+    'odp' => 'application/vnd.oasis.opendocument.presentation',
+    'otp' => 'application/vnd.oasis.opendocument.presentation-template',
+    'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
+    'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
+    'odt' => 'application/vnd.oasis.opendocument.text',
+    'odm' => 'application/vnd.oasis.opendocument.text-master',
+    'ott' => 'application/vnd.oasis.opendocument.text-template',
+    'oth' => 'application/vnd.oasis.opendocument.text-web',
+    'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
+    'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+    'dotm' => 'application/vnd.ms-word.template.macroEnabled.12',
+    'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
+    'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
+    'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
+    'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
+    'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
+    'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
+    'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
+    'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
+    'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
+    'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
+    'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
+    'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+    'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
+    'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
+    'cod' => 'application/vnd.rim.cod',
+    'mmf' => 'application/vnd.smaf',
+    'sdc' => 'application/vnd.stardivision.calc',
+    'sds' => 'application/vnd.stardivision.chart',
+    'sda' => 'application/vnd.stardivision.draw',
+    'sdd' => 'application/vnd.stardivision.impress',
+    'sdf' => 'application/vnd.stardivision.math',
+    'sdw' => 'application/vnd.stardivision.writer',
+    'sgl' => 'application/vnd.stardivision.writer-global',
+    'sxc' => 'application/vnd.sun.xml.calc',
+    'stc' => 'application/vnd.sun.xml.calc.template',
+    'sxd' => 'application/vnd.sun.xml.draw',
+    'std' => 'application/vnd.sun.xml.draw.template',
+    'sxi' => 'application/vnd.sun.xml.impress',
+    'sti' => 'application/vnd.sun.xml.impress.template',
+    'sxm' => 'application/vnd.sun.xml.math',
+    'sxw' => 'application/vnd.sun.xml.writer',
+    'sxg' => 'application/vnd.sun.xml.writer.global',
+    'stw' => 'application/vnd.sun.xml.writer.template',
+    'sis' => 'application/vnd.symbian.install',
+    'vsd' => 'application/vnd.visio',
+    'wbxml' => 'application/vnd.wap.wbxml',
+    'wmlc' => 'application/vnd.wap.wmlc',
+    'wmlsc' => 'application/vnd.wap.wmlscriptc',
+    'wk' => 'application/x-123',
+    '7z' => 'application/x-7z-compressed',
+    'abw' => 'application/x-abiword',
+    'dmg' => 'application/x-apple-diskimage',
+    'bcpio' => 'application/x-bcpio',
+    'torrent' => 'application/x-bittorrent',
+    'cab' => 'application/x-cab',
+    'cbr' => 'application/x-cbr',
+    'cbz' => 'application/x-cbz',
+    'cdf' => 'application/x-cdf',
+    'vcd' => 'application/x-cdlink',
+    'pgn' => 'application/x-chess-pgn',
+    'cpio' => 'application/x-cpio',
+    'csh' => 'text/x-csh',
+    'deb|udeb' => 'application/x-debian-package',
+    'dcr|dir|dxr' => 'application/x-director',
+    'dms' => 'application/x-dms',
+    'wad' => 'application/x-doom',
+    'dvi' => 'application/x-dvi',
+    'rhtml' => 'application/x-httpd-eruby',
+    'flac' => 'application/x-flac',
+    'pfa|pfb|gsf|pcf|pcf.Z' => 'application/x-font',
+    'mm' => 'application/x-freemind',
+    'gnumeric' => 'application/x-gnumeric',
+    'sgf' => 'application/x-go-sgf',
+    'gcf' => 'application/x-graphing-calculator',
+    'gtar|tgz|taz' => 'application/x-gtar',
+    'hdf' => 'application/x-hdf',
+    'phtml|pht|php' => 'application/x-httpd-php',
+    'phps' => 'application/x-httpd-php-source',
+    'php3' => 'application/x-httpd-php3',
+    'php3p' => 'application/x-httpd-php3-preprocessed',
+    'php4' => 'application/x-httpd-php4',
+    'ica' => 'application/x-ica',
+    'ins|isp' => 'application/x-internet-signup',
+    'iii' => 'application/x-iphone',
+    'iso' => 'application/x-iso9660-image',
+    'jnlp' => 'application/x-java-jnlp-file',
+    'js' => 'application/x-javascript',
+    'jmz' => 'application/x-jmol',
+    'chrt' => 'application/x-kchart',
+    'kil' => 'application/x-killustrator',
+    'skp|skd|skt|skm' => 'application/x-koan',
+    'kpr|kpt' => 'application/x-kpresenter',
+    'ksp' => 'application/x-kspread',
+    'kwd|kwt' => 'application/x-kword',
+    'latex' => 'application/x-latex',
+    'lha' => 'application/x-lha',
+    'lyx' => 'application/x-lyx',
+    'lzh' => 'application/x-lzh',
+    'lzx' => 'application/x-lzx',
+    'frm|maker|frame|fm|fb|book|fbdoc' => 'application/x-maker',
+    'mif' => 'application/x-mif',
+    'wmd' => 'application/x-ms-wmd',
+    'wmz' => 'application/x-ms-wmz',
+    'com|exe|bat|dll' => 'application/x-msdos-program',
+    'msi' => 'application/x-msi',
+    'nc' => 'application/x-netcdf',
+    'pac' => 'application/x-ns-proxy-autoconfig',
+    'nwc' => 'application/x-nwc',
+    'o' => 'application/x-object',
+    'oza' => 'application/x-oz-application',
+    'p7r' => 'application/x-pkcs7-certreqresp',
+    'crl' => 'application/x-pkcs7-crl',
+    'pyc|pyo' => 'application/x-python-code',
+    'qtl' => 'application/x-quicktimeplayer',
+    'rpm' => 'application/x-redhat-package-manager',
+    'sh' => 'text/x-sh',
+    'shar' => 'application/x-shar',
+    'swf|swfl' => 'application/x-shockwave-flash',
+    'sit|sitx' => 'application/x-stuffit',
+    'sv4cpio' => 'application/x-sv4cpio',
+    'sv4crc' => 'application/x-sv4crc',
+    'tar' => 'application/x-tar',
+    'tcl' => 'application/x-tcl',
+    'gf' => 'application/x-tex-gf',
+    'pk' => 'application/x-tex-pk',
+    'texinfo|texi' => 'application/x-texinfo',
+    '~|%|bak|old|sik' => 'application/x-trash',
+    't|tr|roff' => 'application/x-troff',
+    'man' => 'application/x-troff-man',
+    'me' => 'application/x-troff-me',
+    'ms' => 'application/x-troff-ms',
+    'ustar' => 'application/x-ustar',
+    'src' => 'application/x-wais-source',
+    'wz' => 'application/x-wingz',
+    'crt' => 'application/x-x509-ca-cert',
+    'xcf' => 'application/x-xcf',
+    'fig' => 'application/x-xfig',
+    'xpi' => 'application/x-xpinstall',
+    'au|snd' => 'audio/basic',
+    'mid|midi|kar' => 'audio/midi',
+    'mpga|mpega|mp2|mp3|m4a' => 'audio/mpeg',
+    'm3u' => 'audio/x-mpegurl',
+    'oga|spx' => 'audio/ogg',
+    'sid' => 'audio/prs.sid',
+    'aif|aiff|aifc' => 'audio/x-aiff',
+    'gsm' => 'audio/x-gsm',
+    'wma' => 'audio/x-ms-wma',
+    'wax' => 'audio/x-ms-wax',
+    'ra|rm|ram' => 'audio/x-pn-realaudio',
+    'ra' => 'audio/x-realaudio',
+    'pls' => 'audio/x-scpls',
+    'sd2' => 'audio/x-sd2',
+    'wav' => 'audio/x-wav',
+    'alc' => 'chemical/x-alchemy',
+    'cac|cache' => 'chemical/x-cache',
+    'csf' => 'chemical/x-cache-csf',
+    'cbin|cascii|ctab' => 'chemical/x-cactvs-binary',
+    'cdx' => 'chemical/x-cdx',
+    'cer' => 'chemical/x-cerius',
+    'c3d' => 'chemical/x-chem3d',
+    'chm' => 'chemical/x-chemdraw',
+    'cif' => 'chemical/x-cif',
+    'cmdf' => 'chemical/x-cmdf',
+    'cml' => 'chemical/x-cml',
+    'cpa' => 'chemical/x-compass',
+    'bsd' => 'chemical/x-crossfire',
+    'csml|csm' => 'chemical/x-csml',
+    'ctx' => 'chemical/x-ctx',
+    'cxf|cef' => 'chemical/x-cxf',
+    'emb|embl' => 'chemical/x-embl-dl-nucleotide',
+    'spc' => 'chemical/x-galactic-spc',
+    'inp|gam|gamin' => 'chemical/x-gamess-input',
+    'fch|fchk' => 'chemical/x-gaussian-checkpoint',
+    'cub' => 'chemical/x-gaussian-cube',
+    'gau|gjc|gjf' => 'chemical/x-gaussian-input',
+    'gal' => 'chemical/x-gaussian-log',
+    'gcg' => 'chemical/x-gcg8-sequence',
+    'gen' => 'chemical/x-genbank',
+    'hin' => 'chemical/x-hin',
+    'istr|ist' => 'chemical/x-isostar',
+    'jdx|dx' => 'chemical/x-jcamp-dx',
+    'kin' => 'chemical/x-kinemage',
+    'mcm' => 'chemical/x-macmolecule',
+    'mmd|mmod' => 'chemical/x-macromodel-input',
+    'mol' => 'chemical/x-mdl-molfile',
+    'rd' => 'chemical/x-mdl-rdfile',
+    'rxn' => 'chemical/x-mdl-rxnfile',
+    'sd|sdf' => 'chemical/x-mdl-sdfile',
+    'tgf' => 'chemical/x-mdl-tgf',
+    'mcif' => 'chemical/x-mmcif',
+    'mol2' => 'chemical/x-mol2',
+    'b' => 'chemical/x-molconn-Z',
+    'gpt' => 'chemical/x-mopac-graph',
+    'mop|mopcrt|mpc|dat|zmt' => 'chemical/x-mopac-input',
+    'moo' => 'chemical/x-mopac-out',
+    'mvb' => 'chemical/x-mopac-vib',
+    'asn' => 'chemical/x-ncbi-asn1-spec',
+    'prt|ent' => 'chemical/x-ncbi-asn1-ascii',
+    'val|aso' => 'chemical/x-ncbi-asn1-binary',
+    'pdb|ent' => 'chemical/x-pdb',
+    'ros' => 'chemical/x-rosdal',
+    'sw' => 'chemical/x-swissprot',
+    'vms' => 'chemical/x-vamas-iso14976',
+    'vmd' => 'chemical/x-vmd',
+    'xtel' => 'chemical/x-xtel',
+    'xyz' => 'chemical/x-xyz',
+    'gif' => 'image/gif',
+    'ief' => 'image/ief',
+    'jpeg|jpg|jpe' => 'image/jpeg',
+    'pcx' => 'image/pcx',
+    'png' => 'image/png',
+    'svg|svgz' => 'image/svg+xml',
+    'tiff|tif' => 'image/tiff',
+    'djvu|djv' => 'image/vnd.djvu',
+    'wbmp' => 'image/vnd.wap.wbmp',
+    'ras' => 'image/x-cmu-raster',
+    'cdr' => 'image/x-coreldraw',
+    'pat' => 'image/x-coreldrawpattern',
+    'cdt' => 'image/x-coreldrawtemplate',
+    'ico' => 'image/x-icon',
+    'art' => 'image/x-jg',
+    'jng' => 'image/x-jng',
+    'bmp' => 'image/x-ms-bmp',
+    'psd' => 'image/x-photoshop',
+    'pnm' => 'image/x-portable-anymap',
+    'pbm' => 'image/x-portable-bitmap',
+    'pgm' => 'image/x-portable-graymap',
+    'ppm' => 'image/x-portable-pixmap',
+    'rgb' => 'image/x-rgb',
+    'xbm' => 'image/x-xbitmap',
+    'xpm' => 'image/x-xpixmap',
+    'xwd' => 'image/x-xwindowdump',
+    'eml' => 'message/rfc822',
+    'igs|iges' => 'model/iges',
+    'msh|mesh|silo' => 'model/mesh',
+    'wrl|vrml' => 'model/vrml',
+    'ics|icz' => 'text/calendar',
+    'css' => 'text/css',
+    'csv' => 'text/csv',
+    '323' => 'text/h323',
+    'html|htm|shtml' => 'text/html',
+    'uls' => 'text/iuls',
+    'mml' => 'text/mathml',
+    'asc|txt|text|pot' => 'text/plain',
+    'rtx' => 'text/richtext',
+    'sct|wsc' => 'text/scriptlet',
+    'tm|ts' => 'text/texmacs',
+    'tsv' => 'text/tab-separated-values',
+    'jad' => 'text/vnd.sun.j2me.app-descriptor',
+    'wml' => 'text/vnd.wap.wml',
+    'wmls' => 'text/vnd.wap.wmlscript',
+    'bib' => 'text/x-bibtex',
+    'boo' => 'text/x-boo',
+    'h++|hpp|hxx|hh' => 'text/x-c++hdr',
+    'c++|cpp|cxx|cc' => 'text/x-c++src',
+    'h' => 'text/x-chdr',
+    'htc' => 'text/x-component',
+    'c' => 'text/x-csrc',
+    'd' => 'text/x-dsrc',
+    'diff|patch' => 'text/x-diff',
+    'hs' => 'text/x-haskell',
+    'java' => 'text/x-java',
+    'lhs' => 'text/x-literate-haskell',
+    'moc' => 'text/x-moc',
+    'p|pas' => 'text/x-pascal',
+    'gcd' => 'text/x-pcs-gcd',
+    'pl|pm' => 'text/x-perl',
+    'py' => 'text/x-python',
+    'etx' => 'text/x-setext',
+    'tcl|tk' => 'text/x-tcl',
+    'tex|ltx|sty|cls' => 'text/x-tex',
+    'vcs' => 'text/x-vcalendar',
+    'vcf' => 'text/x-vcard',
+    '3gp' => 'video/3gpp',
+    'dl' => 'video/dl',
+    'dif|dv' => 'video/dv',
+    'fli' => 'video/fli',
+    'gl' => 'video/gl',
+    'mpeg|mpg|mpe' => 'video/mpeg',
+    'mp4' => 'video/mp4',
+    'ogv' => 'video/ogg',
+    'qt|mov' => 'video/quicktime',
+    'mxu' => 'video/vnd.mpegurl',
+    'lsf|lsx' => 'video/x-la-asf',
+    'mng' => 'video/x-mng',
+    'asf|asx' => 'video/x-ms-asf',
+    'wm' => 'video/x-ms-wm',
+    'wmv' => 'video/x-ms-wmv',
+    'wmx' => 'video/x-ms-wmx',
+    'wvx' => 'video/x-ms-wvx',
+    'avi' => 'video/x-msvideo',
+    'movie' => 'video/x-sgi-movie',
+    'ice' => 'x-conference/x-cooltalk',
+    'sisx' => 'x-epoc/x-sisx-app',
+    'vrm|vrml|wrl' => 'x-world/x-vrml',
+    'xps' => 'application/vnd.ms-xpsdocument',
+  );
+}
+
+/**
  * @} End of "defgroup file".
  */
Index: modules/simpletest/tests/file.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/file.test,v
retrieving revision 1.10
diff -u -p -r1.10 file.test
--- modules/simpletest/tests/file.test	8 Nov 2008 21:49:47 -0000	1.10
+++ modules/simpletest/tests/file.test	9 Nov 2008 02:05:28 -0000
@@ -369,7 +369,8 @@ class FileSaveUploadTest extends FileHoo
 
     $max_fid_after = db_result(db_query('SELECT MAX(fid) AS fid FROM {files}'));
     $this->assertTrue($max_fid_after > $max_fid_before, t('A new file was created.'));
-    $this->assertTrue(file_load($max_fid_after), t('Loaded the file.'));
+    $this->assertTrue($file = file_load($max_fid_after), t('Loaded the file.'));
+    $this->assertEqual('image/png', $file->filemime, t('The MIME type was set to %filemime.', array('%filemime' => 'image/png')));
   }
 }
 
@@ -1094,7 +1095,7 @@ class FileSaveDataTest extends FileHookT
     $this->assertTrue($file, t("Unnamed file saved correctly."));
     $this->assertEqual(file_directory_path(), dirname($file->filepath), t("File was placed in Drupal's files directory."));
     $this->assertEqual($contents, file_get_contents(realpath($file->filepath)), t("Contents of the file are correct."));
-    $this->assertEqual($file->filemime, 'application/octet-stream', t("A MIME type was set."));
+    $this->assertEqual($file->filemime, 'application/octet-stream', t('The MIME type was set to %filemime.', array('%filemime' => 'application/octet-stream')));
     $this->assertEqual($file->status, FILE_STATUS_PERMANENT, t("The file's status was set to permanent."));
 
     // Try loading the file.
@@ -1107,9 +1108,10 @@ class FileSaveDataTest extends FileHookT
     $this->assertEqual(file_directory_path(), dirname($file->filepath), t("File was placed in Drupal's files directory."));
     $this->assertEqual('asdf.txt', basename($file->filepath), t("File was named correctly."));
     $this->assertEqual($contents, file_get_contents(realpath($file->filepath)), t("Contents of the file are correct."));
+    $this->assertEqual('text/plain', $file->filemime, t('The MIME type was set to %filemime.', array('%filemime' => 'text/plain')));
 
     // Check the overwrite error.
     $file = file_save_data($contents, 'asdf.txt', FILE_EXISTS_ERROR);
     $this->assertFalse($file, t("Overwriting a file fails when FILE_EXISTS_ERROR is specified."));
   }
-}
\ No newline at end of file
+}
Index: modules/upload/upload.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/upload/upload.test,v
retrieving revision 1.7
diff -u -p -r1.7 upload.test
--- modules/upload/upload.test	13 Oct 2008 12:43:30 -0000	1.7
+++ modules/upload/upload.test	9 Nov 2008 02:05:28 -0000
@@ -54,6 +54,12 @@ class UploadTestCase extends DrupalWebTe
     $this->checkUploadedFile(basename($files[0]));
     $this->checkUploadedFile(basename($files[1]));
 
+    // Check MIME type of uploaded files.
+    foreach ($files as $file) {
+      $this->drupalHead('system/files/' . basename($file));
+      $this->assertText('Content-Type: text/plain', t('The MIME type was set to %filemime.', array('%filemime' => 'text/plain')));
+    }
+
     // Fetch db record and use fid to rename and delete file.
     $upload = db_fetch_object(db_query('SELECT fid, description FROM {upload} WHERE nid = %d', array($node->nid)));
     if ($upload) {
