diff options
Diffstat (limited to 'assets/php/vendor/react/dns/src/Protocol/BinaryDumper.php')
-rwxr-xr-x | assets/php/vendor/react/dns/src/Protocol/BinaryDumper.php | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/assets/php/vendor/react/dns/src/Protocol/BinaryDumper.php b/assets/php/vendor/react/dns/src/Protocol/BinaryDumper.php deleted file mode 100755 index 35d6ae6..0000000 --- a/assets/php/vendor/react/dns/src/Protocol/BinaryDumper.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php - -namespace React\Dns\Protocol; - -use React\Dns\Model\Message; -use React\Dns\Model\HeaderBag; - -class BinaryDumper -{ - public function toBinary(Message $message) - { - $data = ''; - - $data .= $this->headerToBinary($message->header); - $data .= $this->questionToBinary($message->questions); - - return $data; - } - - private function headerToBinary(HeaderBag $header) - { - $data = ''; - - $data .= pack('n', $header->get('id')); - - $flags = 0x00; - $flags = ($flags << 1) | $header->get('qr'); - $flags = ($flags << 4) | $header->get('opcode'); - $flags = ($flags << 1) | $header->get('aa'); - $flags = ($flags << 1) | $header->get('tc'); - $flags = ($flags << 1) | $header->get('rd'); - $flags = ($flags << 1) | $header->get('ra'); - $flags = ($flags << 3) | $header->get('z'); - $flags = ($flags << 4) | $header->get('rcode'); - - $data .= pack('n', $flags); - - $data .= pack('n', $header->get('qdCount')); - $data .= pack('n', $header->get('anCount')); - $data .= pack('n', $header->get('nsCount')); - $data .= pack('n', $header->get('arCount')); - - return $data; - } - - private function questionToBinary(array $questions) - { - $data = ''; - - foreach ($questions as $question) { - $labels = explode('.', $question['name']); - foreach ($labels as $label) { - $data .= chr(strlen($label)).$label; - } - $data .= "\x00"; - - $data .= pack('n*', $question['type'], $question['class']); - } - - return $data; - } -} |