1
0
mirror of https://github.com/golang/go synced 2024-11-25 03:47:57 -07:00

exp/ssh: rename ClientAuthPublicKey helper ClientAuthKeyring

Also, rename ServerConfig.PubKeyCallback to PublicKeyCallback.

R=rsc, agl
CC=golang-dev
https://golang.org/cl/5477059
This commit is contained in:
Dave Cheney 2011-12-15 11:06:10 -05:00 committed by Adam Langley
parent 17264df112
commit fc6df2fdd8
5 changed files with 15 additions and 15 deletions

View File

@ -283,8 +283,8 @@ func (p *publickeyAuth) method() string {
return "publickey" return "publickey"
} }
// ClientAuthPublickey returns a ClientAuth using public key authentication. // ClientAuthKeyring returns a ClientAuth using public key authentication.
func ClientAuthPublickey(impl ClientKeyring) ClientAuth { func ClientAuthKeyring(impl ClientKeyring) ClientAuth {
return &publickeyAuth{impl} return &publickeyAuth{impl}
} }

View File

@ -122,7 +122,7 @@ var (
PasswordCallback: func(user, pass string) bool { PasswordCallback: func(user, pass string) bool {
return user == "testuser" && pass == string(clientPassword) return user == "testuser" && pass == string(clientPassword)
}, },
PubKeyCallback: func(user, algo string, pubkey []byte) bool { PublicKeyCallback: func(user, algo string, pubkey []byte) bool {
key := clientKeychain.keys[0].(*rsa.PrivateKey).PublicKey key := clientKeychain.keys[0].(*rsa.PrivateKey).PublicKey
expected := []byte(serializePublickey(key)) expected := []byte(serializePublickey(key))
algoname := algoName(key) algoname := algoName(key)
@ -179,7 +179,7 @@ func TestClientAuthPublickey(t *testing.T) {
config := &ClientConfig{ config := &ClientConfig{
User: "testuser", User: "testuser",
Auth: []ClientAuth{ Auth: []ClientAuth{
ClientAuthPublickey(clientKeychain), ClientAuthKeyring(clientKeychain),
}, },
} }
c, err := Dial("tcp", newMockAuthServer(t), config) c, err := Dial("tcp", newMockAuthServer(t), config)
@ -210,7 +210,7 @@ func TestClientAuthWrongPassword(t *testing.T) {
User: "testuser", User: "testuser",
Auth: []ClientAuth{ Auth: []ClientAuth{
ClientAuthPassword(wrongPw), ClientAuthPassword(wrongPw),
ClientAuthPublickey(clientKeychain), ClientAuthKeyring(clientKeychain),
}, },
} }
@ -228,7 +228,7 @@ func TestClientAuthInvalidPublickey(t *testing.T) {
config := &ClientConfig{ config := &ClientConfig{
User: "testuser", User: "testuser",
Auth: []ClientAuth{ Auth: []ClientAuth{
ClientAuthPublickey(kc), ClientAuthKeyring(kc),
}, },
} }
@ -246,7 +246,7 @@ func TestClientAuthRSAandDSA(t *testing.T) {
config := &ClientConfig{ config := &ClientConfig{
User: "testuser", User: "testuser",
Auth: []ClientAuth{ Auth: []ClientAuth{
ClientAuthPublickey(kc), ClientAuthKeyring(kc),
}, },
} }
c, err := Dial("tcp", newMockAuthServer(t), config) c, err := Dial("tcp", newMockAuthServer(t), config)

View File

@ -50,7 +50,7 @@ func TestFuncPublickeyAuth(t *testing.T) {
config := &ClientConfig{ config := &ClientConfig{
User: *sshuser, User: *sshuser,
Auth: []ClientAuth{ Auth: []ClientAuth{
ClientAuthPublickey(kc), ClientAuthKeyring(kc),
}, },
} }
conn, err := Dial("tcp", "localhost:22", config) conn, err := Dial("tcp", "localhost:22", config)

View File

@ -36,10 +36,10 @@ type ServerConfig struct {
// several goroutines. // several goroutines.
PasswordCallback func(user, password string) bool PasswordCallback func(user, password string) bool
// PubKeyCallback, if non-nil, is called when a client attempts public // PublicKeyCallback, if non-nil, is called when a client attempts public
// key authentication. It must return true iff the given public key is // key authentication. It must return true iff the given public key is
// valid for the given user. // valid for the given user.
PubKeyCallback func(user, algo string, pubkey []byte) bool PublicKeyCallback func(user, algo string, pubkey []byte) bool
// Cryptographic-related configuration. // Cryptographic-related configuration.
Crypto CryptoConfig Crypto CryptoConfig
@ -359,7 +359,7 @@ func isAcceptableAlgo(algo string) bool {
// testPubKey returns true if the given public key is acceptable for the user. // testPubKey returns true if the given public key is acceptable for the user.
func (s *ServerConn) testPubKey(user, algo string, pubKey []byte) bool { func (s *ServerConn) testPubKey(user, algo string, pubKey []byte) bool {
if s.config.PubKeyCallback == nil || !isAcceptableAlgo(algo) { if s.config.PublicKeyCallback == nil || !isAcceptableAlgo(algo) {
return false return false
} }
@ -369,7 +369,7 @@ func (s *ServerConn) testPubKey(user, algo string, pubKey []byte) bool {
} }
} }
result := s.config.PubKeyCallback(user, algo, pubKey) result := s.config.PublicKeyCallback(user, algo, pubKey)
if len(s.cachedPubKeys) < maxCachedPubKeys { if len(s.cachedPubKeys) < maxCachedPubKeys {
c := cachedPubKey{ c := cachedPubKey{
user: user, user: user,
@ -425,7 +425,7 @@ userAuthLoop:
break userAuthLoop break userAuthLoop
} }
case "publickey": case "publickey":
if s.config.PubKeyCallback == nil { if s.config.PublicKeyCallback == nil {
break break
} }
payload := userAuthReq.Payload payload := userAuthReq.Payload
@ -499,7 +499,7 @@ userAuthLoop:
if s.config.PasswordCallback != nil { if s.config.PasswordCallback != nil {
failureMsg.Methods = append(failureMsg.Methods, "password") failureMsg.Methods = append(failureMsg.Methods, "password")
} }
if s.config.PubKeyCallback != nil { if s.config.PublicKeyCallback != nil {
failureMsg.Methods = append(failureMsg.Methods, "publickey") failureMsg.Methods = append(failureMsg.Methods, "publickey")
} }

View File

@ -20,7 +20,7 @@ func dial(handler serverType, t *testing.T) *ClientConn {
serverConfig.PasswordCallback = func(user, pass string) bool { serverConfig.PasswordCallback = func(user, pass string) bool {
return user == "testuser" && pass == string(pw) return user == "testuser" && pass == string(pw)
} }
serverConfig.PubKeyCallback = nil serverConfig.PublicKeyCallback = nil
l, err := Listen("tcp", "127.0.0.1:0", serverConfig) l, err := Listen("tcp", "127.0.0.1:0", serverConfig)
if err != nil { if err != nil {