From 1edcee2141c48a6bd767e9400b0883e6de9d14e5 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Sat, 7 Jun 2014 06:45:19 +0200 Subject: check if dhcpd exists and is executable --- dyndhcpd.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'dyndhcpd.c') 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; -- cgit v1.2.3-54-g00ecf