Security Advisories (3)
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.

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.

canonicalize_path PATH

Takes a "path" style /foo/bar/baz and returns a canonicalized (but not necessarily absolute) version of the path.

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.

already_required class

Helper function to test whether a given class has already been require'd.

AUTHOR

Various folks at Best Practical Solutions, LLC.