projects | github | twitter | rss | contact


These are patches I have written to various pieces of software and operating systems. Some of them are hacks and are not correct, and should not be used in production. Many of these are old and no longer needed or are not useful against recent versions of the software.

openbsd-boot_cbmem.diff (2016-11-04)
OpenBSD: add 'machine vesa X' and 'machine cbmem' commands to amd64 bootloader

openbsd-comic_neue_console.diff (2016-11-04)
OpenBSD: use Comic Neue as the default wscons font and support anti-aliased fonts in rasops

openbsd-acpithinkpad_fan_control.diff (2011-07-18)
OpenBSD: add semi-automated fan control to openbsd's acpithinkpad(4) based on maximum temperature readings from all of its sensors. When the temperature is within certain ranges, set the fan control down to level 1 or 2. If it gets too hot (or no temperature readings come back) fallback on the EC's auto mode which is what it is in by default (but is quite loud).

openbsd-biosboot_repost_video.diff (2011-06-07)
force biosboot to reset the video bios before displaying anything.

lbdb-mac_address_book_aliases.diff (2011-02-14)
make ABQuery of lbdb also search the nickname/alias field of the address book to find matches

adium-alert_while_away.diff (2011-01-05)
add an alert type to adium-1.4 that will only trigger when a message is received while the account it was received on is not available

rsync-show_current_file.diff (2010-10-28)
make rsync respond to SIGINFO and print the name of the file currently being transferred. useful for investigating long-running jobs where -v or --progress hasn't been specified.

mutt-interrupt_socket.diff (2010-01-17)
allow hung socket operations to be interrupted with control+c. useful for making mutt not wait forever after coming out of suspend.

mutt-message_cache_maildir.diff (2010-01-02)
a cheap hack to mutt to make it write its message cache files into a cur/ subdirectory as well as making sure a new/ subdirectory exists so mutt will recognize it as a maildir mailbox.

pidgin-log_away_messages.diff (2009-12-23)
make pidgin log the away messages of contacts when they go away, in both the log files and the state notification plugin

openbsd-btms_supress_spurious.diff (2009-05-07)
the mouse wheel on my apple bluetooth mouse is also a button, so frequently when trying to push the button, the wheel moves and triggers a scrolling event at the same time or right before or after it. in firefox, clicking the wheel to try to open a link in a new tab results in the page scrolling a bit just before clicking and the link moves out from under the cursor. in xterms, trying to paste by clicking the wheel results in it pasting and then scrolling up a bit.

ratpoison-native_virtuals.diff (2009-04-24)
duplicate the functionality of the ratpoison rpws virtual workspace script inside of ratpoison to avoid the expensive shell callouts and environment variable pollution

openbsd-rm_verbose.diff (2009-01-02)
add a -v verbose flag to rm

openbsd-ftpd_block_ie.diff (2008-12-17)
refuse ftpd connections from internet explorer users to prevent it from creating tons of duplicate connections/transfers.

openbsd-tcpdrop_netstat_output.diff (2008-12-16)
make tcpdrop(8) able to parse output from netstat(1), which separates things by dots.

sshd-drop_brute_force.diff (2008-01-12)
treat libssh-* clients as probes and drop them right away after connection to fend off annoying brute force scans

xorg-xf86_input_fujitouch_0.6.5_fujitsu_c.diff (2008-01-11)
make the fujitouch driver work in current xorg since it no longer calls the coordinate translation routine automatically.

ircd-hybrid-6.4+jcs.diff (2006-10-26)
makes opers in hybrid 6.4 act like chanops by default

courier-imap-1.7.2+radius.diff (2005-10-07)
this is a set of ugly patches to the openbsd port of courier-imap-1.7.2 that modifies the authpwd module to use radius authentication for the password, and the normal authpwd routines for everything else (login, home directory, etc.)

openbsd-usb_powerup_retry.diff (2005-10-07)
retry usb port setup a few times before giving up to allow slowly attaching devices like my 3g ipod to attach correctly

xfree86-powerbook_radeon_fix.diff (2005-10-07)
make the radeon driver work on a new 15" apple powerbook

xfce4-panel-siginfo.diff (2005-10-07)
make xfce4-panel respond to SIGINFO when in auto-hide mode, making it pop out for two seconds and hide again, as if it was moused over; useful for binding a key in a window manager that executes 'pkill -INFO xfce4-panel' to show the panel without using the mouse

ratpoison-1.4.0-panel.diff (2005-10-07)
reserve 3 pixels at the bottom of the screen for an auto-hiding panel or task bar (like xfce4-panel), handle unmanaged windows as always-on-top, and always bring them to the top whenever they might get overlapped

cvsweb-colored_deltas.diff (2005-10-07)
color change deltas based on their size. idea ripped from openbsd's cvsweb (which was an implementation of aaron campbell's idea by bob beck. he told me so!)

mantis-0.18.3-radius.diff (2005-10-07)
implements radius authentication for mantis 0.18.3. enable by setting $g_login_method to RADIUS and configure radius server/secret settings

popa3d-logging.diff (2005-05-25)
remove some chatty logging from popa3d and make authentication lines include the ip from where they came, suitable for reading by a pop-before-smtp daemon (such as

openbsd-adb_lockup.diff (2004-02-06)
for some reason, the adb controller on my powerbook starts acknowledging events (mouse movements and keystrokes) too slowly and fills up its internal queue of 32 events. when this condition happens, adb_pass_up() just ignores new events while not clearing its queue, making the keyboard and mouse stop responding until a reboot.

openbsd-ddb_console.diff (2001-12-07)
stupid hack to ddb in openbsd to jump to the console on a panic, before printing any debugging info

tkremind-no_null_reminders.diff (2001-11-13)
make tkremind not popup the daily reminders if there are none

Obsolete Patches

The following patches are obsolete for one reason or another. They may have been committed upstream or are no longer useful. They are here just for reference.

openbsd-est_speeds.diff (2008-12-16) (no longer needed due to acpi fix)
"If an EST frequency table isn't found, fake one up by interpolating values from the high/low voltages and frequencies. Replaces the old method of using the lower and upper frequencies only."

openbsd-em_match_thinkpad_x200.diff (2008-12-16) (committed)
hack to make the em(4) driver attach to the Intel ICH9 IGP M AMT on the lenovo thinkpad x200

openbsd-oqo_pckbc.diff (2007-02-05) (committed a better version that works on all keyboards)
hack for the pckb controller driver to support an apparently broken keyboard on the oqo model 01. the oqo's keyboard does not do xt scancode translation, but falsely reports that it does.

openbsd-airtools_current.diff (2006-03-25) (merged by someone else)
merge bsd airtools into openbsd-current as of 2002-04-02; breaks hostap

openbsd-atu_hidden_ap.diff (2005-10-07) (committed)
make atu(4) associate to access points with essid broadcasting disabled

xorg-oqo_siliconmotion.diff (2005-06-25) (committed to openbsd and xorg)
enable the odd 800x480 resolution used by the oqo model 01's lcd screen

openbsd-ieee80211_ipv6.diff (2004-10-08) (fixed by someone else)
quick hack to make ipv6 work on ipw(4) devices

openbsd-interface_descriptions.diff (2004-05-29) (committed)
support for interface descriptions under openbsd, manipulated through new ioctl calls

openbsd-iop_smartraid_2000s.diff (2004-01-10) (no longer needed?)
(proper) dpt 2005s support for openbsd

openbsd-wskbd_auto_attach.diff (2001-11-25) (committed)
patch to openbsd 2.9-stable to automatically attach usb keyboards to the default display without having to run 'wsconscfg -k'