From 161f1ec2bdb36eba159adb6d9c41b2c6eb7065e9 Mon Sep 17 00:00:00 2001 From: aler9 <46489434+aler9@users.noreply.github.com> Date: Wed, 5 Aug 2020 11:20:11 +0200 Subject: [PATCH] remove pathEnvVariable --- client.go | 4 ++-- conf.go | 9 --------- main.go | 2 +- path.go | 2 +- rtsp-simple-server.yml | 23 +++++++++++------------ 5 files changed, 15 insertions(+), 25 deletions(-) diff --git a/client.go b/client.go index 1491d4f9..e762b364 100644 --- a/client.go +++ b/client.go @@ -830,7 +830,7 @@ func (c *client) runPlay(path string) { if confp.RunOnRead != "" { onReadCmd = exec.Command("/bin/sh", "-c", confp.RunOnRead) onReadCmd.Env = append(os.Environ(), - c.p.conf.PathEnvVariable+"="+path, + "RTSP_SERVER_PATH="+path, ) onReadCmd.Stdout = os.Stdout onReadCmd.Stderr = os.Stderr @@ -932,7 +932,7 @@ func (c *client) runRecord(path string) { if confp.RunOnPublish != "" { onPublishCmd = exec.Command("/bin/sh", "-c", confp.RunOnPublish) onPublishCmd.Env = append(os.Environ(), - c.p.conf.PathEnvVariable+"="+path, + "RTSP_SERVER_PATH="+path, ) onPublishCmd.Stdout = os.Stdout onPublishCmd.Stderr = os.Stderr diff --git a/conf.go b/conf.go index db7e8dc3..991706b5 100644 --- a/conf.go +++ b/conf.go @@ -41,7 +41,6 @@ type conf struct { RunOnConnect string `yaml:"runOnConnect"` ReadTimeout time.Duration `yaml:"readTimeout"` WriteTimeout time.Duration `yaml:"writeTimeout"` - PathEnvVariable string `yaml:"pathEnvVariable"` AuthMethods []string `yaml:"authMethods"` authMethodsParsed []gortsplib.AuthMethod `` Metrics bool `yaml:"metrics"` @@ -133,14 +132,6 @@ func loadConf(fpath string, stdin io.Reader) (*conf, error) { conf.WriteTimeout = 5 * time.Second } - if conf.PathEnvVariable == "" { - conf.PathEnvVariable = "RTSP_SERVER_PATH" - } - re := regexp.MustCompile("^[a-zA-Z_][a-zA-Z0-9_]*$") - if !re.MatchString(conf.PathEnvVariable) { - return nil, fmt.Errorf("pathEnvVariable must consist of only alphanumerics and underscores, and should not begin with a digit") - } - if len(conf.AuthMethods) == 0 { conf.AuthMethods = []string{"basic", "digest"} } diff --git a/main.go b/main.go index b06fad9b..14d31b11 100644 --- a/main.go +++ b/main.go @@ -266,7 +266,7 @@ func newProgram(args []string, stdin io.Reader) (*program, error) { if confp.RunOnInit != "" { onInitCmd := exec.Command("/bin/sh", "-c", confp.RunOnInit) onInitCmd.Env = append(os.Environ(), - conf.PathEnvVariable+"="+path, + "RTSP_SERVER_PATH="+path, ) onInitCmd.Stdout = os.Stdout onInitCmd.Stderr = os.Stderr diff --git a/path.go b/path.go index caa22f1f..2326e371 100644 --- a/path.go +++ b/path.go @@ -123,7 +123,7 @@ func (pa *path) describe(client *client) { pa.lastActivation = time.Now() pa.onDemandCmd = exec.Command("/bin/sh", "-c", pa.confp.RunOnDemand) pa.onDemandCmd.Env = append(os.Environ(), - pa.p.conf.PathEnvVariable+"="+pa.id, + "RTSP_SERVER_PATH="+pa.id, ) pa.onDemandCmd.Stdout = os.Stdout pa.onDemandCmd.Stderr = os.Stderr diff --git a/rtsp-simple-server.yml b/rtsp-simple-server.yml index 3e887e08..818f5f39 100644 --- a/rtsp-simple-server.yml +++ b/rtsp-simple-server.yml @@ -7,18 +7,20 @@ rtspPort: 8554 rtpPort: 8000 # port of the UDP RTCP listener rtcpPort: 8001 -# command to run when a client connects. -# this is terminated with SIGINT when a client disconnects. -runOnConnect: + # timeout of read operations readTimeout: 10s # timeout of write operations writeTimeout: 5s -# name of environment variable used to pass the path to runOnInit/Demand/Publish/Read -pathEnvVariable: RTSP_SERVER_PATH + # supported authentication methods # WARNING: both methods are insecure, use RTSP inside a VPN to enforce security. authMethods: [basic, digest] + +# command to run when a client connects. +# this is terminated with SIGINT when a client disconnects. +runOnConnect: + # enable Prometheus-compatible metrics on port 9998 metrics: false # enable pprof on port 9999 to monitor performances @@ -45,26 +47,23 @@ paths: # command to run when this path is loaded by the program. # this can be used, for example, to publish a stream and keep it always opened. # This is terminated with SIGINT when the program closes. - # The path is available as an environment variable configured by pathEnvVariable + # The path can be accessed with the variable RTSP_SERVER_PATH runOnInit: # command to run when this path is requested. # This can be used, for example, to publish a stream on demand. # This is terminated with SIGINT when the path is not requested anymore. - # The actual path from the request (useful for wildcard paths) is available as an - # environment variable configured by pathEnvVariable + # The path can be accessed with the variable RTSP_SERVER_PATH runOnDemand: # command to run when a client starts publishing. # This is terminated with SIGINT when a client stops publishing. - # The actual path from the client (useful for wildcard paths) is available as an - # environment variable configured by pathEnvVariable + # The path can be accessed with the variable RTSP_SERVER_PATH runOnPublish: # command to run when a clients starts reading. # This is terminated with SIGINT when a client stops reading. - # The actual path from the client (useful for wildcard paths) is available as an - # environment variable configured by pathEnvVariable + # The path can be accessed with the variable RTSP_SERVER_PATH runOnRead: # username required to publish