Index: /trunk/server/common/oursrc/execsys/Makefile.in
===================================================================
--- /trunk/server/common/oursrc/execsys/Makefile.in	(revision 2835)
+++ /trunk/server/common/oursrc/execsys/Makefile.in	(revision 2836)
@@ -6,17 +6,10 @@
 sysconfdir = @sysconfdir@
 sbindir = @sbindir@
-APACHEDIR = /etc/httpd
-SYSCATPATH = /usr/local/bin
 trusteddir = /usr/libexec/scripts-trusted
 
-all-local: static-cat
+all-local:
 
-static-cat.c: static-cat.c.pre
-	syscat_path=$(SYSCATPATH)/static-cat perl upd-execsys
-
-install: all-local
-	install -D -p -m644 execsys.conf $(DESTDIR)$(APACHEDIR)/conf.d/execsys.conf
+install:
 	install -D -p -m755 execsys-binfmt $(DESTDIR)/etc/init.d/execsys-binfmt
-	install -D -p -m755 static-cat $(DESTDIR)$(SYSCATPATH)/static-cat
 	install -D -p -m755 ldapize.pl $(DESTDIR)$(sbindir)/ldapize.pl
 
Index: /trunk/server/common/oursrc/execsys/configure.in
===================================================================
--- /trunk/server/common/oursrc/execsys/configure.in	(revision 2835)
+++ /trunk/server/common/oursrc/execsys/configure.in	(revision 2836)
@@ -1,3 +1,3 @@
-AC_INIT(static-cat.c.pre)
+AC_INIT([Makefile.in])
 
 AC_PROG_CC
