This list provides a record of a number of my contributions to open-source software. I hastily wrote some of the patches here to solve some problem; I wrote others more carefully, and many were accepted into their upstream projects.


alsa-utils-0.5.10-toggle A patch for the Advanced Linux Sound Architecture utilities which adds mute toggling to amixer. This really makes sence when a user wishes to use a remote control or joystick to control his sound device.


asterisk-1.6.0-beta9-crashfix Asterisk's realtime LDAP module, with fixes from subversion, backported to Asterisk 1.6 Beta 9. This bug is documented in Asterisk bug #12572.


authconfig-4.6.1-1-pam_mount A patch for Red Hat's authconfig tool that adds the ability to configure pam_mount.


avfs-0.9.3-devfs A simple patch for Miklos Szeredi's AVFS that makes avfscoda work with /dev/coda/0, a devfs style device name, out of the box.


balsa-1.2.3-attachment A patch for Jay Painter and Stuart Parmenter's Balsa. When this patch is applied, a user may specify mail attachments on the command line using the -a or --attachment option.


balsa-2.1.0-ab-window.c.dnotify balsa-2.1.0-ab-window.h.dnotify A patch for the balsa email client that reloads a user's address book automatically when a dnotify event indicates that it has changed. This replaces the reload button.


balsa-2.1.0-attachments A patch for the balsa email client that fixes some issues with attaching files from the command line.


balsa-2.1.0-defclient A patch for the balsa email client that causes the program to ask if it should be the default email client when run for the first time.


bluefish-0.12-desktop.patch.gz gnome-vfs.keys-bluefish.patch.gz Patches that integrate Bluefish into the GNOME MIME system more effectively.


cryptsetup-0.2-hexkey A patch that allows one to input a key into cryptsetup using hexadecimal notation.


dia-20030920-exportformat A patch for dia that allows one to use dia's -t and -e options together.


dia-20031203-vfs A patch for dia that begins to add support for GNOME VFS.


DirectFB-0.9.8-dev_input_js A patch for the DirectFB library which allows it to work with new-style Linux joystick device names (/dev/input/js?).


esound-0.2.15-unlock A patch for EsounD which adds the two command line options which permit non-owners to control the dæmon.


gamecon-2.4.19-modinc A patch for the Linux kernel's gamecon joystick driver that causes the driver to manage its usage count correctly.


gdm- A patch for gdm that ensures the X server is reset (and all X programs exit) before calling pam_session_close. This is required if a PAM module like pam_mount is to unmount a user's home directory upon logging out because programs like xscreensaver will block an unmount with open file descriptors.


ghostscript-7.07-gtk2 ghostscript-7.07-omni-glib2 ghostscript.spec-glib2 Three patches that cause Red Hat's ghostscript 7.07 packages to build against glib2.


gnome-keyring-0.4.3-command-line A patch for gnome-keyring that adds command line utilities to manipulate keyrings.


gnome-session-2.4.0-gconfd-shutdown A patch for gnome-session that ensures gconfd-2 quits when a user logs out.


gnome-session-2.4.0-gconfd-shutdown A patch for gnome-session that ensures gnome-keyring-daemon is not executed if it is already running.


gnome-volume-manager-1.5.7-luks A patch for gnome-volume-manager that adds LUKS encrypted volume support.


gpdf-20031022-highlights gpdf-20031022-tools Patches that add the ability to add highlights to a PDF file using gpdf.


grilo-dmap A patch for Grilo that adds support for the DMAP family of protocols.


grub-1.96-20080813-dmi.patch.gz cryptsetup-1.0.5-dmi-v2.patch.gz Patches for grub and cryptsetup that add the ability to read an encryption key from an SMBIOS record. The grub modification is dependent on Michael Gorven's encryption patch. Gustavo Duarte wrote some great documentation on the Intel Architecture boot process that I used while writing this patch.


GSnes9x-3.12-joystick A patch for GNOME Snes9x which adds three useful features. First, support for configurable joystick device names is added. This makes it easiy to use GSnes9x on a system which manages its devices using devfs.


gst-plugins-0.7.5-movext.patch.gz Patch that helps gst-launch-ext create pipelines to play QuickTime files.


gst-ffmpeg-0.7.1-cinepak.patch.gz gst-plugins-0.7.5-cinepak.patch.gz Patches that enable FFmpeg's cinepak support in GStreamer.


hal-20050211-luks-1 hal-20050211-luks-2 hal-20050301-luks-3 hal-20050302-luks-4 hal-20050312-luks-5 hal-set-strlist-1.patch.gz A series of patches that add support for encrypted volumes to HAL.


initscripts-7.41-mouse-emulation A patch for Fedora's initscripts that adds support for mouse emulation. This is useful with one-mouse-button Apple laptops.


initscripts-cryptoswap A patch for Fedora's initscripts that adds support for encrypted swap.


lavtools-1.2-new-quicktime A patch for Dr. Rainer Johanni's lavtools. When applied, lavtools will use a more modern QuickTime for Linux distribution, allowing lavtools to be used with the Broadcast 2000 video editing application.


libgphoto2-2.1.1-openbsd A patch for libgphoto that allows it to run on OpenBSD.


libnice-0.1.13-vpn A kludge which allows the use of libnice on an OpenVPN client. See libnice task #7583.


linux-2.6.38-xen-passive-oprofile linux-2.6.39.rc5.git5-xen-passive-oprofile linux-3.0-xen-passive-oprofile linux-3.2-xen-passive-oprofile linux-3.5.3-xen-passive-oprofile A patch for the Linux kernel that enables passive profiling of unprivileged Xen domains.


