aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2022-08-18 00:46:14 -0800
committerDavid M. Syzdek <david@syzdek.net>2022-08-18 00:46:14 -0800
commit1633874fc9813849526da14e7d18b1a172665787 (patch)
tree17442af14b684699e8c3110e482feaf231a3b12c /src
parent919fc29be726949396aa5aec16d9b66f97a23238 (diff)
downloadbindletools-1633874fc9813849526da14e7d18b1a172665787.tar.gz
bindletools-1633874fc9813849526da14e7d18b1a172665787.tar.bz2
bindletools-1633874fc9813849526da14e7d18b1a172665787.tar.xz
bindletools-1633874fc9813849526da14e7d18b1a172665787.zip
bindletools: updating to display all ip addresses
Diffstat (limited to 'src')
-rw-r--r--src/widget-urldesc.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/widget-urldesc.c b/src/widget-urldesc.c
index d605ce6..21d745d 100644
--- a/src/widget-urldesc.c
+++ b/src/widget-urldesc.c
@@ -367,26 +367,37 @@ bindle_widget_urldesc_addr(
367 void ** sockaddrs, 367 void ** sockaddrs,
368 uintptr_t flag ) 368 uintptr_t flag )
369{ 369{
370 unsigned pos;
371 char field[64];
370 char addr[INET_ADDRSTRLEN+INET6_ADDRSTRLEN]; 372 char addr[INET_ADDRSTRLEN+INET6_ADDRSTRLEN];
371 char * ptr; 373 char * ptr;
372 struct sockaddr_storage * sas; 374 struct sockaddr_storage * sas;
373 struct sockaddr_in * sa; 375 struct sockaddr_in * sa;
374 struct sockaddr_in6 * sa6; 376 struct sockaddr_in6 * sa6;
375 377
376 ptr = NULL; 378 if (!(sockaddrs))
377 if ((sockaddrs)) 379 {
380 ptr = NULL;
381 bindle_widget_urldesc_print(cnf, component, &ptr, flag);
382 return;
383 };
384
385 for(pos = 0; ((sockaddrs[pos])); pos++)
378 { 386 {
379 ptr = addr; 387 ptr = addr;
380 sas = sockaddrs[0]; 388 sas = sockaddrs[pos];
389 bindle_strlcpy(field, component, sizeof(field));
390 if ((pos))
391 snprintf(field, sizeof(field), "%s%u", component, pos);
381 switch(sas->ss_family) 392 switch(sas->ss_family)
382 { 393 {
383 case AF_INET: 394 case AF_INET:
384 sa = sockaddrs[0]; 395 sa = sockaddrs[pos];
385 inet_ntop(sas->ss_family, &sa->sin_addr, addr, sizeof(addr)); 396 inet_ntop(sas->ss_family, &sa->sin_addr, addr, sizeof(addr));
386 break; 397 break;
387 398
388 case AF_INET6: 399 case AF_INET6:
389 sa6 = sockaddrs[0]; 400 sa6 = sockaddrs[pos];
390 inet_ntop(sas->ss_family, &sa6->sin6_addr, addr, sizeof(addr)); 401 inet_ntop(sas->ss_family, &sa6->sin6_addr, addr, sizeof(addr));
391 break; 402 break;
392 403
@@ -394,8 +405,8 @@ bindle_widget_urldesc_addr(
394 ptr = NULL; 405 ptr = NULL;
395 break; 406 break;
396 }; 407 };
408 bindle_widget_urldesc_print(cnf, field, &ptr, flag);
397 }; 409 };
398 bindle_widget_urldesc_print(cnf, component, &ptr, flag);
399 410
400 return; 411 return;
401} 412}