execution problems and executable size questions

Matt Johnston matt at ucc.asn.au
Mon Sep 27 20:18:50 WST 2004


On Mon, Sep 27, 2004 at 05:47:49AM +0200, Alfonso Acosta wrote:
> Hi:
> 
> I'm currently working to modify  USRobotics 9106/9105 routers retail
> firmware so that they support sshd appart from telnetd. (see
> http://babel.ls.fi.upm.es/~aacosta/twiki/bin/view/Projects/WebHome if
> interested)
> 
> I followed what is written in the SMALL documentation file, but I'm
> unable to get executables of less than 200KB.
> 
> I know that the 110KB size was obtained for the i386 target but ...
> did anyone manage to get something smaller than 200KB when compiling
> to a MIPS32 target?

I think 200kB is probably around what would be expected with
MIPS - I'm unsure as to whether it's GCC or the
architecture/instruction set (probably a combination of
both).

> Execution problems
> ============
> 
> Dropbear starts and even authenticates correctly, but once the user
> has been authenticated correctly,  typing a single character makes the
> connection drop unexpectedly.
> debug3: channel 0: status: The following connections are open:
>   #0 client-session (t4 r0 i0/0 o0/0 fd 4/5)
> 
> debug3: channel 0: close_fds r 4 w 5 e 6
> Read from remote host 192.168.200.254: Connection reset by peer
> Connection to 192.168.200.254 closed.

Could you run dropbear with -F -E, and let me know what
output it gives (if any)? Also, you can compile with
DEBUG_TRACE set in debug.h, and it should give very verbose
output. It'll make the binary a bit larger, though I think
it should still fit.

> I compiled dropbear using uclibc version 0.9.12. Maybe that is what
> causes the problem, but that is the library version used by every
> binary program supplied by USRobotics in its firmware. Can anyone
> confirm me if uclibc is backwards compatible
> with its previous versions?

uClibc isn't binary-compatible between versions (in
general), though should be source compatible AFAIK. However
from what I could tell, uClibc < 0.9.17 is broken in its
getusershell() function. Although if you're getting past
authentication, then perhaps it doesn't matter in your case
:)

Cheers,
Matt


More information about the Dropbear mailing list