From: Steven Barth Date: Mon, 7 Sep 2015 16:21:15 +0000 (+0000) Subject: map: ignore insignificant PSID bits X-Git-Tag: reboot~2121 X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;ds=sidebyside;h=7af30b4cef9a64e357047234b5ec7e2d3b85677d;p=openwrt%2Fopenwrt.git map: ignore insignificant PSID bits Signed-off-by: Steven Barth SVN-Revision: 46804 --- diff --git a/package/network/ipv6/map/Makefile b/package/network/ipv6/map/Makefile index a45e9bc1fd..1d423150b9 100644 --- a/package/network/ipv6/map/Makefile +++ b/package/network/ipv6/map/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=map PKG_VERSION:=4 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk diff --git a/package/network/ipv6/map/src/mapcalc.c b/package/network/ipv6/map/src/mapcalc.c index b9fab4d923..7aa28e57d5 100644 --- a/package/network/ipv6/map/src/mapcalc.c +++ b/package/network/ipv6/map/src/mapcalc.c @@ -314,7 +314,9 @@ int main(int argc, char *argv[]) psid = be16_to_cpu(psid16); } - psid16 = cpu_to_be16(psid >> (16 - psidlen)); + psid = psid >> (16 - psidlen); + psid16 = cpu_to_be16(psid); + psid = psid << (16 - psidlen); if (prefix4len < 0 || prefix6len < 0 || ealen < 0 || ealen < psidlen) { fprintf(stderr, "Skipping invalid or incomplete rule: %s\n", argv[i]);