mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-08 20:02:06 -04:00
Add support for '@' => origin.
This commit is contained in:
parent
3ff55a3111
commit
cee7525336
1 changed files with 11 additions and 2 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue