[BusyBox] New applets.

Rob Landley rob at landley.net
Sat Oct 11 06:15:46 UTC 2003

On Friday 10 October 2003 18:45, Glenn McGrath wrote:
> On Fri, 10 Oct 2003 08:39:14 -0400
> Steven P Valliere <bb at e-visions.com> wrote:
> > Could you provide a link (or links) to any minimal ssh
> > ports you know about?  I'm interested and I might have
> > room for a "big" ssh.
> I considered putting one together myself once, i think it could be done
> relatively small, its just a few algorithms and protocol managment.
> There are lots of optional algorithms in the RFC that theoretically we
> wouldnt have to implement, not sure about the pracitcallities of it.
> It would integrate well with existing busybox code such as sha1 and
> gzip.
> There are 4 RFC's that cover it, it would take a fair bit of work, i got
> sidetracked to concentrate on other stuff.

This interests me.  Which RFCs are they?

Maybe when I finish rewriting bunzip2 and the corresponding compression code 
I'll tackle that next.  (I've got decompress_bunzip2.c down to 725 lines, and 
a lot of that's comments.  And when I get this done, I have to do the 
corresponding compress code...)

Or I may finally finsh reading the sed spec.  It still doesn't quite handle 
all the .configure cases yet, but that's blocked on the fact I can't get the 
new binutils to build properly even with the gnu tools with my script.  
Either I'm setting an environment variable it doesn't like, or I've found 
some kind race condition in the build process something equally funky.  It's 
kind of annoying, actually...

Or maybe I can shrink the gzip code. :)

By the way, on the bunzip cleanup front, I dropped the backwards compatability 
support for decompressing old archives created by bzip 0.9.0 and earlier.  
For a while I had it #ifdefed out as a config option, but It turns out that 
the code to undo the blockRandomized transformation in busybox never actually 
worked anyway.  (Among other things, the table it worked off of was never 
initialized.  Search for BZ2_rNums and notice that there are two occurrences: 
one declares it and the other reads from it.  Nobody ever actually WRITES to 

Right now I have it spit out an error message "Obsolete (pre 0.9.5) archive 
format not supported", and if anybody  complains I left comments in there 
about where to hook in the functionality.  But bzip version 0.9.5 was 
released in 1999, and back before that (heck, before 1.0) bzip2 wasn't 
actually all that widely used.  There may not be ANY of these old archives 
around anymore, and if there are they can be converted using a non-busybox 
version of bunzip.  We can decompress any archive created by a 1.0 or later 
bzip (0.9.5, actually), and when I get compress code in that will create 
modern archives too.  blockRandomized support is only for legacy archives.


(P.S.  Once you get past the suckiness of the implementation, the actual 
algorithm is fairly cool.  The guy made a couple of decisions I disagree with 
(the huffman code group blocking size should probably be 64, not 50; then we 
could use & instead of % and save a few clock cycles.  But it's too late to 
change it now because the archive format depends on it...) but on the whole, 
it's actually pretty cool.  When I'm done I should write up a "how bunzip 
works" document, it's actually not all that complicated once you understand 

More information about the busybox mailing list