Skip to content

Commit e333afb

Browse files
committed
implement logic to use v6 dns only when global v6 address is assigned and remove IPv6Address
1 parent b37ce6c commit e333afb

File tree

19 files changed

+166
-310
lines changed

19 files changed

+166
-310
lines changed

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ set(CORE_SRCS
5151
cores/esp32/FunctionalInterrupt.cpp
5252
cores/esp32/HardwareSerial.cpp
5353
cores/esp32/IPAddress.cpp
54-
cores/esp32/IPv6Address.cpp
5554
cores/esp32/libb64/cdecode.c
5655
cores/esp32/libb64/cencode.c
5756
cores/esp32/main.cpp

cores/esp32/IPv6Address.cpp

Lines changed: 0 additions & 90 deletions
This file was deleted.

cores/esp32/IPv6Address.h

Lines changed: 0 additions & 94 deletions
This file was deleted.

docs/source/api/wifi.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,9 +345,9 @@ Function to get the IPv6 address.
345345

346346
.. code-block:: arduino
347347
348-
IPv6Address softAPIPv6();
348+
IPAddress softAPIPv6();
349349
350-
The function will return the AP IPv6 address in ``IPv6Address`` format.
350+
The function will return the AP IPv6 address in ``IPAddress`` format.
351351

352352
softAPgetHostname
353353
*****************

libraries/AsyncUDP/src/AsyncUDP.cpp

Lines changed: 13 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -424,12 +424,12 @@ IPAddress AsyncUDPPacket::localIP()
424424
return IPAddress(_localIp.u_addr.ip4.addr);
425425
}
426426

427-
IPv6Address AsyncUDPPacket::localIPv6()
427+
IPAddress AsyncUDPPacket::localIPv6()
428428
{
429429
if(_localIp.type != IPADDR_TYPE_V6){
430-
return IPv6Address();
430+
return IPAddress(IPv6);
431431
}
432-
return IPv6Address(_localIp.u_addr.ip6.addr);
432+
return IPAddress(IPv6, (const uint8_t *)_localIp.u_addr.ip6.addr, _localIp.u_addr.ip6.zone);
433433
}
434434

435435
uint16_t AsyncUDPPacket::localPort()
@@ -445,12 +445,12 @@ IPAddress AsyncUDPPacket::remoteIP()
445445
return IPAddress(_remoteIp.u_addr.ip4.addr);
446446
}
447447

448-
IPv6Address AsyncUDPPacket::remoteIPv6()
448+
IPAddress AsyncUDPPacket::remoteIPv6()
449449
{
450450
if(_remoteIp.type != IPADDR_TYPE_V6){
451-
return IPv6Address();
451+
return IPAddress(IPv6);
452452
}
453-
return IPv6Address(_remoteIp.u_addr.ip6.addr);
453+
return IPAddress(IPv6, (const uint8_t *)_remoteIp.u_addr.ip6.addr, _remoteIp.u_addr.ip6.zone);
454454
}
455455

456456
uint16_t AsyncUDPPacket::remotePort()
@@ -739,32 +739,28 @@ bool AsyncUDP::listen(uint16_t port)
739739
bool AsyncUDP::listen(const IPAddress addr, uint16_t port)
740740
{
741741
ip_addr_t laddr;
742-
laddr.type = IPADDR_TYPE_V4;
743-
laddr.u_addr.ip4.addr = addr;
742+
addr.to_ip_addr_t(&laddr);
744743
return listen(&laddr, port);
745744
}
746745

747746
bool AsyncUDP::listenMulticast(const IPAddress addr, uint16_t port, uint8_t ttl, tcpip_adapter_if_t tcpip_if)
748747
{
749748
ip_addr_t laddr;
750-
laddr.type = IPADDR_TYPE_V4;
751-
laddr.u_addr.ip4.addr = addr;
749+
addr.to_ip_addr_t(&laddr);
752750
return listenMulticast(&laddr, port, ttl, tcpip_if);
753751
}
754752

755753
bool AsyncUDP::connect(const IPAddress addr, uint16_t port)
756754
{
757755
ip_addr_t daddr;
758-
daddr.type = IPADDR_TYPE_V4;
759-
daddr.u_addr.ip4.addr = addr;
756+
addr.to_ip_addr_t(&daddr);
760757
return connect(&daddr, port);
761758
}
762759

763760
size_t AsyncUDP::writeTo(const uint8_t *data, size_t len, const IPAddress addr, uint16_t port, tcpip_adapter_if_t tcpip_if)
764761
{
765762
ip_addr_t daddr;
766-
daddr.type = IPADDR_TYPE_V4;
767-
daddr.u_addr.ip4.addr = addr;
763+
addr.to_ip_addr_t(&daddr);
768764
return writeTo(data, len, &daddr, port, tcpip_if);
769765
}
770766

@@ -776,44 +772,12 @@ IPAddress AsyncUDP::listenIP()
776772
return IPAddress(_pcb->remote_ip.u_addr.ip4.addr);
777773
}
778774