Index: unk/server/common/oursrc/execsys/mime.types
===================================================================
--- /trunk/server/common/oursrc/execsys/mime.types	(revision 2835)
+++ 	(revision )
@@ -1,542 +1,0 @@
-# This is a comment. I love comments.
-
-# 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 <http://www.iana.org/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/batch-SMTP
-application/beep+xml
-application/cals-1840
-application/commonground
-application/cybercash
-application/dca-rft
-application/dec-dx
-application/dvcs
-application/eshop
-application/font-sfnt		otf ttf
-application/http
-application/hyperstudio
-application/iges
-application/index
-application/index.cmd
-application/index.obj
-application/index.response
-application/index.vnd
-application/iotp
-application/ipp
-application/isup
-application/font-tdpfr
-application/font-woff		woff
-application/java-archive	jar
-application/mac-binhex40	hqx
-application/mac-compactpro	cpt
-application/macwriteii
-application/marc
-application/mathematica
-application/mathematica-old
-application/msword		doc
-application/news-message-id
-application/news-transmission
-application/ocsp-request
-application/ocsp-response
-application/octet-stream	bin dms lha lzh exe class so dll img iso il
-application/ogg			ogg
-application/parityfec
-application/pdf			pdf
-application/pgp-encrypted
-application/pgp-keys
-application/pgp-signature
-application/pkcs10
-application/pkcs7-mime
-application/pkcs7-signature
-application/pkix-cert
-application/pkix-crl
-application/pkixcmp
-application/postscript		ai eps ps
-application/prs.alvestrand.titrax-sheet
-application/prs.cww
-application/prs.nprend
-application/qsig
-application/remote-printing
-application/riscos
-application/rtf			rtf
-application/sdp
-application/set-payment
-application/set-payment-initiation
-application/set-registration
-application/set-registration-initiation
-application/sgml
-application/sgml-open-catalog
-application/sieve
-application/slate
-application/smil		smi smil
-application/timestamp-query
-application/timestamp-reply
-application/vemmi
-application/vnd.3M.Post-it-Notes
-application/vnd.FloGraphIt
-application/vnd.accpac.simply.aso
-application/vnd.accpac.simply.imp
-application/vnd.acucobol
-application/vnd.aether.imp
-application/vnd.anser-web-certificate-issue-initiation
-application/vnd.anser-web-funds-transfer-initiation
-application/vnd.audiograph
-application/vnd.businessobjects
-application/vnd.bmi
-application/vnd.canon-cpdl
-application/vnd.canon-lips
-application/vnd.claymore
-application/vnd.commerce-battelle
-application/vnd.commonspace
-application/vnd.comsocaller
-application/vnd.contact.cmsg
-application/vnd.cosmocaller
-application/vnd.cups-postscript
-application/vnd.cups-raster
-application/vnd.cups-raw
-application/vnd.ctc-posml
-application/vnd.cybank
-application/vnd.dna
-application/vnd.dpgraph
-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.esf
-application/vnd.epson.msf
-application/vnd.epson.quickanime
-application/vnd.epson.salt
-application/vnd.epson.ssf
-application/vnd.ericsson.quickcall
-application/vnd.eudora.data
-application/vnd.fdf
-application/vnd.ffsns
-application/vnd.framemaker
-application/vnd.fsc.weblaunch
-application/vnd.fujitsu.oasys
-application/vnd.fujitsu.oasys2
-application/vnd.fujitsu.oasys3
-application/vnd.fujitsu.oasysgp
-application/vnd.fujitsu.oasysprs
-application/vnd.fujixerox.ddd
-application/vnd.fujixerox.docuworks
-application/vnd.fujixerox.docuworks.binder
-application/vnd.fut-misnet
-application/vnd.grafeq
-application/vnd.groove-account
-application/vnd.groove-identity-message
-application/vnd.groove-injector
-application/vnd.groove-tool-message
-application/vnd.groove-tool-template
-application/vnd.groove-vcard
-application/vnd.hhe.lesson-player
-application/vnd.hp-HPGL
-application/vnd.hp-PCL
-application/vnd.hp-PCLXL
-application/vnd.hp-hpid
-application/vnd.hp-hps
-application/vnd.httphone
-application/vnd.hzn-3d-crossword
-application/vnd.ibm.afplinedata
-application/vnd.ibm.MiniPay
-application/vnd.ibm.modcap
-application/vnd.informix-visionary
-application/vnd.intercon.formnet
-application/vnd.intertrust.digibox
-application/vnd.intertrust.nncp
-application/vnd.intu.qbo
-application/vnd.intu.qfx
-application/vnd.irepository.package+xml
-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-notes
-application/vnd.lotus-organizer
-application/vnd.lotus-screencam
-application/vnd.lotus-wordpro
-application/vnd.mcd
-application/vnd.mediastation.cdkey
-application/vnd.meridian-slingshot
-application/vnd.mif		mif
-application/vnd.minisoft-hp3000-save
-application/vnd.mitsubishi.misty-guard.trustweb
-application/vnd.mobius.daf
-application/vnd.mobius.dis
-application/vnd.mobius.msl
-application/vnd.mobius.plc
-application/vnd.mobius.txf
-application/vnd.motorola.flexsuite
-application/vnd.motorola.flexsuite.adsi
-application/vnd.motorola.flexsuite.fis
-application/vnd.motorola.flexsuite.gotap
-application/vnd.motorola.flexsuite.kmr
-application/vnd.motorola.flexsuite.ttc
-application/vnd.motorola.flexsuite.wem
-application/vnd.mozilla.xul+xml
-application/vnd.ms-artgalry
-application/vnd.ms-asf
-application/vnd.ms-excel	xls
-application/vnd.ms-lrm
-application/vnd.ms-powerpoint	ppt
-application/vnd.ms-project
-application/vnd.ms-tnef
-application/vnd.ms-works
-application/vnd.mseq
-application/vnd.msign
-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.oasis.opendocument.chart	odc
-application/vnd.oasis.opendocument.database	odb
-application/vnd.oasis.opendocument.formula	odf
-application/vnd.oasis.opendocument.graphics	odg
-application/vnd.oasis.opendocument.graphics-template	otg
-application/vnd.oasis.opendocument.image	odi
-application/vnd.oasis.opendocument.presentation	odp
-application/vnd.oasis.opendocument.presentation-template	otp
-application/vnd.oasis.opendocument.spreadsheet	ods
-application/vnd.oasis.opendocument.spreadsheet-template	ots
-application/vnd.oasis.opendocument.text	odt
-application/vnd.oasis.opendocument.text-master	odm
-application/vnd.oasis.opendocument.text-template	ott
-application/vnd.oasis.opendocument.text-web	oth
-application/vnd.osa.netdeploy
-application/vnd.palm
-application/vnd.pg.format
-application/vnd.pg.osasli
-application/vnd.powerbuilder6
-application/vnd.powerbuilder6-s
-application/vnd.powerbuilder7
-application/vnd.powerbuilder7-s
-application/vnd.powerbuilder75
-application/vnd.powerbuilder75-s
-application/vnd.previewsystems.box
-application/vnd.publishare-delta-tree
-application/vnd.pvi.ptid1
-application/vnd.pwg-xhtml-print+xml
-application/vnd.rapid
-application/vnd.s3sms
-application/vnd.seemail
-application/vnd.shana.informed.formdata
-application/vnd.shana.informed.formtemplate
-application/vnd.shana.informed.interchange
-application/vnd.shana.informed.package
-application/vnd.sss-cod
-application/vnd.sss-dtf
-application/vnd.sss-ntf
-application/vnd.sun.xml.writer	sxw
-application/vnd.sun.xml.writer.template	stw
-application/vnd.sun.xml.calc	sxc
-application/vnd.sun.xml.calc.template	stc
-application/vnd.sun.xml.draw	sxd
-application/vnd.sun.xml.draw.template	std
-application/vnd.sun.xml.impress	sxi
-application/vnd.sun.xml.impress.template	sti
-application/vnd.sun.xml.writer.global	sxg
-application/vnd.sun.xml.math	sxm
-application/vnd.street-stream
-application/vnd.svd
-application/vnd.swiftview-ics
-application/vnd.triscape.mxs
-application/vnd.trueapp
-application/vnd.truedoc
-application/vnd.tve-trigger
-application/vnd.ufdl
-application/vnd.uplanet.alert
-application/vnd.uplanet.alert-wbxml
-application/vnd.uplanet.bearer-choice-wbxml
-application/vnd.uplanet.bearer-choice
-application/vnd.uplanet.cacheop
-application/vnd.uplanet.cacheop-wbxml
-application/vnd.uplanet.channel
-application/vnd.uplanet.channel-wbxml
-application/vnd.uplanet.list
-application/vnd.uplanet.list-wbxml
-application/vnd.uplanet.listcmd
-application/vnd.uplanet.listcmd-wbxml
-application/vnd.uplanet.signal
-application/vnd.vcx
-application/vnd.vectorworks
-application/vnd.vidsoft.vidconference
-application/vnd.visio
-application/vnd.vividence.scriptfile
-application/vnd.wap.sic
-application/vnd.wap.slc
-application/vnd.wap.wbxml	wbxml
-application/vnd.wap.wmlc	wmlc
-application/vnd.wap.wmlscriptc	wmlsc
-application/vnd.webturbo
-application/vnd.wrq-hp3000-labelled
-application/vnd.wt.stf
-application/vnd.xara
-application/vnd.xfdl
-application/vnd.yellowriver-custom-menu
-application/whoispp-query
-application/whoispp-response
-application/wita
-application/wordperfect5.1
-application/x-bcpio		bcpio
-application/x-bittorrent	torrent
-application/x-bzip2		bz2
-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		gz tgz
-application/x-hdf		hdf
-application/x-javascript	js
-application/x-kword		kwd kwt
-application/x-kspread		ksp
-application/x-kpresenter	kpr kpt
-application/x-kchart		chrt
-application/x-killustrator	kil
-application/x-koan		skp skd skt skm
-application/x-latex		latex
-application/x-netcdf		nc cdf
-# This conflicts with audio/x-pn-realaudio-plugin, which is commented out below.
-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/xhtml+xml		xhtml xht
-application/xml
-application/xml-dtd
-application/xml-external-parsed-entity
-application/zip			zip
-audio/32kadpcm
-audio/basic			au snd
-audio/g.722.1
-audio/l16
-audio/midi			mid midi kar
-audio/mp4a-latm
-audio/mpa-robust
-audio/mpeg			mpga mp2 mp3
-audio/parityfec
-audio/prs.sid
-audio/telephone-event
-audio/tone
-audio/vnd.cisco.nse
-audio/vnd.cns.anp1
-audio/vnd.cns.inf1
-audio/vnd.digital-winds
-audio/vnd.everad.plj
-audio/vnd.lucent.voice
-audio/vnd.nortel.vbk
-audio/vnd.nuera.ecelp4800
-audio/vnd.nuera.ecelp7470
-audio/vnd.nuera.ecelp9600
-audio/vnd.octel.sbc
-audio/vnd.qcelp
-audio/vnd.rhetorex.32kadpcm
-audio/vnd.vmx.cvsd
-audio/x-aiff			aif aiff aifc
-audio/x-mpegurl			m3u
-audio/x-pn-realaudio		ram rm
-#audio/x-pn-realaudio-plugin	rpm
-audio/x-realaudio		ra
-audio/x-wav			wav
-chemical/x-pdb			pdb
-chemical/x-xyz			xyz
-font/woff2			woff2
-image/bmp			bmp
-image/cgm
-image/g3fax
-image/gif			gif
-image/ief			ief
-image/jpeg			jpeg jpg jpe
-image/naplps
-image/png			png
-image/prs.btif
-image/prs.pti
-image/svg+xml			svg
-image/tiff			tiff tif
-image/vnd.cns.inf2
-image/vnd.djvu			djvu djv
-image/vnd.dwg
-image/vnd.dxf
-image/vnd.fastbidsheet
-image/vnd.fpx
-image/vnd.fst
-image/vnd.fujixerox.edmics-mmr
-image/vnd.fujixerox.edmics-rlc
-image/vnd.microsoft.icon	ico
-image/vnd.mix
-image/vnd.net-fpx
-image/vnd.svf
-image/vnd.wap.wbmp		wbmp
-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
-message/s-http
-model/iges			igs iges
-model/mesh			msh mesh silo
-model/vnd.dwf
-model/vnd.flatland.3dml
-model/vnd.gdl
-model/vnd.gs-gdl
-model/vnd.gtw
-model/vnd.mts
-model/vnd.vtu
-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/calendar
-text/css			css
-text/directory
-text/enriched
-text/html			html htm
-text/parityfec
-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/t140
-text/uri-list
-text/vnd.DMClientScript
-text/vnd.IPTC.NITF
-text/vnd.IPTC.NewsML
-text/vnd.abc
-text/vnd.curl
-text/vnd.flatland.3dml
-text/vnd.fly
-text/vnd.fmi.flexstor
-text/vnd.in3d.3dml
-text/vnd.in3d.spot
-text/vnd.latex-z
-text/vnd.motorola.reflex
-text/vnd.ms-mediapackage
-text/vnd.wap.si
-text/vnd.wap.sl
-text/vnd.wap.wml		wml
-text/vnd.wap.wmlscript		wmls
-text/x-setext			etx
-text/xml			xml xsl
-text/xml-external-parsed-entity
-video/mp4v-es
-video/mpeg			mpeg mpg mpe
-video/parityfec
-video/pointer
-video/quicktime			qt mov
-video/vnd.fvt
-video/vnd.motorola.video
-video/vnd.motorola.videop
-video/vnd.mpegurl		mxu
-video/vnd.mts
-video/vnd.nokia.interleaved-multimedia
-video/vnd.vivo
-video/x-msvideo			avi
-video/x-sgi-movie		movie
-video/x-ms-wmv			wmv
-x-conference/x-cooltalk		ice
-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.
-application/vnd.ms-fontobject	eot
Index: /trunk/server/common/oursrc/execsys/mrproper
===================================================================
--- /trunk/server/common/oursrc/execsys/mrproper	(revision 2835)
+++ /trunk/server/common/oursrc/execsys/mrproper	(revision 2836)
@@ -1,6 +1,4 @@
 #!/bin/sh
 