mkCDrec-0.4.9-flyn Development of Gratien D'haese's Make CD-ROM Recovery utility is now performed using SourceForge. I have been given write access to the project's CVS tree, so you can get my contributions there.


movespam-arbitrary-headers A patch for the movespam Roundcube plugin which modifies the plugin to permit moving spam messages based on an arbitrary IMF header.


ncpfs- A patch for ncpfs that adds the ability to read passwords from the environment variable PASSWD to ncpmount. This makes ncpmount play nicely with pam_mount. Because environment variables are not a safe way to transmit passwords, pam_mount now uses a new technique.


netatalk-2.0.4-crosscompile Fixes Netatalk's configure script to support building in a cross-compile environment.


openpam-20030502-openbsd A patch for OpenPAM. When applied, OpenPAM should build on OpenBSD. The patch also fixes a few bugs in OpenPAM's su.


openssh-2.9p2-quiet A trivial patch for openssh which makes the -q quiet mode a little more quiet. I wrote this because I was tired of cron emailing unnecessary error output from ssh every time ssh was run.


pam_ccreds-ccreds_chkpwd-4.patch A patch for pam_ccreds that adds a setuid helper utility. This allows portions of the PAM module to execute with higher privileges than the calling application (e.g., xscreensaver).


pam-0.75-devfsd A patch for devfsd that allows it to work nicely with pam_console.


plip-slow A patch for the PLIP driver contained in the 2.4.3 version of the Linux kernel. This patch allows one to use PLIP with computers which have an interrupt-less parallel port and a slow processor.


quicktime4linux-010401-build A patch for Heroine Virtual's QuickTime for Linux library which, in my opinion, improves its build process. The project now uses autoconf, automake, etc. and shared libraries and RPMs are now easily built.


0001-Patch-to-replace-DAAP-related-code-with-libdmapshari.patch.gz Patch to replace DAAP-related code in Rhythmbox with libdmapsharing.


SDL-1.2.5-devfs A patch for SDL that fixes support for Linux's modern joystick device names (/dev/input/js?).


SDL-20020602-screensaver A patch for SDL. When applied, SDL provides a cross-platform means of enabling and disabling screensavers.


serial-5.05-actiontec A patch for Theodore Ts'o's Linux serial driver which adds very ugly support for Actiontec's 56K Internal PCI Call Waiting Modem. This patch causes the driver to be hard-wired to auto-detect this modem.


shadow_4.0.3-root_close A patch for the standard linux shadow utilities that casues login to retain its root privileges until it call PAM's close session code. This allows pam_mount to work properly with login and is correct behavior.


snes9x-1.26-esd A patch for Gary Henderson's snes9x which allows the SNES emulator to play sound through EsounD. The patch currently causes a lag in the emulator's audio, due to latency in EsounD.


spruce-0.5.9-fetchmail A patch for Jeffrey Stedfast's Spruce email client. This patch allows one to use the external program fetchmail to retrieve one's mail when Spruce's Check button is pressed. Once the patch is applied, look for the Use External Fetchmail Program check button under the accounts tab of the options menu.


spruce-0.5.9-metamail Another patch for Spruce. This patch allows MIME encoded attachments to be displayed using metamail. Look for the Display item in the Attachments menu.


tuxnes-0.75-sdl Development of TuxNES is now performed using SourceForge. I have been given write access to the project's CVS tree, so you can get my contributions there.


util-linux-2.11z-mountpoint A patch for util-linux that fixes umount's behavior when dealing with volumes remounted using --bind. When looking up data in /etc/mtab in order to unmount a volume, any mnt_dir match should take priority because unmounting by fsname is obsolete.


xawtv-3.24-quicktime A patch for Gerd Knorr's xawtv. When applied, streamer will be able to save captured video using the QuickTime format.


xawtv-3.48-yuv2 A patch for Gerd Knorr's xawtv. When applied, streamer will be able to save YUV2 captured video using the QuickTime format. YUV2 is 16 bits per pixel, rather than 24 like QuickTime's raw encoding.


xawtv-3.55-time A patch for Gerd Knorr's xawtv. When applied, streamer will accept a time, such as 3:52, as the argument to its -t option.


xawtv-3.64-joystick A patch for Gerd Knorr's xawtv. With this patch applied, fbtv may be controlled with a joystick.


xen-4.1.2-xl-command-line-domain-def A patch for Xen that modifies xl to allow the use of /dev/null as the domain configuration argument to its create option. xl treats the configuration argument /dev/null as a special case.


xen-4.1.0-local-vif-scripts A patch for Xen that allows the specification of local vif scripts that augment that standard scripts such as vif-bridge.


xine-0.9.11a-twos A trivial patch for xine which adds support for QuickTime files which contain twos encoded audio.


xine-lib-1-beta4-openbsd A patch for xine-lib that allows it to run on OpenBSD.


xine-ui-0.9.18-openbsd A patch for xine-ui that allows it to run on OpenBSD.


xmms-1.2.3-geometry A patch for XMMS which adds the standard --geometry command line option.


xmovie-1.8-vmscale A patch for Adam Williams' Xmovie. When applied, Xmovie will choose and switch to the most appropriate X video mode when playing back full screen video. This can save a lot of CPU cycles, as the CPU may not need to scale the video to the screen.


xmovie-1.9-vmscale A patch for Adam Williams' Xmovie that fixes the vidmode scaling code. As an added bonus, it fixes two lines in mpeg3io.h that were illegal in C, though fine in C++.


zsnes-1.337-gamepad-quit A nasty patch for the zsnes Super Nintendo emulator which allows one to quit the application by pressing L-R-Start on one's gamepad.