Set the PATH environment variable properly. Now this actually

works again.
This commit is contained in:
thorpej 2000-07-23 05:34:53 +00:00
parent f407f6eb9d
commit 84ffef610f
1 changed files with 12 additions and 2 deletions

View File

@ -41,7 +41,7 @@
#ifndef lint
static char ocopyright[] =
"$Id: dhclient.c,v 1.29 2000/07/22 20:54:56 pk Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 Internet Software Consortium. All rights reserved.\n";
"$Id: dhclient.c,v 1.30 2000/07/23 05:34:53 thorpej Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@ -2269,17 +2269,27 @@ void script_write_params (client, prefix, lease)
int script_go (client)
struct client_state *client;
{
static char *client_path;
int rval;
char *scriptName;
char *argv [2];
char **envp;
char *epp [3];
char reason [] = "REASON=NBI";
static char client_path [] = CLIENT_PATH;
int i;
struct string_list *sp, *next;
int pid, wpid, wstatus;
if (client_path == NULL) {
client_path = dmalloc (strlen(CLIENT_PATH) +
strlen("PATH=") + 1, MDL);
if (!client_path) {
log_error ("No memory for PATH environment variable.");
return 0;
}
sprintf (client_path, "PATH=%s", CLIENT_PATH);
}
if (client) {
scriptName = client -> config -> script_name;
envp = dmalloc ((client -> envc + 2) * sizeof (char *),