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
