libndp: fix buffer overflow in ndp_msg_opt_dnssl_domain()

The buf array would overflow when processing a malformed DNSSL option
containing a domain name whose labels' combined length exceeded 255 bytes.

To facilitate the bounds checking, the code has been restructured slightly
to be simpler and avoid repeated calls to strlen and strcat.

Signed-off-by: Andrew Ayer <agwa@andrewayer.name>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
1.4 release

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
ndptool: use conventional signal handlers instead of signalfd

signalfd() is Linux-specific.  Using conventional signal handlers will
allow ndptool to compile on non-Linux systems and old versions of Linux.

Signed-off-by: Andrew Ayer <agwa@andrewayer.name>