Security Advisories (4)
CPANSA-Jifty-2011-01 (2011-03-17)

The path as passed in the fragment request data structure was used verbatim in the dispatcher and other locations. This possibly allowed requests to walk around ACLs by requesting '/some/safe/place/../../../dangerous' as a fragment.

CPANSA-Jifty-2009-01 (2009-04-09)

The REST plugin would let you call any method on the model.

CPANSA-Jifty-2008-01 (2009-04-08)

Allowed all actions on GET.

CPANSA-Jifty-2006-01 (2006-07-06)

Jifty did not protect users against a class of remote data access vulnerability. If an attacker knew the structure of your local filesystem and you were using the "standalone" webserver in production, the attacker could gain read only access to local files.

NAME

Jifty::Util - Things that don't fit anywhere else

DESCRIPTION

absolute_path PATH

absolute_path converts PATH into an absolute path, relative to the application's root (as determined by "app_root") This can be called as an object or class method.

jifty_root

Returns the root directory that Jifty has been installed into. Uses %INC to figure out where Jifty.pm is.

share_root

Returns the 'share' directory of the installed Jifty module. This is currently only used to store the common Mason components.

app_root

Returns the application's root path. This is done by searching upward from the current directory, looking for a directory which contains a bin/jifty. Failing that, it searches upward from wherever the executable was found.

It dies if it can only find /usr or /usr/local which fit these criteria.

default_app_name

Returns the default name of the application. This is the name of the application's root directory, as defined by "app_root".

make_path PATH

When handed a directory, creates that directory, starting as far up the chain as necessary. (This is what 'mkdir -p' does in your shell)

require PATH

Uses UNIVERSAL::require to require the provided PATH. Additionally, logs any failures at the error log level.

AUTHOR

Various folks at Best Practical Solutions, LLC.