1
2
3
4
5
6
7
8 package godebugs
9
10
11 type Info struct {
12 Name string
13 Package string
14 Changed int
15 Old string
16 Opaque bool
17 }
18
19
20
21
22
23
24
25
26
27 var All = []Info{
28 {Name: "execerrdot", Package: "os/exec"},
29 {Name: "gocachehash", Package: "cmd/go"},
30 {Name: "gocachetest", Package: "cmd/go"},
31 {Name: "gocacheverify", Package: "cmd/go"},
32 {Name: "gotypesalias", Package: "go/types"},
33 {Name: "http2client", Package: "net/http"},
34 {Name: "http2debug", Package: "net/http", Opaque: true},
35 {Name: "http2server", Package: "net/http"},
36 {Name: "httplaxcontentlength", Package: "net/http", Changed: 22, Old: "1"},
37 {Name: "httpmuxgo121", Package: "net/http", Changed: 22, Old: "1"},
38 {Name: "installgoroot", Package: "go/build"},
39 {Name: "jstmpllitinterp", Package: "html/template"},
40
41 {Name: "multipartmaxheaders", Package: "mime/multipart"},
42 {Name: "multipartmaxparts", Package: "mime/multipart"},
43 {Name: "multipathtcp", Package: "net"},
44 {Name: "netdns", Package: "net", Opaque: true},
45 {Name: "panicnil", Package: "runtime", Changed: 21, Old: "1"},
46 {Name: "randautoseed", Package: "math/rand"},
47 {Name: "tarinsecurepath", Package: "archive/tar"},
48 {Name: "tls10server", Package: "crypto/tls", Changed: 22, Old: "1"},
49 {Name: "tlsmaxrsasize", Package: "crypto/tls"},
50 {Name: "tlsrsakex", Package: "crypto/tls", Changed: 22, Old: "1"},
51 {Name: "tlsunsafeekm", Package: "crypto/tls", Changed: 22, Old: "1"},
52 {Name: "x509sha1", Package: "crypto/x509"},
53 {Name: "x509usefallbackroots", Package: "crypto/x509"},
54 {Name: "x509usepolicies", Package: "crypto/x509"},
55 {Name: "zipinsecurepath", Package: "archive/zip"},
56 }
57
58
59 func Lookup(name string) *Info {
60
61 lo := 0
62 hi := len(All)
63 for lo < hi {
64 m := int(uint(lo+hi) >> 1)
65 mid := All[m].Name
66 if name == mid {
67 return &All[m]
68 }
69 if name < mid {
70 hi = m
71 } else {
72 lo = m + 1
73 }
74 }
75 return nil
76 }
77
View as plain text