In 1.5m, address case handling will be done in one single place (LSVNADDR)
for all the commands. I have found that there were errors in the case handling
of some commands, which did not check the length of the userid or the length
of the node or etc. So I've placed the test in a new exec which gets called
whevever required. You can make local mods there if needed but I don't
recommend it. I especially don't recommend playing with the case of peer
addresses. Some modules still have their own tests, mainly because they're not
interested in upcasing the address: they just need to know whether it's a
BITNET person or not. PUT commands will probably take a bit longer for lists
since LSVSORT was changed to call LSVNADDR too (in case you have a local mod).
LSVCKPRV (which had been started in 1.5l I think) has been greatly enhanced
to support list-based commands authority and password validation. I have
modified all the list-based commands to make use of this new things, which
gives you STANDARD and USER-FRIENDLY messages (like it tells you which
passwords it wants if you gave an incorrect one or omitted it), whereas each
command had its own private original variation on the message text. Most
list-based commands also allow you to specify your personal password (if you
have one) instead of the list password. When the command is a global one, the
list password is substituted internally after the test has been made. Note
that this does NOT mean that list passwords no longer have a reason to be. But
you can tell LISTSERV "I don't remember my list password but YOU do, so please
supply it to your peers for me; here's my personal password for you to check".
Several non-list based commands were also converted. The PUT function was NOT
changed and does NOT work with the personal password yet. File-based commands
call LSVCKFAC which does its own checking and has its own error messages, I
still don't know if I'll change it or not.
Today was a big marathon where I have changed over half of the LISTSERV
EXECs. I have probably made a number of typos or confusions (most execs have
the same naming conventions for variables and routines, but there are some
deviations in a few cases - like sending messages to 'destination' instead of
'origin' in LSVREV), and there's no way I can test each and every option of
each list-based command, both from a local and a remote userid, both with
validate= all and store only, both with a passwordless list and one with a
genuine password, both with the list password and a personal password, both
from an authorized (both postmaster and owner) userid and a Joe userid, etc.
I'd rather write a description of LISTSERV in french with drawings for my boss
than do that (apart from the 3812 header pages and accounting stuff, she
doesn't know what it does and has asked me for a memo several times but I'm
getting old and my memory is failing me :-) ). In other words, I'll probably
prepare a beta shipment sometime next week (with the database stuff in it
too), sites willing to test it should send me mail before, say, tuesday.
Eric
|