Index: trunk/server/common/oursrc/execsys/mime.types
===================================================================
--- trunk/server/common/oursrc/execsys/mime.types	(revision 1872)
+++ trunk/server/common/oursrc/execsys/mime.types	(revision 1877)
@@ -509,2 +509,30 @@
 application/xaml+xml		xaml
 application/x-silverlight-app	xap
+# The following MS Office MIME types are from this source:
+# http://blogs.msdn.com/b/vsofficedeveloper/archive/2008/05/08/office-2007-open-xml-mime-types.aspx
+# There's a typo in .potm that's corrected in this alternate source:
+# http://therightstuff.de/2006/12/16/Office+2007+File+Icons+For+Windows+SharePoint+Services+20+And+SharePoint+Portal+Server+2003.aspx
+application/msword	dot
+application/vnd.openxmlformats-officedocument.wordprocessingml.document	docx
+application/vnd.openxmlformats-officedocument.wordprocessingml.template	dotx
+application/vnd.ms-word.document.macroEnabled.12	docm
+application/vnd.ms-word.template.macroEnabled.12	dotm
+application/vnd.ms-excel	xlt
+application/vnd.ms-excel	xla
+application/vnd.openxmlformats-officedocument.spreadsheetml.sheet	xlsx
+application/vnd.openxmlformats-officedocument.spreadsheetml.template	xltx
+application/vnd.ms-excel.sheet.macroEnabled.12	xlsm
+application/vnd.ms-excel.template.macroEnabled.12	xltm
+application/vnd.ms-excel.addin.macroEnabled.12	xlam
+application/vnd.ms-excel.sheet.binary.macroEnabled.12	xlsb
+application/vnd.ms-powerpoint	pot
+application/vnd.ms-powerpoint	pps
+application/vnd.ms-powerpoint	ppa
+application/vnd.openxmlformats-officedocument.presentationml.presentation	pptx
+application/vnd.openxmlformats-officedocument.presentationml.template	potx
+application/vnd.openxmlformats-officedocument.presentationml.slideshow	ppsx
+application/vnd.ms-powerpoint.addin.macroEnabled.12	ppam
+application/vnd.ms-powerpoint.presentation.macroEnabled.12	pptm
+application/vnd.ms-powerpoint.template.macroEnabled.12	potm
+application/vnd.ms-powerpoint.slideshow.macroEnabled.12	ppsm
+# End MS Office MIME types.
Index: trunk/server/common/oursrc/execsys/upd-execsys
===================================================================
--- trunk/server/common/oursrc/execsys/upd-execsys	(revision 1872)
+++ trunk/server/common/oursrc/execsys/upd-execsys	(revision 1877)
@@ -53,4 +53,27 @@
  xls
  ppt
+ dot
+ docx
+ dotx
+ docm
+ dotm
+ xlt
+ xla
+ xlsx
+ xltx
+ xlsm
+ xltm
+ xlam
+ xlsb
+ pot
+ pps
+ ppa
+ pptx
+ potx
+ ppsx
+ ppam
+ pptm
+ potm
+ ppsm
  swf
  mp3
@@ -70,4 +93,18 @@
  ttf
  otf
+ odc
+ odb
+ odf
+ odg
+ otg
+ odi
+ odp
+ otp
+ ods
+ ots
+ odt
+ odm
+ ott
+ oth
 );
 
Index: trunk/server/common/oursrc/scripts-static-cat/StaticCat.hs
===================================================================
--- trunk/server/common/oursrc/scripts-static-cat/StaticCat.hs	(revision 1872)
+++ trunk/server/common/oursrc/scripts-static-cat/StaticCat.hs	(revision 1877)
@@ -35,4 +35,9 @@
          (".css", "text/css"),
          (".doc", "application/msword"),
+         (".docm", "application/vnd.ms-word.document.macroEnabled.12"),
+         (".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"),
+         (".dot", "application/msword"),
+         (".dotm", "application/vnd.ms-word.template.macroEnabled.12"),
+         (".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"),
          (".gif", "image/gif"),
          (".htm", "text/html"),
@@ -50,8 +55,32 @@
          (".mpeg", "video/mpeg"),
          (".mpg", "video/mpeg"),
+         (".odb", "application/vnd.oasis.opendocument.database"),
+         (".odc", "application/vnd.oasis.opendocument.chart"),
+         (".odf", "application/vnd.oasis.opendocument.formula"),
+         (".odg", "application/vnd.oasis.opendocument.graphics"),
+         (".odi", "application/vnd.oasis.opendocument.image"),
+         (".odm", "application/vnd.oasis.opendocument.text-master"),
+         (".odp", "application/vnd.oasis.opendocument.presentation"),
+         (".ods", "application/vnd.oasis.opendocument.spreadsheet"),
+         (".odt", "application/vnd.oasis.opendocument.text"),
          (".otf", "application/octet-stream"),
+         (".otg", "application/vnd.oasis.opendocument.graphics-template"),
+         (".oth", "application/vnd.oasis.opendocument.text-web"),
+         (".otp", "application/vnd.oasis.opendocument.presentation-template"),
+         (".ots", "application/vnd.oasis.opendocument.spreadsheet-template"),
+         (".ott", "application/vnd.oasis.opendocument.text-template"),
          (".pdf", "application/pdf"),
          (".png", "image/png"),
