mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 09:32:25 -05:00 
			
		
		
		
	[chore]: Bump github.com/gorilla/websocket from 1.5.1 to 1.5.2 (#2987)
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.5.1 to 1.5.2. - [Release notes](https://github.com/gorilla/websocket/releases) - [Commits](https://github.com/gorilla/websocket/compare/v1.5.1...v1.5.2) --- updated-dependencies: - dependency-name: github.com/gorilla/websocket dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								12c406d968
							
						
					
				
			
			
				commit
				
					
						a687f0634c
					
				
			
		
					 15 changed files with 584 additions and 146 deletions
				
			
		
							
								
								
									
										103
									
								
								vendor/github.com/gorilla/websocket/conn.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										103
									
								
								vendor/github.com/gorilla/websocket/conn.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -10,7 +10,6 @@ import ( | |||
| 	"encoding/binary" | ||||
| 	"errors" | ||||
| 	"io" | ||||
| 	"log" | ||||
| 	"net" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
|  | @ -193,13 +192,6 @@ func newMaskKey() [4]byte { | |||
| 	return k | ||||
| } | ||||
| 
 | ||||
| func hideTempErr(err error) error { | ||||
| 	if e, ok := err.(net.Error); ok { | ||||
| 		err = &netError{msg: e.Error(), timeout: e.Timeout()} | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| func isControl(frameType int) bool { | ||||
| 	return frameType == CloseMessage || frameType == PingMessage || frameType == PongMessage | ||||
| } | ||||
|  | @ -365,7 +357,6 @@ func (c *Conn) RemoteAddr() net.Addr { | |||
| // Write methods | ||||
| 
 | ||||
| func (c *Conn) writeFatal(err error) error { | ||||
| 	err = hideTempErr(err) | ||||
| 	c.writeErrMu.Lock() | ||||
| 	if c.writeErr == nil { | ||||
| 		c.writeErr = err | ||||
|  | @ -379,9 +370,7 @@ func (c *Conn) read(n int) ([]byte, error) { | |||
| 	if err == io.EOF { | ||||
| 		err = errUnexpectedEOF | ||||
| 	} | ||||
| 	if _, err := c.br.Discard(len(p)); err != nil { | ||||
| 		return p, err | ||||
| 	} | ||||
| 	c.br.Discard(len(p)) | ||||
| 	return p, err | ||||
| } | ||||
| 
 | ||||
|  | @ -396,9 +385,7 @@ func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error | |||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	if err := c.conn.SetWriteDeadline(deadline); err != nil { | ||||
| 		return c.writeFatal(err) | ||||
| 	} | ||||
| 	c.conn.SetWriteDeadline(deadline) | ||||
| 	if len(buf1) == 0 { | ||||
| 		_, err = c.conn.Write(buf0) | ||||
| 	} else { | ||||
|  | @ -408,7 +395,7 @@ func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error | |||
| 		return c.writeFatal(err) | ||||
| 	} | ||||
| 	if frameType == CloseMessage { | ||||
| 		_ = c.writeFatal(ErrCloseSent) | ||||
| 		c.writeFatal(ErrCloseSent) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | @ -447,21 +434,27 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er | |||
| 		maskBytes(key, 0, buf[6:]) | ||||
| 	} | ||||
| 
 | ||||
| 	d := 1000 * time.Hour | ||||
| 	if !deadline.IsZero() { | ||||
| 		d = time.Until(deadline) | ||||
| 	if deadline.IsZero() { | ||||
| 		// No timeout for zero time. | ||||
| 		<-c.mu | ||||
| 	} else { | ||||
| 		d := time.Until(deadline) | ||||
| 		if d < 0 { | ||||
| 			return errWriteTimeout | ||||
| 		} | ||||
| 		select { | ||||
| 		case <-c.mu: | ||||
| 		default: | ||||
| 			timer := time.NewTimer(d) | ||||
| 			select { | ||||
| 			case <-c.mu: | ||||
| 				timer.Stop() | ||||
| 			case <-timer.C: | ||||
| 				return errWriteTimeout | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	timer := time.NewTimer(d) | ||||
| 	select { | ||||
| 	case <-c.mu: | ||||
| 		timer.Stop() | ||||
| 	case <-timer.C: | ||||
| 		return errWriteTimeout | ||||
| 	} | ||||
| 	defer func() { c.mu <- struct{}{} }() | ||||
| 
 | ||||
| 	c.writeErrMu.Lock() | ||||
|  | @ -471,15 +464,13 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er | |||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	if err := c.conn.SetWriteDeadline(deadline); err != nil { | ||||
| 		return c.writeFatal(err) | ||||
| 	} | ||||
| 	c.conn.SetWriteDeadline(deadline) | ||||
| 	_, err = c.conn.Write(buf) | ||||
| 	if err != nil { | ||||
| 		return c.writeFatal(err) | ||||
| 	} | ||||
| 	if messageType == CloseMessage { | ||||
| 		_ = c.writeFatal(ErrCloseSent) | ||||
| 		c.writeFatal(ErrCloseSent) | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
|  | @ -490,9 +481,7 @@ func (c *Conn) beginMessage(mw *messageWriter, messageType int) error { | |||
| 	// probably better to return an error in this situation, but we cannot | ||||
| 	// change this without breaking existing applications. | ||||
| 	if c.writer != nil { | ||||
| 		if err := c.writer.Close(); err != nil { | ||||
| 			log.Printf("websocket: discarding writer close error: %v", err) | ||||
| 		} | ||||
| 		c.writer.Close() | ||||
| 		c.writer = nil | ||||
| 	} | ||||
| 
 | ||||
|  | @ -645,7 +634,7 @@ func (w *messageWriter) flushFrame(final bool, extra []byte) error { | |||
| 	} | ||||
| 
 | ||||
| 	if final { | ||||
| 		_ = w.endMessage(errWriteClosed) | ||||
| 		w.endMessage(errWriteClosed) | ||||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
|  | @ -832,9 +821,7 @@ func (c *Conn) advanceFrame() (int, error) { | |||
| 	rsv2 := p[0]&rsv2Bit != 0 | ||||
| 	rsv3 := p[0]&rsv3Bit != 0 | ||||
| 	mask := p[1]&maskBit != 0 | ||||
| 	if err := c.setReadRemaining(int64(p[1] & 0x7f)); err != nil { | ||||
| 		return noFrame, err | ||||
| 	} | ||||
| 	c.setReadRemaining(int64(p[1] & 0x7f)) | ||||
| 
 | ||||
| 	c.readDecompress = false | ||||
| 	if rsv1 { | ||||
|  | @ -939,9 +926,7 @@ func (c *Conn) advanceFrame() (int, error) { | |||
| 		} | ||||
| 
 | ||||
| 		if c.readLimit > 0 && c.readLength > c.readLimit { | ||||
| 			if err := c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)); err != nil { | ||||
| 				return noFrame, err | ||||
| 			} | ||||
| 			c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)) | ||||
| 			return noFrame, ErrReadLimit | ||||
| 		} | ||||
| 
 | ||||
|  | @ -953,9 +938,7 @@ func (c *Conn) advanceFrame() (int, error) { | |||
| 	var payload []byte | ||||
| 	if c.readRemaining > 0 { | ||||
| 		payload, err = c.read(int(c.readRemaining)) | ||||
| 		if err := c.setReadRemaining(0); err != nil { | ||||
| 			return noFrame, err | ||||
| 		} | ||||
| 		c.setReadRemaining(0) | ||||
| 		if err != nil { | ||||
| 			return noFrame, err | ||||
| 		} | ||||
|  | @ -1002,9 +985,7 @@ func (c *Conn) handleProtocolError(message string) error { | |||
| 	if len(data) > maxControlFramePayloadSize { | ||||
| 		data = data[:maxControlFramePayloadSize] | ||||
| 	} | ||||
| 	if err := c.WriteControl(CloseMessage, data, time.Now().Add(writeWait)); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	c.WriteControl(CloseMessage, data, time.Now().Add(writeWait)) | ||||
| 	return errors.New("websocket: " + message) | ||||
| } | ||||
| 
 | ||||
|  | @ -1021,9 +1002,7 @@ func (c *Conn) handleProtocolError(message string) error { | |||
| func (c *Conn) NextReader() (messageType int, r io.Reader, err error) { | ||||
| 	// Close previous reader, only relevant for decompression. | ||||
| 	if c.reader != nil { | ||||
| 		if err := c.reader.Close(); err != nil { | ||||
| 			log.Printf("websocket: discarding reader close error: %v", err) | ||||
| 		} | ||||
| 		c.reader.Close() | ||||
| 		c.reader = nil | ||||
| 	} | ||||
| 
 | ||||
|  | @ -1033,7 +1012,7 @@ func (c *Conn) NextReader() (messageType int, r io.Reader, err error) { | |||
| 	for c.readErr == nil { | ||||
| 		frameType, err := c.advanceFrame() | ||||
| 		if err != nil { | ||||
| 			c.readErr = hideTempErr(err) | ||||
| 			c.readErr = err | ||||
| 			break | ||||
| 		} | ||||
| 
 | ||||
|  | @ -1073,15 +1052,13 @@ func (r *messageReader) Read(b []byte) (int, error) { | |||
| 				b = b[:c.readRemaining] | ||||
| 			} | ||||
| 			n, err := c.br.Read(b) | ||||
| 			c.readErr = hideTempErr(err) | ||||
| 			c.readErr = err | ||||
| 			if c.isServer { | ||||
| 				c.readMaskPos = maskBytes(c.readMaskKey, c.readMaskPos, b[:n]) | ||||
| 			} | ||||
| 			rem := c.readRemaining | ||||
| 			rem -= int64(n) | ||||
| 			if err := c.setReadRemaining(rem); err != nil { | ||||
| 				return 0, err | ||||
| 			} | ||||
| 			c.setReadRemaining(rem) | ||||
| 			if c.readRemaining > 0 && c.readErr == io.EOF { | ||||
| 				c.readErr = errUnexpectedEOF | ||||
| 			} | ||||
|  | @ -1096,7 +1073,7 @@ func (r *messageReader) Read(b []byte) (int, error) { | |||
| 		frameType, err := c.advanceFrame() | ||||
| 		switch { | ||||
| 		case err != nil: | ||||
| 			c.readErr = hideTempErr(err) | ||||
| 			c.readErr = err | ||||
| 		case frameType == TextMessage || frameType == BinaryMessage: | ||||
| 			c.readErr = errors.New("websocket: internal error, unexpected text or binary in Reader") | ||||
| 		} | ||||
|  | @ -1163,9 +1140,7 @@ func (c *Conn) SetCloseHandler(h func(code int, text string) error) { | |||
| 	if h == nil { | ||||
| 		h = func(code int, text string) error { | ||||
| 			message := FormatCloseMessage(code, "") | ||||
| 			if err := c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)) | ||||
| 			return nil | ||||
| 		} | ||||
| 	} | ||||
|  | @ -1265,3 +1240,15 @@ func FormatCloseMessage(closeCode int, text string) []byte { | |||
| 	copy(buf[2:], text) | ||||
| 	return buf | ||||
| } | ||||
| 
 | ||||
| var messageTypes = map[int]string{ | ||||
| 	TextMessage:   "TextMessage", | ||||
| 	BinaryMessage: "BinaryMessage", | ||||
| 	CloseMessage:  "CloseMessage", | ||||
| 	PingMessage:   "PingMessage", | ||||
| 	PongMessage:   "PongMessage", | ||||
| } | ||||
| 
 | ||||
| func FormatMessageType(mt int) string { | ||||
| 	return messageTypes[mt] | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue