Added WiMAX-MN-NAI and other server-side attributes
authorAlan T. DeKok <aland@freeradius.org>
Thu, 18 Dec 2008 09:38:31 +0000 (10:38 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 18 Dec 2008 09:38:31 +0000 (10:38 +0100)
These were inexplicably left out.

share/dictionary.freeradius.internal
src/modules/rlm_wimax/rlm_wimax.c

index 7b23676..8a5b569 100644 (file)
@@ -314,8 +314,20 @@ ATTRIBUTE  Tmp-IP-Address-7                        1827    ipaddr
 ATTRIBUTE      Tmp-IP-Address-8                        1828    ipaddr
 ATTRIBUTE      Tmp-IP-Address-9                        1829    ipaddr
 
+#      Range:  1900-1909
+#      WiMAX server-side attributes.
 #
-#      Range:  1900-2999
+#      These are NOT sent in a packet, but are otherwise
+#      available for testing and validation.  The various
+#      things that *are* sent in a packet are derived from
+#      these attributes.
+#
+ATTRIBUTE      WiMAX-MN-NAI                            1900    string
+ATTRIBUTE      WiMAX-FA-IP-Address                     1901    ipaddr
+ATTRIBUTE      WiMAX-MN-FA                             1902    octets
+
+#
+#      Range:  1910-2999
 #              Free
 #
 #      Range:  3000-3999
index 58b7b44..181283b 100644 (file)
@@ -188,8 +188,8 @@ static int wimax_postauth(UNUSED void *instance, REQUEST *request)
        /*
         *      Calculate mobility keys
         */
-       mn_nai = pairfind(request->packet->vps, 1912);
-       if (!mn_nai) mn_nai = pairfind(request->reply->vps, 1912);
+       mn_nai = pairfind(request->packet->vps, 1900);
+       if (!mn_nai) mn_nai = pairfind(request->reply->vps, 1900);
        if (!mn_nai) {
                RDEBUG("WARNING: WiMAX-MN-NAI was not found in the request or in the reply.");
                RDEBUG("WARNING: We cannot calculate MN-HA keys.");
@@ -404,7 +404,7 @@ static int wimax_postauth(UNUSED void *instance, REQUEST *request)
        /*
         *      Generate MN-FA = H(FA-RK, "MN FA" | FA-IP | MN-NAI)
         */
-       ip = pairfind(request->reply->vps, 1913);
+       ip = pairfind(request->reply->vps, 1901);
        if (fa_rk && ip && mn_nai) {
                HMAC_CTX_init(&hmac);
                HMAC_Init_ex(&hmac, fa_rk->vp_octets, fa_rk->length,
@@ -417,7 +417,7 @@ static int wimax_postauth(UNUSED void *instance, REQUEST *request)
                HMAC_Final(&hmac, &mip_rk_1[0], &rk1_len);
 
                vp = radius_paircreate(request, &request->reply->vps,
-                                      1910, PW_TYPE_OCTETS);
+                                      1902, PW_TYPE_OCTETS);
                if (!vp) {
                        RDEBUG("WARNING: Failed creating WiMAX-MN-FA");
                } else {