Changeset 155

Show
Ignore:
Timestamp:
12/20/06 18:44:51 (2 years ago)
Author:
jfp
Message:

Fix dns resolution

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/RemoteSmtpSender.java

    r141 r155  
    7171        log.info("delivering mail from " + in.getFrom().toString() + " to domain " + domain); 
    7272         
    73         // Query DNS, for each DNS try send message. 
     73         
    7474        IDNSResolver resolver = PluginStore.getInstance().getResolver(); 
    7575        List smtpServers = resolver.doMXLookup(domain); 
     76         
     77        for (Inet4Address addr : bogusDNS) { 
     78            if (smtpServers.contains(addr)) { 
     79                log.warn("Bogus dns removed: ("+addr.toString()+")"); 
     80                smtpServers.remove(addr); 
     81            }      
     82        } 
     83         
    7684        if (smtpServers.size() == 0) { 
    77             log.warn("Can't deliver to domain" + domain + ", dns query reported 0 results."); 
     85            log.warn("Can't deliver to domain" + domain + ", dns query reported 0 valid results."); 
    7886            // Mark all rcpt as error fatal 
    7987            for (Iterator iterator = rcpts.iterator(); iterator.hasNext();) { 
     
    8795        for (Iterator iter = smtpServers.iterator(); iter.hasNext();) { 
    8896            InetAddress element = (InetAddress) iter.next(); 
    89             for (Inet4Address addr : bogusDNS) { 
    90                 if (addr.equals(element)) { 
    91                     log.warn("this DNS resolution won't be used ("+element.toString()+")"); 
    92                     continue; 
    93                 }      
    94             } 
    95             // TODO: check against ACL ? 
    9697             
    9798            log.debug("trying " + element.toString());