From 191396c78aae91833defd4b56e570f7dc0a5e48f Mon Sep 17 00:00:00 2001 From: KOMATA <20227709+HynoR@users.noreply.github.com> Date: Mon, 15 Dec 2025 10:11:09 +0800 Subject: [PATCH] fix: Validate StreamPorts in StreamConfig to prevent empty values (#11332) --- agent/app/dto/request/website.go | 2 +- agent/app/service/website.go | 6 ++++++ agent/app/service/website_utils.go | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/agent/app/dto/request/website.go b/agent/app/dto/request/website.go index bdc8b5b5f..904b212eb 100644 --- a/agent/app/dto/request/website.go +++ b/agent/app/dto/request/website.go @@ -42,7 +42,7 @@ type WebsiteCreate struct { } type StreamConfig struct { - StreamPorts string `json:"streamPorts" validate:"required"` + StreamPorts string `json:"streamPorts"` Name string `json:"name"` Algorithm string `json:"algorithm"` diff --git a/agent/app/service/website.go b/agent/app/service/website.go index cd570f094..c6a6c12dd 100644 --- a/agent/app/service/website.go +++ b/agent/app/service/website.go @@ -282,6 +282,9 @@ func (w WebsiteService) CreateWebsite(create request.WebsiteCreate) (err error) primaryDomain string ) if website.Type == constant.Stream { + if create.StreamConfig.StreamPorts == "" { + return buserr.New("ErrTypePortRange") + } website.PrimaryDomain = create.Name website.Protocol = constant.ProtocolStream website.StreamPorts = create.StreamConfig.StreamPorts @@ -2400,6 +2403,9 @@ func (w WebsiteService) ExecComposer(req request.ExecComposerReq) error { } func (w WebsiteService) UpdateStream(req request.StreamUpdate) error { + if req.StreamConfig.StreamPorts == ""{ + return buserr.New("ErrTypePortRange") + } website, err := websiteRepo.GetFirst(repo.WithByID(req.WebsiteID)) if err != nil { return err diff --git a/agent/app/service/website_utils.go b/agent/app/service/website_utils.go index bf0c98034..41edbc732 100644 --- a/agent/app/service/website_utils.go +++ b/agent/app/service/website_utils.go @@ -4,7 +4,6 @@ import ( "context" "encoding/json" "fmt" - "github.com/1Panel-dev/1Panel/agent/utils/xpack" "log" "net" "os" @@ -15,6 +14,8 @@ import ( "syscall" "time" + "github.com/1Panel-dev/1Panel/agent/utils/xpack" + "github.com/1Panel-dev/1Panel/agent/app/repo" "github.com/1Panel-dev/1Panel/agent/app/dto/request" @@ -189,6 +190,9 @@ func configDefaultNginx(website *model.Website, domains []model.WebsiteDomain, a config *components.Config ) if website.Type == constant.Stream { + if streamConfig.StreamPorts == "" { + return buserr.New("ErrTypePortRange") + } nginxContent := nginx_conf.GetWebsiteFile("stream_default.conf") config, err = parser.NewStringParser(string(nginxContent)).Parse() if err != nil {