Changeset 732 in code for trunk


Ignore:
Timestamp:
Dec 2, 2021, 9:53:43 AM (4 years ago)
Author:
contact
Message:

Add context to connectToUpstream

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/upstream.go

    r729 r732  
    124124}
    125125
    126 func connectToUpstream(network *network) (*upstreamConn, error) {
     126func connectToUpstream(ctx context.Context, network *network) (*upstreamConn, error) {
    127127        logger := &prefixLogger{network.user.logger, fmt.Sprintf("upstream %q: ", network.GetName())}
    128128
     
    144144                }
    145145
    146                 dialer.LocalAddr, err = network.user.localTCPAddrForHost(host)
     146                dialer.LocalAddr, err = network.user.localTCPAddrForHost(ctx, host)
    147147                if err != nil {
    148148                        return nil, fmt.Errorf("failed to pick local IP for remote host %q: %v", host, err)
     
    172172                }
    173173
    174                 netConn, err = dialer.Dial("tcp", addr)
     174                netConn, err = dialer.DialContext(ctx, "tcp", addr)
    175175                if err != nil {
    176176                        return nil, fmt.Errorf("failed to dial %q: %v", addr, err)
     
    189189                }
    190190
    191                 dialer.LocalAddr, err = network.user.localTCPAddrForHost(host)
     191                dialer.LocalAddr, err = network.user.localTCPAddrForHost(ctx, host)
    192192                if err != nil {
    193193                        return nil, fmt.Errorf("failed to pick local IP for remote host %q: %v", host, err)
     
    195195
    196196                logger.Printf("connecting to plain-text server at address %q", addr)
    197                 netConn, err = dialer.Dial("tcp", addr)
     197                netConn, err = dialer.DialContext(ctx, "tcp", addr)
    198198                if err != nil {
    199199                        return nil, fmt.Errorf("failed to dial %q: %v", addr, err)
     
    201201        case "irc+unix", "unix":
    202202                logger.Printf("connecting to Unix socket at path %q", u.Path)
    203                 netConn, err = dialer.Dial("unix", u.Path)
     203                netConn, err = dialer.DialContext(ctx, "unix", u.Path)
    204204                if err != nil {
    205205                        return nil, fmt.Errorf("failed to connect to Unix socket %q: %v", u.Path, err)
  • trunk/user.go

    r731 r732  
    203203                lastTry = time.Now()
    204204
    205                 uc, err := connectToUpstream(net)
     205                uc, err := connectToUpstream(context.TODO(), net)
    206206                if err != nil {
    207207                        net.logger.Printf("failed to connect to upstream server %q: %v", net.Addr, err)
     
    10161016// localAddrForHost returns the local address to use when connecting to host.
    10171017// A nil address is returned when the OS should automatically pick one.
    1018 func (u *user) localTCPAddrForHost(host string) (*net.TCPAddr, error) {
     1018func (u *user) localTCPAddrForHost(ctx context.Context, host string) (*net.TCPAddr, error) {
    10191019        upstreamUserIPs := u.srv.Config().UpstreamUserIPs
    10201020        if len(upstreamUserIPs) == 0 {
     
    10221022        }
    10231023
    1024         ips, err := net.LookupIP(host)
     1024        ips, err := net.DefaultResolver.LookupIP(ctx, "ip", host)
    10251025        if err != nil {
    10261026                return nil, err
Note: See TracChangeset for help on using the changeset viewer.