Browse code
2002-06-17 Kevin Layer <layer@crikey>
layer authored on 17/06/2002 19:41:42
Showing 2 changed files
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 |
|