Class SMessage

java.lang.Object
org.jitsi.dnssec.SMessage

public class SMessage extends Object
This class represents a DNS message with validator state and some utility methods.
Author:
davidb
  • Constructor Summary

    Constructors
    Constructor
    Description
    SMessage(int id, org.xbill.DNS.Record question)
    Creates a new instance of this class.
    SMessage(org.xbill.DNS.Header h)
    Creates a instance of this class.
    SMessage(org.xbill.DNS.Message m)
    Creates a new instance of this class.
  • Method Summary

    Modifier and Type
    Method
    Description
    findAnswerRRset(org.xbill.DNS.Name qname, int qtype, int qclass)
    Find an "answer" RRset.
    findRRset(org.xbill.DNS.Name name, int type, int dclass, int section)
    Find a specific (S)RRset in a given section.
    Gets the reason why this messages' status is bogus.
    int
    getCount(int section)
    Gets the number of records.
    org.xbill.DNS.Header
    Gets the header of this message.
    org.xbill.DNS.Message
    Gets this message as a standard DNSJAVA message.
    org.xbill.DNS.Record
    Gets the question section of this message.
    int
    Gets the result code of the response message.
    getSectionRRsets(int section)
    Gets signed RRsets for the queried section.
    getSectionRRsets(int section, int qtype)
    Gets signed RRsets for the queried section.
    Gets the security status of this message.
    void
    setBogus(String reason)
    Sets the security status of this message to bogus and sets the reason.
    void
    Sets the security status for this message.
    void
    setStatus(SecurityStatus status, String reason)
    Sets the security status for this message.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SMessage

      public SMessage(org.xbill.DNS.Header h)
      Creates a instance of this class.
      Parameters:
      h - The header of the original message.
    • SMessage

      public SMessage(int id, org.xbill.DNS.Record question)
      Creates a new instance of this class.
      Parameters:
      id - The ID of the DNS query or response message.
      question - The question section of the query or response.
    • SMessage

      public SMessage(org.xbill.DNS.Message m)
      Creates a new instance of this class.
      Parameters:
      m - The DNS message to wrap.
  • Method Details

    • getHeader

      public org.xbill.DNS.Header getHeader()
      Gets the header of this message.
      Returns:
      The header of this message.
    • getQuestion

      public org.xbill.DNS.Record getQuestion()
      Gets the question section of this message.
      Returns:
      The question section of this message.
    • getSectionRRsets

      public List<SRRset> getSectionRRsets(int section)
      Gets signed RRsets for the queried section.
      Parameters:
      section - The section whose RRsets are demanded.
      Returns:
      Signed RRsets for the queried section.
    • getSectionRRsets

      public SRRset[] getSectionRRsets(int section, int qtype)
      Gets signed RRsets for the queried section.
      Parameters:
      section - The section whose RRsets are demanded.
      qtype - Filter the results for these record types.
      Returns:
      Signed RRsets for the queried section.
    • getRcode

      public int getRcode()
      Gets the result code of the response message.
      Returns:
      The result code of the response message.
    • getStatus

      public SecurityStatus getStatus()
      Gets the security status of this message.
      Returns:
      The security status of this message.
    • setStatus

      public void setStatus(SecurityStatus status)
      Sets the security status for this message.
      Parameters:
      status - the new security status for this message.
    • setStatus

      public void setStatus(SecurityStatus status, String reason)
      Sets the security status for this message.
      Parameters:
      status - the new security status for this message.
      reason - Why this message's status is set as indicated.
    • getBogusReason

      public String getBogusReason()
      Gets the reason why this messages' status is bogus.
      Returns:
      The reason why this messages' status is bogus.
    • setBogus

      public void setBogus(String reason)
      Sets the security status of this message to bogus and sets the reason.
      Parameters:
      reason - Why this message's status is bogus.
    • getMessage

      public org.xbill.DNS.Message getMessage()
      Gets this message as a standard DNSJAVA message.
      Returns:
      This message as a standard DNSJAVA message.
    • getCount

      public int getCount(int section)
      Gets the number of records.
      Parameters:
      section - The section for which the records are counted.
      Returns:
      The number of records for the queried section.
    • findRRset

      public SRRset findRRset(org.xbill.DNS.Name name, int type, int dclass, int section)
      Find a specific (S)RRset in a given section.
      Parameters:
      name - the name of the RRset.
      type - the type of the RRset.
      dclass - the class of the RRset.
      section - the section to look in (ANSWER to ADDITIONAL)
      Returns:
      The SRRset if found, null otherwise.
    • findAnswerRRset

      public SRRset findAnswerRRset(org.xbill.DNS.Name qname, int qtype, int qclass)
      Find an "answer" RRset. This will look for RRsets in the ANSWER section that match the <qname,qtype,qclass>, without considering CNAMEs.
      Parameters:
      qname - The starting search name.
      qtype - The search type.
      qclass - The search class.
      Returns:
      a SRRset matching the query.