mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 03:05:07 +03:00 
			
		
		
		
	Redirect Conn session closure errors to debug channel
This commit is contained in:
		
							parent
							
								
									48ad3c5d7f
								
							
						
					
					
						commit
						de9d0a6cf1
					
				
					 1 changed files with 16 additions and 5 deletions
				
			
		| 
						 | 
					@ -63,7 +63,11 @@ func (s *tunConn) reader() (err error) {
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if n, err = s.conn.Read(b); err != nil {
 | 
							if n, err = s.conn.Read(b); err != nil {
 | 
				
			||||||
			if e, eok := err.(yggdrasil.ConnError); eok && !e.Temporary() {
 | 
								if e, eok := err.(yggdrasil.ConnError); eok && !e.Temporary() {
 | 
				
			||||||
				s.tun.log.Errorln(s.conn.String(), "TUN/TAP conn read error:", err)
 | 
									if e.Closed() {
 | 
				
			||||||
 | 
										s.tun.log.Debugln(s.conn.String(), "TUN/TAP conn read debug:", err)
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										s.tun.log.Errorln(s.conn.String(), "TUN/TAP conn read error:", err)
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
				return e
 | 
									return e
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		} else if n > 0 {
 | 
							} else if n > 0 {
 | 
				
			||||||
| 
						 | 
					@ -98,9 +102,12 @@ func (s *tunConn) writer() error {
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			// TODO write timeout and close
 | 
								// TODO write timeout and close
 | 
				
			||||||
			if _, err := s.conn.Write(b); err != nil {
 | 
								if _, err := s.conn.Write(b); err != nil {
 | 
				
			||||||
				e, eok := err.(yggdrasil.ConnError)
 | 
									if e, eok := err.(yggdrasil.ConnError); !eok {
 | 
				
			||||||
				if !eok {
 | 
										if e.Closed() {
 | 
				
			||||||
					s.tun.log.Errorln(s.conn.String(), "TUN/TAP generic write error:", err)
 | 
											s.tun.log.Debugln(s.conn.String(), "TUN/TAP generic write debug:", err)
 | 
				
			||||||
 | 
										} else {
 | 
				
			||||||
 | 
											s.tun.log.Errorln(s.conn.String(), "TUN/TAP generic write error:", err)
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
				} else if ispackettoobig, maxsize := e.PacketTooBig(); ispackettoobig {
 | 
									} else if ispackettoobig, maxsize := e.PacketTooBig(); ispackettoobig {
 | 
				
			||||||
					// TODO: This currently isn't aware of IPv4 for CKR
 | 
										// TODO: This currently isn't aware of IPv4 for CKR
 | 
				
			||||||
					ptb := &icmp.PacketTooBig{
 | 
										ptb := &icmp.PacketTooBig{
 | 
				
			||||||
| 
						 | 
					@ -111,7 +118,11 @@ func (s *tunConn) writer() error {
 | 
				
			||||||
						s.tun.send <- packet
 | 
											s.tun.send <- packet
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				} else {
 | 
									} else {
 | 
				
			||||||
					s.tun.log.Errorln(s.conn.String(), "TUN/TAP conn write error:", err)
 | 
										if e.Closed() {
 | 
				
			||||||
 | 
											s.tun.log.Debugln(s.conn.String(), "TUN/TAP conn write debug:", err)
 | 
				
			||||||
 | 
										} else {
 | 
				
			||||||
 | 
											s.tun.log.Errorln(s.conn.String(), "TUN/TAP conn write error:", err)
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				s.stillAlive()
 | 
									s.stillAlive()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue