Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Template files with mtime=0 not handled [rt.cpan.org #64142] #102

Closed
atoomic opened this issue Oct 5, 2018 · 3 comments
Closed

Template files with mtime=0 not handled [rt.cpan.org #64142] #102

atoomic opened this issue Oct 5, 2018 · 3 comments

Comments

@atoomic
Copy link
Collaborator

atoomic commented Oct 5, 2018

Migrated from rt.cpan.org#64142 (status was 'new')

Requestors:

From srezic@cpan.org on 2010-12-22 14:34:34:

Template files with mtime=0 (typically 1970-01-01 on Unix systems)
cannot be handled by Template Toolkit. This can be easily tested with
this script:

#!/usr/bin/perl

use strict;
use File::Temp qw(tempfile);
use Template;

my($tmpfh,$tmpfile) = tempfile(UNLINK => 1);
print $tmpfh "hello, world\n";
close $tmpfh or die $!;
utime 0, 0, $tmpfile or die $!;

Template->new({ABSOLUTE => 1})->process($tmpfile, {}) or die;
__END__

If the "utime" line is removed, then the script runs without problems.

Reason for this: there are a couple of places in Template::Provider,
where modtime checks are not done using "defined", but with a mere "if
(...)" or "... ||". Getting the mtime in TT2 is done using the
_template_modified method, so probably all calls of this methods should
be checked.

(If the problem is accepted, then I can provide a patch for it)

Regards,
Slaven

@toddr
Copy link
Collaborator

toddr commented Oct 5, 2018

@eserte will look at this when we've gotten through triage

@toddr
Copy link
Collaborator

toddr commented Oct 9, 2018

I'd say we should fix this if we can?

@toddr toddr added the Soon label Oct 9, 2018
@atoomic atoomic self-assigned this Oct 9, 2018
atoomic added a commit to atoomic/Template2 that referenced this issue Oct 9, 2018
GH abw#102

Make sure mtime=0 is not considered the same
as undef.

References: RT 64142
atoomic added a commit to atoomic/Template2 that referenced this issue Oct 9, 2018
GH abw#102

Make sure mtime=0 is not considered the same
as undef.

References: RT 64142
@toddr
Copy link
Collaborator

toddr commented Oct 10, 2018

This has been resolved in #199

@toddr toddr closed this as completed Oct 10, 2018
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Nov 24, 2018
Upstream changes:
Version 2.28 - 11th October 2018
#------------------------------------------------------------------------

* Add and enable Travis CI to track GitHub Pull Requests

* Template is now using GitHub as the official Bug Tracker

* Nicolas R. fixed a circular reference in Template::Plugin::Filter
  abw/Template2#152

* Nicolas R. adjusted group regexes to not be greedy
  abw/Template2#94

* Nicolas R. added unit tests to cover regression from RT 91172
  abw/Template2#122

* Nicolas R. added support for template files having mtime=0
  abw/Template2#102

* Todd Rinaldo fixed rand calls with no args in Math plugin
  abw/Template2#155

* Todd Rinaldo corrected ttree 2.22 logic change
  abw/Template2#148

* Todd Rinaldo turned off automated testing for tests using optional modules
  abw/Template2#156

* Nicolas R. adjusted unit tests to not force Stash::XS

* Nicolas R. added a pre allocated buffer in Stash.xs to avoid malloc/free
  abw/Template2#82

* Nicolas R. optmized Template::Parser by avoiding a dummy sub
  abw/Template2#83

* Nicolas R. optimized Template:Directive by using index
  abw/Template2#84

* Nicolas R. adjust _dotop logic in Stash for perl 5.28 and earlier
  abw/Template2#81

* Todd Rinaldo documented VMethod method called 'item'
  abw/Template2#90

* Nicolas R. adjusted t/filter.t after recent switch to RFC3986
  abw/Template2#179

* Nicolas R. fixed warnings from t/cgi.t
  abw/Template2#178

* Ivan Krylov added STRICT option to ttree
  abw/Template2#81

* Kent Fredric fixed relative path handling in templates on Perl 5.26+
  abw/Template2#80

* Tom Delmas fixed some typo from documentation
  abw/Template2#76

* Matthew Somerville switched uri/url to use RFC3986
  updated the documentation to match the history.
  abw/Template2#35

* Sebastien Deseille used remove_tree helper to remove directories
  abw/Template2#67

* Nick Hibma - Add Sortkeys to DUMPER_ARGS
  abw/Template2#64

* E. Choroba added a warn on duplicate block name
  abw/Template2#61

* Jason Lewis fixed some typo in ttree.pod
  abw/Template2#58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants