Changeset 156:e2dc300819b3 in freeDiameter for freeDiameter/dict_base_proto.c
- Timestamp:
- Jan 20, 2010, 4:04:25 PM (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
freeDiameter/dict_base_proto.c
r119 r156 144 144 } 145 145 146 static void Address_dump(union avp_value * avp_value) 147 { 148 fd_log_debug("*todo: dump address*"); 149 } 150 151 static void UTF8String_dump(union avp_value * avp_value) 152 { 153 size_t len = avp_value->os.len; 154 if (len > 42) 155 len = 42; /* avoid very long strings */ 156 fd_log_debug("%.*s", len, avp_value->os.data); 157 } 158 159 146 160 147 161 … … 231 245 the content and format of the remaining octets. 232 246 */ 233 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "Address" , Address_interpret , Address_encode };247 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "Address" , Address_interpret , Address_encode, Address_dump }; 234 248 CHECK_dict_new( DICT_TYPE, &data , NULL, NULL); 235 249 } … … 250 264 This procedure MUST be supported by all DIAMETER nodes. 251 265 */ 252 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "Time" , NULL , NULL };266 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "Time" , NULL , NULL , NULL }; 253 267 CHECK_dict_new( DICT_TYPE, &data , NULL, NULL); 254 268 } … … 288 302 octets, not characters. 289 303 */ 290 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "UTF8String" , NULL , NULL 304 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "UTF8String" , NULL , NULL , UTF8String_dump }; 291 305 CHECK_dict_new( DICT_TYPE, &data , NULL, NULL); 292 306 } … … 317 331 Domain Name (IDNs). 318 332 */ 319 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "DiameterIdentity" , NULL , NULL };333 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "DiameterIdentity" , NULL , NULL , UTF8String_dump }; 320 334 CHECK_dict_new( DICT_TYPE, &data , NULL, NULL); 321 335 } … … 372 386 aaa://host.example.com:1813;transport=udp;protocol=radius 373 387 */ 374 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "DiameterURI" , NULL , NULL };388 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "DiameterURI" , NULL , NULL , UTF8String_dump }; 375 389 CHECK_dict_new( DICT_TYPE, &data , NULL, NULL); 376 390 } … … 434 448 infrastructure. 435 449 */ 436 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "IPFilterRule" , NULL , NULL };450 struct dict_type_data data = { AVP_TYPE_OCTETSTRING, "IPFilterRule" , NULL , NULL , UTF8String_dump }; 437 451 CHECK_dict_new( DICT_TYPE, &data , NULL, NULL); 438 452 } … … 604 618 */ 605 619 struct dict_object * type; 606 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Disconnect-Cause)" , NULL, NULL };620 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Disconnect-Cause)" , NULL, NULL, NULL }; 607 621 struct dict_enumval_data t_0 = { "REBOOTING", { .i32 = 0 }}; 608 622 struct dict_enumval_data t_1 = { "BUSY", { .i32 = 1 }}; … … 909 923 910 924 struct dict_object * type; 911 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Inband-Security-Id)" , NULL, NULL };925 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Inband-Security-Id)" , NULL, NULL, NULL }; 912 926 struct dict_enumval_data t_0 = { "NO_INBAND_SECURITY", { .u32 = ACV_ISI_NO_INBAND_SECURITY }}; 913 927 struct dict_enumval_data t_1 = { "TLS", { .u32 = ACV_ISI_TLS }}; … … 1103 1117 */ 1104 1118 struct dict_object * type; 1105 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Redirect-Host-Usage)" , NULL, NULL };1119 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Redirect-Host-Usage)" , NULL, NULL, NULL }; 1106 1120 struct dict_enumval_data t_0 = { "DONT_CACHE", { .i32 = 0 }}; 1107 1121 struct dict_enumval_data t_1 = { "ALL_SESSION", { .i32 = 1 }}; … … 1197 1211 */ 1198 1212 struct dict_object * type; 1199 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Result-Code)" , NULL, NULL };1213 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Result-Code)" , NULL, NULL, NULL }; 1200 1214 struct dict_avp_data data = { 1201 1215 268, /* Code */ … … 1796 1810 */ 1797 1811 struct dict_object * type; 1798 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Experimental-Result-Code)" , NULL, NULL };1812 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Experimental-Result-Code)" , NULL, NULL, NULL }; 1799 1813 struct dict_avp_data data = { 1800 1814 298, /* Code */ … … 1843 1857 */ 1844 1858 struct dict_object * type; 1845 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Auth-Request-Type)" , NULL, NULL };1859 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Auth-Request-Type)" , NULL, NULL, NULL }; 1846 1860 struct dict_enumval_data t_1 = { "AUTHENTICATE_ONLY", { .i32 = 1 }}; 1847 1861 struct dict_enumval_data t_2 = { "AUTHORIZE_ONLY", { .i32 = 2 }}; … … 1985 1999 */ 1986 2000 struct dict_object * type; 1987 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Auth-Session-State)" , NULL, NULL };2001 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Auth-Session-State)" , NULL, NULL, NULL }; 1988 2002 struct dict_enumval_data t_0 = { "STATE_MAINTAINED", { .i32 = 0 }}; 1989 2003 struct dict_enumval_data t_1 = { "NO_STATE_MAINTAINED", { .i32 = 1 }}; … … 2028 2042 */ 2029 2043 struct dict_object * type; 2030 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Re-Auth-Request-Type)" , NULL, NULL };2044 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Re-Auth-Request-Type)" , NULL, NULL, NULL }; 2031 2045 struct dict_enumval_data t_0 = { "AUTHORIZE_ONLY", { .i32 = 0 }}; 2032 2046 struct dict_enumval_data t_1 = { "AUTHORIZE_AUTHENTICATE", { .i32 = 1 }}; … … 2155 2169 */ 2156 2170 struct dict_object * type; 2157 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Termination-Cause)" , NULL, NULL };2171 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Termination-Cause)" , NULL, NULL, NULL }; 2158 2172 struct dict_enumval_data t_1 = { "DIAMETER_LOGOUT", { .i32 = 1 }}; 2159 2173 struct dict_enumval_data t_2 = { "DIAMETER_SERVICE_NOT_PROVIDED", { .i32 = 2 }}; … … 2267 2281 2268 2282 struct dict_object * type; 2269 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Session-Binding)" , NULL, NULL };2283 struct dict_type_data tdata = { AVP_TYPE_UNSIGNED32, "Enumerated*(Session-Binding)" , NULL, NULL, NULL }; 2270 2284 struct dict_enumval_data t_1 = { "RE_AUTH", { .u32 = 1 }}; 2271 2285 struct dict_enumval_data t_2 = { "STR", { .u32 = 2 }}; … … 2329 2343 */ 2330 2344 struct dict_object * type; 2331 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Session-Server-Failover)" , NULL, NULL };2345 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Session-Server-Failover)" , NULL, NULL, NULL }; 2332 2346 struct dict_enumval_data t_0 = { "REFUSE_SERVICE", { .i32 = 0 }}; 2333 2347 struct dict_enumval_data t_1 = { "TRY_AGAIN", { .i32 = 1 }}; … … 2461 2475 */ 2462 2476 struct dict_object * type; 2463 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Accounting-Record-Type)" , NULL, NULL };2477 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Accounting-Record-Type)" , NULL, NULL, NULL }; 2464 2478 struct dict_enumval_data t_1 = { "EVENT_RECORD", { .i32 = 1 }}; 2465 2479 struct dict_enumval_data t_2 = { "START_RECORD", { .i32 = 2 }}; … … 2655 2669 */ 2656 2670 struct dict_object * type; 2657 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Accounting-Realtime-Required)" , NULL, NULL };2671 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Accounting-Realtime-Required)" , NULL, NULL, NULL }; 2658 2672 struct dict_enumval_data t_1 = { "DELIVER_AND_GRANT", { .i32 = 1 }}; 2659 2673 struct dict_enumval_data t_2 = { "GRANT_AND_STORE", { .i32 = 2 }};
Note: See TracChangeset
for help on using the changeset viewer.