diff options
author | Craig Leres <leres@FreeBSD.org> | 2022-06-02 00:46:21 +0000 |
---|---|---|
committer | Craig Leres <leres@FreeBSD.org> | 2022-06-02 00:46:21 +0000 |
commit | 65d71ce9bdd96d79b5c9cffafc144fe23ebf6b15 (patch) | |
tree | 068b4da324a9ee9c192519932581187cff3f48e7 /net | |
parent | 6a8d8b737bb61d0f8bec9ef30991eaccb8d25b37 (diff) | |
download | ports-65d71ce9bdd96d79b5c9cffafc144fe23ebf6b15.tar.gz ports-65d71ce9bdd96d79b5c9cffafc144fe23ebf6b15.zip |
Diffstat (limited to 'net')
-rw-r--r-- | net/fping/Makefile | 2 | ||||
-rw-r--r-- | net/fping/files/patch-fping.c | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/net/fping/Makefile b/net/fping/Makefile index af42b27bf518..1a3c2d858d24 100644 --- a/net/fping/Makefile +++ b/net/fping/Makefile @@ -2,7 +2,7 @@ PORTNAME= fping PORTVERSION= 5.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net MASTER_SITES= http://fping.org/dist/ \ https://github.com/schweikert/${PORTNAME}/releases/download/v${PORTVERSION}/ diff --git a/net/fping/files/patch-fping.c b/net/fping/files/patch-fping.c index 054f171fad67..e8b5343c04ba 100644 --- a/net/fping/files/patch-fping.c +++ b/net/fping/files/patch-fping.c @@ -14,3 +14,26 @@ socket_set_src_addr_ipv6(socket6, &src_addr6, (socktype6 == SOCK_DGRAM) ? &ident6 : NULL); } #endif +@@ -2299,6 +2299,22 @@ int wait_for_reply(int64_t wait_time) + #endif + else { + return 1; ++ } ++ ++ /* Check that src address is one of the hosts we pinged before */ ++ int found = 0; ++ for (int i = 0; i < num_hosts; i++) { ++ HOST_ENTRY *h = table[i]; ++ if (!addr_cmp((struct sockaddr*)&response_addr, (struct sockaddr*)&h->saddr)) { ++ found = 1; ++ break; ++ } ++ } ++ if (!found) { ++ // char buf[INET6_ADDRSTRLEN]; ++ // getnameinfo((struct sockaddr*)&response_addr, sizeof(response_addr), buf, INET6_ADDRSTRLEN, NULL, 0, NI_NUMERICHOST); ++ // fprintf(stderr, "ignoring response from %s\n", buf); ++ return 1; /* packet received, but not from a host we pinged */ + } + + seqmap_value = seqmap_fetch(seq, current_time_ns); |