-rm -f static-cat
 rm -f configure config.* Makefile
-rm -f static-cat.c execsys.conf
 rm -rf auto*.cache
Index: unk/server/common/oursrc/execsys/static-cat.c.pre
===================================================================
--- /trunk/server/common/oursrc/execsys/static-cat.c.pre	(revision 2835)
+++ 	(revision )
@@ -1,357 +1,0 @@
-/*
- * static-cat
- * Copyright (C) 2006  Jeff Arnold <jbarnold@mit.edu>
- * 
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- * 
- * See /COPYRIGHT in this repository for more information.
- */
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <time.h>
-
-// Map from extensions to content-types
-
-// START-AUTOGENERATED: DO NOT EDIT THIS SECTION, INCLUDING THIS LINE!
-// This section is populated by the script upd-execsys
-// END-AUTOGENERATED: DO NOT EDIT THIS SECTION, INCLUDING THIS LINE!
-
-// Start code from w3c's libwww library
-// (as obtained from http://www.w3.org/Library/src/HTWWWStr.html)
-
-char *months[12] = {
-	"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep",
-	"Oct", "Nov", "Dec"
-};
-
-char *wkdays[7] = {
-	"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
-};
-
-/*
-**	Returns a string pointer to a static area of the current calendar
-**	time in RFC 1123 format, for example
-**
-**		Sun, 06 Nov 1994 08:49:37 GMT
-**
-**	The result can be given in both local and GMT dependent on the flag
-*/
-const char *HTDateTimeStr(time_t * calendar, int local)
-{
-	static char buf[40];
-
-#ifdef HAVE_STRFTIME
-	if (local) {
-		/*
-		 ** Solaris 2.3 has a bug so we _must_ use reentrant version
-		 ** Thomas Maslen <tmaslen@verity.com>
-		 */
-#if defined(HT_REENTRANT) || defined(SOLARIS)
-		struct tm loctime;
-		localtime_r(calendar, &loctime);
-		strftime(buf, 40, "%a, %d %b %Y %H:%M:%S", &loctime);
-#else
-		struct tm *loctime = localtime(calendar);
-		strftime(buf, 40, "%a, %d %b %Y %H:%M:%S", loctime);
-#endif				/* SOLARIS || HT_REENTRANT */
-	} else {
-#if defined(HT_REENTRANT) || defined(SOLARIS)
-		struct tm gmt;
-		gmtime_r(calendar, &gmt);
-		strftime(buf, 40, "%a, %d %b %Y %H:%M:%S GMT", &gmt);
-#else
-		struct tm *gmt = gmtime(calendar);
-		strftime(buf, 40, "%a, %d %b %Y %H:%M:%S GMT", gmt);
-#endif				/* SOLARIS || HT_REENTRANT */
-	}
-#else
-	if (local) {
-#if defined(HT_REENTRANT)
-		struct tm loctime;
-		localtime_r(calendar, &loctime);
-#else
-		struct tm *loctime = localtime(calendar);
-#endif				/* HT_REENTRANT */
-		sprintf(buf, "%s, %02d %s %04d %02d:%02d:%02d",
-			wkdays[loctime->tm_wday],
-			loctime->tm_mday,
-			months[loctime->tm_mon],
-			loctime->tm_year + 1900,
-			loctime->tm_hour, loctime->tm_min,
-			loctime->tm_sec);
-	} else {
-#if defined(HT_REENTRANT) || defined(SOLARIS)
-		struct tm gmt;
-		gmtime_r(calendar, &gmt);
-#else
-		struct tm *gmt = gmtime(calendar);
-#endif
-		sprintf(buf, "%s, %02d %s %04d %02d:%02d:%02d GMT",
-			wkdays[gmt->tm_wday],
-			gmt->tm_mday,
-			months[gmt->tm_mon],
-			gmt->tm_year + 1900, gmt->tm_hour, gmt->tm_min,
-			gmt->tm_sec);
-	}
-#endif
-	return buf;
-}
-
-// End code from w3c's libwww library
-
-// Start code from gnu
-// (as obtained from "apt-get source coreutils" on debian sarge)
-
-// JBA: included by safe_read.h, safe_write.h, full_read.h, and full_write.h
-#include <stddef.h>
-
-// JBA: included by safe_read.c and full_write.c
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-// JBA: included by safe_read.c and full_write.c
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-
-// Code from system.h:
-
-#ifndef STDOUT_FILENO
-# define STDOUT_FILENO 1
-#endif
-
-// Code from safe_read.h:
-
-#define SAFE_READ_ERROR ((size_t) -1)
-
-// Code from safe_write.h
-
-#define SAFE_WRITE_ERROR ((size_t) -1)
-
-// Code from safe_read.c
-
-/* Get ssize_t.  */
-#include <sys/types.h>
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#ifdef EINTR
-# define IS_EINTR(x) ((x) == EINTR)
-#else
-# define IS_EINTR(x) 0
-#endif
-
-#include <limits.h>
-
-/* Read(write) up to COUNT bytes at BUF from(to) descriptor FD, retrying if
-   interrupted.  Return the actual number of bytes read(written), zero for EOF,
-   or SAFE_READ_ERROR(SAFE_WRITE_ERROR) upon error.  */
-size_t safe_read(int fd, void *buf, size_t count)
-{
-	size_t result;
-
-	/* POSIX limits COUNT to SSIZE_MAX, but we limit it further, requiring
-	   that COUNT <= INT_MAX, to avoid triggering a bug in Tru64 5.1.
-	   When decreasing COUNT, keep the file pointer block-aligned.
-	   Note that in any case, read(write) may succeed, yet read(write)
-	   fewer than COUNT bytes, so the caller must be prepared to handle
-	   partial results.  */
-	if (count > INT_MAX)
-		count = INT_MAX & ~8191;
-
-	do {
-		result = read(fd, buf, count);
-	}
-	while (result < 0 && IS_EINTR(errno));
-
-	return (size_t) result;
-}
-
-/* Read(write) up to COUNT bytes at BUF from(to) descriptor FD, retrying if
-   interrupted.  Return the actual number of bytes read(written), zero for EOF,
-   or SAFE_READ_ERROR(SAFE_WRITE_ERROR) upon error.  */
-size_t safe_write(int fd, const void *buf, size_t count)
-{
-	size_t result;
-
-	/* POSIX limits COUNT to SSIZE_MAX, but we limit it further, requiring
-	   that COUNT <= INT_MAX, to avoid triggering a bug in Tru64 5.1.
-	   When decreasing COUNT, keep the file pointer block-aligned.
-	   Note that in any case, read(write) may succeed, yet read(write)
-	   fewer than COUNT bytes, so the caller must be prepared to handle
-	   partial results.  */
-	if (count > INT_MAX)
-		count = INT_MAX & ~8191;
-
-	do {
-		result = write(fd, buf, count);
-	}
-	while (result < 0 && IS_EINTR(errno));
-
-	return (size_t) result;
-}
-
-// Code from full_write.c
-
-/* Write(read) COUNT bytes at BUF to(from) descriptor FD, retrying if
-   interrupted or if a partial write(read) occurs.  Return the number
-   of bytes transferred.
-   When writing, set errno if fewer than COUNT bytes are written.
-   When reading, if fewer than COUNT bytes are read, you must examine
-   errno to distinguish failure from EOF (errno == 0).  */
-size_t full_read(int fd, void *buf, size_t count)
-{
-	size_t total = 0;
-	char *ptr = buf;
-
-	while (count > 0) {
-		size_t n_rw = safe_read(fd, ptr, count);
-		if (n_rw == (size_t) - 1)
-			break;
-		if (n_rw == 0) {
-			errno = 0;
-			break;
-		}
-		total += n_rw;
-		ptr += n_rw;
-		count -= n_rw;
-	}
-
-	return total;
-}
-
-/* Write(read) COUNT bytes at BUF to(from) descriptor FD, retrying if
-   interrupted or if a partial write(read) occurs.  Return the number
-   of bytes transferred.
-   When writing, set errno if fewer than COUNT bytes are written.
-   When reading, if fewer than COUNT bytes are read, you must examine
-   errno to distinguish failure from EOF (errno == 0).  */
-size_t full_write(int fd, const void *buf, size_t count)
-{
-	size_t total = 0;
-	const char *ptr = buf;
-
-	while (count > 0) {
-		size_t n_rw = safe_write(fd, ptr, count);
-		if (n_rw == (size_t) - 1)
-			break;
-		if (n_rw == 0) {
-			errno = ENOSPC;
-			break;
-		}
-		total += n_rw;
-		ptr += n_rw;
-		count -= n_rw;
-	}
-
-	return total;
-}
-
-// Code from cat.c
-
-/* Nonzero if a non-fatal error has occurred.  */
-static int exit_status = 0;
-
-static int input_desc;
-
-/* Plain cat.  Copies the file behind `input_desc' to STDOUT_FILENO.  */
-
-static void simple_cat(
-			      /* Pointer to the buffer, used by reads and writes.  */
-			      char *buf,
-			      /* Number of characters preferably read or written by each read and write
-			         call.  */
-			      int bufsize)
-{
-	/* Actual number of characters read, and therefore written.  */
-	size_t n_read;
-
-	/* Loop until the end of the file.  */
-
-	for (;;) {
-		/* Read a block of input.  */
-
-		n_read = safe_read(input_desc, buf, bufsize);
-		if (n_read == SAFE_READ_ERROR) {
-			// JBA: simplified to "exit_status=1; return;"
-			exit_status = 1;
-			return;
-		}
-
-		/* End of this file?  */
-
-		if (n_read == 0)
-			break;
-
-		/* Write this block out.  */
-
-		{
-			/* The following is ok, since we know that 0 < n_read.  */
-			size_t n = n_read;
-			if (full_write(STDOUT_FILENO, buf, n) != n)
-				exit(1);	// JBA: simplified to "exit(1);"
-		}
-	}
-}
-
-// End code from gnu
-
-int main(int argc, char **argv)
-{
-	input_desc = open(argv[1], O_RDONLY);
-	if (input_desc == -1) {
-		input_desc =
-		    open("/mit/scripts/www/403-404.html", O_RDONLY);
-		if (input_desc == -1)
-			exit(0);
-		printf("Status: 404 Not Found\n");
-		printf("Content-type: text/html;\n\n");
-	} else {
-		int i, j;
-		const char *content_type = "application/octet-stream";
-		for (i = strlen(argv[1]) - 1; i > 0; i--) {
-			if (argv[1][i - 1] == '.')
-				break;
-		}
-		if (i == 0)
-			exit(0);
-		for (j = 0; j < 2 * NEXTS; j += 2) {
-			if (strcasecmp(map[j], &argv[1][i]) == 0) {
-				content_type = map[j + 1];
-			}
-		}
-
-		struct stat statbuf;
-		if (fstat(input_desc, &statbuf) == 0) {
-			const char *dtstr =
-			    HTDateTimeStr(&statbuf.st_mtime, 0);
-			printf("Last-Modified: %s\n", dtstr);
-		}
-		printf("Content-type: %s\n\n", content_type);
-	}
-	fflush(stdout);
-	char *buf = malloc(4096);
-	simple_cat(buf, 4096);
-	free(buf);
-	close(input_desc);
-	return exit_status;
-}
Index: unk/server/common/oursrc/execsys/upd-execsys
===================================================================
--- /trunk/server/common/oursrc/execsys/upd-execsys	(revision 2835)
+++ 	(revision )
@@ -1,158 +1,0 @@
-#!/usr/bin/perl -w
-use strict;
-
-# upd-execsys
-# Copyright (C) 2006  Jeff Arnold <jbarnold@mit.edu>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-#
-# See /COPYRIGHT in this repository for more information.
-
-my @dynamic = qw(
- pl
- php
- py
- cgi
- scm
- exe
-);
-
-my @static = qw(
- html
- css
- gif
- jpg
- png
- htm
- jpeg
- js
- ico
- xml
- xsl
- tiff
- tif
- tgz
- tar
- jar
- zip
- pdf
- ps
- doc
- 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
- mov
- wmv
- mpg
- mpeg
- avi
- il
- xhtml
- svg
- xaml
- xap
- wav
- mid
- midi
- ttf
- otf
- odc
- odb
- odf
- odg
- otg
- odi
- odp
- otp
- ods
- ots
- odt
- odm
- ott
- oth
- eot
- woff
- woff2
-);
-
-my %map;
-open(TYPES, "./mime.types");
-while(my $line = <TYPES>) {
-	next if($line =~ /^\#/ or $line =~ /^\s*$/);
-	my ($type, $exts) = ($line =~ /^(\S*)\s+(.*)$/);
-	next if($exts =~ /^\s*$/);
-	
-	foreach my $ext (split " ", $exts) {
-		$map{$ext} = $type;
-	}
-}
-close(TYPES);
-
-undef $/;
-my $regexp = '(.*[\/\#]+\sSTART-AUTOGENERATED:[^!]*!).*\s([\/\#]+\sEND-AUTOGENERATED.*)';
-
-open(CONF, ">./execsys.conf");
-
-foreach my $ext (@dynamic, @static) {
-	print CONF <<END
-<FilesMatch "(?i)\\.$ext\$">
-	SetHandler cgi-script
-	Options +ExecCGI
-</FilesMatch>
-
-END
-}
-close(CONF);
-
-open(CAT, "./static-cat.c.pre");
-my $file = <CAT>;
-my ($fstart, $fend) = ($file =~ /$regexp/s);
-close(CAT);
-
-open(CAT, ">./static-cat.c");
-print CAT $fstart, "\n";
-print CAT '#define NEXTS ', scalar(@static), "\n";
-print CAT "const char *map[2 * NEXTS] = {\n";
-for(my $i = 0; $i < scalar(@static); $i++) {
-	my $comma = ( $i < scalar(@static)-1 ? "," : "" );
-	print CAT "\t\"$static[$i]\", \"$map{$static[$i]}\"$comma\n";
-}
-print CAT "};\n";
-print CAT $fend;
-close(CAT);
Index: /trunk/server/doc/adding-static-exts
===================================================================
--- /trunk/server/doc/adding-static-exts	(revision 2835)
+++ /trunk/server/doc/adding-static-exts	(revision 2836)
@@ -1,6 +1,6 @@
 1. Update server/common/patches/httpd-suexec-scripts.patch,
-   server/common/oursrc/execsys/upd-execsys, and
+   server/fedora/conf/etc/httpd/conf.d/execsys.conf, and
    server/common/oursrc/scripts-static-cat/StaticCat.hs.
 2. Following the directions in the package-build-howto document, build
-   new httpd, execsys, and scripts-static-cat packages, upload them to
+   new httpd and scripts-static-cat packages, upload them to
    the repo, and deploy them to the servers.
Index: /trunk/server/fedora/config/etc/httpd/conf.d/execsys.conf
===================================================================
--- /trunk/server/fedora/config/etc/httpd/conf.d/execsys.conf	(revision 2836)
+++ /trunk/server/fedora/config/etc/httpd/conf.d/execsys.conf	(revision 2836)
@@ -0,0 +1,9 @@
+<FilesMatch "(?i)\.(cgi|exe|php|pl|py|scm)$">
+	SetHandler cgi-script
+	Options +ExecCGI
+</FilesMatch>
+
+<FilesMatch "(?i)\.(avi|css|doc|docm|docx|dot|dotm|dotx|eot|gif|htm|html|ico|il|jar|jpeg|jpg|js|mid|midi|mov|mp3|mpeg|mpg|odb|odc|odf|odg|odi|odm|odp|ods|odt|otf|otg|oth|otp|ots|ott|pdf|png|pot|potm|potx|ppa|ppam|pps|ppsm|ppsx|ppt|pptm|pptx|ps|svg|swf|tar|tgz|tif|tiff|ttf|wav|wmv|woff|woff2|xaml|xap|xhtml|xla|xlam|xls|xlsb|xlsm|xlsx|xlt|xltm|xltx|xml|xsl|zip)$">
+	SetHandler cgi-script
+	Options +ExecCGI
+</FilesMatch>
Index: /trunk/server/fedora/specs/execsys.spec
===================================================================
--- /trunk/server/fedora/specs/execsys.spec	(revision 2835)
+++ /trunk/server/fedora/specs/execsys.spec	(revision 2836)
@@ -26,9 +26,9 @@
 %build
 ./configure --prefix=/usr/local --with-pl=/usr/bin/perl --with-php=/usr/bin/php-cgi --with-py=/usr/bin/python --with-exe=/usr/bin/mono
-make SYSCATDIR=/usr/local/sbin
+make
 
 %install
 [ $RPM_BUILD_ROOT != / ] && rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT SYSCATDIR=/usr/local/sbin
+make install DESTDIR=$RPM_BUILD_ROOT
 
 %clean
@@ -36,8 +36,5 @@
 
 %files
-%defattr(0644, root, root)
-/etc/httpd/conf.d/execsys.conf
 %defattr(0755, root, root)
-/usr/local/bin/static-cat
 /etc/init.d/execsys-binfmt
 /usr/local/sbin/ldapize.pl
