Lines Matching defs:rr

781 int dns_packet_append_rr(DnsPacket *p, const DnsResourceRecord *rr, size_t *start, size_t *rdata_start) {
786 assert(rr);
790 r = dns_packet_append_key(p, rr->key, NULL);
794 r = dns_packet_append_uint32(p, rr->ttl, NULL);
805 switch (rr->unparseable ? _DNS_TYPE_INVALID : rr->key->type) {
808 r = dns_packet_append_uint16(p, rr->srv.priority, NULL);
812 r = dns_packet_append_uint16(p, rr->srv.weight, NULL);
816 r = dns_packet_append_uint16(p, rr->srv.port, NULL);
820 r = dns_packet_append_name(p, rr->srv.name, true, false, NULL);
827 r = dns_packet_append_name(p, rr->ptr.name, true, false, NULL);
831 r = dns_packet_append_string(p, rr->hinfo.cpu, NULL);
835 r = dns_packet_append_string(p, rr->hinfo.os, NULL);
841 if (!rr->txt.items) {
851 LIST_FOREACH(items, i, rr->txt.items) {
862 r = dns_packet_append_blob(p, &rr->a.in_addr, sizeof(struct in_addr), NULL);
866 r = dns_packet_append_blob(p, &rr->aaaa.in6_addr, sizeof(struct in6_addr), NULL);
870 r = dns_packet_append_name(p, rr->soa.mname, true, false, NULL);
874 r = dns_packet_append_name(p, rr->soa.rname, true, false, NULL);
878 r = dns_packet_append_uint32(p, rr->soa.serial, NULL);
882 r = dns_packet_append_uint32(p, rr->soa.refresh, NULL);
886 r = dns_packet_append_uint32(p, rr->soa.retry, NULL);
890 r = dns_packet_append_uint32(p, rr->soa.expire, NULL);
894 r = dns_packet_append_uint32(p, rr->soa.minimum, NULL);
898 r = dns_packet_append_uint16(p, rr->mx.priority, NULL);
902 r = dns_packet_append_name(p, rr->mx.exchange, true, false, NULL);
906 r = dns_packet_append_uint8(p, rr->loc.version, NULL);
910 r = dns_packet_append_uint8(p, rr->loc.size, NULL);
914 r = dns_packet_append_uint8(p, rr->loc.horiz_pre, NULL);
918 r = dns_packet_append_uint8(p, rr->loc.vert_pre, NULL);
922 r = dns_packet_append_uint32(p, rr->loc.latitude, NULL);
926 r = dns_packet_append_uint32(p, rr->loc.longitude, NULL);
930 r = dns_packet_append_uint32(p, rr->loc.altitude, NULL);
934 r = dns_packet_append_uint16(p, rr->ds.key_tag, NULL);
938 r = dns_packet_append_uint8(p, rr->ds.algorithm, NULL);
942 r = dns_packet_append_uint8(p, rr->ds.digest_type, NULL);
946 r = dns_packet_append_blob(p, rr->ds.digest, rr->ds.digest_size, NULL);
950 r = dns_packet_append_uint8(p, rr->sshfp.algorithm, NULL);
954 r = dns_packet_append_uint8(p, rr->sshfp.fptype, NULL);
958 r = dns_packet_append_blob(p, rr->sshfp.fingerprint, rr->sshfp.fingerprint_size, NULL);
962 r = dns_packet_append_uint16(p, rr->dnskey.flags, NULL);
966 r = dns_packet_append_uint8(p, rr->dnskey.protocol, NULL);
970 r = dns_packet_append_uint8(p, rr->dnskey.algorithm, NULL);
974 r = dns_packet_append_blob(p, rr->dnskey.key, rr->dnskey.key_size, NULL);
978 r = dns_packet_append_uint16(p, rr->rrsig.type_covered, NULL);
982 r = dns_packet_append_uint8(p, rr->rrsig.algorithm, NULL);
986 r = dns_packet_append_uint8(p, rr->rrsig.labels, NULL);
990 r = dns_packet_append_uint32(p, rr->rrsig.original_ttl, NULL);
994 r = dns_packet_append_uint32(p, rr->rrsig.expiration, NULL);
998 r = dns_packet_append_uint32(p, rr->rrsig.inception, NULL);
1002 r = dns_packet_append_uint16(p, rr->rrsig.key_tag, NULL);
1006 r = dns_packet_append_name(p, rr->rrsig.signer, false, true, NULL);
1010 r = dns_packet_append_blob(p, rr->rrsig.signature, rr->rrsig.signature_size, NULL);
1014 r = dns_packet_append_name(p, rr->nsec.next_domain_name, false, false, NULL);
1018 r = dns_packet_append_types(p, rr->nsec.types, NULL);
1025 r = dns_packet_append_uint8(p, rr->nsec3.algorithm, NULL);
1029 r = dns_packet_append_uint8(p, rr->nsec3.flags, NULL);
1033 r = dns_packet_append_uint16(p, rr->nsec3.iterations, NULL);
1037 r = dns_packet_append_uint8(p, rr->nsec3.salt_size, NULL);
1041 r = dns_packet_append_blob(p, rr->nsec3.salt, rr->nsec3.salt_size, NULL);
1045 r = dns_packet_append_uint8(p, rr->nsec3.next_hashed_name_size, NULL);
1049 r = dns_packet_append_blob(p, rr->nsec3.next_hashed_name, rr->nsec3.next_hashed_name_size, NULL);
1053 r = dns_packet_append_types(p, rr->nsec3.types, NULL);
1060 r = dns_packet_append_uint8(p, rr->tlsa.cert_usage, NULL);
1064 r = dns_packet_append_uint8(p, rr->tlsa.selector, NULL);
1068 r = dns_packet_append_uint8(p, rr->tlsa.matching_type, NULL);
1072 r = dns_packet_append_blob(p, rr->tlsa.data, rr->tlsa.data_size, NULL);
1080 r = dns_packet_append_blob(p, rr->generic.data, rr->generic.data_size, NULL);
1583 _cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
1605 rr = dns_resource_record_new(key);
1606 if (!rr) {
1611 r = dns_packet_read_uint32(p, &rr->ttl, NULL);
1617 if (rr->ttl & UINT32_C(0x80000000))
1618 rr->ttl = 0;
1631 switch (rr->key->type) {
1634 r = dns_packet_read_uint16(p, &rr->srv.priority, NULL);
1637 r = dns_packet_read_uint16(p, &rr->srv.weight, NULL);
1640 r = dns_packet_read_uint16(p, &rr->srv.port, NULL);
1643 r = dns_packet_read_name(p, &rr->srv.name, true, NULL);
1650 r = dns_packet_read_name(p, &rr->ptr.name, true, NULL);
1654 r = dns_packet_read_string(p, &rr->hinfo.cpu, NULL);
1658 r = dns_packet_read_string(p, &rr->hinfo.os, NULL);
1673 rr->txt.items = i;
1693 LIST_INSERT_AFTER(items, rr->txt.items, last, i);
1702 r = dns_packet_read_blob(p, &rr->a.in_addr, sizeof(struct in_addr), NULL);
1706 r = dns_packet_read_blob(p, &rr->aaaa.in6_addr, sizeof(struct in6_addr), NULL);
1710 r = dns_packet_read_name(p, &rr->soa.mname, true, NULL);
1714 r = dns_packet_read_name(p, &rr->soa.rname, true, NULL);
1718 r = dns_packet_read_uint32(p, &rr->soa.serial, NULL);
1722 r = dns_packet_read_uint32(p, &rr->soa.refresh, NULL);
1726 r = dns_packet_read_uint32(p, &rr->soa.retry, NULL);
1730 r = dns_packet_read_uint32(p, &rr->soa.expire, NULL);
1734 r = dns_packet_read_uint32(p, &rr->soa.minimum, NULL);
1738 r = dns_packet_read_uint16(p, &rr->mx.priority, NULL);
1742 r = dns_packet_read_name(p, &rr->mx.exchange, true, NULL);
1754 rr->loc.version = t;
1756 r = dns_packet_read_uint8(p, &rr->loc.size, NULL);
1760 if (!loc_size_ok(rr->loc.size)) {
1765 r = dns_packet_read_uint8(p, &rr->loc.horiz_pre, NULL);
1769 if (!loc_size_ok(rr->loc.horiz_pre)) {
1774 r = dns_packet_read_uint8(p, &rr->loc.vert_pre, NULL);
1778 if (!loc_size_ok(rr->loc.vert_pre)) {
1783 r = dns_packet_read_uint32(p, &rr->loc.latitude, NULL);
1787 r = dns_packet_read_uint32(p, &rr->loc.longitude, NULL);
1791 r = dns_packet_read_uint32(p, &rr->loc.altitude, NULL);
1798 rr->unparseable = true;
1804 r = dns_packet_read_uint16(p, &rr->ds.key_tag, NULL);
1808 r = dns_packet_read_uint8(p, &rr->ds.algorithm, NULL);
1812 r = dns_packet_read_uint8(p, &rr->ds.digest_type, NULL);
1817 &rr->ds.digest, &rr->ds.digest_size,
1822 if (rr->ds.digest_size <= 0) {
1832 r = dns_packet_read_uint8(p, &rr->sshfp.algorithm, NULL);
1836 r = dns_packet_read_uint8(p, &rr->sshfp.fptype, NULL);
1841 &rr->sshfp.fingerprint, &rr->sshfp.fingerprint_size,
1844 if (rr->sshfp.fingerprint_size <= 0) {
1854 r = dns_packet_read_uint16(p, &rr->dnskey.flags, NULL);
1858 r = dns_packet_read_uint8(p, &rr->dnskey.protocol, NULL);
1862 r = dns_packet_read_uint8(p, &rr->dnskey.algorithm, NULL);
1867 &rr->dnskey.key, &rr->dnskey.key_size,
1870 if (rr->dnskey.key_size <= 0) {
1880 r = dns_packet_read_uint16(p, &rr->rrsig.type_covered, NULL);
1884 r = dns_packet_read_uint8(p, &rr->rrsig.algorithm, NULL);
1888 r = dns_packet_read_uint8(p, &rr->rrsig.labels, NULL);
1892 r = dns_packet_read_uint32(p, &rr->rrsig.original_ttl, NULL);
1896 r = dns_packet_read_uint32(p, &rr->rrsig.expiration, NULL);
1900 r = dns_packet_read_uint32(p, &rr->rrsig.inception, NULL);
1904 r = dns_packet_read_uint16(p, &rr->rrsig.key_tag, NULL);
1908 r = dns_packet_read_name(p, &rr->rrsig.signer, false, NULL);
1913 &rr->rrsig.signature, &rr->rrsig.signature_size,
1916 if (rr->rrsig.signature_size <= 0) {
1934 r = dns_packet_read_name(p, &rr->nsec.next_domain_name, allow_compressed, NULL);
1938 r = dns_packet_read_type_windows(p, &rr->nsec.types, offset + rdlength - p->rindex, NULL);
1951 r = dns_packet_read_uint8(p, &rr->nsec3.algorithm, NULL);
1955 r = dns_packet_read_uint8(p, &rr->nsec3.flags, NULL);
1959 r = dns_packet_read_uint16(p, &rr->nsec3.iterations, NULL);
1968 r = dns_packet_read_memdup(p, size, &rr->nsec3.salt, &rr->nsec3.salt_size, NULL);
1981 r = dns_packet_read_memdup(p, size, &rr->nsec3.next_hashed_name, &rr->nsec3.next_hashed_name_size, NULL);
1985 r = dns_packet_read_type_windows(p, &rr->nsec3.types, offset + rdlength - p->rindex, NULL);
1995 r = dns_packet_read_uint8(p, &rr->tlsa.cert_usage, NULL);
1999 r = dns_packet_read_uint8(p, &rr->tlsa.selector, NULL);
2003 r = dns_packet_read_uint8(p, &rr->tlsa.matching_type, NULL);
2008 &rr->tlsa.data, &rr->tlsa.data_size,
2010 if (rr->tlsa.data_size <= 0) {
2023 r = dns_packet_read_memdup(p, rdlength, &rr->generic.data, &rr->generic.data_size, NULL);
2035 *ret = rr;
2036 rr = NULL;
2049 static bool opt_is_good(DnsResourceRecord *rr, bool *rfc6975) {
2057 assert(rr);
2058 assert(rr->key->type == DNS_TYPE_OPT);
2061 if (((rr->ttl >> 16) & UINT32_C(0xFF)) != 0)
2064 p = rr->opt.data;
2065 l = rr->opt.data_size;
2148 _cleanup_(dns_resource_record_unrefp) DnsResourceRecord *rr = NULL;
2151 r = dns_packet_read_rr(p, &rr, &cache_flush, NULL);
2157 dns_resource_key_reduce(&rr->key, &previous->key);
2159 if (rr->key->type == DNS_TYPE_OPT) {
2170 if (!dns_name_is_root(DNS_RESOURCE_KEY_NAME(rr->key))) {
2187 if (!opt_is_good(rr, &has_rfc6975)) {
2205 p->opt = dns_resource_record_ref(rr);
2212 r = dns_answer_add(answer, rr, p->ifindex,
2222 previous = dns_resource_record_ref(rr);