how do I shell-out or call other (commercial) applications
in a Rebol cgi?
possible solutions that I know of are:
* if you have source to the app, you can write a file or port
based interface to it.
- commercial apps dont come with (much) source
- embarrasing if that 'other' app is also Rebol
and must be started with new command-line arguments.
* write a separate 'glue' app that listens on a port
or a named pipe for things to do.
- may require some interlock to tell when cmd is done.
+ advantage is that a single app can run continuously
handling all cgi-shellout requests this way.
- NT has weak named pipes, stronger 'messaging'.
+ it may be an advantage to not have to wait for cmd to finish.
with named pipes, sync point can be later or not at all.
+ glue app can guarantee commands are issued securely
and always from some point in tree under ID you expect.
+ glue app can be (on unixes)
rebol parse_from_pipe.r |tee shelloutlog | grep '^eval ' | sh -
so that full power of rebol for parsing pipe is available
but shellouts and logs can happen too.
+ glue app can be run chroot()ed to some corner of the fs
where it cannot be used to subvert system. parse_from_pipe
can filter/authenticate senders instead of counting on
sh to do it. sets limits on what rogue or "open" cgi may do.
other/better ways?
{-----}
[EMAIL PROTECTED]