It seems there's a endianness problem in apradar 0.52. On my powerbook, apradar reports IP address with the last octet first and the first octet last. Example: "100.3.168.192" instead of the proper "192.168.3.100".
Logged In: YES user_id=1185368
Could you try the following patch:
===================== RCS file: /cvsroot/apradar/apradar/src/NetworkInterface.cc,v retrieving revision 1.20 diff -r1.20 NetworkInterface.cc 387,389c387,388 < unsigned int addr = sin->sin_addr.s_addr; < return new Ipv4Address( addr & 0xff, < (addr & 0xff00) >> 8, --- > unsigned int addr = ntohl(sin->sin_addr.s_addr); > return new Ipv4Address( (addr & 0xff000000) >> 24, 391c390,391 < (addr & 0xff000000) >> 24); --- > (addr & 0xff00) >> 8, > (addr & 0xff) );
Log in to post a comment.
Logged In: YES
user_id=1185368
Could you try the following patch:
Index: src/NetworkInterface.cc
=====================
RCS file: /cvsroot/apradar/apradar/src/NetworkInterface.cc,v
retrieving revision 1.20
diff -r1.20 NetworkInterface.cc
387,389c387,388
< unsigned int addr = sin->sin_addr.s_addr;
< return new Ipv4Address( addr & 0xff,
< (addr & 0xff00) >> 8,
---
> unsigned int addr = ntohl(sin->sin_addr.s_addr);
> return new Ipv4Address( (addr & 0xff000000) >> 24,
391c390,391
< (addr & 0xff000000) >> 24);
---
> (addr & 0xff00) >> 8,
> (addr & 0xff) );