Changeset 705 in code for trunk/upstream.go


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

Add per-user IP addresses

The new upstream-user-ip directive allows bouncer operators to
assign one IP address per user.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/upstream.go

    r685 r705  
    141141                }
    142142
     143                dialer.LocalAddr, err = network.user.localTCPAddrForHost(host)
     144                if err != nil {
     145                        return nil, fmt.Errorf("failed to pick local IP for remote host %q: %v", host, err)
     146                }
     147
    143148                logger.Printf("connecting to TLS server at address %q", addr)
    144149
     
    175180        case "irc+insecure":
    176181                addr := u.Host
    177                 if _, _, err := net.SplitHostPort(addr); err != nil {
    178                         addr = addr + ":6667"
     182                host, _, err := net.SplitHostPort(addr)
     183                if err != nil {
     184                        host = u.Host
     185                        addr = u.Host + ":6667"
     186                }
     187
     188                dialer.LocalAddr, err = network.user.localTCPAddrForHost(host)
     189                if err != nil {
     190                        return nil, fmt.Errorf("failed to pick local IP for remote host %q: %v", host, err)
    179191                }
    180192
Note: See TracChangeset for help on using the changeset viewer.