In IPv4 the default route can be written as 0.0.0.0/0 In IPv6 the default route can be written as ::/0 If u try owipcalc 0.0.0.0/0 contains 1.1.1.1 or owipcalc ::/0 contains ::1 owipcalc will respond with 0 meaning that the "default prefixes" do not contain the routes. That is why we check now for 0 prefix. Furthermore, if the prefix is 0, i will be 16. We will access a negative array entry in the line: uint8_t net1 = x->s6_addr[15-i] & m; Divide by % 16 to prevent i becoming 16: uint8_t i = ((128 - a->prefix) / 8) % 16; Signed-off-by: Nick Hainke <vincent@systemli.org>
44 lines
1,004 B
Makefile
44 lines
1,004 B
Makefile
#
|
|
# Copyright (C) 2012 Jo-Philipp Wich <jo@mein.io>
|
|
#
|
|
# This is free software, licensed under the Apache 2 license.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=owipcalc
|
|
PKG_RELEASE:=6
|
|
PKG_LICENSE:=Apache-2.0
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
|
|
define Package/owipcalc
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
TITLE:=Simple IPv4/IPv6 address calculator
|
|
MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
|
endef
|
|
|
|
define Package/owipcalc/description
|
|
The owipcalc utility supports a number of calculations and tests to work
|
|
with ip-address ranges, this is useful for scripts that e.g. need to
|
|
partition ipv6-prefixes into small subnets or to calculate address ranges
|
|
for dhcp pools.
|
|
endef
|
|
|
|
define Build/Configure
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(TARGET_CC) $(TARGET_CFLAGS) \
|
|
-o $(PKG_BUILD_DIR)/owipcalc $(PKG_BUILD_DIR)/owipcalc.c
|
|
endef
|
|
|
|
|
|
define Package/owipcalc/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/owipcalc $(1)/usr/bin/owipcalc
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,owipcalc))
|