Hello,
In Brazil we've got a form of Social Security number called "CPF". We
received some code from another place that uses PacketFence as NAC
solution, but they were in version ~ 6.
The code validates CPF within the Authentication.pm file, as following:
[...]
use strict;
use va
rs qw($VCPF $CPF $t $d $c);
[Just some regular stuff from PacketFence...]
my %skip = (
email => 1,
telephone => 1,
custom_field_1 => 1,
map { $_ => 1 } @pf::person::NON_PROMPTABLE_FIELDS,
);
[...] (The following is in a single line)
has_field 'fields[custom_field_1]' => (label => 'CPF', apply => [{ check =>
qr/^\d{11}$/, message => 'CPF deve conter apenas dígitos, sem pontos ou
hífens'
}], validate_method => \&check_cpf);
[...]
=head2 check_cpf
Check that the CPF is a valid one
=cut
sub check_cpf {
my ($self) = @_;
my $VCPF = 1;
my $CPF;
$CPF = shift;
if ($CPF == '00000000000' ||
$CPF == '11111111111' ||
$CPF == '22222222222' ||
$CPF == '33333333333' ||
$CPF == '44444444444' ||
$CPF == '55555555555' ||
$CPF == '66666666666' ||
$CPF == '77777777777' ||
$CPF == '88888888888' ||
$CPF == '99999999999') {
$self->add_error("CPI inválido.");
return $self->form->app->flash->{error} = "CPI inválido.";
}
else {
for ($t = 9; $t < 11; $t++) {
for ($d = 0, $c = 0; $c < $t; $c++) {
$d = $d + substr($CPF,$c,1) * (($t + 1) - $c);
}
$d = ((10 * $d) % 11) % 10;
if (substr($CPF,$c,1) != $d) {
$self->add_error("CPI inválido.");
return $self->form->app->flash->{error} = "CPI inválido.";
}
}
}
}
Unfortunately this is throwing some erros in httpd.portal.error, I believe
it has something to do on how the variable $CPF is being populated.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "H" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "T" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "M" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "L" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "F" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "o" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "r" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "m" isn't numeric
in numeric ne (!=) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 213.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "H" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "T" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "M" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "L" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "F" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "o" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "r" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "m" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "H" isn't numeric
in numeric ne (!=) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 213.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "H" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "T" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "M" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "L" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "F" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "o" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "r" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "m" isn't numeric
in numeric ne (!=) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 213.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "H" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "T" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "M" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "L" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument ":" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "F" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "o" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "r" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "m" isn't numeric
in multiplication (*) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 210.
Sep 3 09:47:10 prometeu httpd_portal_err: Argument "H" isn't numeric
in numeric ne (!=) at
/usr/local/pf/lib/captiveportal/PacketFence/Form/Authentication.pm
line 213.
Could you guys provide me some help regarding this?
Best Regards,
Murilo Calegari de Souza
Estagiário da TI
Coordenadoria de Tecnologia da Informação
Instituto Federal do Espírito Santo – Campus Nova Venécia
27 3752 4311 ramal 43112
--
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
PacketFence-users mailing list
PacketFence-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/packetfence-users