line |
true |
false |
branch |
143
|
0 |
9 |
if (/^-?authoritative$/i) { } |
|
1 |
8 |
elsif (/^-?authprotocol$/i) { } |
|
2 |
6 |
elsif (/^-?privprotocol$/i) { } |
144
|
0 |
0 |
delete $argv{$_} ? : |
151
|
0 |
9 |
if (defined $$this{'_error'}) |
152
|
0 |
0 |
wantarray ? : |
160
|
0 |
6 |
if (/^-?version$/i) { } |
|
0 |
6 |
elsif (/^-?debug$/i) { } |
|
0 |
6 |
elsif (/^-?engineid$/i and $$this{'_authoritative'}) { } |
|
2 |
4 |
elsif (/^-?username$/i) { } |
|
0 |
4 |
elsif (/^-?authkey$/i) { } |
|
2 |
2 |
elsif (/^-?authpassword$/i) { } |
|
0 |
2 |
elsif (/^-?privkey$/i) { } |
|
2 |
0 |
elsif (/^-?privpassword$/i) { } |
180
|
0 |
6 |
if (defined $$this{'_error'}) |
181
|
0 |
0 |
wantarray ? : |
189
|
0 |
2 |
if ($$this{'_authoritative'}) |
194
|
0 |
2 |
unless (defined $this->_security_params) |
195
|
0 |
0 |
wantarray ? : |
199
|
2 |
0 |
wantarray ? : |
209
|
0 |
0 |
if (@_ < 3) |
214
|
0 |
0 |
if ($pdu->version != $$this{'_version'}) |
222
|
0 |
0 |
if ($pdu->security_level > $$this{'_security_level'}) |
230
|
0 |
0 |
if ($pdu->expect_response) { } |
231
|
0 |
0 |
if ($$this{'_authoritative'}) |
238
|
0 |
0 |
unless ($$this{'_authoritative'}) |
264
|
0 |
0 |
if ($pdu->security_level > SECURITY_LEVEL_AUTHNOPRIV()) |
265
|
0 |
0 |
unless (defined $this->_encrypt_data($msg, $priv_params, $pdu_buffer)) |
271
|
0 |
0 |
unless (defined $msg->prepare(OCTET_STRING(), $priv_params)) |
280
|
0 |
0 |
if ($pdu->security_level > SECURITY_LEVEL_NOAUTHNOPRIV()) |
289
|
0 |
0 |
unless (defined $msg->prepare(OCTET_STRING(), $auth_params)) |
294
|
0 |
0 |
unless (defined $msg->prepare(OCTET_STRING(), $pdu->security_name)) |
299
|
0 |
0 |
unless (defined $msg->prepare(INTEGER(), $msg_engine_time)) |
304
|
0 |
0 |
unless (defined $msg->prepare(INTEGER(), $msg_engine_boots)) |
309
|
0 |
0 |
unless (defined $msg->prepare(OCTET_STRING(), $this->_engine_id)) |
314
|
0 |
0 |
unless (defined $msg->prepare(SEQUENCE())) |
319
|
0 |
0 |
unless (defined $msg->prepare(OCTET_STRING(), $msg->clear)) |
324
|
0 |
0 |
unless (defined $msg->append($pdu_buffer)) |
329
|
0 |
0 |
unless (defined $msg->prepend($msg_global_data)) |
334
|
0 |
0 |
unless (defined $msg->prepare(INTEGER(), $$this{'_version'})) |
339
|
0 |
0 |
unless (defined $msg->prepare(SEQUENCE())) |
344
|
0 |
0 |
if ($pdu->security_level > SECURITY_LEVEL_NOAUTHNOPRIV()) |
345
|
0 |
0 |
unless (defined $this->_authenticate_outgoing_msg($msg, $auth_location)) |
361
|
0 |
0 |
if @_ < 2 |
366
|
0 |
0 |
unless defined $msg_params |
374
|
0 |
0 |
unless defined $msg->process(SEQUENCE()) |
378
|
0 |
0 |
unless (defined($msg_engine_id = $msg->process(OCTET_STRING()))) |
384
|
0 |
0 |
unless (defined($msg_engine_boots = $msg->process(INTEGER()))) |
387
|
0 |
0 |
if ($msg_engine_boots < 0 or $msg_engine_boots > 2147483647) |
396
|
0 |
0 |
unless (defined($msg_engine_time = $msg->process(INTEGER()))) |
399
|
0 |
0 |
if ($msg_engine_time < 0 or $msg_engine_time > 2147483647) |
407
|
0 |
0 |
unless (defined $msg->security_name($msg->process(OCTET_STRING()))) |
413
|
0 |
0 |
unless (defined($auth_params = $msg->process(OCTET_STRING()))) |
420
|
0 |
0 |
if (my $len = length $auth_params) |
421
|
0 |
0 |
if ($len != 12) |
431
|
0 |
0 |
unless (defined($priv_params = $msg->process(OCTET_STRING()))) |
437
|
0 |
0 |
if ($$this{'_discovered'}) { } |
439
|
0 |
0 |
if ($msg_engine_id ne $this->_engine_id) |
447
|
0 |
0 |
if ($msg->security_name ne $this->_user_name) |
457
|
0 |
0 |
unless (defined $this->_engine_id_discovery($msg_engine_id)) |
467
|
0 |
0 |
if ($security_level > $$this{'_security_level'}) |
474
|
0 |
0 |
if ($security_level > SECURITY_LEVEL_NOAUTHNOPRIV()) |
477
|
0 |
0 |
unless (defined $this->_authenticate_incoming_msg($msg, $auth_params)) |
482
|
0 |
0 |
unless ($this->_synchronize($msg_engine_boots, $msg_engine_time)) |
487
|
0 |
0 |
unless (defined $this->_timeliness($msg_engine_boots, $msg_engine_time)) |
491
|
0 |
0 |
if ($security_level > SECURITY_LEVEL_AUTHNOPRIV()) |
495
|
0 |
0 |
if (length $priv_params != 8) |
509
|
0 |
0 |
if ($$this{'_priv_protocol'} eq PRIV_PROTOCOL_AESCFB128() or $$this{'_priv_protocol'} eq PRIV_PROTOCOL_DRAFT_AESCFB192() or $$this{'_priv_protocol'} eq PRIV_PROTOCOL_DRAFT_AESCFB256()) |
539
|
0 |
0 |
if ($$this{'_security_level'} > SECURITY_LEVEL_NOAUTHNOPRIV()) |
555
|
0 |
0 |
if ($$this{'_security_level'} > SECURITY_LEVEL_AUTHNOPRIV()) |
603
|
0 |
0 |
if ($$this{'_security_level'} > SECURITY_LEVEL_NOAUTHNOPRIV()) |
616
|
0 |
0 |
if ($version != SNMP_VERSION_3()) |
627
|
0 |
0 |
if (@_ < 2) |
631
|
0 |
0 |
if ($engine_id =~ /^(?:0x)?([A-F0-9]+)$/i) { } |
632
|
0 |
0 |
length($1) % 2 ? : |
634
|
0 |
0 |
if ($len < 5 or $len > 32) |
655
|
2 |
0 |
if (@_ == 2) |
656
|
0 |
2 |
if ($user_name eq '') { } |
|
0 |
2 |
elsif (length $user_name > 32) { } |
669
|
0 |
2 |
$$this{'_discovered'} ? : |
676
|
0 |
0 |
if ($$this{'_engine_id'} eq '') |
687
|
0 |
0 |
unless (defined $ENGINE_ID) |
694
|
0 |
0 |
if ($@) |
714
|
0 |
0 |
if (@_ == 2) |
715
|
0 |
0 |
if ($auth_key =~ /^(?:0x)?([A-F0-9]+)$/i) { } |
716
|
0 |
0 |
length($1) % 2 ? : |
717
|
0 |
0 |
unless (defined $this->_auth_key_validate) |
734
|
2 |
0 |
if (@_ == 2) |
735
|
0 |
2 |
if ($auth_password eq '') |
756
|
0 |
1 |
if (@_ < 2) |
760
|
0 |
1 |
if ($proto eq '') |
765
|
1 |
1 |
if ($proto =~ /^$_$/i) |
779
|
0 |
0 |
if (@_ == 2) |
780
|
0 |
0 |
if ($priv_key =~ /^(?:0x)?([A-F0-9]+)$/i) { } |
781
|
0 |
0 |
length($1) % 2 ? : |
782
|
0 |
0 |
unless (defined $this->_priv_key_validate) |
799
|
2 |
0 |
if (@_ == 2) |
800
|
0 |
2 |
if ($priv_password eq '') |
828
|
0 |
2 |
if (@_ < 2) |
832
|
0 |
2 |
if ($proto eq '') |
839
|
2 |
16 |
if ($proto =~ /^$_$/i) |
845
|
0 |
2 |
unless (defined $priv_proto) |
853
|
0 |
2 |
if ($priv_proto eq PRIV_PROTOCOL_AESCFB128() or $priv_proto eq PRIV_PROTOCOL_DRAFT_AESCFB192() or $priv_proto eq PRIV_PROTOCOL_DRAFT_AESCFB256()) |
857
|
0 |
0 |
if (defined(my $error = load_module('Crypt::Rijndael'))) |
871
|
0 |
2 |
$_[0]{'_synchronized'} ? : |
878
|
0 |
0 |
unless $$this{'_synchronized'} |
882
|
0 |
0 |
if ($$this{'_engine_time'} > 2147483647) |
884
|
0 |
0 |
if (++$$this{'_engine_boots'} == 2147483647) |
889
|
0 |
0 |
unless ($$this{'_authoritative'}) |
895
|
0 |
0 |
if ($$this{'_engine_time'} < 0) |
910
|
0 |
6 |
if ($$this{'_user_name'} eq '') |
916
|
2 |
4 |
if (defined $$this{'_auth_password'} and $$this{'_discovered'}) |
917
|
2 |
0 |
unless (defined $$this{'_auth_key'}) |
918
|
0 |
2 |
unless defined $this->_auth_key_generate |
923
|
4 |
2 |
if (defined $$this{'_auth_key'}) |
926
|
0 |
4 |
unless (defined $this->_auth_key_validate) |
931
|
0 |
4 |
unless (defined $this->_auth_data_init) |
935
|
4 |
0 |
if ($$this{'_discovered'}) |
943
|
0 |
2 |
unless (defined $$this{'_auth_key'} or defined $$this{'_auth_password'}) |
944
|
0 |
0 |
if (defined $$this{'_priv_key'} or defined $$this{'_priv_password'}) |
953
|
2 |
4 |
if (defined $$this{'_priv_password'} and $$this{'_discovered'}) |
954
|
2 |
0 |
unless (defined $$this{'_priv_key'}) |
955
|
0 |
2 |
unless defined $this->_priv_key_generate |
960
|
4 |
2 |
if (defined $$this{'_priv_key'}) |
963
|
0 |
4 |
unless (defined $this->_priv_key_validate) |
968
|
0 |
4 |
unless (defined $this->_priv_data_init) |
972
|
4 |
0 |
if ($$this{'_discovered'}) |
987
|
0 |
2 |
if $$this{'_authoritative'} |
991
|
0 |
2 |
if (length $engine_id < 5 or length $engine_id > 32) |
1001
|
0 |
2 |
unless (defined $this->_security_params) |
1013
|
0 |
2 |
if $$this{'_authoritative'} |
1014
|
0 |
2 |
if $$this{'_security_level'} < SECURITY_LEVEL_AUTHNOPRIV() |
1016
|
2 |
0 |
if ($msg_boots > $this->_engine_boots or $msg_boots == $this->_engine_boots and $msg_time > $$this{'_latest_engine_time'}) |
1028
|
2 |
0 |
unless ($$this{'_synchronized'}) |
1030
|
0 |
2 |
unless (defined $this->_security_params) |
1052
|
0 |
0 |
if $$this{'_security_level'} < SECURITY_LEVEL_AUTHNOPRIV() |
1061
|
0 |
0 |
if ($engine_boots == 2147483647) |
1066
|
0 |
0 |
if (not $$this{'_authoritative'}) { } |
1068
|
0 |
0 |
if ($msg_boots < $engine_boots) |
1071
|
0 |
0 |
if ($msg_boots == $engine_boots and $msg_time < $engine_time - 150) |
1077
|
0 |
0 |
if ($msg_boots != $engine_boots) |
1080
|
0 |
0 |
if ($msg_time < $engine_time - 150 or $msg_time > $engine_time + 150) |
1095
|
0 |
0 |
unless ($auth_location) |
1112
|
0 |
0 |
if ($auth_params ne $this->_auth_hmac($msg)) |
1125
|
0 |
4 |
unless defined $$this{'_auth_data'} and defined $msg |
1135
|
0 |
4 |
unless (defined $$this{'_auth_key'}) |
1139
|
2 |
2 |
if defined $$this{'_auth_data'} |
1141
|
1 |
1 |
if ($$this{'_auth_protocol'} eq AUTH_PROTOCOL_HMACMD5()) { } |
|
1 |
0 |
elsif ($$this{'_auth_protocol'} eq AUTH_PROTOCOL_HMACSHA()) { } |
1176
|
0 |
2 |
unless (exists $$encrypt{$_[0]{'_priv_protocol'}}) |
1180
|
0 |
2 |
unless (defined $_[1]->prepare(OCTET_STRING(), $_[0]->${\$$encrypt{$_[0]{'_priv_protocol'}};}($_[2], $_[3]))) |
1210
|
0 |
2 |
unless (defined $_[3]) |
1214
|
0 |
2 |
unless (exists $$decrypt{$_[0]{'_priv_protocol'}}) |
1222
|
0 |
2 |
unless (defined $_[1]->prepend($_[0]->${\$$decrypt{$_[0]{'_priv_protocol'}};}($_[2], $_[3]))) |
1230
|
0 |
2 |
unless $_[1]->length |
1236
|
0 |
2 |
if (not defined $msglen or $msglen > $_[1]->length) |
1251
|
0 |
4 |
unless (defined $$this{'_priv_key'}) |
1255
|
2 |
2 |
if defined $$this{'_priv_data'} |
1266
|
0 |
2 |
unless (exists $$init{$$this{'_priv_protocol'}}) |
1279
|
0 |
2 |
unless (defined $$this{'_priv_key'}) |
1300
|
0 |
2 |
unless (defined $_[0]{'_priv_data'}) |
1314
|
0 |
2 |
if ($_[0]{'_priv_data'}{'salt'}++ == 18446744073709551615) |
1336
|
0 |
2 |
unless (defined $_[0]{'_priv_data'}) |
1340
|
0 |
2 |
if (length $_[1] != 8) |
1346
|
0 |
2 |
if (length($_[2]) % 8) |
1370
|
0 |
0 |
unless (defined $$this{'_priv_key'}) |
1391
|
0 |
0 |
if ($$this{'_auth_protocol'} eq AUTH_PROTOCOL_HMACMD5()) { } |
|
0 |
0 |
elsif ($$this{'_auth_protocol'} eq AUTH_PROTOCOL_HMACSHA()) { } |
1404
|
0 |
0 |
unless (defined $_[0]{'_priv_data'}) |
1413
|
0 |
0 |
if ($_[0]{'_priv_data'}{'salt'}++ == 18446744073709551615) |
1422
|
0 |
0 |
if (exists $_[0]{'_priv_data'}{'hash'}) |
1448
|
0 |
0 |
unless (defined $_[0]{'_priv_data'}) |
1452
|
0 |
0 |
if (length $_[1] != 8) |
1458
|
0 |
0 |
if (length($_[2]) % 8) |
1487
|
0 |
0 |
unless (defined $$this{'_priv_key'}) |
1512
|
0 |
0 |
unless (defined $_[0]{'_priv_data'}) |
1518
|
0 |
0 |
if ($length <= 16) |
1525
|
0 |
0 |
if ($_[0]{'_priv_data'}{'salt1'}++ == 18446744073709551615) |
1527
|
0 |
0 |
if ($_[0]{'_priv_data'}{'salt2'}++ == 18446744073709551615) |
1564
|
0 |
0 |
unless (defined $_[0]{'_priv_data'}) |
1573
|
0 |
0 |
if (length $_[1] != 16) |
1581
|
0 |
0 |
if ($length <= 16) |
1613
|
0 |
2 |
unless (defined $$this{'_engine_id'} and defined $$this{'_auth_password'}) |
1632
|
0 |
4 |
unless (exists $$key_len{$$this{'_auth_protocol'}}) |
1638
|
0 |
4 |
if (length $$this{'_auth_key'} != $$key_len{$$this{'_auth_protocol'}}[0]) |
1654
|
0 |
2 |
unless (defined $$this{'_engine_id'} and defined $$this{'_priv_password'}) |
1660
|
0 |
2 |
unless defined $$this{'_priv_key'} |
1662
|
0 |
2 |
if ($$this{'_priv_protocol'} eq PRIV_PROTOCOL_DRAFT_3DESEDE()) { } |
|
0 |
2 |
elsif ($$this{'_priv_protocol'} eq PRIV_PROTOCOL_DRAFT_AESCFB192() or $$this{'_priv_protocol'} eq PRIV_PROTOCOL_DRAFT_AESCFB256()) { } |
1681
|
0 |
0 |
if ($$this{'_auth_protocol'} eq AUTH_PROTOCOL_HMACMD5()) { } |
|
0 |
0 |
elsif ($$this{'_auth_protocol'} eq AUTH_PROTOCOL_HMACSHA()) { } |
1706
|
0 |
2 |
unless (exists $$key_len{$$this{'_priv_protocol'}}) |
1731
|
0 |
4 |
unless (exists $$key_len{$$this{'_priv_protocol'}}) |
1737
|
0 |
4 |
if (length $$this{'_priv_key'} != $$key_len{$$this{'_priv_protocol'}}[0]) |
1746
|
0 |
4 |
if ($$this{'_priv_protocol'} eq PRIV_PROTOCOL_DRAFT_3DESEDE()) |
1753
|
0 |
0 |
if (substr($$this{'_priv_key'}, 0, 8) eq substr($$this{'_priv_key'}, 8, 8)) |
1760
|
0 |
0 |
if (substr($$this{'_priv_key'}, 8, 8) eq substr($$this{'_priv_key'}, 16, 8)) |
1767
|
0 |
0 |
if (substr($$this{'_priv_key'}, 0, 8) eq substr($$this{'_priv_key'}, 16, 8)) |
1789
|
0 |
4 |
unless (exists $$digests{$$this{'_auth_protocol'}}) |
1829
|
0 |
0 |
if exists $modules{$module} |
1831
|
0 |
0 |
if (not eval "require $module") { } |
1832
|
0 |
0 |
if ($@ =~ /locate (\S+\.pm)/) { } |