diff options
Diffstat (limited to 'web/streamlib/stream.pm')
| -rw-r--r-- | web/streamlib/stream.pm | 36 | 
1 files changed, 36 insertions, 0 deletions
diff --git a/web/streamlib/stream.pm b/web/streamlib/stream.pm new file mode 100644 index 0000000..c28136e --- /dev/null +++ b/web/streamlib/stream.pm @@ -0,0 +1,36 @@ +package stream; +use strict; +use warnings; + +BEGIN { +	use Exporter(); + +        our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); + +        @ISA         = qw(Exporter); +	$VERSION     = 1.00; +	@EXPORT      = qw(&is_ip_local); +	 +} + +sub is_ip_local($$$) { +	my $clip = shift; +	my $v4net = shift; +	my $v6net = shift; +	return 0 unless defined($clip); +	 +	my $is_local = 0; +	if ($clip =~ m/\:/){ +		if (NetAddr::IP->new($clip)->within($v6net)){ +			$is_local = 1; +		} +	} else { +		if (NetAddr::IP->new($clip)->within($v4net)){ +			$is_local = 1; +		} +	} +	return $is_local; +} + + +1;  | 
