replaced pekkas@netcore.fi with reubenhwk@gmail.com
updating CHANGES for 1.9.2
radvdump fix to interpret MTU and Route

MTU was simply skipped and the following route Information
::/0 with length 1 was not interpreted correctly, the address
printed out begin with the bytes for the next option (the
next route).  The route information was always length 2, this
is not correct according to RFC 4191 2.3. Route Information Option

Signed-off-by: Reuben <reubenhwk@gmail.com>
check for sys/sysctl.h availability

Newer Linux ports are dropping sysctl support.  If you try to even
include the header, you'll get build failures:
/usr/include/bits/sysctl.h:19:3: error: #error "sysctl system call is unsupported"

Check for the header before we try to use it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Merge pull request #6 from vapier/master

fix builds on newer Linux arches
updating CHANGES
ready release 1.9.3rc1
corrected route output
Updating VERSION to 1.9.3
improve multicast check, remove broadcast check

If an interface does not support IFF_MULTICAST, force UnicodeOnly.
Also, there's not reason to check IFF_BROADCAST since IPv6 uses
multicast, not broadcast.
make igmp6 and netlink optional

When running many instances of radvd, netlink and igmp6 checks can
load the system.  Allow these to be diabled for that use case.
Call update_device_info in send to update mac address

The mac address can change in flight on some interfaces.  Make sure
the mac address is updated before sending out another ra.
performance: call ioctl() less often
Merge pull request #10 from danrl/master

performance: call ioctl() less often
fix for kernels with no NETLINK_NO_ENOBUFS defined

netlink.c: In function 'netlink_socket':
netlink.c:84:41: error: 'NETLINK_NO_ENOBUFS' undeclared (first use in
this function)
netlink.c:84:41: note: each undeclared identifier is reported only
once for each function it appears in
make[2]: *** [netlink.o] Error 1

This is obvious as my kernel-sources have no "NETLINK_NO_ENOBUFS" definition
in "include/linux/netlink.h".

The culprit is the else-if line here:

[ netlink.c ]

int netlink_socket(void)
{
...
        if (sock == -1) {
                flog(LOG_ERR, "Unable to open netlink socket: %s", strerror(errno));
        }
        else if (setsockopt(sock, SOL_NETLINK, NETLINK_NO_ENOBUFS, &val, sizeof(val)) < 0 ) {
                flog(LOG_ERR, "Unable to setsockopt NETLINK_NO_ENOBUFS: %s", strerror(errno));
        }
...

The NETLINK_NO_ENOBUFS socket flag was first introduced with Linux-kernel
v2.6.29-rc7:

   commit 38938bfe3489394e2eed5e40c9bb8f66a2ce1405
   "netlink: add NETLINK_NO_ENOBUFS socket flag"

The issue in radvd was introduced with:

   commit de9a8849258b2a6a125d686dcb9c424affad354d
   "setsockopt NETLINK_NO_ENOBUFS"

I have added extra checks for SOL_NETLINK and NETLINK_NO_ENOBUFS definitions
which fixes the issue for me.

NOTE: Compile-tested only!
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
Performance fix in netlink message processing

When running 'top', I sometimes see RADVD consuming a lot of CPU (some
times close to 50%).  I put some debug statements into RADVD, and have
found that RADVD listens to a netlink socket, and basically reloads the
configuration file for every netlink message it receives, regardless of
content.  I have seen more than 60 reloads in a single second, which
are generally triggered for Wireless Extension events for one of the
wireless interfaces.  There currently is a patch
(https://dev.openwrt.org/browser/packages/ipv6/radvd/patches/100-silent-netlink-config-reload.patch)
that attempts to silence the logging of the reloads, but this is really
just masking the problem, and poorly at that.  It seems like RADVD
should be filtering the netlink messages down to what it cares about,
and only then triggering the reload.
IPv6 forwarding setting should be 1 or 2

A value of 2 means that the kernel has enabled IP forwarding and that it
also will perform router solicitation. Whilst this kind of setup may
appear unusual; it is reasonably widely used especially for consumer
devices which will have a WAN link (e.g. ppp, etc.)
update CHANGES and VERSION
adding sign, verify, packages and html make targets

- sign generates hashes and gpg signature of the distribution file
- verify verifies the hashes and gpg signature
- packages generates a few select packages (gz, bz2 and xz)
- html outputs the download links to update the radvd web page
bumping VERSION to rc2