"Fossies" - the Fresh Open Source Software Archive

Member "pdns-auth-4.2.0/pdns/rec-dnstap.hh" (27 Aug 2019, 1685 Bytes) of package /linux/misc/dns/pdns-auth-4.2.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "rec-dnstap.hh" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * This file is part of PowerDNS or dnsdist.
    3  * Copyright -- PowerDNS.COM B.V. and its contributors
    4  *
    5  * This program is free software; you can redistribute it and/or modify
    6  * it under the terms of version 2 of the GNU General Public License as
    7  * published by the Free Software Foundation.
    8  *
    9  * In addition, for the avoidance of any doubt, permission is granted to
   10  * link this program with OpenSSL and to (re)distribute the binaries
   11  * produced as the result of such linking.
   12  *
   13  * This program is distributed in the hope that it will be useful,
   14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
   15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   16  * GNU General Public License for more details.
   17  *
   18  * You should have received a copy of the GNU General Public License
   19  * along with this program; if not, write to the Free Software
   20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
   21  */
   22 #pragma once
   23 
   24 #ifdef HAVE_FSTRM
   25 #include "dnstap.hh"
   26 #endif /* HAVE_FSTRM */
   27 
   28 class RecDnstapMessage : public DnstapMessage
   29 {
   30 public:
   31   RecDnstapMessage(const std::string& identity, const ComboAddress* requestor, const ComboAddress* responder, bool isTCP, const char* packet, const size_t len, const struct timespec* queryTime, const struct timespec* responseTime)
   32       : DnstapMessage(identity, requestor, responder, isTCP, packet, len, queryTime, responseTime) {
   33     const struct dnsheader* dh = reinterpret_cast<const struct dnsheader*>(packet);
   34     dnstap::Message* message = proto_message.mutable_message();
   35     message->set_type(!dh->qr ? dnstap::Message_Type_RESOLVER_QUERY : dnstap::Message_Type_RESOLVER_RESPONSE);
   36   }
   37 };