diff options
author | Colin Guthrie <colin@mageia.org> | 2013-10-17 19:56:43 +0100 |
---|---|---|
committer | Colin Guthrie <colin@mageia.org> | 2013-10-18 09:35:39 +0100 |
commit | 9cec39ee7ef6a745c3a9b19d1ba6e89b09da43c3 (patch) | |
tree | 3a122662900195e7b14067a03cd5124358db9daf /src/ipcalc.c | |
parent | 423b437e3d29673dfad4051515506e6d711d20e6 (diff) | |
parent | 8f5a82934f801ec94847fc899d235a39df9967a7 (diff) | |
download | initscripts-user/colin/update-to-9-50.tar initscripts-user/colin/update-to-9-50.tar.gz initscripts-user/colin/update-to-9-50.tar.bz2 initscripts-user/colin/update-to-9-50.tar.xz initscripts-user/colin/update-to-9-50.zip |
Merge tag 'initscripts-9.50-1' into distro/mgauser/colin/update-to-9-50
Tag as initscripts-9.50-1
Conflicts:
Makefile
lang.csh
lang.sh
po/Makefile
rc.d/init.d/network
service
sysconfig.txt
sysconfig/init
sysconfig/network-scripts/ifup
sysconfig/network-scripts/ifup-eth
sysconfig/network-scripts/ifup-ippp
sysconfig/network-scripts/network-functions
sysctl.conf
systemd/fedora-storage-init
Diffstat (limited to 'src/ipcalc.c')
-rw-r--r-- | src/ipcalc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ipcalc.c b/src/ipcalc.c index 7316f058..bec14eb5 100644 --- a/src/ipcalc.c +++ b/src/ipcalc.c @@ -141,7 +141,12 @@ struct in_addr calc_broadcast(struct in_addr addr, int prefix) struct in_addr broadcast; memset(&broadcast, 0, sizeof(broadcast)); - broadcast.s_addr = (addr.s_addr & mask.s_addr) | ~mask.s_addr; + +/* if prefix is set to 31 return 255.255.255.255 (RFC3021) */ + if (mask.s_addr == htonl(0xFFFFFFFE)) + broadcast.s_addr = htonl(0xFFFFFFFF); + else + broadcast.s_addr = (addr.s_addr & mask.s_addr) | ~mask.s_addr; return broadcast; } |