mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 17:42:24 -05:00 
			
		
		
		
	[chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862)
Bumps [github.com/ncruces/go-sqlite3](https://github.com/ncruces/go-sqlite3) from 0.23.0 to 0.24.0. - [Release notes](https://github.com/ncruces/go-sqlite3/releases) - [Commits](https://github.com/ncruces/go-sqlite3/compare/v0.23.0...v0.24.0) --- updated-dependencies: - dependency-name: github.com/ncruces/go-sqlite3 dependency-type: direct:production update-type: version-update:semver-minor ... 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
					
						
							
								8488ac9286
							
						
					
				
			
			
				commit
				
					
						0e2e8e54ab
					
				
			
		
					 26 changed files with 215 additions and 155 deletions
				
			
		
							
								
								
									
										47
									
								
								vendor/golang.org/x/crypto/ssh/handshake.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										47
									
								
								vendor/golang.org/x/crypto/ssh/handshake.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -25,6 +25,11 @@ const debugHandshake = false | |||
| // quickly. | ||||
| const chanSize = 16 | ||||
| 
 | ||||
| // maxPendingPackets sets the maximum number of packets to queue while waiting | ||||
| // for KEX to complete. This limits the total pending data to maxPendingPackets | ||||
| // * maxPacket bytes, which is ~16.8MB. | ||||
| const maxPendingPackets = 64 | ||||
| 
 | ||||
| // keyingTransport is a packet based transport that supports key | ||||
| // changes. It need not be thread-safe. It should pass through | ||||
| // msgNewKeys in both directions. | ||||
|  | @ -73,11 +78,19 @@ type handshakeTransport struct { | |||
| 	incoming  chan []byte | ||||
| 	readError error | ||||
| 
 | ||||
| 	mu               sync.Mutex | ||||
| 	writeError       error | ||||
| 	sentInitPacket   []byte | ||||
| 	sentInitMsg      *kexInitMsg | ||||
| 	pendingPackets   [][]byte // Used when a key exchange is in progress. | ||||
| 	mu sync.Mutex | ||||
| 	// Condition for the above mutex. It is used to notify a completed key | ||||
| 	// exchange or a write failure. Writes can wait for this condition while a | ||||
| 	// key exchange is in progress. | ||||
| 	writeCond      *sync.Cond | ||||
| 	writeError     error | ||||
| 	sentInitPacket []byte | ||||
| 	sentInitMsg    *kexInitMsg | ||||
| 	// Used to queue writes when a key exchange is in progress. The length is | ||||
| 	// limited by pendingPacketsSize. Once full, writes will block until the key | ||||
| 	// exchange is completed or an error occurs. If not empty, it is emptied | ||||
| 	// all at once when the key exchange is completed in kexLoop. | ||||
| 	pendingPackets   [][]byte | ||||
| 	writePacketsLeft uint32 | ||||
| 	writeBytesLeft   int64 | ||||
| 	userAuthComplete bool // whether the user authentication phase is complete | ||||
|  | @ -134,6 +147,7 @@ func newHandshakeTransport(conn keyingTransport, config *Config, clientVersion, | |||
| 
 | ||||
| 		config: config, | ||||
| 	} | ||||
| 	t.writeCond = sync.NewCond(&t.mu) | ||||
| 	t.resetReadThresholds() | ||||
| 	t.resetWriteThresholds() | ||||
| 
 | ||||
|  | @ -260,6 +274,7 @@ func (t *handshakeTransport) recordWriteError(err error) { | |||
| 	defer t.mu.Unlock() | ||||
| 	if t.writeError == nil && err != nil { | ||||
| 		t.writeError = err | ||||
| 		t.writeCond.Broadcast() | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | @ -363,6 +378,8 @@ write: | |||
| 			} | ||||
| 		} | ||||
| 		t.pendingPackets = t.pendingPackets[:0] | ||||
| 		// Unblock writePacket if waiting for KEX. | ||||
| 		t.writeCond.Broadcast() | ||||
| 		t.mu.Unlock() | ||||
| 	} | ||||
| 
 | ||||
|  | @ -577,11 +594,20 @@ func (t *handshakeTransport) writePacket(p []byte) error { | |||
| 	} | ||||
| 
 | ||||
| 	if t.sentInitMsg != nil { | ||||
| 		// Copy the packet so the writer can reuse the buffer. | ||||
| 		cp := make([]byte, len(p)) | ||||
| 		copy(cp, p) | ||||
| 		t.pendingPackets = append(t.pendingPackets, cp) | ||||
| 		return nil | ||||
| 		if len(t.pendingPackets) < maxPendingPackets { | ||||
| 			// Copy the packet so the writer can reuse the buffer. | ||||
| 			cp := make([]byte, len(p)) | ||||
| 			copy(cp, p) | ||||
| 			t.pendingPackets = append(t.pendingPackets, cp) | ||||
| 			return nil | ||||
| 		} | ||||
| 		for t.sentInitMsg != nil { | ||||
| 			// Block and wait for KEX to complete or an error. | ||||
| 			t.writeCond.Wait() | ||||
| 			if t.writeError != nil { | ||||
| 				return t.writeError | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if t.writeBytesLeft > 0 { | ||||
|  | @ -598,6 +624,7 @@ func (t *handshakeTransport) writePacket(p []byte) error { | |||
| 
 | ||||
| 	if err := t.pushPacket(p); err != nil { | ||||
| 		t.writeError = err | ||||
| 		t.writeCond.Broadcast() | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue