# HG changeset patch # User Romain Kuntz # Date 1322008456 28800 # Node ID 03b8d454484270bd9f86a0a830d7064f8af44811 # Parent 0caf2d2ceb906b305eaabe670a127057487a7754 Fixed the mip6a dictionnary. The MIP-Agent-Info AVP does not exist and should be MIP6-Agent-Info (I reported an errata to the RFC5778). The MIP6-Answer command must set the CMD_FLAG_REQUEST flag mask (mandated by libfdproto/dictionary.c in fd_dict_new(), which checks if the flag is set for DICT_COMMAND) diff -r 0caf2d2ceb90 -r 03b8d4544842 extensions/dict_mip6a/dict_mip6a.c --- a/extensions/dict_mip6a/dict_mip6a.c Tue Nov 22 12:20:36 2011 -0800 +++ b/extensions/dict_mip6a/dict_mip6a.c Tue Nov 22 16:34:16 2011 -0800 @@ -80,7 +80,7 @@ Acct-Session-Time 46 2866, 4004 Unsigned32 MIP6-Feature-Vector ---------------------------------- MIP-Mobile-Node-Address ---------------------------------- - MIP-Agent-Info ---------------------------------- + MIP6-Agent-Info ---------------------------------- Chargeable-User-Identity ---------------------------------- Service-Selection ---------------------------------- QoS-Resources ---------------------------------- @@ -961,7 +961,7 @@ 325, /* Code */ "MIP6-Request", /* Name */ CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */ - CMD_FLAG_PROXIABLE /* Fixed flag values */ + CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE /* Fixed flag values */ }; struct local_rules_definition rules[] = { { "Session-Id", RULE_FIXED_HEAD, -1, 1 } @@ -999,7 +999,7 @@ ,{ "Route-Record", RULE_OPTIONAL, -1, -1 } }; - CHECK_dict_new( DICT_COMMAND, &data , mip6a, &cmd); + CHECK_dict_new( DICT_COMMAND, &data, mip6a, &cmd); PARSE_loc_rules( rules, cmd ); } @@ -1034,7 +1034,7 @@ [ Error-Reporting-Host ] [ Re-Auth-Request-Type ] [ MIP6-Feature-Vector ] - [ MIP-Agent-Info ] + [ MIP6-Agent-Info ] *2[ MIP-Mobile-Node-Address ] [ MIP-MN-HA-MSA ] * [ QoS-Resources ] @@ -1053,7 +1053,7 @@ struct dict_cmd_data data = { 325, /* Code */ "MIP6-Answer", /* Name */ - CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */ + CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */ CMD_FLAG_PROXIABLE /* Fixed flag values */ }; struct local_rules_definition rules[] = @@ -1070,7 +1070,7 @@ ,{ "Error-Reporting-Host", RULE_OPTIONAL, -1, 1 } ,{ "Re-Auth-Request-Type", RULE_OPTIONAL, -1, 1 } ,{ "MIP6-Feature-Vector", RULE_OPTIONAL, -1, 1 } - ,{ "MIP-Agent-Info", RULE_OPTIONAL, -1, 1 } + ,{ "MIP6-Agent-Info", RULE_OPTIONAL, -1, 1 } ,{ "MIP-Mobile-Node-Address", RULE_OPTIONAL, -1, 2 } ,{ "MIP-MN-HA-MSA", RULE_OPTIONAL, -1, 1 } ,{ "QoS-Resources", RULE_OPTIONAL, -1, -1 } @@ -1084,7 +1084,7 @@ ,{ "Failed-AVP", RULE_OPTIONAL, -1, -1 } }; - CHECK_dict_new( DICT_COMMAND, &data , mip6a, &cmd); + CHECK_dict_new( DICT_COMMAND, &data, mip6a, &cmd); PARSE_loc_rules( rules, cmd ); } }