TT#30653 apply_rewrite() strict checks for $subscriber variable type

* returns if $subscriber is not a reference
    * tighten checks for the $subscriber object type

Change-Id: I02410b1f34a7761bbcbe7a6bd005336211a5e0b9
(cherry picked from commit bdc54a041d)
changes/27/19927/1
Kirill Solomko 7 years ago
parent 1c17a03ff6
commit 4c0e86e28a

@ -1394,10 +1394,10 @@ sub apply_rewrite {
unless ($rwr_rs->count) {
return $callee;
}
} elsif (not $subscriber) {
} elsif (!$subscriber || !ref($subscriber)) {
$c->log->warn('could not apply rewrite: no subscriber found.');
return $callee;
} elsif ($subscriber->provisioning_voip_subscriber) {
} elsif ($subscriber->can('provisioning_voip_subscriber')) {
$rwr_rs = NGCP::Panel::Utils::Preferences::get_usr_preference_rs(
c => $c, attribute => $dir,
prov_subscriber => $subscriber->provisioning_voip_subscriber,
@ -1411,7 +1411,7 @@ sub apply_rewrite {
unless($rwr_rs->count) {
return $callee;
}
} else {
} elsif ($subscriber->can('domain')) {
$sub_type = 'billing';
if ($subscriber->domain && $subscriber->domain->provisioning_voip_domain) {
$rwr_rs = NGCP::Panel::Utils::Preferences::get_dom_preference_rs(
@ -1424,6 +1424,9 @@ sub apply_rewrite {
} else {
return $callee;
}
} else {
$c->log->warn('could not apply rewrite: unknown subscriber type.');
return $callee;
}
my $rule_rs = $c->model('DB')->resultset('voip_rewrite_rules')->search({

Loading…
Cancel
Save