Changeset 662 in code for trunk


Ignore:
Timestamp:
Nov 2, 2021, 9:38:07 PM (4 years ago)
Author:
contact
Message:

Add title config option

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

Location:
trunk
Files:
6 edited

Legend:

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

    r637 r662  
    9898
    9999        srv := soju.NewServer(db)
    100         // TODO: load from config/DB
    101100        srv.Hostname = cfg.Hostname
     101        srv.Title = cfg.Title
    102102        srv.LogPath = cfg.LogPath
    103103        srv.HTTPOrigins = cfg.HTTPOrigins
  • trunk/config/config.go

    r636 r662  
    3939type Server struct {
    4040        Listen   []string
     41        TLS      *TLS
    4142        Hostname string
    42         TLS      *TLS
     43        Title    string
    4344        MOTDPath string
    4445
     
    8889                                return nil, err
    8990                        }
     91                case "title":
     92                        if err := d.ParseParams(&srv.Title); err != nil {
     93                                return nil, err
     94                        }
     95                case "motd":
     96                        if err := d.ParseParams(&srv.MOTDPath); err != nil {
     97                                return nil, err
     98                        }
    9099                case "tls":
    91100                        tls := &TLS{}
     
    130139                                return nil, fmt.Errorf("directive %q: %v", d.Name, err)
    131140                        }
    132                 case "motd":
    133                         if err := d.ParseParams(&srv.MOTDPath); err != nil {
    134                                 return nil, err
    135                         }
    136141                default:
    137142                        return nil, fmt.Errorf("unknown directive %q", d.Name)
  • trunk/doc/soju.1.scd

    r636 r662  
    105105        Server hostname (default: system hostname).
    106106
     107*title* <title>
     108        Server title. This will be sent as the _ISUPPORT NETWORK_ value when clients
     109        don't select a specific network.
     110
    107111*tls* <cert> <key>
    108112        Enable TLS support. The certificate and the key files must be PEM-encoded.
  • trunk/downstream.go

    r661 r662  
    11581158                isupport = append(isupport, fmt.Sprintf("BOUNCER_NETID=%v", dc.network.ID))
    11591159        }
    1160 
     1160        if dc.network == nil && dc.srv.Title != "" {
     1161                isupport = append(isupport, "NETWORK="+encodeISUPPORT(dc.srv.Title))
     1162        }
    11611163        if dc.network == nil && dc.caps["soju.im/bouncer-networks"] {
    11621164                isupport = append(isupport, "WHOX")
  • trunk/irc.go

    r661 r662  
    762762        }
    763763}
     764
     765var isupportEncoder = strings.NewReplacer(" ", "\\x20", "\\", "\\x5C")
     766
     767func encodeISUPPORT(s string) string {
     768        return isupportEncoder.Replace(s)
     769}
  • trunk/server.go

    r656 r662  
    5151type Server struct {
    5252        Hostname        string
     53        Title           string
    5354        Logger          Logger
    5455        HistoryLimit    int
Note: See TracChangeset for help on using the changeset viewer.