Adam Langley [Wed, 4 Apr 2012 16:53:59 +0000 (12:53 -0400)]
crypto/rsa: only enforce that de ≡ 1 mod |(ℤ/nℤ)*| in order to load private keys generated by GnuTLS.
Previously we checked that de ≡ 1 mod φ(n). Since φ(n) is a multiple
of |(ℤ/nℤ)*|, this encompassed the new check, but it was too strict as
keys generated by GnuTLS would be rejected when gcd(p-1,q-1)≠1.
(Also updated the error strings in crypto/rsa to contain the package name, which some were missing.)
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5867043
cmd/go: in go get, don't try to perform discovery on non-hosts
Before, "go get -v foo/bar" was assuming "foo" was a hostname
and trying to perform discovery on it. Now, require a dot in
the first path component (the hostname).
Rob Pike [Tue, 3 Apr 2012 20:54:39 +0000 (06:54 +1000)]
time.RFC822: make the string standard-compliant
For mysterious reasons, the existing string was just wrong: it was missing a colon.
There is no apparent reason for this discrepancy.
This should be safe to fix because existing uses would not be RFC822-compliant;
people cannot be depending on it to generate correct mail headers.
Rob Pike [Tue, 3 Apr 2012 01:44:52 +0000 (11:44 +1000)]
text/template: pipelined arg was not typechecked
Without this fix, an erroneous template causes a panic; should be caught safely.
The bug did not affect correct templates.
misc/emacs: fix go-mode syntax table and whitespace handling.
- flag * and / as comment characters
- mark newline as a comment-ender
- include newline in go-mode-whitespace-p
Thanks Jonathan Amsterdam and Steve Yegge for the patch!
Rob Pike [Fri, 30 Mar 2012 02:07:10 +0000 (13:07 +1100)]
cmd/go: update docs about tags for get command
"go1" dominates. Delete the text about weekly and release.
We can revisit this once the situation changes.
Russ Cox [Tue, 27 Mar 2012 16:22:19 +0000 (12:22 -0400)]
runtime: work around false negative in deadlock detection
Not a complete fix for issue 3342, but fixes the trivial case.
There may still be a race in the instants before and after
a scavenger-induced garbage collection.
Intended to be "obviously safe": a call to runtime·gosched
before main.main is no different than a call to runtime.Gosched
at the beginning of main.main, and it is (or had better be)
safe to call runtime.Gosched at any point during main.
Before, we only consulted $GOBIN for source code
found in $GOROOT, but that's confusing to explain
and less useful. The new behavior lets users set
GOBIN=$HOME/bin and have all go-compiled binaries
installed there.
Tested a few cases in test.bash.
Ran all.bash with and without $GOBIN and it works.
Even so, I expect it to break the builders,
like it did last time, we can debug from there.
Russ Cox [Tue, 27 Mar 2012 15:16:10 +0000 (11:16 -0400)]
go/build: fix import check
When we find a package in DIR/src/foo, we only let it
be known as foo if there is no other foo in an earlier
GOPATH directory or the GOROOT directory.
The GOROOT check was looking in GOROOT/src/foo
instead of GOROOT/src/pkg/foo, which meant that
the import paths "lib9", "libbio", "libmach", and so
on were unavailable, and the import paths "math",
"errors", and so on were available. Correct this.
Russ Cox [Tue, 27 Mar 2012 14:41:44 +0000 (10:41 -0400)]
cmd/go: fix two bugs
Issue 3207 was caused by setting GOPATH=GOROOT.
This is a common mistake, so diagnose it at command start
and also correct the bug that it caused in get (downloading
to GOROOT/src/foo instead of GOROOT/src/pkg/foo).
Issue 3268 was caused by recognizing 'packages' that
had installed binaries but no source. This behavior is not
documented and causes trouble, so remove it. We can
revisit the concept of binary-only packages after Go 1.
Fixes #3207.
Fixes #3268.
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5930044
Ben Fried [Tue, 27 Mar 2012 03:26:39 +0000 (23:26 -0400)]
misc/emacs: fix overindentation caused by mis-parsing lines ending with special chars
Fixes #3313
go-mode-backward-skip-comments is probably due for a more ambitious refactoring --- it repeats guard conditions after every nearly every movement of point.
R=sameer, r
CC=golang-dev
https://golang.org/cl/5844063
Robert Griesemer [Mon, 26 Mar 2012 18:26:05 +0000 (11:26 -0700)]
exp/types: generalized GCImporter API.
- Renamed ExportData -> FindGcExportData
and base it on an a bufio.Reader rather
than a filename so it can be used in
environments where object files are
stored elsewhere.
- Factor former GcImporter into GcImportData
and GcImport. Implementations with different
storage locations for object files can build
a customized GcImport using GcImportData.
Benny Siegert [Mon, 26 Mar 2012 16:12:15 +0000 (09:12 -0700)]
doc: Change id of footer
The heading "Copyright" uses id="copyright" as the anchor name.
However, there is also a <div id="copyright"> at the bottom.
Using the same ID value twice in the same file is illegal
(http://www.w3.org/TR/html401/struct/links.html#h-12.2.3).
Rob Pike [Sun, 25 Mar 2012 00:34:51 +0000 (11:34 +1100)]
effective_go: cleanups and fixes
Also explain the situation with recursive String methods more accurately,
and clean up the code now that the fmt package is more careful.
Rob Pike [Fri, 23 Mar 2012 22:29:08 +0000 (09:29 +1100)]
doc/reference-cmd.html: new introduction
Compare and explain go, go cmd, and go tool cmd.
The situation is not concisely explained elsewhere in the main docs.
Adam Langley [Fri, 23 Mar 2012 14:48:51 +0000 (10:48 -0400)]
crypto/tls: don't select ECC ciphersuites with no mutual curve.
The existing code that tried to prevent ECC ciphersuites from being
selected when there were no mutual curves still left |suite| set.
This lead to a panic on a nil pointer when there were no acceptable
ciphersuites at all.
Rob Pike [Fri, 23 Mar 2012 06:40:27 +0000 (17:40 +1100)]
doc/articles/defer_panic_recover.html: minor tweaks
Delete () from function names and change the reference to some
functions to the correct term, methods.