go/src/pkg
Mikkel Krautz a324a5ac20 crypto/x509: new home for root fetchers; build chains using Windows API
This moves the various CA root fetchers from crypto/tls into crypto/x509.

The move was brought about by issue 2997. Windows doesn't ship with all
its root certificates, but will instead download them as-needed when using
CryptoAPI for certificate verification.

This CL changes crypto/x509 to verify a certificate using the system root
CAs when VerifyOptions.RootCAs == nil. On Windows, this verification is
now implemented using Windows's CryptoAPI. All other root fetchers are
unchanged, and still use Go's own verification code.

The CL also fixes the hostname matching logic in crypto/tls/tls.go, in
order to be able to test whether hostname mismatches are honored by the
Windows verification code.

The move to crypto/x509 also allows other packages to use the OS-provided
root certificates, instead of hiding them inside the crypto/tls package.

Fixes #2997.

R=agl, golang-dev, alex.brainman, rsc, mikkel
CC=golang-dev
https://golang.org/cl/5700087
2012-03-07 13:12:35 -05:00
..
archive all: remove various unused unexported functions and constants. 2012-02-28 21:48:03 +01:00
bufio all: remove various unused unexported functions and constants. 2012-02-28 21:48:03 +01:00
builtin
bytes bytes: document Compare/Equal semantics for nil arguments, and add tests. 2012-02-18 17:39:40 +11:00
compress all: shorten some of the longer tests 2012-02-18 16:24:23 -05:00
container godoc: make example code more readable with new comment convention 2012-02-16 11:50:28 +11:00
crypto crypto/x509: new home for root fetchers; build chains using Windows API 2012-03-07 13:12:35 -05:00
database/sql database/sql: add docs about connection state, pooling 2012-03-06 17:44:47 -08:00
debug cmd/cgo: bug fixes 2012-02-19 13:32:55 -05:00
encoding csv: clarify what a negative FieldsPerRecord means 2012-03-05 13:34:12 -05:00
errors pkg: a slew of examples 2012-02-18 11:48:33 +11:00
exp exp/wingui: getting relocated to 2012-03-07 17:48:09 +11:00
expvar expvar: add locking to String, and use RWMutex properly throughout. 2012-03-06 09:13:26 +11:00
flag flag: describe valid input for Duration flags. 2012-02-07 17:50:04 +11:00
fmt fmt, log: stop using unicode 2012-03-06 23:27:11 -05:00
go misc/cgo: re-enable some tests 2012-03-06 23:27:30 -05:00
hash build: remove Make.pkg, Make.tool 2012-01-30 23:43:46 -05:00
html html/template: fix comment typo 2012-03-05 10:58:43 +11:00
image all: shorten some of the longer tests 2012-02-18 16:24:23 -05:00
index/suffixarray build: remove Make.pkg, Make.tool 2012-01-30 23:43:46 -05:00
io all: more typos 2012-03-02 11:15:45 -08:00
log fmt, log: stop using unicode 2012-03-06 23:27:11 -05:00
math math: slightly more readable comments 2012-02-23 10:17:24 -08:00
mime bytes,strings: make *Reader implement io.ReaderAt 2012-02-15 12:58:00 +11:00
net net: delete usableLocalPort from test 2012-03-07 12:06:22 -05:00
old all: shorten some of the longer tests 2012-02-18 16:24:23 -05:00
os os: fix SameFile to work for directories on windows 2012-03-07 11:01:23 +11:00
path os: fix SameFile to work for directories on windows 2012-03-07 11:01:23 +11:00
reflect reflect: fix comment spacing 2012-03-05 15:51:58 -08:00
regexp regexp/syntax: delete old package comment 2012-02-10 01:11:56 -05:00
runtime runtime/pprof: disable test on Leopard 64-bit 2012-03-07 11:44:54 -05:00
sort sort: add interface examples 2012-02-16 13:16:07 +11:00
strconv strconv: remove dependence on unicode and strings 2012-03-07 13:50:31 +11:00
strings strings: Rename example to match function name. 2012-03-05 22:19:51 +11:00
sync sync/atomic: disable store and load test on a single processor machine 2012-03-07 14:51:20 +09:00
syscall crypto/x509: new home for root fetchers; build chains using Windows API 2012-03-07 13:12:35 -05:00
testing cmd/go: drop -example, apply -run to examples 2012-02-28 08:33:06 +11:00
text text/template: one more test case 2012-03-04 08:06:26 +11:00
time time: during short test, do not bother tickers take longer than expected 2012-03-07 01:10:55 +08:00
unicode unicode/utf16: delete dependence on package unicode 2012-03-06 14:58:08 +11:00
unsafe runtime: delete Type and implementations (use reflect instead) 2012-02-12 23:26:20 -05:00