MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / compareAuthData

Method compareAuthData

IceFireDB-SQLite/pkg/mysql/server/auth.go:21–54  ·  view source on GitHub ↗
(authPluginName string, clientAuthData []byte)

Source from the content-addressed store, hash-verified

19)
20
21func (c *Conn) compareAuthData(authPluginName string, clientAuthData []byte) error {
22 switch authPluginName {
23 case AUTH_NATIVE_PASSWORD:
24 if err := c.acquirePassword(); err != nil {
25 return err
26 }
27 return c.compareNativePasswordAuthData(clientAuthData, c.password)
28
29 case AUTH_CACHING_SHA2_PASSWORD:
30 if err := c.compareCacheSha2PasswordAuthData(clientAuthData); err != nil {
31 return err
32 }
33 if c.cachingSha2FullAuth {
34 return c.handleAuthSwitchResponse()
35 }
36 return nil
37
38 case AUTH_SHA256_PASSWORD:
39 if err := c.acquirePassword(); err != nil {
40 return err
41 }
42 cont, err := c.handlePublicKeyRetrieval(clientAuthData)
43 if err != nil {
44 return err
45 }
46 if !cont {
47 return nil
48 }
49 return c.compareSha256PasswordAuthData(clientAuthData, c.password)
50
51 default:
52 return errors.Errorf("unknown authentication plugin name '%s'", authPluginName)
53 }
54}
55
56func (c *Conn) acquirePassword() error {
57 password, found, err := c.credentialProvider.GetCredential(c.user)

Callers 1

readHandshakeResponseMethod · 0.95

Tested by

no test coverage detected