Compare commits

...

2 Commits

Author SHA1 Message Date
db43e381dc remove regex hostname parsing (#67)
All checks were successful
continuous-integration/drone/push Build is passing
Drop regex validation for postgres hostname, because it was breaking when running in a docker-compose stack where hostnames can be just one word.

If necessary this can be added in again later, but it probably won't be necessary because it doesn't actually add anything useful!
2021-06-26 21:13:37 +02:00
f16ba8821d Add Drone config
All checks were successful
continuous-integration/drone/push Build is passing
See https://github.com/superseriousbusiness/gotosocial/issues/65.
2021-06-26 17:25:42 +02:00
3 changed files with 21 additions and 8 deletions

19
.drone.yml Normal file
View File

@ -0,0 +1,19 @@
---
kind: pipeline
name: automated container publishing
steps:
- name: publish image
image: plugins/docker
settings:
username:
from_secret: docker_reg_username
password:
from_secret: docker_reg_passwd
repo: decentral1se/gotosocial
tags: latest
trigger:
branch:
- main
event:
exclude:
- pull_request

View File

@ -2,6 +2,8 @@
![patrons](https://img.shields.io/liberapay/patrons/dumpsterqueer.svg?logo=liberapay) ![receives](https://img.shields.io/liberapay/receives/dumpsterqueer.svg?logo=liberapay)
[![Build Status](https://drone.autonomic.zone/api/badges/autonomic-cooperative/gotosocial/status.svg?ref=refs/heads/main)](https://drone.autonomic.zone/autonomic-cooperative/gotosocial)
Federated social media software.
![Sloth logo made by Freepik from www.flaticon.com](./web/assets/sloth.png)

View File

@ -26,7 +26,6 @@ import (
"fmt"
"net"
"net/mail"
"regexp"
"strings"
"time"
@ -48,7 +47,6 @@ type postgresService struct {
conn *pg.DB
log *logrus.Logger
cancel context.CancelFunc
// federationDB pub.Database
}
// NewPostgresService returns a postgresService derived from the provided config, which implements the go-fed DB interface.
@ -120,12 +118,6 @@ func derivePGOptions(c *config.Config) (*pg.Options, error) {
return nil, errors.New("no address set")
}
ipv4Regex := regexp.MustCompile(`^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$`)
hostnameRegex := regexp.MustCompile(`^(?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,}$`)
if !hostnameRegex.MatchString(c.DBConfig.Address) && !ipv4Regex.MatchString(c.DBConfig.Address) && c.DBConfig.Address != "localhost" {
return nil, fmt.Errorf("address %s was neither an ipv4 address nor a valid hostname", c.DBConfig.Address)
}
// validate username
if c.DBConfig.User == "" {
return nil, errors.New("no user set")