From: corinna Date: Fri, 9 Feb 2007 10:09:21 +0000 (+0000) Subject: * libc/minires-os-if.c (write_record): Handle DNS_TYPE_SRV and X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=2d48077f449da2df42dfd3f795d5071e18eced61;p=pf3gnuchains%2Fpf3gnuchains3x.git * libc/minires-os-if.c (write_record): Handle DNS_TYPE_SRV and some obsolete types. --- diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 130d0b97ee..a988d8c687 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2007-02-09 Pierre A. Humblet + + * libc/minires-os-if.c (write_record): Handle DNS_TYPE_SRV and + some obsolete types. + 2007-02-08 Corinna Vinschen * syscalls.cc (check_shm): New static function to do path checking diff --git a/winsup/cygwin/libc/minires-os-if.c b/winsup/cygwin/libc/minires-os-if.c index 0f723ae34c..a5ab4a4f63 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;