Should be reasonably thorough; the shell part is, however, quite unpleasant. Signed-off-by: Daniel Stone <daniel@fooishbar.org>