mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 09:22:25 -05:00 
			
		
		
		
	[chore]: Bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 (#2335)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: kim <grufwub@gmail.com>
This commit is contained in:
		
					parent
					
						
							
								33ee61575f
							
						
					
				
			
			
				commit
				
					
						2eb8b8eeb4
					
				
			
		
					 29 changed files with 1203 additions and 632 deletions
				
			
		
							
								
								
									
										83
									
								
								vendor/github.com/gorilla/websocket/conn.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										83
									
								
								vendor/github.com/gorilla/websocket/conn.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -6,11 +6,11 @@ package websocket | |||
| 
 | ||||
| import ( | ||||
| 	"bufio" | ||||
| 	"crypto/rand" | ||||
| 	"encoding/binary" | ||||
| 	"errors" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"math/rand" | ||||
| 	"log" | ||||
| 	"net" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
|  | @ -181,13 +181,20 @@ var ( | |||
| 	errInvalidControlFrame = errors.New("websocket: invalid control frame") | ||||
| ) | ||||
| 
 | ||||
| // maskRand is an io.Reader for generating mask bytes. The reader is initialized | ||||
| // to crypto/rand Reader. Tests swap the reader to a math/rand reader for | ||||
| // reproducible results. | ||||
| var maskRand = rand.Reader | ||||
| 
 | ||||
| // newMaskKey returns a new 32 bit value for masking client frames. | ||||
| func newMaskKey() [4]byte { | ||||
| 	n := rand.Uint32() | ||||
| 	return [4]byte{byte(n), byte(n >> 8), byte(n >> 16), byte(n >> 24)} | ||||
| 	var k [4]byte | ||||
| 	_, _ = io.ReadFull(maskRand, k[:]) | ||||
| 	return k | ||||
| } | ||||
| 
 | ||||
| func hideTempErr(err error) error { | ||||
| 	if e, ok := err.(net.Error); ok && e.Temporary() { | ||||
| 	if e, ok := err.(net.Error); ok { | ||||
| 		err = &netError{msg: e.Error(), timeout: e.Timeout()} | ||||
| 	} | ||||
| 	return err | ||||
|  | @ -372,7 +379,9 @@ func (c *Conn) read(n int) ([]byte, error) { | |||
| 	if err == io.EOF { | ||||
| 		err = errUnexpectedEOF | ||||
| 	} | ||||
| 	c.br.Discard(len(p)) | ||||
| 	if _, err := c.br.Discard(len(p)); err != nil { | ||||
| 		return p, err | ||||
| 	} | ||||
| 	return p, err | ||||
| } | ||||
| 
 | ||||
|  | @ -387,7 +396,9 @@ func (c *Conn) write(frameType int, deadline time.Time, buf0, buf1 []byte) error | |||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	c.conn.SetWriteDeadline(deadline) | ||||
| 	if err := c.conn.SetWriteDeadline(deadline); err != nil { | ||||
| 		return c.writeFatal(err) | ||||
| 	} | ||||
| 	if len(buf1) == 0 { | ||||
| 		_, err = c.conn.Write(buf0) | ||||
| 	} else { | ||||
|  | @ -397,7 +408,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 | ||||
| } | ||||
|  | @ -438,7 +449,7 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er | |||
| 
 | ||||
| 	d := 1000 * time.Hour | ||||
| 	if !deadline.IsZero() { | ||||
| 		d = deadline.Sub(time.Now()) | ||||
| 		d = time.Until(deadline) | ||||
| 		if d < 0 { | ||||
| 			return errWriteTimeout | ||||
| 		} | ||||
|  | @ -460,13 +471,15 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er | |||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	c.conn.SetWriteDeadline(deadline) | ||||
| 	if err := c.conn.SetWriteDeadline(deadline); err != nil { | ||||
| 		return c.writeFatal(err) | ||||
| 	} | ||||
| 	_, err = c.conn.Write(buf) | ||||
| 	if err != nil { | ||||
| 		return c.writeFatal(err) | ||||
| 	} | ||||
| 	if messageType == CloseMessage { | ||||
| 		c.writeFatal(ErrCloseSent) | ||||
| 		_ = c.writeFatal(ErrCloseSent) | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
|  | @ -477,7 +490,9 @@ 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 { | ||||
| 		c.writer.Close() | ||||
| 		if err := c.writer.Close(); err != nil { | ||||
| 			log.Printf("websocket: discarding writer close error: %v", err) | ||||
| 		} | ||||
| 		c.writer = nil | ||||
| 	} | ||||
| 
 | ||||
|  | @ -630,7 +645,7 @@ func (w *messageWriter) flushFrame(final bool, extra []byte) error { | |||
| 	} | ||||
| 
 | ||||
| 	if final { | ||||
| 		w.endMessage(errWriteClosed) | ||||
| 		_ = w.endMessage(errWriteClosed) | ||||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
|  | @ -795,7 +810,7 @@ func (c *Conn) advanceFrame() (int, error) { | |||
| 	// 1. Skip remainder of previous frame. | ||||
| 
 | ||||
| 	if c.readRemaining > 0 { | ||||
| 		if _, err := io.CopyN(ioutil.Discard, c.br, c.readRemaining); err != nil { | ||||
| 		if _, err := io.CopyN(io.Discard, c.br, c.readRemaining); err != nil { | ||||
| 			return noFrame, err | ||||
| 		} | ||||
| 	} | ||||
|  | @ -817,7 +832,9 @@ func (c *Conn) advanceFrame() (int, error) { | |||
| 	rsv2 := p[0]&rsv2Bit != 0 | ||||
| 	rsv3 := p[0]&rsv3Bit != 0 | ||||
| 	mask := p[1]&maskBit != 0 | ||||
| 	c.setReadRemaining(int64(p[1] & 0x7f)) | ||||
| 	if err := c.setReadRemaining(int64(p[1] & 0x7f)); err != nil { | ||||
| 		return noFrame, err | ||||
| 	} | ||||
| 
 | ||||
| 	c.readDecompress = false | ||||
| 	if rsv1 { | ||||
|  | @ -922,7 +939,9 @@ func (c *Conn) advanceFrame() (int, error) { | |||
| 		} | ||||
| 
 | ||||
| 		if c.readLimit > 0 && c.readLength > c.readLimit { | ||||
| 			c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)) | ||||
| 			if err := c.WriteControl(CloseMessage, FormatCloseMessage(CloseMessageTooBig, ""), time.Now().Add(writeWait)); err != nil { | ||||
| 				return noFrame, err | ||||
| 			} | ||||
| 			return noFrame, ErrReadLimit | ||||
| 		} | ||||
| 
 | ||||
|  | @ -934,7 +953,9 @@ func (c *Conn) advanceFrame() (int, error) { | |||
| 	var payload []byte | ||||
| 	if c.readRemaining > 0 { | ||||
| 		payload, err = c.read(int(c.readRemaining)) | ||||
| 		c.setReadRemaining(0) | ||||
| 		if err := c.setReadRemaining(0); err != nil { | ||||
| 			return noFrame, err | ||||
| 		} | ||||
| 		if err != nil { | ||||
| 			return noFrame, err | ||||
| 		} | ||||
|  | @ -981,7 +1002,9 @@ func (c *Conn) handleProtocolError(message string) error { | |||
| 	if len(data) > maxControlFramePayloadSize { | ||||
| 		data = data[:maxControlFramePayloadSize] | ||||
| 	} | ||||
| 	c.WriteControl(CloseMessage, data, time.Now().Add(writeWait)) | ||||
| 	if err := c.WriteControl(CloseMessage, data, time.Now().Add(writeWait)); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return errors.New("websocket: " + message) | ||||
| } | ||||
| 
 | ||||
|  | @ -998,7 +1021,9 @@ 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 { | ||||
| 		c.reader.Close() | ||||
| 		if err := c.reader.Close(); err != nil { | ||||
| 			log.Printf("websocket: discarding reader close error: %v", err) | ||||
| 		} | ||||
| 		c.reader = nil | ||||
| 	} | ||||
| 
 | ||||
|  | @ -1054,7 +1079,9 @@ func (r *messageReader) Read(b []byte) (int, error) { | |||
| 			} | ||||
| 			rem := c.readRemaining | ||||
| 			rem -= int64(n) | ||||
| 			c.setReadRemaining(rem) | ||||
| 			if err := c.setReadRemaining(rem); err != nil { | ||||
| 				return 0, err | ||||
| 			} | ||||
| 			if c.readRemaining > 0 && c.readErr == io.EOF { | ||||
| 				c.readErr = errUnexpectedEOF | ||||
| 			} | ||||
|  | @ -1094,7 +1121,7 @@ func (c *Conn) ReadMessage() (messageType int, p []byte, err error) { | |||
| 	if err != nil { | ||||
| 		return messageType, nil, err | ||||
| 	} | ||||
| 	p, err = ioutil.ReadAll(r) | ||||
| 	p, err = io.ReadAll(r) | ||||
| 	return messageType, p, err | ||||
| } | ||||
| 
 | ||||
|  | @ -1136,7 +1163,9 @@ func (c *Conn) SetCloseHandler(h func(code int, text string) error) { | |||
| 	if h == nil { | ||||
| 		h = func(code int, text string) error { | ||||
| 			message := FormatCloseMessage(code, "") | ||||
| 			c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)) | ||||
| 			if err := c.WriteControl(CloseMessage, message, time.Now().Add(writeWait)); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			return nil | ||||
| 		} | ||||
| 	} | ||||
|  | @ -1161,7 +1190,7 @@ func (c *Conn) SetPingHandler(h func(appData string) error) { | |||
| 			err := c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait)) | ||||
| 			if err == ErrCloseSent { | ||||
| 				return nil | ||||
| 			} else if e, ok := err.(net.Error); ok && e.Temporary() { | ||||
| 			} else if _, ok := err.(net.Error); ok { | ||||
| 				return nil | ||||
| 			} | ||||
| 			return err | ||||
|  | @ -1189,8 +1218,16 @@ func (c *Conn) SetPongHandler(h func(appData string) error) { | |||
| 	c.handlePong = h | ||||
| } | ||||
| 
 | ||||
| // NetConn returns the underlying connection that is wrapped by c. | ||||
| // Note that writing to or reading from this connection directly will corrupt the | ||||
| // WebSocket connection. | ||||
| func (c *Conn) NetConn() net.Conn { | ||||
| 	return c.conn | ||||
| } | ||||
| 
 | ||||
| // UnderlyingConn returns the internal net.Conn. This can be used to further | ||||
| // modifications to connection specific flags. | ||||
| // Deprecated: Use the NetConn method. | ||||
| func (c *Conn) UnderlyingConn() net.Conn { | ||||
| 	return c.conn | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue