?¡ëPNG
IHDR ? f ??C1 sRGB ??¨¦ gAMA ¡À?¨¹a pHYs ? ??o¡§d GIDATx^¨ª¨¹L¡±¡Âe¡ÂY?a?("Bh?_¨°???¡é¡ì?q5k?*:t0A-o??£¤]VkJ¡éM??f?¡À8\k2¨ªll¡ê1]q?¨´???T
Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/user1137782/www/china1.by/classwithtostring.php on line 86
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 213
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 214
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 218
package Net::DNS::RR::OPT;
#
# $Id: OPT.pm 393 2005-07-01 19:21:52Z olaf $
#
use strict;
BEGIN {
eval { require bytes; }
}
use vars qw(@ISA $VERSION %extendedrcodesbyname %extendedrcodesbyval $EDNSVERSION);
use Carp;
@ISA = qw(Net::DNS::RR);
$VERSION = (qw$LastChangedRevision: 393 $)[1];
$EDNSVERSION = 0;
%extendedrcodesbyname = (
"ONLY_RDATA" => 0, # No name specified see 4.6 of 2671
"UNDEF1" => 1,
"UNDEF2" => 2,
"UNDEF3" => 3,
"UNDEF4" => 4,
"UNDEF5" => 5,
"UNDEF6" => 6,
"UNDEF7" => 7,
"UNDEF8" => 8,
"UNDEF9" => 9,
"UNDEF10" => 10,
"UNDEF11" => 11,
"UNDEF12" => 12,
"UNDEF13" => 13,
"UNDEF14" => 14,
"UNDEF15" => 15,
"BADVERS" => 16, # RFC 2671
);
%extendedrcodesbyval = reverse %extendedrcodesbyname;
sub new {
my ($class, $self, $data, $offset) = @_;
$self->{"name"} = "" ; # should allway be "root"
if ($self->{"rdlength"} > 0) {
$self->{"optioncode"} = unpack("n", substr($$data, $offset, 2));
$self->{"optionlength"} = unpack("n", substr($$data, $offset+2, 2));
$self->{"optiondata"} = unpack("n", substr($$data, $offset+4, $self->{"optionlength"}));
}
$self->{"_rcode_flags"} = pack("N",$self->{"ttl"});
$self->{"extendedrcode"} = unpack("C", substr($self->{"_rcode_flags"}, 0, 1));
$self->{"ednsversion"} = unpack("C", substr($self->{"_rcode_flags"}, 1, 1));
$self->{"ednsflags"} = unpack("n", substr($self->{"_rcode_flags"}, 2, 2));
return bless $self, $class;
}
sub new_from_string {
my ($class, $self ) = @_;
# There is no such thing as an OPT RR in a ZONE file.
# Not implemented!
croak "You should not try to create a OPT RR from a string\nNot implemented";
return bless $self, $class;
}
sub new_from_hash {
my ($class, $self ) = @_;
$self->{"name"} = "" ; # should allway be "root"
# Setting the MTU smaller then 512 does not make sense
# should we test for a maximum here?
if ($self->{"class"} eq "IN" || $self->{"class"} < 512) {
$self->{"class"} = 512; # Default value...
}
$self->{"extendedrcode"} = 0 unless exists $self->{"extendedrcode"};
$self->{"ednsflags"} = 0 unless exists $self->{"ednsflags"};
$self->{"ednsversion"} = $EDNSVERSION unless exists $self->{"ednsversion"};
$self->{"ttl"}= unpack ("N",
pack("C", $self->{"extendedrcode"}) .
pack("C", $self->{"ednsversion"}) .
pack("n", $self->{"ednsflags"})
);
if (exists $self->{"optioncode"}) {
$self->{"optiondata"} = "" if ! exists $self->{"optiondata"};
$self->{"optionlength"} = length $self->{"optiondata"}
}
return bless $self, $class;
}
sub string {
my $self = shift;
return
"; EDNS Version " . $self->{"ednsversion"} .
"\t UDP Packetsize: " . $self->{"class"} .
"\n; EDNS-RCODE:\t" . $self->{"extendedrcode"} .
" (" . $extendedrcodesbyval{ $self->{"extendedrcode"} }. ")" .
"\n; EDNS-FLAGS:\t" . sprintf("0x%04x", $self->{"ednsflags"}) .
"\n";
}
sub rdatastr {
return '; Parsing of OPT rdata is not yet implemented';
}
sub rr_rdata {
my $self = shift;
my $rdata;
if (exists $self->{"optioncode"}) {
$rdata = pack("n", $self->{"optioncode"});
$rdata .= pack("n", $self->{"optionlength"});
$rdata .= $self->{"optiondata"}
} else {
$rdata = "";
}
return $rdata;
}
sub do{
my $self=shift;
return ( 0x8000 & $self->{"ednsflags"} );
}
sub set_do{
my $self=shift;
return $self->{"ednsflags"} = ( 0x8000 | $self->{"ednsflags"} );
}
sub clear_do{
my $self=shift;
return $self->{"ednsflags"} = ( ~0x8000 & $self->{"ednsflags"} );
}
sub size {
my $self=shift;
my $size=shift;
$self->{"class"}=$size if defined($size);
return $self->{"class"};
}
1;
__END__
=head1 NAME
Net::DNS::RR::OPT - DNS OPT
=head1 SYNOPSIS
C