doc: improve and reference existing bug in the code (#356)

This commit is contained in:
Simone Basso 2021-06-04 12:50:23 +02:00 committed by GitHub
parent 4764d7f378
commit 944d3c53fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 11 deletions

View File

@ -25,6 +25,8 @@ func (c Client) MaybeRegister(ctx context.Context, metadata Metadata) error {
return nil // we're already good
}
c.RegisterCalls.Add(1)
// TODO(bassosimone): here we should use a CSRNG
// (https://github.com/ooni/probe/issues/1502)
pwd := randx.Letters(64)
req := &registerRequest{
Metadata: metadata,

View File

@ -1,5 +1,5 @@
// Package platform returns the platform name. The name returned here
// is compatible with the names returned by Measurement Kit.
// Package platform allows you to obtain the platform name. We use this
// information to annotate measurements.
package platform
import "runtime"
@ -18,11 +18,7 @@ import "runtime"
//
// 5. "unknown"
//
// The android, ios, linux, macos, windows, and unknown strings are
// also returned by Measurement Kit. As a known bug, the detection of
// darwin-based systems relies on the architecture, when CGO support
// has been disabled. In such case, the code will return "ios" when
// using arm{,64} and "macos" when using x86{,_64}.
// You should use this name to annotate measurements.
func Name() string {
return name(runtime.GOOS)
}

View File

@ -1,4 +1,6 @@
// Package randx contains math/rand extensions.
// Package randx contains math/rand extensions. The functions
// exported by this package do not use a CSRNG so you SHOULD NOT
// use these strings for, e.g., generating passwords.
package randx
import (
@ -25,18 +27,23 @@ func lettersWithString(n int, letterBytes string) string {
return string(b)
}
// Letters return a string composed of random letters.
// Letters return a string composed of random letters. Note that
// this function uses a non-cryptographically-secure generator.
func Letters(n int) string {
return lettersWithString(n, letters)
}
// LettersUppercase return a string composed of random uppercase letters.
// LettersUppercase return a string composed of random uppercase
// letters. Note that this function uses a non-cryptographically-secure
// generator. So, we SHOULD NOT use it for generating passwords.
func LettersUppercase(n int) string {
return lettersWithString(n, uppercase)
}
// ChangeCapitalization returns a new string where the capitalization
// of each character is changed at random.
// of each character is changed at random. Note that this function
// uses a non-cryptographically-secure generator. So, we SHOULD NOT use
// it for generating passwords.
func ChangeCapitalization(source string) (dest string) {
rnd := rand.New(rand.NewSource(time.Now().UnixNano()))
for _, chr := range source {