+2007-03-27, Version 0.3.5
+ * liboping.c: Close the filedescriptor in `ping_free', not
+ `ping_host_remove'. Thanks to Esteban Sanchez for submitting this
+ patch.
+ * oping.h: Include <sys/types.h> so that `size_t' is defined. Thanks
+ to Alex Brooks for pointing this out.
+ * oping.h: Use `extern "C"' when being used with C++. Thanks to Alex
+ Brooks for pointing this out.
+
2006-12-01, Version 0.3.4
* Fixes a bug in `ping_host_remove': Due to an incorrect hostname
checking the wrong host would be removed.
-AC_INIT(liboping, 0.3.4)
+AC_INIT(liboping, 0.3.5)
AC_CONFIG_SRCDIR(src/liboping.c)
AC_CONFIG_HEADERS(src/config.h)
AM_INIT_AUTOMAKE(dist-bzip2)
+liboping (0.3.5-0octo1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Florian Forster <octo@leeloo.home.verplant.org> Tue, 27 Mar 2007 11:20:33 +0200
+
liboping (0.3.4-0octo1) unstable; urgency=low
* New upstream version.
return (ptr);
}
+#ifndef ICMP6_ECHO_REQUEST
+# ifdef ICMP6_ECHO /* AIX netinet/ip6_icmp.h */
+# define ICMP6_ECHO_REQUEST ICMP6_ECHO
+# else
+# define ICMP6_ECHO_REQUEST 128
+# endif
+#endif
+
+#ifndef ICMP6_ECHO_REPLY
+# ifdef ICMP6_ECHOREPLY /* AIX netinet/ip6_icmp.h */
+# define ICMP6_ECHO_REPLY ICMP6_ECHOREPLY
+# else
+# define ICMP6_ECHO_REPLY 129
+# endif
+#endif
+
static pinghost_t *ping_receive_ipv6 (pinghost_t *ph, char *buffer, size_t buffer_len)
{
struct icmp6_hdr *icmp_hdr;
ph->addr = (struct sockaddr_storage *) (ph->timer + 1);
ph->addrlen = sizeof (struct sockaddr_storage);
+ ph->fd = -1;
ph->latency = -1.0;
ph->ident = ping_get_ident () & 0xFFFF;
static void ping_free (pinghost_t *ph)
{
+ if (ph->fd >= 0)
+ close (ph->fd);
+
if (ph->hostname != NULL)
free (ph->hostname);
if (ph->fd < 0)
{
- free (ph->hostname);
- free (ph);
+ ping_free (ph);
return (-1);
}
else
pre->next = cur->next;
- if (cur->fd >= 0)
- close (cur->fd);
-
ping_free (cur);
return (0);
L<liboping(3)>
=head1 AUTHOR
+
+liboping is written by Florian octo Forster E<lt>octo at verplant.orgE<gt>.
+It's homepage can be found at L<http://verplant.org/liboping/>.
+
+(c) 2005, 2006 by Florian octo Forster.
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Type definitions
*/
void *ping_iterator_get_context (pingobj_iter_t *iter);
void ping_iterator_set_context (pingobj_iter_t *iter, void *context);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* OCTO_PING_H */