Hi there,
I'm putting together a system on top of Elixir which allows people to compile limited-featured modules and run them in a sandbox, however the only way I've found to dynamically name modules is by unquoting namespaced atoms into the quoted module definition.
Even assuming otherwise perfect isolation of one user's runtime from another, the generation of an arbitrary number of atoms (even if I controlled the naming) a user could feasibly DoS the compiler box and/or share a library designed to DoS a user's isolated environment.
I could just set an arbitrary maximum module count, but I'm if there's a more elegant solution, or perhaps whether I'm going about creating modules in the wrong way to start with.
Any thoughts?
Regards,
Elliot