*script = '/'; /* is directory, find next '/' */
}
addEnv("PATH", "INFO", script); /* set /PATH_INFO or NULL */
- addEnv("PATH", "", getenv("PATH"));
addEnv("REQUEST", "METHOD", request);
if(urlArgs) {
char *uri = alloca(strlen(purl) + 2 + strlen(urlArgs));
# endif
#endif
+#ifdef CONFIG_FEATURE_HTTPD_CGI
+ {
+ char *p = getenv("PATH");
+
+ if(p)
+ p = bb_xstrdup(p);
+ clearenv();
+ if(p) {
+ setenv("PATH", p, 0);
+ }
+ }
+#endif
+
#ifdef CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
sighup_handler(0);
#else
/* Path to the unix socket */
static char lfile[MAXPATHLEN];
-static char *logFilePath = __LOG_FILE;
+static const char *logFilePath = __LOG_FILE;
/* interval between marks in seconds */
static int MarkInterval = 20 * 60;
doFork = FALSE;
break;
case 'O':
- logFilePath = bb_xstrdup(optarg);
+ logFilePath = optarg;
break;
#ifdef CONFIG_FEATURE_REMOTE_LOG
case 'R':
/* Store away localhost's name before the fork */
gethostname(LocalHostName, sizeof(LocalHostName));
if ((p = strchr(LocalHostName, '.'))) {
- *p++ = '\0';
+ *p = '\0';
}
umask(0);
- if ((doFork == TRUE) && (daemon(0, 1) < 0)) {
+ if (doFork == TRUE) {
+ if(daemon(0, 1) < 0)
bb_perror_msg_and_die("daemon");
#if defined(__uClinux__)
vfork_daemon_rexec(argc, argv, "-n");