diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2007-02-09 10:09:21 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2007-02-09 10:09:21 +0000 |
commit | 09928447ed4dd16ad92526a81bf065aed244d252 (patch) | |
tree | 44939fa8157bf5f06ef692ed12510ee68abee645 /winsup/cygwin/libc/minires-os-if.c | |
parent | 981d5b2128e2b341ee1b2c41b8ed3931417fca3b (diff) | |
download | cygnal-09928447ed4dd16ad92526a81bf065aed244d252.tar.gz cygnal-09928447ed4dd16ad92526a81bf065aed244d252.tar.bz2 cygnal-09928447ed4dd16ad92526a81bf065aed244d252.zip |
* libc/minires-os-if.c (write_record): Handle DNS_TYPE_SRV and
some obsolete types.
Diffstat (limited to 'winsup/cygwin/libc/minires-os-if.c')
-rw-r--r-- | winsup/cygwin/libc/minires-os-if.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/winsup/cygwin/libc/minires-os-if.c b/winsup/cygwin/libc/minires-os-if.c index 0f723ae34..a5ab4a4f6 100644 --- a/winsup/cygwin/libc/minires-os-if.c +++ b/winsup/cygwin/libc/minires-os-if.c @@ -120,10 +120,13 @@ static u_char * write_record(unsigned char * ptr, PDNS_RECORD rr, unsigned char } break; case DNS_TYPE_MINFO: + case DNS_TYPE_RP: PUTDOMAIN(rr->Data.MINFO.pNameMailbox, ptr); PUTDOMAIN(rr->Data.MINFO.pNameErrorsMailbox, ptr); break; case DNS_TYPE_MX: + case DNS_TYPE_AFSDB: + case DNS_TYPE_RT: if (ptr + 2 > EndPtr) ptr += 2; else @@ -131,7 +134,9 @@ static u_char * write_record(unsigned char * ptr, PDNS_RECORD rr, unsigned char PUTDOMAIN(rr->Data.MX.pNameExchange, ptr); break; case DNS_TYPE_HINFO: - case DNS_TYPE_TEXT: + case DNS_TYPE_ISDN: + case DNS_TYPE_TEXT: + case DNS_TYPE_X25: { unsigned int i, len; for (i = 0; i < rr->Data.TXT.dwStringCount; i++) { @@ -146,6 +151,16 @@ static u_char * write_record(unsigned char * ptr, PDNS_RECORD rr, unsigned char } break; } + case DNS_TYPE_SRV: + if (ptr + 6 > EndPtr) + ptr += 6; + else { + PUTSHORT(rr->Data.SRV.wPriority, ptr); + PUTSHORT(rr->Data.SRV.wWeight, ptr); + PUTSHORT(rr->Data.SRV.wPort, ptr); + } + PUTDOMAIN(rr->Data.SRV.pNameTarget, ptr); + break; default: { unsigned int len = rr->wDataLength; |