aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorClayton O'Neill2011-10-30 16:17:41 -0400
committerAdam Vandenberg2011-11-27 09:20:44 -0800
commit90e6260a12362fb5dc6e9f491f11e7d5e4ecff34 (patch)
tree5bbc55a4d6908cbeb6d8c43d8f4e46c9e14e716d /Library
parent0bf20ede41490ffd0d5b7e88b17cec5cdbe6467e (diff)
downloadhomebrew-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')
-rw-r--r--Library/Formula/liboping.rb81
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;