mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-14 09:01:35 -05:00
* adds pkg/jmap/jmap_integration_test.go
* uses ghcr.io/stalwartlabs/stalwart:v0.13.2-alpine
* can be disabled by setting one of the following environment
variables, in the same fashion as ca0493b28
- CI=woodpecker
- CI_SYSTEM_NAME=woodpecker
- USE_TESTCONTAINERS=false
* dependencies:
- bump github.com/go-test/deep from 1.1.0 to 1.1.1
- add github.com/cention-sany/utf7
- add github.com/dustinkirkland/golang-petname
- add github.com/emersion/go-imap/v2
- add github.com/emersion/go-message
- add github.com/emersion/go-sasl
- add github.com/go-crypt/crypt
- add github.com/go-crypt/x
- add github.com/gogs/chardet
- add github.com/inbucket/html2text
- add github.com/jhilleryerd/enmime/v2
- add github.com/ssor/bom
- add gopkg.in/loremipsum.v1
33 lines
632 B
Go
33 lines
632 B
Go
package random
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"io"
|
|
)
|
|
|
|
// Bytes returns random arbitrary bytes with a length of n.
|
|
func Bytes(n int) (bytes []byte, err error) {
|
|
bytes = make([]byte, n)
|
|
|
|
if _, err = io.ReadFull(rand.Reader, bytes); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return bytes, nil
|
|
}
|
|
|
|
// CharSetBytes returns random bytes with a length of n from the characters in the charset.
|
|
func CharSetBytes(n int, charset string) (bytes []byte, err error) {
|
|
bytes = make([]byte, n)
|
|
|
|
if _, err = rand.Read(bytes); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
for i, b := range bytes {
|
|
bytes[i] = charset[b%byte(len(charset))]
|
|
}
|
|
|
|
return bytes, nil
|
|
}
|