Lines Matching +full:mx +full:- +full:specific
2 * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>.
20 * from this software without specific, prior written permission.
56 v = ha->pref - hb->pref; in sort_pref()
61 v = - (ha->ai.ai_family - hb->ai.ai_family); in sort_pref()
86 * SMARTHOST set but DNS server not reachable -> defer in add_host()
88 * -> buggy configuration in add_host()
89 * -> either defer or bounce would be ok -> defer in add_host()
90 * MX entry was returned by DNS server but name doesn't resolve in add_host()
91 * -> hopefully transient situation -> defer in add_host()
97 return(-1); in add_host()
100 for (res = res0; res != NULL; res = res->ai_next) { in add_host()
109 strlcpy(p->host, host, sizeof(p->host)); in add_host()
110 p->pref = pref; in add_host()
111 p->ai = *res; in add_host()
112 p->ai.ai_addr = NULL; in add_host()
113 bcopy(res->ai_addr, &p->sa, p->ai.ai_addrlen); in add_host()
115 getnameinfo((struct sockaddr *)&p->sa, p->ai.ai_addrlen, in add_host()
116 p->addr, sizeof(p->addr), in add_host()
167 * Host exists, but no MX (or CNAME) entry. in dns_get_mx_list()
211 if (err == -1) in dns_get_mx_list()
242 err = -1; in dns_get_mx_list()
250 * If we didn't find any MX, use the hostname instead. in dns_get_mx_list()
255 * We did get MX, but couldn't resolve any of them in dns_get_mx_list()
287 for (p = he; *p->host != 0; p++) { in main()
288 printf("%d\t%s\t%s\n", p->pref, p->host, p->addr); in main()