fallback-reboot is a last resort, when you need to remotely reboot a computer. It attempts to maximize its ability to get the job done by completely avoiding touching the hard disk; it opens no files, and it locks itself into memory to avoid swapping/paging. It also does not fork or exec. It includes optional cryptography.
Recent releases


Changes: gen-pas uses the python random module now, not whrandom, which is deprecated. Compilation prefers tcc -b if available, because that will do buffer overflow checking (although there are probably none in the code). This release builds against /usr/sfw's OpenSSL on Solaris 10. Tested on AIX 5.1 ML 4.


Changes: This release was ported to FreeBSD 5.4 Beta 1. The fallback- reboot-client can not only accept input from a TTY as before, but now also from a pipe or file.


Changes: This version supports AIX 5.1, understands prngd for entropy if /dev/u*random are unavailable, has a bit better installation system, and allows you to easily change the ports on which fallback-reboot and prngd are on via configure options.


Changes: Improved autoconf portability. A safeguard to require the fallback-reboot password to be at least 8 characters long. The rc script has been moved from S11 to S22. The rc script knows to remove /.fallback-reboot-passwd if it is 0 length, and doesn't attempt to run fallback-reboot. The rc script attempts to set a $PATH that is likely to include python. The Web page includes a FAQ list.


Changes: A minor DOS attack was fixed. This vulnerability was caused by writing daemon status to a potentially nonexistent tty. The client now understands cleartext, SHA-1, and RIPEMD-160, but the daemon by default only understands RIPEMD-160, or cleartext if you have no libcrypto available. The daemon should now know how to reread /.fallback-reboot-passwd if it receives a SIGUSR1 signal.