You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I recently updated my home router to a firmware that uses miniupnpd 1.8.20140401. I immediately began seeing messages like this in the system log:
Apr 20 03:32:10 miniupnpd[474]: PCP: External IP in request didn't match interface IP
After recompiling miniupnpd with -DDEBUG, I got this information:
Apr 20 03:32:10 miniupnpd[474]: PCP request received from 192.168.1.224:5353 60bytes
Apr 20 03:32:10 miniupnpd[474]: PCP MAP: v2 Opcode specific information.
Apr 20 03:32:10 miniupnpd[474]: MAP nonce: 70ec7ba6133c3dda59e45bc2
Apr 20 03:32:10 miniupnpd[474]: MAP protocol: 17
Apr 20 03:32:10 miniupnpd[474]: MAP int port: 16402
Apr 20 03:32:10 miniupnpd[474]: MAP ext port: 55709
Apr 20 03:32:10 miniupnpd[474]: MAP Ext IP: ::ffff:0.0.0.0
Apr 20 03:32:10 miniupnpd[474]: PCP: External IP in request didn't match interface IP
Apr 20 03:32:10 miniupnpd[474]: Interface IP ::ffff:xx.xxx.xx.xx
Apr 20 03:32:10 miniupnpd[474]: IP in the PCP request ::ffff:0.0.0.0
(where the x's are my public IPv4 address). So miniupnpd is complaining about a MAP request using the all-zeroes IPv4 suggested external address ::ffff:0.0.0.0 (see http://tools.ietf.org/html/rfc6887#section-5).
Looking at the code, it looks like CheckExternalAddress uses IN6_IS_ADDR_UNSPECIFIED to check for all-zeroes addresses. However, that macro only works for actual IPv6 addresses, not IPv6-mapped IPv4 addresses (it essentially just checks that all 16 bytes of the address are zero).
The text was updated successfully, but these errors were encountered:
I recently updated my home router to a firmware that uses miniupnpd 1.8.20140401. I immediately began seeing messages like this in the system log:
After recompiling miniupnpd with
-DDEBUG
, I got this information:(where the x's are my public IPv4 address). So miniupnpd is complaining about a MAP request using the all-zeroes IPv4 suggested external address
::ffff:0.0.0.0
(see http://tools.ietf.org/html/rfc6887#section-5).Looking at the code, it looks like
CheckExternalAddress
usesIN6_IS_ADDR_UNSPECIFIED
to check for all-zeroes addresses. However, that macro only works for actual IPv6 addresses, not IPv6-mapped IPv4 addresses (it essentially just checks that all 16 bytes of the address are zero).The text was updated successfully, but these errors were encountered: