X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/b365d68ae5de07ef9dc4a3b92058a13edba5ad6f..ac015392d33daece5de3b5cf9ecfa6a8988860fe:/src/types.c diff --git a/src/types.c b/src/types.c index 53b40e2..b1fdae7 100644 --- a/src/types.c +++ b/src/types.c @@ -3,7 +3,12 @@ * - RR-type-specific code, and the machinery to call it */ /* - * This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson + * This file is + * Copyright (C) 1997-1999 Ian Jackson + * + * It is part of adns, which is + * Copyright (C) 1997-2000 Ian Jackson + * Copyright (C) 1999-2000 Tony Finch * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -545,13 +550,24 @@ static void mf_hostaddr(adns_query qu, void *datap) { } static adns_status csp_hostaddr(vbuf *vb, const adns_rr_hostaddr *rrp) { + const char *errstr; adns_status st; + char buf[20]; int i; - st= csp_domain(vb,rrp->host); if (st) return st; + st= csp_domain(vb,rrp->host); if (st) return st; CSP_ADDSTR(" "); + CSP_ADDSTR(adns_errtypeabbrev(rrp->astatus)); + + sprintf(buf," %d ",rrp->astatus); + CSP_ADDSTR(buf); + CSP_ADDSTR(adns_errabbrev(rrp->astatus)); + CSP_ADDSTR(" "); + + errstr= adns_strerror(rrp->astatus); + st= csp_qstring(vb,errstr,strlen(errstr)); if (st) return st; if (rrp->naddrs >= 0) { CSP_ADDSTR(" ("); @@ -835,7 +851,7 @@ static adns_status pap_mailbox822(const parseinfo *pai, int *cbyte_io, int max, c= *p++; if ((c&~128) < 32 || (c&~128) == 127) return adns_s_invaliddata; if (c == '.' && !neednorm) neednorm= 1; - else if (c==' ' || ctype_822special(c)) needquote++; + else if (c==' ' || c>=127 || ctype_822special(c)) needquote++; else neednorm= 0; }