]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.boringcrypto] all: merge master into dev.boringcrypto
authorDavid Chase <drchase@google.com>
Mon, 7 Mar 2022 23:27:14 +0000 (18:27 -0500)
committerDavid Chase <drchase@google.com>
Mon, 7 Mar 2022 23:27:14 +0000 (18:27 -0500)
Change-Id: I4e09d4f2cc77c4c2dc12f1ff40d8c36053ab7ab6

1  2 
src/cmd/compile/internal/reflectdata/reflect.go
src/cmd/go/internal/load/pkg.go
src/crypto/rand/rand_unix.go
src/go/build/deps_test.go
src/math/big/intmarsh_test.go

Simple merge
index 28f2f5b58b17baeb1dc1abafa14d362781abc190,b800ec8fb798df1d15af7609cf23258baa55597f..560f195d866f05a2ddf65be4e17d386c1ce72e37
@@@ -22,31 -20,17 +20,23 @@@ import 
        "time"
  )
  
 +import "crypto/internal/boring"
 +
  const urandomDevice = "/dev/urandom"
  
- // Easy implementation: read from /dev/urandom.
- // This is sufficient on Linux, OS X, and FreeBSD.
  func init() {
-       if runtime.GOOS == "plan9" {
-               Reader = newReader(nil)
-       } else {
-               Reader = &devReader{name: urandomDevice}
-       }
 +      if boring.Enabled {
 +              Reader = boring.RandReader
 +              return
 +      }
+       Reader = &reader{}
  }
  
- // A devReader satisfies reads by reading the file named name.
- type devReader struct {
-       name string
+ // A reader satisfies reads by reading from urandomDevice
+ type reader struct {
        f    io.Reader
        mu   sync.Mutex
-       used int32 // atomic; whether this devReader has been used
+       used int32 // atomic; whether this reader has been used
  }
  
  // altGetRandom if non-nil specifies an OS-specific function to get
@@@ -57,8 -41,7 +47,8 @@@ func warnBlocked() 
        println("crypto/rand: blocked for 60 seconds waiting to read random data from the kernel")
  }
  
- func (r *devReader) Read(b []byte) (n int, err error) {
+ func (r *reader) Read(b []byte) (n int, err error) {
 +      boring.Unreachable()
        if atomic.CompareAndSwapInt32(&r.used, 0, 1) {
                // First use of randomness. Start timer to warn about
                // being blocked on entropy not being available.
Simple merge
index f82956ceaf22ea08b24c23c086a1365730bf9d2b,936669b380b470d67ad50b2e0af20a7137bb6634..8e7d29f9ddc71994f81195707b63acc34be2cd32
@@@ -97,6 -97,20 +97,19 @@@ func TestIntJSONEncoding(t *testing.T) 
        }
  }
  
 -
+ func TestIntJSONEncodingNil(t *testing.T) {
+       var x *Int
+       b, err := x.MarshalJSON()
+       if err != nil {
+               t.Fatalf("marshaling of nil failed: %s", err)
+       }
+       got := string(b)
+       want := "null"
+       if got != want {
+               t.Fatalf("marshaling of nil failed: got %s want %s", got, want)
+       }
+ }
  func TestIntXMLEncoding(t *testing.T) {
        for _, test := range encodingTests {
                for _, sign := range []string{"", "+", "-"} {