Exemplo n.º 1
0
 /**
  * Checks a CNAME record for validity.
  *
  * @param Records    $record
  *
  * @return bool
  */
 public function _validateCname(Records $record)
 {
     $name = $record->getName();
     $looseHostname = 0 == $record->getLooseCheck() ? false : true;
     if (0 != strlen($name)) {
         if (false === $looseHostname) {
             if (false === strpos($name, '.' . $record->getDomain()->getName())) {
                 $this->context->addViolationAt('name', 'Name: ' . $name . ' is not in domain: ' . $record->getDomain()->getName(), array(), null);
             } else {
                 if (!$this->_checkHostname($name, false, true, true, $looseHostname)) {
                     $this->context->addViolationAt('name', 'Name: ' . $name . ' is not a valid hostname', array(), null);
                 }
             }
         }
     }
     if (!$this->_checkHostname($record->getContent(), false, true, true, $looseHostname)) {
         $this->context->addViolationAt('content', 'Name: ' . $record->getContent() . ' is not a valid hostname', array(), null);
     }
     return true;
 }