projects
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Installed exipick 20050225.0 from John Jetmore.
[exim.git]
/
src
/
src
/
dns.c
diff --git
a/src/src/dns.c
b/src/src/dns.c
index a5a154741aab2454185370f9af4d28f92ea78b4f..ae5515c224618d61e5e4231e9b8bc2b740e9fba3 100644
(file)
--- a/
src/src/dns.c
+++ b/
src/src/dns.c
@@
-1,10
+1,10
@@
-/* $Cambridge: exim/src/src/dns.c,v 1.
2 2004/11/19 09:45:54
ph10 Exp $ */
+/* $Cambridge: exim/src/src/dns.c,v 1.
5 2005/02/17 11:58:26
ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 200
4
*/
+/* Copyright (c) University of Cambridge 1995 - 200
5
*/
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for interfacing with the DNS. */
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for interfacing with the DNS. */
@@
-266,7
+266,7
@@
switch(t)
case T_PTR: return US"PTR";
case T_SRV: return US"SRV";
case T_NS: return US"NS";
case T_PTR: return US"PTR";
case T_SRV: return US"SRV";
case T_NS: return US"NS";
- case T_CNAME: return US"CNAME";
+ case T_CNAME: return US"CNAME";
default: return US"?";
}
}
default: return US"?";
}
}
@@
-626,8
+626,8
@@
return DNS_FAIL;
* Do a DNS lookup and handle virtual types *
************************************************/
* Do a DNS lookup and handle virtual types *
************************************************/
-/* This function handles some invented "lookup types" that synthesize feature
-not available in the basic types. The special types all have negative values.
+/* This function handles some invented "lookup types" that synthesize feature
+not available in the basic types. The special types all have negative values.
Positive type values are passed straight on to dns_lookup().
Arguments:
Positive type values are passed straight on to dns_lookup().
Arguments:
@@
-645,12
+645,16
@@
Returns: DNS_SUCCEED successful lookup
*/
int
*/
int
-dns_special_lookup(dns_answer *dnsa, uschar *name, int type,
+dns_special_lookup(dns_answer *dnsa, uschar *name, int type,
uschar **fully_qualified_name)
{
if (type >= 0) return dns_lookup(dnsa, name, type, fully_qualified_name);
uschar **fully_qualified_name)
{
if (type >= 0) return dns_lookup(dnsa, name, type, fully_qualified_name);
-/* Find nameservers for the domain or the nearest enclosing zone, excluding the
+/* The "mx hosts only" type doesn't require any special action here */
+
+if (type == T_MXH) return dns_lookup(dnsa, name, T_MX, fully_qualified_name);
+
+/* Find nameservers for the domain or the nearest enclosing zone, excluding the
root servers. */
if (type == T_ZNS)
root servers. */
if (type == T_ZNS)
@@
-661,10
+665,10
@@
if (type == T_ZNS)
int rc = dns_lookup(dnsa, d, T_NS, fully_qualified_name);
if (rc != DNS_NOMATCH && rc != DNS_NODATA) return rc;
while (*d != 0 && *d != '.') d++;
int rc = dns_lookup(dnsa, d, T_NS, fully_qualified_name);
if (rc != DNS_NOMATCH && rc != DNS_NODATA) return rc;
while (*d != 0 && *d != '.') d++;
- if (*d++ == 0) break;
+ if (*d++ == 0) break;
}
}
- return DNS_NOMATCH;
- }
+ return DNS_NOMATCH;
+ }
/* Control should never reach here */
/* Control should never reach here */