Changeset 1085:7d7266115a34 in freeDiameter for libfdcore/endpoints.c
- Timestamp:
- May 3, 2013, 8:20:56 PM (11 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libfdcore/endpoints.c
r1033 r1085 58 58 } 59 59 60 if (TRACE_BOOL(ANNOYING + 1)) {61 char buf[1024];62 sSA_DUMP_NODE_SERV( buf, sizeof(buf), sa, NI_NUMERICHOST | NI_NUMERICSERV );63 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_add_merge Current list:");64 fd_ep_dump( 4, list );65 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_add_merge Adding:");66 fd_log_debug(" %s {%s%s%s%s%s}", buf,67 (flags & EP_FL_CONF) ? "C" : "-",68 (flags & EP_FL_DISC) ? "D" : "-",69 (flags & EP_FL_ADV) ? "A" : "-",70 (flags & EP_FL_LL) ? "L" : "-",71 (flags & EP_FL_PRIMARY) ? "P" : "-");72 }73 60 ptr.sa = sa; 74 61 … … 82 69 || ((ntohl(ptr.sin->sin_addr.s_addr) & 0xe0000000) == 0xe0000000) 83 70 || (ptr.sin->sin_addr.s_addr == INADDR_BROADCAST)) { 84 if (TRACE_BOOL(ANNOYING + 1)) { 85 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_add_merge Address was ignored, not added."); 86 } 71 LOG_A(" DEBUG:fd_ep_add_merge Address was ignored, not added."); 87 72 return 0; 88 73 } … … 98 83 || IN6_IS_ADDR_LINKLOCAL(&ptr.sin6->sin6_addr) 99 84 || IN6_IS_ADDR_SITELOCAL(&ptr.sin6->sin6_addr)) { 100 if (TRACE_BOOL(ANNOYING + 1)) { 101 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_add_merge Address was ignored, not added."); 102 } 85 LOG_A(" DEBUG:fd_ep_add_merge Address was ignored, not added."); 103 86 return 0; 104 87 } … … 108 91 109 92 default: 110 if (TRACE_BOOL(ANNOYING + 1)) { 111 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_add_merge Address family was unknown, not added."); 112 } 93 LOG_A(" DEBUG:fd_ep_add_merge Address family was unknown, not added."); 113 94 return 0; 114 95 } … … 175 156 ep->flags |= flags; 176 157 177 if (TRACE_BOOL(ANNOYING + 1)) {178 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_add_merge New list:");179 fd_ep_dump( 4, list );180 }181 158 return 0; 182 159 } … … 190 167 CHECK_PARAMS(list); 191 168 192 if (TRACE_BOOL(ANNOYING + 1)) {193 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_filter Filter this list for flags %x:", flags);194 fd_ep_dump( 4, list );195 }196 169 for (li = list->next; li != list; li = li->next) { 197 170 struct fd_endpoint * ep = (struct fd_endpoint *)li; … … 204 177 } 205 178 206 if (TRACE_BOOL(ANNOYING + 1)) {207 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_filter Resulting list:");208 fd_ep_dump( 4, list );209 }210 179 return 0; 211 180 } … … 219 188 CHECK_PARAMS(list); 220 189 221 if (TRACE_BOOL(ANNOYING + 1)) {222 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_filter_family Filter this list for family %d:", af);223 fd_ep_dump( 4, list );224 }225 190 for (li = list->next; li != list; li = li->next) { 226 191 struct fd_endpoint * ep = (struct fd_endpoint *)li; … … 233 198 } 234 199 235 if (TRACE_BOOL(ANNOYING + 1)) {236 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_filter_family Resulting list:");237 fd_ep_dump( 4, list );238 }239 200 return 0; 240 201 } … … 253 214 li_ex = exclude_list->next; 254 215 255 if (TRACE_BOOL(ANNOYING + 1)) {256 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_filter_list Filter this list ");257 fd_ep_dump( 4, list );258 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_filter_list Removing from list");259 fd_ep_dump( 6, exclude_list );260 }261 216 /* Now browse both lists in parallel */ 262 217 while ((li_out != list) && (li_ex != exclude_list)) { … … 304 259 } 305 260 306 if (TRACE_BOOL(ANNOYING + 1)) {307 TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_filter_list Resulting list:");308 fd_ep_dump( 4, list );309 }310 261 return 0; 311 262 … … 334 285 } 335 286 336 void fd_ep_dump_one( char * prefix, struct fd_endpoint * ep ) 337 { 338 char buf[1024]; 339 340 sSA_DUMP_NODE_SERV( buf, sizeof(buf), &ep->sa, NI_NUMERICHOST | NI_NUMERICSERV ); 341 fd_log_debug("%s%s {%s%s%s%s}%s", prefix ?: "", buf, 287 DECLARE_FD_DUMP_PROTOTYPE(fd_ep_dump_one, struct fd_endpoint * ep ) 288 { 289 size_t o = 0; 290 if (!offset) 291 offset=&o; 292 293 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "{ep}(@%p): ", ep), return NULL); 294 295 if (!ep) { 296 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "INVALID/NULL\n"), return NULL); 297 return *buf; 298 } 299 300 CHECK_MALLOC_DO( fd_sa_dump_node_serv( FD_DUMP_STD_PARAMS, &ep->sa, NI_NUMERICHOST | NI_NUMERICSERV ), return NULL); 301 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, " {%s%s%s%s%s}", 342 302 (ep->flags & EP_FL_CONF) ? "C" : "-", 343 303 (ep->flags & EP_FL_DISC) ? "D" : "-", 344 304 (ep->flags & EP_FL_ADV) ? "A" : "-", 345 305 (ep->flags & EP_FL_LL) ? "L" : "-", 346 (ep->flags & EP_FL_PRIMARY) ? "P" : "-"); 347 } 348 349 void fd_ep_dump( int indent, struct fd_list * eps ) 350 { 351 struct fd_list * li; 352 for (li = eps->next; li != eps; li = li->next) { 353 struct fd_endpoint * ep = (struct fd_endpoint *)li; 354 fd_log_debug("%*s", indent, ""); 355 fd_ep_dump_one( NULL, ep ); 356 } 357 } 358 306 (ep->flags & EP_FL_PRIMARY) ? "P" : "-"), return NULL); 307 return *buf; 308 } 309 310 DECLARE_FD_DUMP_PROTOTYPE(fd_ep_dump, int indent, struct fd_list * eps ) 311 { 312 struct fd_list * li; 313 size_t o = 0; 314 if (!offset) 315 offset=&o; 316 317 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%*s{eps}(@%p):\n", indent, "", eps), return NULL); 318 if (eps) { 319 for (li = eps->next; li != eps; li = li->next) { 320 struct fd_endpoint * ep = (struct fd_endpoint *)li; 321 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "%*s", indent+1, ""), return NULL); 322 CHECK_MALLOC_DO( fd_ep_dump_one( FD_DUMP_STD_PARAMS, ep ), return NULL); 323 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "\n"), return NULL); 324 } 325 } 326 } 327
Note: See TracChangeset
for help on using the changeset viewer.