On Mon, Jan 26, 2009 at 09:15:38PM +1100, Adam Kennedy wrote:
> Unfortunately, any configuration language would eventually trend
> towards being turing complete, and thus the final end-point for the
> configuration language ends up with us just using Perl for the
> mini-language :)

I thought "yes, but Perl has side effects, which means security holes, whereas
a mini language could be constrained that it has no side effects - its given
fixed input about the environment, and the only output is an end state
data structure." The only risk from that is a denial of service from using
too much CPU or RAM? Which means monitor both.

But then I thought that it *still* isn't useful, as the very task that the
configure system wants to do is inspect the installed system its running on,
which means that it will always end up wanting a bit more input state. And
even providing read-only access to a file system isn't enough, as pretty soon
someone wants to know "does this code compile against that library?" and so
a sandboxed language doesn't fulfill the tasks required of it.

Nicholas Clark

Reply via email to