mirror of
https://git.mills.io/saltyim/saltyim.git
synced 2024-06-16 11:58:24 +00:00
fix: stuff
This commit is contained in:
parent
55f0823ad3
commit
da56689e4d
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
# Validate environment
|
||||
if ! command -v jq > /dev/null; then
|
||||
@ -83,6 +83,7 @@ stream () {
|
||||
}
|
||||
|
||||
check_cors() {
|
||||
return 0
|
||||
if [ $# -lt 1 ]; then
|
||||
printf "check_cors takes 1 arugment %d given\n" "$#"
|
||||
printf "Try %s check_cors uri\n" "$(basename "$0")"
|
||||
@ -114,11 +115,11 @@ lookup () {
|
||||
domain="$(echo "$user" | awk -F@ '{ print $2 }')"
|
||||
hash="$(printf "%s" "$user" | sha256sum | cut -f 1 -d ' ')"
|
||||
|
||||
discovery_host="$(dig +short SRV _salty._tcp."$domain" | cut -f 4 -d' ')"
|
||||
discovery_host="$(dig +short SRV _salty._tcp."$domain" | cut -f 4 -d' ' | sed 's/.$//')"
|
||||
if [ -z "$discovery_host" ]; then
|
||||
discovery_host="$domain"
|
||||
else
|
||||
discovery_host="$(printf "%s" "$discovery_host" | sed -e 's/\.$//')"
|
||||
discovery_host="$(echo "$discovery_host" | sed 's/.$//')"
|
||||
fi
|
||||
|
||||
info=$(mktemp /tmp/salty.XXXXXX)
|
||||
@ -301,9 +302,9 @@ register () {
|
||||
nick="$(echo "$user" | awk -F@ '{ print $1 }')"
|
||||
domain="$(echo "$user" | awk -F@ '{ print $2 }')"
|
||||
|
||||
discovery_host="$(dig +short SRV _salty._tcp."$domain" | cut -f 4 -d' ')"
|
||||
discovery_host="$(dig +short SRV _salty._tcp."$domain" | cut -f 4 -d' ' | sed 's/.$//')"
|
||||
if [ -z "$discovery_host" ]; then
|
||||
discovery_host="$domain"
|
||||
discovery_host="$(echo "$discovery_host" | sed 's/.$//')"
|
||||
fi
|
||||
|
||||
identity_file="$data_path/$nick.key"
|
||||
|
@ -70,7 +70,7 @@ func NewClient(me *Addr, options ...IdentityOption) (*Client, error) {
|
||||
}
|
||||
|
||||
if err := me.Refresh(); err != nil {
|
||||
return nil, fmt.Errorf("error looking up user endpoint: %w", err)
|
||||
return nil, fmt.Errorf("error looking up user endpoint %s: %w", me.HashURI(), err)
|
||||
}
|
||||
|
||||
log.Debugf("Using identity %s with public key %s", ident.Source(), ident.key)
|
||||
|
@ -109,6 +109,10 @@ func (s *Server) Run() (err error) {
|
||||
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
|
||||
defer cancel()
|
||||
|
||||
if s.svc != nil {
|
||||
s.svc.Run(ctx)
|
||||
}
|
||||
|
||||
<-ctx.Done()
|
||||
log.Infof("Received signal %s", ctx.Err())
|
||||
|
||||
@ -227,7 +231,7 @@ func (s *Server) setupSvcUser() {
|
||||
// create our addr
|
||||
me, err := saltyim.ParseAddr(s.config.SvcUser)
|
||||
if err != nil {
|
||||
log.WithError(err).Error("error oarsing scv user addr: %w", err)
|
||||
log.WithError(err).Error("error parsing svc user addr: %w", err)
|
||||
return
|
||||
}
|
||||
|
||||
@ -248,7 +252,7 @@ func (s *Server) setupSvcUser() {
|
||||
}
|
||||
|
||||
// Wait for things to settle
|
||||
time.Sleep(time.Second * 5)
|
||||
//time.Sleep(time.Second * 5)
|
||||
|
||||
cli, err := saltyim.NewClient(me, saltyim.WithIdentity(ident))
|
||||
if err != nil {
|
||||
@ -278,10 +282,12 @@ func (s *Server) setupSvcUser() {
|
||||
Key: key.String(),
|
||||
}, "OK")
|
||||
})
|
||||
|
||||
log.Println(s.svc)
|
||||
}
|
||||
|
||||
func (s *Server) runStartupJobs() {
|
||||
time.Sleep(time.Second * 5)
|
||||
// time.Sleep(time.Second * 5)
|
||||
|
||||
log.Info("running startup jobs")
|
||||
for name, jobSpec := range StartupJobs {
|
||||
@ -436,7 +442,7 @@ func NewServer(bind string, options ...Option) (*Server, error) {
|
||||
server.initRoutes()
|
||||
|
||||
go server.runStartupJobs()
|
||||
go server.setupSvcUser()
|
||||
server.setupSvcUser()
|
||||
|
||||
return server, nil
|
||||
}
|
||||
|
10
lookup.go
10
lookup.go
@ -4,7 +4,6 @@ import (
|
||||
"crypto/sha256"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
@ -24,13 +23,8 @@ func fetchConfig(addr string) (Config, error) {
|
||||
return Config{}, err
|
||||
}
|
||||
|
||||
data, err := ioutil.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
return Config{}, err
|
||||
}
|
||||
|
||||
var config Config
|
||||
if err := json.Unmarshal(data, &config); err != nil {
|
||||
if err := json.NewDecoder(res.Body).Decode(&config); err != nil {
|
||||
return Config{}, err
|
||||
}
|
||||
|
||||
@ -122,7 +116,7 @@ func (a *Addr) HashURI() string {
|
||||
func (a *Addr) Refresh() error {
|
||||
log.Debugf("Looking up SRV record for _salty._tcp.%s", a.Domain)
|
||||
if target, err := resolver.LookupSRV("salty", "tcp", a.Domain); err == nil {
|
||||
a.discoveredDomain = target
|
||||
a.discoveredDomain = strings.TrimSuffix(target, ".")
|
||||
log.Debugf("Discovered salty services %s", a.discoveredDomain)
|
||||
} else if err != nil {
|
||||
log.Debugf("error looking up SRV record for _salty._tcp.%s : %s", a.Domain, err)
|
||||
|
@ -44,7 +44,7 @@ func (r *StandardResolver) LookupSRV(service, proto, domain string) (string, err
|
||||
if len(records) == 0 {
|
||||
return "", ErrSRVRecordNotFound
|
||||
}
|
||||
return records[0].Target, nil
|
||||
return strings.TrimSuffix(records[0].Target, "."), nil
|
||||
}
|
||||
|
||||
type DNSOverHTTPResolver struct{}
|
||||
@ -74,5 +74,5 @@ func (r *DNSOverHTTPResolver) LookupSRV(service, proto, domain string) (string,
|
||||
if len(fields) != 4 {
|
||||
return "", fmt.Errorf("invalid SRV records found expected 4 fields got %d: %q", len(fields), data)
|
||||
}
|
||||
return fields[3], nil
|
||||
return strings.TrimSuffix(fields[3], "."), nil
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ func (svc *Service) String() string {
|
||||
}
|
||||
|
||||
func (svc *Service) Run(ctx context.Context) {
|
||||
log.Println("listining for bot: ", svc.Me().Endpoint())
|
||||
log.Println("listining for bot: ", svc.Me())
|
||||
msgch := svc.Read(ctx, "", "")
|
||||
for {
|
||||
select {
|
||||
|
Loading…
Reference in New Issue
Block a user