Hello,

Finally, I have sort of got my copy of lsh into slightly working
shape. What I have done is that I have ripped out all of the error
handling code, and replaced it with an exception mechanism. The
benefit of this is that it makes it easier to handle errors and other
special events at the right place. However, that was quite brutal
surgery, and the patient will need some more time to recover from
it...

The 0.1.8 version is the least stable one I have released so far. The
basic features (key exchange, login, etc) works, but not all generated
exceptions are handled properly yet. In particular, the server tends
to crash whenever one of its children dies and closes it's stdio.

I think most of these problems are fairly straight forward to fix, but
each of them requires consideration and time to get right. Handling
errors and termination stuff was the most complex and subtle part of
the older versions (which did not get it right in all cases), and it's
still subtle.

Some of the items on on the TODO list that I will try to give a high
priority are

* Integration of Bazsi's recent work.

* Applying the patches to get lsh to build with either guile or scsh.

* Reorganization of the sexp parser to use the exception system.

* Look carefully at the latest adns (Ian's asynchronous resolver
  library) to see how it fits with lsh.

Bazsi: I have reorganized user authentication, to make it use
exceptions. Please let me know what you think about it.

Available at the usual places,

  http://www.lysator.liu.se/~nisse/archive
  ftp://ftp.lysator.liu.se/pub/security/lsh

BTW, I think the lsh bug of the month is the following: It seems the
test that was supposed to verify the MAC on a received packet was
inverted. Probably a really old bug, hopefully fixed now.

Happy hacking,
/Niels

Reply via email to