]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - pdns/dnspcap2protobuf.cc
dnsdist: Add HTTPStatusAction to return a specific HTTP response
[thirdparty/pdns.git] / pdns / dnspcap2protobuf.cc
index 73c6405c190fcb180fb2c4b8f6d66ba872818cbc..9d0f19ad75174a14ff1ba3d2ae1423d764809957 100644 (file)
@@ -1,15 +1,37 @@
+/*
+ * This file is part of PowerDNS or dnsdist.
+ * Copyright -- PowerDNS.COM B.V. and its contributors
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * In addition, for the avoidance of any doubt, permission is granted to
+ * link this program with OpenSSL and to (re)distribute the binaries
+ * produced as the result of such linking.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 #include <boost/uuid/uuid.hpp>
-#include <boost/uuid/uuid_generators.hpp>
 
 #include "iputils.hh"
 #include "misc.hh"
+#include "protobuf.hh"
 #include "dns.hh"
 #include "dnspcap.hh"
 #include "dnsparser.hh"
 #include "protobuf.hh"
+#include "uuid-utils.hh"
 
 #include "statbag.hh"
 StatBag S;
@@ -53,7 +75,6 @@ try {
     ind=atoi(argv[3]);
 
   std::map<uint16_t,std::pair<boost::uuids::uuid,struct timeval> > ids;
-  boost::uuids::random_generator uuidGenerator;
   try {
     while (pr.getUDPPacket()) {
       const dnsheader* dh=(dnsheader*)pr.d_payload;
@@ -82,7 +103,7 @@ try {
       if (!dh->qr) {
         queryTime.tv_sec = pr.d_pheader.ts.tv_sec;
         queryTime.tv_usec = pr.d_pheader.ts.tv_usec;
-        uniqueId = uuidGenerator();
+        uniqueId = getUniqueID();
         ids[dh->id] = std::make_pair(uniqueId, queryTime);
       }
       else {
@@ -93,7 +114,7 @@ try {
           hasQueryTime = true;
         }
         else {
-          uniqueId = uuidGenerator();
+          uniqueId = getUniqueID();
         }
       }
 
@@ -112,7 +133,7 @@ try {
         }
 
         try {
-          message.addRRsFromPacket((const char*) dh, pr.d_len);
+          message.addRRsFromPacket((const char*) dh, pr.d_len, true);
         }
         catch(std::exception& e)
         {