Eric Andersen | 539eef6 | 2003-12-10 12:08:20 +0000 | [diff] [blame] | 1 | <!--#include file="header.html" --> |
| 2 | |
Eric Andersen | 539eef6 | 2003-12-10 12:08:20 +0000 | [diff] [blame] | 3 | <ul> |
Denis Vlasenko | 6573417 | 2008-08-21 22:10:47 +0000 | [diff] [blame] | 4 | |
Denis Vlasenko | c4e4b6b | 2008-08-25 22:03:41 +0000 | [diff] [blame] | 5 | <li> |
Denis Vlasenko | ea7c9b3 | 2008-09-25 10:39:10 +0000 | [diff] [blame] | 6 | <p>We want to thank the following companies which are providing support for the BusyBox project: |
Denis Vlasenko | c4e4b6b | 2008-08-25 22:03:41 +0000 | [diff] [blame] | 7 | <ul> |
| 8 | <li>AOE media, a <a href="http://www.aoemedia.com/typo3-development.html"> |
| 9 | TYPO3 development agency</a> contributes financially.</li> |
| 10 | <li><a href="http://www.analog.com/en/">Analog Devices, Inc.</a> provided |
| 11 | a <a href="http://docs.blackfin.uclinux.org/doku.php?id=bf537_quick_start"> |
| 12 | Blackfin development board</a> free of charge. |
| 13 | <a href="http://www.analog.com/blackfin">Blackfin</a> |
| 14 | is a NOMMU processor, and its availability for testing is invaluable. |
| 15 | If you are an embedded device developer, |
| 16 | please note that Analog Devices has entire Linux distribution available |
| 17 | for download for this board. Visit |
| 18 | <a href="http://blackfin.uclinux.org/">http://blackfin.uclinux.org/</a> |
| 19 | for more information. |
| 20 | </li> |
| 21 | </ul> |
| 22 | </p> |
| 23 | </li> |
| 24 | |
Denis Vlasenko | 5dcb43a | 2009-04-15 02:13:14 +0000 | [diff] [blame^] | 25 | <li><b>15 April 2009 -- BusyBox 1.14.0 (unstable), BusyBox 1.13.4 (stable)</b> |
| 26 | <p><a href="http://busybox.net/downloads/busybox-1.14.0.tar.bz2">BusyBox 1.14.0</a>. |
| 27 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_14_stable/">svn</a>, |
| 28 | <a href="http://busybox.net/downloads/fixes-1.14.0/">patches</a>, |
| 29 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 30 | <p><a href="http://busybox.net/downloads/busybox-1.13.4.tar.bz2">BusyBox 1.13.4</a>. |
| 31 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>, |
| 32 | <a href="http://busybox.net/downloads/fixes-1.13.4/">patches</a>, |
| 33 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 34 | |
| 35 | <p>Sizes of busybox-1.13.4 and busybox-1.14.0 (with equivalent config, static uclibc build):<pre> |
| 36 | text data bss dec hex filename |
| 37 | 785501 483 7036 793020 c19bc busybox.1.13.4/busybox |
| 38 | 788380 467 6960 795807 c249f busybox.1.14.0/busybox |
| 39 | 15361 0 0 15361 3c01 busybox.1.13.4/shell/hush.o |
| 40 | 20724 0 0 20724 50f4 busybox.1.14.0/shell/hush.o |
| 41 | </pre> |
| 42 | <p>Most of growth is in hush. The rest shrank a bit. |
| 43 | |
| 44 | <p>New applets: |
| 45 | <ul> |
| 46 | <li>flash_eraseall: by Sebastian Andrzej Siewior (bigeasy AT linutronix.de)</li> |
| 47 | <li>acpid,mkdosfs (aka mkfs.vfat),tunctl: by Vladimir</li> |
| 48 | <li>ftpd: by Adam Tkac</li> |
| 49 | <li>timeout: by Roberto Foglietta</li> |
| 50 | <li>ionice: adapted from Linux kernel' example by Walter Harms</li> |
| 51 | <li>mkpasswd: synonym to cryptpw. mkpasswd is in Debian, OTOH cryptpw was added to busybox earlier. Trying to make both camps happy by making those two applets just aliases. They are command-line compatible</li> |
| 52 | </ul> |
| 53 | |
| 54 | <p>Changes since previous release: |
| 55 | |
| 56 | <p>lash and msh are deprecated, please migrate to hush. |
| 57 | |
| 58 | <p>hush had many, many fixes and features added: here documents, arithmetic evaluation, function support, and all this works on NOMMU too, safely: 100kb-sized `command` and heredocs. Here document support, arithmetic evaluation, improved ${var} ops, other fixes are by Mike Frysinger (vapier AT gentoo.org). |
| 59 | |
| 60 | <p>Other changes: |
| 61 | <ul> |
| 62 | <li>libbb: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}. By Tito (farmatito AT tiscali.it)</li> |
| 63 | <li>libbb/sha1/256/512: major code shrink</li> |
| 64 | <li>libbb/lineedit: make history saving/loading concurrent-safe</li> |
| 65 | <li>libbb: shrink linked list ops. By xmaks AT email.cz</li> |
| 66 | <li>libbb: str2sockaddr shuld accept [IPv6] addr without port - wget 'ftp://[::1]/file' needs that to work</li> |
| 67 | <li>libbb: make bb_info_msg do atomic, unbuffered writes</li> |
| 68 | <li>adduser: allow adding to group 0; don't _create_ /etc/shadow, only append data if it exists</li> |
| 69 | <li>ash: fix mishandled ^C</li> |
| 70 | <li>ash: fix "ash -c 'exec 1>&0'" complaining that fd 0 is busy</li> |
| 71 | <li>ash: fix $IFS handling in read. Closes bug 235</li> |
| 72 | <li>ash: fix a case where we close wrong descriptor</li> |
| 73 | <li>ash: fix bad interaction between ash -c '....&' and bash compat</li> |
| 74 | <li>ash: fix miscalculation of memory needed for eval tree. Found by Timo Teras (timo.teras AT iki.fi)</li> |
| 75 | <li>ash: in dotrap(), do not clear gotsig[] for SIGINT if there is no handler for it, otherwise raise interrupt gets confused later</li> |
| 76 | <li>ash: make dot command search current directory first, as bash does</li> |
| 77 | <li>ash: make evaltree save/restore int suppression depth. Hopefully this fixes bug 189</li> |
| 78 | <li>ash: printf builtin with no arguments should not exit</li> |
| 79 | <li>awk: fix long field separators case. By Ian Wienand (ianw AT vmware.com)</li> |
| 80 | <li>awk: in BEGIN section $0 should be "", not "0"</li> |
| 81 | <li>awk: make "struct global" hack more robust wrt alignment. Closes bug 131</li> |
| 82 | <li>brctl: fix compilation on 2.4.x kernels</li> |
| 83 | <li>chat: treat timeout more correctly</li> |
| 84 | <li>chat: recognize RECORD directive</li> |
| 85 | <li>cksum, printenv: report errors via exitcode</li> |
| 86 | <li>cpio: add -p, -0 and -L options</li> |
| 87 | <li>crond,crontab: make cron directory location configurable</li> |
| 88 | <li>crond: correct more of logfile to 0666 (as usual, umask allows user to remove unwanted bits)</li> |
| 89 | <li>crond: put tasks in separate process groups</li> |
| 90 | <li>dc: fix the "base 2" patch omission of base not being set</li> |
| 91 | <li>depmod: accept and ignore -r. Linux kernel build needs this</li> |
| 92 | <li>depmod: fix -b option. By timo.teras AT iki.fi</li> |
| 93 | <li>udhcpd,dumpleases: write and use 64-bit current time in lease file. without it, determination of remaining lease time is unreliable</li> |
| 94 | <li>udhcpd: remember and record hostnames</li> |
| 95 | <li>dhcprelay: fix usage text. Simplify and make code more readable</li> |
| 96 | <li>dumpleases: fix -a option; show hostnames</li> |
| 97 | <li>udhcpc: fix a problem where we don't open listening socket fast enough</li> |
| 98 | <li>udhcpc: stop filtering environment passed to the script</li> |
| 99 | <li>udhcpd: add code which rejects lease files with suspicious or old timestamp</li> |
| 100 | <li>udhcpd: disable opton to have absolute lease times in lease file (that does not work with dumpleases)</li> |
| 101 | <li>dnsd: fix a number of bugs. Ideas by Ming-Ching Tiew (mctiew AT yahoo.com)</li> |
| 102 | <li>dpkg: better and shorter code to compare versions. Taken from "official" dpkg by Eugene T. Bordenkircher (eugebo AT gmail.com)</li> |
| 103 | <li>du: fix "du /dir /dir" case</li> |
| 104 | <li>env: support -uVAR=VAL</li> |
| 105 | <li>expand: fix incorrect expansion exactly on tab boundary; shrink the code</li> |
| 106 | <li>expr: a bit more robust handling of regexps with groups. Closes bug 87</li> |
| 107 | <li>find: support --mindepth</li> |
| 108 | <li>getty: fix handling of speed 0; stop using non-portable way of setting speeds</li> |
| 109 | <li>grep: support -z</li> |
| 110 | <li>gzip: fix gzip -dc bug caused by using stale getopt state</li> |
| 111 | <li>head: report file open errors with exitcode 1 (was happily returning 0)</li> |
| 112 | <li>httpd: set $HOST to Host: header value. By Tobias Poschwatta (tp AT fonz.de)</li> |
| 113 | <li>ifupdown: allow options to udhcpc to be configurable from .config</li> |
| 114 | <li>init: do not eat last char in messages; do not print duplicate "init:" prefix to syslog</li> |
| 115 | <li>init: fix a bug where on reload order of entries might be wrong</li> |
| 116 | <li>init: major improvement in documentation and signal handling. Lots of nasty, but hard to trip, races are fixed</li> |
| 117 | <li>init: reinstate proper handling of !ENABLE_FEATURE_USE_INITTAB</li> |
| 118 | <li>init: remove wait loop on restart, it may be dangerous</li> |
| 119 | <li>init: test for vt terminal with VT_OPENQRY, assume that anything else is TERM=vt102, not TERM=linux. Closes bug 195</li> |
| 120 | <li>inotifyd: add x, o, and u events</li> |
| 121 | <li>inotifyd: fix buffer overflow and "unreaped zombies" problem</li> |
| 122 | <li>inotifyd: exit if x event happened for all files</li> |
| 123 | <li>inotifyd: conserve resourses by closing unused inotify descriptors</li> |
| 124 | <li>insmod/modprobe: do not pass NULL to kernel as module parameter</li> |
| 125 | <li>ip: in "ip rule add from all table 1", "all" is taken as 0.0.0.0/32, whereas "any" and "default" would be 0.0.0.0/0. They must be all 0.0.0.0/0. Closes bug 57</li> |
| 126 | <li>iproute: fix ipXXX utilities trying to parse their applet name as their 1st parameter</li> |
| 127 | <li>klogctl: fix a problem where we don't terminate read data with '\0' and then misinterpret it</li> |
| 128 | <li>ls: do not follow links with -s. Closes bug 33</li> |
| 129 | <li>ls: implement -Q and -g (-g was accepted but ignored)</li> |
| 130 | <li>ls: make readlink error to not disrupt output (try ls -l /proc/self/fd)</li> |
| 131 | <li>man: better check for duplicated MANPATH</li> |
| 132 | <li>mdev: add support for - ("dont stop here") char</li> |
| 133 | <li>mdev: if /sys/class/block exists, don't scan /sys/block</li> |
| 134 | <li>mdev: ignore events with "$SUBSYSTEM" == "firmware" && "$ACTION" == "remove"</li> |
| 135 | <li>mdev: provide $SUBSYSTEM. By Vladimir</li> |
| 136 | <li>modprobe/insmod for 2.4: support compressed modules. By Guenter (lists AT gknw.net)</li> |
| 137 | <li>modprobe: emit "can't open 'modules.dep': (errno)" instead of "module not found"</li> |
| 138 | <li>modprobe: rework/speedup by Timo Teras (timo.teras AT iki.fi)</li> |
| 139 | <li>modutils-24: fix bad interaction of xzalloc with xrealloc_vector</li> |
| 140 | <li>mount: support "-O option"</li> |
| 141 | <li>mount: stop trying to mount swap partitions</li> |
| 142 | <li>mount: fix CIFS support</li> |
| 143 | <li>mountpoint: add -n option. By Vladimir</li> |
| 144 | <li>nslookup: allow usage of IPv6 addresses or hostnames for DNS server name; allow for port specification. Tested to work: "nslookup google.com [::1]:5353". glibc + IPv6 address of DNS server still does not work</li> |
| 145 | <li>popmaildir: fix several grave bugs with using memory past end of malloc block</li> |
| 146 | <li>printf: fix 1.12.0 breakage (from %*d fix), it was misinterpreting "*"</li> |
| 147 | <li>printf: make integer format strings print long long-sized values</li> |
| 148 | <li>rmmod: fix bug 263 "modutils/rmmod can't remove modules with dash in name on 2.4 kernels"</li> |
| 149 | <li>sendmail: document and fix usage of fd #4, fix check for helper failure</li> |
| 150 | <li>sendmail: update by Vladimir</li> |
| 151 | <li>seq: add -w support. By Natanael Copa</li> |
| 152 | <li>seq: add support for "-s separator"</li> |
| 153 | <li>stat: make stat -f show filesystem "ID:" as coreutils does</li> |
| 154 | <li>sysctl: fix another corner case with "dots and slashes"</li> |
| 155 | <li>sysctl: fix broken -p [file]. Closes bug 231</li> |
| 156 | <li>sysctl: support recursing if name is a directory: "sysctl net.ipv4.conf". Patch by xmaks AT email.cz</li> |
| 157 | <li>syslogd: comment out file locking; make signal handling syncronous</li> |
| 158 | <li>syslogd: create logfile with 0666 (affected by umask as usual), not 0600</li> |
| 159 | <li>tail: fix tail +N syntax not working. Closes bug 221</li> |
| 160 | <li>tar: do not change new tarfile's mode, GNU tar doesn't do it</li> |
| 161 | <li>tar: support GNU tar's "base256" encoding</li> |
| 162 | <li>telnetd: correctly output 0xff char</li> |
| 163 | <li>telnetd: do not advertise TELNET_LFLOW, we do not support it properly</li> |
| 164 | <li>tftp: when we infer local name from remote (-r [/]path/path/file), strip path. This mimics wget and is generally more intuitive</li> |
| 165 | <li>timeout: fix parsing of -t NUM on MMU</li> |
| 166 | <li>top: make it work again on 2.4 kernels. Closes bug 125</li> |
| 167 | <li>tr: fix overflow in expand and complement, fix stop after [:class:]</li> |
| 168 | <li>tr: support -C as synonym to -c</li> |
| 169 | <li>tr: support [:xdigit:], fix handling of ranges and [x]'s</li> |
| 170 | <li>traceroute: rewrite. Do not emit raw IP packets, instead send UDP or ICMP packets and rely on the kernel to form IP headers, select source IP and interface</li> |
| 171 | <li>uname: add support for -i and -o, fix printing of unknown -p value with -a option</li> |
| 172 | <li>uname: support long options</li> |
| 173 | <li>unexpand: fix incorrect expansion</li> |
| 174 | <li>unzip: fix thinko with le/be conv and size. Closes bug 129</li> |
| 175 | <li>vi: fix several instances of major goof: when text grows, text[] might get reallocated! We were keeping around pointers to old place</li> |
| 176 | <li>vi: speedup and code shrink. By Walter Harms</li> |
| 177 | <li>volume_id: abort early on read failures. Should help with probing missing fdd's</li> |
| 178 | <li>volumeid: fix bug 249 "findfs finds the wrong partition"</li> |
| 179 | <li>wget: --post-data support. By Harald Kuthe (harald-tuxbox AT arcor.de)</li> |
| 180 | <li>wget: fix --header handling</li> |
| 181 | <li>wget: more robust EINTR detection</li> |
| 182 | </ul> |
| 183 | </p> |
| 184 | |
Denis Vlasenko | 0103417 | 2009-03-08 01:00:16 +0000 | [diff] [blame] | 185 | <li><b>8 March 2009 -- BusyBox 1.13.3 (stable)</b> |
| 186 | <p><a href="http://busybox.net/downloads/busybox-1.13.3.tar.bz2">BusyBox 1.13.3</a>. |
| 187 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>, |
| 188 | <a href="http://busybox.net/downloads/fixes-1.13.3/">patches</a>, |
| 189 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 190 | |
| 191 | <p>1.13.3 is a bug fix release. It has fixes for awk, depmod, init, killall, mdev, |
Denis Vlasenko | c8985bf | 2009-03-08 01:06:18 +0000 | [diff] [blame] | 192 | modprobe, printf, syslogd, tar, top, unzip, wget. |
Denis Vlasenko | 0103417 | 2009-03-08 01:00:16 +0000 | [diff] [blame] | 193 | </p> |
| 194 | </li> |
| 195 | |
Denis Vlasenko | b2ec038 | 2008-12-31 03:43:24 +0000 | [diff] [blame] | 196 | <li><b>31 December 2008 -- BusyBox 1.13.2 (stable), BusyBox 1.12.4 (stable)</b> |
| 197 | <p><a href="http://busybox.net/downloads/busybox-1.13.2.tar.bz2">BusyBox 1.13.2</a>. |
| 198 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>, |
| 199 | <a href="http://busybox.net/downloads/fixes-1.13.2/">patches</a>, |
| 200 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 201 | <p><a href="http://busybox.net/downloads/busybox-1.12.4.tar.bz2">BusyBox 1.12.4</a>. |
| 202 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>, |
| 203 | <a href="http://busybox.net/downloads/fixes-1.12.4/">patches</a>, |
| 204 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 205 | |
| 206 | <p>Bug fix releases. 1.13.2 has fixes for crond, dc, init, ip, printf. |
| 207 | 1.12.4 has fixes for ip and printf. |
| 208 | </p> |
| 209 | </li> |
| 210 | |
Denis Vlasenko | f7d87f9 | 2008-11-29 06:57:53 +0000 | [diff] [blame] | 211 | <li><b>29 November 2008 -- BusyBox 1.13.1 (stable), BusyBox 1.12.3 (stable)</b> |
| 212 | <p><a href="http://busybox.net/downloads/busybox-1.13.1.tar.bz2">BusyBox 1.13.1</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 213 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>, |
Denis Vlasenko | f7d87f9 | 2008-11-29 06:57:53 +0000 | [diff] [blame] | 214 | <a href="http://busybox.net/downloads/fixes-1.13.1/">patches</a>, |
| 215 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 216 | <p><a href="http://busybox.net/downloads/busybox-1.12.3.tar.bz2">BusyBox 1.12.3</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 217 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>, |
Denis Vlasenko | f7d87f9 | 2008-11-29 06:57:53 +0000 | [diff] [blame] | 218 | <a href="http://busybox.net/downloads/fixes-1.12.3/">patches</a>, |
| 219 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 220 | |
Denis Vlasenko | d16950d | 2008-11-29 09:05:50 +0000 | [diff] [blame] | 221 | <p>Bug fix releases. 1.13.1 has fixes for ash, option parsing, id, init, |
| 222 | inotifyd, klogd, line editing and modprobe. 1.12.3 has fixes |
Denis Vlasenko | f7d87f9 | 2008-11-29 06:57:53 +0000 | [diff] [blame] | 223 | for option parsing and line editing. |
| 224 | </p> |
| 225 | </li> |
| 226 | |
Denis Vlasenko | 6f05874 | 2008-11-10 22:23:20 +0000 | [diff] [blame] | 227 | <li><b>10 November 2008 -- BusyBox 1.13.0 (unstable), BusyBox 1.12.2 (stable)</b> |
| 228 | <p><a href="http://busybox.net/downloads/busybox-1.13.0.tar.bz2">BusyBox 1.13.0</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 229 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_13_stable/">svn</a>, |
Denis Vlasenko | 6f05874 | 2008-11-10 22:23:20 +0000 | [diff] [blame] | 230 | <a href="http://busybox.net/downloads/fixes-1.13.0/">patches</a>, |
| 231 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 232 | <p><a href="http://busybox.net/downloads/busybox-1.12.2.tar.bz2">BusyBox 1.12.2</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 233 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>, |
Denis Vlasenko | 6f05874 | 2008-11-10 22:23:20 +0000 | [diff] [blame] | 234 | <a href="http://busybox.net/downloads/fixes-1.12.2/">patches</a>, |
| 235 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 236 | |
| 237 | <p>Sizes of busybox-1.12.2 and busybox-1.13.0 (with equivalent config, static uclibc build):<pre> |
| 238 | text data bss dec hex filename |
| 239 | 778291 551 7856 786698 c010a busybox-1.12.2/busybox |
| 240 | 778981 551 7852 787384 c03b8 busybox-1.13.0/busybox |
| 241 | </pre> |
| 242 | |
| 243 | <p>New applets: blkid, devmem |
| 244 | |
| 245 | <p>Changes since previous release: |
| 246 | <ul> |
| 247 | <li>mail applets: total overhaul. Vladimir as usual</li> |
| 248 | <li>ash: fix "while kill -0 $child; do true; done" looping forever</li> |
| 249 | <li>ash: fix NOEXEC mode - we were forgetting to pass environment</li> |
| 250 | <li>ash: fix a bug in standalone mode (corrupted getopt state)</li> |
| 251 | <li>ash: optionally support ">&file" and "&>file" redirections</li> |
| 252 | <li>awk: bitwise ops cast oprands and results to unsigned long, not signed. closes bug 4774</li> |
| 253 | <li>awk: fix typo in atan2 code. closes bug 5594</li> |
| 254 | <li>awk: improve handling of negative numbers in bitwise ops; fix handling of octal costants</li> |
| 255 | <li>awk: support hex constants</li> |
| 256 | <li>basename: fix error code (again)</li> |
| 257 | <li>cpio: emit TRAILER even when hard links were found. By Pascal Bellard (pascal.bellard AT ads-lu.com)</li> |
| 258 | <li>crontab: do not destroy STDIN_FILENO, editor may need it (crontab -e)</li> |
| 259 | <li>dc: support for bases 2 and 8, by Nate Case (ncase AT xes-inc.com)</li> |
| 260 | <li>dhcpc: treat "discover...select...discover..." loop the same way as "discover...discover...discover..."</li> |
| 261 | <li>dpkg: add dpkg -l PACKAGE_PATTERN. By Peter Korsgaard</li> |
| 262 | <li>fbset: fix mode matching code: original code may trigger false positive.</li> |
| 263 | <li>findfs: fix LUKS and FAT detection routines; do not exit if corrupted FAT fs makes us try to seek past the end</li> |
| 264 | <li>grep: fix 'echo aaa | grep -o a' + ENABLE_EXTRA_COMPAT case. By Natanael Copa</li> |
| 265 | <li>grep: fix EXTRA_COMPAT grep to honor -E and -i</li> |
| 266 | <li>gunzip: restore mtime</li> |
| 267 | <li>halt: reinstate -w even if !FEATURE_WTMP</li> |
| 268 | <li>hexdump: fix SEGV in hexdump -e ""</li> |
| 269 | <li>httpd: pass "Accept:" and "Accept-Language:" header to CGI scripts (Alina Friedrichsen)</li> |
| 270 | <li>hush: fix environment and memory leaks</li> |
| 271 | <li>hush: fix trashing of environment by local env vars: a=a; a=b cmd; - a was unset</li> |
| 272 | <li>id: improve compatibility with coreutils. By Tito Ragusa</li> |
| 273 | <li>inetd: fix a case when we have zero services</li> |
| 274 | <li>inetd: use config parser. by Vladimir</li> |
| 275 | <li>init: set stderr to NONBLOCK</li> |
| 276 | <li>insmod: fix detection of open failure</li> |
| 277 | <li>install: support -D</li> |
| 278 | <li>ip: fix ip route rejecting dotted quads as prefix</li> |
| 279 | <li>ip: route metric support (Natanael Copa)</li> |
| 280 | <li>iplink: accept shorthands for "address" keyword: "ip link set address 00:11:22:33:44:55"</li> |
| 281 | <li>kbd_mode: support -C TTY</li> |
| 282 | <li>kill[all[5]]: accept -s SIG too. By Steve Bennett (steveb AT workware.net.au)</li> |
| 283 | <li>klogd: handle many lines at once. By Steve Bennett (steveb AT workware.net.au)</li> |
| 284 | <li>less: support -I to be able to search case-insensitively</li> |
| 285 | <li>less: add optional line number toggle and resizing on window resize</li> |
| 286 | <li>libbb: do not reject floating point strings like ".15"</li> |
| 287 | <li>lineedit: fix bug 5824 "since rev 23530 fdisk and ed don't work any more"</li> |
| 288 | <li>lineedit: fix problems with empty commands in history</li> |
| 289 | <li>login: fix /etc/nologin handling</li> |
| 290 | <li>man: fix inconsistencies in handling $MANPATH</li> |
| 291 | <li>mdev: support match by major,minor. See bug 4714</li> |
| 292 | <li>modprobe-small: make insmod command line compatible</li> |
| 293 | <li>modprobe-small: support "blacklist" keyword in /etc/modules/MODULE_NAME</li> |
| 294 | <li>modprobe: fix a segfault when modprobe is called with no arguments at all</li> |
| 295 | <li>modutils/*: rewrite by Timo Teras (timo.teras AT iki.fi)</li> |
| 296 | <li>mount: fix "-o parm1 -o parm2" not accumulating</li> |
| 297 | <li>nmeter: 4k buffers are too small for /proc files, make them dynamically sized with 16k upper limit</li> |
| 298 | <li>ping: SO_RCVBUF must be bigger than packet size, otherwise large ping packets might fail to be received</li> |
| 299 | <li>route: fix for 64-bit BE machines by Seonghun Lim (wariua AT gmail.com)</li> |
| 300 | <li>rpm: fix incompatibilities which prevented rpm -i foo.src.rpm</li> |
| 301 | <li>runsvdir: support runsvdir-as-init</li> |
| 302 | <li>setarch: do not try to use non-existent data in argv[]</li> |
| 303 | <li>setfont: support -m and -C, support -m TEXTUAL_MAP (by Vladimir)</li> |
| 304 | <li>setup_environment: cd $HOME regardless of clear_env value</li> |
| 305 | <li>slattach: preserve speed in non-raw mode. By Matthieu Castet (matthieu.castet AT parrot.com)</li> |
| 306 | <li>start_stop_daemon: accept (and ignore) -R PARAM</li> |
| 307 | <li>sv: make default service dir configurable (Vladimir wants it)</li> |
| 308 | <li>sysctl: fix bug 3894 (by Kryzhanovskyy Maksym)</li> |
| 309 | <li>tar: fix bug 3844: non-root tar does not preserve perms</li> |
| 310 | <li>telnetd: handle emacs M-DEL and IAC-NOP. by Jim Cathey (jcathey AT ciena.com)</li> |
| 311 | <li>top: fix "top -d 1" (bug 5144)</li> |
| 312 | <li>top: optional SMP support by Vineet Gupta (vineetg76 AT gmail.com)</li> |
| 313 | <li>trylink: make messages less confusing</li> |
| 314 | <li>unzip: handle "central directory". needed for OpenOffice, gmail attachment .zips etc</li> |
| 315 | <li>vi: Rob's algorithm of reading and matching ESC sequences (nice work btw!)</li> |
| 316 | <li>vi: deal with EOF/error on stdin and with input NULs</li> |
| 317 | <li>vi: fix uninitialized last_search_pattern (bug 5794)</li> |
| 318 | <li>vi: handle chars 0x80, 0x81 etc correctly</li> |
| 319 | <li>volume identification: abolish /proc/partitions and /proc/cdroms scanning. It does not catch volume managers and such. Simply scan /dev/* for any block devices</li> |
| 320 | <li>watchdog: WDIOC_SETTIMEOUT accepts seconds, not milliseconds</li> |
| 321 | <li>watchdog: add -T option</li> |
| 322 | </ul> |
| 323 | <p> |
| 324 | The email address gpl@busybox.net is the recommended way to contact |
| 325 | the Software Freedom Law Center to report BusyBox license violations. |
| 326 | </p> |
Denis Vlasenko | f7d87f9 | 2008-11-29 06:57:53 +0000 | [diff] [blame] | 327 | </li> |
Denis Vlasenko | 6f05874 | 2008-11-10 22:23:20 +0000 | [diff] [blame] | 328 | |
Denis Vlasenko | 22eb410 | 2008-09-28 18:33:02 +0000 | [diff] [blame] | 329 | <li><b>28 September 2008 -- BusyBox 1.12.1 (stable), BusyBox 1.11.3 (stable)</b> |
| 330 | <p><a href="http://busybox.net/downloads/busybox-1.12.1.tar.bz2">BusyBox 1.12.1</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 331 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>, |
Denis Vlasenko | 22eb410 | 2008-09-28 18:33:02 +0000 | [diff] [blame] | 332 | <a href="http://busybox.net/downloads/fixes-1.12.1/">patches</a>, |
| 333 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 334 | <p><a href="http://busybox.net/downloads/busybox-1.11.3.tar.bz2">BusyBox 1.11.3</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 335 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>, |
Denis Vlasenko | 22eb410 | 2008-09-28 18:33:02 +0000 | [diff] [blame] | 336 | <a href="http://busybox.net/downloads/fixes-1.11.3/">patches</a>, |
| 337 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 338 | <p> |
| 339 | Bugfix-only releases for 1.11.x and 1.12.x branches. |
| 340 | </p> |
| 341 | </li> |
| 342 | |
Denis Vlasenko | 6573417 | 2008-08-21 22:10:47 +0000 | [diff] [blame] | 343 | <li><b>21 August 2008 -- BusyBox 1.12.0 (unstable), BusyBox 1.11.2 (stable)</b> |
Bernhard Reutner-Fischer | 8c8601c | 2008-08-21 10:54:55 +0000 | [diff] [blame] | 344 | <p><a href="http://busybox.net/downloads/busybox-1.12.0.tar.bz2">BusyBox 1.12.0</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 345 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_12_stable/">svn</a>, |
Bernhard Reutner-Fischer | 8c8601c | 2008-08-21 10:54:55 +0000 | [diff] [blame] | 346 | <a href="http://busybox.net/downloads/fixes-1.12.0/">patches</a>, |
| 347 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
Denis Vlasenko | 6573417 | 2008-08-21 22:10:47 +0000 | [diff] [blame] | 348 | <p><a href="http://busybox.net/downloads/busybox-1.11.2.tar.bz2">BusyBox 1.11.2</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 349 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>, |
Denis Vlasenko | 6573417 | 2008-08-21 22:10:47 +0000 | [diff] [blame] | 350 | <a href="http://busybox.net/downloads/fixes-1.11.2/">patches</a>, |
| 351 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
| 352 | |
| 353 | <p>Sizes of busybox-1.11.2 and busybox-1.12.0 (with equivalent config, static uclibc build):<pre> |
Denis Vlasenko | c1b39ed | 2008-08-21 10:19:28 +0000 | [diff] [blame] | 354 | text data bss dec hex filename |
Denis Vlasenko | 6573417 | 2008-08-21 22:10:47 +0000 | [diff] [blame] | 355 | 829687 617 7052 837356 cc6ec busybox-1.11.2/busybox |
Denis Vlasenko | c1b39ed | 2008-08-21 10:19:28 +0000 | [diff] [blame] | 356 | 822961 594 6832 830387 cabb3 busybox-1.12.0/busybox |
| 357 | </pre> |
| 358 | |
| 359 | <p>New applets: rdev (Grant Erickson), setfont, showkey (both by Vladimir) |
| 360 | |
Denis Vlasenko | 6cd36bc | 2008-08-22 11:16:52 +0000 | [diff] [blame] | 361 | <p>Most significant changes since previous release (please report any regression): |
Denis Vlasenko | c1b39ed | 2008-08-21 10:19:28 +0000 | [diff] [blame] | 362 | <ul> |
Bernhard Reutner-Fischer | c397792 | 2008-08-21 16:08:06 +0000 | [diff] [blame] | 363 | <li>ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"</li> |
| 364 | <li>ash: dont allow e.g. exec <&10 to attach to script's fd! </li> |
| 365 | <li>ash: fix a bug where redirection fds were not closed afterwards. optimize close+fcntl(DUPFD) into dup2</li> |
| 366 | <li>ash: fix segfault in "command -v"</li> |
| 367 | <li>ash: fix very weak $RANDOM generator</li> |
| 368 | <li>ash: prevent exec NN>&- from closing fd used for script reading</li> |
| 369 | <li>ash: teach ash about 123>file. It could take only 0..9 before</li> |
| 370 | <li>hush: fix a case where "$@" must expand to no word at all</li> |
| 371 | <li>hush: fix mishandling of a'b'c=fff as assignments. They are not</li> |
| 372 | <li>hush: fix non-detection of builtins and applets in "v=break; ...; $v; ..." case</li> |
| 373 | <li>hush: fix "while false; ..." exitcode; add testsuites</li> |
| 374 | <li>hush: support "case...esac" statements (~350 bytes of code)</li> |
| 375 | <li>hush: support "break [N]" and "continue [N]" statements</li> |
| 376 | <li>hush: support "for if in do done then; do echo $if; done" case</li> |
| 377 | <li>hush: support "for v; do ... done" syntax (implied 'in "$@"')</li> |
| 378 | <li>hush: support $_NUMBERS variable names</li> |
| 379 | <li>libbb: unified config parser (by Vladimir). This change affected many applets</li> |
Denis Vlasenko | c1b39ed | 2008-08-21 10:19:28 +0000 | [diff] [blame] | 380 | </ul> |
| 381 | |
Denis Vlasenko | 6cd36bc | 2008-08-22 11:16:52 +0000 | [diff] [blame] | 382 | <p>Other changes: |
Denis Vlasenko | c1b39ed | 2008-08-21 10:19:28 +0000 | [diff] [blame] | 383 | <ul> |
Bernhard Reutner-Fischer | c397792 | 2008-08-21 16:08:06 +0000 | [diff] [blame] | 384 | <li>libbb: dump: do not use uninitialized memory (closes bug 4364)</li> |
| 385 | <li>libbb: fix bb_strtol[l]'s check for "-" (closes bug 4174)</li> |
| 386 | <li>libbb: fix --help to not affect "test --help"</li> |
| 387 | <li>libbb: fix mishandling of "all argv are opts" in getopt32()</li> |
| 388 | <li>libbb: getopt32() should not ever touch argv[0] (even read)</li> |
| 389 | <li>libbb: introduce and use xrealloc_vector</li> |
| 390 | <li>libbb: [x]fopen_for_{read,write} introduced and used (by Vladimir)</li> |
| 391 | <li>lineedit: fix use-after-free</li> |
| 392 | <li>libunarchive: refactor handling of archived files. "tar f file.tar.lzma" now works too</li> |
| 393 | <li>bb_strtoXXX: close bug 4174 (potential use of buf[-1])</li> |
| 394 | <li>open_transformer: don't leak file descriptor</li> |
| 395 | <li>open_transformer: fix bug of calling exit instead of _exit</li> |
| 396 | <li>arp: without -H type, assume "ether" (closes bug 4564)</li> |
| 397 | <li>ar: reuse existing ar unpacking code</li> |
| 398 | <li>awk: fix a case with multiple -f options. Simplify -f file reading. </li> |
| 399 | <li>build system: introduce and use FAST_FUNC: regparm on i386, otherwise no-op</li> |
| 400 | <li>bunzip2: fix an uncompression error (by Rob Landley rob AT landley.net)</li> |
| 401 | <li>b[un]zip2, g[un]zip: unlink destination if -f is given (closes bug 3854)</li> |
| 402 | <li>comm: almost total rewrite</li> |
| 403 | <li>cpio: fix -m to actually work as expected (by Pascal Bellard)</li> |
| 404 | <li>cpio: internalize archive_xread_all_eof, add a few paranoia checks for corrupted cpio files</li> |
| 405 | <li>cpio: make long opts depend only on ENABLE_GETOPT_LONG</li> |
| 406 | <li>cpio: on unpack, limit filename length to 8k</li> |
| 407 | <li>cpio: support some long options</li> |
| 408 | <li>crond: use execlp instead of execl</li> |
| 409 | <li>cut: fix buffer overflow (closes bug 4544)</li> |
| 410 | <li>envdir: fix "envdir" (no params at all) and "envdir dir" cases</li> |
| 411 | <li>findfs: make it use setuid-ness of busybox binary</li> |
| 412 | <li>fsck: use getmntent_r instead of open-coded parsing (by Vladimir)</li> |
| 413 | <li>fuser: a bit of safety in scanf</li> |
| 414 | <li>grep: option to use GNU regex matching instead of POSIX one. This fixes problems with NULs in files being scanned, but costs +800 bytes</li> |
| 415 | <li>halt: signal init regardless of ENABLE_INIT</li> |
| 416 | <li>httpd: add homedir directive specially for (and by) Walter Harms wharms AT bfs.de</li> |
| 417 | <li>ifupdown: /etc/network/interfaces can have comments with leading blanks</li> |
| 418 | <li>ifupdown: fixes for custom MAC address (by Wade Berrier wberrier AT gmail.com)</li> |
| 419 | <li>ifupdown: fixes for shutdown of DHCP-managed interfaces (by Wade Berrier wberrier AT gmail.com)</li> |
| 420 | <li>inetd: do not trash errno in signal handlers; in CHLD handler, stop looping through services when pid is found</li> |
| 421 | <li>insmod: users report that "|| defined(__powerpc__)" is missing</li> |
| 422 | <li>install: do not chown intermediate directories with install -d (by Natanael Copa)</li> |
| 423 | <li>install: fix long option not taking params (closes bug 4584)</li> |
| 424 | <li>lpd,lpr: send/receive ACKs after filenames, not only after file bodies</li> |
| 425 | <li>ls: fix a bug where we may use uninintialized variable</li> |
| 426 | <li>man: add handling of "man links", by Ivana Varekova varekova AT redhat.com</li> |
| 427 | <li>man: fix a case when a full pathname to manpage is given</li> |
| 428 | <li>man: fix inverted cat/man bool variable</li> |
| 429 | <li>man: fix missed NULL termination of an array</li> |
| 430 | <li>man: mimic "no manual entry for 'bogus'" message and exitcode</li> |
| 431 | <li>man: support cat pages too (by Jason Curl jcurlnews AT arcor.de)</li> |
| 432 | <li>man: teach it to use .lzma if requested by .config</li> |
| 433 | <li>mdev: check for "/block/" substring for block dev detection</li> |
| 434 | <li>mdev: do not complain if mdev.conf does not exist</li> |
| 435 | <li>mdev: if device was moved at creation, at removal correctly remove it from moved location and also remove symlinks to it</li> |
| 436 | <li>mdev: support for serializing hotplug</li> |
| 437 | <li>mdev, init: use shared code for fd sanitization</li> |
| 438 | <li>mkdir: fix "uname 0222; mkdir -p foo/bar" case (by Doug Graham dgraham AT nortel.com)</li> |
| 439 | <li>modprobe: support for /etc/modprobe.d (by Timo Teras)</li> |
| 440 | <li>modprobe: use buffering line reads (fgets()) instead of reads()</li> |
| 441 | <li>modutils: optional modprobe-small (by Vladimir), 15kb smaller than standard one</li> |
| 442 | <li>mount: support for "-o mand" and "[no]relatime"</li> |
| 443 | <li>mount: support nfs mount option "nordiplus" (by Octavian Purdila opurdila AT ixiacom.com)</li> |
| 444 | <li>mount: support "relatime" / "norelatime"</li> |
| 445 | <li>mount: testsuite for "-o mand"</li> |
| 446 | <li>msh: fix "while... continue; ..." (closes bug 3884)</li> |
| 447 | <li>mv: fix a case when we move dangling symlink across mountpoints</li> |
| 448 | <li>netstat: optional -p support (by L. Gabriel Somlo somlo AT cmu.edu)</li> |
| 449 | <li>nmeter: fix read past the end of a buffer (closes bug 4594)</li> |
| 450 | <li>od, hexdump: fix bug where xrealloc may move pointer, leaving other pointers dangling (closes bug 4104)</li> |
| 451 | <li>pidof/killall: allow find_pid_by_name to find running processes started as scripts_with_name_longer_than_15_bytes.sh (closes bug 4054)</li> |
| 452 | <li>printf: do not print garbage on "%Ld" (closes bug 4214)</li> |
| 453 | <li>printf: fix %b, fix several bugs in %*.*, fix compat issues with aborting too early, support %zd; expand testsuite</li> |
| 454 | <li>printf: protect against bogus format specifiers (closes bug 4184)</li> |
| 455 | <li>sendmail: updates from Vladimir:</li> |
| 456 | <li>sendmail: do not discard all headers</li> |
| 457 | <li>sendmail: do not ignore CC; accept to: and cc: case-insensitively. +20 bytes</li> |
| 458 | <li>sendmail: fixed mail recipient address</li> |
| 459 | <li>sendmail: fixed SEGV if sender address is missed</li> |
| 460 | <li>sendmail: use HOSTNAME instead of HOST when no server is explicitly specified</li> |
| 461 | <li>sleep: if FANCY && DESKTOP, support fractional seconds, minutes, hours and so on (coreutils compat)</li> |
| 462 | <li>ssd: CLOSE_EXTRA_FDS in MMU case too</li> |
| 463 | <li>ssd: do not stat -x EXECUTABLE, it is not needed anymore</li> |
| 464 | <li>ssd: fix -a without -x case</li> |
| 465 | <li>ssd: use $PATH</li> |
| 466 | <li>tar: fix handling of tarballs with symlinks with size field != 0</li> |
| 467 | <li>tar: handle autodetection for tiny .tar.gz files too, simplify autodetection</li> |
| 468 | <li>taskset: fix some careless code in both fancy and non-fancy cases. -5 bytes for fancy, +5 for non-fancy</li> |
| 469 | <li>tee: fix infinite looping on open error (echo asd | tee "")</li> |
| 470 | <li>tee: "-" is a name for stdout, handle it that way</li> |
| 471 | <li>telnetd: fix issue file printing</li> |
| 472 | <li>test: fix parser to prefer binop over unop, as coreutils does</li> |
| 473 | <li>testsuite: uniformly use $ECHO with -n -e</li> |
| 474 | <li>time: don't segfault with no arguments</li> |
| 475 | <li>touch: support -r REF_FILE if ENABLE_DESKTOP (needed for blackfin compile)</li> |
| 476 | <li>tr: fix "access past the end of a string" bug 4354</li> |
| 477 | <li>tr: fix "tr [=" case (closes bug 4374)</li> |
| 478 | <li>tr: fix yet another access past the end of a string (closes bug 4374)</li> |
| 479 | <li>unlzma: fix memory leak (by Pascal Bellard)</li> |
| 480 | <li>vi: fix reversed checks for underflow</li> |
| 481 | <li>vi: using array data after it fell out of scope is stupid</li> |
| 482 | <li>xargs: fix -e default to match newer GNU xargs, add SUS mandated -E (closes bug 4414)</li> |
| 483 | <li>other fixes and code size reductions in many applets</li> |
Denis Vlasenko | c1b39ed | 2008-08-21 10:19:28 +0000 | [diff] [blame] | 484 | </ul> |
Denis Vlasenko | c1b39ed | 2008-08-21 10:19:28 +0000 | [diff] [blame] | 485 | </p> |
| 486 | |
Denis Vlasenko | e18d21d | 2008-07-11 22:11:50 +0000 | [diff] [blame] | 487 | <li><b>12 July 2008 -- BusyBox 1.11.1 (stable)</b> |
Bernhard Reutner-Fischer | 8c8601c | 2008-08-21 10:54:55 +0000 | [diff] [blame] | 488 | <p><a href="http://busybox.net/downloads/busybox-1.11.1.tar.bz2">BusyBox 1.11.1</a>. |
Bernhard Reutner-Fischer | 9b143a9 | 2008-12-18 00:43:31 +0000 | [diff] [blame] | 489 | (<a href="http://sources.busybox.net/index.py/branches/busybox_1_11_stable/">svn</a>, |
Bernhard Reutner-Fischer | 8c8601c | 2008-08-21 10:54:55 +0000 | [diff] [blame] | 490 | <a href="http://busybox.net/downloads/fixes-1.11.1/">patches</a>, |
| 491 | <a href="http://busybox.net/fix.html">how to add a patch</a>)</p> |
Denis Vlasenko | e18d21d | 2008-07-11 22:11:50 +0000 | [diff] [blame] | 492 | <p> |
| 493 | Bugfix-only release for 1.11.x branch. It contains fixes for awk, |
| 494 | bunzip2, cpio, ifupdown, ip, man, start-stop-daemon, uname and vi. |
| 495 | </p> |
Bernhard Reutner-Fischer | c397792 | 2008-08-21 16:08:06 +0000 | [diff] [blame] | 496 | </li> |
Denis Vlasenko | e18d21d | 2008-07-11 22:11:50 +0000 | [diff] [blame] | 497 | |
Denis Vlasenko | ff814f8 | 2008-07-11 09:55:58 +0000 | [diff] [blame] | 498 | <li><b>11 July 2008 -- HOWTO is updated</b> |
| 499 | <p> |
Bernhard Reutner-Fischer | 8c8601c | 2008-08-21 10:54:55 +0000 | [diff] [blame] | 500 | <a href="http://busybox.net/~vda/HOWTO/i486-linux-uclibc/HOWTO.txt"> |
Denis Vlasenko | ff814f8 | 2008-07-11 09:55:58 +0000 | [diff] [blame] | 501 | "How to build static busybox for i486-linux-uclibc"</a> is updated |
| 502 | and tested on a fresh Fedora 9 install. Please report if it doesn't |
| 503 | work for you. |
| 504 | </p> |
Bernhard Reutner-Fischer | c397792 | 2008-08-21 16:08:06 +0000 | [diff] [blame] | 505 | </li> |
Denis Vlasenko | ff814f8 | 2008-07-11 09:55:58 +0000 | [diff] [blame] | 506 | |
Denis Vlasenko | 6e18f9a | 2008-06-25 15:58:00 +0000 | [diff] [blame] | 507 | |
Denis Vlasenko | 6e18f9a | 2008-06-25 15:58:00 +0000 | [diff] [blame] | 508 | |
Bernhard Reutner-Fischer | 9ff245f | 2008-08-22 08:45:01 +0000 | [diff] [blame] | 509 | <li><b>Old News</b><p> |
| 510 | Click here to read <a href="oldnews.html">older news</a> |
Rob Landley | d879ffb | 2006-06-27 21:29:56 +0000 | [diff] [blame] | 511 | </p> |
Bernhard Reutner-Fischer | c397792 | 2008-08-21 16:08:06 +0000 | [diff] [blame] | 512 | </li> |
Eric Andersen | 539eef6 | 2003-12-10 12:08:20 +0000 | [diff] [blame] | 513 | |
| 514 | </ul> |
| 515 | |
| 516 | <!--#include file="footer.html" --> |
| 517 | |