* Sven Almgren -- Monday 16 June 2008:
> Can't you just restrict the io to the $FG_HOME dir or something?

Sure:

  READ ALLOW $FG_HOME/*
  WRITE ALLOW $FG_HOME/* 



> like --io-read=/myDir --io-read=/tmp --io-write=/etc/passwd ?

Any of the options overwrites a previous one with the same name,
so one would have to rewrite parts of options.cxx for that.
(Yes, one can have several --config= options, but that's a different
story.) You could, however, list all pattern in one option, separated
by a (semi)colon. But then it would be harder to quickly add a path
for a test or something.

One could, of course, use this instead:
  --prop:io-read=/myDir --prop:io-read[1]=/tmp ...
But that would use the property tree, and then a malign *-set.xml
file could sneak in whatever it wants. Though ne could work around
that.

An option --io-read would imply that this is a generic mechanism for
all file IO, which it isn't. It's for Nasal's io.open() *only*, and
handled in Nasal to 100%. Given the bunch of libraries it would be
rather difficult to apply the checks to every file IO. You'd really
have to use LD_PRELOAD, which won't work on MS Windows.

In other words: yes, it could (and maybe should) be done with options.
And I'd even review and possibly apply a patch that implements it. At
least for now we should be reasonably safe from evil people and have
time to find better solutions.  :-)

m.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to