diff options
| author | Clayton O'Neill | 2011-10-30 16:17:41 -0400 |
|---|---|---|
| committer | Adam Vandenberg | 2011-11-27 09:20:44 -0800 |
| commit | 90e6260a12362fb5dc6e9f491f11e7d5e4ecff34 (patch) | |
| tree | 5bbc55a4d6908cbeb6d8c43d8f4e46c9e14e716d /Library/Formula/liboping.rb | |
| parent | 0bf20ede41490ffd0d5b7e88b17cec5cdbe6467e (diff) | |
| download | homebrew-90e6260a12362fb5dc6e9f491f11e7d5e4ecff34.tar.bz2 | |
liboping 1.6.1
Added patches to make 1.6.1 compile on in general (IP_RECVTOS) and to
specifially make it build on Lion (IPV6_HOPLIMIT)
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Formula/liboping.rb')
| -rw-r--r-- | Library/Formula/liboping.rb | 81 |
1 files changed, 79 insertions, 2 deletions
diff --git a/Library/Formula/liboping.rb b/Library/Formula/liboping.rb index 0aacd8b43..541db4740 100644 --- a/Library/Formula/liboping.rb +++ b/Library/Formula/liboping.rb @@ -1,13 +1,90 @@ require 'formula' class Liboping < Formula - url 'http://verplant.org/liboping/files/liboping-1.4.0.tar.bz2' + url 'http://verplant.org/liboping/files/liboping-1.6.1.tar.bz2' homepage 'http://verplant.org/liboping/' - sha256 'ca237ca16607f982aa7b4405e8e3aeea2f655e9d39ba4aff77974c66ee9631bd' + sha256 'cf5c9ac217ddc653543785de50fae6b2595393efa9d73e2e1acb63dc48fb3983' def install system "./configure", "--disable-debug", "--disable-dependency-tracking", "--prefix=#{prefix}" system "make install" end + + # Patches from user Dvorak. See: + # https://github.com/mxcl/homebrew/pull/8374 + def patches + DATA + end + + def caveats + "Run oping and noping sudo'ed in order to avoid the 'Operation not permitted'" + end end + +__END__ +diff --git a/src/liboping.c b/src/liboping.c +index beef4f5..daa61c4 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -69,6 +69,9 @@ + # include <netdb.h> + #endif + ++#ifdef __APPLE__ ++#define __APPLE_USE_RFC_3542 ++#endif + #if HAVE_NETINET_IN_SYSTM_H + # include <netinet/in_systm.h> + #endif +@@ -545,6 +548,7 @@ static int ping_receive_one (pingobj_t *obj, const pinghost_t *ph, + sizeof (recv_qos)); + dprintf ("TOSv6 = 0x%02"PRIx8";\n", recv_qos); + } else ++#ifdef IPV6_HOPLIMIT + if (cmsg->cmsg_type == IPV6_HOPLIMIT) + { + memcpy (&recv_ttl, CMSG_DATA (cmsg), +@@ -552,6 +556,25 @@ static int ping_receive_one (pingobj_t *obj, const pinghost_t *ph, + dprintf ("TTLv6 = %i;\n", recv_ttl); + } + else ++#endif ++#ifdef IPV6_UNICAST_HOPS ++ if (cmsg->cmsg_type == IPV6_UNICAST_HOPS) ++ { ++ memcpy (&recv_ttl, CMSG_DATA (cmsg), ++ sizeof (recv_ttl)); ++ dprintf ("TTLv6 = %i;\n", recv_ttl); ++ } ++ else ++#endif ++#ifdef IPV6_MULTICAST_HOPS ++ if (cmsg->cmsg_type == IPV6_MULTICAST_HOPS) ++ { ++ memcpy (&recv_ttl, CMSG_DATA (cmsg), ++ sizeof (recv_ttl)); ++ dprintf ("TTLv6 = %i;\n", recv_ttl); ++ } ++ else ++#endif + { + dprintf ("Not handling option %i.\n", + cmsg->cmsg_type); +diff --git a/src/liboping.c b/src/liboping.c +index daa61c4..3467ca5 100644 +--- a/src/liboping.c ++++ b/src/liboping.c +@@ -1563,10 +1563,12 @@ int ping_host_add (pingobj_t *obj, const char *host) + { + int opt; + ++#ifdef IP_RECVTOS + /* Enable receiving the TOS field */ + opt = 1; + setsockopt (ph->fd, IPPROTO_IP, IP_RECVTOS, + &opt, sizeof (opt)); ++#endif + + /* Enable receiving the TTL field */ + opt = 1; |
