So:
bzr+ssh://z-man@bazaar.launchpad.net/~armagetronad-dev/armagetronad/0.2.8-armagetronad-scriptlaunch/
This allows you to launch scripts from within configuration files. Put some shell or python script into the "scripts" subdirectory of your data directory (any of them) and use
Code: Select all
casacl 0 -1
spawn_script <script name> <arguments>
There's also respawn_script, works the same as spawn_script, but doesn't do anything if the script with the same command and arguments is already running.
Aaand, of course, the whole thing is potentially a huge security risk. Right now, there are three layers of protection:
1. the script commands are only executable at the new access level -1 (Shell). You'll need to CASACL your level up. This one is probably going to be dropped, it's cumbersome and doesn't add real security, because it doesn't add anything on top of the next level.
2. the script commands can ONLY be executed from local configuration files. Not via /admin, not from RINCLUDE, not from maps.
3. You can't execute arbitrary shell commands. Most special characters are forbidden, among them &, ; and | which could be used to chain commands; the first word needs to be a script from a scripts directory and the path is then manually added.
What I want you to do: try to find holes, especially in 2. and 3. Try to get the commands executed in any non-include context or find a way to exploit them them. Assuming you have access to the commands, make them do nasty things.
Needless to say, anything you think may compromise existing servers should be sent via PM, and don't even think about running this code on a server open to the net yet.
(Got an idea myself. Oh boy, 0.2.8.3.2_rc2 is needed.)