1// OpenRDAP 2// Copyright 2017 Tom Harwood 3// MIT License, see the LICENSE file. 4 5package rdap 6 7// Domain represents information about a DNS name and point of delegation. 8// 9// Domain is a topmost RDAP response object. 10type Domain struct { 11 DecodeData *DecodeData 12 13 Common 14 Conformance []string `rdap:"rdapConformance"` 15 ObjectClassName string 16 17 Notices []Notice 18 19 Handle string 20 LDHName string `rdap:"ldhName"` 21 UnicodeName string 22 23 Variants []Variant 24 25 Nameservers []Nameserver 26 27 SecureDNS *SecureDNS 28 29 Entities []Entity 30 Status []string 31 32 PublicIDs []PublicID `rdap:"publicIds"` 33 Remarks []Remark 34 Links []Link 35 Port43 string 36 Events []Event 37 Network *IPNetwork 38} 39 40// Variant is a subfield of Domain. 41type Variant struct { 42 DecodeData *DecodeData 43 44 Common 45 Relation []string 46 IDNTable string `rdap:"idnTable"` 47 VariantNames []VariantName 48} 49 50// VariantName is a subfield of Variant. 51type VariantName struct { 52 DecodeData *DecodeData 53 54 Common 55 LDHName string `rdap:"ldhName"` 56 UnicodeName string 57} 58 59// SecureDNS is ia subfield of Domain. 60type SecureDNS struct { 61 DecodeData *DecodeData 62 63 Common 64 ZoneSigned *bool 65 DelegationSigned *bool 66 MaxSigLife *uint64 67 DS []DSData `rdap:"dsData"` 68 Keys []KeyData `rdap:"keyData"` 69} 70 71// DSData is a subfield of Domain. 72type DSData struct { 73 DecodeData *DecodeData 74 75 Common 76 KeyTag *uint64 77 Algorithm *uint8 78 Digest string 79 DigestType *uint8 80 81 Events []Event 82 Links []Link 83} 84 85type KeyData struct { 86 DecodeData *DecodeData 87 88 Flags *uint16 89 Protocol *uint8 90 Algorithm *uint8 91 PublicKey string 92 93 Events []Event 94 Links []Link 95} 96