Add support for '@' => origin.

This commit is contained in:
Mark Andrews 1999-01-27 23:39:40 +00:00
parent 3ff55a3111
commit cee7525336

View file

@ -50,7 +50,8 @@ typedef enum {
ft_maybeslash,
ft_finishbitstring,
ft_bitlength,
ft_eatdot
ft_eatdot,
ft_at
} ft_state;
typedef enum {
@ -685,6 +686,13 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
done = ISC_TRUE;
break;
}
if (c == '@') {
if (tlen == 0) {
state = ft_at;
break;
}
}
/* FALLTHROUGH */
case ft_start:
label = ndata;
@ -1032,7 +1040,8 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
if (nrem == 0)
return (DNS_R_NOSPACE);
INSIST(tlen == 0);
if (state != ft_ordinary && state != ft_eatdot)
if (state != ft_ordinary && state != ft_eatdot &&
state != ft_at)
return (DNS_R_UNEXPECTEDEND);
if (state == ft_ordinary) {
INSIST(count != 0);