Changeset 636 in code for trunk/cmd/soju


Ignore:
Timestamp:
Oct 13, 2021, 8:58:34 AM (4 years ago)
Author:
contact
Message:

Add bouncer MOTD

Closes: https://todo.sr.ht/~emersion/soju/137

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/cmd/soju/main.go

    r620 r636  
    66        "flag"
    77        "fmt"
     8        "io/ioutil"
    89        "log"
    910        "net"
     
    3738}
    3839
     40func loadMOTD(srv *soju.Server, filename string) error {
     41        if filename == "" {
     42                return nil
     43        }
     44
     45        b, err := ioutil.ReadFile(filename)
     46        if err != nil {
     47                return err
     48        }
     49        srv.SetMOTD(strings.TrimSpace(string(b)))
     50        return nil
     51}
     52
    3953func main() {
    4054        var listen []string
     
    92106        srv.Debug = debug
    93107
     108        if err := loadMOTD(srv, cfg.MOTDPath); err != nil {
     109                log.Fatalf("failed to load MOTD: %v", err)
     110        }
     111
    94112        for _, listen := range cfg.Listen {
    95113                listenURI := listen
     
    225243                switch sig {
    226244                case syscall.SIGHUP:
     245                        log.Print("reloading TLS certificate and MOTD")
    227246                        if cfg.TLS != nil {
    228                                 log.Print("reloading TLS certificate")
    229247                                cert, err := tls.LoadX509KeyPair(cfg.TLS.CertPath, cfg.TLS.KeyPath)
    230248                                if err != nil {
     
    233251                                }
    234252                                tlsCert.Store(&cert)
     253                        }
     254                        if err := loadMOTD(srv, cfg.MOTDPath); err != nil {
     255                                log.Printf("failed to reload MOTD: %v", err)
    235256                        }
    236257                case syscall.SIGINT, syscall.SIGTERM:
Note: See TracChangeset for help on using the changeset viewer.