aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA
diff options
context:
space:
mode:
authorJoe Tsai <joetsai@digital-static.net>2016-09-02 16:17:37 -0700
committerJoe Tsai <thebrokentoaster@gmail.com>2016-10-12 16:36:57 +0000
commit0e36456bf9aa7b3041987634e478449215cdbd82 (patch)
treee6389bfc6263025ac5e65acf844ba122184b82f4 /src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA
parent14204662c8a73ea6d5b6489b0c5a6b0345b99a0d (diff)
downloadgo-0e36456bf9aa7b3041987634e478449215cdbd82.tar.xz
archive/tar: fix and cleanup readOldGNUSparseMap
* Assert that the format is GNU. Both GNU and STAR have some form of sparse file support with incompatible header structures. Worse yet, both formats use the 'S' type flag to indicate the presence of a sparse file. As such, we should check the format (based on magic numbers) and fail early. * Move realsize parsing logic into readOldGNUSparseMap. This is related to the sparse parsing logic and belongs here. * Fix the termination condition for parsing sparse fields. The termination condition for reading the sparse fields is to simply check if the first byte of the offset field is NULL. This does not seem to be documented in the GNU manual, but this is the check done by the both the GNU and BSD implementations: http://git.savannah.gnu.org/cgit/tar.git/tree/src/sparse.c?id=9a33077a7b7ad7d32815a21dee54eba63b38a81c#n731 https://github.com/libarchive/libarchive/blob/1fa9c7bf90f0862036a99896b0501c381584451a/libarchive/archive_read_support_format_tar.c#L2207 * Fix the parsing of sparse fields to use parseNumeric. This is what GNU and BSD do. The previous two links show that GNU and BSD both handle base-256 and base-8. * Detect truncated streams. The call to io.ReadFull does not check if the error is io.EOF. Getting io.EOF in this method is never okay and should always be converted to io.ErrUnexpectedEOF. * Simplify the function. The logic is essentially a do-while loop so we can remove some redundant code. Change-Id: Ib2f601b1a283eaec1e41b1d3396d649c80749c4e Reviewed-on: https://go-review.googlesource.com/28471 Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA')
0 files changed, 0 insertions, 0 deletions