radvd.h: remove undefined disable_ipv6_autoconf prototype

This function was moved and had its name changed a few commits back.
comment out all disable_ipv6_autoconf code

This code is causing a problem in a setup with multiple routers
running multiple radvd on a network.  One of the radvd machines
isn't getting the routes from the other because autoconf is
completely disabled by RADVD on the interface it advertises.  The
motivation to disable autoconf was to prevent an interface from
autoconfiguring using radvd's on advertisements, so it was mostly
a cosmetic thing anyway.
move the packages check after creating packages

This check is here to prevent radvd from being released without
the GIT tree being tagged.  There are still sometime cases where
a packages can be generated for testing, so check if the tree is
tagged after the packages are created.  It will still fail the build,
but the packages will be usable.
remove set autoconf=0 code

This code was commented out and tested by mikken.  I suspect this
code was also responsible for Nicolas's problem on FreeBSD where
radvd wouldn't setup any interfaces.  set_autoconf always failed
on FreeBSD which caused setup_iface to always fail.

This code was added to prevent interfaces on which radvd advertises
to not use their own adverts to configure addresses.  Since this
isn't technically necessary, and because it's causing problems, I'm
removing it completely.
radvd.c: fix SIGHUP mem leak

reload config frees and allocates a new interface list, but only
changes the pointer to it in main_loop.  main still had a pointer
to the freed list and would attempt to free it before exiting. The
trick is to pass the pointer from main_loop back to main as a return
value to main will free the correct interface list.
Merge branches 'for_mikken' and 'hup_memleak_fix'
sort some function decls
Update CHANGES and bump to v2.8
configure.ac: fix typo in comment
gram.y: ensure prefix in T_Deprecate* rule

If auto-section of prefixes "prefix ::/64" doesn't find any usable
prefixes, prefix will be null.  All the prefix options rules need
to check that prefix is non-null before attempting to assign values
to it.
process.c: make sure we wait for random delay

When receiving an RS, we need to wait a random amount of time before
sending out our RA to avoid packet collision in the lower layers of
the network stack.  As far as I know, the lower levels will deal with
the collision, but the RADVD RFC calls for a random delay so this
change is making making sure it happens.
Merge branch 'delay-time'
Update CHANGES with latest fixes
process.c: usleep random delay unicast only

The unicast only mode wasn't waiting the random delay.  This adds
the wait as a usleep.  I don't particularly like usleeping in code
that could otherwise be doing something else, but this is the simplest
way to conform to the spec regarding random delay.
process.c: no usleep

usleep was reported as a security issue.  I don't like usleeping in
a network process for other reasons.  This commit removes the usleep
making the UnicastOnly radvd option non-rfc complient.  To really
fix the issue, a queue of ra send requests is needed.
better check for sysctl() availability

As it was mentioned before some Linux ports are dropping sysctl support.
This is intentional move and in future versions of Linux kernel this system
call will eventually go away. As a good alternative one may and should use
procfs (/proc/sys).

Currently we chech if corresponding header "sys/sysctl.h" exists.
But the problem happens if libc in use still installs "sys/sysctl.h" header
while provides no implementation for it.

This is exactly the case with uClibc and probably other implementations of libc.
But if we check for existing "sysctl" symbol in libc we're golden at least in
compile-time because libc provides some stub at least.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
radvd.8.man: remove not regarding sysctl

The man page notes that radvd will not start if forwarding is not
enabled.  This hasn't been true for a while, so it's time to remove
the note.
Merge pull request #37 from abrodkin/master

better check for sysctl() availability
test/check.c: fix --mode arg
Merge remote-tracking branch 'origin/master'