mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-23 22:05:51 +02:00
chore(runner): remove url checker from register
Signed-off-by: Bo-Yi.Wu <appleboy.tw@gmail.com>
This commit is contained in:
parent
bc6a2b2374
commit
eeaac2c9f7
@ -8,14 +8,10 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
|
||||||
"strings"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"code.gitea.io/gitea/core"
|
"code.gitea.io/gitea/core"
|
||||||
bots_model "code.gitea.io/gitea/models/bots"
|
bots_model "code.gitea.io/gitea/models/bots"
|
||||||
"code.gitea.io/gitea/models/repo"
|
|
||||||
"code.gitea.io/gitea/models/user"
|
|
||||||
"code.gitea.io/gitea/modules/json"
|
"code.gitea.io/gitea/modules/json"
|
||||||
"code.gitea.io/gitea/modules/timeutil"
|
"code.gitea.io/gitea/modules/timeutil"
|
||||||
runnerv1 "gitea.com/gitea/proto-go/runner/v1"
|
runnerv1 "gitea.com/gitea/proto-go/runner/v1"
|
||||||
@ -62,10 +58,8 @@ func (s *Service) Register(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
req *connect.Request[runnerv1.RegisterRequest],
|
req *connect.Request[runnerv1.RegisterRequest],
|
||||||
) (*connect.Response[runnerv1.RegisterResponse], error) {
|
) (*connect.Response[runnerv1.RegisterResponse], error) {
|
||||||
token := req.Header().Get("X-Runner-Token")
|
if req.Msg.Token == "" || req.Msg.Name == "" {
|
||||||
|
return nil, errors.New("missing runner token, name")
|
||||||
if token == "" || req.Msg.Name == "" || req.Msg.Url == "" {
|
|
||||||
return nil, errors.New("missing runner token, name or URL")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
runnerToken, err := bots_model.GetRunnerToken(req.Msg.Token)
|
runnerToken, err := bots_model.GetRunnerToken(req.Msg.Token)
|
||||||
@ -77,41 +71,6 @@ func (s *Service) Register(
|
|||||||
return nil, errors.New("runner token has already activated")
|
return nil, errors.New("runner token has already activated")
|
||||||
}
|
}
|
||||||
|
|
||||||
// valiate user data
|
|
||||||
u, err := url.Parse(req.Msg.Url)
|
|
||||||
if err != nil {
|
|
||||||
return nil, errors.New("can't parse url: " + req.Msg.Url)
|
|
||||||
}
|
|
||||||
|
|
||||||
urls := strings.Split(u.Path, "/")
|
|
||||||
if runnerToken.OwnerID != 0 {
|
|
||||||
if len(urls) < 2 {
|
|
||||||
return nil, errors.New("can't parse owner name")
|
|
||||||
}
|
|
||||||
owner, err := user.GetUserByID(runnerToken.OwnerID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, errors.New("can't get owner name")
|
|
||||||
}
|
|
||||||
if owner.LowerName != strings.ToLower(urls[1]) {
|
|
||||||
return nil, errors.New("wrong owner name")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if runnerToken.RepoID != 0 {
|
|
||||||
if len(urls) < 3 {
|
|
||||||
return nil, errors.New("can't parse repo name")
|
|
||||||
}
|
|
||||||
|
|
||||||
r, err := repo.GetRepositoryByIDCtx(ctx, runnerToken.RepoID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, errors.New("can't get repo name")
|
|
||||||
}
|
|
||||||
|
|
||||||
if r.LowerName != strings.ToLower(urls[2]) {
|
|
||||||
return nil, errors.New("wrong repo name")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// create new runner
|
// create new runner
|
||||||
runner := &bots_model.Runner{
|
runner := &bots_model.Runner{
|
||||||
UUID: gouuid.New().String(),
|
UUID: gouuid.New().String(),
|
||||||
@ -137,6 +96,7 @@ func (s *Service) Register(
|
|||||||
|
|
||||||
res := connect.NewResponse(&runnerv1.RegisterResponse{
|
res := connect.NewResponse(&runnerv1.RegisterResponse{
|
||||||
Runner: &runnerv1.Runner{
|
Runner: &runnerv1.Runner{
|
||||||
|
Id: runner.ID,
|
||||||
Uuid: runner.UUID,
|
Uuid: runner.UUID,
|
||||||
Token: runner.Token,
|
Token: runner.Token,
|
||||||
Name: runner.Name,
|
Name: runner.Name,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user