Set the PATH environment variable properly. Now this actually
works again.
This commit is contained in:
parent
f407f6eb9d
commit
84ffef610f
|
@ -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 *),
|
||||
|
|
Loading…
Reference in New Issue