Makaretu.Dns.xml 206 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>Makaretu.Dns</name>
  5. </assembly>
  6. <members>
  7. <member name="T:Makaretu.Dns.AAAARecord">
  8. <summary>
  9. Contains the IPv6 address of the named resource.
  10. </summary>
  11. </member>
  12. <member name="M:Makaretu.Dns.AAAARecord.#ctor">
  13. <summary>
  14. Creates a new instance of the <see cref="T:Makaretu.Dns.AAAARecord"/> class.
  15. </summary>
  16. </member>
  17. <member name="T:Makaretu.Dns.AddressRecord">
  18. <summary>
  19. Base class for an Internet address.
  20. </summary>
  21. </member>
  22. <member name="M:Makaretu.Dns.AddressRecord.#ctor">
  23. <summary>
  24. Creates a new instance of the <see cref="T:Makaretu.Dns.AddressRecord"/> class.
  25. </summary>
  26. </member>
  27. <member name="P:Makaretu.Dns.AddressRecord.Address">
  28. <summary>
  29. The Internet address.
  30. </summary>
  31. <value>
  32. Either IPv4 or IPv6.
  33. </value>
  34. </member>
  35. <member name="M:Makaretu.Dns.AddressRecord.Create(Makaretu.Dns.DomainName,System.Net.IPAddress)">
  36. <summary>
  37. Creates an A or AAAA record based on the <see cref="T:System.Net.Sockets.AddressFamily"/>.
  38. </summary>
  39. <param name="name">
  40. The name of the node that owns the address.
  41. </param>
  42. <param name="address">
  43. An IPv4 or IPv6 address.
  44. </param>
  45. <returns>
  46. An <see cref="T:Makaretu.Dns.ARecord"/> or <see cref="T:Makaretu.Dns.AAAARecord"/> tha describes
  47. the <paramref name="name"/> and <paramref name="address"/>.
  48. </returns>
  49. </member>
  50. <member name="M:Makaretu.Dns.AddressRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  51. <inheritdoc />
  52. </member>
  53. <member name="M:Makaretu.Dns.AddressRecord.ReadData(Makaretu.Dns.PresentationReader)">
  54. <inheritdoc />
  55. </member>
  56. <member name="M:Makaretu.Dns.AddressRecord.WriteData(Makaretu.Dns.WireWriter)">
  57. <inheritdoc />
  58. </member>
  59. <member name="M:Makaretu.Dns.AddressRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  60. <inheritdoc />
  61. </member>
  62. <member name="T:Makaretu.Dns.AFSDBRecord">
  63. <summary>
  64. Andrew File System Database.
  65. </summary>
  66. <remarks>
  67. Maps a domain name to the name of an AFS cell database server.
  68. </remarks>
  69. <seealso href="https://tools.ietf.org/html/rfc1183"/>
  70. </member>
  71. <member name="M:Makaretu.Dns.AFSDBRecord.#ctor">
  72. <summary>
  73. Creates a new instance of the <see cref="T:Makaretu.Dns.AFSDBRecord"/> class.
  74. </summary>
  75. </member>
  76. <member name="P:Makaretu.Dns.AFSDBRecord.Subtype">
  77. <summary>
  78. A 16 bit integer which specifies the type of AFS server.
  79. </summary>
  80. <value>
  81. See <see href="https://tools.ietf.org/html/rfc1183#section-1"/>
  82. </value>
  83. </member>
  84. <member name="P:Makaretu.Dns.AFSDBRecord.Target">
  85. <summary>
  86. A domain-name which specifies a host running an AFS server.
  87. </summary>
  88. <value>
  89. The name of an AFS server.
  90. </value>
  91. </member>
  92. <member name="M:Makaretu.Dns.AFSDBRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  93. <inheritdoc />
  94. </member>
  95. <member name="M:Makaretu.Dns.AFSDBRecord.ReadData(Makaretu.Dns.PresentationReader)">
  96. <inheritdoc />
  97. </member>
  98. <member name="M:Makaretu.Dns.AFSDBRecord.WriteData(Makaretu.Dns.WireWriter)">
  99. <inheritdoc />
  100. </member>
  101. <member name="M:Makaretu.Dns.AFSDBRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  102. <inheritdoc />
  103. </member>
  104. <member name="T:Makaretu.Dns.ARecord">
  105. <summary>
  106. Contains the IPv4 address of the named resource.
  107. </summary>
  108. </member>
  109. <member name="M:Makaretu.Dns.ARecord.#ctor">
  110. <summary>
  111. Creates a new instance of the <see cref="T:Makaretu.Dns.ARecord"/> class.
  112. </summary>
  113. </member>
  114. <member name="T:Makaretu.Dns.CNAMERecord">
  115. <summary>
  116. The canonical name for an alias.
  117. </summary>
  118. <remarks>
  119. CNAME RRs cause no additional section processing, but name servers may
  120. choose to restart the query at the canonical name in certain cases. See
  121. the description of name server logic in [RFC - 1034] for details.
  122. </remarks>
  123. </member>
  124. <member name="M:Makaretu.Dns.CNAMERecord.#ctor">
  125. <summary>
  126. Creates a new instance of the <see cref="T:Makaretu.Dns.CNAMERecord"/> class.
  127. </summary>
  128. </member>
  129. <member name="P:Makaretu.Dns.CNAMERecord.Target">
  130. <summary>
  131. A domain-name which specifies the canonical or primary
  132. name for the owner. The owner name is an alias.
  133. </summary>
  134. </member>
  135. <member name="M:Makaretu.Dns.CNAMERecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  136. <inheritdoc />
  137. </member>
  138. <member name="M:Makaretu.Dns.CNAMERecord.ReadData(Makaretu.Dns.PresentationReader)">
  139. <inheritdoc />
  140. </member>
  141. <member name="M:Makaretu.Dns.CNAMERecord.WriteData(Makaretu.Dns.WireWriter)">
  142. <inheritdoc />
  143. </member>
  144. <member name="M:Makaretu.Dns.CNAMERecord.WriteData(Makaretu.Dns.PresentationWriter)">
  145. <inheritdoc />
  146. </member>
  147. <member name="T:Makaretu.Dns.DigestRegistry">
  148. <summary>
  149. Registry of implemented <see cref="T:Makaretu.Dns.DigestType"/>.
  150. </summary>
  151. <remarks>
  152. IANA maintains a list of all known types at <see href="https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml#ds-rr-types-1"/>.
  153. </remarks>
  154. <see cref="T:Makaretu.Dns.DigestType"/>
  155. <see cref="T:System.Security.Cryptography.HashAlgorithm"/>
  156. </member>
  157. <member name="F:Makaretu.Dns.DigestRegistry.Digests">
  158. <summary>
  159. Defined hashing algorithms.
  160. </summary>
  161. <remarks>
  162. The key is the <see cref="T:Makaretu.Dns.DigestType"/>.
  163. The value is a function that returns a new <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  164. </remarks>
  165. </member>
  166. <member name="M:Makaretu.Dns.DigestRegistry.Create(Makaretu.Dns.DigestType)">
  167. <summary>
  168. Gets the hash algorithm for the <see cref="T:Makaretu.Dns.DigestType"/>.
  169. </summary>
  170. <param name="digestType">
  171. One of the <see cref="T:Makaretu.Dns.DigestType"/> values.
  172. </param>
  173. <returns>
  174. A new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm"/> that implements
  175. the <paramref name="digestType"/>.
  176. </returns>
  177. <exception cref="T:System.NotImplementedException">
  178. When <paramref name="digestType"/> is not implemented.
  179. </exception>
  180. </member>
  181. <member name="M:Makaretu.Dns.DigestRegistry.Create(Makaretu.Dns.SecurityAlgorithm)">
  182. <summary>
  183. Gets the hash algorithm for the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
  184. </summary>
  185. <param name="algorithm">
  186. One of the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/> values.
  187. </param>
  188. <returns>
  189. A new instance of the <see cref="T:System.Security.Cryptography.HashAlgorithm"/> that is used
  190. for the <paramref name="algorithm"/>.
  191. </returns>
  192. <exception cref="T:System.NotImplementedException">
  193. When the <paramref name="algorithm"/> or its <see cref="T:System.Security.Cryptography.HashAlgorithm"/>
  194. is not implemented.
  195. </exception>
  196. </member>
  197. <member name="T:Makaretu.Dns.DigestType">
  198. <summary>
  199. Identities the cryptographic digest algorithm used by the resource records.
  200. </summary>
  201. <remarks>
  202. The values are maintained by IANA at <see href="https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml#ds-rr-types-1"/>.
  203. <para>
  204. Implemented digest algorithms are obtained from the <see cref="T:Makaretu.Dns.DigestRegistry"/>.
  205. </para>
  206. </remarks>
  207. <seealso cref="T:Makaretu.Dns.ResourceRecord"/>
  208. <seealso href="https://www.ietf.org/rfc/rfc4034.txt">RFC 4035</seealso>
  209. </member>
  210. <member name="F:Makaretu.Dns.DigestType.Sha1">
  211. <summary>
  212. SHA-1.
  213. </summary>
  214. </member>
  215. <member name="F:Makaretu.Dns.DigestType.Sha256">
  216. <summary>
  217. SHA-256
  218. </summary>
  219. </member>
  220. <member name="F:Makaretu.Dns.DigestType.GostR34_11_94">
  221. <summary>
  222. GOST R 34.11-94.
  223. </summary>
  224. </member>
  225. <member name="F:Makaretu.Dns.DigestType.Sha384">
  226. <summary>
  227. SHA-384
  228. </summary>
  229. </member>
  230. <member name="F:Makaretu.Dns.DigestType.Sha512">
  231. <summary>
  232. SHA-512 (not in IANA registry)
  233. </summary>
  234. </member>
  235. <member name="T:Makaretu.Dns.DNAMERecord">
  236. <summary>
  237. Alias for a name and all its subnames.
  238. </summary>
  239. <remarks>
  240. Alias for a name and all its subnames, unlike <see cref="T:Makaretu.Dns.CNAMERecord"/>, which is an
  241. alias for only the exact name. Like a CNAME record, the DNS lookup will continue by
  242. retrying the lookup with the new name.
  243. </remarks>
  244. </member>
  245. <member name="M:Makaretu.Dns.DNAMERecord.#ctor">
  246. <summary>
  247. Creates a new instance of the <see cref="T:Makaretu.Dns.DNAMERecord"/> class.
  248. </summary>
  249. </member>
  250. <member name="P:Makaretu.Dns.DNAMERecord.Target">
  251. <summary>
  252. A domain-name which specifies the canonical or primary
  253. name for the owner. The owner name is an alias.
  254. </summary>
  255. </member>
  256. <member name="M:Makaretu.Dns.DNAMERecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  257. <inheritdoc />
  258. </member>
  259. <member name="M:Makaretu.Dns.DNAMERecord.ReadData(Makaretu.Dns.PresentationReader)">
  260. <inheritdoc />
  261. </member>
  262. <member name="M:Makaretu.Dns.DNAMERecord.WriteData(Makaretu.Dns.WireWriter)">
  263. <inheritdoc />
  264. </member>
  265. <member name="M:Makaretu.Dns.DNAMERecord.WriteData(Makaretu.Dns.PresentationWriter)">
  266. <inheritdoc />
  267. </member>
  268. <member name="T:Makaretu.Dns.DnsClass">
  269. <summary>
  270. Identifies the network of the <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  271. </summary>
  272. <remarks>
  273. The values are maintained by IANA at <see href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-2"/>.
  274. </remarks>
  275. </member>
  276. <member name="F:Makaretu.Dns.DnsClass.IN">
  277. <summary>
  278. The Internet.
  279. </summary>
  280. </member>
  281. <member name="F:Makaretu.Dns.DnsClass.CS">
  282. <summary>
  283. The CSNET class (Obsolete - used only for examples insome obsolete RFCs).
  284. </summary>
  285. </member>
  286. <member name="F:Makaretu.Dns.DnsClass.CH">
  287. <summary>
  288. The CHAOS class.
  289. </summary>
  290. </member>
  291. <member name="F:Makaretu.Dns.DnsClass.HS">
  292. <summary>
  293. Hesiod[Dyer 87].
  294. </summary>
  295. </member>
  296. <member name="F:Makaretu.Dns.DnsClass.None">
  297. <summary>
  298. Used in UPDATE message to signify no class.
  299. </summary>
  300. </member>
  301. <member name="F:Makaretu.Dns.DnsClass.ANY">
  302. <summary>
  303. Only used in QCLASS.
  304. </summary>
  305. <seealso cref="P:Makaretu.Dns.Question.Class"/>
  306. </member>
  307. <member name="T:Makaretu.Dns.DNSKEYFlags">
  308. <summary>
  309. The usage of a <see cref="T:Makaretu.Dns.DNSKEYRecord">key</see>.
  310. </summary>
  311. </member>
  312. <member name="F:Makaretu.Dns.DNSKEYFlags.None">
  313. <summary>
  314. No specific usage.
  315. </summary>
  316. </member>
  317. <member name="F:Makaretu.Dns.DNSKEYFlags.SecureEntryPoint">
  318. <summary>
  319. Used by a parent zone's <see cref="T:Makaretu.Dns.DSRecord"/>.
  320. </summary>
  321. </member>
  322. <member name="F:Makaretu.Dns.DNSKEYFlags.ZoneKey">
  323. <summary>
  324. Used to sign the zone.
  325. </summary>
  326. <remarks>
  327. When set, the <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> must be the
  328. name of the zone.
  329. </remarks>
  330. </member>
  331. <member name="T:Makaretu.Dns.DNSKEYRecord">
  332. <summary>
  333. Public key cryptography to sign and authenticate resource records.
  334. </summary>
  335. </member>
  336. <member name="M:Makaretu.Dns.DNSKEYRecord.#ctor">
  337. <summary>
  338. Creates a new instance of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> class.
  339. </summary>
  340. </member>
  341. <member name="M:Makaretu.Dns.DNSKEYRecord.#ctor(System.Security.Cryptography.RSA,Makaretu.Dns.SecurityAlgorithm)">
  342. <summary>
  343. Creates a new instance of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> class
  344. from the specified RSA key.
  345. </summary>
  346. <param name="key">
  347. A public or private RSA key.
  348. </param>
  349. <param name="algorithm">
  350. The security algorithm to use. Only RSA types are allowed.
  351. </param>
  352. </member>
  353. <member name="P:Makaretu.Dns.DNSKEYRecord.Flags">
  354. <summary>
  355. Identifies the intended usage of the key.
  356. </summary>
  357. </member>
  358. <member name="P:Makaretu.Dns.DNSKEYRecord.Protocol">
  359. <summary>
  360. Must be three.
  361. </summary>
  362. <value>
  363. Defaults to 3.
  364. </value>
  365. </member>
  366. <member name="P:Makaretu.Dns.DNSKEYRecord.Algorithm">
  367. <summary>
  368. Identifies the public key's cryptographic algorithm.
  369. </summary>
  370. <value>
  371. Identifies the type of key (RSA, ECDSA, ...) and the
  372. hashing algorithm.
  373. </value>
  374. <remarks>
  375. Determines the format of the<see cref="P:Makaretu.Dns.DNSKEYRecord.PublicKey"/>.
  376. </remarks>
  377. </member>
  378. <member name="P:Makaretu.Dns.DNSKEYRecord.PublicKey">
  379. <summary>
  380. The public key material.
  381. </summary>
  382. <value>
  383. The format depends on the key <see cref="P:Makaretu.Dns.DNSKEYRecord.Algorithm"/>.
  384. </value>
  385. </member>
  386. <member name="M:Makaretu.Dns.DNSKEYRecord.KeyTag">
  387. <summary>
  388. Calculates the key tag.
  389. </summary>
  390. <value>
  391. A non-unique identifier for the public key.
  392. </value>
  393. <remarks>
  394. <see href="https://tools.ietf.org/html/rfc4034#appendix-B"/> for the details.
  395. </remarks>
  396. </member>
  397. <member name="M:Makaretu.Dns.DNSKEYRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  398. <inheritdoc />
  399. </member>
  400. <member name="M:Makaretu.Dns.DNSKEYRecord.WriteData(Makaretu.Dns.WireWriter)">
  401. <inheritdoc />
  402. </member>
  403. <member name="M:Makaretu.Dns.DNSKEYRecord.ReadData(Makaretu.Dns.PresentationReader)">
  404. <inheritdoc />
  405. </member>
  406. <member name="M:Makaretu.Dns.DNSKEYRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  407. <inheritdoc />
  408. </member>
  409. <member name="T:Makaretu.Dns.DnsObject">
  410. <summary>
  411. Base class for all DNS objects.
  412. </summary>
  413. <remarks>
  414. Provides helper methods for <see cref="T:Makaretu.Dns.IWireSerialiser">wire serialisation</see>,
  415. cloning and caching.
  416. </remarks>
  417. </member>
  418. <member name="P:Makaretu.Dns.DnsObject.CreationTime">
  419. <summary>
  420. When the object was created.
  421. </summary>
  422. <value>
  423. Local time.
  424. </value>
  425. <remarks>
  426. Cloning does not alter the value.
  427. </remarks>
  428. </member>
  429. <member name="M:Makaretu.Dns.DnsObject.Length">
  430. <summary>
  431. Length in bytes of the object when serialised.
  432. </summary>
  433. <returns>
  434. Numbers of bytes when serialised.
  435. </returns>
  436. </member>
  437. <member name="M:Makaretu.Dns.DnsObject.Clone">
  438. <summary>
  439. Makes a deep copy of the object.
  440. </summary>
  441. <returns>
  442. A deep copy of the dns object.
  443. </returns>
  444. <remarks>
  445. Uses serialisation to make a copy.
  446. </remarks>
  447. </member>
  448. <member name="M:Makaretu.Dns.DnsObject.Clone``1">
  449. <summary>
  450. Makes a deep copy of the object.
  451. </summary>
  452. <typeparam name="T">
  453. Some type derived from <see cref="T:Makaretu.Dns.DnsObject"/>.
  454. </typeparam>
  455. <returns>
  456. A deep copy of the dns object.
  457. </returns>
  458. <remarks>
  459. Use serialisation to make a copy.
  460. </remarks>
  461. </member>
  462. <member name="M:Makaretu.Dns.DnsObject.Read(System.Byte[])">
  463. <summary>
  464. Reads the DNS object from a byte array.
  465. </summary>
  466. <param name="buffer">
  467. The source for the DNS object.
  468. </param>
  469. </member>
  470. <member name="M:Makaretu.Dns.DnsObject.Read(System.Byte[],System.Int32,System.Int32)">
  471. <summary>
  472. Reads the DNS object from a byte array.
  473. </summary>
  474. <param name="buffer">
  475. The source for the DNS object.
  476. </param>
  477. <param name="offset">
  478. The offset into the <paramref name="buffer"/>.
  479. </param>
  480. <param name="count">
  481. The number of bytes in the <paramref name="buffer"/>.
  482. </param>
  483. </member>
  484. <member name="M:Makaretu.Dns.DnsObject.Read(System.IO.Stream)">
  485. <summary>
  486. Reads the DNS object from a stream.
  487. </summary>
  488. <param name="stream">
  489. The source for the DNS object.
  490. </param>
  491. </member>
  492. <member name="M:Makaretu.Dns.DnsObject.Read(Makaretu.Dns.WireReader)">
  493. <inheritdoc />
  494. </member>
  495. <member name="M:Makaretu.Dns.DnsObject.ToByteArray">
  496. <summary>
  497. Writes the DNS object to a byte array.
  498. </summary>
  499. <returns>
  500. A byte array containing the binary representaton of the DNS object.
  501. </returns>
  502. </member>
  503. <member name="M:Makaretu.Dns.DnsObject.Write(System.IO.Stream)">
  504. <summary>
  505. Writes the DNS object to a stream.
  506. </summary>
  507. <param name="stream">
  508. The destination for the DNS object.
  509. </param>
  510. </member>
  511. <member name="M:Makaretu.Dns.DnsObject.Write(Makaretu.Dns.WireWriter)">
  512. <inheritdoc />
  513. </member>
  514. <member name="T:Makaretu.Dns.DnsType">
  515. <summary>
  516. A resource record or query type.
  517. </summary>
  518. <seealso cref="P:Makaretu.Dns.Question.Type"/>
  519. <seealso cref="P:Makaretu.Dns.ResourceRecord.Type"/>
  520. </member>
  521. <member name="F:Makaretu.Dns.DnsType.A">
  522. <summary>
  523. A host address.
  524. </summary>
  525. <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
  526. <seealso cref="T:Makaretu.Dns.ARecord"/>
  527. </member>
  528. <member name="F:Makaretu.Dns.DnsType.NS">
  529. <summary>
  530. An authoritative name server.
  531. </summary>
  532. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
  533. <seealso cref="T:Makaretu.Dns.NSRecord"/>
  534. </member>
  535. <member name="F:Makaretu.Dns.DnsType.MD">
  536. <summary>
  537. A mail destination (OBSOLETE - use MX).
  538. </summary>
  539. <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
  540. </member>
  541. <member name="F:Makaretu.Dns.DnsType.MF">
  542. <summary>
  543. A mail forwarder (OBSOLETE - use MX).
  544. </summary>
  545. <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
  546. </member>
  547. <member name="F:Makaretu.Dns.DnsType.CNAME">
  548. <summary>
  549. The canonical name for an alias.
  550. </summary>
  551. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.1">RFC 1035</seealso>
  552. <seealso cref="T:Makaretu.Dns.CNAMERecord"/>
  553. </member>
  554. <member name="F:Makaretu.Dns.DnsType.SOA">
  555. <summary>
  556. Marks the start of a zone of authority.
  557. </summary>
  558. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.13">RFC 1035</seealso>
  559. <seealso cref="T:Makaretu.Dns.SOARecord"/>
  560. </member>
  561. <member name="F:Makaretu.Dns.DnsType.MB">
  562. <summary>
  563. A mailbox domain name (EXPERIMENTAL).
  564. </summary>
  565. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.3">RFC 1035</seealso>
  566. </member>
  567. <member name="F:Makaretu.Dns.DnsType.MG">
  568. <summary>
  569. A mail group member (EXPERIMENTAL).
  570. </summary>
  571. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.6">RFC 1035</seealso>
  572. </member>
  573. <member name="F:Makaretu.Dns.DnsType.MR">
  574. <summary>
  575. A mailbox rename domain name (EXPERIMENTAL).
  576. </summary>
  577. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
  578. </member>
  579. <member name="F:Makaretu.Dns.DnsType.NULL">
  580. <summary>
  581. A Null resource record (EXPERIMENTAL).
  582. </summary>
  583. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.8">RFC 1035</seealso>
  584. <seealso cref="T:Makaretu.Dns.NULLRecord"/>
  585. </member>
  586. <member name="F:Makaretu.Dns.DnsType.WKS">
  587. <summary>
  588. A well known service description.
  589. </summary>
  590. <seealso href="https://tools.ietf.org/html/rfc3232">RFC 3232</seealso>
  591. </member>
  592. <member name="F:Makaretu.Dns.DnsType.PTR">
  593. <summary>
  594. A domain name pointer.
  595. </summary>
  596. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.12">RFC 1035</seealso>
  597. <seealso cref="T:Makaretu.Dns.PTRRecord"/>
  598. </member>
  599. <member name="F:Makaretu.Dns.DnsType.HINFO">
  600. <summary>
  601. Host information.
  602. </summary>
  603. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
  604. <seealso href="https://tools.ietf.org/html/rfc1010">RFC 1010</seealso>
  605. <seealso cref="T:Makaretu.Dns.HINFORecord"/>
  606. </member>
  607. <member name="F:Makaretu.Dns.DnsType.MINFO">
  608. <summary>
  609. Mailbox or mail list information.
  610. </summary>
  611. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.11">RFC 1035</seealso>
  612. </member>
  613. <member name="F:Makaretu.Dns.DnsType.MX">
  614. <summary>
  615. Mail exchange.
  616. </summary>
  617. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3.9">RFC 1035</seealso>
  618. <seealso href="https://tools.ietf.org/html/rfc974">RFC 974</seealso>
  619. <seealso cref="T:Makaretu.Dns.MXRecord"/>
  620. </member>
  621. <member name="F:Makaretu.Dns.DnsType.TXT">
  622. <summary>
  623. Text resources.
  624. </summary>
  625. <seealso href="https://tools.ietf.org/html/rfc1035#section-3.3">RFC 1035</seealso>
  626. <seealso href="https://tools.ietf.org/html/rfc1464">RFC 1464</seealso>
  627. <seealso cref="T:Makaretu.Dns.TXTRecord"/>
  628. </member>
  629. <member name="F:Makaretu.Dns.DnsType.RP">
  630. <summary>
  631. Responsible Person.
  632. </summary>
  633. <seealso href="https://tools.ietf.org/html/rfc1183">RFC 1183</seealso>
  634. <seealso cref="T:Makaretu.Dns.RPRecord"/>
  635. </member>
  636. <member name="F:Makaretu.Dns.DnsType.AFSDB">
  637. <summary>
  638. AFS Data Base location.
  639. </summary>
  640. <seealso href="https://tools.ietf.org/html/rfc1183#section-1">RFC 1183</seealso>
  641. <seealso href="https://tools.ietf.org/html/rfc5864">RFC 5864</seealso>
  642. <seealso cref="T:Makaretu.Dns.AFSDBRecord"/>
  643. </member>
  644. <member name="F:Makaretu.Dns.DnsType.AAAA">
  645. <summary>
  646. An IPv6 host address.
  647. </summary>
  648. <seealso href="https://tools.ietf.org/html/rfc3596#section-2.2">RFC 3596</seealso>
  649. <seealso cref="T:Makaretu.Dns.AAAARecord"/>
  650. </member>
  651. <member name="F:Makaretu.Dns.DnsType.SRV">
  652. <summary>
  653. A resource record which specifies the location of the server(s) for a specific protocol and domain.
  654. </summary>
  655. <seealso href="https://tools.ietf.org/html/rfc2782">RFC 2782</seealso>
  656. <seealso cref="T:Makaretu.Dns.SRVRecord"/>
  657. </member>
  658. <member name="F:Makaretu.Dns.DnsType.DNAME">
  659. <summary>
  660. Maps an entire domain name.
  661. </summary>
  662. <seealso href="https://tools.ietf.org/html/rfc6672">RFC 6672</seealso>
  663. <see cref="T:Makaretu.Dns.DNAMERecord"/>
  664. </member>
  665. <member name="F:Makaretu.Dns.DnsType.OPT">
  666. <summary>
  667. Option record.
  668. </summary>
  669. <seealso href="https://tools.ietf.org/html/rfc6891">RFC 6891</seealso>
  670. <see cref="T:Makaretu.Dns.OPTRecord"/>
  671. </member>
  672. <member name="F:Makaretu.Dns.DnsType.DS">
  673. <summary>
  674. Delegation Signer.
  675. </summary>
  676. <seealso href="https://tools.ietf.org/html/rfc4034#section-5"/>
  677. <see cref="T:Makaretu.Dns.DSRecord"/>
  678. </member>
  679. <member name="F:Makaretu.Dns.DnsType.RRSIG">
  680. <summary>
  681. Signature for a RRSET with a particular name, class, and type.
  682. </summary>
  683. <seealso href="https://tools.ietf.org/html/rfc4034#section-3"/>
  684. <seealso cref="T:Makaretu.Dns.RRSIGRecord"/>
  685. </member>
  686. <member name="F:Makaretu.Dns.DnsType.NSEC">
  687. <summary>
  688. Next secure owener.
  689. </summary>
  690. <seealso href="https://tools.ietf.org/html/rfc3845"/>
  691. <seealso cref="T:Makaretu.Dns.NSECRecord"/>
  692. </member>
  693. <member name="F:Makaretu.Dns.DnsType.DNSKEY">
  694. <summary>
  695. Public key cryptography to sign and authenticate resource records.
  696. </summary>
  697. <seealso href="https://tools.ietf.org/html/rfc4034#section-2.1"/>
  698. <seealso cref="T:Makaretu.Dns.DNSKEYRecord"/>
  699. </member>
  700. <member name="F:Makaretu.Dns.DnsType.NSEC3">
  701. <summary>
  702. Authenticated next secure owner.
  703. </summary>
  704. <seealso href="https://tools.ietf.org/html/rfc5155"/>
  705. <seealso cref="T:Makaretu.Dns.NSEC3Record"/>
  706. </member>
  707. <member name="F:Makaretu.Dns.DnsType.NSEC3PARAM">
  708. <summary>
  709. Parameters needed by authoritative servers to calculate hashed owner names.
  710. </summary>
  711. <seealso href="https://tools.ietf.org/html/rfc5155#section-4"/>
  712. <seealso cref="T:Makaretu.Dns.NSEC3PARAMRecord"/>
  713. </member>
  714. <member name="F:Makaretu.Dns.DnsType.TKEY">
  715. <summary>
  716. Shared secret key.
  717. </summary>
  718. <seealso href="https://tools.ietf.org/html/rfc2930"/>
  719. <seealso cref="T:Makaretu.Dns.TKEYRecord"/>
  720. </member>
  721. <member name="F:Makaretu.Dns.DnsType.TSIG">
  722. <summary>
  723. Transactional Signature.
  724. </summary>
  725. <seealso href="https://tools.ietf.org/html/rfc2845"/>
  726. <seealso cref="T:Makaretu.Dns.TSIGRecord"/>
  727. </member>
  728. <member name="F:Makaretu.Dns.DnsType.AXFR">
  729. <summary>
  730. A request for a transfer of an entire zone.
  731. </summary>
  732. <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
  733. </member>
  734. <member name="F:Makaretu.Dns.DnsType.MAILB">
  735. <summary>
  736. A request for mailbox-related records (MB, MG or MR).
  737. </summary>
  738. <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
  739. </member>
  740. <member name="F:Makaretu.Dns.DnsType.MAILA">
  741. <summary>
  742. A request for mail agent RRs (Obsolete - see MX).
  743. </summary>
  744. <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
  745. </member>
  746. <member name="F:Makaretu.Dns.DnsType.ANY">
  747. <summary>
  748. A request for any record(s).
  749. </summary>
  750. <seealso href="https://tools.ietf.org/html/rfc1035">RFC 1035</seealso>
  751. </member>
  752. <member name="F:Makaretu.Dns.DnsType.URI">
  753. <summary>
  754. A Uniform Resource Identifier (URI) resource record.
  755. </summary>
  756. <seealso href="https://tools.ietf.org/html/rfc7553">RFC 7553</seealso>
  757. </member>
  758. <member name="F:Makaretu.Dns.DnsType.CAA">
  759. <summary>
  760. A certification authority authorization.
  761. </summary>
  762. <seealso href="https://tools.ietf.org/html/rfc6844">RFC 6844</seealso>
  763. </member>
  764. <member name="T:Makaretu.Dns.DomainName">
  765. <summary>
  766. A domain name consists of one or more parts, <see cref="P:Makaretu.Dns.DomainName.Labels"/>, that are
  767. conventionally delimited by dots, such as "example.org".
  768. </summary>
  769. <remarks>
  770. Equality is based on the number of and the case-insenstive contents of <see cref="P:Makaretu.Dns.DomainName.Labels"/>.
  771. </remarks>
  772. </member>
  773. <member name="F:Makaretu.Dns.DomainName.Root">
  774. <summary>
  775. The root name space.
  776. </summary>
  777. <value>
  778. The empty string.
  779. </value>
  780. <remarks>
  781. The DNS is a hierarchical naming system for computers, services, or any
  782. resource participating in the Internet. The top of that hierarchy is
  783. the root domain. The root domain does not have a formal name and its
  784. label in the DNS hierarchy is an empty string.
  785. </remarks>
  786. </member>
  787. <member name="P:Makaretu.Dns.DomainName.Labels">
  788. <summary>
  789. A sequence of labels that make up the domain name.
  790. </summary>
  791. <value>
  792. A sequece of strings.
  793. </value>
  794. <remarks>
  795. The last label is the TLD (top level domain).
  796. </remarks>
  797. </member>
  798. <member name="M:Makaretu.Dns.DomainName.#ctor(System.String)">
  799. <summary>
  800. Creates a new instance of the <see cref="T:Makaretu.Dns.DomainName"/> class from
  801. the specified name.
  802. </summary>
  803. <param name="name">
  804. The dot separated labels; such as "example.org".
  805. </param>
  806. <remarks>
  807. The name can contain backslash to escape a character.
  808. See <see href="https://tools.ietf.org/html/rfc4343">RFC 4343</see>
  809. for the character escaping rules.
  810. <note>
  811. To use us backslash in a domain name (highly unusaual), you must use a double backslash.
  812. </note>
  813. </remarks>
  814. </member>
  815. <member name="M:Makaretu.Dns.DomainName.#ctor(System.String[])">
  816. <summary>
  817. Creates a new instance of the <see cref="T:Makaretu.Dns.DomainName"/> class from
  818. the sequence of label.
  819. </summary>
  820. <param name="labels">
  821. The <see cref="P:Makaretu.Dns.DomainName.Labels"/>.
  822. </param>
  823. <remarks>
  824. The labels are not parsed; character escaping is not performed.
  825. </remarks>
  826. </member>
  827. <member name="M:Makaretu.Dns.DomainName.Join(Makaretu.Dns.DomainName[])">
  828. <summary>
  829. Combine multiple domain names to form one.
  830. </summary>
  831. <param name="names">
  832. The domain names to join.
  833. </param>
  834. <returns>
  835. A new domain containing all the <paramref name="names"/>.
  836. </returns>
  837. </member>
  838. <member name="M:Makaretu.Dns.DomainName.ToString">
  839. <summary>
  840. Returns the textual representation.
  841. </summary>
  842. <returns>
  843. The concatenation of the <see cref="P:Makaretu.Dns.DomainName.Labels"/> separated by a dot.
  844. </returns>
  845. <remarks>
  846. If a label contains a dot or backslash, then it is escaped with a backslash.
  847. </remarks>
  848. </member>
  849. <member name="M:Makaretu.Dns.DomainName.ToCanonical">
  850. <summary>
  851. Gets the canonical form of the domain name.
  852. </summary>
  853. <returns>
  854. A domain name in the canonical form.
  855. </returns>
  856. <remarks>
  857. All uppercase US-ASCII letters in the <see cref="P:Makaretu.Dns.DomainName.Labels"/> are
  858. replaced by the corresponding lowercase US-ASCII letters.
  859. </remarks>
  860. </member>
  861. <member name="M:Makaretu.Dns.DomainName.BelongsTo(Makaretu.Dns.DomainName)">
  862. <summary>
  863. Determines if this domain name is a subdomain of or equals an another
  864. domain name.
  865. </summary>
  866. <param name="domain">
  867. Another domain.
  868. </param>
  869. <returns>
  870. <b>true</b> if this domain name is a subdomain of <paramref name="domain"/>
  871. or equals <paramref name="domain"/>.
  872. </returns>
  873. </member>
  874. <member name="M:Makaretu.Dns.DomainName.IsSubdomainOf(Makaretu.Dns.DomainName)">
  875. <summary>
  876. Determines if this domain name is a subdomain of another
  877. domain name.
  878. </summary>
  879. <param name="domain">
  880. Another domain.
  881. </param>
  882. <returns>
  883. <b>true</b> if this domain name is a subdomain of <paramref name="domain"/>.
  884. </returns>
  885. </member>
  886. <member name="M:Makaretu.Dns.DomainName.Parent">
  887. <summary>
  888. Gets the parent's domain name.
  889. </summary>
  890. <returns>
  891. The domain name of the parent or <b>null</b> if
  892. there is no parent; e.g. this is the root.
  893. </returns>
  894. </member>
  895. <member name="M:Makaretu.Dns.DomainName.GetHashCode">
  896. <inheritdoc />
  897. </member>
  898. <member name="M:Makaretu.Dns.DomainName.Equals(System.Object)">
  899. <inheritdoc />
  900. </member>
  901. <member name="M:Makaretu.Dns.DomainName.Equals(Makaretu.Dns.DomainName)">
  902. <inheritdoc />
  903. </member>
  904. <member name="M:Makaretu.Dns.DomainName.op_Equality(Makaretu.Dns.DomainName,Makaretu.Dns.DomainName)">
  905. <summary>
  906. Value equality.
  907. </summary>
  908. </member>
  909. <member name="M:Makaretu.Dns.DomainName.op_Inequality(Makaretu.Dns.DomainName,Makaretu.Dns.DomainName)">
  910. <summary>
  911. Value inequality.
  912. </summary>
  913. </member>
  914. <member name="M:Makaretu.Dns.DomainName.op_Implicit(System.String)~Makaretu.Dns.DomainName">
  915. <summary>
  916. Implicit casting of a <see cref="T:System.String"/> to a <see cref="T:Makaretu.Dns.DomainName"/>.
  917. </summary>
  918. <param name="s">
  919. A possibly escaped domain name.
  920. </param>
  921. <returns>
  922. A new <see cref="T:Makaretu.Dns.DomainName"/>
  923. </returns>
  924. <remarks>
  925. Equivalent to <code>new DomainName(s)</code>
  926. </remarks>
  927. </member>
  928. <member name="M:Makaretu.Dns.DomainName.LabelsEqual(System.String,System.String)">
  929. <summary>
  930. Determines if the two domain name labels are equal.
  931. </summary>
  932. <param name="a">A domain name label</param>
  933. <param name="b">A domain name label</param>
  934. <returns>
  935. <b>true</b> if <paramref name="a"/> and <paramref name="b"/> are
  936. considered equal.
  937. </returns>
  938. <remarks>
  939. Uses a case-insenstive algorithm, where 'A-Z' are equivalent to 'a-z'.
  940. </remarks>
  941. </member>
  942. <member name="T:Makaretu.Dns.DSRecord">
  943. <summary>
  944. Delegation Signer.
  945. </summary>
  946. <remarks>
  947. Defined in <see href="https://tools.ietf.org/html/rfc4034#section-5">RFC 4034 section 5</see>.
  948. </remarks>
  949. </member>
  950. <member name="M:Makaretu.Dns.DSRecord.#ctor">
  951. <summary>
  952. Creates a new instance of the <see cref="T:Makaretu.Dns.DSRecord"/> class.
  953. </summary>
  954. </member>
  955. <member name="M:Makaretu.Dns.DSRecord.#ctor(Makaretu.Dns.DNSKEYRecord,System.Boolean)">
  956. <summary>
  957. Creates a new instance of the <see cref="T:Makaretu.Dns.DSRecord"/> class
  958. from the specified <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
  959. </summary>
  960. <param name="key">
  961. The dns key to use.
  962. </param>
  963. <param name="force">
  964. If <b>true</b>, key usage checks are ignored.
  965. </param>
  966. <exception cref="T:System.ArgumentException">
  967. Both <see cref="F:Makaretu.Dns.DNSKEYFlags.ZoneKey"/> and <see cref="F:Makaretu.Dns.DNSKEYFlags.SecureEntryPoint"/>
  968. must be set.
  969. </exception>
  970. <exception cref="T:System.ArgumentOutOfRangeException">
  971. The <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> of the <paramref name="key"/> is missing.
  972. </exception>
  973. </member>
  974. <member name="P:Makaretu.Dns.DSRecord.KeyTag">
  975. <summary>
  976. The tag of the referenced <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
  977. </summary>
  978. </member>
  979. <member name="P:Makaretu.Dns.DSRecord.Algorithm">
  980. <summary>
  981. The <see cref="T:Makaretu.Dns.SecurityAlgorithm"/> of the referenced <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
  982. </summary>
  983. </member>
  984. <member name="P:Makaretu.Dns.DSRecord.HashAlgorithm">
  985. <summary>
  986. The cryptographic hash algorithm used to create the
  987. <see cref="P:Makaretu.Dns.DSRecord.Digest"/>.
  988. </summary>
  989. <value>
  990. One of the <see cref="T:Makaretu.Dns.DigestType"/> value.
  991. </value>
  992. </member>
  993. <member name="P:Makaretu.Dns.DSRecord.Digest">
  994. <summary>
  995. The digest of the referenced <see cref="T:Makaretu.Dns.DNSKEYRecord"/>.
  996. </summary>
  997. <remarks>
  998. <c>digest = HashAlgorithm(DNSKEY owner name | DNSKEY RDATA)</c>
  999. </remarks>
  1000. </member>
  1001. <member name="M:Makaretu.Dns.DSRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1002. <inheritdoc />
  1003. </member>
  1004. <member name="M:Makaretu.Dns.DSRecord.WriteData(Makaretu.Dns.WireWriter)">
  1005. <inheritdoc />
  1006. </member>
  1007. <member name="M:Makaretu.Dns.DSRecord.ReadData(Makaretu.Dns.PresentationReader)">
  1008. <inheritdoc />
  1009. </member>
  1010. <member name="M:Makaretu.Dns.DSRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  1011. <inheritdoc />
  1012. </member>
  1013. <member name="T:Makaretu.Dns.EdnsDAUOption">
  1014. <summary>
  1015. DNSSEC Algorithm Understood.
  1016. </summary>
  1017. <remarks>
  1018. <para>
  1019. Defined in <see href="https://tools.ietf.org/html/rfc6975">RFC 6975 -
  1020. Signaling Cryptographic Algorithm Understanding in DNS Security Extensions(DNSSEC)</see>
  1021. </para>
  1022. </remarks>
  1023. </member>
  1024. <member name="M:Makaretu.Dns.EdnsDAUOption.#ctor">
  1025. <summary>
  1026. Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsDAUOption"/> class.
  1027. </summary>
  1028. </member>
  1029. <member name="P:Makaretu.Dns.EdnsDAUOption.Algorithms">
  1030. <summary>
  1031. The understood algorithms.
  1032. </summary>
  1033. <value>
  1034. A list of implemented <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
  1035. </value>
  1036. </member>
  1037. <member name="M:Makaretu.Dns.EdnsDAUOption.Create">
  1038. <summary>
  1039. Create a new instance of the <see cref="T:Makaretu.Dns.EdnsDAUOption"/> class with
  1040. the known/implemented security algorithms.
  1041. </summary>
  1042. <remarks>
  1043. The <see cref="P:Makaretu.Dns.EdnsDAUOption.Algorithms"/> are obtained from the <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry"/>.
  1044. </remarks>
  1045. </member>
  1046. <member name="M:Makaretu.Dns.EdnsDAUOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1047. <inheritdoc />
  1048. </member>
  1049. <member name="M:Makaretu.Dns.EdnsDAUOption.WriteData(Makaretu.Dns.WireWriter)">
  1050. <inheritdoc />
  1051. </member>
  1052. <member name="M:Makaretu.Dns.EdnsDAUOption.ToString">
  1053. <inheritdoc />
  1054. </member>
  1055. <member name="T:Makaretu.Dns.EdnsDHUOption">
  1056. <summary>
  1057. DS Hash Understood.
  1058. </summary>
  1059. <remarks>
  1060. <para>
  1061. Defined in <see href="https://tools.ietf.org/html/rfc6975">RFC 6975 -
  1062. Signaling Cryptographic Algorithm Understanding in DNS Security Extensions(DNSSEC)</see>
  1063. </para>
  1064. </remarks>
  1065. <seealso cref="T:Makaretu.Dns.DSRecord"/>
  1066. </member>
  1067. <member name="M:Makaretu.Dns.EdnsDHUOption.#ctor">
  1068. <summary>
  1069. Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsDHUOption"/> class.
  1070. </summary>
  1071. </member>
  1072. <member name="P:Makaretu.Dns.EdnsDHUOption.Algorithms">
  1073. <summary>
  1074. The understood hashing algorithms.
  1075. </summary>
  1076. <value>
  1077. A list of implemented <see cref="T:Makaretu.Dns.DigestType"/>.
  1078. </value>
  1079. </member>
  1080. <member name="M:Makaretu.Dns.EdnsDHUOption.Create">
  1081. <summary>
  1082. Create a new instance of the <see cref="T:Makaretu.Dns.EdnsDHUOption"/> class with
  1083. the known/implemented hashing algorithms.
  1084. </summary>
  1085. <remarks>
  1086. The <see cref="P:Makaretu.Dns.EdnsDHUOption.Algorithms"/> are obtained from the <see cref="T:Makaretu.Dns.DigestRegistry"/>.
  1087. </remarks>
  1088. </member>
  1089. <member name="M:Makaretu.Dns.EdnsDHUOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1090. <inheritdoc />
  1091. </member>
  1092. <member name="M:Makaretu.Dns.EdnsDHUOption.WriteData(Makaretu.Dns.WireWriter)">
  1093. <inheritdoc />
  1094. </member>
  1095. <member name="M:Makaretu.Dns.EdnsDHUOption.ToString">
  1096. <inheritdoc />
  1097. </member>
  1098. <member name="T:Makaretu.Dns.EdnsKeepaliveOption">
  1099. <summary>
  1100. TCP idle time.
  1101. </summary>
  1102. <remarks>
  1103. Signals a variable idle timeout. This
  1104. signalling encourages the use of long-lived TCP connections by
  1105. allowing the state associated with TCP transport to be managed
  1106. effectively with minimal impact on the DNS transaction time.
  1107. </remarks>
  1108. <seealso href="https://tools.ietf.org/html/rfc7828"/>
  1109. </member>
  1110. <member name="M:Makaretu.Dns.EdnsKeepaliveOption.#ctor">
  1111. <summary>
  1112. Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsKeepaliveOption"/> class.
  1113. </summary>
  1114. </member>
  1115. <member name="P:Makaretu.Dns.EdnsKeepaliveOption.Timeout">
  1116. <summary>
  1117. The idle timeout value for the TCP connection.
  1118. </summary>
  1119. <value>
  1120. The resolution is 100 milliseconds.
  1121. </value>
  1122. </member>
  1123. <member name="M:Makaretu.Dns.EdnsKeepaliveOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1124. <inheritdoc />
  1125. </member>
  1126. <member name="M:Makaretu.Dns.EdnsKeepaliveOption.WriteData(Makaretu.Dns.WireWriter)">
  1127. <inheritdoc />
  1128. </member>
  1129. <member name="M:Makaretu.Dns.EdnsKeepaliveOption.ToString">
  1130. <inheritdoc />
  1131. </member>
  1132. <member name="T:Makaretu.Dns.EdnsN3UOption">
  1133. <summary>
  1134. NSEC3 Hash Understood.
  1135. </summary>
  1136. <remarks>
  1137. <para>
  1138. Defined in <see href="https://tools.ietf.org/html/rfc6975">RFC 6975 -
  1139. Signaling Cryptographic Algorithm Understanding in DNS Security Extensions(DNSSEC)</see>
  1140. </para>
  1141. </remarks>
  1142. <seealso cref="T:Makaretu.Dns.NSEC3Record"/>
  1143. </member>
  1144. <member name="M:Makaretu.Dns.EdnsN3UOption.#ctor">
  1145. <summary>
  1146. Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsN3UOption"/> class.
  1147. </summary>
  1148. </member>
  1149. <member name="P:Makaretu.Dns.EdnsN3UOption.Algorithms">
  1150. <summary>
  1151. The understood hashing algorithms.
  1152. </summary>
  1153. <value>
  1154. A list of implemented <see cref="T:Makaretu.Dns.DigestType"/>.
  1155. </value>
  1156. </member>
  1157. <member name="M:Makaretu.Dns.EdnsN3UOption.Create">
  1158. <summary>
  1159. Create a new instance of the <see cref="T:Makaretu.Dns.EdnsDHUOption"/> class with
  1160. the known/implemented hashing algorithms.
  1161. </summary>
  1162. <remarks>
  1163. The <see cref="P:Makaretu.Dns.EdnsN3UOption.Algorithms"/> are obtained from the <see cref="T:Makaretu.Dns.DigestRegistry"/>.
  1164. </remarks>
  1165. </member>
  1166. <member name="M:Makaretu.Dns.EdnsN3UOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1167. <inheritdoc />
  1168. </member>
  1169. <member name="M:Makaretu.Dns.EdnsN3UOption.WriteData(Makaretu.Dns.WireWriter)">
  1170. <inheritdoc />
  1171. </member>
  1172. <member name="M:Makaretu.Dns.EdnsN3UOption.ToString">
  1173. <inheritdoc />
  1174. </member>
  1175. <member name="T:Makaretu.Dns.EdnsNSIDOption">
  1176. <summary>
  1177. Name server ID.
  1178. </summary>
  1179. <remarks>
  1180. The identity of the name server.
  1181. </remarks>
  1182. <seealso href="https://tools.ietf.org/html/rfc5001"/>
  1183. </member>
  1184. <member name="M:Makaretu.Dns.EdnsNSIDOption.#ctor">
  1185. <summary>
  1186. Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsNSIDOption"/> class.
  1187. </summary>
  1188. </member>
  1189. <member name="P:Makaretu.Dns.EdnsNSIDOption.Id">
  1190. <summary>
  1191. The ID of the name server.
  1192. </summary>
  1193. <value>
  1194. The bytes used to identify the name server.
  1195. </value>
  1196. </member>
  1197. <member name="M:Makaretu.Dns.EdnsNSIDOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1198. <inheritdoc />
  1199. </member>
  1200. <member name="M:Makaretu.Dns.EdnsNSIDOption.WriteData(Makaretu.Dns.WireWriter)">
  1201. <inheritdoc />
  1202. </member>
  1203. <member name="T:Makaretu.Dns.EdnsOption">
  1204. <summary>
  1205. Contains some information on an Extended DNS option.
  1206. </summary>
  1207. <remarks>
  1208. EdnsOptions are found in the <see cref="T:Makaretu.Dns.OPTRecord"/>.
  1209. <para>
  1210. The <see cref="T:Makaretu.Dns.EdnsOptionRegistry"/> contains the metadata on known
  1211. EDNS options. When reading, if the registry does not contain
  1212. the record, then an <see cref="T:Makaretu.Dns.UnknownEdnsOption"/> is used.
  1213. </para>
  1214. </remarks>
  1215. <seealso cref="T:Makaretu.Dns.OPTRecord"/>
  1216. <seealso href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11">IANA - DNS EDNS0 Option Codes</seealso>.
  1217. </member>
  1218. <member name="P:Makaretu.Dns.EdnsOption.Type">
  1219. <summary>
  1220. The option type.
  1221. </summary>
  1222. <value>
  1223. A code to specify the type of EDNS option.
  1224. </value>
  1225. <remarks>
  1226. Codes are specified in <see href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11">IANA - DNS EDNS0 Option Codes</see>.
  1227. </remarks>
  1228. </member>
  1229. <member name="M:Makaretu.Dns.EdnsOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1230. <summary>
  1231. Read the data that is specific to the option <see cref="P:Makaretu.Dns.EdnsOption.Type"/>.
  1232. </summary>
  1233. <param name="reader">
  1234. The source of the option's data.
  1235. </param>
  1236. <param name="length">
  1237. The length, in bytes, of the data.
  1238. </param>
  1239. <remarks>
  1240. Derived classes must implement this method.
  1241. </remarks>
  1242. </member>
  1243. <member name="M:Makaretu.Dns.EdnsOption.WriteData(Makaretu.Dns.WireWriter)">
  1244. <summary>
  1245. Write the data that is specific to the resource record <see cref="P:Makaretu.Dns.EdnsOption.Type"/>.
  1246. </summary>
  1247. <param name="writer">
  1248. The destination for the option's data.
  1249. </param>
  1250. <remarks>
  1251. Derived classes must implement this method.
  1252. </remarks>
  1253. </member>
  1254. <member name="T:Makaretu.Dns.EdnsOptionRegistry">
  1255. <summary>
  1256. Metadata on EDNS options.
  1257. </summary>
  1258. <see cref="T:Makaretu.Dns.EdnsOption"/>
  1259. </member>
  1260. <member name="F:Makaretu.Dns.EdnsOptionRegistry.Options">
  1261. <summary>
  1262. All the EDNS options.
  1263. </summary>
  1264. <remarks>
  1265. The key is the <see cref="T:Makaretu.Dns.EdnsOptionType"/>.
  1266. The value is a function that returns a new <see cref="T:Makaretu.Dns.EdnsOption"/>.
  1267. </remarks>
  1268. </member>
  1269. <member name="M:Makaretu.Dns.EdnsOptionRegistry.Register``1">
  1270. <summary>
  1271. Register a new EDNS option.
  1272. </summary>
  1273. <typeparam name="T">
  1274. A type that is derived from <see cref="T:Makaretu.Dns.EdnsOption"/>.
  1275. </typeparam>
  1276. </member>
  1277. <member name="T:Makaretu.Dns.EdnsPaddingOption">
  1278. <summary>
  1279. Padding for a <see cref="T:Makaretu.Dns.Message"/>.
  1280. </summary>
  1281. <remarks>
  1282. Padding is used to frustrate size-based correlation of the encrypted message.
  1283. <para>
  1284. Defined in <see href="https://tools.ietf.org/html/rfc7830">RFC 7830 - The EDNS(0) Padding Option</see>
  1285. </para>
  1286. </remarks>
  1287. </member>
  1288. <member name="M:Makaretu.Dns.EdnsPaddingOption.#ctor">
  1289. <summary>
  1290. Creates a new instance of the <see cref="T:Makaretu.Dns.EdnsPaddingOption"/> class.
  1291. </summary>
  1292. </member>
  1293. <member name="P:Makaretu.Dns.EdnsPaddingOption.Padding">
  1294. <summary>
  1295. The padding bytes.
  1296. </summary>
  1297. <value>
  1298. The bytes used for padding. Normally all bytes are zero.
  1299. </value>
  1300. </member>
  1301. <member name="M:Makaretu.Dns.EdnsPaddingOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1302. <inheritdoc />
  1303. </member>
  1304. <member name="M:Makaretu.Dns.EdnsPaddingOption.WriteData(Makaretu.Dns.WireWriter)">
  1305. <inheritdoc />
  1306. </member>
  1307. <member name="M:Makaretu.Dns.EdnsPaddingOption.ToString">
  1308. <inheritdoc />
  1309. </member>
  1310. <member name="T:Makaretu.Dns.EdnsOptionType">
  1311. <summary>
  1312. EDSN option codes.
  1313. </summary>
  1314. <remarks>
  1315. Codes are specified in <see href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11">IANA - DNS EDNS0 Option Codes</see>.
  1316. </remarks>
  1317. <seealso cref="P:Makaretu.Dns.EdnsOption.Type"/>
  1318. <seealso cref="T:Makaretu.Dns.OPTRecord"/>
  1319. <seealso cref="T:Makaretu.Dns.EdnsOptionRegistry"/>
  1320. </member>
  1321. <member name="F:Makaretu.Dns.EdnsOptionType.NSID">
  1322. <summary>
  1323. DNS Name Server Identifier (NSID) Option.
  1324. </summary>
  1325. <seealso cref="T:Makaretu.Dns.EdnsNSIDOption"/>
  1326. <seealso href="https://tools.ietf.org/html/rfc5001"/>
  1327. </member>
  1328. <member name="F:Makaretu.Dns.EdnsOptionType.DAU">
  1329. <summary>
  1330. DNSSEC Algorithm Understood.
  1331. </summary>
  1332. <seealso href="https://tools.ietf.org/html/rfc6975"/>
  1333. </member>
  1334. <member name="F:Makaretu.Dns.EdnsOptionType.DHU">
  1335. <summary>
  1336. DS Hash Understood.
  1337. </summary>
  1338. <seealso href="https://tools.ietf.org/html/rfc6975"/>
  1339. </member>
  1340. <member name="F:Makaretu.Dns.EdnsOptionType.N3U">
  1341. <summary>
  1342. NSEC3 Hash Understood.
  1343. </summary>
  1344. <seealso href="https://tools.ietf.org/html/rfc6975"/>
  1345. </member>
  1346. <member name="F:Makaretu.Dns.EdnsOptionType.ClientSubnet">
  1347. <summary>
  1348. Client Subnet in DNS Queries.
  1349. </summary>
  1350. <seealso href="https://tools.ietf.org/html/rfc7871"/>
  1351. </member>
  1352. <member name="F:Makaretu.Dns.EdnsOptionType.Expire">
  1353. <summary>
  1354. Extension Mechanisms for DNS (EDNS) EXPIRE Option.
  1355. </summary>
  1356. <seealso href="https://tools.ietf.org/html/rfc7314"/>
  1357. </member>
  1358. <member name="F:Makaretu.Dns.EdnsOptionType.Cookie">
  1359. <summary>
  1360. Domain Name System (DNS) Cookies.
  1361. </summary>
  1362. <seealso href="https://tools.ietf.org/html/rfc7873"/>
  1363. </member>
  1364. <member name="F:Makaretu.Dns.EdnsOptionType.Keepalive">
  1365. <summary>
  1366. The edns-tcp-keepalive EDNS0 Option.
  1367. </summary>
  1368. <seealso cref="T:Makaretu.Dns.EdnsKeepaliveOption"/>
  1369. <seealso href="https://tools.ietf.org/html/rfc7828"/>
  1370. </member>
  1371. <member name="F:Makaretu.Dns.EdnsOptionType.Padding">
  1372. <summary>
  1373. The EDNS(0) Padding Option.
  1374. </summary>
  1375. <seealso cref="T:Makaretu.Dns.EdnsPaddingOption"/>
  1376. <seealso href="https://tools.ietf.org/html/rfc7830"/>
  1377. </member>
  1378. <member name="F:Makaretu.Dns.EdnsOptionType.Chain">
  1379. <summary>
  1380. CHAIN Query Requests in DNS.
  1381. </summary>
  1382. <seealso href="https://tools.ietf.org/html/rfc7901"/>
  1383. </member>
  1384. <member name="F:Makaretu.Dns.EdnsOptionType.KeyTag">
  1385. <summary>
  1386. Signaling Trust Anchor Knowledge in DNSSEC.
  1387. </summary>
  1388. <seealso href="https://tools.ietf.org/html/rfc8145"/>
  1389. </member>
  1390. <member name="F:Makaretu.Dns.EdnsOptionType.ExperimentalMin">
  1391. <summary>
  1392. Minimum value for local or experiment use.
  1393. </summary>
  1394. <seealso href="https://tools.ietf.org/html/rfc6891"/>
  1395. </member>
  1396. <member name="F:Makaretu.Dns.EdnsOptionType.ExperimentalMax">
  1397. <summary>
  1398. Maximum value for local or experiment use.s
  1399. </summary>
  1400. <seealso href="https://tools.ietf.org/html/rfc6891"/>
  1401. </member>
  1402. <member name="F:Makaretu.Dns.EdnsOptionType.FutureExpansion">
  1403. <summary>
  1404. Reserved for future expansion.
  1405. </summary>
  1406. <seealso href="https://tools.ietf.org/html/rfc6891"/>
  1407. </member>
  1408. <member name="T:Makaretu.Dns.HINFORecord">
  1409. <summary>
  1410. Host information.
  1411. </summary>
  1412. <remarks>
  1413. Standard values for CPU and OS can be found in [RFC-1010].
  1414. HINFO records are used to acquire general information about a host. The
  1415. main use is for protocols such as FTP that can use special procedures
  1416. when talking between machines or operating systems of the same type.
  1417. </remarks>
  1418. </member>
  1419. <member name="M:Makaretu.Dns.HINFORecord.#ctor">
  1420. <summary>
  1421. Creates a new instance of the <see cref="T:Makaretu.Dns.HINFORecord"/> class.
  1422. </summary>
  1423. </member>
  1424. <member name="P:Makaretu.Dns.HINFORecord.Cpu">
  1425. <summary>
  1426. CPU type.
  1427. </summary>
  1428. </member>
  1429. <member name="P:Makaretu.Dns.HINFORecord.OS">
  1430. <summary>
  1431. Operating system type.
  1432. </summary>
  1433. </member>
  1434. <member name="M:Makaretu.Dns.HINFORecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  1435. <inheritdoc />
  1436. </member>
  1437. <member name="M:Makaretu.Dns.HINFORecord.ReadData(Makaretu.Dns.PresentationReader)">
  1438. <inheritdoc />
  1439. </member>
  1440. <member name="M:Makaretu.Dns.HINFORecord.WriteData(Makaretu.Dns.WireWriter)">
  1441. <inheritdoc />
  1442. </member>
  1443. <member name="M:Makaretu.Dns.HINFORecord.WriteData(Makaretu.Dns.PresentationWriter)">
  1444. <inheritdoc />
  1445. </member>
  1446. <member name="T:Makaretu.Dns.IPAddressExtensions">
  1447. <summary>
  1448. Extension methods for <see cref="T:System.Net.IPAddress"/>.
  1449. </summary>
  1450. <remarks>
  1451. Original code copied from <see href="https://github.com/MichaCo/DnsClient.NET/blob/dev/src/DnsClient/IpAddressExtensions.cs"/>
  1452. </remarks>
  1453. </member>
  1454. <member name="M:Makaretu.Dns.IPAddressExtensions.GetArpaName(System.Net.IPAddress)">
  1455. <summary>
  1456. Translates a IPv4 or IPv6 address into an arpa address.
  1457. Used for reverse DNS lookup to get the domain name of the given address.
  1458. </summary>
  1459. <param name="ip">The address to translate.</param>
  1460. <returns>The arpa representation of the address.</returns>
  1461. <seealso href="https://en.wikipedia.org/wiki/.arpa"/>
  1462. </member>
  1463. <member name="T:Makaretu.Dns.IPresentationSerialiser">
  1464. <summary>
  1465. Presentation format serialisation of a resource record.
  1466. </summary>
  1467. <remarks>
  1468. The text representation of a <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  1469. It is also referred to as the "master file format".
  1470. See <see href="https://tools.ietf.org/html/rfc1035">RFC 1035 - 5 Master File</see>
  1471. and <see href="https://tools.ietf.org/html/rfc3597">RFC 3597 - Handling of Unknown DNS Resource Record (RR) Types</see>
  1472. for more details.
  1473. <para>
  1474. The <see cref="T:Makaretu.Dns.ResourceRecord"/> adds helper methods to
  1475. deal with a <see cref="T:System.String"/>.
  1476. </para>
  1477. </remarks>
  1478. </member>
  1479. <member name="M:Makaretu.Dns.IPresentationSerialiser.Read(Makaretu.Dns.PresentationReader)">
  1480. <summary>
  1481. Reads the text representation of a resource record.
  1482. </summary>
  1483. <param name="reader">
  1484. The source of the <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  1485. </param>
  1486. <returns>
  1487. The final resource record.
  1488. </returns>
  1489. <remarks>
  1490. Reading a <see cref="T:Makaretu.Dns.ResourceRecord"/> will return a new instance that
  1491. is type specific
  1492. </remarks>
  1493. </member>
  1494. <member name="M:Makaretu.Dns.IPresentationSerialiser.Write(Makaretu.Dns.PresentationWriter)">
  1495. <summary>
  1496. Writes the text representation of a resource record.
  1497. </summary>
  1498. <param name="writer">
  1499. The destination of the <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  1500. </param>
  1501. </member>
  1502. <member name="T:Makaretu.Dns.IResolver">
  1503. <summary>
  1504. Answers a question.
  1505. </summary>
  1506. </member>
  1507. <member name="M:Makaretu.Dns.IResolver.ResolveAsync(Makaretu.Dns.Message,System.Threading.CancellationToken)">
  1508. <summary>
  1509. Get an answer to a question.
  1510. </summary>
  1511. <param name="request">
  1512. A <see cref="T:Makaretu.Dns.Message"/> containing a <see cref="T:Makaretu.Dns.Question"/> that
  1513. needs to be answered.
  1514. </param>
  1515. <param name="cancel">
  1516. Is used to stop the task. When cancelled, the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> is raised.
  1517. </param>
  1518. <returns>
  1519. A task that represents the asynchronous operation. The task's value is
  1520. the <see cref="T:Makaretu.Dns.Message"/> response to the <paramref name="request"/>.
  1521. </returns>
  1522. </member>
  1523. <member name="T:Makaretu.Dns.IWireSerialiser">
  1524. <summary>
  1525. Wire format serialisation of a DNS object.
  1526. </summary>
  1527. </member>
  1528. <member name="M:Makaretu.Dns.IWireSerialiser.Read(Makaretu.Dns.WireReader)">
  1529. <summary>
  1530. Reads the DNS object that is encoded in the wire format.
  1531. </summary>
  1532. <param name="reader">
  1533. The source of the DNS object.
  1534. </param>
  1535. <returns>
  1536. The final DNS object.
  1537. </returns>
  1538. <remarks>
  1539. Reading a <see cref="T:Makaretu.Dns.ResourceRecord"/> will return a new instance that
  1540. is type specific unless the <see cref="M:Makaretu.Dns.ResourceRecord.GetDataLength">RDLENGTH</see>
  1541. is zero.
  1542. </remarks>
  1543. </member>
  1544. <member name="M:Makaretu.Dns.IWireSerialiser.Write(Makaretu.Dns.WireWriter)">
  1545. <summary>
  1546. Writes the DNS object encoded in the wire format.
  1547. </summary>
  1548. <param name="writer">
  1549. The destination of the DNS object.
  1550. </param>
  1551. </member>
  1552. <member name="T:Makaretu.Dns.KeyExchangeMode">
  1553. <summary>
  1554. Identifies a key exchange algorithm.
  1555. </summary>
  1556. </member>
  1557. <member name="F:Makaretu.Dns.KeyExchangeMode.ServerAssignment">
  1558. <summary>
  1559. Server assignment.
  1560. </summary>
  1561. </member>
  1562. <member name="F:Makaretu.Dns.KeyExchangeMode.DiffieHellman">
  1563. <summary>
  1564. Diffie-Hellman exchange (DH).
  1565. </summary>
  1566. </member>
  1567. <member name="F:Makaretu.Dns.KeyExchangeMode.GssApi">
  1568. <summary>
  1569. GSS-API negotiation.
  1570. </summary>
  1571. </member>
  1572. <member name="F:Makaretu.Dns.KeyExchangeMode.ResolverAssignment">
  1573. <summary>
  1574. Resolver assignment.
  1575. </summary>
  1576. </member>
  1577. <member name="F:Makaretu.Dns.KeyExchangeMode.KeyDeletion">
  1578. <summary>
  1579. Key deletion.
  1580. </summary>
  1581. </member>
  1582. <member name="T:Makaretu.Dns.Message">
  1583. <summary>
  1584. All communications inside of the domain protocol are carried in a single
  1585. format called a message.
  1586. </summary>
  1587. </member>
  1588. <member name="F:Makaretu.Dns.Message.opcode4">
  1589. <summary>
  1590. The least significant 4 bits of the opcode.
  1591. </summary>
  1592. </member>
  1593. <member name="F:Makaretu.Dns.Message.MaxLength">
  1594. <summary>
  1595. Maximum bytes of a message.
  1596. </summary>
  1597. <value>
  1598. 9000 bytes.
  1599. </value>
  1600. <remarks>
  1601. In reality the max length is dictated by the network MTU. For legacy IPv4 systems,
  1602. 512 bytes should be used. For DNSSEC, at least 4096 bytes are needed.
  1603. <para>
  1604. 9000 bytes (less IP and UPD header lengths) is specified by Multicast DNS.
  1605. </para>
  1606. </remarks>
  1607. </member>
  1608. <member name="F:Makaretu.Dns.Message.MinLength">
  1609. <summary>
  1610. Minimum bytes of a messages
  1611. </summary>
  1612. <value>
  1613. 12 bytes.
  1614. </value>
  1615. </member>
  1616. <member name="P:Makaretu.Dns.Message.Id">
  1617. <summary>
  1618. A 16 bit identifier assigned by the program that
  1619. generates any kind of query. This identifier is copied
  1620. the corresponding reply and can be used by the requester
  1621. to match up replies to outstanding queries.
  1622. </summary>
  1623. <value>
  1624. A unique identifier.
  1625. </value>
  1626. </member>
  1627. <member name="P:Makaretu.Dns.Message.QR">
  1628. <summary>
  1629. A one bit field that specifies whether this message is a query(0), or a response(1).
  1630. </summary>
  1631. <value>
  1632. <b>false</b> for a query; otherwise, <b>true</b> for a response.
  1633. </value>
  1634. </member>
  1635. <member name="P:Makaretu.Dns.Message.IsQuery">
  1636. <summary>
  1637. Determines if the message is query.
  1638. </summary>
  1639. <value>
  1640. <b>true</b> for a query; otherwise, <b>false</b> for a response.
  1641. </value>
  1642. </member>
  1643. <member name="P:Makaretu.Dns.Message.IsResponse">
  1644. <summary>
  1645. Determines if the message is a response to a query.
  1646. </summary>
  1647. <value>
  1648. <b>false</b> for a query; otherwise, <b>true</b> for a response.
  1649. </value>
  1650. </member>
  1651. <member name="P:Makaretu.Dns.Message.Opcode">
  1652. <summary>
  1653. The requested operation.
  1654. </summary>
  1655. <value>
  1656. One of the <see cref="T:Makaretu.Dns.MessageOperation"/> values. Both standard
  1657. and extended values are supported.
  1658. </value>
  1659. <remarks>
  1660. This value is set by the originator of a query
  1661. and copied into the response.
  1662. <para>
  1663. Extended opcodes (values requiring more than 4 bits) are split between
  1664. the message header and the <see cref="T:Makaretu.Dns.OPTRecord"/> in the
  1665. <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> section. When setting an extended opcode,
  1666. the <see cref="T:Makaretu.Dns.OPTRecord"/> will be created if it does not already
  1667. exist.
  1668. </para>
  1669. </remarks>
  1670. <seealso cref="M:Makaretu.Dns.Message.CreateResponse"/>
  1671. </member>
  1672. <member name="P:Makaretu.Dns.Message.AA">
  1673. <summary>
  1674. Authoritative Answer - this bit is valid in responses,
  1675. and specifies that the responding name server is an
  1676. authority for the domain name in question section.
  1677. Note that the contents of the answer section may have
  1678. multiple owner names because of aliases.The AA bit
  1679. corresponds to the name which matches the query name, or
  1680. the first owner name in the answer section.
  1681. </summary>
  1682. <value>
  1683. <b>true</b> for an authoritative answer; otherwise, <b>false</b>.
  1684. </value>
  1685. </member>
  1686. <member name="P:Makaretu.Dns.Message.TC">
  1687. <summary>
  1688. TrunCation - specifies that this message was truncated
  1689. due to length greater than that permitted on the
  1690. transmission channel.
  1691. </summary>
  1692. <value>
  1693. <b>true</b> for a truncated message; otherwise, <b>false</b>.
  1694. </value>
  1695. <seealso cref="M:Makaretu.Dns.Message.Truncate(System.Int32)"/>
  1696. </member>
  1697. <member name="P:Makaretu.Dns.Message.RD">
  1698. <summary>
  1699. Recursion Desired - this bit may be set in a query and
  1700. is copied into the response. If RD is set, it directs
  1701. the name server to pursue the query recursively.
  1702. Recursive query support is optional.
  1703. </summary>
  1704. <value>
  1705. <b>true</b> if recursion is desired; otherwise, <b>false</b>.
  1706. </value>
  1707. </member>
  1708. <member name="P:Makaretu.Dns.Message.RA">
  1709. <summary>
  1710. Recursion Available - this be is set or cleared in a
  1711. response, and denotes whether recursive query support is
  1712. available in the name server.
  1713. </summary>
  1714. <value>
  1715. <b>true</b> if recursion is available; otherwise, <b>false</b>.
  1716. </value>
  1717. </member>
  1718. <member name="P:Makaretu.Dns.Message.Z">
  1719. <summary>
  1720. Reserved for future use.
  1721. </summary>
  1722. <value>
  1723. Must be zero in all queries and responses.
  1724. </value>
  1725. </member>
  1726. <member name="P:Makaretu.Dns.Message.AD">
  1727. <summary>
  1728. Authentic data.
  1729. </summary>
  1730. <value>
  1731. <b>true</b> if the response data is authentic; otherwise, <b>false</b>.
  1732. </value>
  1733. <remarks>
  1734. Only used in a response and indicates that
  1735. all the data included in the <see cref="P:Makaretu.Dns.Message.Answers"/> and
  1736. <see cref="P:Makaretu.Dns.Message.AuthorityRecords"/> sections are authenticated by the
  1737. server according to its DNSSEC policies.
  1738. </remarks>
  1739. </member>
  1740. <member name="P:Makaretu.Dns.Message.CD">
  1741. <summary>
  1742. Checking disabled.
  1743. </summary>
  1744. <value>
  1745. <b>true</b> if the query does not require
  1746. <see cref="P:Makaretu.Dns.Message.AD">authenticated data</see>; otherwise, <b>false</b>.
  1747. </value>
  1748. <remarks>
  1749. Only used in a query and indicates that pending (non-authenticated)
  1750. data is acceptable to the resolver sending the query.
  1751. </remarks>
  1752. </member>
  1753. <member name="P:Makaretu.Dns.Message.DO">
  1754. <summary>
  1755. Indicates that DNS Security Extensions (DNSSEC) are supported.
  1756. </summary>
  1757. <value>
  1758. <b>true</b> if DNSSEC is supported; otherwise, <b>false</b>.
  1759. </value>
  1760. <remarks>
  1761. The <b>DO</b> bit is actually in the <see cref="T:Makaretu.Dns.OPTRecord"/>, when setting
  1762. the record is added to <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> if not already present.
  1763. </remarks>
  1764. <seealso cref="M:Makaretu.Dns.Message.UseDnsSecurity"/>
  1765. <seealso href="https://tools.ietf.org/html/rfc3225"/>
  1766. </member>
  1767. <member name="P:Makaretu.Dns.Message.Status">
  1768. <summary>
  1769. Response code - this 4 bit field is set as part of responses.
  1770. </summary>
  1771. <value>
  1772. One of the <see cref="T:Makaretu.Dns.MessageStatus"/> values.
  1773. </value>
  1774. </member>
  1775. <member name="P:Makaretu.Dns.Message.Questions">
  1776. <summary>
  1777. The list of question.
  1778. </summary>
  1779. <value>
  1780. A list of questions.
  1781. </value>
  1782. </member>
  1783. <member name="P:Makaretu.Dns.Message.Answers">
  1784. <summary>
  1785. The list of answers.
  1786. </summary>
  1787. <value>
  1788. A list of answers.
  1789. </value>
  1790. </member>
  1791. <member name="P:Makaretu.Dns.Message.AuthorityRecords">
  1792. <summary>
  1793. The list of authority records.
  1794. </summary>
  1795. <value>
  1796. A list of authority resource records.
  1797. </value>
  1798. </member>
  1799. <member name="P:Makaretu.Dns.Message.AdditionalRecords">
  1800. <summary>
  1801. The list of additional records.
  1802. </summary>
  1803. <value>
  1804. A list of additional resource records.
  1805. </value>
  1806. </member>
  1807. <member name="M:Makaretu.Dns.Message.CreateResponse">
  1808. <summary>
  1809. Create a response for the query message.
  1810. </summary>
  1811. <returns>
  1812. A new response for the query message.
  1813. </returns>
  1814. </member>
  1815. <member name="M:Makaretu.Dns.Message.Truncate(System.Int32)">
  1816. <summary>
  1817. Make the message not exceed the specified length.
  1818. </summary>
  1819. <param name="length">
  1820. The maximum number bytes for the message.
  1821. </param>
  1822. <remarks>
  1823. If the message does not fit into <paramref name="length"/> bytes, then <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/>
  1824. are removed and then <see cref="P:Makaretu.Dns.Message.AuthorityRecords"/> are removed.
  1825. <para>
  1826. If it is still too big, then the <see cref="P:Makaretu.Dns.Message.TC"/> bit is set.
  1827. </para>
  1828. </remarks>
  1829. </member>
  1830. <member name="M:Makaretu.Dns.Message.UseDnsSecurity">
  1831. <summary>
  1832. Enables DNS Security Extensions (DNSSEC) for the message.
  1833. </summary>
  1834. <returns>
  1835. The <see cref="T:Makaretu.Dns.Message"/> for a fluent design.
  1836. </returns>
  1837. <remarks>
  1838. Sets <see cref="P:Makaretu.Dns.OPTRecord.DO"/> to <b>true</b>. Adds an <see cref="T:Makaretu.Dns.OPTRecord"/> to
  1839. <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> if not already present.
  1840. </remarks>
  1841. <seealso cref="P:Makaretu.Dns.Message.DO"/>
  1842. </member>
  1843. <member name="M:Makaretu.Dns.Message.Read(Makaretu.Dns.WireReader)">
  1844. <inheritdoc />
  1845. </member>
  1846. <member name="M:Makaretu.Dns.Message.Write(Makaretu.Dns.WireWriter)">
  1847. <inheritdoc />
  1848. </member>
  1849. <member name="M:Makaretu.Dns.Message.ToString">
  1850. <inheritdoc />
  1851. </member>
  1852. <member name="T:Makaretu.Dns.MessageOperation">
  1853. <summary>
  1854. The requested operation of a <see cref="T:Makaretu.Dns.Message"/>.
  1855. </summary>
  1856. <remarks>
  1857. Defines the standard and extended (EDNS(0)) operations. Standard
  1858. values are between 0 and 15 (0xF). Extended values are between 16 and
  1859. 4095 (0xFFF).
  1860. </remarks>
  1861. <seealso cref="P:Makaretu.Dns.Message.Opcode"/>
  1862. </member>
  1863. <member name="F:Makaretu.Dns.MessageOperation.Query">
  1864. <summary>
  1865. Standard query.
  1866. </summary>
  1867. </member>
  1868. <member name="F:Makaretu.Dns.MessageOperation.InverseQuery">
  1869. <summary>
  1870. Inverse query (obsolete), see <see href="https://tools.ietf.org/html/rfc3425"/>.
  1871. </summary>
  1872. </member>
  1873. <member name="F:Makaretu.Dns.MessageOperation.Status">
  1874. <summary>
  1875. A server status request.
  1876. </summary>
  1877. </member>
  1878. <member name="F:Makaretu.Dns.MessageOperation.Notify">
  1879. <summary>
  1880. Zone change, see <see href="https://tools.ietf.org/html/rfc1996"/>.
  1881. </summary>
  1882. </member>
  1883. <member name="F:Makaretu.Dns.MessageOperation.Update">
  1884. <summary>
  1885. Update message, see <see href="https://tools.ietf.org/html/rfc2136"/>.
  1886. </summary>
  1887. </member>
  1888. <member name="T:Makaretu.Dns.MessageStatus">
  1889. <summary>
  1890. Response codes.
  1891. </summary>
  1892. </member>
  1893. <member name="F:Makaretu.Dns.MessageStatus.NoError">
  1894. <summary>
  1895. No error condition
  1896. </summary>
  1897. </member>
  1898. <member name="F:Makaretu.Dns.MessageStatus.FormatError">
  1899. <summary>
  1900. The name server was unable to interpret the query.
  1901. </summary>
  1902. </member>
  1903. <member name="F:Makaretu.Dns.MessageStatus.ServerFailure">
  1904. <summary>
  1905. The name server was unable to process this query due to a
  1906. problem with the name server.
  1907. </summary>
  1908. </member>
  1909. <member name="F:Makaretu.Dns.MessageStatus.NameError">
  1910. <summary>
  1911. Meaningful only for responses from an authoritative name
  1912. server, this code signifies that the domain name
  1913. referenced in the query does not exist.
  1914. </summary>
  1915. </member>
  1916. <member name="F:Makaretu.Dns.MessageStatus.NotImplemented">
  1917. <summary>
  1918. The name server does not support the requested kind of query.
  1919. </summary>
  1920. </member>
  1921. <member name="F:Makaretu.Dns.MessageStatus.Refused">
  1922. <summary>
  1923. The name server refuses to perform the specified operation for
  1924. policy reasons.
  1925. </summary>
  1926. </member>
  1927. <member name="F:Makaretu.Dns.MessageStatus.YXDomain">
  1928. <summary>
  1929. Some name that ought not to exist, does exist.
  1930. </summary>
  1931. </member>
  1932. <member name="F:Makaretu.Dns.MessageStatus.YXRRSet">
  1933. <summary>
  1934. Some RRset that ought not to exist, does exist.
  1935. </summary>
  1936. </member>
  1937. <member name="F:Makaretu.Dns.MessageStatus.NXRRSet">
  1938. <summary>
  1939. Some RRset that ought not to exist, does exist.
  1940. </summary>
  1941. </member>
  1942. <member name="F:Makaretu.Dns.MessageStatus.NotAuthoritative">
  1943. <summary>
  1944. The server is not authoritative for the zone named in the Zone Section.
  1945. </summary>
  1946. </member>
  1947. <member name="F:Makaretu.Dns.MessageStatus.NotZone">
  1948. <summary>
  1949. A name used in the Prerequisite or Update Section is not within the
  1950. zone denoted by the Zone Section.
  1951. </summary>
  1952. </member>
  1953. <member name="F:Makaretu.Dns.MessageStatus.BadVersion">
  1954. <summary>
  1955. Invalid version.
  1956. </summary>
  1957. </member>
  1958. <member name="F:Makaretu.Dns.MessageStatus.BadSignature">
  1959. <summary>
  1960. Invalid signature (TSIG).
  1961. </summary>
  1962. </member>
  1963. <member name="F:Makaretu.Dns.MessageStatus.BadKey">
  1964. <summary>
  1965. Invalid key (TSIG).
  1966. </summary>
  1967. </member>
  1968. <member name="F:Makaretu.Dns.MessageStatus.BadTime">
  1969. <summary>
  1970. Invalid date/time (TSIG).
  1971. </summary>
  1972. </member>
  1973. <member name="F:Makaretu.Dns.MessageStatus.BADMODE">
  1974. <summary>
  1975. Bad TKEY mode (TKEY).
  1976. </summary>
  1977. </member>
  1978. <member name="F:Makaretu.Dns.MessageStatus.BADNAME">
  1979. <summary>
  1980. Duplicate key name (TKEY).
  1981. </summary>
  1982. </member>
  1983. <member name="F:Makaretu.Dns.MessageStatus.BADALG">
  1984. <summary>
  1985. Algorithm not supported (TKEY).
  1986. </summary>
  1987. </member>
  1988. <member name="T:Makaretu.Dns.MXRecord">
  1989. <summary>
  1990. Mail exchange.
  1991. </summary>
  1992. <remarks>
  1993. MX records cause type A additional section processing for the host
  1994. specified by EXCHANGE.The use of MX RRs is explained in detail in
  1995. [RFC-974].
  1996. </remarks>
  1997. </member>
  1998. <member name="M:Makaretu.Dns.MXRecord.#ctor">
  1999. <summary>
  2000. Creates a new instance of the <see cref="T:Makaretu.Dns.MXRecord"/> class.
  2001. </summary>
  2002. </member>
  2003. <member name="P:Makaretu.Dns.MXRecord.Preference">
  2004. <summary>
  2005. The preference given to this RR among others at the same owner.
  2006. </summary>
  2007. <value>
  2008. Lower values are preferred.
  2009. </value>
  2010. </member>
  2011. <member name="P:Makaretu.Dns.MXRecord.Exchange">
  2012. <summary>
  2013. A domain-name which specifies a host willing to act as
  2014. a mail exchange for the owner name.
  2015. </summary>
  2016. <value>
  2017. The name of an mail exchange.
  2018. </value>
  2019. </member>
  2020. <member name="M:Makaretu.Dns.MXRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2021. <inheritdoc />
  2022. </member>
  2023. <member name="M:Makaretu.Dns.MXRecord.ReadData(Makaretu.Dns.PresentationReader)">
  2024. <inheritdoc />
  2025. </member>
  2026. <member name="M:Makaretu.Dns.MXRecord.WriteData(Makaretu.Dns.WireWriter)">
  2027. <inheritdoc />
  2028. </member>
  2029. <member name="M:Makaretu.Dns.MXRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  2030. <inheritdoc />
  2031. </member>
  2032. <member name="T:Makaretu.Dns.NSEC3Flags">
  2033. <summary>
  2034. The processing options of a <see cref="T:Makaretu.Dns.NSEC3Record"/>.
  2035. </summary>
  2036. <remarks>
  2037. Defined by <see href="https://tools.ietf.org/html/rfc5155#section-3.1.2">RFC 5155 - DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</see>.
  2038. </remarks>
  2039. </member>
  2040. <member name="F:Makaretu.Dns.NSEC3Flags.OptOut">
  2041. <summary>
  2042. Indicates uncovered unsigned delegations.
  2043. </summary>
  2044. </member>
  2045. <member name="T:Makaretu.Dns.NSEC3PARAMRecord">
  2046. <summary>
  2047. Parameters needed by authoritative servers to calculate hashed owner names.
  2048. </summary>
  2049. <remarks>
  2050. Defined by <see href="https://tools.ietf.org/html/rfc5155#section-4">RFC 5155 - DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</see>.
  2051. </remarks>
  2052. </member>
  2053. <member name="M:Makaretu.Dns.NSEC3PARAMRecord.#ctor">
  2054. <summary>
  2055. Creates a new instance of the <see cref="T:Makaretu.Dns.NSEC3PARAMRecord"/> class.
  2056. </summary>
  2057. </member>
  2058. <member name="P:Makaretu.Dns.NSEC3PARAMRecord.HashAlgorithm">
  2059. <summary>
  2060. The cryptographic hash algorithm used to create the hashed owner name.
  2061. </summary>
  2062. <value>
  2063. One of the <see cref="T:Makaretu.Dns.DigestType"/> value.
  2064. </value>
  2065. </member>
  2066. <member name="P:Makaretu.Dns.NSEC3PARAMRecord.Flags">
  2067. <summary>
  2068. Not used, must be zero.
  2069. </summary>
  2070. </member>
  2071. <member name="P:Makaretu.Dns.NSEC3PARAMRecord.Iterations">
  2072. <summary>
  2073. Number of times to perform the <see cref="P:Makaretu.Dns.NSEC3PARAMRecord.HashAlgorithm"/>.
  2074. </summary>
  2075. </member>
  2076. <member name="P:Makaretu.Dns.NSEC3PARAMRecord.Salt">
  2077. <summary>
  2078. Appended to the original owner name before hashing.
  2079. </summary>
  2080. <remarks>
  2081. Used to defend against pre-calculated dictionary attacks.
  2082. </remarks>
  2083. </member>
  2084. <member name="M:Makaretu.Dns.NSEC3PARAMRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2085. <inheritdoc />
  2086. </member>
  2087. <member name="M:Makaretu.Dns.NSEC3PARAMRecord.WriteData(Makaretu.Dns.WireWriter)">
  2088. <inheritdoc />
  2089. </member>
  2090. <member name="M:Makaretu.Dns.NSEC3PARAMRecord.ReadData(Makaretu.Dns.PresentationReader)">
  2091. <inheritdoc />
  2092. </member>
  2093. <member name="M:Makaretu.Dns.NSEC3PARAMRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  2094. <inheritdoc />
  2095. </member>
  2096. <member name="T:Makaretu.Dns.NSEC3Record">
  2097. <summary>
  2098. Authenticated denial of existence for DNS Resource Record Sets.
  2099. </summary>
  2100. <remarks>
  2101. Defined by <see href="https://tools.ietf.org/html/rfc5155#section-3">RFC 5155 - DNS Security (DNSSEC) Hashed Authenticated Denial of Existence</see>.
  2102. </remarks>
  2103. </member>
  2104. <member name="M:Makaretu.Dns.NSEC3Record.#ctor">
  2105. <summary>
  2106. Creates a new instance of the <see cref="T:Makaretu.Dns.NSEC3Record"/> class.
  2107. </summary>
  2108. </member>
  2109. <member name="P:Makaretu.Dns.NSEC3Record.HashAlgorithm">
  2110. <summary>
  2111. The cryptographic hash algorithm used to create the <see cref="P:Makaretu.Dns.NSEC3Record.NextHashedOwnerName"/>.
  2112. </summary>
  2113. <value>
  2114. One of the <see cref="T:Makaretu.Dns.DigestType"/> value.
  2115. </value>
  2116. </member>
  2117. <member name="P:Makaretu.Dns.NSEC3Record.Flags">
  2118. <summary>
  2119. Indicates different processing.
  2120. </summary>
  2121. </member>
  2122. <member name="P:Makaretu.Dns.NSEC3Record.Iterations">
  2123. <summary>
  2124. Number of times to perform the <see cref="P:Makaretu.Dns.NSEC3Record.HashAlgorithm"/>.
  2125. </summary>
  2126. </member>
  2127. <member name="P:Makaretu.Dns.NSEC3Record.Salt">
  2128. <summary>
  2129. Appended to the original owner name before hashing.
  2130. </summary>
  2131. <remarks>
  2132. Used to defend against pre-calculated dictionary attacks.
  2133. </remarks>
  2134. </member>
  2135. <member name="P:Makaretu.Dns.NSEC3Record.NextHashedOwnerName">
  2136. <summary>
  2137. The next hashed owner name that has authoritative data.
  2138. </summary>
  2139. </member>
  2140. <member name="P:Makaretu.Dns.NSEC3Record.Types">
  2141. <summary>
  2142. The sequence of RR types present at the NSEC3 RR's owner name.
  2143. </summary>
  2144. <value>
  2145. Defaults to the empty list.
  2146. </value>
  2147. </member>
  2148. <member name="M:Makaretu.Dns.NSEC3Record.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2149. <inheritdoc />
  2150. </member>
  2151. <member name="M:Makaretu.Dns.NSEC3Record.WriteData(Makaretu.Dns.WireWriter)">
  2152. <inheritdoc />
  2153. </member>
  2154. <member name="M:Makaretu.Dns.NSEC3Record.ReadData(Makaretu.Dns.PresentationReader)">
  2155. <inheritdoc />
  2156. </member>
  2157. <member name="M:Makaretu.Dns.NSEC3Record.WriteData(Makaretu.Dns.PresentationWriter)">
  2158. <inheritdoc />
  2159. </member>
  2160. <member name="T:Makaretu.Dns.NSECRecord">
  2161. <summary>
  2162. Contains the the next owner name and the set of RR
  2163. types present at the NSEC RR's owner name [RFC3845].
  2164. </summary>
  2165. </member>
  2166. <member name="M:Makaretu.Dns.NSECRecord.#ctor">
  2167. <summary>
  2168. Creates a new instance of the <see cref="T:Makaretu.Dns.NSECRecord"/> class.
  2169. </summary>
  2170. </member>
  2171. <member name="P:Makaretu.Dns.NSECRecord.NextOwnerName">
  2172. <summary>
  2173. The next owner name that has authoritative data or contains a
  2174. delegation point NS RRset
  2175. </summary>
  2176. <remarks>
  2177. Defaults to the <see cref="F:Makaretu.Dns.DomainName.Root"/>.
  2178. </remarks>
  2179. </member>
  2180. <member name="P:Makaretu.Dns.NSECRecord.Types">
  2181. <summary>
  2182. The sequence of RR types present at the NSEC RR's owner name.
  2183. </summary>
  2184. <value>
  2185. Defaults to the empty list.
  2186. </value>
  2187. </member>
  2188. <member name="M:Makaretu.Dns.NSECRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2189. <inheritdoc />
  2190. </member>
  2191. <member name="M:Makaretu.Dns.NSECRecord.WriteData(Makaretu.Dns.WireWriter)">
  2192. <inheritdoc />
  2193. </member>
  2194. <member name="M:Makaretu.Dns.NSECRecord.ReadData(Makaretu.Dns.PresentationReader)">
  2195. <inheritdoc />
  2196. </member>
  2197. <member name="M:Makaretu.Dns.NSECRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  2198. <inheritdoc />
  2199. </member>
  2200. <member name="T:Makaretu.Dns.NSRecord">
  2201. <summary>
  2202. An authoritative name server.
  2203. </summary>
  2204. <remarks>
  2205. NS records cause both the usual additional section processing to locate
  2206. a type A record, and, when used in a referral, a special search of the
  2207. zone in which they reside for glue information.
  2208. The NS RR states that the named host should be expected to have a zone
  2209. starting at owner name of the specified class. Note that the class may
  2210. not indicate the protocol family which should be used to communicate
  2211. with the host, although it is typically a strong hint.For example,
  2212. hosts which are name servers for either Internet (IN) or Hesiod (HS)
  2213. class information are normally queried using IN class protocols.
  2214. </remarks>
  2215. </member>
  2216. <member name="M:Makaretu.Dns.NSRecord.#ctor">
  2217. <summary>
  2218. Creates a new instance of the <see cref="T:Makaretu.Dns.NSRecord"/> class.
  2219. </summary>
  2220. </member>
  2221. <member name="P:Makaretu.Dns.NSRecord.Authority">
  2222. <summary>
  2223. A domain-name which specifies a host which should be
  2224. authoritative for the specified class and domain.
  2225. </summary>
  2226. </member>
  2227. <member name="M:Makaretu.Dns.NSRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2228. <inheritdoc />
  2229. </member>
  2230. <member name="M:Makaretu.Dns.NSRecord.ReadData(Makaretu.Dns.PresentationReader)">
  2231. <inheritdoc />
  2232. </member>
  2233. <member name="M:Makaretu.Dns.NSRecord.WriteData(Makaretu.Dns.WireWriter)">
  2234. <inheritdoc />
  2235. </member>
  2236. <member name="M:Makaretu.Dns.NSRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  2237. <inheritdoc />
  2238. </member>
  2239. <member name="T:Makaretu.Dns.NULLRecord">
  2240. <summary>
  2241. A null RR (EXPERIMENTAL).
  2242. </summary>
  2243. <remarks>
  2244. NULL records cause no additional section processing. NULL RRs are not
  2245. allowed in master files. NULLs are used as placeholders in some
  2246. experimental extensions of the DNS.
  2247. </remarks>
  2248. </member>
  2249. <member name="M:Makaretu.Dns.NULLRecord.#ctor">
  2250. <summary>
  2251. Creates a new instance of the <see cref="T:Makaretu.Dns.NULLRecord"/> class.
  2252. </summary>
  2253. </member>
  2254. <member name="P:Makaretu.Dns.NULLRecord.Data">
  2255. <summary>
  2256. Specfic data for the resource.
  2257. </summary>
  2258. </member>
  2259. <member name="M:Makaretu.Dns.NULLRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2260. <inheritdoc />
  2261. </member>
  2262. <member name="M:Makaretu.Dns.NULLRecord.ReadData(Makaretu.Dns.PresentationReader)">
  2263. <inheritdoc />
  2264. </member>
  2265. <member name="M:Makaretu.Dns.NULLRecord.WriteData(Makaretu.Dns.WireWriter)">
  2266. <inheritdoc />
  2267. </member>
  2268. <member name="T:Makaretu.Dns.OPTRecord">
  2269. <summary>
  2270. An extension mechanism for DNS (EDNS(0)).
  2271. </summary>
  2272. <remarks>
  2273. An OPT record does not carry any DNS data. It is used only to
  2274. contain control information pertaining to the question-and-answer
  2275. sequence of a specific transaction. OPT RRs MUST NOT be cached,
  2276. forwarded, or stored in or loaded from master files.
  2277. <para>
  2278. The <b>OPTRecord</b> can be present in the <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/>
  2279. section.
  2280. </para>
  2281. <note>
  2282. The <see cref="P:Makaretu.Dns.ResourceRecord.Class"/> property is repurposed to specify
  2283. the requestor's payload size.
  2284. </note>
  2285. <note>
  2286. The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
  2287. the <see cref="P:Makaretu.Dns.OPTRecord.Opcode8"/>, <see cref="P:Makaretu.Dns.OPTRecord.Version"/> and <see cref="P:Makaretu.Dns.OPTRecord.DO"/> properties.
  2288. </note>
  2289. </remarks>
  2290. <seealso href="https://tools.ietf.org/html/rfc6891"/>
  2291. </member>
  2292. <member name="M:Makaretu.Dns.OPTRecord.#ctor">
  2293. <summary>
  2294. Creates a new instance of the <see cref="T:Makaretu.Dns.OPTRecord"/> class.
  2295. </summary>
  2296. </member>
  2297. <member name="P:Makaretu.Dns.OPTRecord.RequestorPayloadSize">
  2298. <summary>
  2299. The maximimum packet size that can be received by the requestor.
  2300. </summary>
  2301. <value>
  2302. Specified in number of bytes. Defaults to 1280, which is reasonable over Ethernet.
  2303. </value>
  2304. <remarks>
  2305. The <see cref="P:Makaretu.Dns.ResourceRecord.Class"/> property is repurposed to specify
  2306. the requestor's payload size.
  2307. </remarks>
  2308. <seealso href="https://tools.ietf.org/html/rfc6891#section-6.2.3"/>
  2309. </member>
  2310. <member name="P:Makaretu.Dns.OPTRecord.Opcode8">
  2311. <summary>
  2312. The most significant 8 bits of the opcode.
  2313. </summary>
  2314. <value>
  2315. Defaults to zero.
  2316. </value>
  2317. <remarks>
  2318. The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
  2319. the opcode's most significant bits.
  2320. </remarks>
  2321. <seealso cref="P:Makaretu.Dns.Message.Opcode"/>
  2322. </member>
  2323. <member name="P:Makaretu.Dns.OPTRecord.Version">
  2324. <summary>
  2325. The EDNS version.
  2326. </summary>
  2327. <value>
  2328. Defaults to zero.
  2329. </value>
  2330. <remarks>
  2331. The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
  2332. the version.
  2333. </remarks>
  2334. </member>
  2335. <member name="P:Makaretu.Dns.OPTRecord.DO">
  2336. <summary>
  2337. The DNSSEC OK bit as defined by RFC3225.
  2338. </summary>
  2339. <value>
  2340. Defaults to <b>false</b>.
  2341. </value>
  2342. <remarks>
  2343. The <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> property is repurposed to specify
  2344. the version.
  2345. </remarks>
  2346. <seealso href="https://tools.ietf.org/html/rfc3225"/>
  2347. </member>
  2348. <member name="P:Makaretu.Dns.OPTRecord.Options">
  2349. <summary>
  2350. The extended DNS options.
  2351. </summary>
  2352. <value>
  2353. The EDNS option sequence.
  2354. </value>
  2355. </member>
  2356. <member name="M:Makaretu.Dns.OPTRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2357. <inheritdoc />
  2358. </member>
  2359. <member name="M:Makaretu.Dns.OPTRecord.WriteData(Makaretu.Dns.WireWriter)">
  2360. <inheritdoc />
  2361. </member>
  2362. <member name="M:Makaretu.Dns.OPTRecord.ToString">
  2363. <inheritdoc />
  2364. </member>
  2365. <member name="T:Makaretu.Dns.PresentationReader">
  2366. <summary>
  2367. Methods to read DNS data items encoded in the presentation (text) format.
  2368. </summary>
  2369. </member>
  2370. <member name="F:Makaretu.Dns.PresentationReader.tokenStartsNewLine">
  2371. <summary>
  2372. Indicates that the token is at the begining of the line without
  2373. any leading whitespace.
  2374. </summary>
  2375. </member>
  2376. <member name="F:Makaretu.Dns.PresentationReader.Position">
  2377. <summary>
  2378. The reader relative position within the stream.
  2379. </summary>
  2380. </member>
  2381. <member name="M:Makaretu.Dns.PresentationReader.#ctor(System.IO.TextReader)">
  2382. <summary>
  2383. Creates a new instance of the <see cref="T:Makaretu.Dns.PresentationReader"/> using the
  2384. specified <see cref="T:System.IO.TextReader"/>.
  2385. </summary>
  2386. <param name="text">
  2387. The source for data items.
  2388. </param>
  2389. </member>
  2390. <member name="P:Makaretu.Dns.PresentationReader.Origin">
  2391. <summary>
  2392. The origin domain name, sometimes called the zone name.
  2393. </summary>
  2394. <value>
  2395. Defaults to "".
  2396. </value>
  2397. <remarks>
  2398. <b>Origin</b> is used when the domain name "@" is used
  2399. for a domain name.
  2400. </remarks>
  2401. </member>
  2402. <member name="M:Makaretu.Dns.PresentationReader.ReadByte">
  2403. <summary>
  2404. Read a byte.
  2405. </summary>
  2406. <returns>
  2407. The number as a byte.
  2408. </returns>
  2409. </member>
  2410. <member name="M:Makaretu.Dns.PresentationReader.ReadUInt16">
  2411. <summary>
  2412. Read an unsigned short.
  2413. </summary>
  2414. <returns>
  2415. The number as an unsigned short.
  2416. </returns>
  2417. </member>
  2418. <member name="M:Makaretu.Dns.PresentationReader.ReadUInt32">
  2419. <summary>
  2420. Read an unsigned int.
  2421. </summary>
  2422. <returns>
  2423. The number as an unsignd int.
  2424. </returns>
  2425. </member>
  2426. <member name="M:Makaretu.Dns.PresentationReader.ReadDomainName">
  2427. <summary>
  2428. Read a domain name.
  2429. </summary>
  2430. <returns>
  2431. The domain name as a string.
  2432. </returns>
  2433. </member>
  2434. <member name="M:Makaretu.Dns.PresentationReader.ReadString">
  2435. <summary>
  2436. Read a string.
  2437. </summary>
  2438. <returns>
  2439. The string.
  2440. </returns>
  2441. </member>
  2442. <member name="M:Makaretu.Dns.PresentationReader.ReadBase64String">
  2443. <summary>
  2444. Read bytes encoded in base-64.
  2445. </summary>
  2446. <returns>
  2447. The bytes.
  2448. </returns>
  2449. <remarks>
  2450. This must be the last field in the RDATA because the string
  2451. can contain embedded spaces.
  2452. </remarks>
  2453. </member>
  2454. <member name="M:Makaretu.Dns.PresentationReader.ReadTimeSpan16">
  2455. <summary>
  2456. Read a time span (interval) in 16-bit seconds.
  2457. </summary>
  2458. <returns>
  2459. A <see cref="T:System.TimeSpan"/> with second resolution.
  2460. </returns>
  2461. </member>
  2462. <member name="M:Makaretu.Dns.PresentationReader.ReadTimeSpan32">
  2463. <summary>
  2464. Read a time span (interval) in 32-bit seconds.
  2465. </summary>
  2466. <returns>
  2467. A <see cref="T:System.TimeSpan"/> with second resolution.
  2468. </returns>
  2469. </member>
  2470. <member name="M:Makaretu.Dns.PresentationReader.ReadIPAddress(System.Int32)">
  2471. <summary>
  2472. Read an Internet address.
  2473. </summary>
  2474. <param name="length">
  2475. Ignored.
  2476. </param>
  2477. <returns>
  2478. An <see cref="T:System.Net.IPAddress"/>.
  2479. </returns>
  2480. </member>
  2481. <member name="M:Makaretu.Dns.PresentationReader.ReadDnsType">
  2482. <summary>
  2483. Read a DNS Type.
  2484. </summary>
  2485. <remarks>
  2486. Either the name of a <see cref="T:Makaretu.Dns.DnsType"/> or
  2487. the string "TYPEx".
  2488. </remarks>
  2489. </member>
  2490. <member name="M:Makaretu.Dns.PresentationReader.ReadDateTime">
  2491. <summary>
  2492. Read a date/time.
  2493. </summary>
  2494. <returns>
  2495. The <see cref="T:System.DateTime"/>.
  2496. </returns>
  2497. <remarks>
  2498. Allows a <see cref="T:System.DateTime"/> in the form "yyyyMMddHHmmss" or
  2499. the number of seconds since the unix epoch (00:00:00 on 1 January 1970 UTC).
  2500. </remarks>
  2501. </member>
  2502. <member name="M:Makaretu.Dns.PresentationReader.ReadResourceData">
  2503. <summary>
  2504. Read hex encoded RDATA.
  2505. </summary>
  2506. <returns>
  2507. A byte array containing the RDATA.
  2508. </returns>
  2509. <remarks>
  2510. See <see href="https://tools.ietf.org/html/rfc3597#section-5"/> for all
  2511. the details.
  2512. </remarks>
  2513. </member>
  2514. <member name="M:Makaretu.Dns.PresentationReader.ReadResourceRecord">
  2515. <summary>
  2516. Read a resource record.
  2517. </summary>
  2518. <returns>
  2519. A <see cref="T:Makaretu.Dns.ResourceRecord"/> or <b>null</b> if no more
  2520. resource records are available.
  2521. </returns>
  2522. <remarks>
  2523. Processes the "$ORIGIN" and "$TTL" specials that define the
  2524. <see cref="P:Makaretu.Dns.PresentationReader.Origin"/> and a default time-to-live respectively.
  2525. <para>
  2526. A domain name can be "@" to refer to the <see cref="P:Makaretu.Dns.PresentationReader.Origin"/>.
  2527. A missing domain name will use the previous record's domain name.
  2528. </para>
  2529. <para>
  2530. Defaults the <see cref="P:Makaretu.Dns.ResourceRecord.Class"/> to <see cref="F:Makaretu.Dns.DnsClass.IN"/>.
  2531. Defaults the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> to either the "$TTL" or
  2532. the <see cref="F:Makaretu.Dns.ResourceRecord.DefaultTTL"/>.
  2533. </para>
  2534. </remarks>
  2535. </member>
  2536. <member name="M:Makaretu.Dns.PresentationReader.IsEndOfLine">
  2537. <summary>
  2538. Determines if the reader is at the end of a line.
  2539. </summary>
  2540. </member>
  2541. <member name="T:Makaretu.Dns.PresentationWriter">
  2542. <summary>
  2543. Methods to write DNS data items encoded in the presentation (text) format.
  2544. </summary>
  2545. </member>
  2546. <member name="M:Makaretu.Dns.PresentationWriter.#ctor(System.IO.TextWriter)">
  2547. <summary>
  2548. Creates a new instance of the <see cref="T:Makaretu.Dns.PresentationWriter"/> using the
  2549. specified <see cref="T:System.IO.TextWriter"/>.
  2550. </summary>
  2551. <param name="text">
  2552. The source for data items.
  2553. </param>
  2554. </member>
  2555. <member name="M:Makaretu.Dns.PresentationWriter.WriteSpace">
  2556. <summary>
  2557. Writes a space.
  2558. </summary>
  2559. </member>
  2560. <member name="M:Makaretu.Dns.PresentationWriter.WriteEndOfLine">
  2561. <summary>
  2562. Writes a CRLF.
  2563. </summary>
  2564. </member>
  2565. <member name="M:Makaretu.Dns.PresentationWriter.WriteByte(System.Byte,System.Boolean)">
  2566. <summary>
  2567. Write an byte.
  2568. </summary>
  2569. <param name="value">
  2570. The value to write.
  2571. </param>
  2572. <param name="appendSpace">
  2573. Write a space after the value.
  2574. </param>
  2575. </member>
  2576. <member name="M:Makaretu.Dns.PresentationWriter.WriteUInt16(System.UInt16,System.Boolean)">
  2577. <summary>
  2578. Write an unsigned short.
  2579. </summary>
  2580. <param name="value">
  2581. The value to write.
  2582. </param>
  2583. <param name="appendSpace">
  2584. Write a space after the value.
  2585. </param>
  2586. </member>
  2587. <member name="M:Makaretu.Dns.PresentationWriter.WriteUInt32(System.UInt32,System.Boolean)">
  2588. <summary>
  2589. Write an unsigned int.
  2590. </summary>
  2591. <param name="value">
  2592. The value to write.
  2593. </param>
  2594. <param name="appendSpace">
  2595. Write a space after the value.
  2596. </param>
  2597. </member>
  2598. <member name="M:Makaretu.Dns.PresentationWriter.WriteString(System.String,System.Boolean)">
  2599. <summary>
  2600. Write a string.
  2601. </summary>
  2602. <param name="value">
  2603. An ASCII string.
  2604. </param>
  2605. <param name="appendSpace">
  2606. Write a space after the value.
  2607. </param>
  2608. <remarks>
  2609. Quotes and escapes are added as needned.
  2610. </remarks>
  2611. </member>
  2612. <member name="M:Makaretu.Dns.PresentationWriter.WriteStringUnencoded(System.String,System.Boolean)">
  2613. <summary>
  2614. Write a string.
  2615. </summary>
  2616. <param name="value">
  2617. An ASCII string.
  2618. </param>
  2619. <param name="appendSpace">
  2620. Write a space after the value.
  2621. </param>
  2622. <remarks>
  2623. Quotes and escapes are NOT added.
  2624. </remarks>
  2625. </member>
  2626. <member name="M:Makaretu.Dns.PresentationWriter.WriteDomainName(Makaretu.Dns.DomainName,System.Boolean)">
  2627. <summary>
  2628. Write a domain name.
  2629. </summary>
  2630. <param name="value">
  2631. The value to write.
  2632. </param>
  2633. <param name="appendSpace">
  2634. Write a space after the value.
  2635. </param>
  2636. </member>
  2637. <member name="M:Makaretu.Dns.PresentationWriter.WriteBase16String(System.Byte[],System.Boolean)">
  2638. <summary>
  2639. Write bytes encoded in base-16.
  2640. </summary>
  2641. <param name="value">
  2642. The value to write.
  2643. </param>
  2644. <param name="appendSpace">
  2645. Write a space after the value.
  2646. </param>
  2647. </member>
  2648. <member name="M:Makaretu.Dns.PresentationWriter.WriteBase64String(System.Byte[],System.Boolean)">
  2649. <summary>
  2650. Write bytes encoded in base-64.
  2651. </summary>
  2652. <param name="value">
  2653. The value to write.
  2654. </param>
  2655. <param name="appendSpace">
  2656. Write a space after the value.
  2657. </param>
  2658. </member>
  2659. <member name="M:Makaretu.Dns.PresentationWriter.WriteTimeSpan16(System.TimeSpan,System.Boolean)">
  2660. <summary>
  2661. Write a time span (interval) in 16-bit seconds.
  2662. </summary>
  2663. <param name="value">
  2664. The number of seconds to write.
  2665. </param>
  2666. <param name="appendSpace">
  2667. Write a space after the value.
  2668. </param>
  2669. </member>
  2670. <member name="M:Makaretu.Dns.PresentationWriter.WriteTimeSpan32(System.TimeSpan,System.Boolean)">
  2671. <summary>
  2672. Write a time span (interval) in 32-bit seconds.
  2673. </summary>
  2674. <param name="value">
  2675. The number of seconds to write.
  2676. </param>
  2677. <param name="appendSpace">
  2678. Write a space after the value.
  2679. </param>
  2680. </member>
  2681. <member name="M:Makaretu.Dns.PresentationWriter.WriteDateTime(System.DateTime,System.Boolean)">
  2682. <summary>
  2683. Write a date/time.
  2684. </summary>
  2685. <param name="value">
  2686. The UTC <see cref="T:System.DateTime"/>. Resolution is seconds.
  2687. </param>
  2688. <param name="appendSpace">
  2689. Write a space after the value.
  2690. </param>
  2691. </member>
  2692. <member name="M:Makaretu.Dns.PresentationWriter.WriteIPAddress(System.Net.IPAddress,System.Boolean)">
  2693. <summary>
  2694. Write an Internet address.
  2695. </summary>
  2696. <param name="value">
  2697. The value to write.
  2698. </param>
  2699. <param name="appendSpace">
  2700. Write a space after the value.
  2701. </param>
  2702. </member>
  2703. <member name="M:Makaretu.Dns.PresentationWriter.WriteDnsType(Makaretu.Dns.DnsType,System.Boolean)">
  2704. <summary>
  2705. Write a DNS Type.
  2706. </summary>
  2707. <param name="value">
  2708. The value to write.
  2709. </param>
  2710. <param name="appendSpace">
  2711. Write a space after the value.
  2712. </param>
  2713. <remarks>
  2714. Either the name of a <see cref="T:Makaretu.Dns.DnsType"/> or
  2715. the string "TYPEx".
  2716. </remarks>
  2717. </member>
  2718. <member name="M:Makaretu.Dns.PresentationWriter.WriteDnsClass(Makaretu.Dns.DnsClass,System.Boolean)">
  2719. <summary>
  2720. Write a DNS Class.
  2721. </summary>
  2722. <param name="value">
  2723. The value to write.
  2724. </param>
  2725. <param name="appendSpace">
  2726. Write a space after the value.
  2727. </param>
  2728. <remarks>
  2729. Either the name of a <see cref="T:Makaretu.Dns.DnsClass"/> or
  2730. the string "CLASSx".
  2731. </remarks>
  2732. </member>
  2733. <member name="T:Makaretu.Dns.PTRRecord">
  2734. <summary>
  2735. A domain name pointer.
  2736. </summary>
  2737. <remarks>
  2738. PTR records cause no additional section processing. These RRs are used
  2739. in special domains to point to some other location in the domain space.
  2740. These records are simple data, and don't imply any special processing
  2741. similar to that performed by CNAME, which identifies aliases.See the
  2742. description of the IN-ADDR.ARPA domain for an example.
  2743. </remarks>
  2744. </member>
  2745. <member name="M:Makaretu.Dns.PTRRecord.#ctor">
  2746. <summary>
  2747. Creates a new instance of the <see cref="T:Makaretu.Dns.PTRRecord"/> class.
  2748. </summary>
  2749. </member>
  2750. <member name="P:Makaretu.Dns.PTRRecord.DomainName">
  2751. <summary>
  2752. A domain-name which points to some location in the
  2753. domain name space.
  2754. </summary>
  2755. </member>
  2756. <member name="M:Makaretu.Dns.PTRRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  2757. <inheritdoc />
  2758. </member>
  2759. <member name="M:Makaretu.Dns.PTRRecord.ReadData(Makaretu.Dns.PresentationReader)">
  2760. <inheritdoc />
  2761. </member>
  2762. <member name="M:Makaretu.Dns.PTRRecord.WriteData(Makaretu.Dns.WireWriter)">
  2763. <inheritdoc />
  2764. </member>
  2765. <member name="M:Makaretu.Dns.PTRRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  2766. <inheritdoc />
  2767. </member>
  2768. <member name="T:Makaretu.Dns.Question">
  2769. <summary>
  2770. A question about a domain name to resolve.
  2771. </summary>
  2772. </member>
  2773. <member name="P:Makaretu.Dns.Question.Name">
  2774. <summary>
  2775. A domain name to query.
  2776. </summary>
  2777. </member>
  2778. <member name="P:Makaretu.Dns.Question.Type">
  2779. <summary>
  2780. A two octet code which specifies the type of the query.
  2781. </summary>
  2782. <value>
  2783. One of the <see cref="T:Makaretu.Dns.DnsType"/> values.
  2784. </value>
  2785. <remarks>
  2786. The values for this field include all codes valid for a
  2787. TYPE field, together with some more general codes which
  2788. can match more than one type of the resource record.
  2789. </remarks>
  2790. </member>
  2791. <member name="P:Makaretu.Dns.Question.Class">
  2792. <summary>
  2793. A two octet code that specifies the class of the query.
  2794. </summary>
  2795. <value>
  2796. Defaults to <see cref="F:Makaretu.Dns.DnsClass.IN"/>.
  2797. </value>
  2798. </member>
  2799. <member name="M:Makaretu.Dns.Question.Read(Makaretu.Dns.WireReader)">
  2800. <inheritdoc />
  2801. </member>
  2802. <member name="M:Makaretu.Dns.Question.Write(Makaretu.Dns.WireWriter)">
  2803. <inheritdoc />
  2804. </member>
  2805. <member name="M:Makaretu.Dns.Question.ToString">
  2806. <inheritdoc />
  2807. </member>
  2808. <member name="T:Makaretu.Dns.Resolving.CachedNameServer">
  2809. <summary>
  2810. A caching name server.
  2811. </summary>
  2812. </member>
  2813. <member name="M:Makaretu.Dns.Resolving.CachedNameServer.Prune(System.Nullable{System.DateTime})">
  2814. <summary>
  2815. Removes any expired resource record from the cache.
  2816. </summary>
  2817. <param name="now">
  2818. The time to use to determine if a resource record is expired.
  2819. Defaults to <see cref="P:System.DateTime.Now"/>.
  2820. </param>
  2821. <remarks>
  2822. Authoritative nodes are not pruned.
  2823. </remarks>
  2824. </member>
  2825. <member name="M:Makaretu.Dns.Resolving.CachedNameServer.PruneContinuously(System.TimeSpan)">
  2826. <summary>
  2827. Prune the cache in the background.
  2828. </summary>
  2829. <param name="interval">
  2830. The delay between pruning.
  2831. </param>
  2832. <returns>
  2833. Allows cancelation of the background task.
  2834. </returns>
  2835. <seealso cref="M:Makaretu.Dns.Resolving.CachedNameServer.Prune(System.Nullable{System.DateTime})"/>
  2836. </member>
  2837. <member name="M:Makaretu.Dns.Resolving.CachedNameServer.Add(Makaretu.Dns.Message)">
  2838. <summary>
  2839. Cache the response.
  2840. </summary>
  2841. <param name="response">
  2842. A response from a name server.
  2843. </param>
  2844. <remarks>
  2845. Both the <see cref="P:Makaretu.Dns.Message.Answers"/> and
  2846. the <see cref="P:Makaretu.Dns.Message.AdditionalRecords"/> are added to the cache.
  2847. Only resources records with a positive <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/>
  2848. are added.
  2849. </remarks>
  2850. </member>
  2851. <member name="T:Makaretu.Dns.Resolving.Catalog">
  2852. <summary>
  2853. A dictionary of <see cref="T:Makaretu.Dns.Resolving.Node">DNS nodes</see>.
  2854. </summary>
  2855. <remarks>
  2856. This is a portion of the DNS distribute database.
  2857. <para>
  2858. The key is the case insensitive <see cref="P:Makaretu.Dns.Resolving.Node.Name"/> and the value is a <see cref="T:Makaretu.Dns.Resolving.Node"/>.
  2859. </para>
  2860. </remarks>
  2861. </member>
  2862. <member name="M:Makaretu.Dns.Resolving.Catalog.IncludeZone(Makaretu.Dns.PresentationReader)">
  2863. <summary>
  2864. Include the zone information.
  2865. </summary>
  2866. <param name="reader">
  2867. The source of the zone information.
  2868. </param>
  2869. <returns>
  2870. The <see cref="T:Makaretu.Dns.Resolving.Node"/> that represents the zone.
  2871. </returns>
  2872. <remarks>
  2873. All included nodes are marked as <see cref="P:Makaretu.Dns.Resolving.Node.Authoritative"/>.
  2874. </remarks>
  2875. </member>
  2876. <member name="M:Makaretu.Dns.Resolving.Catalog.RemoveZone(Makaretu.Dns.DomainName)">
  2877. <summary>
  2878. Remove all nodes that belong to the zone.
  2879. </summary>
  2880. <param name="name">
  2881. The name of the zone.
  2882. </param>
  2883. </member>
  2884. <member name="M:Makaretu.Dns.Resolving.Catalog.Add(Makaretu.Dns.ResourceRecord,System.Boolean)">
  2885. <summary>
  2886. Add or update the resource record to the catalog.
  2887. </summary>
  2888. <param name="resource">
  2889. The <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> is also the name of the node.
  2890. </param>
  2891. <param name="authoritative">
  2892. Indicates if the <paramref name="resource"/> is authoritative or cached.
  2893. Only used when a <see cref="T:Makaretu.Dns.Resolving.Node"/> is created.
  2894. </param>
  2895. <returns>
  2896. The <see cref="T:Makaretu.Dns.Resolving.Node"/> that was created or updated.
  2897. </returns>
  2898. <remarks>
  2899. If the <paramref name="resource"/> already exists, then update the
  2900. non-equality properties <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/>
  2901. and <see cref="P:Makaretu.Dns.DnsObject.CreationTime"/>.
  2902. </remarks>
  2903. </member>
  2904. <member name="M:Makaretu.Dns.Resolving.Catalog.IncludeRootHints">
  2905. <summary>
  2906. Include the root name servers.
  2907. </summary>
  2908. <returns>
  2909. The <see cref="T:Makaretu.Dns.Resolving.Node"/> that represents the "root".
  2910. </returns>
  2911. <remarks>
  2912. A DNS recursive resolver typically needs a "root hints file". This file
  2913. contains the names and IP addresses of the authoritative name servers for the root zone,
  2914. so the software can bootstrap the DNS resolution process.
  2915. </remarks>
  2916. </member>
  2917. <member name="M:Makaretu.Dns.Resolving.Catalog.Include(Makaretu.Dns.PresentationReader,System.Boolean)">
  2918. <summary>
  2919. Include the resource records.
  2920. </summary>
  2921. <param name="reader">
  2922. The source of the resource records.
  2923. </param>
  2924. <param name="authoritative">
  2925. Indicates if a <see cref="T:Makaretu.Dns.ResourceRecord"/> is authoritative or cached.
  2926. Only used when a <see cref="T:Makaretu.Dns.Resolving.Node"/> is created.
  2927. </param>
  2928. </member>
  2929. <member name="M:Makaretu.Dns.Resolving.Catalog.NodesInCanonicalOrder">
  2930. <summary>
  2931. Get a sequence of nodes in canonical order.
  2932. </summary>
  2933. <returns>
  2934. A sequence of nodes in canonical order.
  2935. </returns>
  2936. <remarks>
  2937. Node names are converted to US-ASCII lowercase and
  2938. then sorted by their reversed labels.
  2939. </remarks>
  2940. </member>
  2941. <member name="M:Makaretu.Dns.Resolving.Catalog.IncludeReverseLookupRecords">
  2942. <summary>
  2943. Add PTR records for each authoritative A/AAAA record.
  2944. </summary>
  2945. <remarks>
  2946. This enables reverse DNS lookup of all address records.
  2947. </remarks>
  2948. </member>
  2949. <member name="T:Makaretu.Dns.Resolving.ConcurrentSet`1">
  2950. <summary>
  2951. A concurrent, simplified HashSet.
  2952. </summary>
  2953. <remarks>
  2954. This is a copy and paste of <see href="https://github.com/dotnet/roslyn/blob/master/src/Compilers/Core/Portable/InternalUtilities/ConcurrentSet.cs"/>
  2955. taken on 18 July 2018.
  2956. </remarks>
  2957. </member>
  2958. <member name="F:Makaretu.Dns.Resolving.ConcurrentSet`1.DefaultConcurrencyLevel">
  2959. <summary>
  2960. The default concurrency level is 2. That means the collection can cope with up to two
  2961. threads making simultaneous modifications without blocking.
  2962. Note ConcurrentDictionary's default concurrency level is dynamic, scaling according to
  2963. the number of processors.
  2964. </summary>
  2965. </member>
  2966. <member name="F:Makaretu.Dns.Resolving.ConcurrentSet`1.DefaultCapacity">
  2967. <summary>
  2968. Taken from ConcurrentDictionary.DEFAULT_CAPACITY
  2969. </summary>
  2970. </member>
  2971. <member name="F:Makaretu.Dns.Resolving.ConcurrentSet`1._dictionary">
  2972. <summary>
  2973. The backing dictionary. The values are never used; just the keys.
  2974. </summary>
  2975. </member>
  2976. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.#ctor">
  2977. <summary>
  2978. Construct a concurrent set with the default concurrency level.
  2979. </summary>
  2980. </member>
  2981. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
  2982. <summary>
  2983. Construct a concurrent set using the specified equality comparer.
  2984. </summary>
  2985. <param name="equalityComparer">The equality comparer for values in the set.</param>
  2986. </member>
  2987. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
  2988. <summary>
  2989. Construct a concurrent set using the specified the sequence.
  2990. </summary>
  2991. </member>
  2992. <member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.Count">
  2993. <summary>
  2994. Obtain the number of elements in the set.
  2995. </summary>
  2996. <returns>The number of elements in the set.</returns>
  2997. </member>
  2998. <member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.IsEmpty">
  2999. <summary>
  3000. Determine whether the set is empty.</summary>
  3001. <returns>true if the set is empty; otherwise, false.</returns>
  3002. </member>
  3003. <member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.IsReadOnly">
  3004. <inheritdoc />
  3005. </member>
  3006. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Contains(`0)">
  3007. <summary>
  3008. Determine whether the given value is in the set.
  3009. </summary>
  3010. <param name="value">The value to test.</param>
  3011. <returns>true if the set contains the specified value; otherwise, false.</returns>
  3012. </member>
  3013. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Add(`0)">
  3014. <summary>
  3015. Attempts to add a value to the set.
  3016. </summary>
  3017. <param name="value">The value to add.</param>
  3018. <returns>true if the value was added to the set. If the value already exists, this method returns false.</returns>
  3019. </member>
  3020. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
  3021. <summary>
  3022. Add a sequence to the set.
  3023. </summary>
  3024. </member>
  3025. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Remove(`0)">
  3026. <summary>
  3027. Attempts to remove a value from the set.
  3028. </summary>
  3029. <param name="value">The value to remove.</param>
  3030. <returns>true if the value was removed successfully; otherwise false.</returns>
  3031. </member>
  3032. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.Clear">
  3033. <summary>
  3034. Clear the set
  3035. </summary>
  3036. </member>
  3037. <member name="T:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator">
  3038. <summary>
  3039. enumerator for the keys.
  3040. </summary>
  3041. </member>
  3042. <member name="P:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator.Current">
  3043. <inheritdoc />
  3044. </member>
  3045. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator.MoveNext">
  3046. <inheritdoc />
  3047. </member>
  3048. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.KeyEnumerator.Reset">
  3049. <inheritdoc />
  3050. </member>
  3051. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.GetEnumerator">
  3052. <summary>
  3053. Obtain an enumerator that iterates through the elements in the set.
  3054. </summary>
  3055. <returns>An enumerator for the set.</returns>
  3056. </member>
  3057. <member name="M:Makaretu.Dns.Resolving.ConcurrentSet`1.CopyTo(`0[],System.Int32)">
  3058. <inheritdoc />
  3059. </member>
  3060. <member name="T:Makaretu.Dns.Resolving.NameServer">
  3061. <summary>
  3062. Anwsers questions from the local <see cref="P:Makaretu.Dns.Resolving.NameServer.Catalog"/>.
  3063. </summary>
  3064. </member>
  3065. <member name="P:Makaretu.Dns.Resolving.NameServer.Catalog">
  3066. <summary>
  3067. Information about some portion of the DNS database.
  3068. </summary>
  3069. <value>
  3070. A subset of the DNS database. Typically (1) one or more zones or (2) a cache of received
  3071. responses.
  3072. </value>
  3073. </member>
  3074. <member name="P:Makaretu.Dns.Resolving.NameServer.AnswerAllQuestions">
  3075. <summary>
  3076. Determines how multiple questions are answered.
  3077. </summary>
  3078. <value>
  3079. <b>false</b> to answer <b>any</b> of the questions.
  3080. <b>false</b> to answer <b>all</b> of the questions.
  3081. The default is <b>false</b>.
  3082. </value>
  3083. <remarks>
  3084. Standard DNS specifies that only one of the questions need to be answered.
  3085. Multicast DNS specifies that all the questions need to be answered.
  3086. </remarks>
  3087. </member>
  3088. <member name="M:Makaretu.Dns.Resolving.NameServer.ResolveAsync(Makaretu.Dns.Message,System.Threading.CancellationToken)">
  3089. <inheritdoc />
  3090. </member>
  3091. <member name="M:Makaretu.Dns.Resolving.NameServer.ResolveAsync(Makaretu.Dns.Question,Makaretu.Dns.Message,System.Threading.CancellationToken)">
  3092. <summary>
  3093. Get an answer to a question.
  3094. </summary>
  3095. <param name="question">
  3096. The question to answer.
  3097. </param>
  3098. <param name="response">
  3099. Where the answers are added. If <b>null</b>, then a new <see cref="T:Makaretu.Dns.Message"/> is
  3100. created.
  3101. </param>
  3102. <param name="cancel">
  3103. Is used to stop the task. When cancelled, the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> is raised.
  3104. </param>
  3105. <returns>
  3106. A task that represents the asynchronous operation. The task's value is
  3107. a <see cref="T:Makaretu.Dns.Message"/> response to the <paramref name="question"/>.
  3108. </returns>
  3109. <remarks>
  3110. If the question's domain does not exist, then the closest authority
  3111. (<see cref="T:Makaretu.Dns.SOARecord"/>) is added to the <see cref="P:Makaretu.Dns.Message.AuthorityRecords"/>.
  3112. </remarks>
  3113. </member>
  3114. <member name="M:Makaretu.Dns.Resolving.NameServer.FindAnswerAsync(Makaretu.Dns.Question,Makaretu.Dns.Message,System.Threading.CancellationToken)">
  3115. <summary>
  3116. Find an answer to the <see cref="T:Makaretu.Dns.Question"/>.
  3117. </summary>
  3118. <param name="question">
  3119. The question to answer.
  3120. </param>
  3121. <param name="response">
  3122. Where the answers are added.
  3123. </param>
  3124. <param name="cancel">
  3125. Is used to stop the task. When cancelled, the <see cref="T:System.Threading.Tasks.TaskCanceledException"/> is raised.
  3126. </param>
  3127. <returns>
  3128. A task that represents the asynchronous operation. The task's value
  3129. is <b>true</b> if the resolver added an answer.
  3130. </returns>
  3131. <remarks>
  3132. Derived classes must implement this method.
  3133. </remarks>
  3134. </member>
  3135. <member name="M:Makaretu.Dns.Resolving.NameServer.AddSecurityExtensionsAsync(Makaretu.Dns.Message,Makaretu.Dns.Message)">
  3136. <summary>
  3137. </summary>
  3138. <param name="request"></param>
  3139. <param name="response"></param>
  3140. <returns></returns>
  3141. </member>
  3142. <member name="M:Makaretu.Dns.Resolving.NameServer.AddSecurityResourcesAsync(System.Collections.Generic.List{Makaretu.Dns.ResourceRecord})">
  3143. <summary>
  3144. Add the DNSSEC resources for the resource record set.
  3145. </summary>
  3146. <param name="rrset">
  3147. The set of resource records.
  3148. </param>
  3149. <remarks>
  3150. Add the signature records (RRSIG) for each resource in the set.
  3151. </remarks>
  3152. </member>
  3153. <member name="T:Makaretu.Dns.Resolving.Node">
  3154. <summary>
  3155. Locally held information on a domain name.
  3156. </summary>
  3157. <remarks>
  3158. The domain name system is distributed, only a portion of the database
  3159. is available on each local host.
  3160. </remarks>
  3161. </member>
  3162. <member name="P:Makaretu.Dns.Resolving.Node.Name">
  3163. <summary>
  3164. The name of the node.
  3165. </summary>
  3166. <value>
  3167. An absolute (fully qualified) domain name. For example, "emanon.org".
  3168. </value>
  3169. <remarks>
  3170. All <see cref="P:Makaretu.Dns.Resolving.Node.Resources"/> must have a <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> that
  3171. matches this value.
  3172. </remarks>
  3173. </member>
  3174. <member name="M:Makaretu.Dns.Resolving.Node.ToString">
  3175. <inheritdoc />
  3176. </member>
  3177. <member name="P:Makaretu.Dns.Resolving.Node.Resources">
  3178. <summary>
  3179. The resource records associated with this node.
  3180. </summary>
  3181. <value>
  3182. Commonly called the RRSET (resource record set).
  3183. </value>
  3184. <remarks>
  3185. Duplicate resources are silently ignored.
  3186. </remarks>
  3187. </member>
  3188. <member name="P:Makaretu.Dns.Resolving.Node.Authoritative">
  3189. <summary>
  3190. Indicates that the node's resources contains the complete information for
  3191. the node.
  3192. </summary>
  3193. <value>
  3194. <b>true</b> if the <see cref="P:Makaretu.Dns.Resolving.Node.Resources"/> are authoritative; otherwise, <b>false</b>.
  3195. </value>
  3196. <remarks>
  3197. An Authoritative node is typically defined in a <see cref="M:Makaretu.Dns.Resolving.Catalog.IncludeZone(Makaretu.Dns.PresentationReader)">zone</see>.
  3198. </remarks>
  3199. </member>
  3200. <member name="T:Makaretu.Dns.ResourceRecord">
  3201. <summary>
  3202. Contains some information on the named resource.
  3203. </summary>
  3204. <remarks>
  3205. The <see cref="T:Makaretu.Dns.ResourceRegistry"/> contains the metadata on known
  3206. resource records. When reading, if the registry does not contain
  3207. the record, then an <see cref="T:Makaretu.Dns.UnknownRecord"/> is used.
  3208. </remarks>
  3209. </member>
  3210. <member name="F:Makaretu.Dns.ResourceRecord.DefaultTTL">
  3211. <summary>
  3212. The default time interval that a resource record maybe cached.
  3213. </summary>
  3214. <value>
  3215. Defaults to 1 day.
  3216. </value>
  3217. </member>
  3218. <member name="F:Makaretu.Dns.ResourceRecord.DefaultHostTTL">
  3219. <summary>
  3220. The default time interval that a resource record containing
  3221. a host name maybe cached.
  3222. </summary>
  3223. <value>
  3224. Defaults to 1 day.
  3225. </value>
  3226. <remarks>
  3227. Host names are in A, AAAA, and HINFO records.
  3228. </remarks>
  3229. </member>
  3230. <member name="P:Makaretu.Dns.ResourceRecord.Name">
  3231. <summary>
  3232. An owner name, i.e., the name of the node to which this
  3233. resource record pertains.
  3234. </summary>
  3235. </member>
  3236. <member name="P:Makaretu.Dns.ResourceRecord.CanonicalName">
  3237. <summary>
  3238. The canonical form of the owner name.
  3239. </summary>
  3240. <remarks>
  3241. All uppercase US-ASCII letters in the <see cref="P:Makaretu.Dns.ResourceRecord.Name"/> are
  3242. replaced by the corresponding lowercase US-ASCII letters.
  3243. </remarks>
  3244. </member>
  3245. <member name="P:Makaretu.Dns.ResourceRecord.Type">
  3246. <summary>
  3247. One of the RR TYPE codes.
  3248. </summary>
  3249. </member>
  3250. <member name="P:Makaretu.Dns.ResourceRecord.Class">
  3251. <summary>
  3252. One of the RR CLASS codes.
  3253. </summary>
  3254. <value>
  3255. Defaults to <see cref="F:Makaretu.Dns.DnsClass.IN"/>.
  3256. </value>
  3257. </member>
  3258. <member name="P:Makaretu.Dns.ResourceRecord.TTL">
  3259. <summary>
  3260. Specifies the time interval
  3261. that the resource record may be cached before the source
  3262. of the information should again be consulted.
  3263. </summary>
  3264. <value>
  3265. The resolution is 1 second. Defaults to 1 day.
  3266. </value>
  3267. <remarks>
  3268. Zero values are interpreted to mean that the RR can only be
  3269. used for the transaction in progress, and should not be
  3270. cached.
  3271. </remarks>
  3272. <seealso cref="F:Makaretu.Dns.ResourceRecord.DefaultTTL"/>
  3273. </member>
  3274. <member name="M:Makaretu.Dns.ResourceRecord.IsExpired(System.Nullable{System.DateTime})">
  3275. <summary>
  3276. Determines if the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> has expired.
  3277. </summary>
  3278. <param name="from">
  3279. The time to compare against. If <b>null</b>, the default value, then
  3280. <see cref="P:System.DateTime.Now"/> is used.
  3281. </param>
  3282. <returns>
  3283. <b>true</b> if the resource is no longer valid; otherwise <b>false</b>.
  3284. </returns>
  3285. </member>
  3286. <member name="M:Makaretu.Dns.ResourceRecord.GetDataLength">
  3287. <summary>
  3288. The length of the resource specific data.
  3289. </summary>
  3290. <returns>
  3291. Number of bytes to represent the resource specific data.
  3292. </returns>
  3293. <remarks>
  3294. This is referred to as the <c>RDLENGTH</c> in the DNS spec.
  3295. </remarks>
  3296. </member>
  3297. <member name="M:Makaretu.Dns.ResourceRecord.GetData">
  3298. <summary>
  3299. The resource specific data.
  3300. </summary>
  3301. <returns>
  3302. A byte array, never <b>null</b>.
  3303. </returns>
  3304. <remarks>
  3305. This is referred to as the <c>RDATA</c> in the DNS spec.
  3306. </remarks>
  3307. </member>
  3308. <member name="M:Makaretu.Dns.ResourceRecord.Read(Makaretu.Dns.WireReader)">
  3309. <inheritdoc />
  3310. </member>
  3311. <member name="M:Makaretu.Dns.ResourceRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  3312. <summary>
  3313. Read the data that is specific to the resource record <see cref="P:Makaretu.Dns.ResourceRecord.Type"/>.
  3314. </summary>
  3315. <param name="reader">
  3316. The source of the resource record's data.
  3317. </param>
  3318. <param name="length">
  3319. The length, in bytes, of the data.
  3320. </param>
  3321. <remarks>
  3322. Derived classes must implement this method.
  3323. </remarks>
  3324. </member>
  3325. <member name="M:Makaretu.Dns.ResourceRecord.Write(Makaretu.Dns.WireWriter)">
  3326. <inheritdoc />
  3327. </member>
  3328. <member name="M:Makaretu.Dns.ResourceRecord.WriteData(Makaretu.Dns.WireWriter)">
  3329. <summary>
  3330. Write the data that is specific to the resource record <see cref="T:System.Type"/>.
  3331. </summary>
  3332. <param name="writer">
  3333. The destination for the DNS object's data.
  3334. </param>
  3335. <remarks>
  3336. Derived classes must implement this method.
  3337. </remarks>
  3338. </member>
  3339. <member name="M:Makaretu.Dns.ResourceRecord.Equals(System.Object)">
  3340. <summary>
  3341. Determines if the specified object is equal to the current object.
  3342. </summary>
  3343. <param name="obj">
  3344. The object to compare.
  3345. </param>
  3346. <returns>
  3347. <b>true</b> if the specified object is equal to the current object; otherwise, <b>false</b>.
  3348. </returns>
  3349. <remarks>
  3350. Two Resource Records are considered equal if their <see cref="P:Makaretu.Dns.ResourceRecord.Name"/>,
  3351. <see cref="P:Makaretu.Dns.ResourceRecord.Class"/>, <see cref="P:Makaretu.Dns.ResourceRecord.Type"/> and <see cref="M:Makaretu.Dns.ResourceRecord.GetData">data fields</see>
  3352. are equal. Note that the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> field is explicitly
  3353. excluded from the comparison.
  3354. </remarks>
  3355. </member>
  3356. <member name="M:Makaretu.Dns.ResourceRecord.op_Equality(Makaretu.Dns.ResourceRecord,Makaretu.Dns.ResourceRecord)">
  3357. <summary>
  3358. Value equality.
  3359. </summary>
  3360. <remarks>
  3361. Two Resource Records are considered equal if their <see cref="P:Makaretu.Dns.ResourceRecord.Name"/>,
  3362. <see cref="P:Makaretu.Dns.ResourceRecord.Class"/>, <see cref="P:Makaretu.Dns.ResourceRecord.Type"/> and data fields
  3363. are equal. Note that the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> field is explicitly
  3364. excluded from the comparison.
  3365. </remarks>
  3366. </member>
  3367. <member name="M:Makaretu.Dns.ResourceRecord.op_Inequality(Makaretu.Dns.ResourceRecord,Makaretu.Dns.ResourceRecord)">
  3368. <summary>
  3369. Value inequality.
  3370. </summary>
  3371. <remarks>
  3372. Two Resource Records are considered equal if their <see cref="P:Makaretu.Dns.ResourceRecord.Name"/>,
  3373. <see cref="P:Makaretu.Dns.ResourceRecord.Class"/>, <see cref="P:Makaretu.Dns.ResourceRecord.Type"/> and data fields
  3374. are equal. Note that the <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> field is explicitly
  3375. excluded from the comparison.
  3376. </remarks>
  3377. </member>
  3378. <member name="M:Makaretu.Dns.ResourceRecord.GetHashCode">
  3379. <inheritdoc />
  3380. </member>
  3381. <member name="M:Makaretu.Dns.ResourceRecord.ToString">
  3382. <summary>
  3383. Returns the textual representation.
  3384. </summary>
  3385. <returns>
  3386. The presentation format of this resource record.
  3387. </returns>
  3388. </member>
  3389. <member name="M:Makaretu.Dns.ResourceRecord.Write(Makaretu.Dns.PresentationWriter)">
  3390. <inheritdoc />
  3391. </member>
  3392. <member name="M:Makaretu.Dns.ResourceRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  3393. <summary>
  3394. Write the textual representation of the data that is specific to
  3395. the resource record.
  3396. </summary>
  3397. <param name="writer">
  3398. The destination for the resource record's data.
  3399. </param>
  3400. <remarks>
  3401. Derived classes should implement this method.
  3402. <para>
  3403. By default, this will write the hex encoding of
  3404. the <see cref="M:Makaretu.Dns.ResourceRecord.GetData">RDATA</see> preceeded by
  3405. "\#" and the number integer bytes.
  3406. </para>
  3407. </remarks>
  3408. </member>
  3409. <member name="M:Makaretu.Dns.ResourceRecord.Read(System.String)">
  3410. <summary>
  3411. Create a new <see cref="T:Makaretu.Dns.ResourceRecord"/> from the
  3412. specified string.
  3413. </summary>
  3414. <param name="text">
  3415. The presentation format.
  3416. </param>
  3417. </member>
  3418. <member name="M:Makaretu.Dns.ResourceRecord.Read(Makaretu.Dns.PresentationReader)">
  3419. <inheritdoc />
  3420. </member>
  3421. <member name="M:Makaretu.Dns.ResourceRecord.ReadData(Makaretu.Dns.PresentationReader)">
  3422. <summary>
  3423. Read the textual representation of the data that is specific to
  3424. the resource record <see cref="P:Makaretu.Dns.ResourceRecord.Type"/>.
  3425. </summary>
  3426. <param name="reader">
  3427. The source of the resource record's data.
  3428. </param>
  3429. <remarks>
  3430. Derived classes must implement this method.
  3431. </remarks>
  3432. </member>
  3433. <member name="T:Makaretu.Dns.ResourceRegistry">
  3434. <summary>
  3435. Metadata on resource records.
  3436. </summary>
  3437. <see cref="T:Makaretu.Dns.ResourceRecord"/>
  3438. </member>
  3439. <member name="F:Makaretu.Dns.ResourceRegistry.Records">
  3440. <summary>
  3441. All the resource records.
  3442. </summary>
  3443. <remarks>
  3444. The key is the DNS Resource Record type, <see cref="T:Makaretu.Dns.DnsType"/>.
  3445. The value is a function that returns a new <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  3446. </remarks>
  3447. </member>
  3448. <member name="M:Makaretu.Dns.ResourceRegistry.Register``1">
  3449. <summary>
  3450. Register a new resource record.
  3451. </summary>
  3452. <typeparam name="T">
  3453. A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  3454. </typeparam>
  3455. <exception cref="T:System.ArgumentException">
  3456. When RR TYPE is zero.
  3457. </exception>
  3458. </member>
  3459. <member name="M:Makaretu.Dns.ResourceRegistry.Create(Makaretu.Dns.DnsType)">
  3460. <summary>
  3461. Gets the resource record for the <see cref="T:Makaretu.Dns.DnsType"/>.
  3462. </summary>
  3463. <param name="type">
  3464. One of the <see cref="T:Makaretu.Dns.DnsType"/> values.
  3465. </param>
  3466. <returns>
  3467. A new instance derived from <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  3468. </returns>
  3469. <remarks>
  3470. When the <paramref name="type"/> is not implemented, a new
  3471. of <see cref="T:Makaretu.Dns.UnknownRecord"/> is returned.
  3472. </remarks>
  3473. </member>
  3474. <member name="T:Makaretu.Dns.RPRecord">
  3475. <summary>
  3476. The person responsible for a name.
  3477. </summary>
  3478. <remarks>
  3479. The responsible person identification to any name in the DNS.
  3480. </remarks>
  3481. <seealso href="https://tools.ietf.org/html/rfc1183"/>
  3482. </member>
  3483. <member name="M:Makaretu.Dns.RPRecord.#ctor">
  3484. <summary>
  3485. Creates a new instance of the <see cref="T:Makaretu.Dns.RPRecord"/> class.
  3486. </summary>
  3487. </member>
  3488. <member name="P:Makaretu.Dns.RPRecord.Mailbox">
  3489. <summary>
  3490. The mailbox for the responsible person.
  3491. </summary>
  3492. <value>
  3493. Defaults to <see cref="F:Makaretu.Dns.DomainName.Root"/>.
  3494. </value>
  3495. </member>
  3496. <member name="P:Makaretu.Dns.RPRecord.TextName">
  3497. <summary>
  3498. The name of TXT records for the responsible person.
  3499. </summary>
  3500. <value>
  3501. Defaults to <see cref="F:Makaretu.Dns.DomainName.Root"/>.
  3502. </value>
  3503. </member>
  3504. <member name="M:Makaretu.Dns.RPRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  3505. <inheritdoc />
  3506. </member>
  3507. <member name="M:Makaretu.Dns.RPRecord.ReadData(Makaretu.Dns.PresentationReader)">
  3508. <inheritdoc />
  3509. </member>
  3510. <member name="M:Makaretu.Dns.RPRecord.WriteData(Makaretu.Dns.WireWriter)">
  3511. <inheritdoc />
  3512. </member>
  3513. <member name="M:Makaretu.Dns.RPRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  3514. <inheritdoc />
  3515. </member>
  3516. <member name="T:Makaretu.Dns.RRSIGRecord">
  3517. <summary>
  3518. Signature for a RRSET with a particular name, class, and type.
  3519. </summary>
  3520. <remarks>
  3521. Defined in <see href="https://tools.ietf.org/html/rfc4034#section-3">RFC 4034 section 3</see>.
  3522. </remarks>
  3523. </member>
  3524. <member name="M:Makaretu.Dns.RRSIGRecord.#ctor">
  3525. <summary>
  3526. Creates a new instance of the <see cref="T:Makaretu.Dns.RRSIGRecord"/> class.
  3527. </summary>
  3528. </member>
  3529. <member name="P:Makaretu.Dns.RRSIGRecord.TypeCovered">
  3530. <summary>
  3531. The type of the RRset that is covered by this signature.
  3532. </summary>
  3533. <value>
  3534. One of the <see cref="T:Makaretu.Dns.DnsType"/> values.
  3535. </value>
  3536. </member>
  3537. <member name="P:Makaretu.Dns.RRSIGRecord.Algorithm">
  3538. <summary>
  3539. Identifies the cryptographic algorithm to create the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
  3540. </summary>
  3541. <value>
  3542. Identifies the type of key (RSA, ECDSA, ...) and the
  3543. hashing algorithm.
  3544. </value>
  3545. </member>
  3546. <member name="P:Makaretu.Dns.RRSIGRecord.Labels">
  3547. <summary>
  3548. The number of labels in the original RRSIG RR owner name.
  3549. </summary>
  3550. <remarks>
  3551. The significance of this field is that a validator
  3552. uses it to determine whether the answer was synthesized from a
  3553. wildcard.
  3554. </remarks>
  3555. </member>
  3556. <member name="P:Makaretu.Dns.RRSIGRecord.OriginalTTL">
  3557. <summary>
  3558. The TTL of the covered RRset as it appears in the authoritative zone.
  3559. </summary>
  3560. <value>
  3561. The resolution is 1 second.
  3562. </value>
  3563. </member>
  3564. <member name="P:Makaretu.Dns.RRSIGRecord.SignatureExpiration">
  3565. <summary>
  3566. The end date for the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
  3567. </summary>
  3568. <value>
  3569. The resolution is 1 second.
  3570. </value>
  3571. </member>
  3572. <member name="P:Makaretu.Dns.RRSIGRecord.SignatureInception">
  3573. <summary>
  3574. The start date for the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
  3575. </summary>
  3576. <value>
  3577. The resolution is 1 second.
  3578. </value>
  3579. </member>
  3580. <member name="P:Makaretu.Dns.RRSIGRecord.KeyTag">
  3581. <summary>
  3582. The key tag of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> that
  3583. validates the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
  3584. </summary>
  3585. <value>
  3586. The <see cref="M:Makaretu.Dns.DNSKEYRecord.KeyTag"/> method produces this value.
  3587. </value>
  3588. </member>
  3589. <member name="P:Makaretu.Dns.RRSIGRecord.SignerName">
  3590. <summary>
  3591. The owner name of the <see cref="T:Makaretu.Dns.DNSKEYRecord"/> that
  3592. validates the <see cref="P:Makaretu.Dns.RRSIGRecord.Signature"/>.
  3593. </summary>
  3594. </member>
  3595. <member name="P:Makaretu.Dns.RRSIGRecord.Signature">
  3596. <summary>
  3597. The cryptographic signature.
  3598. </summary>
  3599. <value>
  3600. The format depends upon the <see cref="P:Makaretu.Dns.RRSIGRecord.Algorithm"/>.
  3601. </value>
  3602. </member>
  3603. <member name="M:Makaretu.Dns.RRSIGRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  3604. <inheritdoc />
  3605. </member>
  3606. <member name="M:Makaretu.Dns.RRSIGRecord.WriteData(Makaretu.Dns.WireWriter)">
  3607. <inheritdoc />
  3608. </member>
  3609. <member name="M:Makaretu.Dns.RRSIGRecord.ReadData(Makaretu.Dns.PresentationReader)">
  3610. <inheritdoc />
  3611. </member>
  3612. <member name="M:Makaretu.Dns.RRSIGRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  3613. <inheritdoc />
  3614. </member>
  3615. <member name="T:Makaretu.Dns.SecurityAlgorithm">
  3616. <summary>
  3617. Identities the security algorithm used by DNSSEC resource records.
  3618. </summary>
  3619. <remarks>
  3620. The values are maintained by IANA at <see href="https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1"/>
  3621. <para>
  3622. Implemented security algorithms are obtained from the <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry"/>.
  3623. </para>
  3624. </remarks>
  3625. <seealso cref="T:Makaretu.Dns.DNSKEYRecord"/>
  3626. </member>
  3627. <member name="F:Makaretu.Dns.SecurityAlgorithm.DELETE">
  3628. <summary>
  3629. Delete DS
  3630. </summary>
  3631. </member>
  3632. <member name="F:Makaretu.Dns.SecurityAlgorithm.RSAMD5">
  3633. <summary>
  3634. RSA/MD5 (deprecated)
  3635. </summary>
  3636. <remarks>
  3637. Must not be implemented according to <see href="https://tools.ietf.org/html/rfc6944">RFC 6944</see>.
  3638. </remarks>
  3639. </member>
  3640. <member name="F:Makaretu.Dns.SecurityAlgorithm.DH">
  3641. <summary>
  3642. Diffie-Hellman
  3643. </summary>
  3644. </member>
  3645. <member name="F:Makaretu.Dns.SecurityAlgorithm.DSA">
  3646. <summary>
  3647. DSA/SHA1
  3648. </summary>
  3649. </member>
  3650. <member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA1">
  3651. <summary>
  3652. RSA/SHA-1
  3653. </summary>
  3654. </member>
  3655. <member name="F:Makaretu.Dns.SecurityAlgorithm.DSANSEC3SHA1">
  3656. <summary>
  3657. DSA-NSEC3-SHA1
  3658. </summary>
  3659. </member>
  3660. <member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA1NSEC3SHA1">
  3661. <summary>
  3662. RSASHA1-NSEC3-SHA1
  3663. </summary>
  3664. </member>
  3665. <member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA256">
  3666. <summary>
  3667. RSA/SHA-256
  3668. </summary>
  3669. </member>
  3670. <member name="F:Makaretu.Dns.SecurityAlgorithm.RSASHA512">
  3671. <summary>
  3672. RSA/SHA-512
  3673. </summary>
  3674. </member>
  3675. <member name="F:Makaretu.Dns.SecurityAlgorithm.ECCGOST">
  3676. <summary>
  3677. GOST R 34.10-2001
  3678. </summary>
  3679. </member>
  3680. <member name="F:Makaretu.Dns.SecurityAlgorithm.ECDSAP256SHA256">
  3681. <summary>
  3682. ECDSA Curve P-256 with SHA-256
  3683. </summary>
  3684. </member>
  3685. <member name="F:Makaretu.Dns.SecurityAlgorithm.ECDSAP384SHA384">
  3686. <summary>
  3687. ECDSA Curve P-384 with SHA-384
  3688. </summary>
  3689. </member>
  3690. <member name="F:Makaretu.Dns.SecurityAlgorithm.ED25519">
  3691. <summary>
  3692. Ed25519
  3693. </summary>
  3694. </member>
  3695. <member name="F:Makaretu.Dns.SecurityAlgorithm.ED448">
  3696. <summary>
  3697. Ed448
  3698. </summary>
  3699. </member>
  3700. <member name="F:Makaretu.Dns.SecurityAlgorithm.INDIRECT">
  3701. <summary>
  3702. Indirect Keys
  3703. </summary>
  3704. </member>
  3705. <member name="F:Makaretu.Dns.SecurityAlgorithm.PRIVATEDNS">
  3706. <summary>
  3707. Private algorithm
  3708. </summary>
  3709. </member>
  3710. <member name="F:Makaretu.Dns.SecurityAlgorithm.PRIVATEOID">
  3711. <summary>
  3712. Private algorithm OID
  3713. </summary>
  3714. </member>
  3715. <member name="T:Makaretu.Dns.SecurityAlgorithmRegistry">
  3716. <summary>
  3717. Registry of implemented <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
  3718. </summary>
  3719. <remarks>
  3720. IANA maintains a list of all known types at <see href="https://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1"/>.
  3721. </remarks>
  3722. <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>
  3723. </member>
  3724. <member name="T:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata">
  3725. <summary>
  3726. Metadata on a <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
  3727. </summary>
  3728. <remarks>
  3729. Used by the <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry"/>.
  3730. </remarks>
  3731. </member>
  3732. <member name="P:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata.HashAlgorithm">
  3733. <summary>
  3734. The cryptographic hash algorithm to use.
  3735. </summary>
  3736. </member>
  3737. <member name="P:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata.OtherNames">
  3738. <summary>
  3739. Other names associated with the algorithm.
  3740. </summary>
  3741. </member>
  3742. <member name="F:Makaretu.Dns.SecurityAlgorithmRegistry.Algorithms">
  3743. <summary>
  3744. Defined security algorithms.
  3745. </summary>
  3746. <remarks>
  3747. The key is the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
  3748. The value is th <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata"/>.
  3749. </remarks>
  3750. </member>
  3751. <member name="M:Makaretu.Dns.SecurityAlgorithmRegistry.GetMetadata(Makaretu.Dns.SecurityAlgorithm)">
  3752. <summary>
  3753. Gets the meta data for the the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/>.
  3754. </summary>
  3755. <param name="algorithm">
  3756. One of the <see cref="T:Makaretu.Dns.SecurityAlgorithm"/> values.
  3757. </param>
  3758. <returns>
  3759. The <see cref="T:Makaretu.Dns.SecurityAlgorithmRegistry.Metadata"/> for the <paramref name="algorithm"/>.
  3760. </returns>
  3761. <exception cref="T:System.NotImplementedException">
  3762. When the <paramref name="algorithm"/> is not defined.
  3763. </exception>
  3764. </member>
  3765. <member name="T:Makaretu.Dns.SOARecord">
  3766. <summary>
  3767. Marks the start of a zone of authority.
  3768. </summary>
  3769. <remarks>
  3770. Most of these fields are pertinent only for name server maintenance
  3771. operations. However, MINIMUM is used in all query operations that
  3772. retrieve RRs from a zone.Whenever a RR is sent in a response to a
  3773. query, the TTL field is set to the maximum of the TTL field from the RR
  3774. and the MINIMUM field in the appropriate SOA.Thus MINIMUM is a lower
  3775. bound on the TTL field for all RRs in a zone.Note that this use of
  3776. MINIMUM should occur when the RRs are copied into the response and not
  3777. when the zone is loaded from a master file or via a zone transfer. The
  3778. reason for this provison is to allow future dynamic update facilities to
  3779. change the SOA RR with known semantics.
  3780. </remarks>
  3781. </member>
  3782. <member name="M:Makaretu.Dns.SOARecord.#ctor">
  3783. <summary>
  3784. Creates a new instance of the <see cref="T:Makaretu.Dns.SOARecord"/> class.
  3785. </summary>
  3786. <remarks>
  3787. Sets <see cref="P:Makaretu.Dns.ResourceRecord.TTL"/> to zero.
  3788. </remarks>
  3789. </member>
  3790. <member name="P:Makaretu.Dns.SOARecord.PrimaryName">
  3791. <summary>
  3792. The domain-name of the name server that was the
  3793. original or primary source of data for this zone.
  3794. </summary>
  3795. </member>
  3796. <member name="P:Makaretu.Dns.SOARecord.Mailbox">
  3797. <summary>
  3798. A domain-name which specifies the mailbox of the
  3799. person responsible for this zone.
  3800. </summary>
  3801. </member>
  3802. <member name="P:Makaretu.Dns.SOARecord.SerialNumber">
  3803. <summary>
  3804. The unsigned 32 bit version number of the original copy
  3805. of the zone.
  3806. </summary>
  3807. <remarks>
  3808. Zone transfers preserve this value. This
  3809. value wraps and should be compared using sequence space
  3810. arithmetic.
  3811. </remarks>
  3812. </member>
  3813. <member name="P:Makaretu.Dns.SOARecord.Refresh">
  3814. <summary>
  3815. Interval before the zone should be refreshed.
  3816. </summary>
  3817. </member>
  3818. <member name="P:Makaretu.Dns.SOARecord.Retry">
  3819. <summary>
  3820. interval that should elapse before a failed refresh should be retried.
  3821. </summary>
  3822. </member>
  3823. <member name="P:Makaretu.Dns.SOARecord.Expire">
  3824. <summary>
  3825. Specifies the upper limit on
  3826. the time interval that can elapse before the zone is no
  3827. longer authoritative.
  3828. </summary>
  3829. </member>
  3830. <member name="P:Makaretu.Dns.SOARecord.Minimum">
  3831. <summary>
  3832. Minimum TTL field that should be exported with any RR from this zone.
  3833. </summary>
  3834. </member>
  3835. <member name="M:Makaretu.Dns.SOARecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  3836. <inheritdoc />
  3837. </member>
  3838. <member name="M:Makaretu.Dns.SOARecord.ReadData(Makaretu.Dns.PresentationReader)">
  3839. <inheritdoc />
  3840. </member>
  3841. <member name="M:Makaretu.Dns.SOARecord.WriteData(Makaretu.Dns.WireWriter)">
  3842. <inheritdoc />
  3843. </member>
  3844. <member name="M:Makaretu.Dns.SOARecord.WriteData(Makaretu.Dns.PresentationWriter)">
  3845. <inheritdoc />
  3846. </member>
  3847. <member name="T:Makaretu.Dns.SRVRecord">
  3848. <summary>
  3849. Allows administrators to use several servers for a single domain.
  3850. </summary>
  3851. </member>
  3852. <member name="M:Makaretu.Dns.SRVRecord.#ctor">
  3853. <summary>
  3854. Creates a new instance of the <see cref="T:Makaretu.Dns.SRVRecord"/> class.
  3855. </summary>
  3856. </member>
  3857. <member name="P:Makaretu.Dns.SRVRecord.Priority">
  3858. <summary>
  3859. The priority of this target host.
  3860. </summary>
  3861. <remarks>
  3862. A client MUST attempt to contact the target host with the
  3863. lowest-numbered priority it can
  3864. reach; target hosts with the same priority SHOULD be tried in an
  3865. order defined by the weight field.The range is 0-65535.
  3866. </remarks>
  3867. </member>
  3868. <member name="P:Makaretu.Dns.SRVRecord.Weight">
  3869. <summary>
  3870. A server selection mechanism.
  3871. </summary>
  3872. <remarks>
  3873. The weight field specifies a
  3874. relative weight for entries with the same priority.Larger
  3875. weights SHOULD be given a proportionately higher probability of
  3876. being selected.
  3877. </remarks>
  3878. </member>
  3879. <member name="P:Makaretu.Dns.SRVRecord.Port">
  3880. <summary>
  3881. The port on this target host of this service.
  3882. </summary>
  3883. </member>
  3884. <member name="P:Makaretu.Dns.SRVRecord.Target">
  3885. <summary>
  3886. The domain name of the target host.
  3887. </summary>
  3888. <remarks>
  3889. There MUST be one or more
  3890. address records for this name, the name MUST NOT be an alias (in
  3891. the sense of RFC 1034 or RFC 2181).
  3892. </remarks>
  3893. </member>
  3894. <member name="M:Makaretu.Dns.SRVRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  3895. <inheritdoc />
  3896. </member>
  3897. <member name="M:Makaretu.Dns.SRVRecord.ReadData(Makaretu.Dns.PresentationReader)">
  3898. <inheritdoc />
  3899. </member>
  3900. <member name="M:Makaretu.Dns.SRVRecord.WriteData(Makaretu.Dns.WireWriter)">
  3901. <inheritdoc />
  3902. </member>
  3903. <member name="M:Makaretu.Dns.SRVRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  3904. <inheritdoc />
  3905. </member>
  3906. <member name="T:Makaretu.Dns.TKEYRecord">
  3907. <summary>
  3908. Shared secret key.
  3909. </summary>
  3910. <remarks>
  3911. Defined in <see href="https://tools.ietf.org/html/rfc2930">RFC 2930</see>.
  3912. </remarks>
  3913. </member>
  3914. <member name="M:Makaretu.Dns.TKEYRecord.#ctor">
  3915. <summary>
  3916. Creates a new instance of the <see cref="T:Makaretu.Dns.TKEYRecord"/> class.
  3917. </summary>
  3918. </member>
  3919. <member name="P:Makaretu.Dns.TKEYRecord.Algorithm">
  3920. <summary>
  3921. Identifies the cryptographic algorithm to create.
  3922. </summary>
  3923. <value>
  3924. Identifies the HMAC alogirthm.
  3925. </value>
  3926. <remarks>
  3927. The algorithm determines how the secret keying material agreed to
  3928. using the TKEY RR is actually used to derive the algorithm specific key.
  3929. </remarks>
  3930. <seealso cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/>
  3931. </member>
  3932. <member name="P:Makaretu.Dns.TKEYRecord.Inception">
  3933. <summary>
  3934. The start date for the <see cref="P:Makaretu.Dns.TKEYRecord.Key"/>.
  3935. </summary>
  3936. <value>
  3937. Resolution in seconds.
  3938. </value>
  3939. </member>
  3940. <member name="P:Makaretu.Dns.TKEYRecord.Expiration">
  3941. <summary>
  3942. The end date for the <see cref="P:Makaretu.Dns.TKEYRecord.Key"/>.
  3943. </summary>
  3944. <value>
  3945. Resolution in seconds.
  3946. </value>
  3947. </member>
  3948. <member name="P:Makaretu.Dns.TKEYRecord.Mode">
  3949. <summary>
  3950. The key exchange algorithm.
  3951. </summary>
  3952. <value>
  3953. One of the <see cref="T:Makaretu.Dns.KeyExchangeMode"/> values.
  3954. </value>
  3955. </member>
  3956. <member name="P:Makaretu.Dns.TKEYRecord.Error">
  3957. <summary>
  3958. Expanded error code for TKEY.
  3959. </summary>
  3960. </member>
  3961. <member name="P:Makaretu.Dns.TKEYRecord.Key">
  3962. <summary>
  3963. The key exchange data.
  3964. </summary>
  3965. <value>
  3966. The format depends on the <see cref="P:Makaretu.Dns.TKEYRecord.Mode"/>.
  3967. </value>
  3968. </member>
  3969. <member name="P:Makaretu.Dns.TKEYRecord.OtherData">
  3970. <summary>
  3971. Other data.
  3972. </summary>
  3973. </member>
  3974. <member name="M:Makaretu.Dns.TKEYRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  3975. <inheritdoc />
  3976. </member>
  3977. <member name="M:Makaretu.Dns.TKEYRecord.WriteData(Makaretu.Dns.WireWriter)">
  3978. <inheritdoc />
  3979. </member>
  3980. <member name="M:Makaretu.Dns.TKEYRecord.ReadData(Makaretu.Dns.PresentationReader)">
  3981. <inheritdoc />
  3982. </member>
  3983. <member name="M:Makaretu.Dns.TKEYRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  3984. <inheritdoc />
  3985. </member>
  3986. <member name="T:Makaretu.Dns.TSIGRecord">
  3987. <summary>
  3988. Transaction Signature.
  3989. </summary>
  3990. <remarks>
  3991. Defined in <see href="https://tools.ietf.org/html/rfc2845">RFC 2845</see>.
  3992. </remarks>
  3993. </member>
  3994. <member name="F:Makaretu.Dns.TSIGRecord.HMACMD5">
  3995. <summary>
  3996. The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACMD5.
  3997. </summary>
  3998. </member>
  3999. <member name="F:Makaretu.Dns.TSIGRecord.GSSTSIG">
  4000. <summary>
  4001. The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for GSSTSIG.
  4002. </summary>
  4003. </member>
  4004. <member name="F:Makaretu.Dns.TSIGRecord.HMACSHA1">
  4005. <summary>
  4006. The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA1.
  4007. </summary>
  4008. </member>
  4009. <member name="F:Makaretu.Dns.TSIGRecord.HMACSHA224">
  4010. <summary>
  4011. The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA224.
  4012. </summary>
  4013. </member>
  4014. <member name="F:Makaretu.Dns.TSIGRecord.HMACSHA256">
  4015. <summary>
  4016. The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA256.
  4017. </summary>
  4018. </member>
  4019. <member name="F:Makaretu.Dns.TSIGRecord.HMACSHA384">
  4020. <summary>
  4021. The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA384.
  4022. </summary>
  4023. </member>
  4024. <member name="F:Makaretu.Dns.TSIGRecord.HMACSHA512">
  4025. <summary>
  4026. The <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/> name for HMACSHA512.
  4027. </summary>
  4028. </member>
  4029. <member name="M:Makaretu.Dns.TSIGRecord.#ctor">
  4030. <summary>
  4031. Creates a new instance of the <see cref="T:Makaretu.Dns.TSIGRecord"/> class.
  4032. </summary>
  4033. </member>
  4034. <member name="P:Makaretu.Dns.TSIGRecord.Algorithm">
  4035. <summary>
  4036. Identifies the cryptographic algorithm to create the <see cref="P:Makaretu.Dns.TSIGRecord.MAC"/>.
  4037. </summary>
  4038. <value>
  4039. Identifies the HMAC alogirthm.
  4040. </value>
  4041. </member>
  4042. <member name="P:Makaretu.Dns.TSIGRecord.TimeSigned">
  4043. <summary>
  4044. When the record was signed.
  4045. </summary>
  4046. <value>
  4047. Must be in <see cref="F:System.DateTimeKind.Utc"/>.
  4048. Resolution in seconds.
  4049. Defaults to <see cref="P:System.DateTime.UtcNow"/> less the milliseconds.
  4050. </value>
  4051. </member>
  4052. <member name="P:Makaretu.Dns.TSIGRecord.MAC">
  4053. <summary>
  4054. The message authentication code.
  4055. </summary>
  4056. <value>
  4057. The format depends on the <see cref="P:Makaretu.Dns.TSIGRecord.Algorithm"/>.
  4058. </value>
  4059. <remarks>
  4060. See <see href="https://tools.ietf.org/html/rfc2845#section-3">Protocol Operation</see>
  4061. for details on generating the MAC.
  4062. </remarks>
  4063. </member>
  4064. <member name="P:Makaretu.Dns.TSIGRecord.Fudge">
  4065. <summary>
  4066. Permitted error in <see cref="P:Makaretu.Dns.TSIGRecord.TimeSigned"/>.
  4067. </summary>
  4068. <value>
  4069. Defaults to 300 seconds.
  4070. </value>
  4071. </member>
  4072. <member name="P:Makaretu.Dns.TSIGRecord.OriginalMessageId">
  4073. <summary>
  4074. The Original <see cref="P:Makaretu.Dns.Message.Id"/>.
  4075. </summary>
  4076. </member>
  4077. <member name="P:Makaretu.Dns.TSIGRecord.Error">
  4078. <summary>
  4079. Expanded error code for TSIG.
  4080. </summary>
  4081. <value>
  4082. <see cref="F:Makaretu.Dns.MessageStatus.NoError"/>, <see cref="F:Makaretu.Dns.MessageStatus.BadSignature"/>
  4083. <see cref="F:Makaretu.Dns.MessageStatus.BadKey"/> or <see cref="F:Makaretu.Dns.MessageStatus.BadTime"/>.
  4084. </value>
  4085. </member>
  4086. <member name="P:Makaretu.Dns.TSIGRecord.OtherData">
  4087. <summary>
  4088. Other data.
  4089. </summary>
  4090. </member>
  4091. <member name="M:Makaretu.Dns.TSIGRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  4092. <inheritdoc />
  4093. </member>
  4094. <member name="M:Makaretu.Dns.TSIGRecord.WriteData(Makaretu.Dns.WireWriter)">
  4095. <inheritdoc />
  4096. </member>
  4097. <member name="M:Makaretu.Dns.TSIGRecord.ReadData(Makaretu.Dns.PresentationReader)">
  4098. <inheritdoc />
  4099. </member>
  4100. <member name="M:Makaretu.Dns.TSIGRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  4101. <inheritdoc />
  4102. </member>
  4103. <member name="T:Makaretu.Dns.TXTRecord">
  4104. <summary>
  4105. Text strings.
  4106. </summary>
  4107. <remarks>
  4108. TXT RRs are used to hold descriptive text. The semantics of the text
  4109. depends on the domain where it is found.
  4110. </remarks>
  4111. </member>
  4112. <member name="M:Makaretu.Dns.TXTRecord.#ctor">
  4113. <summary>
  4114. Creates a new instance of the <see cref="T:Makaretu.Dns.TXTRecord"/> class.
  4115. </summary>
  4116. </member>
  4117. <member name="P:Makaretu.Dns.TXTRecord.Strings">
  4118. <summary>
  4119. The sequence of strings.
  4120. </summary>
  4121. </member>
  4122. <member name="M:Makaretu.Dns.TXTRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  4123. <inheritdoc />
  4124. </member>
  4125. <member name="M:Makaretu.Dns.TXTRecord.ReadData(Makaretu.Dns.PresentationReader)">
  4126. <inheritdoc />
  4127. </member>
  4128. <member name="M:Makaretu.Dns.TXTRecord.WriteData(Makaretu.Dns.WireWriter)">
  4129. <inheritdoc />
  4130. </member>
  4131. <member name="M:Makaretu.Dns.TXTRecord.WriteData(Makaretu.Dns.PresentationWriter)">
  4132. <inheritdoc />
  4133. </member>
  4134. <member name="T:Makaretu.Dns.UnknownEdnsOption">
  4135. <summary>
  4136. An unknown EDNS option.
  4137. </summary>
  4138. <remarks>
  4139. When an <see cref="T:Makaretu.Dns.EdnsOption"/> is read with a <see cref="P:Makaretu.Dns.EdnsOption.Type"/> that
  4140. is not <see cref="T:Makaretu.Dns.EdnsOptionRegistry">registered</see>, then this is used
  4141. to deserialise the information.
  4142. </remarks>
  4143. </member>
  4144. <member name="P:Makaretu.Dns.UnknownEdnsOption.Data">
  4145. <summary>
  4146. Specfic data for the option.
  4147. </summary>
  4148. </member>
  4149. <member name="M:Makaretu.Dns.UnknownEdnsOption.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  4150. <inheritdoc />
  4151. </member>
  4152. <member name="M:Makaretu.Dns.UnknownEdnsOption.WriteData(Makaretu.Dns.WireWriter)">
  4153. <inheritdoc />
  4154. </member>
  4155. <member name="M:Makaretu.Dns.UnknownEdnsOption.ToString">
  4156. <inheritdoc />
  4157. </member>
  4158. <member name="T:Makaretu.Dns.UnknownRecord">
  4159. <summary>
  4160. An unknown resource record.
  4161. </summary>
  4162. </member>
  4163. <member name="P:Makaretu.Dns.UnknownRecord.Data">
  4164. <summary>
  4165. Specfic data for the resource.
  4166. </summary>
  4167. </member>
  4168. <member name="M:Makaretu.Dns.UnknownRecord.ReadData(Makaretu.Dns.WireReader,System.Int32)">
  4169. <inheritdoc />
  4170. </member>
  4171. <member name="M:Makaretu.Dns.UnknownRecord.ReadData(Makaretu.Dns.PresentationReader)">
  4172. <inheritdoc />
  4173. </member>
  4174. <member name="M:Makaretu.Dns.UnknownRecord.WriteData(Makaretu.Dns.WireWriter)">
  4175. <inheritdoc />
  4176. </member>
  4177. <member name="T:Makaretu.Dns.UpdateMessage">
  4178. <summary>
  4179. Dynamic updates in the Domain Name System.
  4180. </summary>
  4181. <remarks>
  4182. <para>
  4183. <see href="https://tools.ietf.org/html/rfc2136">RFC 2136</see> allows adding or
  4184. deleting resource records from a specified zone.
  4185. </para>
  4186. <para>
  4187. <see cref="P:Makaretu.Dns.UpdateMessage.Prerequisites"/> are specified separately from
  4188. <see cref="P:Makaretu.Dns.UpdateMessage.Updates">update operations</see>, and can specify a
  4189. dependency upon either the previous existence or nonexistence of an
  4190. RRset, or the existence of a single RR.
  4191. </para>
  4192. <para>
  4193. An update is atomic, i.e., all prerequisites must be satisfied or else
  4194. no update operations will take place. There are no data dependent
  4195. error conditions defined after the prerequisites have been met.
  4196. </para>
  4197. </remarks>
  4198. <seealso href="https://tools.ietf.org/html/rfc2136"/>
  4199. </member>
  4200. <member name="P:Makaretu.Dns.UpdateMessage.Id">
  4201. <summary>
  4202. A 16 bit identifier assigned by the program that
  4203. generates any kind of update.
  4204. </summary>
  4205. <value>
  4206. A unique identifier assigned by the requestor.
  4207. </value>
  4208. <remarks>
  4209. This identifier is copied to
  4210. the corresponding response and can be used by the requestor
  4211. to match up replies to outstanding queries.
  4212. </remarks>
  4213. </member>
  4214. <member name="P:Makaretu.Dns.UpdateMessage.QR">
  4215. <summary>
  4216. Determines if the message is a request or a response.
  4217. </summary>
  4218. <value>
  4219. 0 if the message is a request or 1 if the message is a response.
  4220. </value>
  4221. <seealso cref="P:Makaretu.Dns.UpdateMessage.IsUpdate"/>
  4222. <seealso cref="P:Makaretu.Dns.UpdateMessage.IsResponse"/>
  4223. </member>
  4224. <member name="P:Makaretu.Dns.UpdateMessage.IsUpdate">
  4225. <summary>
  4226. Determines if the message is an update.
  4227. </summary>
  4228. <value>
  4229. <b>true</b> if <see cref="P:Makaretu.Dns.UpdateMessage.QR"/> is <b>false</b>.
  4230. </value>
  4231. </member>
  4232. <member name="P:Makaretu.Dns.UpdateMessage.IsResponse">
  4233. <summary>
  4234. Determines if the message is a response to an update.
  4235. </summary>
  4236. <value>
  4237. <b>true</b> if <see cref="P:Makaretu.Dns.UpdateMessage.QR"/> is <b>true</b>.
  4238. </value>
  4239. </member>
  4240. <member name="P:Makaretu.Dns.UpdateMessage.Opcode">
  4241. <summary>
  4242. The kind of message.
  4243. </summary>
  4244. <value>
  4245. Defaults to <see cref="F:Makaretu.Dns.MessageOperation.Update"/>.
  4246. </value>
  4247. </member>
  4248. <member name="P:Makaretu.Dns.UpdateMessage.Z">
  4249. <summary>
  4250. Reserved for future use. Must be zero in all updates
  4251. and responses.
  4252. </summary>
  4253. <value>
  4254. Must be zero.
  4255. </value>
  4256. </member>
  4257. <member name="P:Makaretu.Dns.UpdateMessage.Status">
  4258. <summary>
  4259. Response code - this 4 bit field is set as part of responses.
  4260. </summary>
  4261. <value>
  4262. One of the <see cref="T:Makaretu.Dns.MessageStatus"/> values.
  4263. </value>
  4264. </member>
  4265. <member name="P:Makaretu.Dns.UpdateMessage.Zone">
  4266. <summary>
  4267. The zone to update.
  4268. </summary>
  4269. <value>
  4270. Defaults to the empty zone. <see cref="P:Makaretu.Dns.Question.Name"/> is <b>null</b>,
  4271. <see cref="P:Makaretu.Dns.Question.Class"/> is <see cref="F:Makaretu.Dns.DnsClass.IN"/> and
  4272. <see cref="P:Makaretu.Dns.Question.Type"/> is SOA (6).
  4273. </value>
  4274. </member>
  4275. <member name="P:Makaretu.Dns.UpdateMessage.Prerequisites">
  4276. <summary>
  4277. Resource records which must (not) preexist.
  4278. </summary>
  4279. <value>
  4280. Defaults to an empty list.
  4281. </value>
  4282. </member>
  4283. <member name="P:Makaretu.Dns.UpdateMessage.Updates">
  4284. <summary>
  4285. Resource records to be added or deleted.
  4286. </summary>
  4287. <value>
  4288. Defaults to an empty list.
  4289. </value>
  4290. </member>
  4291. <member name="P:Makaretu.Dns.UpdateMessage.AdditionalResources">
  4292. <summary>
  4293. The list of additional resource records.
  4294. </summary>
  4295. <value>
  4296. Defaults to an empty list.
  4297. </value>
  4298. <remarks>
  4299. The resources which are related to the update itself, or
  4300. to new resources being added by the update. For example, out of zone glue
  4301. (A RRs referred to by new NS RRs) should be presented here.
  4302. <para>
  4303. The server can use or ignore out of zone glue, at the discretion of the
  4304. server implementor.
  4305. </para>
  4306. </remarks>
  4307. </member>
  4308. <member name="M:Makaretu.Dns.UpdateMessage.CreateResponse">
  4309. <summary>
  4310. Create a response for the update message.
  4311. </summary>
  4312. <returns></returns>
  4313. </member>
  4314. <member name="M:Makaretu.Dns.UpdateMessage.Read(Makaretu.Dns.WireReader)">
  4315. <inheritdoc />
  4316. </member>
  4317. <member name="M:Makaretu.Dns.UpdateMessage.Write(Makaretu.Dns.WireWriter)">
  4318. <inheritdoc />
  4319. </member>
  4320. <member name="T:Makaretu.Dns.UpdatePrerequisiteList">
  4321. <summary>
  4322. Preconditions for a update.
  4323. </summary>
  4324. <remarks>
  4325. The list of <see cref="T:Makaretu.Dns.ResourceRecord">resource records</see> which must be
  4326. satisfied before an <see cref="T:Makaretu.Dns.UpdateMessage"/> can proceed.
  4327. <para>
  4328. <c>MustExist</c> and <c>MustNotExist</c> are convenience methods to create the
  4329. various preconditions.
  4330. </para>
  4331. </remarks>
  4332. <seealso href="https://tools.ietf.org/html/rfc2136"/>
  4333. </member>
  4334. <member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)">
  4335. <summary>
  4336. At least one resource record with the specified name and type must exist
  4337. in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
  4338. </summary>
  4339. <param name="name">A resource name.</param>
  4340. <param name="type">One of the RR TYPE codes.</param>
  4341. <returns>
  4342. The prerequisite list to allow fluent usage.
  4343. </returns>
  4344. <remarks>
  4345. For this prerequisite, a requestor adds to the section a single RR
  4346. whose NAME and TYPE are equal to that of the zone RRset whose
  4347. existence is required. RDLENGTH is zero and RDATA is therefore
  4348. empty. CLASS must be specified as ANY to differentiate this
  4349. condition from that of an actual RR whose RDLENGTH is naturally zero
  4350. (0) (e.g., NULL). TTL is specified as zero(0).
  4351. </remarks>
  4352. </member>
  4353. <member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist(Makaretu.Dns.DomainName)">
  4354. <summary>
  4355. At least one resource record with the specified name must exist
  4356. in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
  4357. </summary>
  4358. <param name="name">A resource name.</param>
  4359. <returns>
  4360. The prerequisite list to allow fluent usage.
  4361. </returns>
  4362. <remarks>
  4363. For this prerequisite, a requestor adds to the section a single RR
  4364. whose NAME is equal to that of the name whose ownership of an RR is
  4365. required. RDLENGTH is zero and RDATA is therefore empty. CLASS must
  4366. be specified as ANY to differentiate this condition from that of an
  4367. actual RR whose RDLENGTH is naturally zero (0) (e.g., NULL). TYPE
  4368. must be specified as ANY to differentiate this case from that of an
  4369. RRset existence test. TTL is specified as zero (0).
  4370. </remarks>
  4371. </member>
  4372. <member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist``1(Makaretu.Dns.DomainName)">
  4373. <summary>
  4374. At least one resource record with the specified name and type must exist
  4375. in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
  4376. </summary>
  4377. <typeparam name="T">
  4378. A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  4379. </typeparam>
  4380. <param name="name">A resource name.</param>
  4381. <returns>
  4382. The prerequisite list to allow fluent usage.
  4383. </returns>
  4384. <remarks>
  4385. For this prerequisite, a requestor adds to the section a single RR
  4386. whose NAME is equal to that of the name whose ownership of an RR is
  4387. required. RDLENGTH is zero and RDATA is therefore empty. CLASS must
  4388. be specified as ANY to differentiate this condition from that of an
  4389. actual RR whose RDLENGTH is naturally zero (0) (e.g., NULL). TYPE
  4390. must be specified as ANY to differentiate this case from that of an
  4391. RRset existence test. TTL is specified as zero (0).
  4392. </remarks>
  4393. </member>
  4394. <member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustExist(Makaretu.Dns.ResourceRecord)">
  4395. <summary>
  4396. A resource record exists with the specified NAME, TYPE and RDATA.
  4397. </summary>
  4398. <param name="resource">A resource record.</param>
  4399. <returns>
  4400. The prerequisite list to allow fluent usage.
  4401. </returns>
  4402. <remarks>
  4403. For this prerequisite, a requestor adds to the section an entire
  4404. RRset whose preexistence is required. NAME and TYPE are that of the
  4405. RRset being denoted. CLASS is that of the zone. TTL must be
  4406. specified as zero (0) and is ignored when comparing RRsets for
  4407. identity.
  4408. </remarks>
  4409. </member>
  4410. <member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustNotExist(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)">
  4411. <summary>
  4412. No resource record with the specified name and type can exist
  4413. in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
  4414. </summary>
  4415. <param name="name">A resource name.</param>
  4416. <param name="type">One of the RR TYPE codes.</param>
  4417. <returns>
  4418. The prerequisite list to allow fluent usage.
  4419. </returns>
  4420. <remarks>
  4421. For this prerequisite, a requestor adds to the section a single RR
  4422. whose NAME and TYPE are equal to that of the RRset whose nonexistence
  4423. is required. The RDLENGTH of this record is zero (0), and RDATA
  4424. field is therefore empty. CLASS must be specified as NONE in order
  4425. to distinguish this condition from a valid RR whose RDLENGTH is
  4426. naturally zero (0) (for example, the NULL RR). TTL must be specified
  4427. as zero(0).
  4428. </remarks>
  4429. </member>
  4430. <member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustNotExist(Makaretu.Dns.DomainName)">
  4431. <summary>
  4432. No resource record with the specified name can exist
  4433. in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
  4434. </summary>
  4435. <param name="name">A resource name.</param>
  4436. <returns>
  4437. The prerequisite list to allow fluent usage.
  4438. </returns>
  4439. <remarks>
  4440. For this prerequisite, a requestor adds to the section a single RR
  4441. whose NAME is equal to that of the name whose nonownership of any RRs
  4442. is required. RDLENGTH is zero and RDATA is therefore empty. CLASS
  4443. must be specified as NONE. TYPE must be specified as ANY. TTL must
  4444. be specified as zero (0).
  4445. </remarks>
  4446. </member>
  4447. <member name="M:Makaretu.Dns.UpdatePrerequisiteList.MustNotExist``1(Makaretu.Dns.DomainName)">
  4448. <summary>
  4449. No resource record with the specified name and type can exist
  4450. in the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
  4451. </summary>
  4452. <typeparam name="T">
  4453. A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  4454. </typeparam>
  4455. <param name="name">A resource name.</param>
  4456. <returns>
  4457. The prerequisite list to allow fluent usage.
  4458. </returns>
  4459. <remarks>
  4460. For this prerequisite, a requestor adds to the section a single RR
  4461. whose NAME and TYPE are equal to that of the RRset whose nonexistence
  4462. is required. The RDLENGTH of this record is zero (0), and RDATA
  4463. field is therefore empty. CLASS must be specified as NONE in order
  4464. to distinguish this condition from a valid RR whose RDLENGTH is
  4465. naturally zero (0) (for example, the NULL RR). TTL must be specified
  4466. as zero(0).
  4467. </remarks>
  4468. </member>
  4469. <member name="T:Makaretu.Dns.UpdateResourceList">
  4470. <summary>
  4471. Resource records to add or delete from the zone.
  4472. </summary>
  4473. <remarks>
  4474. The list of <see cref="T:Makaretu.Dns.ResourceRecord">resource records</see> which are
  4475. adde or deleted from the <see cref="P:Makaretu.Dns.UpdateMessage.Zone"/>.
  4476. <para>
  4477. <c>AddResource</c> and <c>DeleteResource</c> are convenience methods to specify
  4478. the update operations.
  4479. </para>
  4480. </remarks>
  4481. <seealso href="https://tools.ietf.org/html/rfc2136"/>
  4482. </member>
  4483. <member name="M:Makaretu.Dns.UpdateResourceList.AddResource(Makaretu.Dns.ResourceRecord)">
  4484. <summary>
  4485. Add the resource to the zone.
  4486. </summary>
  4487. <param name="resource">
  4488. The <see cref="T:Makaretu.Dns.ResourceRecord"/> to add to the zone.
  4489. </param>
  4490. <returns>
  4491. The update resource list to allow fluent usage.
  4492. </returns>
  4493. <remarks>
  4494. Equivalent to <see cref="M:System.Collections.Generic.List`1.Add(`0)"/>.
  4495. <para>
  4496. A duplicate <see cref="T:Makaretu.Dns.ResourceRecord"/> will be silently ignored by the primary
  4497. master.
  4498. </para>
  4499. </remarks>
  4500. </member>
  4501. <member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.ResourceRecord)">
  4502. <summary>
  4503. Delete the resource record from the zone.
  4504. </summary>
  4505. <param name="resource">
  4506. The <see cref="T:Makaretu.Dns.ResourceRecord"/> to delete from the zone.
  4507. </param>
  4508. <returns>
  4509. The update resource list to allow fluent usage.
  4510. </returns>
  4511. <remarks>
  4512. The NAME, TYPE, RDLENGTH and RDATA must match the RR being deleted.
  4513. TTL must be specified as zero(0) and will otherwise be ignored by the primary
  4514. master. CLASS must be specified as NONE to distinguish this from an
  4515. RR addition.
  4516. <para>
  4517. If no such RRsets exist, then
  4518. this Update RR will be silently ignored by the primary master.
  4519. </para>
  4520. </remarks>
  4521. </member>
  4522. <member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.DomainName)">
  4523. <summary>
  4524. Delete the resource records with the specifified name.
  4525. </summary>
  4526. <param name="name">A resource name.</param>
  4527. <returns>
  4528. The update resource list to allow fluent usage.
  4529. </returns>
  4530. <remarks>
  4531. TYPE must be specified as ANY. TTL must
  4532. be specified as zero(0) and is otherwise not used by the primary
  4533. master. CLASS must be specified as ANY. RDLENGTH must be zero(0)
  4534. and RDATA must therefore be empty.
  4535. <para>
  4536. If no such RRsets exist, then
  4537. this Update RR will be silently ignored by the primary master.
  4538. </para>
  4539. </remarks>
  4540. </member>
  4541. <member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)">
  4542. <summary>
  4543. Delete the resource records with the specifified name and type.
  4544. </summary>
  4545. <param name="name">A resource name.</param>
  4546. <param name="type">One of the RR TYPE codes.</param>
  4547. <returns>
  4548. The update resource list to allow fluent usage.
  4549. </returns>
  4550. <remarks>
  4551. TTL must be specified as zero(0) and is otherwise not used by the primary
  4552. master. CLASS must be specified as ANY. RDLENGTH must be zero(0)
  4553. and RDATA must therefore be empty.
  4554. <para>
  4555. If no such RRsets exist, then
  4556. this Update RR will be silently ignored by the primary master.
  4557. </para>
  4558. </remarks>
  4559. <seealso cref="M:Makaretu.Dns.UpdateResourceList.DeleteResource``1(Makaretu.Dns.DomainName)"/>
  4560. </member>
  4561. <member name="M:Makaretu.Dns.UpdateResourceList.DeleteResource``1(Makaretu.Dns.DomainName)">
  4562. <summary>
  4563. Delete the resource records with the specifified name and type.
  4564. </summary>
  4565. <param name="name">A resource name.</param>
  4566. <typeparam name="T">
  4567. A derived class of <see cref="T:Makaretu.Dns.ResourceRecord"/>.
  4568. </typeparam>
  4569. <returns>
  4570. The update resource list to allow fluent usage.
  4571. </returns>
  4572. <remarks>
  4573. TTL must be specified as zero(0) and is otherwise not used by the primary
  4574. master. CLASS must be specified as ANY. RDLENGTH must be zero(0)
  4575. and RDATA must therefore be empty.
  4576. <para>
  4577. If no such RRsets exist, then
  4578. this Update RR will be silently ignored by the primary master.
  4579. </para>
  4580. </remarks>
  4581. <seealso cref="M:Makaretu.Dns.UpdateResourceList.DeleteResource(Makaretu.Dns.DomainName,Makaretu.Dns.DnsType)"/>
  4582. </member>
  4583. <member name="T:Makaretu.Dns.WireReader">
  4584. <summary>
  4585. Methods to read DNS wire formatted data items.
  4586. </summary>
  4587. </member>
  4588. <member name="F:Makaretu.Dns.WireReader.Position">
  4589. <summary>
  4590. The reader relative position within the stream.
  4591. </summary>
  4592. </member>
  4593. <member name="M:Makaretu.Dns.WireReader.#ctor(System.IO.Stream)">
  4594. <summary>
  4595. Creates a new instance of the <see cref="T:Makaretu.Dns.WireReader"/> on the
  4596. specified <see cref="T:System.IO.Stream"/>.
  4597. </summary>
  4598. <param name="stream">
  4599. The source for data items.
  4600. </param>
  4601. </member>
  4602. <member name="M:Makaretu.Dns.WireReader.ReadByte">
  4603. <summary>
  4604. Read a byte.
  4605. </summary>
  4606. <returns>
  4607. The next byte in the stream.
  4608. </returns>
  4609. <exception cref="T:System.IO.EndOfStreamException">
  4610. When no more data is available.
  4611. </exception>
  4612. </member>
  4613. <member name="M:Makaretu.Dns.WireReader.ReadBytes(System.Int32)">
  4614. <summary>
  4615. Read the specified number of bytes.
  4616. </summary>
  4617. <param name="length">
  4618. The number of bytes to read.
  4619. </param>
  4620. <returns>
  4621. The next <paramref name="length"/> bytes in the stream.
  4622. </returns>
  4623. <exception cref="T:System.IO.EndOfStreamException">
  4624. When no more data is available.
  4625. </exception>
  4626. </member>
  4627. <member name="M:Makaretu.Dns.WireReader.ReadByteLengthPrefixedBytes">
  4628. <summary>
  4629. Read the bytes with a byte length prefix.
  4630. </summary>
  4631. <returns>
  4632. The next N bytes.
  4633. </returns>
  4634. </member>
  4635. <member name="M:Makaretu.Dns.WireReader.ReadUInt16LengthPrefixedBytes">
  4636. <summary>
  4637. Read the bytes with an uint16 length prefix.
  4638. </summary>
  4639. <returns>
  4640. The next N bytes.
  4641. </returns>
  4642. </member>
  4643. <member name="M:Makaretu.Dns.WireReader.ReadUInt16">
  4644. <summary>
  4645. Read an unsigned short.
  4646. </summary>
  4647. <returns>
  4648. The two byte little-endian value as an unsigned short.
  4649. </returns>
  4650. <exception cref="T:System.IO.EndOfStreamException">
  4651. When no more data is available.
  4652. </exception>
  4653. </member>
  4654. <member name="M:Makaretu.Dns.WireReader.ReadUInt32">
  4655. <summary>
  4656. Read an unsigned int.
  4657. </summary>
  4658. <returns>
  4659. The four byte little-endian value as an unsigned int.
  4660. </returns>
  4661. <exception cref="T:System.IO.EndOfStreamException">
  4662. When no more data is available.
  4663. </exception>
  4664. </member>
  4665. <member name="M:Makaretu.Dns.WireReader.ReadUInt48">
  4666. <summary>
  4667. Read an unsigned long from 48 bits.
  4668. </summary>
  4669. <returns>
  4670. The six byte little-endian value as an unsigned long.
  4671. </returns>
  4672. <exception cref="T:System.IO.EndOfStreamException">
  4673. When no more data is available.
  4674. </exception>
  4675. </member>
  4676. <member name="M:Makaretu.Dns.WireReader.ReadDomainName">
  4677. <summary>
  4678. Read a domain name.
  4679. </summary>
  4680. <returns>
  4681. The domain name.
  4682. </returns>
  4683. <exception cref="T:System.IO.EndOfStreamException">
  4684. When no more data is available.
  4685. </exception>
  4686. <exception cref="T:System.IO.InvalidDataException">
  4687. Only ASCII characters are allowed.
  4688. </exception>
  4689. <remarks>
  4690. A domain name is represented as a sequence of labels, where
  4691. each label consists of a length octet followed by that
  4692. number of octets. The domain name terminates with the
  4693. zero length octet for the null label of the root.
  4694. <note>
  4695. Compressed domain names are also supported.
  4696. </note>
  4697. </remarks>
  4698. </member>
  4699. <member name="M:Makaretu.Dns.WireReader.ReadString">
  4700. <summary>
  4701. Read a string.
  4702. </summary>
  4703. <remarks>
  4704. Strings are encoded with a length prefixed byte. All strings are ASCII.
  4705. </remarks>
  4706. <returns>
  4707. The string.
  4708. </returns>
  4709. <exception cref="T:System.IO.EndOfStreamException">
  4710. When no more data is available.
  4711. </exception>
  4712. <exception cref="T:System.IO.InvalidDataException">
  4713. Only ASCII characters are allowed.
  4714. </exception>
  4715. </member>
  4716. <member name="M:Makaretu.Dns.WireReader.ReadTimeSpan16">
  4717. <summary>
  4718. Read a time span (interval) with 16-bits.
  4719. </summary>
  4720. <returns>
  4721. A <see cref="T:System.TimeSpan"/> with second resolution.
  4722. </returns>
  4723. <exception cref="T:System.IO.EndOfStreamException">
  4724. When no more data is available.
  4725. </exception>
  4726. <remarks>
  4727. The interval is represented as the number of seconds in two bytes.
  4728. </remarks>
  4729. </member>
  4730. <member name="M:Makaretu.Dns.WireReader.ReadTimeSpan32">
  4731. <summary>
  4732. Read a time span (interval) with 32-bits.
  4733. </summary>
  4734. <returns>
  4735. A <see cref="T:System.TimeSpan"/> with second resolution.
  4736. </returns>
  4737. <exception cref="T:System.IO.EndOfStreamException">
  4738. When no more data is available.
  4739. </exception>
  4740. <remarks>
  4741. The interval is represented as the number of seconds in four bytes.
  4742. </remarks>
  4743. </member>
  4744. <member name="M:Makaretu.Dns.WireReader.ReadIPAddress(System.Int32)">
  4745. <summary>
  4746. Read an Internet address.
  4747. </summary>
  4748. <returns>
  4749. An <see cref="T:System.Net.IPAddress"/>.
  4750. </returns>
  4751. <exception cref="T:System.IO.EndOfStreamException">
  4752. When no more data is available.
  4753. </exception>
  4754. <remarks>
  4755. Use a <paramref name="length"/> of 4 to read an IPv4 address and
  4756. 16 to read an IPv6 address.
  4757. </remarks>
  4758. </member>
  4759. <member name="M:Makaretu.Dns.WireReader.ReadBitmap">
  4760. <summary>
  4761. Reads a bitmap.
  4762. </summary>
  4763. <returns>
  4764. The sequence of values encoded by the bitmap.
  4765. </returns>
  4766. <remarks>
  4767. <see href="https://tools.ietf.org/html/rfc3845#section-2.1.2"/> for the
  4768. encoding details.
  4769. </remarks>
  4770. </member>
  4771. <member name="M:Makaretu.Dns.WireReader.ReadDateTime32">
  4772. <summary>
  4773. Read a <see cref="T:System.DateTime"/> that is represented in
  4774. seconds (32 bits) from the Unix epoch.
  4775. </summary>
  4776. <returns>
  4777. A <see cref="T:System.DateTime"/> in <see cref="F:System.DateTimeKind.Utc"/>.
  4778. </returns>
  4779. <exception cref="T:System.IO.EndOfStreamException">
  4780. When no more data is available.
  4781. </exception>
  4782. </member>
  4783. <member name="M:Makaretu.Dns.WireReader.ReadDateTime48">
  4784. <summary>
  4785. Read a <see cref="T:System.DateTime"/> that is represented in
  4786. seconds (48 bits) from the Unix epoch.
  4787. </summary>
  4788. <returns>
  4789. A <see cref="T:System.DateTime"/> in <see cref="F:System.DateTimeKind.Utc"/>.
  4790. </returns>
  4791. <exception cref="T:System.IO.EndOfStreamException">
  4792. When no more data is available.
  4793. </exception>
  4794. </member>
  4795. <member name="T:Makaretu.Dns.WireWriter">
  4796. <summary>
  4797. Methods to write DNS wire formatted data items.
  4798. </summary>
  4799. </member>
  4800. <member name="F:Makaretu.Dns.WireWriter.Position">
  4801. <summary>
  4802. The writer relative position within the stream.
  4803. </summary>
  4804. </member>
  4805. <member name="M:Makaretu.Dns.WireWriter.#ctor(System.IO.Stream)">
  4806. <summary>
  4807. Creates a new instance of the <see cref="T:Makaretu.Dns.WireWriter"/> on the
  4808. specified <see cref="T:System.IO.Stream"/>.
  4809. </summary>
  4810. <param name="stream">
  4811. The destination for data items.
  4812. </param>
  4813. </member>
  4814. <member name="P:Makaretu.Dns.WireWriter.CanonicalForm">
  4815. <summary>
  4816. Determines if canonical records are produced.
  4817. </summary>
  4818. <value>
  4819. <b>true</b> to produce canonical records; otherwise <b>false</b>.
  4820. Defaults to false.
  4821. </value>
  4822. <remarks>
  4823. When enabled, the following rules are applied
  4824. <list type="bullet">
  4825. <item><description>Domain names are uncompressed</description></item>
  4826. <item><description>Domain names are converted to US-ASCII lowercase</description></item>
  4827. </list>
  4828. </remarks>
  4829. <seealso href="https://tools.ietf.org/html/rfc4034#section-6.2"/>
  4830. </member>
  4831. <member name="M:Makaretu.Dns.WireWriter.PushLengthPrefixedScope">
  4832. <summary>
  4833. Start a length prefixed stream.
  4834. </summary>
  4835. <remarks>
  4836. A memory stream is created for writing. When it is popped,
  4837. the memory stream's position is writen as an UInt16 and its
  4838. contents are copied to the current stream.
  4839. </remarks>
  4840. </member>
  4841. <member name="M:Makaretu.Dns.WireWriter.PopLengthPrefixedScope">
  4842. <summary>
  4843. Start a length prefixed stream.
  4844. </summary>
  4845. <remarks>
  4846. A memory stream is created for writing. When it is popped,
  4847. the memory stream's position is writen as an UInt16 and its
  4848. contents are copied to the current stream.
  4849. </remarks>
  4850. </member>
  4851. <member name="M:Makaretu.Dns.WireWriter.WriteByte(System.Byte)">
  4852. <summary>
  4853. Write a byte.
  4854. </summary>
  4855. </member>
  4856. <member name="M:Makaretu.Dns.WireWriter.WriteBytes(System.Byte[])">
  4857. <summary>
  4858. Write a sequence of bytes.
  4859. </summary>
  4860. <param name="bytes">
  4861. A sequence of bytes to write.
  4862. </param>
  4863. </member>
  4864. <member name="M:Makaretu.Dns.WireWriter.WriteByteLengthPrefixedBytes(System.Byte[])">
  4865. <summary>
  4866. Write a sequence of bytes prefixed with the length as a byte.
  4867. </summary>
  4868. <param name="bytes">
  4869. A sequence of bytes to write.
  4870. </param>
  4871. <exception cref="T:System.ArgumentException">
  4872. When the length is greater than <see cref="F:System.Byte.MaxValue"/>.
  4873. </exception>
  4874. </member>
  4875. <member name="M:Makaretu.Dns.WireWriter.WriteUint16LengthPrefixedBytes(System.Byte[])">
  4876. <summary>
  4877. Write a sequence of bytes prefixed with the length as a unint16.
  4878. </summary>
  4879. <param name="bytes">
  4880. A sequence of bytes to write.
  4881. </param>
  4882. <exception cref="T:System.ArgumentException">
  4883. When the length is greater than <see cref="F:System.UInt16.MaxValue"/>.
  4884. </exception>
  4885. </member>
  4886. <member name="M:Makaretu.Dns.WireWriter.WriteUInt16(System.UInt16)">
  4887. <summary>
  4888. Write an unsigned short.
  4889. </summary>
  4890. </member>
  4891. <member name="M:Makaretu.Dns.WireWriter.WriteUInt32(System.UInt32)">
  4892. <summary>
  4893. Write an unsigned int.
  4894. </summary>
  4895. </member>
  4896. <member name="M:Makaretu.Dns.WireWriter.WriteUInt48(System.UInt64)">
  4897. <summary>
  4898. Write an unsigned long in 48 bits.
  4899. </summary>
  4900. </member>
  4901. <member name="M:Makaretu.Dns.WireWriter.WriteDomainName(System.String,System.Boolean)">
  4902. <summary>
  4903. Write a domain name.
  4904. </summary>
  4905. <param name="name">
  4906. The name to write.
  4907. </param>
  4908. <param name="uncompressed">
  4909. Determines if the <paramref name="name"/> must be uncompressed. The
  4910. defaultl is false (allow compression).
  4911. <see cref="P:Makaretu.Dns.WireWriter.CanonicalForm"/> overrides this value.
  4912. </param>
  4913. <exception cref="T:System.ArgumentException">
  4914. When a label length is greater than 63 octets.
  4915. </exception>
  4916. <remarks>
  4917. A domain name is represented as a sequence of labels, where
  4918. each label consists of a length octet followed by that
  4919. number of octets.The domain name terminates with the
  4920. zero length octet for the null label of the root. Note
  4921. that this field may be an odd number of octets; no
  4922. padding is used.
  4923. </remarks>
  4924. </member>
  4925. <member name="M:Makaretu.Dns.WireWriter.WriteDomainName(Makaretu.Dns.DomainName,System.Boolean)">
  4926. <summary>
  4927. Write a domain name.
  4928. </summary>
  4929. <param name="name">
  4930. The name to write.
  4931. </param>
  4932. <param name="uncompressed">
  4933. Determines if the <paramref name="name"/> must be uncompressed. The
  4934. defaultl is false (allow compression).
  4935. <see cref="P:Makaretu.Dns.WireWriter.CanonicalForm"/> overrides this value.
  4936. </param>
  4937. <exception cref="T:System.ArgumentException">
  4938. When a label length is greater than 63 octets.
  4939. </exception>
  4940. <remarks>
  4941. A domain name is represented as a sequence of labels, where
  4942. each label consists of a length octet followed by that
  4943. number of octets.The domain name terminates with the
  4944. zero length octet for the null label of the root. Note
  4945. that this field may be an odd number of octets; no
  4946. padding is used.
  4947. </remarks>
  4948. </member>
  4949. <member name="M:Makaretu.Dns.WireWriter.WriteString(System.String)">
  4950. <summary>
  4951. Write a string.
  4952. </summary>
  4953. <exception cref="T:System.ArgumentException">
  4954. When the length is greater than <see cref="F:System.Byte.MaxValue"/> or
  4955. the string is not ASCII.
  4956. </exception>
  4957. <remarks>
  4958. Strings are encoded with a length prefixed byte. All strings must be
  4959. ASCII.
  4960. </remarks>
  4961. </member>
  4962. <member name="M:Makaretu.Dns.WireWriter.WriteTimeSpan16(System.TimeSpan)">
  4963. <summary>
  4964. Write a time span with 16-bits.
  4965. </summary>
  4966. <param name="value">
  4967. The number of non-negative seconds.
  4968. </param>
  4969. <remarks>
  4970. The interval is represented as the number of seconds in two bytes.
  4971. </remarks>
  4972. </member>
  4973. <member name="M:Makaretu.Dns.WireWriter.WriteTimeSpan32(System.TimeSpan)">
  4974. <summary>
  4975. Write a time span with 32-bits.
  4976. </summary>
  4977. <param name="value">
  4978. The number of non-negative seconds.
  4979. </param>
  4980. <remarks>
  4981. The interval is represented as the number of seconds in four bytes.
  4982. </remarks>
  4983. </member>
  4984. <member name="M:Makaretu.Dns.WireWriter.WriteDateTime32(System.DateTime)">
  4985. <summary>
  4986. Write a date/time.
  4987. </summary>
  4988. <param name="value">
  4989. The <see cref="T:System.DateTime"/> in UTC to write.
  4990. </param>
  4991. <exception cref="T:System.OverflowException">
  4992. <paramref name="value"/> seconds cannot be represented
  4993. in 32 bits.
  4994. </exception>
  4995. <remarks>
  4996. Write the <paramref name="value"/> as the number seconds
  4997. since the Unix epoch. The seconds is represented as 32-bit
  4998. unsigned int
  4999. </remarks>
  5000. </member>
  5001. <member name="M:Makaretu.Dns.WireWriter.WriteDateTime48(System.DateTime)">
  5002. <summary>
  5003. Write a date/time.
  5004. </summary>
  5005. <param name="value">
  5006. The <see cref="T:System.DateTime"/> in UTC to write.
  5007. </param>
  5008. <exception cref="T:System.OverflowException">
  5009. <paramref name="value"/> seconds cannot be represented
  5010. in 48 bits.
  5011. </exception>
  5012. <remarks>
  5013. Write the <paramref name="value"/> as the number seconds
  5014. since the Unix epoch. The seconds is represented as 48-bit
  5015. unsigned int
  5016. </remarks>
  5017. </member>
  5018. <member name="M:Makaretu.Dns.WireWriter.WriteIPAddress(System.Net.IPAddress)">
  5019. <summary>
  5020. Write an IP address.
  5021. </summary>
  5022. <param name="value"></param>
  5023. </member>
  5024. <member name="M:Makaretu.Dns.WireWriter.WriteBitmap(System.Collections.Generic.IEnumerable{System.UInt16})">
  5025. <summary>
  5026. Write the bitmap(s) for the values.
  5027. </summary>
  5028. <param name="values">
  5029. The sequence of values to encode into a bitmap.
  5030. </param>
  5031. </member>
  5032. </members>
  5033. </doc>