NAME
Carp::Parse::Redact - Parse a Carp stack trace into an array of caller information, while redacting sensitive function parameters out.
DESCRIPTION
Carp produces a stacktrace that includes caller arguments; this module parses each line of the stack trace to extract its arguments and redacts out the sensitive information contained in the function arguments for each caller.
VERSION
Version 1.0.1
ARGUMENTS REDACTED BY DEFAULT
By default, this module will redact values for which the argument name is:
password
passwd
cc_number
cc_exp
ccv
You can easily change this list when parsing a stack trace by passing the argument sensitive_argument_names when calling parse_stack_trace()
.
SYNOPSIS
# Retrieve a Carp stack trace with longmess(). This is tedious, but you will
# normally be using this module in a context where the stacktrace is already
# generated for you and you want to parse it, so you won't have to go through
# this step.
sub test3 { return Carp::longmess("Test"); }
sub test2 { return test3(); }
sub test1 { return test2(); }
my $stack_trace = test1();
# Parse the Carp stack trace.
# The call takes an optional list of arguments to redact, if you don't want
# to use the default.
use Carp::Parse::Redact;
my $parsed_stack_trace = Carp::Parse::Redact::parse_stack_trace(
$stack_trace,
sensitive_argument_names => #optional
[
password
passwd
cc_number
cc_exp
ccv
],
);
use Data::Dump qw( dump );
foreach my $caller_information ( @$parsed_stack_trace )
{
# Print the arguments for each caller.
say dump( $caller->get_redacted_arguments_list() );
}
FUNCTIONS
parse_stack_trace()
Parse a stack trace produced by Carp
into an arrayref of Carp::Parse::CallerInformation::Redacted
objects and redact out the sensitive information from each function caller arguments.
my $redacted_parsed_stack_trace = Carp::Parse::Redact::parse_stack_trace( $stack_trace );
AUTHOR
Kate Kirby, <kate at cpan.org>
.
Guillaume Aubert, <aubertg at cpan.org>
.
BUGS
Please report any bugs or feature requests to bug-carp-parse-redact at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Carp-Parse-Redact. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Carp::Parse::Redact
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
Thanks to ThinkGeek (http://www.thinkgeek.com/) and its corporate overlords at Geeknet (http://www.geek.net/), for footing the bill while we eat pizza and write code for them!
COPYRIGHT & LICENSE
Copyright 2012 Kate Kirby & Guillaume Aubert.
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License.
See http://dev.perl.org/licenses/ for more information.