diff options
author | Anthony Green <green@gcc.gnu.org> | 2000-02-21 05:54:29 +0000 |
---|---|---|
committer | Anthony Green <green@gcc.gnu.org> | 2000-02-21 05:54:29 +0000 |
commit | 06440a12a2aba035710fe478b88f6224d77b5815 (patch) | |
tree | 5348c0d2f6947295be47163fd566b9b5264a8749 /libjava | |
parent | 38b3a2c089296350450e5dc0db2c279529fa6909 (diff) | |
download | gcc-06440a12a2aba035710fe478b88f6224d77b5815.zip gcc-06440a12a2aba035710fe478b88f6224d77b5815.tar.gz gcc-06440a12a2aba035710fe478b88f6224d77b5815.tar.bz2 |
Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Add
gnu/gcj/io/DefaultMimeTypes.java and gnu/gcj/io/MimeTypes.java
* scripts/MakeDefaultMimeTypes.java: New file.
* scripts/mime.types: New file.
* scripts/classes.pl: Moved from top level.
* classes.pl: Moved to scripts directory.
* java/net/URLConnection.java: Implement guessContentTypeFromName.
* gnu/gcj/io/MimeTypes.java: New file.
* gnu/gcj/io/DefaultMimeTypes.java: New file.
From-SVN: r32086
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/Makefile.am | 2 | ||||
-rw-r--r-- | libjava/Makefile.in | 72 | ||||
-rw-r--r-- | libjava/gnu/gcj/io/DefaultMimeTypes.java | 139 | ||||
-rw-r--r-- | libjava/gnu/gcj/io/MimeTypes.java | 86 | ||||
-rw-r--r-- | libjava/java/net/URLConnection.java | 25 | ||||
-rw-r--r-- | libjava/scripts/MakeDefaultMimeTypes.java | 93 | ||||
-rw-r--r-- | libjava/scripts/classes.pl (renamed from libjava/classes.pl) | 0 | ||||
-rw-r--r-- | libjava/scripts/mime.types | 276 |
8 files changed, 639 insertions, 54 deletions
diff --git a/libjava/Makefile.am b/libjava/Makefile.am index c22a2c8..3fa4841 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -522,6 +522,8 @@ built_java_source_files = java/lang/ConcreteProcess.java ## convert_source_files. If the .java file has a hand-maintained ## header, please list it in special_java_source_files. ordinary_java_source_files = $(convert_source_files) \ +gnu/gcj/io/DefaultMimeTypes.java \ +gnu/gcj/io/MimeTypes.java \ gnu/gcj/jni/NativeThread.java \ gnu/gcj/runtime/MethodInvocation.java \ gnu/gcj/runtime/VMClassLoader.java \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index dada6e9..0185881 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -326,6 +326,8 @@ java/awt/peer/WindowPeer.java built_java_source_files = java/lang/ConcreteProcess.java ordinary_java_source_files = $(convert_source_files) \ +gnu/gcj/io/DefaultMimeTypes.java \ +gnu/gcj/io/MimeTypes.java \ gnu/gcj/jni/NativeThread.java \ gnu/gcj/runtime/MethodInvocation.java \ gnu/gcj/runtime/VMClassLoader.java \ @@ -732,13 +734,12 @@ LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ DATA = $(data_DATA) $(toolexeclib_DATA) DIST_COMMON = README COPYING.LIB ChangeLog Makefile.am Makefile.in NEWS \ -THANKS acconfig.h acinclude.m4 aclocal.m4 configure configure.in \ -include/config.h.in include/stamp-h.in libgcj.spec.in +THANKS acinclude.m4 aclocal.m4 configure configure.in libgcj.spec.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best DIST_SUBDIRS = @DIRLTDL@ testsuite gcj include @DIRLTDL@ gcj include DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \ @@ -755,8 +756,10 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \ .deps/gnu/gcj/convert/Output_JavaSrc.P \ .deps/gnu/gcj/convert/Output_SJIS.P .deps/gnu/gcj/convert/Output_UTF8.P \ .deps/gnu/gcj/convert/Output_iconv.P \ -.deps/gnu/gcj/convert/UnicodeToBytes.P .deps/gnu/gcj/jni/NativeThread.P \ -.deps/gnu/gcj/math/MPN.P .deps/gnu/gcj/protocol/file/Connection.P \ +.deps/gnu/gcj/convert/UnicodeToBytes.P \ +.deps/gnu/gcj/io/DefaultMimeTypes.P .deps/gnu/gcj/io/MimeTypes.P \ +.deps/gnu/gcj/jni/NativeThread.P .deps/gnu/gcj/math/MPN.P \ +.deps/gnu/gcj/protocol/file/Connection.P \ .deps/gnu/gcj/protocol/file/Handler.P \ .deps/gnu/gcj/protocol/http/Connection.P \ .deps/gnu/gcj/protocol/http/Handler.P \ @@ -958,34 +961,6 @@ config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) - -include/config.h: include/stamp-h - @if test ! -f $@; then \ - rm -f include/stamp-h; \ - $(MAKE) include/stamp-h; \ - else :; fi -include/stamp-h: $(srcdir)/include/config.h.in $(top_builddir)/config.status - cd $(top_builddir) \ - && CONFIG_FILES= CONFIG_HEADERS=include/config.h \ - $(SHELL) ./config.status - @echo timestamp > include/stamp-h 2> /dev/null -$(srcdir)/include/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/include/stamp-h.in - @if test ! -f $@; then \ - rm -f $(srcdir)/include/stamp-h.in; \ - $(MAKE) $(srcdir)/include/stamp-h.in; \ - else :; fi -$(srcdir)/include/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h - cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/include/stamp-h.in 2> /dev/null - -mostlyclean-hdr: - -clean-hdr: - -distclean-hdr: - -rm -f include/config.h - -maintainer-clean-hdr: libgcj.spec: $(top_builddir)/config.status libgcj.spec.in cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status @@ -1309,7 +1284,7 @@ distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ @@ -1424,33 +1399,31 @@ distclean-generic: -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: -mostlyclean-am: mostlyclean-hdr mostlyclean-toolexeclibLIBRARIES \ - mostlyclean-compile mostlyclean-libtool \ - mostlyclean-toolexeclibLTLIBRARIES \ +mostlyclean-am: mostlyclean-toolexeclibLIBRARIES mostlyclean-compile \ + mostlyclean-libtool mostlyclean-toolexeclibLTLIBRARIES \ mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \ mostlyclean-tags mostlyclean-depend mostlyclean-generic mostlyclean: mostlyclean-recursive -clean-am: clean-hdr clean-toolexeclibLIBRARIES clean-compile \ - clean-libtool clean-toolexeclibLTLIBRARIES \ - clean-binPROGRAMS clean-noinstPROGRAMS clean-tags \ - clean-depend clean-generic mostlyclean-am clean-local +clean-am: clean-toolexeclibLIBRARIES clean-compile clean-libtool \ + clean-toolexeclibLTLIBRARIES clean-binPROGRAMS \ + clean-noinstPROGRAMS clean-tags clean-depend \ + clean-generic mostlyclean-am clean-local clean: clean-recursive -distclean-am: distclean-hdr distclean-toolexeclibLIBRARIES \ - distclean-compile distclean-libtool \ - distclean-toolexeclibLTLIBRARIES distclean-binPROGRAMS \ - distclean-noinstPROGRAMS distclean-tags \ - distclean-depend distclean-generic clean-am +distclean-am: distclean-toolexeclibLIBRARIES distclean-compile \ + distclean-libtool distclean-toolexeclibLTLIBRARIES \ + distclean-binPROGRAMS distclean-noinstPROGRAMS \ + distclean-tags distclean-depend distclean-generic \ + clean-am -rm -f libtool distclean: distclean-recursive -rm -f config.status -maintainer-clean-am: maintainer-clean-hdr \ - maintainer-clean-toolexeclibLIBRARIES \ +maintainer-clean-am: maintainer-clean-toolexeclibLIBRARIES \ maintainer-clean-compile maintainer-clean-libtool \ maintainer-clean-toolexeclibLTLIBRARIES \ maintainer-clean-binPROGRAMS \ @@ -1463,8 +1436,7 @@ maintainer-clean-am: maintainer-clean-hdr \ maintainer-clean: maintainer-clean-recursive -rm -f config.status -.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ -mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \ +.PHONY: mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \ clean-toolexeclibLIBRARIES maintainer-clean-toolexeclibLIBRARIES \ uninstall-toolexeclibLIBRARIES install-toolexeclibLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ diff --git a/libjava/gnu/gcj/io/DefaultMimeTypes.java b/libjava/gnu/gcj/io/DefaultMimeTypes.java new file mode 100644 index 0000000..e25fe88 --- /dev/null +++ b/libjava/gnu/gcj/io/DefaultMimeTypes.java @@ -0,0 +1,139 @@ +// Do not edit this file! Create a new version with MakeDefaultMimeTypes. + +/* Copyright (C) 2000 Red Hat, Inc. + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +package gnu.gcj.io; + +public class DefaultMimeTypes +{ + public static final String[] types = { + "midi", "audio/midi" + , "sit", "application/x-stuffit" + , "ram", "audio/x-pn-realaudio" + , "ez", "application/andrew-inset" + , "jpeg", "image/jpeg" + , "sv4crc", "application/x-sv4crc" + , "sv4cpio", "application/x-sv4cpio" + , "txt", "text/plain" + , "spl", "application/x-futuresplash" + , "ras", "image/x-cmu-raster" + , "sh", "application/x-sh" + , "dcr", "application/x-director" + , "msh", "model/mesh" + , "swf", "application/x-shockwave-flash" + , "hdf", "application/x-hdf" + , "bcpio", "application/x-bcpio" + , "zip", "application/zip" + , "gif", "image/gif" + , "me", "application/x-troff-me" + , "gtar", "application/x-gtar" + , "tex", "application/x-tex" + , "xyz", "chemical/x-pdb" + , "hqx", "application/mac-binhex40" + , "ms", "application/x-troff-ms" + , "oda", "application/oda" + , "vcd", "application/x-cdlink" + , "aifc", "audio/x-aiff" + , "skd", "application/x-koan" + , "smil", "application/smil" + , "asc", "text/plain" + , "aiff", "audio/x-aiff" + , "xml", "text/xml" + , "tr", "application/x-troff" + , "nc", "application/x-netcdf" + , "dxr", "application/x-director" + , "skm", "application/x-koan" + , "wrl", "model/vrml" + , "tsv", "text/tab-separated-values" + , "mpeg", "video/mpeg" + , "skp", "application/x-koan" + , "src", "application/x-wais-source" + , "rpm", "application/x-rpm" + , "skt", "application/x-koan" + , "ai", "application/postscript" + , "cpt", "application/mac-compactpro" + , "mp2", "audio/mpeg" + , "man", "application/x-troff-man" + , "mp3", "audio/mpeg" + , "mesh", "model/mesh" + , "igs", "model/iges" + , "shar", "application/x-shar" + , "au", "audio/basic" + , "texi", "application/x-texinfo" + , "cpio", "application/x-cpio" + , "jpe", "image/jpeg" + , "lzh", "application/octet-stream" + , "jpg", "image/jpeg" + , "cdf", "application/x-netcdf" + , "etx", "text/x-setext" + , "texinfo", "application/x-texinfo" + , "sgml", "text/sgml" + , "roff", "application/x-troff" + , "pgm", "image/x-portable-graymap" + , "pgn", "application/x-chess-pgn" + , "bin", "application/octet-stream" + , "png", "image/png" + , "tar", "application/x-tar" + , "mid", "audio/midi" + , "mov", "video/quicktime" + , "movie", "video/x-sgi-movie" + , "mif", "application/vnd.mif" + , "pnm", "image/x-portable-anymap" + , "mpga", "audio/mpeg" + , "smi", "application/smil" + , "t", "application/x-troff" + , "tiff", "image/tiff" + , "xbm", "image/x-xbitmap" + , "htm", "text/html" + , "mpe", "video/mpeg" + , "dms", "application/octet-stream" + , "mpg", "video/mpeg" + , "lha", "application/octet-stream" + , "latex", "application/x-latex" + , "ps", "application/postscript" + , "sgm", "text/sgml" + , "tif", "image/tiff" + , "ice", "x-conference/x-cooltalk" + , "snd", "audio/basic" + , "html", "text/html" + , "pbm", "image/x-portable-bitmap" + , "xpm", "image/x-xpixmap" + , "iges", "model/iges" + , "aif", "audio/x-aiff" + , "avi", "video/x-msvideo" + , "csh", "application/x-csh" + , "wav", "audio/x-wav" + , "xwd", "image/x-xwindowdump" + , "js", "application/x-javascript" + , "silo", "model/mesh" + , "vrml", "model/vrml" + , "tcl", "application/x-tcl" + , "css", "text/css" + , "eps", "application/postscript" + , "class", "application/octet-stream" + , "qt", "video/quicktime" + , "doc", "application/msword" + , "ustar", "application/x-ustar" + , "ppm", "image/x-portable-pixmap" + , "ppt", "application/vnd.ms-powerpoint" + , "ra", "audio/x-realaudio" + , "rgb", "image/x-rgb" + , "rtf", "text/rtf" + , "kar", "audio/midi" + , "dvi", "application/x-dvi" + , "rm", "audio/x-pn-realaudio" + , "exe", "application/octet-stream" + , "pdb", "chemical/x-pdb" + , "pdf", "application/pdf" + , "rtx", "text/richtext" + , "dir", "application/x-director" + , "ief", "image/ief" + }; +} + diff --git a/libjava/gnu/gcj/io/MimeTypes.java b/libjava/gnu/gcj/io/MimeTypes.java new file mode 100644 index 0000000..36d3eb8 --- /dev/null +++ b/libjava/gnu/gcj/io/MimeTypes.java @@ -0,0 +1,86 @@ +/* Copyright (C) 2000 Red Hat, Inc. + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +package gnu.gcj.io; + +import java.util.*; +import java.io.*; + +public class MimeTypes +{ + private static Hashtable mime_types; + + public static void fillFromFile (Hashtable table, String fname) + throws IOException + { + LineNumberReader reader = + new LineNumberReader (new FileReader (fname)); + + while (reader.ready ()) + { + StringTokenizer tokenizer = + new StringTokenizer (reader.readLine ()); + + try + { + String t = tokenizer.nextToken (); + + if (! t.startsWith ("#")) + { + while (true) + { + // Read the next extension + String e = tokenizer.nextToken (); + if (! e.startsWith ("#")) + table.put (e, t); + else + break; + } + } + } catch (NoSuchElementException ex) { + // Do nothing. + } + } + } + + // This is the primary interface to this class. + public static String getMimeTypeFromExtension (String extension) + { + if (mime_types == null) + { + mime_types = new Hashtable (); + + // First populate the hash table with the default mime type + // mappings. + int i = DefaultMimeTypes.types.length; + while (i > 1) + { + mime_types.put (DefaultMimeTypes.types[i - 2], + DefaultMimeTypes.types[i - 1]); + i = i - 2; + } + + // Now read mime types from /etc/mime.types if it exists. + // This should override the default values. + try { + fillFromFile (mime_types, "/etc/mime.types"); + } catch (IOException ex) { + // Do nothing. + } + + // Now read mime types from ~/.mime.types. + // FIXME: We can't currently parse this file. + } + + String type = (String) mime_types.get (extension); + if (type == null) + return ("application/octet-stream"); + else + return (type); + } +} diff --git a/libjava/java/net/URLConnection.java b/libjava/java/net/URLConnection.java index 79547ee..a9b42e9 100644 --- a/libjava/java/net/URLConnection.java +++ b/libjava/java/net/URLConnection.java @@ -18,6 +18,7 @@ import java.util.Date; import java.util.Locale; import java.util.Hashtable; import java.util.StringTokenizer; +import gnu.gcj.io.MimeTypes; /** * @author Warren Levy <warrenl@cygnus.com> @@ -27,7 +28,7 @@ import java.util.StringTokenizer; /** * Written using on-line Java Platform 1.2 API Specification, as well * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998). - * Status: Two guessContentTypeFrom... methods not implemented. + * Status: One guessContentTypeFrom... methods not implemented. * getContent method assumes content type from response; see comment there. */ @@ -312,9 +313,25 @@ public abstract class URLConnection factory = fac; } -// TODO: protected static String guessContentTypeFromName(String fname) -// { -// } + protected static String guessContentTypeFromName(String fname) + { + int dot = fname.lastIndexOf ("."); + + if (dot != -1) + { + if (dot == fname.length()) + return ("application/octet-stream"); + else + fname = fname.substring (dot + 1); + } + + String type = MimeTypes.getMimeTypeFromExtension (fname); + + if (type == null) + return("application/octet-stream"); + + return(type); + } // TODO: public static String guessContentTypeFromStream(InputStream is) // throws IOException diff --git a/libjava/scripts/MakeDefaultMimeTypes.java b/libjava/scripts/MakeDefaultMimeTypes.java new file mode 100644 index 0000000..a84c4a4 --- /dev/null +++ b/libjava/scripts/MakeDefaultMimeTypes.java @@ -0,0 +1,93 @@ +/* Copyright (C) 2000 Red Hat, Inc. + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +import gnu.gcj.io.MimeTypes; +import java.io.IOException; +import java.io.FileNotFoundException; +import java.util.Hashtable; +import java.util.Enumeration; +import java.util.NoSuchElementException; + +public class MakeDefaultMimeTypes +{ + private static void fatal (String message) + { + System.err.println ("MakeDefaultMimeTypes Error: " + message); + System.exit (-1); + } + + public static void main (String[] args) + { + Hashtable mime_table = new Hashtable (); + + if (args.length != 1) + fatal ("missing mime type filename"); + + try { + MimeTypes.fillFromFile (mime_table, args[0]); + } catch (FileNotFoundException ex) { + fatal ("can't open " + args[0]); + } catch (IOException ex) { + fatal ("error reading " + args[0]); + } + + System.out.println ("// Do not edit this file! Create a new version with MakeDefaultMimeTypes.\ +\ +/* Copyright (C) 2000 Red Hat, Inc.\ +\ + This file is part of libgcj.\ +\ +This software is copyrighted work licensed under the terms of the\ +Libgcj License. Please consult the file \"LIBGCJ_LICENSE\" for\ +details. */\ +\ +package gnu.gcj.io; \ +\ +public class DefaultMimeTypes\ +{\ + public static final String[] types = {"); + + Enumeration keys = mime_table.keys(); + Enumeration values = mime_table.elements(); + + // Prepend first element with open bracket + StringBuffer result = new StringBuffer(""); + + try + { + result.append(" \"" + + keys.nextElement().toString() + + "\",\t\"" + + values.nextElement().toString() + + "\"\n"); + } + catch (NoSuchElementException ex) + { + } + + // Prepend subsequent elements with ", " + try + { + while (true) + result.append(" , \"" + + keys.nextElement().toString() + + "\",\t\"" + + values.nextElement().toString() + + "\"\n"); + } + catch (NoSuchElementException ex) + { + } + + // Append last element with closing bracket + result.append(" };\ +}\ +"); + System.out.println(result); + } +} diff --git a/libjava/classes.pl b/libjava/scripts/classes.pl index 05f9133..05f9133 100644 --- a/libjava/classes.pl +++ b/libjava/scripts/classes.pl diff --git a/libjava/scripts/mime.types b/libjava/scripts/mime.types new file mode 100644 index 0000000..d6819023 --- /dev/null +++ b/libjava/scripts/mime.types @@ -0,0 +1,276 @@ +# This is the default mime.types file from the Apache web server distribution + +# This file controls what Internet media types are sent to the client for +# given file extension(s). Sending the correct media type to the client +# is important so they know how to handle the content of the file. +# Extra types can either be added here or by using an AddType directive +# in your config files. For more information about Internet media types, +# please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type +# registry is at <ftp://ftp.iana.org/in-notes/iana/assignments/media-types/>. + +# MIME type Extension +application/EDI-Consent +application/EDI-X12 +application/EDIFACT +application/activemessage +application/andrew-inset ez +application/applefile +application/atomicmail +application/cals-1840 +application/commonground +application/cybercash +application/dca-rft +application/dec-dx +application/eshop +application/hyperstudio +application/iges +application/mac-binhex40 hqx +application/mac-compactpro cpt +application/macwriteii +application/marc +application/mathematica +application/msword doc +application/news-message-id +application/news-transmission +application/octet-stream bin dms lha lzh exe class +application/oda oda +application/pdf pdf +application/pgp-encrypted +application/pgp-keys +application/pgp-signature +application/pkcs10 +application/pkcs7-mime +application/pkcs7-signature +application/postscript ai eps ps +application/prs.alvestrand.titrax-sheet +application/prs.cww +application/prs.nprend +application/remote-printing +application/riscos +application/rtf rtf +application/set-payment +application/set-payment-initiation +application/set-registration +application/set-registration-initiation +application/sgml +application/sgml-open-catalog +application/slate +application/smil smi smil +application/vemmi +application/vnd.3M.Post-it-Notes +application/vnd.FloGraphIt +application/vnd.acucobol +application/vnd.anser-web-certificate-issue-initiation +application/vnd.anser-web-funds-transfer-initiation +application/vnd.audiograph +application/vnd.businessobjects +application/vnd.claymore +application/vnd.comsocaller +application/vnd.dna +application/vnd.dxr +application/vnd.ecdis-update +application/vnd.ecowin.chart +application/vnd.ecowin.filerequest +application/vnd.ecowin.fileupdate +application/vnd.ecowin.series +application/vnd.ecowin.seriesrequest +application/vnd.ecowin.seriesupdate +application/vnd.enliven +application/vnd.epson.salt +application/vnd.fdf +application/vnd.ffsns +application/vnd.framemaker +application/vnd.fujitsu.oasys +application/vnd.fujitsu.oasys2 +application/vnd.fujitsu.oasys3 +application/vnd.fujitsu.oasysgp +application/vnd.fujitsu.oasysprs +application/vnd.fujixerox.docuworks +application/vnd.hp-HPGL +application/vnd.hp-PCL +application/vnd.hp-PCLXL +application/vnd.hp-hps +application/vnd.ibm.MiniPay +application/vnd.ibm.modcap +application/vnd.intercon.formnet +application/vnd.intertrust.digibox +application/vnd.intertrust.nncp +application/vnd.is-xpr +application/vnd.japannet-directory-service +application/vnd.japannet-jpnstore-wakeup +application/vnd.japannet-payment-wakeup +application/vnd.japannet-registration +application/vnd.japannet-registration-wakeup +application/vnd.japannet-setstore-wakeup +application/vnd.japannet-verification +application/vnd.japannet-verification-wakeup +application/vnd.koan +application/vnd.lotus-1-2-3 +application/vnd.lotus-approach +application/vnd.lotus-freelance +application/vnd.lotus-organizer +application/vnd.lotus-screencam +application/vnd.lotus-wordpro +application/vnd.meridian-slingshot +application/vnd.mif mif +application/vnd.minisoft-hp3000-save +application/vnd.mitsubishi.misty-guard.trustweb +application/vnd.ms-artgalry +application/vnd.ms-asf +application/vnd.ms-excel +application/vnd.ms-powerpoint ppt +application/vnd.ms-project +application/vnd.ms-tnef +application/vnd.ms-works +application/vnd.music-niff +application/vnd.musician +application/vnd.netfpx +application/vnd.noblenet-directory +application/vnd.noblenet-sealer +application/vnd.noblenet-web +application/vnd.novadigm.EDM +application/vnd.novadigm.EDX +application/vnd.novadigm.EXT +application/vnd.osa.netdeploy +application/vnd.powerbuilder6 +application/vnd.powerbuilder6-s +application/vnd.rapid +application/vnd.seemail +application/vnd.shana.informed.formtemplate +application/vnd.shana.informed.interchange +application/vnd.shana.informed.package +application/vnd.street-stream +application/vnd.svd +application/vnd.swiftview-ics +application/vnd.truedoc +application/vnd.visio +application/vnd.webturbo +application/vnd.wrq-hp3000-labelled +application/vnd.wt.stf +application/vnd.xara +application/vnd.yellowriver-custom-menu +application/wita +application/wordperfect5.1 +application/x-bcpio bcpio +application/x-cdlink vcd +application/x-chess-pgn pgn +application/x-compress +application/x-cpio cpio +application/x-csh csh +application/x-director dcr dir dxr +application/x-dvi dvi +application/x-futuresplash spl +application/x-gtar gtar +application/x-gzip +application/x-hdf hdf +application/x-javascript js +application/x-koan skp skd skt skm +application/x-latex latex +application/x-netcdf nc cdf +# The standard is that rpm is audio/x-pn-realaudio-plugin... oh well... +application/x-rpm rpm +application/x-sh sh +application/x-shar shar +application/x-shockwave-flash swf +application/x-stuffit sit +application/x-sv4cpio sv4cpio +application/x-sv4crc sv4crc +application/x-tar tar +application/x-tcl tcl +application/x-tex tex +application/x-texinfo texinfo texi +application/x-troff t tr roff +application/x-troff-man man +application/x-troff-me me +application/x-troff-ms ms +application/x-ustar ustar +application/x-wais-source src +application/x400-bp +application/xml +application/zip zip +audio/32kadpcm +audio/basic au snd +audio/midi mid midi kar +audio/mpeg mpga mp2 mp3 +audio/vnd.qcelp +audio/x-aiff aif aiff aifc +audio/x-pn-realaudio ram rm +audio/x-realaudio ra +audio/x-wav wav +chemical/x-pdb pdb xyz +image/cgm +image/g3fax +image/gif gif +image/ief ief +image/jpeg jpeg jpg jpe +image/naplps +image/png png +image/prs.btif +image/tiff tiff tif +image/vnd.dwg +image/vnd.dxf +image/vnd.fpx +image/vnd.net-fpx +image/vnd.svf +image/vnd.xiff +image/x-cmu-raster ras +image/x-portable-anymap pnm +image/x-portable-bitmap pbm +image/x-portable-graymap pgm +image/x-portable-pixmap ppm +image/x-rgb rgb +image/x-xbitmap xbm +image/x-xpixmap xpm +image/x-xwindowdump xwd +message/delivery-status +message/disposition-notification +message/external-body +message/http +message/news +message/partial +message/rfc822 +model/iges igs iges +model/mesh msh mesh silo +model/vnd.dwf +model/vrml wrl vrml +multipart/alternative +multipart/appledouble +multipart/byteranges +multipart/digest +multipart/encrypted +multipart/form-data +multipart/header-set +multipart/mixed +multipart/parallel +multipart/related +multipart/report +multipart/signed +multipart/voice-message +text/css css +text/directory +text/enriched +text/html html htm +text/plain asc txt +text/prs.lines.tag +text/rfc822-headers +text/richtext rtx +text/rtf rtf +text/sgml sgml sgm +text/tab-separated-values tsv +text/uri-list +text/vnd.abc +text/vnd.flatland.3dml +text/vnd.fmi.flexstor +text/vnd.in3d.3dml +text/vnd.in3d.spot +text/vnd.latex-z +text/x-setext etx +text/xml xml +video/mpeg mpeg mpg mpe +video/quicktime qt mov +video/vnd.motorola.video +video/vnd.motorola.videop +video/vnd.vivo +video/x-msvideo avi +video/x-sgi-movie movie +x-conference/x-cooltalk ice |