Page MenuHomeFreeBSD

ifconfig: fix endianness bug displaying pfsync interfaces
ClosedPublic

Authored by asomers on Jan 28 2019, 4:48 PM.
Tags
None
Referenced Files
F170510999: D19005.id.diff
Sat, Sep 5, 4:15 AM
F170507152: D19005.id53316.diff
Sat, Sep 5, 3:50 AM
F170473196: D19005.id.diff
Sat, Sep 5, 12:02 AM
F170372744: D19005.id53324.diff
Fri, Sep 4, 12:24 PM
Unknown Object (File)
Thu, Sep 3, 4:26 AM
Unknown Object (File)
Wed, Sep 2, 3:14 PM
Unknown Object (File)
Wed, Sep 2, 4:41 AM
Unknown Object (File)
Tue, Sep 1, 3:26 AM
Subscribers

Details

Summary

ifconfig: fix endianness bug displaying pfsync interfaces

Test Plan

ifconfig tun0 create
kldload pfsync
ifconfig pfsync syncdev tun0
ifconfig pfsync0 # Verify that peer address doesn't display

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kp added inline comments.
sbin/ifconfig/ifpfsync.c
198 ↗(On Diff #53316)

I think that needs to be 'htonl()'.

It'll work of course, but INADDR_PFSYNC_GROUP is in host byte order, and preq.pfsyncr_syncpeer.s_addr is in network order, so you want to go from host to network order, and not the other way around.

sbin/ifconfig/ifpfsync.c
198 ↗(On Diff #53316)

Oh, my mistake. I saw the definition and read it as a byte array, ignoring the leading (in_addr_t)

#define INADDR_PFSYNC_GROUP     ((in_addr_t)0xe00000f0) /* 224.0.0.240 */
This revision is now accepted and ready to land.Jan 28 2019, 5:44 PM
This revision was automatically updated to reflect the committed changes.