/** * @param string $exchange * @throws RdataException */ public function setExchange($exchange) { if (!Validator::validateFqdn($exchange)) { throw new RdataException(sprintf('The exchange "%s" is not a Fully Qualified Domain Name', $exchange)); } $this->exchange = $exchange; }
/** * @param $target * @throws RdataException */ public function setTarget($target) { if (!Validator::validateFqdn($target)) { throw new RdataException(sprintf('The target "%s" is not a Fully Qualified Domain Name', $target)); } $this->target = $target; }
/** * @param $name * @throws DNSException */ public function setName($name) { if (!Validator::validateFqdn($name, false)) { throw new DNSException('The name is not a Fully Qualified Domain Name'); } $this->name = (string) $name; }
public function testValidateFqdn() { //Pass cases $fqdn1 = 'example.com.'; $fqdn2 = 'www.example.com.'; $fqdn3 = 'ex-ample.com.'; $fqdn4 = 'ex-ampl3.com.au.'; $fqdn5 = '@'; $fqdn6 = 'alt2.aspmx.l.google.com.'; //Fail cases $fqdn7 = '3xample.com.'; $fqdn8 = '_example.com.'; $fqdn9 = '-example.com.'; //Pass cases $uqdn1 = 'example.com'; $uqdn2 = 'www.example.com'; $uqdn3 = 'example'; $uqdn4 = '@'; //Fail cases $uqdn5 = 'exam*ple.com'; $uqdn6 = 'wheres-wally?.com'; $uqdn7 = '_example.com.'; $uqdn8 = '-example.com.'; $uqdn9 = '3xample.com.'; $this->assertTrue(Validator::validateFqdn($fqdn1)); $this->assertTrue(Validator::validateFqdn($fqdn2)); $this->assertTrue(Validator::validateFqdn($fqdn3)); $this->assertTrue(Validator::validateFqdn($fqdn4)); $this->assertTrue(Validator::validateFqdn($fqdn5)); $this->assertTrue(Validator::validateFqdn($fqdn6)); $this->assertFalse(Validator::validateFqdn($fqdn7)); $this->assertFalse(Validator::validateFqdn($fqdn8)); $this->assertFalse(Validator::validateFqdn($fqdn9)); $this->assertFalse(Validator::validateFqdn($uqdn1)); $this->assertFalse(Validator::validateFqdn($uqdn2)); $this->assertFalse(Validator::validateFqdn($uqdn3)); $this->assertFalse(Validator::validateFqdn($uqdn5)); $this->assertTrue(Validator::validateFqdn($uqdn1, false)); $this->assertTrue(Validator::validateFqdn($uqdn2, false)); $this->assertTrue(Validator::validateFqdn($uqdn3, false)); $this->assertTrue(Validator::validateFqdn($uqdn4, false)); $this->assertFalse(Validator::validateFqdn($uqdn5, false)); $this->assertFalse(Validator::validateFqdn($uqdn6, false)); $this->assertFalse(Validator::validateFqdn($uqdn7, false)); $this->assertFalse(Validator::validateFqdn($uqdn8, false)); $this->assertFalse(Validator::validateFqdn($uqdn9, false)); }
/** * @param $rname * @throws RdataException */ public function setRname($rname) { if (!Validator::validateFqdn($rname)) { throw new RdataException(sprintf('RName "%s" is not a Fully Qualified Domain Name', $rname)); } $this->rname = $rname; }
public function testWildcard() { $valid_1 = '*.example.com.'; $valid_2 = '*'; $valid_3 = '*.sub'; $valid_4 = '*.sub.domain'; $valid_5 = '*.sub.example.com.'; $invalid_1 = '*abc.example.com.'; $invalid_2 = 'domain.*.example.com.'; $invalid_3 = 'example.com.*'; $invalid_4 = '*.'; $this->assertTrue(Validator::validateFqdn($valid_1, true)); $this->assertTrue(Validator::validateFqdn($valid_2, false)); $this->assertTrue(Validator::validateFqdn($valid_3, false)); $this->assertTrue(Validator::validateFqdn($valid_4, false)); $this->assertTrue(Validator::validateFqdn($valid_5, true)); $this->assertFalse(Validator::validateFqdn($invalid_1, true)); $this->assertFalse(Validator::validateFqdn($invalid_2, true)); $this->assertFalse(Validator::validateFqdn($invalid_3, false)); $this->assertFalse(Validator::validateFqdn($invalid_4, true)); }