779-
bool AsyncUDP::listen(const IPv6Address addr, uint16_t port)
780-
{
781-
ip_addr_t laddr;
782-
laddr.type = IPADDR_TYPE_V6;
783-
memcpy((uint8_t*)(laddr.u_addr.ip6.addr), (const uint8_t*)addr, 16);
784-
return listen(&laddr, port);
785-
}
786-
787-
bool AsyncUDP::listenMulticast(const IPv6Address addr, uint16_t port, uint8_t ttl, tcpip_adapter_if_t tcpip_if)
788-
{
789-
ip_addr_t laddr;
790-
laddr.type = IPADDR_TYPE_V6;
791-
memcpy((uint8_t*)(laddr.u_addr.ip6.addr), (const uint8_t*)addr, 16);
792-
return listenMulticast(&laddr, port, ttl, tcpip_if);
793-
}
794-
795-
bool AsyncUDP::connect(const IPv6Address addr, uint16_t port)
796-
{
797-
ip_addr_t daddr;
798-
daddr.type = IPADDR_TYPE_V6;
799-
memcpy((uint8_t*)(daddr.u_addr.ip6.addr), (const uint8_t*)addr, 16);
800-
return connect(&daddr, port);
801-
}
802-
803-
size_t AsyncUDP::writeTo(const uint8_t *data, size_t len, const IPv6Address addr, uint16_t port, tcpip_adapter_if_t tcpip_if)
804-
{
805-
ip_addr_t daddr;
806-
daddr.type = IPADDR_TYPE_V6;
807-
memcpy((uint8_t*)(daddr.u_addr.ip6.addr), (const uint8_t*)addr, 16);
808-
return writeTo(data, len, &daddr, port, tcpip_if);
809-
}
810-
811-
IPv6Address AsyncUDP::listenIPv6()
775+
IPAddress AsyncUDP::listenIPv6()
812776
{
813777
if(!_pcb || _pcb->remote_ip.type != IPADDR_TYPE_V6){
814-
return IPv6Address();
778+
return IPAddress(IPv6);
815779
}
816-
return IPv6Address(_pcb->remote_ip.u_addr.ip6.addr);
780+
return IPAddress(IPv6, (const uint8_t *)_pcb->remote_ip.u_addr.ip6.addr, _pcb->remote_ip.u_addr.ip6.zone);
817781
}
818782

819783
size_t AsyncUDP::write(const uint8_t *data, size_t len)
@@ -866,14 +830,6 @@ size_t AsyncUDP::sendTo(AsyncUDPMessage &message, const IPAddress addr, uint16_t
866830
return writeTo(message.data(), message.length(), addr, port, tcpip_if);
867831
}
868832

869-
size_t AsyncUDP::sendTo(AsyncUDPMessage &message, const IPv6Address addr, uint16_t port, tcpip_adapter_if_t tcpip_if)
870-
{
871-
if(!message) {
872-
return 0;
873-
}
874-
return writeTo(message.data(), message.length(), addr, port, tcpip_if);
875-
}
876-
877833
size_t AsyncUDP::send(AsyncUDPMessage &message)
878834
{
879835
if(!message) {

libraries/AsyncUDP/src/AsyncUDP.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#define ESPASYNCUDP_H
33

44
#include "IPAddress.h"
5-
#include "IPv6Address.h"
65
#include "Print.h"
76
#include "Stream.h"
87
#include <functional>
@@ -81,10 +80,10 @@ class AsyncUDPPacket : public Stream
8180
tcpip_adapter_if_t interface();
8281

8382
IPAddress localIP();
84-
IPv6Address localIPv6();
83+
IPAddress localIPv6();
8584
uint16_t localPort();
8685
IPAddress remoteIP();
87-
IPv6Address remoteIPv6();
86+
IPAddress remoteIPv6();
8887
uint16_t remotePort();
8988
void remoteMac(uint8_t * mac);
9089

@@ -121,22 +120,18 @@ class AsyncUDP : public Print
121120

122121
bool listen(const ip_addr_t *addr, uint16_t port);
123122
bool listen(const IPAddress addr, uint16_t port);
124-
bool listen(const IPv6Address addr, uint16_t port);
125123
bool listen(uint16_t port);
126124

127125
bool listenMulticast(const ip_addr_t *addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
128126
bool listenMulticast(const IPAddress addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
129-
bool listenMulticast(const IPv6Address addr, uint16_t port, uint8_t ttl=1, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
130127

131128
bool connect(const ip_addr_t *addr, uint16_t port);
132129
bool connect(const IPAddress addr, uint16_t port);
133-
bool connect(const IPv6Address addr, uint16_t port);
134130

135131
void close();
136132

137133
size_t writeTo(const uint8_t *data, size_t len, const ip_addr_t *addr, uint16_t port, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
138134
size_t writeTo(const uint8_t *data, size_t len, const IPAddress addr, uint16_t port, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
139-
size_t writeTo(const uint8_t *data, size_t len, const IPv6Address addr, uint16_t port, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
140135
size_t write(const uint8_t *data, size_t len);
141136
size_t write(uint8_t data);
142137

@@ -147,14 +142,13 @@ class AsyncUDP : public Print
147142

148143
size_t sendTo(AsyncUDPMessage &message, const ip_addr_t *addr, uint16_t port, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
149144
size_t sendTo(AsyncUDPMessage &message, const IPAddress addr, uint16_t port, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
150-
size_t sendTo(AsyncUDPMessage &message, const IPv6Address addr, uint16_t port, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
151145
size_t send(AsyncUDPMessage &message);
152146

153147
size_t broadcastTo(AsyncUDPMessage &message, uint16_t port, tcpip_adapter_if_t tcpip_if=TCPIP_ADAPTER_IF_MAX);
154148
size_t broadcast(AsyncUDPMessage &message);
155149

156150
IPAddress listenIP();
157-
IPv6Address listenIPv6();
151+
IPAddress listenIPv6();
158152
bool connected();
159153
esp_err_t lastErr();
160154
operator bool();

0 commit comments

Comments
 (0)