Skip to content

Commit b378587

Browse files
authored
Merge pull request #37 from msoap/windows_env_bug
Fixed pass PATH environment variable on Windows
2 parents bb167f0 + fae7026 commit b378587

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

shell2http.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,10 @@ func isMultipartFormData(headers http.Header) bool {
627627
func proxySystemEnv(cmd *exec.Cmd, appConfig Config) {
628628
varsNames := []string{"PATH", "HOME", "LANG", "USER", "TMPDIR"}
629629

630+
if runtime.GOOS == "windows" {
631+
varsNames = append(varsNames, "USERNAME", "USERPROFILE", "HOMEDRIVE", "HOMEPATH", "TEMP", "TMP", "PATHEXT", "COMSPEC", "OS")
632+
}
633+
630634
if appConfig.exportVars != "" {
631635
varsNames = append(varsNames, strings.Split(appConfig.exportVars, ",")...)
632636
}
@@ -638,7 +642,7 @@ func proxySystemEnv(cmd *exec.Cmd, appConfig Config) {
638642
cmd.Env = append(cmd.Env, envRaw)
639643
} else {
640644
for _, envVarName := range varsNames {
641-
if env[0] == envVarName {
645+
if strings.ToUpper(env[0]) == envVarName {
642646
cmd.Env = append(cmd.Env, envRaw)
643647
}
644648
}

0 commit comments

Comments
 (0)