aboutsummaryrefslogtreecommitdiffstats
path: root/dyndhcpd.c
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2014-06-07 06:45:19 +0200
committerGravatar Christian Hesse <mail@eworm.de>2014-06-07 06:45:19 +0200
commit1edcee2141c48a6bd767e9400b0883e6de9d14e5 (patch)
tree1807e7cbc54f009a717ab28b7e87fcddf09cda41 /dyndhcpd.c
parent318a07de90bd855c41e568e7a2451832448be677 (diff)
downloaddyndhcpd-1edcee2141c48a6bd767e9400b0883e6de9d14e5.tar.gz
dyndhcpd-1edcee2141c48a6bd767e9400b0883e6de9d14e5.tar.zst
check if dhcpd exists and is executable
Diffstat (limited to 'dyndhcpd.c')
-rw-r--r--dyndhcpd.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/dyndhcpd.c b/dyndhcpd.c
index 993b3ed..dde769b 100644
--- a/dyndhcpd.c
+++ b/dyndhcpd.c
@@ -108,6 +108,12 @@ int main(int argc, char ** argv) {
goto out;
}
+ /* check if dhcpd exists and is executable */
+ if (access(DHCPDFILE, X_OK) == -1) {
+ fprintf(stderr, "The dhcp daemon is not execatable!\n");
+ goto out;
+ }
+
/* get the domainname */
gethostname(hostname, 254);
hp = gethostbyname(hostname);
@@ -268,7 +274,7 @@ int main(int argc, char ** argv) {
if (verbose > 1)
printf("Running: dhcpd -f -d -q -4 -pf %s -lf %s -cf %s %s\n",
pidfile, leasesfile, filename, interface);
- execlp("/usr/bin/dhcpd", "dhcpd", "-f", "-d", "-q", "-4",
+ execlp(DHCPDFILE, "dhcpd", "-f", "-d", "-q", "-4",
"-pf", pidfile, "-lf", leasesfile, "-cf", filename, interface, NULL);
rc = EXIT_SUCCESS;