]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Make ComboAddress::setPort() update the current object 8718/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 20 Jan 2020 11:05:03 +0000 (12:05 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 20 Jan 2020 11:05:03 +0000 (12:05 +0100)
Instead of creating a new one.

pdns/iputils.hh
pdns/packethandler.cc
pdns/pdns_recursor.cc

index 7b171efec995eccd1f7c5360aaa149c91e46105a..77b5667ee2b487f410712a3f45f0a3455815b76c 100644 (file)
@@ -306,11 +306,9 @@ union ComboAddress {
     return ntohs(sin4.sin_port);
   }
 
-  ComboAddress setPort(uint16_t port) const
+  void setPort(uint16_t port)
   {
-    ComboAddress ret(*this);
-    ret.sin4.sin_port=htons(port);
-    return ret;
+    sin4.sin_port = htons(port);
   }
 
   void reset()
index e0e78992fbd1ec9ea85dcd7ef41e23cf6a55313f..6d59cff076d52cd93aa6bc925574974047b557a7 100644 (file)
@@ -784,10 +784,11 @@ int PacketHandler::trySuperMaster(const DNSPacket& p, const DNSName& tsigkeyname
 
 int PacketHandler::trySuperMasterSynchronous(const DNSPacket& p, const DNSName& tsigkeyname)
 {
-  ComboAddress remote = p.getRemote().setPort(53);
+  ComboAddress remote = p.getRemote();
   if(p.hasEDNSSubnet() && ::arg().contains("trusted-notification-proxy", remote.toString())) {
-    remote = p.getRealRemote().getNetwork().setPort(53);
+    remote = p.getRealRemote().getNetwork();
   }
+  remote.setPort(53);
 
   Resolver::res_t nsset;
   try {
index a4f3196d4d3d41e8ec6a4409300c132d939d8f99..76b325497ae76754d92b31b57f36935cea9a93d0 100644 (file)
@@ -814,7 +814,7 @@ static void protobufLogQuery(uint8_t maskV4, uint8_t maskV6, const boost::uuids:
   }
 
   Netmask requestorNM(remote, remote.sin4.sin_family == AF_INET ? maskV4 : maskV6);
-  const ComboAddress requestor = requestorNM.getMaskedNetwork();
+  ComboAddress requestor = requestorNM.getMaskedNetwork();
   requestor.setPort(remote.getPort());
   RecProtoBufMessage message(DNSProtoBufMessage::Query, uniqueId, &requestor, &local, qname, qtype, qclass, id, tcp, len);
   message.setServerIdentity(SyncRes::s_serverID);