亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? opt.pm

?? 雷傲極酷超級論壇LeoBBS X 040601 簡體正式版
?? PM
字號:
package Net::DNS::RR::OPT;

# $Id: OPT.pm,v 1.4 2002/11/17 04:03:34 ctriv Exp $


use strict;
use vars qw(@ISA %extendedrcodesbyname %extendedrcodesbyval $EDNSVERSION);

use Socket;
use Net::DNS;
use Carp;

@ISA = qw(Net::DNS::RR);

$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 = map { ($extendedrcodesbyname{$_} => $_) } keys %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"}  =  $Net::DNS::RR::OPT::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 {
	my $self = shift;
	my $rdatastr;
	$rdatastr = "; Parsing of OPT rdata is not yet implemented";
	return $rdatastr;
}





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;
}





1;


=head1 NAME

Net::DNS::RR::OPT - DNS OPT

=head1 SYNOPSIS

C<use Net::DNS::RR>;

=head1 DESCRIPTION

Class for EDNS pseudo resource record OPT.

=head1 METHODS

This object should only be used inside the Net::DNS classes itself.

=head2 new 

Since "OPT" is a pseudo record and should not be stored in
masterfiles; Therefore we have not implemented a method to create this
RR from string.

One may create the object from a hash. See RFC 2671 for details for
the meaning of the hash keys.

 $rr= new Net::DNS::RR {
    name => "",     # Ignored and set to ""
    type => "OPT",  
    class => 1024,    # sets UDP payload size
    extendedrcode =>  0x00,    # sets the extended RCODE 1 octets
    ednsflags     =>  0x0000,  # sets the ednsflags (2octets)  
    optioncode   =>   0x0      # 2 octets
    optiondata   =>   0x0      # optionlength octets
 }    

The ednsversion is set to 0 for now. The ttl value is determined from 
the extendedrcode, the ednsversion and the ednsflag.
The rdata is constructed from the optioncode and optiondata 
see section 4.4 of RFC 2671

If optioncode is left undefined then we do not expect any RDATA.

The defaults are no rdata.   


=head1 TODO

- This class is tailored to use with dnssec. 

- Do some range checking on the input.

- This class probably needs subclasses once OPTION codes start to be defined.

- look at use of extended labels

=head1 COPYRIGHT

Copyright (c) 2001, 2002  RIPE NCC.  Author Olaf M. Kolkman

All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of the author not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.


THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Based on, and contains, code by Copyright (c) 1997-2002 Michael Fuhr.

=head1 SEE ALSO

L<perl(1)>, L<Net::DNS>, L<Net::DNS::Resolver>, L<Net::DNS::Packet>,
L<Net::DNS::Header>, L<Net::DNS::Question>, L<Net::DNS::RR>,
RFC 2435 Section 3

