Skip to content

Commit cdcc272

Browse files
authored
Use existing functions from xdg-go/scram pkg (#3481)
1 parent 179073f commit cdcc272

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

pkg/kafka/auth/config.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,7 @@ func (config *AuthenticationConfig) SetConfiguration(saramaConfig *sarama.Config
6868
setKerberosConfiguration(&config.Kerberos, saramaConfig)
6969
return nil
7070
case plaintext:
71-
err := setPlainTextConfiguration(&config.PlainText, saramaConfig)
72-
if err != nil {
73-
return err
74-
}
75-
return nil
71+
return setPlainTextConfiguration(&config.PlainText, saramaConfig)
7672
default:
7773
return fmt.Errorf("Unknown/Unsupported authentication method %s to kafka cluster", config.Authentication)
7874
}

pkg/kafka/auth/plaintext.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@
1515
package auth
1616

1717
import (
18-
"crypto/sha256"
19-
"crypto/sha512"
2018
"fmt"
21-
"hash"
2219
"strings"
2320

2421
"github.com/Shopify/sarama"
@@ -65,20 +62,22 @@ type PlainTextConfig struct {
6562

6663
var _ sarama.SCRAMClient = (*scramClient)(nil)
6764

65+
func clientGenFunc(hashFn scram.HashGeneratorFcn) func() sarama.SCRAMClient {
66+
return func() sarama.SCRAMClient {
67+
return &scramClient{HashGeneratorFcn: hashFn}
68+
}
69+
}
70+
6871
func setPlainTextConfiguration(config *PlainTextConfig, saramaConfig *sarama.Config) error {
6972
saramaConfig.Net.SASL.Enable = true
7073
saramaConfig.Net.SASL.User = config.Username
7174
saramaConfig.Net.SASL.Password = config.Password
7275
switch strings.ToUpper(config.Mechanism) {
7376
case "SCRAM-SHA-256":
74-
saramaConfig.Net.SASL.SCRAMClientGeneratorFunc = func() sarama.SCRAMClient {
75-
return &scramClient{HashGeneratorFcn: func() hash.Hash { return sha256.New() }}
76-
}
77+
saramaConfig.Net.SASL.SCRAMClientGeneratorFunc = clientGenFunc(scram.SHA256)
7778
saramaConfig.Net.SASL.Mechanism = sarama.SASLTypeSCRAMSHA256
7879
case "SCRAM-SHA-512":
79-
saramaConfig.Net.SASL.SCRAMClientGeneratorFunc = func() sarama.SCRAMClient {
80-
return &scramClient{HashGeneratorFcn: func() hash.Hash { return sha512.New() }}
81-
}
80+
saramaConfig.Net.SASL.SCRAMClientGeneratorFunc = clientGenFunc(scram.SHA512)
8281
saramaConfig.Net.SASL.Mechanism = sarama.SASLTypeSCRAMSHA512
8382
case "PLAIN":
8483
saramaConfig.Net.SASL.Mechanism = sarama.SASLTypePlaintext

0 commit comments

Comments
 (0)