Hi Sebastian,

I'd be interesting in merging changes upstream, I think it would be of interest 
to a few people. It would need to be under a similar license to the current 
code.

Currently the session state is kept in ses, svr_ses, and cli_ses global 
variables (all structs defined in session.h). Changing eg ses.payload to 
ses->payload throughout the codebase is fairly straighforward. It mightn't be 
necessary to pass pointers around everywhere if ses/svr_ses/cli_ses could be 
thread-local pointer variables - how widely supported is thread-local storage? 

Some of the state in ses might need to move to a process-wide state structure - 
"childpids" for example. That mightn't be relevant for your situation.

There is also some recent work to use Dropbear as a Perl module - that might 
have some useful changes in terms of avoiding Unix user authentication etc. 
https://github.com/atrodo/Net-Dropbear/tree/master/dropbear

Cheers,
Matt


> On Mon 4/1/2016, at 9:18 pm, Sebastian Huber 
> <[email protected]> wrote:
> 
> Hello,
> 
> thanks for the hints.
> 
> So, running dropbear in a  single-address space and no process environment 
> seems to be doable. However, it requires probably some possible large code 
> modifications, e.g.
> 
> * encapsulate the global state in a context structure and pass a pointer to 
> this structure around,
> * add cleanup code instead of exit().
> 
> If I work on this, would it be possible to upstream these changes?
> 
> -- 
> Sebastian Huber, embedded brains GmbH
> 
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax     : +49 89 189 47 41-09
> E-Mail  : [email protected]
> PGP     : Public key available on request.
> 
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
> 

Reply via email to