diff options
| author | David M. Syzdek <david@syzdek.net> | 2022-08-18 00:46:14 -0800 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2022-08-18 00:46:14 -0800 |
| commit | 1633874fc9813849526da14e7d18b1a172665787 (patch) | |
| tree | 17442af14b684699e8c3110e482feaf231a3b12c /src | |
| parent | 919fc29be726949396aa5aec16d9b66f97a23238 (diff) | |
| download | bindletools-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.c | 23 |
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 | } |
