2
0
mirror of https://github.com/xcat2/xNBA.git synced 2025-02-11 16:23:47 +00:00

[dns] Allow trailing dots in DNS names

Reported-by: Christian Hesse <list@eworm.de>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2012-01-10 23:25:00 +00:00
parent 55f6c88a27
commit 187cd80106

View File

@ -222,18 +222,24 @@ static char * dns_qualify_name ( const char *string ) {
* DNS names consist of "<length>element" pairs.
*/
static char * dns_make_name ( const char *string, char *buf ) {
char *length_byte = buf++;
char *length_byte;
char c;
while ( ( c = *(string++) ) ) {
if ( c == '.' ) {
*length_byte = buf - length_byte - 1;
length_byte = buf;
length_byte = buf++;
*length_byte = 0;
do {
c = *(string++);
if ( ( c == '.' ) || ( c == '\0' ) ) {
if ( *length_byte ) {
length_byte = buf++;
*length_byte = 0;
}
} else {
*(buf++) = c;
(*length_byte)++;
}
*(buf++) = c;
}
*length_byte = buf - length_byte - 1;
*(buf++) = '\0';
} while ( c );
return buf;
}