![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/rector/rector/vendor/react/dns/src/Model/ |
<?php namespace RectorPrefix202410\React\Dns\Model; /** * This class represents a single resulting record in a response message * * It uses a structure similar to `\React\Dns\Query\Query`, but does include * fields for resulting TTL and resulting record data (IPs etc.). * * @link https://tools.ietf.org/html/rfc1035#section-4.1.3 * @see \React\Dns\Query\Query */ final class Record { /** * @var string hostname without trailing dot, for example "reactphp.org" */ public $name; /** * @var int see Message::TYPE_* constants (UINT16) */ public $type; /** * Defines the network class, usually `Message::CLASS_IN`. * * For `OPT` records (EDNS0), this defines the maximum message size instead. * * @var int see Message::CLASS_IN constant (UINT16) * @see Message::CLASS_IN */ public $class; /** * Defines the maximum time-to-live (TTL) in seconds * * For `OPT` records (EDNS0), this defines additional flags instead. * * @var int maximum TTL in seconds (UINT32, most significant bit always unset) * @link https://tools.ietf.org/html/rfc2181#section-8 * @link https://tools.ietf.org/html/rfc6891#section-6.1.3 for `OPT` records (EDNS0) */ public $ttl; /** * The payload data for this record * * The payload data format depends on the record type. As a rule of thumb, * this library will try to express this in a way that can be consumed * easily without having to worry about DNS internals and its binary transport: * * - A: * IPv4 address string, for example "192.168.1.1". * * - AAAA: * IPv6 address string, for example "::1". * * - CNAME / PTR / NS: * The hostname without trailing dot, for example "reactphp.org". * * - TXT: * List of string values, for example `["v=spf1 include:example.com"]`. * This is commonly a list with only a single string value, but this * technically allows multiple strings (0-255 bytes each) in a single * record. This is rarely used and depending on application you may want * to join these together or handle them separately. Each string can * transport any binary data, its character encoding is not defined (often * ASCII/UTF-8 in practice). [RFC 1464](https://tools.ietf.org/html/rfc1464) * suggests using key-value pairs such as `["name=test","version=1"]`, but * interpretation of this is not enforced and left up to consumers of this * library (used for DNS-SD/Zeroconf and others). * * - MX: * Mail server priority (UINT16) and target hostname without trailing dot, * for example `{"priority":10,"target":"mx.example.com"}`. * The payload data uses an associative array with fixed keys "priority" * (also commonly referred to as weight or preference) and "target" (also * referred to as exchange). If a response message contains multiple * records of this type, targets should be sorted by priority (lowest * first) - this is left up to consumers of this library (used for SMTP). * * - SRV: * Service priority (UINT16), service weight (UINT16), service port (UINT16) * and target hostname without trailing dot, for example * `{"priority":10,"weight":50,"port":8080,"target":"example.com"}`. * The payload data uses an associative array with fixed keys "priority", * "weight", "port" and "target" (also referred to as name). * The target may be an empty host name string if the service is decidedly * not available. If a response message contains multiple records of this * type, targets should be sorted by priority (lowest first) and selected * randomly according to their weight - this is left up to consumers of * this library, see also [RFC 2782](https://tools.ietf.org/html/rfc2782) * for more details. * * - SSHFP: * Includes algorithm (UNIT8), fingerprint type (UNIT8) and fingerprint * value as lower case hex string, for example: * `{"algorithm":1,"type":1,"fingerprint":"0123456789abcdef..."}` * See also https://www.iana.org/assignments/dns-sshfp-rr-parameters/dns-sshfp-rr-parameters.xhtml * for algorithm and fingerprint type assignments. * * - SOA: * Includes master hostname without trailing dot, responsible person email * as hostname without trailing dot and serial, refresh, retry, expire and * minimum times in seconds (UINT32 each), for example: * `{"mname":"ns.example.com","rname":"hostmaster.example.com","serial": * 2018082601,"refresh":3600,"retry":1800,"expire":60000,"minimum":3600}`. * * - CAA: * Includes flag (UNIT8), tag string and value string, for example: * `{"flag":128,"tag":"issue","value":"letsencrypt.org"}` * * - OPT: * Special pseudo-type for EDNS0. Includes an array of additional opt codes * with a value according to the respective OPT code. See `Message::OPT_*` * for list of supported OPT codes. Any other OPT code not currently * supported will be an opaque binary string containing the raw data * as transported in the DNS record. For forwards compatibility, you should * not rely on this format for unknown types. Future versions may add * support for new types and this may then parse the payload data * appropriately - this will not be considered a BC break. See also * [RFC 6891](https://tools.ietf.org/html/rfc6891) for more details. * * - Any other unknown type: * An opaque binary string containing the RDATA as transported in the DNS * record. For forwards compatibility, you should not rely on this format * for unknown types. Future versions may add support for new types and * this may then parse the payload data appropriately - this will not be * considered a BC break. See the format definition of known types above * for more details. * * @var string|string[]|array */ public $data; /** * @param string $name * @param int $type * @param int $class * @param int $ttl * @param string|string[]|array $data */ public function __construct($name, $type, $class, $ttl, $data) { $this->name = $name; $this->type = $type; $this->class = $class; $this->ttl = $ttl; $this->data = $data; } }