Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Network.DNS.Decode.Parsers
Synopsis
- getResponse :: SGet DNSMessage
- getDNSFlags :: SGet DNSFlags
- getHeader :: SGet DNSHeader
- getResourceRecord :: SGet ResourceRecord
- getResourceRecords :: Int -> SGet [ResourceRecord]
- getDomain :: SGet Domain
- getMailbox :: SGet Mailbox
Documentation
getResponse :: SGet DNSMessage Source #
getDNSFlags :: SGet DNSFlags Source #
getResourceRecord :: SGet ResourceRecord Source #
getResourceRecords :: Int -> SGet [ResourceRecord] Source #
getDomain :: SGet Domain Source #
Pointers MUST point back into the packet per RFC1035 Section 4.1.4. This
is further interpreted by the DNS community (from a discussion on the IETF
DNSOP mailing list) to mean that they don't point back into the same domain.
Therefore, when starting to parse a domain, the current offset is also a
strict upper bound on the targets of any pointers that arise while processing
the domain. When following a pointer, the target again becomes a stict upper
bound for any subsequent pointers. This results in a simple loop-prevention
algorithm, each sequence of valid pointer values is necessarily strictly
decreasing! The third argument to getDomain'
is a strict pointer upper
bound, and is set here to the position at the start of parsing the domain
or mailbox.
Note: the separator passed to getDomain'
is required to be either '.' or
'@', or else unparseLabel
needs to be modified to handle the new value.
getMailbox :: SGet Mailbox Source #