Skip to content

Commit 1900f58

Browse files
authored
Merge pull request #135 from ydb-platform/token-secret
v3.11.6: token representation + `log.Secret` helper for mask token
2 parents 6c3fed4 + bdab90e commit 1900f58

File tree

7 files changed

+35
-11
lines changed

7 files changed

+35
-11
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 3.11.6
2+
* Changed `trace.GetCredentialsDoneInfo` token representation from bool to string
3+
* Added `log.Secret` helper for mask token
4+
15
## 3.11.5
26
* Replaced meta in `proxyConnection.Invoke` and `proxyConnection.NewStream`
37

internal/meta/meta.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ func (m *meta) meta(ctx context.Context) (_ metadata.MD, err error) {
116116
t := trace.ContextDriver(ctx).Compose(m.trace)
117117
getCredentialsDone := trace.DriverOnGetCredentials(t, &ctx)
118118
defer func() {
119-
getCredentialsDone(token != "", err)
119+
getCredentialsDone(token, err)
120120
}()
121121
token, err = m.credentials.Token(ctx)
122122
if err != nil {

internal/meta/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package meta
22

33
const (
4-
Version = "ydb-go-sdk/3.11.5"
4+
Version = "ydb-go-sdk/3.11.6"
55
)

log/driver.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -453,14 +453,14 @@ func Driver(log Logger, details trace.Details) (t trace.Driver) {
453453
start := time.Now()
454454
return func(info trace.GetCredentialsDoneInfo) {
455455
if info.Error == nil {
456-
log.Tracef(`get done {latency:"%s",ok:%t}`,
456+
log.Tracef(`get done {latency:"%s",token:"%s"}`,
457457
time.Since(start),
458-
info.TokenOk,
458+
Secret(info.Token),
459459
)
460460
} else {
461-
log.Errorf(`get failed {latency:"%s",ok:%t,error:"%s"}`,
461+
log.Errorf(`get failed {latency:"%s",token:"%s",error:"%s"}`,
462462
time.Since(start),
463-
info.TokenOk,
463+
Secret(info.Token),
464464
info.Error,
465465
)
466466
}

log/secret.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package log
2+
3+
import (
4+
"bytes"
5+
"fmt"
6+
"hash/crc32"
7+
)
8+
9+
func Secret(secret string) string {
10+
var mask bytes.Buffer
11+
if len(secret) > 16 {
12+
mask.WriteString(secret[:4])
13+
mask.WriteString("****")
14+
mask.WriteString(secret[len(secret)-4:])
15+
} else {
16+
mask.WriteString("****")
17+
}
18+
mask.WriteString(fmt.Sprintf("(CRC-32c: %08X)", crc32.Checksum([]byte(secret), crc32.IEEETable)))
19+
return mask.String()
20+
}

trace/driver.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,8 @@ type (
280280
Context *context.Context
281281
}
282282
GetCredentialsDoneInfo struct {
283-
TokenOk bool
284-
Error error
283+
Token string
284+
Error error
285285
}
286286
InitStartInfo struct {
287287
// Context make available context in trace callback function.

trace/driver_gtrace.go

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)