Skip to content

In Badcow\DNS\Parser\Parser $origin is ignored when records are parsed #125

@AnrDaemon

Description

@AnrDaemon

A simple example would be

$origin example.org.
@ IN 10800 SOA example.org. postmaster 2 3600 7200 10800 3600

This should produce rname = postmaster.example.org., but not… the actual result is postmaster...
And $zone->getName() also not fixed after processing SOA record.

The situation gets worse when multiple $origin records are encountered during the zone parsing.

Read world example:

$ORIGIN .
$TTL 86400      ; 1 day
darkdragon.lan          IN SOA  ns.darkdragon.lan. info.darkdragon.lan. (
                                2025070501 ; serial
                                19200      ; refresh (5 hours 20 minutes)
                                3600       ; retry (1 hour)
                                38400      ; expire (10 hours 40 minutes)
                                38400      ; minimum (10 hours 40 minutes)
                                )
                        NS      ns.darkdragon.lan.
                        A       192.168.1.12
                        MX      10 daemon2.darkdragon.lan.
                        TXT     "v=spf1 a mx -all"
$ORIGIN darkdragon.lan.
_amqps._tcp             SRV     1 0 5671 rabbitmq
_ts3._udp               SRV     1 0 9987 pubserver64
ads                     NS      dc2
adsl                    A       192.168.1.2
anrdaemon               CNAME   hosting64
daemon1                 A       192.168.1.12
daemon2                 A       192.168.1.10
daemon3s                A       192.168.1.13
$ORIGIN mc.darkdragon.lan.
_minecraft._tcp         SRV     1 0 25565 daemon2
                        SRV     5 0 25565 daemon1
$ORIGIN darkdragon.lan.
mc-sfs                  A       192.168.1.16
mc-tamik                A       192.168.1.17
$ORIGIN mc-tamik.darkdragon.lan.
_minecraft._tcp         SRV 2 0 25566 mc-tamik.darkdragon.lan.
$ORIGIN darkdragon.lan.
mysql                   A       192.168.1.7
ns                      A       192.168.1.12
ntp                     CNAME   time
pubserver64             A       192.168.1.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions