git.fiddlerwoaroof.com
Browse code

2002-06-17 Kevin Layer <layer@crikey>

layer authored on 17/06/2002 19:41:42
Showing 2 changed files
... ...
@@ -1,3 +1,8 @@
1
+2002-06-17  Kevin Layer  <layer@crikey>
2
+
3
+	* smtp.cl: fix typo in error message; fix from jkf that never got
4
+	committed regarding dns lookups of mx host
5
+
1 6
 2002-02-11  John Foderaro  <jkf@tiger.franz.com>
2 7
 
3 8
 	* imap.cl: fix parse-mail-header to handle valueless header lines
... ...
@@ -23,7 +23,7 @@
23 23
 ;; Suite 330, Boston, MA  02111-1307  USA
24 24
 ;;
25 25
 ;;
26
-;; $Id: smtp.cl,v 1.5 2001/08/10 15:00:59 jkf Exp $
26
+;; $Id: smtp.cl,v 1.6 2002/06/17 19:41:42 layer Exp $
27 27
 
28 28
 ;; Description:
29 29
 ;;   send mail to an smtp server.  See rfc821 for the spec.
... ...
@@ -253,7 +253,7 @@
253 253
 	(ok))
254 254
     
255 255
     (if* (null ipaddr)
256
-       then (error "Can't determine ip addres for mail server ~s" server))
256
+       then (error "Can't determine ip address for mail server ~s" server))
257 257
     
258 258
     (setq sock (socket:make-socket :remote-host ipaddr
259 259
 				   :remote-port 25  ; smtp
... ...
@@ -470,9 +470,18 @@
470 470
 	    (if* (or (eq socket:*dns-mode* :acldns)
471 471
 		     (member :acldns socket:*dns-mode* :test #'eq))
472 472
 	       then (let ((res (socket:dns-query name :type :mx)))
473
-		      (if* (and res (consp res))
473
+		      (if* (and (consp res) (cadr res))
474 474
 			 then (cadr res) ; the ip address
475
-			 else (socket:dns-query name :type :a)))
475
+			 else (dolist (suffix socket::*domain-search-list*
476
+					(socket:dns-lookup-hostname name))
477
+				(declare (special socket:*domain-search-list*))
478
+				(let ((name 
479
+				       (concatenate 'string name "." suffix)))
480
+				  (setq res (socket:dns-query name :type :mx))
481
+				  (if* (and res (cadr res))
482
+				     then (return (cadr res)))))))
483
+			      
484
+			      
476 485
 	       else ; just do a hostname lookup
477 486
 		    (ignore-errors (socket:lookup-hostname name))))))
478 487