resolved-dns-transaction.h revision 51e399bcebefb27d6b147d90de84d07f010fa170
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen This file is part of systemd.
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen Copyright 2014 Lennart Poettering
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen systemd is free software; you can redistribute it and/or modify it
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen under the terms of the GNU Lesser General Public License as published by
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen the Free Software Foundation; either version 2.1 of the License, or
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen (at your option) any later version.
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen systemd is distributed in the hope that it will be useful, but
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen WITHOUT ANY WARRANTY; without even the implied warranty of
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen Lesser General Public License for more details.
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen You should have received a copy of the GNU Lesser General Public License
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen along with systemd; If not, see <http://www.gnu.org/licenses/>.
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersentypedef enum DnsTransactionState DnsTransactionState;
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersentypedef enum DnsTransactionSource DnsTransactionSource;
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen#define DNS_TRANSACTION_IS_LIVE(state) IN_SET((state), DNS_TRANSACTION_NULL, DNS_TRANSACTION_PENDING, DNS_TRANSACTION_VALIDATING)
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen /* Indicates whether the primary answer is authenticated,
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * i.e. whether the RRs from answer which directly match the
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * question are authenticated, or, if there are none, whether
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * the NODATA or NXDOMAIN case is. It says nothing about
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * additional RRs listed in the answer, however they have
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * their own DNS_ANSWER_AUTHORIZED FLAGS. Note that this bit
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * is defined different than the AD bit in DNS packets, as
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * that covers more than just the actual primary answer. */
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen /* Contains DNSKEY, DS, SOA RRs we already verified and need
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen * to authenticate this reply */
091a364c802e34a58f3260c9cb5db9b75c62215cTom Gundersen /* UDP connection logic, if we need it */
unsigned block_gc;
#define TRANSACTION_ATTEMPTS_MAX(p) ((p) == DNS_PROTOCOL_LLMNR ? LLMNR_TRANSACTION_ATTEMPTS_MAX : DNS_TRANSACTION_ATTEMPTS_MAX)