public DNSLookupContinuation onDNSResponse()

in resolver/src/main/java/org/apache/james/jspf/core/MacroExpand.java [130:155]


        public DNSLookupContinuation onDNSResponse(DNSResponse response, SPFSession session)
                throws PermErrorException, NoneException, TempErrorException,
                NeutralException {

            try {
                boolean ip6 = IPAddr.isIPV6(session.getIpAddress());
                List<String> records = response.getResponse();

                if (records != null && records.size() > 0) {
                    String record = records.get(0);
                    session.setAttribute(ATTRIBUTE_MACRO_EXPAND_CHECKED_RECORD,
                            record);

                    return new DNSLookupContinuation(new DNSRequest(record,
                            ip6 ? DNSRequest.AAAA : DNSRequest.A), 
                            new AResponseListener());

                }
            } catch (TimeoutException e) {
                // just return the default "unknown".
            }
                    
            session.setClientDomain("unknown");        
            return null;

        }