| line |
!l |
l&&!r |
l&&r |
condition |
|
51
|
29 |
0 |
0 |
$$form{$self->key_logout} and not $self->{'_logout_looking_for_user'} |
|
97
|
10 |
2 |
3 |
$data->error and $data->{'allow_cookie_match'} |
|
100
|
8 |
0 |
9 |
defined $cookie and length $cookie |
|
105
|
1 |
1 |
1 |
$data and $self->check_form_user_against_cookie($user, $data->{'user'}, $data) |
|
122
|
0 |
11 |
0 |
$data->{'type'} and $data->{'type'} eq "crypt" |
|
209
|
1 |
0 |
5 |
defined $data and $data->error ne "Login expired" |
|
|
1 |
5 |
0 |
defined $data and $data->error ne "Login expired" and $self->failed_sleep |
|
267
|
0 |
0 |
0 |
$dom =~ s/^[\w\-]*\.// and $dom =~ /\./ |
|
466
|
0 |
0 |
21 |
defined($data->{'user'} = $self->cleanup_user($data->{'user'})) && length $data->{'user'} |
|
536
|
21 |
0 |
0 |
$self->complex_plaintext and $copy =~ m[^ ([^/]+) / (\d+) / (-?\d+) / ([^/]*) / (.*) $]x |
|
577
|
19 |
0 |
0 |
$data->{'plain_time'} and $data->{'expires_min'} > 0 |
|
|
19 |
0 |
0 |
$data->{'plain_time'} and $data->{'expires_min'} > 0 and $self->server_time - $data->{'plain_time'} > $data->{'expires_min'} * 60 |
|
|
17 |
0 |
2 |
$pass =~ m[^([./0-9A-Za-z]{2})([./0-9A-Za-z]{11})$] and crypt($data->{'test_pass'}, $1) eq $pass |
|
592
|
0 |
2 |
0 |
$data->{'expires_min'} > 0 and $self->server_time - $data->{'cram_time'} > $data->{'expires_min'} * 60 |
|
607
|
0 |
0 |
0 |
$data->{'expires_min'} > 0 and $self->server_time - $data->{'cram_time'} > $data->{'expires_min'} * 60 |
|
661
|
12 |
0 |
0 |
defined $data->{'use_crypt'} and $data->{'use_crypt'} |
|
|
1 |
11 |
0 |
defined $data->{'type'} and $data->{'type'} eq "crypt" |
|
672
|
0 |
0 |
12 |
not $data->{'prefer_simple_cram'} and $array = eval {
do {
$self->secure_hash_keys
}
} |
|
|
0 |
3 |
9 |
not $data->{'prefer_simple_cram'} and $array = eval {
do {
$self->secure_hash_keys
}
} and @$array |
|
727
|
0 |
0 |
2 |
defined $form_user and defined $cookie_user |
| line |
l |
!l |
condition |
|
85
|
0 |
8 |
delete $$form{$self->key_expires_min} || undef |
|
136
|
16 |
0 |
shift() || {} |
|
182
|
13 |
0 |
shift() || {} |
|
203
|
4 |
9 |
$args->{'had_form_data'} || 0 |
|
297
|
1 |
3 |
$args->{'path'} || $self->cookie_path($key, $val) || '/' |
|
311
|
0 |
29 |
+(shift())->{'key_logout'} ||= "cea_logout" |
|
312
|
28 |
18 |
+(shift())->{'key_cookie'} ||= "cea_user" |
|
313
|
37 |
18 |
+(shift())->{'key_user'} ||= "cea_user" |
|
314
|
33 |
16 |
+(shift())->{'key_pass'} ||= "cea_pass" |
|
315
|
13 |
13 |
+(shift())->{'key_time'} ||= "cea_time" |
|
316
|
1 |
20 |
+(shift())->{'key_save'} ||= "cea_save" |
|
317
|
14 |
20 |
+(shift())->{'key_expires_min'} ||= "cea_expires_min" |
|
318
|
0 |
13 |
+(shift())->{'form_name'} ||= "cea_form" |
|
319
|
0 |
13 |
+(shift())->{'key_verify'} ||= "cea_verify" |
|
320
|
13 |
29 |
+(shift())->{'key_redirect'} ||= "cea_redirect" |
|
321
|
0 |
15 |
+(shift())->{'key_loggedout'} ||= "loggedout" |
|
322
|
0 |
0 |
+(shift())->{'bounce_on_logout'} ||= 0 |
|
323
|
0 |
3 |
+(shift())->{'secure_hash_keys'} ||= [] |
|
325
|
0 |
0 |
+(shift())->{'no_cookie_verify'} ||= 0 |
|
326
|
0 |
46 |
+(shift())->{'use_crypt'} ||= 0 |
|
327
|
0 |
20 |
+(shift())->{'use_blowfish'} ||= "" |
|
328
|
6 |
23 |
$s->{'use_plaintext'} ||= 0 |
|
331
|
0 |
0 |
+(shift())->{'failed_sleep'} ||= 0 |
|
398
|
0 |
0 |
$_[0]{'template_args'} ||= {} |
|
422
|
5 |
8 |
$data->{'user'} || '' |
|
548
|
2 |
0 |
$6 || '' |
|
655
|
17 |
0 |
$data->{'user'} || die('Missing user') |
| line |
l |
!l&&r |
!l&&!r |
condition |
|
31
|
32 |
0 |
0 |
shift() || croak('Usage: CGI::Ex::Auth->new') |
|
97
|
14 |
3 |
12 |
not ref $data or $data->error and $data->{'allow_cookie_match'} |
|
122
|
5 |
0 |
11 |
$self->use_plaintext or $data->{'type'} and $data->{'type'} eq "crypt" |
|
123
|
2 |
0 |
3 |
defined $use_session or defined $data->{'expires_min'} |
|
143
|
6 |
10 |
0 |
scalar keys %{$self->cookies;} or $self->no_cookie_verify |
|
202
|
0 |
13 |
0 |
$form->{$key_r} || $self->script_name . $self->path_info . (scalar keys %$form ? '?' . $self->cgix->make_form($form) : '') |
|
235
|
27 |
0 |
0 |
+(shift())->{'script_name'} or $ENV{'SCRIPT_NAME'} |
|
237
|
0 |
0 |
55 |
+(shift())->{'path_info'} or $ENV{'PATH_INFO'} |
|
244
|
6 |
1 |
0 |
$self->{'cgix'} ||= "CGI::Ex"->new |
|
250
|
71 |
0 |
0 |
$self->{'form'} ||= $self->cgix->get_form |
|
256
|
47 |
3 |
0 |
$self->{'cookies'} ||= $self->cgix->get_cookies |
|
285
|
1 |
0 |
3 |
$args->{'domain'} || $self->cookie_domain |
|
286
|
1 |
0 |
3 |
$args->{'secure'} || $self->cookie_secure |
|
287
|
0 |
0 |
4 |
$args->{'httponly'} || $self->cookie_httponly |
|
288
|
1 |
1 |
2 |
$args->{'samesite'} || $self->cookie_samesite |
|
344
|
0 |
0 |
0 |
$self->{'logout_redirect'} || $self->script_name . "?$form" |
|
349
|
24 |
18 |
0 |
$self->{'js_uri_path'} ||= $self->script_name . "/js" |
|
374
|
0 |
0 |
0 |
$args->{'include_path'} || $self->template_include_path |
|
|
0 |
0 |
0 |
$args->{'INCLUDE_PATH'} ||= $args->{'include_path'} || $self->template_include_path |
|
392
|
0 |
0 |
0 |
$self->{'template_obj'} || do {
require Template::Alloy;
'Template::Alloy'->new($args)
} |
|
488
|
2 |
0 |
0 |
defined $pass or $data->error |
|
580
|
0 |
0 |
2 |
not $data->{'secure_hash'} =~ /^sh\.(\d+)\.(\d+)$/ or $1 > $#$array |
|
649
|
17 |
0 |
0 |
shift() || $self->last_auth_data |
|
661
|
5 |
0 |
12 |
defined $data->{'use_plaintext'} ? $data->{'use_plaintext'} : $self->use_plaintext or defined $data->{'use_crypt'} and $data->{'use_crypt'} |
|
|
0 |
0 |
12 |
defined $data->{'use_plaintext'} ? $data->{'use_plaintext'} : $self->use_plaintext or defined $data->{'use_crypt'} and $data->{'use_crypt'} or defined $data->{'type'} and $data->{'type'} eq "crypt" |
|
688
|
0 |
0 |
17 |
$data->{'use_blowfish'} || $self->use_blowfish |
|
838
|
0 |
0 |
0 |
$self->use_plaintext or $self->disable_simple_cram |
|
898
|
0 |
0 |
0 |
$self->error || $self->{'user'} && $self->{'type'} |