mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	switch to use gliderlabs/ssh for builtin server (#7250)
resolves git conflicts from #3896 (credit to @belak, in case github doesn't keep original author during squash) Co-Authored-By: Matti Ranta <techknowlogick@gitea.io>
This commit is contained in:
		
							
								
								
									
										77
									
								
								vendor/github.com/gliderlabs/ssh/options.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								vendor/github.com/gliderlabs/ssh/options.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,77 @@ | ||||
| package ssh | ||||
|  | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
|  | ||||
| 	gossh "golang.org/x/crypto/ssh" | ||||
| ) | ||||
|  | ||||
| // PasswordAuth returns a functional option that sets PasswordHandler on the server. | ||||
| func PasswordAuth(fn PasswordHandler) Option { | ||||
| 	return func(srv *Server) error { | ||||
| 		srv.PasswordHandler = fn | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // PublicKeyAuth returns a functional option that sets PublicKeyHandler on the server. | ||||
| func PublicKeyAuth(fn PublicKeyHandler) Option { | ||||
| 	return func(srv *Server) error { | ||||
| 		srv.PublicKeyHandler = fn | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // HostKeyFile returns a functional option that adds HostSigners to the server | ||||
| // from a PEM file at filepath. | ||||
| func HostKeyFile(filepath string) Option { | ||||
| 	return func(srv *Server) error { | ||||
| 		pemBytes, err := ioutil.ReadFile(filepath) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		signer, err := gossh.ParsePrivateKey(pemBytes) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		srv.AddHostKey(signer) | ||||
|  | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // HostKeyPEM returns a functional option that adds HostSigners to the server | ||||
| // from a PEM file as bytes. | ||||
| func HostKeyPEM(bytes []byte) Option { | ||||
| 	return func(srv *Server) error { | ||||
| 		signer, err := gossh.ParsePrivateKey(bytes) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		srv.AddHostKey(signer) | ||||
|  | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // NoPty returns a functional option that sets PtyCallback to return false, | ||||
| // denying PTY requests. | ||||
| func NoPty() Option { | ||||
| 	return func(srv *Server) error { | ||||
| 		srv.PtyCallback = func(ctx Context, pty Pty) bool { | ||||
| 			return false | ||||
| 		} | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // WrapConn returns a functional option that sets ConnCallback on the server. | ||||
| func WrapConn(fn ConnCallback) Option { | ||||
| 	return func(srv *Server) error { | ||||
| 		srv.ConnCallback = fn | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 techknowlogick
					techknowlogick