...discover TWiki details, and how to start your own site.

Navigation

Package TWiki::Sandbox

This object provides an interface to the outside world. All calls to system functions, or handling of file names, should be brokered by this object.

ClassMethod new ($os,$realOS)

Construct a new sandbox suitable for $os, setting flags for platform features that help. $realOS distinguishes Perl variants on platforms such as Windows.

StaticMethod untaintUnchecked ($string) -> $untainted

Untaints $string without any checks (dangerous). If $string is undefined, return undef.

The intent is to use this routine to be able to find all untainting places using grep.

StaticMethod normalizeFileName ($string) -> $filename

STATIC Errors out if $string contains filtered characters.

The returned string is not tainted, but it may contain shell metacharacters and even control characters.

ObjectMethod sysCommand ($template,@params) -> ($data,$exit)

Invokes the program described by $template and @params, and returns the output of the program and an exit code. STDOUT is returned. STDERR is THROWN AWAY.

The caller has to ensure that the invoked program does not react in a harmful way to the passed arguments. sysCommand merely ensures that the shell does not interpret any of the passed arguments.

r1 - 01 Feb 2006 - 12:01 - TWikiContributor
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Atmel®, AVR® and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries.
All other trademarks are the property of their respective owners.
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiSandboxDotPm
Powered by Wed, 08 Feb 2006 build 8740
Syndicate this site