On Sat, 2016-06-25 at 23:54 +0100, Ian Jackson wrote:
> Victor Porton writes ("Re: How to select an interpretor version?"):
> > I am going to write a program which automatically converts between
> > XML
> > formats using scripts described by RDF resources located at
> > namespace URLs
> > (not a precise description of my project, but you've got the
> > taste).
> >
> > The formal specification of my project:
> >
> > https://en.wikiversity.org/wiki/Automatic_transformation_of_XML_nam
> > espaces
>
> Thanks for the info! That all sounds very exciting.
> Although, I confess I don't quite understand everything there.
>
> > I am going to run scripts in Firejail (or another sandbox), in
> > other that a
> > hacker not to be able to harm the server at which my program would
> > run.
>
> That sounds like it might be a good idea. Where do these scripts
> come
> from ? Is it these scripts for which you are tryiung to
> automatically
> identify a suitable interpreter ?
Accordingly my plan:
- XML developers should put a description (in RDF format) of their
namespaces at XML namespace URLs.
- The RDF files may refer to scripts (a script may be located at any
URL on the Web) which (among other things) can transform from one XML
namespace to another XML namespace. When the RDF refers to a script,
among the script URL, the scripting language (such as "Python") is
pointed in aforementioned RDF file (additionally the RDF file may
contain an interval of versions, to restrict for example to Python 2
and not 3).
- My software may use these scripts.
This way my software is to run (at a say Debian Linux server) scripts
downloaded from the Web. They are run in a jail.
The script URL, programming language, and version interval are
downloaded from the Web. After this, my software should decide which
interpreter (/usr/bin/python, /usr/bin/ruby, /usr/bin/java, etc.) to
use, download the script and run it in a jail. The script may convert
from one format to another. Or it may check data validity.