+         (".pot", "application/vnd.ms-powerpoint"),
+         (".potm", "application/vnd.ms-powerpoint.template.macroEnabled.12"),
+         (".potx", "application/vnd.openxmlformats-officedocument.presentationml.template"),
+         (".ppa", "application/vnd.ms-powerpoint"),
+         (".ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12"),
+         (".pps", "application/vnd.ms-powerpoint"),
+         (".ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12"),
+         (".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow"),
          (".ppt", "application/vnd.ms-powerpoint"),
+         (".pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12"),
+         (".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"),
          (".ps", "application/postscript"),
          (".svg", "image/svg+xml"),
@@ -67,5 +96,13 @@
          (".xap", "application/x-silverlight-app"),
          (".xhtml", "application/xhtml+xml"),
+         (".xla", "application/vnd.ms-excel"),
+         (".xlam", "application/vnd.ms-excel.addin.macroEnabled.12"),
          (".xls", "application/vnd.ms-excel"),
+         (".xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12"),
+         (".xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12"),
+         (".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"),
+         (".xlt", "application/vnd.ms-excel"),
+         (".xltm", "application/vnd.ms-excel.template.macroEnabled.12"),
+         (".xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template"),
          (".xml", "text/xml"),
          (".xsl", "text/xml"),
Index: trunk/server/common/patches/httpd-suexec-scripts.patch
===================================================================
--- trunk/server/common/patches/httpd-suexec-scripts.patch	(revision 1872)
+++ trunk/server/common/patches/httpd-suexec-scripts.patch	(revision 1877)
@@ -73,5 +73,5 @@
  
      /* variable name is */
-@@ -245,9 +250,71 @@
+@@ -245,9 +250,108 @@
      environ = cleanenv;
  }
@@ -100,4 +100,27 @@
 +    "xls",
 +    "ppt",
++    "dot",
++    "docx",
++    "dotx",
++    "docm",
++    "dotm",
++    "xlt",
++    "xla",
++    "xlsx",
++    "xltx",
++    "xlsm",
++    "xltm",
++    "xlam",
++    "xlsb",
++    "pot",
++    "pps",
++    "ppa",
++    "pptx",
++    "potx",
++    "ppsx",
++    "ppam",
++    "pptm",
++    "potm",
++    "ppsm",
 +    "swf",
 +    "mp3",
@@ -117,4 +140,18 @@
 +    "ttf",
 +    "otf",
++    "odc",
++    "odb",
++    "odf",
++    "odg",
++    "otg",
++    "odi",
++    "odp",
++    "otp",
++    "ods",
++    "ots",
++    "odt",
++    "odm",
++    "ott",
++    "oth",
 +    NULL
 +};
@@ -145,5 +182,5 @@
      gid_t gid;              /* target group placeholder  */
      char *target_uname;     /* target user name          */
-@@ -268,6 +331,7 @@
+@@ -268,6 +368,7 @@
       * Start with a "clean" environment
       */
@@ -153,5 +190,5 @@
      prog = argv[0];
      /*
-@@ -350,6 +414,20 @@
+@@ -350,6 +451,20 @@
  #endif /*_OSD_POSIX*/
  
@@ -174,5 +211,5 @@
       * or attempts to back up out of the current directory,
       * to protect against attacks.  If any are
-@@ -371,6 +449,7 @@
+@@ -371,6 +486,7 @@
          userdir = 1;
      }
@@ -182,5 +219,5 @@
       * Error out if the target username is invalid.
       */
-@@ -452,7 +531,7 @@
+@@ -452,7 +568,7 @@
       * Error out if attempt is made to execute as root or as
       * a UID less than AP_UID_MIN.  Tsk tsk.
@@ -191,5 +228,5 @@
          exit(107);
      }
-@@ -484,6 +563,7 @@
+@@ -484,6 +599,7 @@
          log_err("failed to setuid (%ld: %s)\n", uid, cmd);
          exit(110);
@@ -199,5 +236,5 @@
      /*
       * Get the current working directory, as well as the proper
-@@ -506,6 +600,21 @@
+@@ -506,6 +637,21 @@
              log_err("cannot get docroot information (%s)\n", target_homedir);
              exit(112);
@@ -221,5 +258,5 @@
      else {
          if (((chdir(AP_DOC_ROOT)) != 0) ||
-@@ -532,15 +641,17 @@
+@@ -532,15 +678,17 @@
      /*
       * Error out if cwd is writable by others.
@@ -240,5 +277,5 @@
          exit(117);
      }
-@@ -548,10 +659,12 @@
+@@ -548,10 +696,12 @@
      /*
       * Error out if the program is writable by others.
@@ -253,5 +290,5 @@
      /*
       * Error out if the file is setuid or setgid.
-@@ -565,6 +678,7 @@
+@@ -565,6 +715,7 @@
       * Error out if the target name/group is different from
       * the name/group of the cwd or the program.
@@ -261,5 +298,5 @@
          (gid != dir_info.st_gid) ||
          (uid != prg_info.st_uid) ||
-@@ -576,12 +690,14 @@
+@@ -576,12 +727,14 @@
                  prg_info.st_uid, prg_info.st_gid);
          exit(120);
@@ -277,5 +314,5 @@
          exit(121);
      }
-@@ -614,6 +730,23 @@
+@@ -614,6 +767,23 @@
      /*
       * Execute the command, replacing our image with its own.
