mandos-client: Try to start a plugin to add and remove a local route.
* debian/mandos-client.README.Debian: Add setting of environment variable MANDOSPLUGINHELPERDIR to command line testing mandos-client. * mandos-client.c (raise_privileges): Moved to top of file. (raise_privileges_permanently): - '' - (lower_privileges): - '' - (lower_privileges_permanently): - '' - (add_remove_local_route, add_local_route, remove_local_route): New. (start_mandos_communication): Set SOCK_CLOEXEC flag on socket. Run the above functions to add (and remove) local route, if the conditions indicates it could help. (run_network_hooks): Use O_DIRECTORY, O_PATH, and O_CLOEXEC flags when opening network hook directory. Do TEMP_FAILURE_RETRY around opening of /dev/null and network hook executables. Move redirecting of stdout and stderr to as late as possible before fexecve(). (main): Use O_DIRECTORY and O_PATH when opening temporary directory. * plugins.d/mandos-client.xml (ENVIRONMENT): Document usage of the MANDOSPLUGINHELPERDIR environment variable.