From: Frank da Cruz Reply-To: WERMIT-L@LISTS.WKU.EDU Date: Sat, 12 Jul 97 19:33:10 EDT Various VMS-specific problems have been reported with VMS C-Kermit since 6.0.192 came out. I've tried to fix some of them, or at least put enough debugging around them that I can collect enough evidence to fix them. Briefly: . CD didn't work on Alphas with VMS 6.2 (and really only worked elsewhere by accident) because some memory was being freed to early. This should be fixed (but see below for more about CD). . The TCP port byte-swapping bug with UCX 2.0. This is fixed by including a command ("set tcp ucx-port-bug") to adjust to whether the bytes were being swapped or not. (There is no way to tell at compile time whether this will happen, especially since the same executable can run on two different machines that exhibit the opposite behavior.) . Reportedly, if you were running VMS C-Kermit in a DECwindow and you closed the DECwindow without EXITing from Kermit first, it would take over the entire CPU and fill up swap space, etc etc, by trying to print a message on the console after the console had gone "offline". Hopefully I've fixed this one, though I can't easily test it. . Reportedly something similar can happen when an X.25 connection closed. . Various problems with returning the proper status code upon exit when invoked from the command line (e.g. "kermit -s foo.txt"). I don't know about this one, but let's see if it still happens. . On some systems, when C-Kermit has made a dialout connection and the connection is hung up from the other end, Kermit would print "communications disconnect" and then hang, requiring manual intervention; this was not good for unattended tasks (scripts, etc). Of course there were also a few bugs that affected all versions, not only the VMS one, and most of these have been fixed too, but I can test these fixes myself. I'm sending this message to people who reported the problems listed above, plus the regular VMS C-Kermit crowd, to get some testing on various VMS platforms. And of course there are also some new features. Some of them appear in the VMS version (like switches for SEND, GET, etc), but most of them don't due to lack of anybody with sufficient VMS expertise (unlike me) who also has the time and willingness to help me add them. One of them is probably not of much interest to VMSers -- the ability to send the "standard output" from another process, or to receive a file into the "standard input" of another process. (This is a generalization of the "external protocol" -- i.e. Zmodem -- support that is in the UNIX and other versions). Along the same lines is a new "send filter" and "receive filter" feature -- the ability to pass transferred files through any desired stdin/stdout filter (e.g. for compression, encryption, archiving, etc). One minor thing I'd like to get going for VMS, however, is to make CD and other commands that parse directory names work as I now have them working in UNIX, where "cd ?" lists directories just like "send ?" lists files; completion works on directory names, etc etc. This means that given a filename (such as the ones generated by fgen() in ckvfio.c), I need to be able to tell whether it is the name of a regular file, or a directory file. I already have a primitive isdir() function for this in ckvfio.c, but it only works for directory names like FOO:[BAR.BAZ], not FOO:[BAR]BAZ.DIR;1. I'm sure there must be an easy way to convert between the two, or something, but I don't know what it is, or how sys$parse() works, etc etc. I'd also like to make "cd foo" work again (where there is a FOO.DIR in the current directory -- I seem to have broken that?...) As it stands, you have to say "cd [.foo]" like you do in DCL. So if anybody would like to pitch in on this one, let me know :-) Anyway, if you want to try out the new version to see how it handles the aforementioned bugs, I built some executables (with no network support) and put them in kermit/test/bin on kermit.columbia.edu: VAX VMS 5.5-2 ckvvker.exe VAX VMS 7.1 ckv7ker.exe Alpha VMS 6.2 ckvaker.exe This is not a version that's ready for public testing yet -- it's just for this small crowd, so we don't yet have the regular accoutrements of a Beta (docs, sources, etc). I'd appreciate it if those of you who were affected by the aforementioned (or other) problems could try these binaries and let me know what happens. If "your" bug isn't fixed, take a debug and send it to me with a description of what occurred ("log debug" makes a file called DEBUG.LOG). This can be a huge file, so it's best to turn on debug logging just prior to demonstrating the bug, and turn off (or EXIT from Kermit) immediately afterwards. Finally, if anybody out there is a heavy-duty VMS C programmer and would like to help further the cause of VMS (does anybody still care?) and VMS C-Kermit -- which, remember, is a staple at VMS installations all over the world -- and would like to step up and take on the responsibility for the VMS bits rather than leaving them to my tender (bumbling, groping) mercies, this would be the perfect time. (No, don't expect Terry to do it any more; he's done WAY more than anybody could reasonably expect.) Thanks! - Frank