From: cyrus Date: Mon, 7 Sep 2015 16:21:15 +0000 (+0000) Subject: map: ignore insignificant PSID bits X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=74936d9c34f0c348cc438177d52536362e70ac3c;p=openwrt.git map: ignore insignificant PSID bits Signed-off-by: Steven Barth git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46804 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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]);