> > You could add:
> > 
> >           warn "BLOCK: $block\n";
> > 
> > just above the eval, which will log all the "blocks" that are 
> > being eval 
> > to figure out which one is giving you the trouble.
> 
> That's a useful suggestion, I'll give that a try. What I'm 
> expecting to find is that the $block that causes the error is 
> identical to previous $block values which don't cause an 
> error, but this will be a good thing to actually prove.
> 
> Thanks very much.


My hypothesis was correct. The $block that causes the Insecure
Dependency error to be thrown is identical to previous calls to that
URL.

Here's what $block contains:

====
sub {
    my $context = shift || die "template sub called without context\n";
    my $stash   = $context->stash;
    my $output  = '';
    my $error;
    
    eval { BLOCK: {
#line 1 "/content/research/data/template/tt/User/Search/results.tt"
# USE
$stash->set('localsite',
            $context->plugin('LocalSite'));
$output .=  "\n";
#line 2 "/content/research/data/template/tt/User/Search/results.tt"
# USE
$stash->set('date',
            $context->plugin('date'));
$output .=  "\n";
#line 3 "/content/research/data/template/tt/User/Search/results.tt"
# USE
$stash->set('CGI',
            $context->plugin('CGI'));
$output .=  "\n";
#line 60 "/content/research/data/template/tt/User/Search/results.tt"
if ($stash->get('results')) {
#line 4 "/content/research/data/template/tt/User/Search/results.tt"
$stash->set('manip', $stash->get(['date', 0, 'manip', 0]));
#line 4 "/content/research/data/template/tt/User/Search/results.tt"
$stash->set('count', $stash->get(['CGI', 0, 'param', [ 'resultstart' ]])
|| 1);

$output .=  "    \n  <input type=\"hidden\" name=\"resultscount\"
id=\"resultscount\" value=\"";
#line 9 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('hits');
$output .=  "\">\n";
#line 21 "/content/research/data/template/tt/User/Search/results.tt"
if ($stash->get('count') eq 1) {

$output .=  "\n        <table width=\"100%\" border=\"0\"
cellspacing=\"0\" cellpadding=\"0\" class=\"headerBarA\">\n
<tr>\n            <td class=\"headers\" width=\"5\" valign=\"top\"
align=\"right\"><img src=\"";
#line 15 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get(['localsite', 0, 'imagesRoot', 0]);
$output .=  "/spacer.gif\" width=\"5\" height=\"20\"></td>\n
<td class=\"headers\" valign=\"middle\" width=\"595\">\n              ";
#line 17 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('hits');
$output .=  " matches across ";
#line 17 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('collection_total');
$output .=  " articles\n            </td>\n          </tr>\n
</table>\n";
}


$output .=  "\n        <table width=\"100%\" border=\"0\"
cellspacing=\"0\" cellpadding=\"2\" id=\"results_table\">\n
<tr><td colspan=\"2\"><img src=\"";
#line 25 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get(['localsite', 0, 'imagesRoot', 0]);
$output .=  "/spacer.gif\" width=\"1\" height=\"1\"></td></tr>\n";
#line 60 "/content/research/data/template/tt/User/Search/results.tt"
if (($stash->get('hits') > 0)) {
#line 50 "/content/research/data/template/tt/User/Search/results.tt"

# FOREACH 
do {
    my ($value, $error, $oldloop);
    my $list = $stash->get('results');
    
    unless (UNIVERSAL::isa($list, 'Template::Iterator')) {
        $list = Template::Config->iterator($list)
            || die $Template::Config::ERROR, "\n"; 
    }

    ($value, $error) = $list->get_first();
    $stash = $context->localise();
    $stash->set('loop', $list);
    eval {
LOOP:   while (! $error) {
            $stash->get(['import', [$value]]) if ref $value eq 'HASH';
#line 0 "/content/research/data/template/tt/User/Search/results.tt"
if ($stash->get('HasAttachments')) {
#line 0 "/content/research/data/template/tt/User/Search/results.tt"
$stash->set('link', ($stash->get(['localsite', 0, 'documentRoot', 0]) .
"/serve/" . $stash->get('VdkVgwKey')));
#line 0 "/content/research/data/template/tt/User/Search/results.tt"
$stash->set('attachment_icon', ("<img src=\"" .
$stash->get(['localsite', 0, 'imagesRoot', 0]) . "/icon_paperclip.gif\"
width=\"10\" height=\"10\" border=\"0\" title=\"attachment\">&nbsp;"));
}
else {
#line 0 "/content/research/data/template/tt/User/Search/results.tt"
$stash->set('link', ($stash->get(['localsite', 0, 'documentRoot', 0]) .
"/show/" . $stash->get('VdkVgwKey')));
#line 0 "/content/research/data/template/tt/User/Search/results.tt"
$stash->set('attachment_icon', '');
}

#line 39 "/content/research/data/template/tt/User/Search/results.tt"
if (($stash->get('count') > 1)) {

$output .=  "\n          <tr><td colspan=\"2\"><hr size=\"1\"
width=\"100%\" bgcolor=\"#CCCCCC\"></td></tr>\n";
}


$output .=  "\n          <tr>\n            <td valign=\"top\"
class=\"content\"><b><font color=\"#336699\">";
#line 43 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('count');
$output .=  ".</font></b></td>\n            <td valign=\"top\">\n
<div>";
#line 45 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('attachment_icon');
$output .=  "<a href=\"";
#line 45 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('link');
$output .=  "\" target=\"_new";
#line 45 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('count');
$output .=  "\"><b>";
#line 45 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get(['manip', 0, 'UnixDate', [
$stash->get('VisibilityDate'), '%d %b %Y' ]]);
$output .=  ": ";
#line 45 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('Headline');
$output .=  "</b></a></div>\n              <div class=\"contentBlack\"
style=\"padding-top:4px; padding-bottom:4px;\">";
#line 46 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('VdkPBSummary');
$output .=  "</div>\n              <div align=\"right\"><a href=\"";
#line 47 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get(['localsite', 0, 'cgiRoot', 0]);
$output .=  "/public/showCategory.pl?category=";
#line 47 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('CategoryId');
$output .=  "\"
target=\"_new\"><b>View&nbsp;similar&nbsp;articles</b></a>&nbsp;&nbsp;&n
bsp;<a href=\"";
#line 47 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get(['localsite', 0, 'documentRoot', 0]);
$output .=  "/profadd/";
#line 47 "/content/research/data/template/tt/User/Search/results.tt"
$output .=  $stash->get('CategoryId');
$output .=  "\"
target=\"_new\"><b>Subscribe&nbsp;to&nbsp;category</b></a></div>\n
</td>\n          </tr>\n";
#line 50 "/content/research/data/template/tt/User/Search/results.tt"
$stash->set('count', $stash->get('count') + 1);;
            ($value, $error) = $list->get_next();
        }
    };
    $stash = $context->delocalise();
    die $@ if $@;
    $error = 0 if $error && $error eq Template::Constants::STATUS_DONE;
    die $error if $error;
};

}
else {

$output .=  "\n          <tr>\n            <td class=\"tabledata\"
colspan=\"2\">\n              No articles match your search
specification.\n            </td>\n          </tr>\n";
}

}


$output .=  "\n        </table>\n\n";
    } };
    if ($@) {
        $error = $context->catch($@, \$output);
        die $error unless $error->type eq 'return';
    }

    return $output;
}
====


Can anyone spot something that would cause this to throw a taint error
(remember the $block string itself has been untainted, altho I think
I'll add some extra debugging to confirm this as well).

Once a particular process produces this Insecure Dependency, it seems
that any future calls to that same process will also produce the error.
So again, it definitely looks like the process is being corrupted in
some way....
------------------------------------------------------------------------
For more information about Barclays Capital, please visit our web site at 
http://www.barcap.com.

Internet communications are not secure and therefore the Barclays Group does 
not accept legal responsibility for the contents of this message.  Although the 
Barclays Group operates anti-virus programmes, it does not accept 
responsibility for any damage whatsoever that is caused by viruses being 
passed.  Any views or opinions presented are solely those of the author and do 
not necessarily represent those of the Barclays Group.  Replies to this email 
may be monitored by the Barclays Group for operational or business reasons.
------------------------------------------------------------------------

Reply via email to