Upgrading from older versions
Version 1.9.0 has been completely rewritten. It's now more cleanly written,
not as portable as before (support for non-POSIX systems is non-existant
at this time), though that may change again, has less problems and bugs
and is not a drop-in replacement for the older version.
Important differences:
- One protocol per binary only
- Older versions contains all three protocols in one binary. This
has proven to be a major source of confusion, especially since
lrz/lsz tried to switch to ymodem protocol if the zmodem handshake
failed (but then again, ymodem failed in almost every case, too).
Add to that the fact the some people didn't like the file
names of the xmodem programs and renamed lsx/lrx to xmodem-receive
(or so) and then wondered why that program _now_ uses zmodem instead
of xmodem ...
- No more syslog logging
- I implemented it that way because my main application at that time
didn't allow any other form of logging. This was obviously stupid
and encouraged other applications to be equally broken.
- No more remote command execution
- That security hole has been closed. The code was disable by
default in older versions anyway, but could be enable by
command line switches.
The code is gone now. If you really want that feature then
use the old version.
- The recordzmodem program
- has been added. It's a zmodem protocol analyzer.
- There is (almost) no unused code anymore.
- The testsuite now covers more than 90% of the code.
- The localization through GNU gettext is gone.
- I removed it some time ago, when gettext had been dead for
more than two years. It was too much of an annoyance anyway
for me, since getttext without need warned about some perfectly
good strings and gettext had a few security implications.
It wasn't worth the pain anyway: There only was a german
translation.
- Libraries
- It's much more easy now to create a x/y/z-modem library, though
there is still much work to be done (main problem here: zmodem
contains a vast amount of state).