Package org.xbill.DNS

Examples of org.xbill.DNS.Record


        else {
            getLogger().debug(new StringBuffer(256)
                             .append("Looking up MX record for ")
                             .append(name)
                             .toString());
            Record question = Record.newRecord(name, type, dclass);
            Message query = Message.newQuery(question);
            Message response = null;

            try {
                response = resolver.send(query);
View Full Code Here


        answers = new Record[answerCount];

        for (int i = 0; i < rrsets.length; i++) {
            Iterator iter = rrsets[i].rrs();
            while (iter.hasNext()) {
                Record r = (Record)iter.next();
                answers[n++] = r;
            }
        }
        return answers;
    }
View Full Code Here

     * @param hostname domain name to look up
     *
     * @return a list of MX records corresponding to this mail domain
     */
    public List findMXRecordsRaw(String hostname) {
        Record answers[] = lookup(hostname, Type.MX);
        List servers = new ArrayList();
        if (answers == null) {
            return servers;
        }

View Full Code Here

                    new StringBuffer(128)
                            .append("Couldn't resolve MX records for domain ")
                            .append(hostname)
                            .append(".");
                getLogger().info(logBuffer.toString());
                Record cnames[] = lookup(hostname, Type.CNAME);
                Collection cnameMXrecords = null;
                if (cnames!=null && cnames.length > 0) {
                    cnameMXrecords = findMXRecordsRaw(((CNAMERecord) cnames[0]).getTarget().toString());
                } else {
                    logBuffer = new StringBuffer(128)
View Full Code Here

        else {
            getLogger().debug(new StringBuffer(256)
                             .append("Looking up MX record for ")
                             .append(name)
                             .toString());
            Record question = Record.newRecord(name, type, dclass);
            Message query = Message.newQuery(question);
            Message response = null;

            try {
                response = resolver.send(query);
View Full Code Here

        answers = new Record[answerCount];

        for (int i = 0; i < rrsets.length; i++) {
            Iterator iter = rrsets[i].rrs();
            while (iter.hasNext()) {
                Record r = (Record)iter.next();
                answers[n++] = r;
            }
        }
        return answers;
    }
View Full Code Here

        getLogger().info("DNSServer ...init end");
    }

    public Collection findMXRecords(String hostname) {
        Record answers[] = lookup(hostname, Type.MX);

        Collection servers = new Vector ();
        try {
            if (answers == null) {
                return servers;
View Full Code Here

            answers = new Record[answerCount];

            for (int i = 0; i < rrsets.length; i++) {
                e = rrsets[i].rrs();
                while (e.hasMoreElements()) {
                    Record r = (Record)e.nextElement();
                    answers[n++] = r;
                }
            }
        }
        else if (cached.isNXDOMAIN() || cached.isNXRRSET()) {
            return null;
        }
        else if (querysent) {
            return null;
        }
        else {
            Record question = Record.newRecord(name, type, dclass);
            org.xbill.DNS.Message query = org.xbill.DNS.Message.newQuery(question);
            org.xbill.DNS.Message response;

            try {
                response = resolver.send(query);
View Full Code Here

  public boolean handle(MessageWrapper request, MessageWrapper response) {
    response.getMessage().getHeader().setFlag(Flags.QR);
    if (request.getMessage().getHeader().getFlag(Flags.RD)) {
      response.getMessage().getHeader().setFlag(Flags.RD);
    }
    Record queryRecord = request.getMessage().getQuestion();
    response.getMessage().addRecord(queryRecord, Section.QUESTION);
    return true;
  }
View Full Code Here

     * @see us.codecraft.blackhole.server.Handler#handle(org.xbill.DNS.Message,
     * org.xbill.DNS.Message)
     */
    @Override
    public boolean handle(MessageWrapper request, MessageWrapper response) {
        Record question = request.getMessage().getQuestion();
        String query = question.getName().toString();
        int type = question.getType();
        if (type == Type.PTR) {
            query = filterPTRQuery(query);
        }
        // some client will query with any
        if (type == Type.ANY) {
            type = Type.A;
        }
        if (logger.isDebugEnabled()) {
            logger.debug("query \t" + Type.string(type) + "\t"
                    + DClass.string(question.getDClass()) + "\t" + query);
        }
        for (AnswerProvider answerProvider : getaAnswerProviders()) {
            String answer = answerProvider.getAnswer(query, type);
            if (answer != null) {
                try {
                    Record record = new RecordBuilder()
                            .dclass(question.getDClass())
                            .name(question.getName()).answer(answer).type(type)
                            .toRecord();
                    response.getMessage().addRecord(record, Section.ANSWER);
                    if (logger.isDebugEnabled()) {
View Full Code Here

TOP

Related Classes of org.xbill.DNS.Record

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.