=cut

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区成人| 久久福利视频一区二区| 99精品视频一区二区三区| 国产三级欧美三级日产三级99| 国产一区视频网站| 亚洲国产经典视频| 一本一本大道香蕉久在线精品| 一区二区三区波多野结衣在线观看| 日本韩国视频一区二区| 偷窥国产亚洲免费视频| 欧美成人一区二区三区片免费 | 亚洲va欧美va国产va天堂影院| 处破女av一区二区| 国产精品久久久久久久裸模| 一本大道久久精品懂色aⅴ| 悠悠色在线精品| 日韩一区二区三区在线观看| 国产精品综合av一区二区国产馆| 国产精品拍天天在线| 欧美日韩在线三级| 久久精品久久99精品久久| 国产欧美精品日韩区二区麻豆天美| av不卡免费在线观看| 日本不卡视频一二三区| 国产女人水真多18毛片18精品视频| 色综合久久久久综合99| 麻豆精品视频在线观看视频| 久久久久成人黄色影片| 日本乱码高清不卡字幕| 视频一区二区国产| 国产欧美一区视频| 欧美日韩国产a| 国产福利一区在线| 日韩中文字幕av电影| 日本一区二区三区电影| 欧美日韩国产大片| 成人爱爱电影网址| 久久97超碰色| 亚洲一二三四在线观看| 中文字幕第一区综合| 制服丝袜一区二区三区| 色一情一伦一子一伦一区| 精品在线免费观看| 亚洲成av人**亚洲成av**| 国产精品萝li| 久久精品一区四区| 欧美成人性福生活免费看| 色女孩综合影院| 国产成人av一区二区三区在线 | 国产麻豆成人精品| 亚洲一区二区偷拍精品| 国产情人综合久久777777| 欧美高清激情brazzers| 日本韩国精品在线| 不卡一区二区中文字幕| 国内成人免费视频| 老汉av免费一区二区三区 | 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲欧美日韩一区二区三区在线观看| 久久久青草青青国产亚洲免观| 日韩欧美中文字幕公布| 51精品秘密在线观看| 欧美视频在线不卡| 欧美最猛黑人xxxxx猛交| 91在线一区二区三区| 成人免费的视频| 不卡一区二区三区四区| 成人高清免费观看| 欧美激情中文字幕| 亚洲影视在线观看| 国产精品乱人伦中文| 久久久久国产免费免费| xvideos.蜜桃一区二区| 欧美草草影院在线视频| 欧美成人一区二区三区在线观看 | 中文在线免费一区三区高中清不卡| 日韩精品最新网址| 欧美r级电影在线观看| 精品久久人人做人人爽| 久久男人中文字幕资源站| 久久久99久久| 国产精品入口麻豆九色| 亚洲欧美日韩小说| 亚洲一区二区影院| 日韩国产高清在线| 久久66热偷产精品| 国产精品自产自拍| 国产成人久久精品77777最新版本| 成人综合日日夜夜| 色诱亚洲精品久久久久久| 精品写真视频在线观看| 亚洲日本中文字幕区| 国产亚洲精品超碰| 91麻豆swag| 国产在线不卡视频| 欧美极品aⅴ影院| 99久久婷婷国产综合精品 | 亚洲一区电影777| 日产国产高清一区二区三区| 精品一区二区在线免费观看| 国产91丝袜在线播放九色| 色综合一区二区| 91精品黄色片免费大全| 久久久久久久网| 亚洲一区二区三区在线看| 精品夜夜嗨av一区二区三区| 日韩视频在线你懂得| 欧美一卡2卡三卡4卡5免费| 日韩欧美中文字幕制服| 久久久蜜桃精品| 亚洲一区国产视频| 国产一区二区三区电影在线观看 | 国产成人av网站| 日本丰满少妇一区二区三区| 欧美一区二区精品| 中文字幕在线不卡| 蜜芽一区二区三区| 99综合影院在线| 欧美一区二区免费观在线| 中文天堂在线一区| 日韩电影在线免费| 99国产精品一区| 精品少妇一区二区三区| 亚洲影视在线观看| 丁香六月久久综合狠狠色| 欧美日韩国产不卡| 中文字幕一区二区不卡| 麻豆91在线播放免费| 一本色道久久综合精品竹菊| 2020国产成人综合网| 一级精品视频在线观看宜春院| 久久福利资源站| 亚洲免费av高清| 久久69国产一区二区蜜臀| 色综合天天狠狠| 久久久99精品免费观看不卡| 日本三级亚洲精品| 日本道色综合久久| 国产精品美女久久久久aⅴ国产馆| 日韩国产欧美在线观看| 91热门视频在线观看| 国产日韩综合av| 狠狠狠色丁香婷婷综合久久五月| 欧美性受xxxx黑人xyx| 亚洲人成在线观看一区二区| 国产一区二三区好的| 日韩欧美成人一区| 午夜精品123| 欧美三级乱人伦电影| 亚洲日本丝袜连裤袜办公室| 成人夜色视频网站在线观看| 精品国产露脸精彩对白| 麻豆国产欧美日韩综合精品二区| 欧美三级韩国三级日本三斤 | 色综合一个色综合亚洲| 国产精品美女久久久久久久久| 国产精品一区二区男女羞羞无遮挡| 欧洲日韩一区二区三区| 国产视频一区不卡| 久久99精品久久久久久国产越南| 亚洲另类中文字| 欧美xxxx在线观看| 久久超级碰视频| 在线成人av网站| 欧美三级视频在线| 成人黄色国产精品网站大全在线免费观看| 91福利在线播放| 一区二区三区蜜桃| 欧美影院精品一区| 亚洲福利一区二区三区| 欧美精品777| 免费成人小视频| 久久久国产精品午夜一区ai换脸| 国产麻豆欧美日韩一区| 国产欧美日韩视频在线观看| 成人久久视频在线观看| 国产精品久久久久久久久久久免费看| 成人黄色综合网站| 一区二区久久久| 91精品国产乱| 国产精品1区二区.| 日本不卡一区二区三区| 欧美猛男超大videosgay| 五月综合激情婷婷六月色窝| 欧美午夜在线观看| 蜜臀久久99精品久久久久宅男| 欧美成人一级视频| 成+人+亚洲+综合天堂| 一区二区高清在线| 日韩欧美亚洲一区二区| 成人激情文学综合网| 亚洲国产精品视频| 欧美v日韩v国产v| 国产69精品久久久久777| 亚洲欧美日本在线| 欧美一区二区三区在线视频| 成人午夜免费视频| 亚洲一区二区成人在线观看| 亚洲精品一线二线三线| 91美女在线看|