σ n|ΊOc@sTdZdZdefd„ƒYZdefd„ƒYZiZd„Zd„ZdS( s EDNS OptionsitOptioncBsteZdZd„Zd„Zd„ZeeƒZd„Zd„Zd„Z d„Z d„Z d „Z d „Z RS( s*Base class for all EDNS option types. cCs ||_dS(s\Initialize an option. @param otype: The rdata type @type otype: int N(totype(tselfR((s./usr/lib64/python2.7/site-packages/dns/edns.pyt__init__scCs t‚dS(s*Convert an option to wire format. N(tNotImplementedError(Rtfile((s./usr/lib64/python2.7/site-packages/dns/edns.pytto_wirescCs t‚dS(s˜Build an EDNS option object from wire format @param otype: The option type @type otype: int @param wire: The wire-format message @type wire: string @param current: The offet in wire of the beginning of the rdata. @type current: int @param olen: The length of the wire-format option data @type olen: int @rtype: dns.edns.Option instanceN(R(tclsRtwiretcurrenttolen((s./usr/lib64/python2.7/site-packages/dns/edns.pyt from_wire$s cCs t‚dS(s–Compare an EDNS option with another option of the same type. Return < 0 if self < other, 0 if self == other, and > 0 if self > other. N(R(Rtother((s./usr/lib64/python2.7/site-packages/dns/edns.pyt_cmp4scCs<t|tƒstS|j|jkr)tS|j|ƒdkS(Ni(t isinstanceRtFalseRR (RR ((s./usr/lib64/python2.7/site-packages/dns/edns.pyt__eq__:s cCs<t|tƒstS|j|jkr)tS|j|ƒdkS(Ni(RRRRR (RR ((s./usr/lib64/python2.7/site-packages/dns/edns.pyt__ne__As cCs9t|tƒ s"|j|jkr&tS|j|ƒdkS(Ni(RRRtNotImplementedR (RR ((s./usr/lib64/python2.7/site-packages/dns/edns.pyt__lt__HscCs9t|tƒ s"|j|jkr&tS|j|ƒdkS(Ni(RRRRR (RR ((s./usr/lib64/python2.7/site-packages/dns/edns.pyt__le__NscCs9t|tƒ s"|j|jkr&tS|j|ƒdkS(Ni(RRRRR (RR ((s./usr/lib64/python2.7/site-packages/dns/edns.pyt__ge__TscCs9t|tƒ s"|j|jkr&tS|j|ƒdkS(Ni(RRRRR (RR ((s./usr/lib64/python2.7/site-packages/dns/edns.pyt__gt__Zs(t__name__t __module__t__doc__RRR t classmethodR RRRRRR(((s./usr/lib64/python2.7/site-packages/dns/edns.pyRs          t GenericOptioncBs>eZdZd„Zd„Zd„ZeeƒZd„ZRS(swGenerate Rdata Class This class is used for EDNS option types for which we have no better implementation. cCs#tt|ƒj|ƒ||_dS(N(tsuperRRtdata(RRR((s./usr/lib64/python2.7/site-packages/dns/edns.pyRhscCs|j|jƒdS(N(twriteR(RR((s./usr/lib64/python2.7/site-packages/dns/edns.pyRlscCs||||||!ƒS(N((RRRR R ((s./usr/lib64/python2.7/site-packages/dns/edns.pyR oscCst|j|jƒS(N(tcmpR(RR ((s./usr/lib64/python2.7/site-packages/dns/edns.pyR ts(RRRRRR RR (((s./usr/lib64/python2.7/site-packages/dns/edns.pyRas     cCs(tj|ƒ}|dkr$t}n|S(N(t_type_to_classtgettNoneR(RR((s./usr/lib64/python2.7/site-packages/dns/edns.pytget_option_classzs  cCs"t|ƒ}|j||||ƒS(stBuild an EDNS option object from wire format @param otype: The option type @type otype: int @param wire: The wire-format message @type wire: string @param current: The offet in wire of the beginning of the rdata. @type current: int @param olen: The length of the wire-format option data @type olen: int @rtype: dns.edns.Option instance(R#R (RRR R R((s./usr/lib64/python2.7/site-packages/dns/edns.pytoption_from_wire€s N(RtNSIDtobjectRRR R#R$(((s./usr/lib64/python2.7/site-packages/dns/edns.pyts M