diff options
author | Özgür Kesim <oec@codeblau.de> | 2013-07-29 12:34:47 +0200 |
---|---|---|
committer | Özgür Kesim <oec@codeblau.de> | 2013-07-29 12:34:47 +0200 |
commit | 34bbc146bb7df8cdec9bceb75f00d29301164d2f (patch) | |
tree | fa4668707b3d10587f9bfca6f49b1a5d5526fd57 /tlsserver.go | |
parent | 975b3a8eeef4e511baabe7e30b15ab28f552d160 (diff) |
env added
Diffstat (limited to 'tlsserver.go')
-rw-r--r-- | tlsserver.go | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tlsserver.go b/tlsserver.go index b414848..3022f0e 100644 --- a/tlsserver.go +++ b/tlsserver.go @@ -71,9 +71,29 @@ func handleConnection(conn net.Conn) { cmd.Stdin = conn cmd.Stdout = conn cmd.Stderr = os.Stderr - err := cmd.Run() + + // prepare environment according to tcp-environ(5) + lh, lp, err := net.SplitHostPort(conn.LocalAddr().String()) + if err != nil { + log.Println(err) + return + } + rh, rp, err := net.SplitHostPort(conn.LocalAddr().String()) if err != nil { log.Println(err) + return + } + cmd.Env = make([]string,0) + cmd.Env = append(cmd.Env, "PATH="+os.Getenv("PATH")) + cmd.Env = append(cmd.Env, "PROTO=TCP") + cmd.Env = append(cmd.Env, "TCPLOCALIP="+lh) + cmd.Env = append(cmd.Env, "TCPLOCALPORT="+lp) + cmd.Env = append(cmd.Env, "TCPREMOTEIP="+rh) + cmd.Env = append(cmd.Env, "TCPREMOTEPORT="+rp) + + err = cmd.Run() + if err != nil { + log.Println("after Run: ", err) } log.Println("Done with connection", conn.RemoteAddr()) } |