Ashley,
Thanks for replying. I have tried all the aforementioned
statements (OS.EXECUTE, SH, etc.) to no avail. Also, "CAPTURING" will
not work because the data is STILL on the remote system. It might
make more sense if I told you waht I'm doing. When I finish printing
to a file, I convert the file to a PDF. That is working fine. Then I
send that PDF from the OpenQM machine to the user's machine and open
it in Acrobat. Everything works EXCEPT the "sending" part. On Z I
simply used the Z CMND subroutine to invoke sz (zmodem) to transmit
the file to the user. This fails when I'm in OpenQM (works OK from
the command line or from within Z). There must be a "work around".
Yes, that is EXACTLY what happens... sz sends a "start" packet that my
local kermit receives and then the local kermit sends a packet back to
initiate the transfer. My end sees the "start" packet output by sz,
but sz doesn't see anything coming back. It seems that OpenQM is
grabbing the input before it gets to sz. How would doing this in a
script help? Will that change the I/O at all?
BTW, I have found a workaround (but it's ugly). I can start kermit on
my end in server mode listening on a specified port. Then, when I log
in to the OpenQM system, I forward the port that kermit is listening
on. I can then use kermit on the OpenQM system to initiate transfers
to the remote kermit via the forwarded port. It involves one extra
step (starting kermit in server mode) and a change to the ssh command,
but it seems to work OK because it bypasses OpenQM completely. I
would still like to get sz going. It was much simpler to set up (for
new clients) than the present scheme.
Ashley
The theory is that when executed the shell program basically takes
over stdin and stdout but since QM is launching the shell there can
easily be complications. Some brief look at the underlying code shows
that there may (i said MAY, not does :D ) be a distinction between
OS.EXECUTE from a basic routine and running ! or SH from qm command
line. Can you give a Kermit execute a go from the qm shell and confirm
you still have issues there.
Tom: Yes, Kermit was designed for Telnet, but is essentially a
protocol and accompanying programs for transmitting any files via
ASCII, sitting on top of something designed for user character input
and display. Presumably named Kermit after the green screens :)
I know it can optionally have compression too, are you using the
compression Gary? Could cause issues.
Ok, so I took a further look into the c source (src/op_sh.c). When the
qm session is run from a OS shell it lets the sh command take over
stdin and stdout, but when it runs over a network socket or needs to
capture it switches to using pipes. There could be a bug in the code
there in terms of relaying the stream correctly. It essentially forks
of the shell command and attaches pipes in and out, relaying the
characters to the socket. It doesn't, on the face of it, seem to mega
with the stream/pipe itself. I'm not aufe enough with Kermit to know
what kind of control characters it uses.
I can look further if you want, but I've not got a huge amount of free
time atm, so it might take a while. (money, coffee or free shiny
things can always change this lol)
I suggest in the meantime you check all of kermits options, see if one
of them might change the way it works. Also look at transmitting files
other than PDF, see if its some specific data that's causing you
issues.
-Diccon
On 1 Aug, 16:17, Ashley Chapman <ash.chap...@gmail.com> wrote:
> 2009/8/1 Gary <gwalb...@gmail.com>