[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
it.)
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.
Rob
(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
it...)
More information about the busybox
mailing list