Versions in this module Expand all Collapse all v2 v2.1.0 Nov 19, 2020 Changes in this version + const HostnameMaxLen + const LabelMaxlen + const MaxCachedChunks + const TypeSocketAce + var DotRegex = regexp.MustCompile("\\.") + var DownloadCodecCheck = []byte(...) + var ErrCaseSwap = errors.New("case swap, no need for any further test") + var ErrDeadlineExceeded = errors.New("deadline exceeded") + var ErrInvalidSequenceNumber = errors.New("invalid chunk sequence") + var ErrStreamBroken = errors.New("stream broken") + var ErrTooLong = errors.New("token too long") + var QueryTypeA = dnsmessage.TypeA + var QueryTypeAAAA = dnsmessage.TypeAAAA + var QueryTypeCname = dnsmessage.TypeCNAME + var QueryTypeMx = dnsmessage.TypeMX + var QueryTypeNull = dnsmessage.Type(10) + var QueryTypePrivate = dnsmessage.Type(65000) + var QueryTypeSrv = dnsmessage.TypeSRV + var QueryTypeTxt = dnsmessage.TypeTXT + var QueryTypesByPriority = QueryTypes + func Dotify(buf []byte) (res []byte) + func GetLongestDataString(domain string) int + func NewSocketAcePrivate() dns.PrivateRdata + func PrepareHostname(data []byte, domain string) ([]byte, error) + func TypePriority(rr dns.RR) uint32 + func Undotify(buf string) string + func UnwrapDnsResponse(q *dns.Msg, domain string) []byte + func WrapDnsResponse(msg *dns.Msg, data []byte, queryType dnsmessage.Type, domain string) error + func WrapDnsResponseA(msg *dns.Msg, data []byte, domain string) error + func WrapDnsResponseAAAA(msg *dns.Msg, data []byte, domain string) error + func WrapDnsResponseCname(msg *dns.Msg, data []byte, domain string) error + func WrapDnsResponseMx(msg *dns.Msg, data []byte, domain string) error + func WrapDnsResponseNull(msg *dns.Msg, data []byte, domain string) error + func WrapDnsResponsePrivate(msg *dns.Msg, data []byte, domain string) error + func WrapDnsResponseSrv(msg *dns.Msg, data []byte, domain string) error + func WrapDnsResponseTxt(msg *dns.Msg, data []byte, domain string) error + type DownstreamConfig struct + Encoder enc.Encoder + FragmentSize uint32 + type InQueue struct + NextSeqNo uint16 + func (q *InQueue) Append(val *Packet) error + func (q *InQueue) HasData() bool + func (q *InQueue) Read(p []byte) (n int, err error) + func (q *InQueue) SetReadDeadline(t time.Time) error + type OutQueue struct + NextSeqNo uint16 + OnChunkAdded func() error + func (q *OutQueue) NextChunk() *Packet + func (q *OutQueue) SetWriteDeadline(t time.Time) error + func (q *OutQueue) UpdateAcked(seqNo uint16) + func (q *OutQueue) Write(b []byte, mtu uint32) (n int, err error) + type Packet struct + Data []byte + SeqNo uint16 + type QueryTypes []dnsmessage.Type + func (qt QueryTypes) Before(q1, q2 dnsmessage.Type) bool + type SocketAcePrivate struct + Data []byte + func (rd *SocketAcePrivate) Copy(dest dns.PrivateRdata) error + func (rd *SocketAcePrivate) Len() int + func (rd *SocketAcePrivate) Pack(buf []byte) (int, error) + func (rd *SocketAcePrivate) Parse(txt []string) error + func (rd *SocketAcePrivate) String() string + func (rd *SocketAcePrivate) Unpack(buf []byte) (int, error) + type UpstreamConfig struct + Encoder enc.Encoder + FragmentSize uint32 + QueryType *dnsmessage.Type