mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 08:49:13 +00:00
feat(indexers): sanitize user input (#1420)
This commit is contained in:
parent
f619501d0d
commit
c600f41e5a
2 changed files with 23 additions and 0 deletions
|
@ -17,6 +17,7 @@ import (
|
|||
"github.com/autobrr/autobrr/internal/logger"
|
||||
"github.com/autobrr/autobrr/internal/scheduler"
|
||||
"github.com/autobrr/autobrr/pkg/errors"
|
||||
"github.com/autobrr/autobrr/pkg/sanitize"
|
||||
|
||||
"github.com/gosimple/slug"
|
||||
"github.com/rs/zerolog"
|
||||
|
@ -78,6 +79,13 @@ func NewService(log logger.Logger, config *domain.Config, repo domain.IndexerRep
|
|||
}
|
||||
|
||||
func (s *service) Store(ctx context.Context, indexer domain.Indexer) (*domain.Indexer, error) {
|
||||
// sanitize user input
|
||||
indexer.Name = sanitize.String(indexer.Name)
|
||||
|
||||
for key, val := range indexer.Settings {
|
||||
indexer.Settings[key] = sanitize.String(val)
|
||||
}
|
||||
|
||||
// if indexer is rss or torznab do additional cleanup for identifier
|
||||
if isImplFeed(indexer.Implementation) {
|
||||
// make lowercase
|
||||
|
@ -103,6 +111,13 @@ func (s *service) Store(ctx context.Context, indexer domain.Indexer) (*domain.In
|
|||
}
|
||||
|
||||
func (s *service) Update(ctx context.Context, indexer domain.Indexer) (*domain.Indexer, error) {
|
||||
// sanitize user input
|
||||
indexer.Name = sanitize.String(indexer.Name)
|
||||
|
||||
for key, val := range indexer.Settings {
|
||||
indexer.Settings[key] = sanitize.String(val)
|
||||
}
|
||||
|
||||
i, err := s.repo.Update(ctx, indexer)
|
||||
if err != nil {
|
||||
s.log.Error().Err(err).Msgf("could not update indexer: %+v", indexer)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue