|
Lines 161-196
my $out;
Link Here
|
| 161 |
unless ( C4::Context->preference('ILS-DI') ) { |
161 |
unless ( C4::Context->preference('ILS-DI') ) { |
| 162 |
$out->{'code'} = "NotAllowed"; |
162 |
$out->{'code'} = "NotAllowed"; |
| 163 |
$out->{'message'} = "ILS-DI is disabled."; |
163 |
$out->{'message'} = "ILS-DI is disabled."; |
| 164 |
} |
164 |
} else { |
| 165 |
|
165 |
|
| 166 |
# If the remote address is not allowed, redirect to 403 |
166 |
# If the remote address is not allowed, redirect to 403 |
| 167 |
my @AuthorizedIPs = split( /,/, C4::Context->preference('ILS-DI:AuthorizedIPs') ); |
167 |
my @AuthorizedIPs = split( /,/, C4::Context->preference('ILS-DI:AuthorizedIPs') ); |
| 168 |
if (@AuthorizedIPs) { # If no filter set, allow access to everybody |
168 |
if (@AuthorizedIPs) { # If no filter set, allow access to everybody |
| 169 |
my $authorized = 0; |
169 |
my $authorized = 0; |
| 170 |
foreach my $ip (@AuthorizedIPs) { |
170 |
foreach my $ip (@AuthorizedIPs) { |
| 171 |
my $netmask = Net::Netmask->new2($ip); |
171 |
my $netmask = Net::Netmask->new2($ip); |
| 172 |
if ( $netmask && $netmask->match( $ENV{REMOTE_ADDR} ) ) { |
172 |
if ( $netmask && $netmask->match( $ENV{REMOTE_ADDR} ) ) { |
| 173 |
$authorized = 1; |
173 |
$authorized = 1; |
| 174 |
last; |
174 |
last; |
|
|
175 |
} |
| 175 |
} |
176 |
} |
| 176 |
} |
177 |
unless ($authorized) { |
| 177 |
unless ($authorized) { |
178 |
$out->{'code'} = "NotAllowed"; |
|
|
179 |
$out->{'message'} = "Unauthorized IP address: $ENV{REMOTE_ADDR}."; |
| 180 |
} |
| 181 |
} else { |
| 178 |
$out->{'code'} = "NotAllowed"; |
182 |
$out->{'code'} = "NotAllowed"; |
| 179 |
$out->{'message'} = "Unauthorized IP address: $ENV{REMOTE_ADDR}."; |
183 |
$out->{'message'} = "Unauthorized IP address: $ENV{REMOTE_ADDR}."; |
|
|
184 |
|
| 185 |
print XMLout( |
| 186 |
$out, |
| 187 |
noattr => 1, |
| 188 |
nosort => 1, |
| 189 |
xmldecl => '<?xml version="1.0" encoding="UTF-8" ?>', |
| 190 |
RootName => "ilsdi", |
| 191 |
SuppressEmpty => 1 |
| 192 |
); |
| 193 |
exit 0; |
| 180 |
} |
194 |
} |
| 181 |
} else { |
195 |
|
| 182 |
$out->{'code'} = "NotAllowed"; |
|
|
| 183 |
$out->{'message'} = "Unauthorized IP address: $ENV{REMOTE_ADDR}."; |
| 184 |
|
| 185 |
print XMLout( |
| 186 |
$out, |
| 187 |
noattr => 1, |
| 188 |
nosort => 1, |
| 189 |
xmldecl => '<?xml version="1.0" encoding="UTF-8" ?>', |
| 190 |
RootName => "ilsdi", |
| 191 |
SuppressEmpty => 1 |
| 192 |
); |
| 193 |
exit 0; |
| 194 |
} |
196 |
} |
| 195 |
|
197 |
|
| 196 |
my $service = $cgi->param('service') || "ilsdi"; |
198 |
my $service = $cgi->param('service') || "ilsdi"; |
| 197 |
- |
|
|