Subject: | Side effects of untaint_all_constraints |
When using the (now deprecated) constraints key with the following format:
'password' => {
'constraint' => sub { my ($pw1, $pw2) = @_; return 0 unless $pw1
eq $pw2; return 1; },
'params' => [ qw( password password2 ) ],
},
If untaint_all_constraints is set, the return 0 will be interpretted as
a true value and the constraint will always pass. Turning off
untaint_all_constraints or returning undef will allow the subroutine to
work.
We haven't tried this with the newer contraint_method key but this
behavior is consistent with 3.59, 3.63 and 4.12.
William