@ttsc/win32-arm64 0.33.1 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/go/VERSION +2 -2
- package/bin/go/bin/go.exe +0 -0
- package/bin/go/bin/gofmt.exe +0 -0
- package/bin/go/lib/time/update.bash +2 -2
- package/bin/go/lib/time/zoneinfo.zip +0 -0
- package/bin/go/pkg/include/asm_ppc64x.h +0 -16
- package/bin/go/pkg/tool/windows_arm64/asm.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cgo.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/compile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cover.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/fix.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/link.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/preprofile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/vet.exe +0 -0
- package/bin/go/src/archive/tar/reader.go +2 -1
- package/bin/go/src/archive/zip/reader.go +5 -29
- package/bin/go/src/archive/zip/struct.go +5 -6
- package/bin/go/src/archive/zip/writer.go +120 -60
- package/bin/go/src/bufio/bufio.go +1 -1
- package/bin/go/src/bytes/buffer.go +3 -3
- package/bin/go/src/bytes/bytes.go +45 -25
- package/bin/go/src/compress/flate/deflate.go +512 -363
- package/bin/go/src/compress/flate/deflatefast.go +156 -262
- package/bin/go/src/compress/flate/dict_decoder.go +1 -4
- package/bin/go/src/compress/flate/huffman_bit_writer.go +673 -250
- package/bin/go/src/compress/flate/huffman_code.go +164 -92
- package/bin/go/src/compress/flate/level1.go +195 -0
- package/bin/go/src/compress/flate/level2.go +190 -0
- package/bin/go/src/compress/flate/level3.go +228 -0
- package/bin/go/src/compress/flate/level4.go +200 -0
- package/bin/go/src/compress/flate/level5.go +287 -0
- package/bin/go/src/compress/flate/level6.go +297 -0
- package/bin/go/src/compress/flate/load_store.go +43 -0
- package/bin/go/src/compress/flate/regmask_amd64.go +9 -0
- package/bin/go/src/compress/flate/regmask_other.go +11 -0
- package/bin/go/src/compress/flate/token.go +238 -26
- package/bin/go/src/compress/gzip/gzip.go +8 -0
- package/bin/go/src/compress/zlib/writer.go +12 -0
- package/bin/go/src/context/context.go +6 -5
- package/bin/go/src/crypto/cipher/gcm.go +0 -4
- package/bin/go/src/crypto/crypto.go +27 -4
- package/bin/go/src/crypto/des/const.go +1 -1
- package/bin/go/src/crypto/ecdsa/ecdsa.go +21 -4
- package/bin/go/src/crypto/ed25519/ed25519.go +13 -0
- package/bin/go/src/crypto/internal/boring/aes.go +2 -3
- package/bin/go/src/crypto/internal/cryptotest/aead.go +53 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary.go +34 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary_compat.go +16 -0
- package/bin/go/src/crypto/internal/cryptotest/fetchmodule.go +9 -3
- package/bin/go/src/crypto/internal/cryptotest/fips140.go +62 -3
- package/bin/go/src/crypto/internal/cryptotest/hash.go +14 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.mod +19 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.sum +27 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/schema_gen.go +151 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schema.go +9792 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schemaversion.go +11 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/wycheproof.go +165 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.mod +14 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.sum +25 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/schema_gen.go +125 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schema.go +591 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schemaversion.go +14 -0
- package/bin/go/src/crypto/internal/fips140/aes/_asm/ctr/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/_asm/standard/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/gcm_amd64_asm.go +36 -32
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.mod +5 -5
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.sum +8 -6
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_amd64.s +29 -17
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_arm64.s +73 -72
- package/bin/go/src/crypto/internal/fips140/aes/gcm/ghash.go +140 -124
- package/bin/go/src/crypto/internal/fips140/bigmod/nat.go +18 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_loong64.s +23 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_none.go +1 -1
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_stub.go +1 -1
- package/bin/go/src/crypto/internal/fips140/drbg/rand.go +12 -4
- package/bin/go/src/crypto/internal/fips140/ecdsa/ecdsa.go +17 -10
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/_asm/fe_amd64_asm.go +0 -90
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe.go +64 -97
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.go +0 -5
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.s +0 -167
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64_noasm.go +0 -2
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_generic.go +57 -1
- package/bin/go/src/crypto/internal/fips140/edwards25519/scalarmult.go +3 -2
- package/bin/go/src/crypto/internal/fips140/mldsa/mldsa.go +31 -25
- package/bin/go/src/crypto/internal/fips140/mldsa/semiexpanded.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.mod +4 -4
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.sum +6 -0
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/p256_asm.go +1 -613
- package/bin/go/src/crypto/internal/fips140/nistec/p256.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm.go +7 -6
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_amd64.s +0 -503
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_arm64.s +4 -429
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv.go +511 -47
- package/bin/go/src/crypto/internal/fips140/pbkdf2/pbkdf2.go +1 -1
- package/bin/go/src/crypto/internal/fips140/rsa/keygen.go +48 -46
- package/bin/go/src/crypto/internal/fips140/rsa/largeexponent.go +365 -0
- package/bin/go/src/crypto/internal/fips140/rsa/pkcs1v15.go +27 -0
- package/bin/go/src/crypto/internal/fips140/sha256/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha3/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha512/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/constant_time.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_asm.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.go +18 -0
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.s +33 -2
- package/bin/go/src/crypto/internal/fips140deps/cpu/cpu.go +2 -0
- package/bin/go/src/crypto/internal/fips140deps/time/time.go +7 -4
- package/bin/go/src/crypto/internal/fips140only/fips140only.go +0 -7
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.0.go +17 -0
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.28.go +16 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_capabilities_fips140v1.28.json +86 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_test_fips140v1.28.config.json +58 -0
- package/bin/go/src/crypto/internal/rand/rand.go +14 -14
- package/bin/go/src/crypto/internal/rand/random_fips140v1.0.go +20 -0
- package/bin/go/src/crypto/internal/rand/random_fips140v1.28.go +19 -0
- package/bin/go/src/crypto/mldsa/mldsa.go +97 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.0.go +116 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.26.go +226 -0
- package/bin/go/src/crypto/mlkem/mlkem.go +8 -2
- package/bin/go/src/crypto/rsa/fips.go +26 -8
- package/bin/go/src/crypto/rsa/pkcs1v15.go +2 -2
- package/bin/go/src/crypto/rsa/rsa.go +25 -2
- package/bin/go/src/crypto/sha1/sha1block_decl.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_generic.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_loong64.s +24 -8
- package/bin/go/src/crypto/sha1/sha1block_riscv64.s +225 -0
- package/bin/go/src/crypto/sha3/sha3.go +3 -2
- package/bin/go/src/crypto/tls/alert.go +2 -0
- package/bin/go/src/crypto/tls/auth.go +31 -0
- package/bin/go/src/crypto/tls/bogo_config.json +12 -23
- package/bin/go/src/crypto/tls/cipher_suites.go +3 -11
- package/bin/go/src/crypto/tls/common.go +106 -59
- package/bin/go/src/crypto/tls/common_string.go +18 -5
- package/bin/go/src/crypto/tls/conn.go +33 -35
- package/bin/go/src/crypto/tls/defaults.go +26 -20
- package/bin/go/src/crypto/tls/defaults_fips140.go +9 -0
- package/bin/go/src/crypto/tls/ech.go +9 -4
- package/bin/go/src/crypto/tls/generate_cert.go +8 -2
- package/bin/go/src/crypto/tls/handshake_client.go +17 -17
- package/bin/go/src/crypto/tls/handshake_client_tls13.go +8 -3
- package/bin/go/src/crypto/tls/handshake_server.go +26 -19
- package/bin/go/src/crypto/tls/handshake_server_tls13.go +8 -5
- package/bin/go/src/crypto/tls/key_agreement.go +5 -1
- package/bin/go/src/crypto/tls/key_schedule.go +42 -17
- package/bin/go/src/crypto/tls/prf.go +1 -1
- package/bin/go/src/crypto/tls/quic.go +6 -7
- package/bin/go/src/crypto/tls/tls.go +25 -29
- package/bin/go/src/crypto/x509/cert_pool.go +8 -4
- package/bin/go/src/crypto/x509/constraints.go +5 -0
- package/bin/go/src/crypto/x509/parser.go +101 -15
- package/bin/go/src/crypto/x509/pkcs8.go +45 -4
- package/bin/go/src/crypto/x509/pkix/pkix.go +33 -9
- package/bin/go/src/crypto/x509/root.go +113 -0
- package/bin/go/src/crypto/x509/root_darwin.go +8 -4
- package/bin/go/src/crypto/x509/root_plan9.go +2 -23
- package/bin/go/src/crypto/x509/root_unix.go +0 -97
- package/bin/go/src/crypto/x509/root_windows.go +8 -3
- package/bin/go/src/crypto/x509/verify.go +43 -4
- package/bin/go/src/crypto/x509/x509.go +169 -30
- package/bin/go/src/database/sql/closemu.go +119 -0
- package/bin/go/src/database/sql/convert.go +63 -4
- package/bin/go/src/database/sql/driver/driver.go +26 -0
- package/bin/go/src/database/sql/driver/types.go +4 -0
- package/bin/go/src/database/sql/internal/sql.go +22 -0
- package/bin/go/src/database/sql/sql.go +89 -40
- package/bin/go/src/debug/buildinfo/buildinfo.go +0 -13
- package/bin/go/src/debug/dwarf/buf.go +7 -1
- package/bin/go/src/debug/dwarf/class_string.go +3 -2
- package/bin/go/src/debug/elf/file.go +80 -50
- package/bin/go/src/debug/elf/reader.go +1 -1
- package/bin/go/src/debug/gosym/symtab.go +26 -30
- package/bin/go/src/debug/macho/file.go +2 -2
- package/bin/go/src/debug/macho/reloctype_string.go +12 -8
- package/bin/go/src/debug/pe/file.go +6 -3
- package/bin/go/src/encoding/base32/base32.go +29 -31
- package/bin/go/src/encoding/base64/base64.go +24 -29
- package/bin/go/src/encoding/gob/decode.go +7 -1
- package/bin/go/src/encoding/gob/type.go +6 -6
- package/bin/go/src/encoding/hex/hex.go +6 -6
- package/bin/go/src/encoding/json/decode.go +4 -3
- package/bin/go/src/encoding/json/encode.go +1 -2
- package/bin/go/src/encoding/json/fold.go +1 -1
- package/bin/go/src/encoding/json/internal/internal.go +11 -1
- package/bin/go/src/encoding/json/internal/jsonflags/flags.go +17 -9
- package/bin/go/src/encoding/json/internal/jsonopts/options.go +52 -37
- package/bin/go/src/encoding/json/internal/jsonopts/options_format.go +124 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/canada_geometry.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/citm_catalog.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/golang_source.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_escaped.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_unicode.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/synthea_fhir.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/twitter_status.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/testdata.go +10 -4
- package/bin/go/src/encoding/json/internal/jsonwire/decode.go +13 -36
- package/bin/go/src/encoding/json/internal/jsonwire/encode.go +7 -7
- package/bin/go/src/encoding/json/internal/jsonwire/wire.go +30 -38
- package/bin/go/src/encoding/json/jsontext/decode.go +49 -14
- package/bin/go/src/encoding/json/jsontext/doc.go +6 -11
- package/bin/go/src/encoding/json/jsontext/encode.go +55 -39
- package/bin/go/src/encoding/json/jsontext/errors.go +34 -3
- package/bin/go/src/encoding/json/jsontext/export.go +14 -0
- package/bin/go/src/encoding/json/jsontext/options.go +8 -8
- package/bin/go/src/encoding/json/jsontext/quote.go +2 -2
- package/bin/go/src/encoding/json/jsontext/state.go +14 -14
- package/bin/go/src/encoding/json/jsontext/token.go +246 -101
- package/bin/go/src/encoding/json/jsontext/value.go +31 -16
- package/bin/go/src/encoding/json/stream.go +14 -2
- package/bin/go/src/encoding/json/v2/arshal.go +100 -114
- package/bin/go/src/encoding/json/v2/arshal_any.go +6 -5
- package/bin/go/src/encoding/json/v2/arshal_default.go +292 -189
- package/bin/go/src/encoding/json/v2/{arshal_inlined.go → arshal_embedded.go} +14 -14
- package/bin/go/src/encoding/json/v2/arshal_funcs.go +28 -47
- package/bin/go/src/encoding/json/v2/arshal_methods.go +98 -29
- package/bin/go/src/encoding/json/v2/arshal_time.go +33 -13
- package/bin/go/src/encoding/json/v2/doc.go +40 -55
- package/bin/go/src/encoding/json/v2/errors.go +29 -9
- package/bin/go/src/encoding/json/v2/fields.go +83 -81
- package/bin/go/src/encoding/json/v2/intern.go +2 -2
- package/bin/go/src/encoding/json/v2/options.go +57 -41
- package/bin/go/src/encoding/json/v2_decode.go +21 -9
- package/bin/go/src/encoding/json/v2_encode.go +21 -10
- package/bin/go/src/encoding/json/v2_indent.go +2 -0
- package/bin/go/src/encoding/json/v2_inject.go +7 -4
- package/bin/go/src/encoding/json/v2_options.go +37 -30
- package/bin/go/src/encoding/json/v2_scanner.go +6 -1
- package/bin/go/src/encoding/json/v2_stream.go +49 -14
- package/bin/go/src/encoding/pem/pem.go +6 -2
- package/bin/go/src/fmt/doc.go +11 -1
- package/bin/go/src/fmt/print.go +69 -82
- package/bin/go/src/go/ast/ast.go +4 -4
- package/bin/go/src/go/ast/filter.go +1 -1
- package/bin/go/src/go/ast/scope.go +2 -2
- package/bin/go/src/go/build/build.go +1 -1
- package/bin/go/src/go/build/constraint/vers.go +4 -1
- package/bin/go/src/go/build/read.go +2 -2
- package/bin/go/src/go/constant/kind_string.go +3 -2
- package/bin/go/src/go/constant/value.go +26 -4
- package/bin/go/src/go/doc/comment/std.go +1 -0
- package/bin/go/src/go/importer/importer.go +4 -3
- package/bin/go/src/go/internal/gccgoimporter/parser.go +2 -0
- package/bin/go/src/go/internal/gcimporter/ureader.go +141 -56
- package/bin/go/src/go/parser/parser.go +11 -22
- package/bin/go/src/go/printer/math.go +28 -0
- package/bin/go/src/go/printer/nodes.go +28 -11
- package/bin/go/src/go/printer/printer.go +3 -1
- package/bin/go/src/go/scanner/errors.go +2 -0
- package/bin/go/src/go/scanner/scanner.go +40 -28
- package/bin/go/src/go/token/position.go +7 -16
- package/bin/go/src/go/types/alias.go +0 -18
- package/bin/go/src/go/types/api.go +4 -10
- package/bin/go/src/go/types/api_predicates.go +2 -2
- package/bin/go/src/go/types/assignments.go +44 -38
- package/bin/go/src/go/types/builtins.go +199 -168
- package/bin/go/src/go/types/call.go +155 -138
- package/bin/go/src/go/types/check.go +0 -83
- package/bin/go/src/go/types/const.go +22 -10
- package/bin/go/src/go/types/conversions.go +19 -19
- package/bin/go/src/go/types/cycles.go +29 -42
- package/bin/go/src/go/types/decl.go +33 -81
- package/bin/go/src/go/types/expr.go +191 -183
- package/bin/go/src/go/types/gotype.go +1 -0
- package/bin/go/src/go/types/hash.go +309 -0
- package/bin/go/src/go/types/index.go +91 -61
- package/bin/go/src/go/types/infer.go +11 -11
- package/bin/go/src/go/types/instantiate.go +27 -15
- package/bin/go/src/go/types/interface.go +2 -2
- package/bin/go/src/go/types/literals.go +56 -32
- package/bin/go/src/go/types/lookup.go +31 -14
- package/bin/go/src/go/types/named.go +58 -54
- package/bin/go/src/go/types/object.go +4 -3
- package/bin/go/src/go/types/operand.go +50 -34
- package/bin/go/src/go/types/range.go +19 -16
- package/bin/go/src/go/types/recording.go +24 -7
- package/bin/go/src/go/types/resolver.go +16 -18
- package/bin/go/src/go/types/scope.go +1 -15
- package/bin/go/src/go/types/selection.go +3 -1
- package/bin/go/src/go/types/signature.go +10 -11
- package/bin/go/src/go/types/stmt.go +34 -28
- package/bin/go/src/go/types/subst.go +82 -5
- package/bin/go/src/go/types/trie.go +93 -0
- package/bin/go/src/go/types/typelists.go +28 -0
- package/bin/go/src/go/types/typestring.go +5 -9
- package/bin/go/src/go/types/typexpr.go +17 -28
- package/bin/go/src/go/types/unify.go +12 -3
- package/bin/go/src/go/types/universe.go +12 -40
- package/bin/go/src/go/types/version.go +4 -0
- package/bin/go/src/go.mod +5 -5
- package/bin/go/src/go.sum +8 -8
- package/bin/go/src/hash/maphash/hasher.go +139 -0
- package/bin/go/src/hash/maphash/maphash.go +59 -4
- package/bin/go/src/html/template/attr_string.go +3 -2
- package/bin/go/src/html/template/delim_string.go +3 -2
- package/bin/go/src/html/template/element_string.go +3 -2
- package/bin/go/src/html/template/jsctx_string.go +3 -2
- package/bin/go/src/html/template/state_string.go +3 -2
- package/bin/go/src/html/template/template.go +7 -4
- package/bin/go/src/html/template/transition.go +1 -1
- package/bin/go/src/html/template/urlpart_string.go +3 -2
- package/bin/go/src/image/format.go +9 -0
- package/bin/go/src/image/gif/reader.go +18 -0
- package/bin/go/src/image/jpeg/huffman.go +22 -3
- package/bin/go/src/image/jpeg/reader.go +54 -29
- package/bin/go/src/image/jpeg/scan.go +68 -38
- package/bin/go/src/image/png/writer.go +8 -0
- package/bin/go/src/index/suffixarray/suffixarray.go +14 -6
- package/bin/go/src/internal/abi/abi_generic.go +1 -1
- package/bin/go/src/internal/abi/abi_s390x.go +0 -2
- package/bin/go/src/internal/abi/compiletype.go +30 -0
- package/bin/go/src/internal/abi/iface.go +13 -1
- package/bin/go/src/internal/abi/map.go +21 -3
- package/bin/go/src/internal/abi/type.go +136 -27
- package/bin/go/src/internal/buildcfg/exp.go +8 -8
- package/bin/go/src/internal/buildcfg/zbootstrap.go +1 -1
- package/bin/go/src/internal/bytealg/bytealg.go +16 -16
- package/bin/go/src/internal/bytealg/compare_s390x.s +0 -24
- package/bin/go/src/internal/bytealg/equal_s390x.s +0 -18
- package/bin/go/src/internal/bytealg/indexbyte_arm64.s +28 -0
- package/bin/go/src/internal/bytealg/indexbyte_s390x.s +0 -33
- package/bin/go/src/internal/coverage/encodemeta/encode.go +1 -1
- package/bin/go/src/internal/cpu/cpu.go +22 -7
- package/bin/go/src/internal/cpu/cpu_arm64.go +8 -1
- package/bin/go/src/internal/cpu/cpu_arm64.s +7 -0
- package/bin/go/src/internal/cpu/cpu_arm64_darwin.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_freebsd.go +2 -1
- package/bin/go/src/internal/cpu/cpu_arm64_hwcap.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_openbsd.go +6 -1
- package/bin/go/src/internal/cpu/cpu_arm64_other.go +1 -1
- package/bin/go/src/internal/cpu/cpu_arm64_windows.go +26 -0
- package/bin/go/src/internal/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/internal/cpu/cpu_riscv64.go +10 -0
- package/bin/go/src/internal/cpu/cpu_riscv64_linux.go +21 -0
- package/bin/go/src/internal/cpu/cpu_windows.go +20 -0
- package/bin/go/src/internal/cpu/cpu_x86.go +2 -0
- package/bin/go/src/internal/filepathlite/path_windows.go +30 -17
- package/bin/go/src/internal/fuzz/fuzz.go +5 -1
- package/bin/go/src/internal/fuzz/mutator.go +2 -2
- package/bin/go/src/internal/fuzz/worker.go +1 -1
- package/bin/go/src/internal/gate/gate.go +76 -0
- package/bin/go/src/internal/godebugs/table.go +29 -10
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_off.go +8 -0
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_on.go +8 -0
- package/bin/go/src/internal/goexperiment/flags.go +5 -3
- package/bin/go/src/internal/goversion/goversion.go +1 -1
- package/bin/go/src/internal/lazyregexp/lazyre.go +4 -0
- package/bin/go/src/internal/nettest/conn.go +437 -0
- package/bin/go/src/internal/nettest/listener.go +148 -0
- package/bin/go/src/internal/nettest/packetconn.go +250 -0
- package/bin/go/src/internal/nettest/queue.go +33 -0
- package/bin/go/src/internal/pkgbits/syncmarker_string.go +4 -4
- package/bin/go/src/internal/pkgbits/version.go +27 -1
- package/bin/go/src/internal/platform/supported.go +8 -10
- package/bin/go/src/internal/platform/zosarch.go +1 -3
- package/bin/go/src/internal/poll/fd_mutex.go +49 -10
- package/bin/go/src/internal/poll/fd_unix.go +6 -1
- package/bin/go/src/internal/poll/fd_windows.go +175 -191
- package/bin/go/src/internal/poll/fd_writev_libc.go +1 -1
- package/bin/go/src/internal/poll/fd_writev_unix.go +1 -1
- package/bin/go/src/internal/poll/file_plan9.go +4 -4
- package/bin/go/src/internal/poll/sendfile_windows.go +1 -3
- package/bin/go/src/internal/poll/splice_linux.go +1 -1
- package/bin/go/src/internal/profile/encode.go +1 -1
- package/bin/go/src/internal/profile/profile.go +5 -3
- package/bin/go/src/internal/profilerecord/profilerecord.go +2 -2
- package/bin/go/src/internal/reflectlite/value.go +1 -15
- package/bin/go/src/internal/runtime/atomic/atomic_386.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_amd64.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_andor_generic.go +0 -11
- package/bin/go/src/internal/runtime/atomic/atomic_arm.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.go +2 -2
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.s +22 -11
- package/bin/go/src/internal/runtime/atomic/atomic_mipsx.go +0 -10
- package/bin/go/src/internal/runtime/atomic/atomic_riscv64.s +4 -4
- package/bin/go/src/internal/runtime/atomic/atomic_s390x.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_wasm.go +0 -31
- package/bin/go/src/internal/runtime/atomic/linkname.go +34 -0
- package/bin/go/src/internal/runtime/exithook/hooks.go +0 -4
- package/bin/go/src/internal/runtime/gc/scan/expand_amd64.s +2285 -2285
- package/bin/go/src/internal/runtime/gc/scan/mkasm.go +1 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.go +2 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.s +4 -2
- package/bin/go/src/internal/runtime/maps/group.go +22 -13
- package/bin/go/src/internal/runtime/maps/map.go +35 -14
- package/bin/go/src/internal/runtime/maps/memhash_386.s +408 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes.go +38 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_asm.go +24 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_simd.go +49 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_check.go +10 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_nocheck.go +16 -0
- package/bin/go/src/internal/runtime/maps/memhash_amd64.s +426 -0
- package/bin/go/src/internal/runtime/maps/memhash_arm64.s +366 -0
- package/bin/go/src/internal/runtime/maps/memhash_noaes.go +43 -0
- package/bin/go/src/internal/runtime/maps/memhash_nosimd_amd64.s +33 -0
- package/bin/go/src/internal/runtime/maps/runtime.go +37 -88
- package/bin/go/src/internal/runtime/maps/runtime_alg.go +93 -0
- package/bin/go/src/internal/runtime/maps/runtime_fast32.go +111 -97
- package/bin/go/src/internal/runtime/maps/runtime_fast64.go +137 -98
- package/bin/go/src/internal/runtime/maps/runtime_faststr.go +96 -89
- package/bin/go/src/{runtime/hash32.go → internal/runtime/maps/runtime_hash32.go} +8 -10
- package/bin/go/src/{runtime/hash64.go → internal/runtime/maps/runtime_hash64.go} +8 -8
- package/bin/go/src/internal/runtime/maps/table.go +66 -3
- package/bin/go/src/internal/runtime/math/math.go +0 -21
- package/bin/go/src/internal/runtime/startlinetest/func_amd64.s +2 -1
- package/bin/go/src/internal/runtime/sys/dit_arm64.go +3 -0
- package/bin/go/src/internal/runtime/sys/dit_arm64.s +16 -3
- package/bin/go/src/internal/runtime/syscall/linux/asm_linux_s390x.s +0 -23
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_386.s +7 -4
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_amd64.s +10 -8
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_arm64.s +0 -1
- package/bin/go/src/internal/runtime/syscall/windows/defs_windows.go +4 -0
- package/bin/go/src/internal/runtime/syscall/windows/syscall_windows.go +7 -9
- package/bin/go/src/internal/strconv/atof.go +69 -42
- package/bin/go/src/internal/strconv/atoi.go +1 -0
- package/bin/go/src/internal/strconv/ftoa.go +329 -357
- package/bin/go/src/internal/strconv/itoa.go +53 -59
- package/bin/go/src/internal/strconv/pow10gen.go +15 -3
- package/bin/go/src/internal/strconv/pow10tab.go +670 -670
- package/bin/go/src/internal/strconv/uscale.go +290 -0
- package/bin/go/src/internal/stringslite/strings.go +14 -42
- package/bin/go/src/internal/syscall/unix/asm_openbsd.s +0 -2
- package/bin/go/src/internal/syscall/unix/at.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_fstatat.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_libc2.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/unix/faccessat_bsd.go +1 -1
- package/bin/go/src/internal/syscall/unix/faccessat_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/windows/at_windows.go +5 -5
- package/bin/go/src/internal/syscall/windows/net_windows.go +1 -0
- package/bin/go/src/internal/syscall/windows/string_windows.go +6 -3
- package/bin/go/src/internal/syscall/windows/syscall_windows.go +2 -0
- package/bin/go/src/internal/syscall/windows/types_windows.go +89 -4
- package/bin/go/src/internal/syscall/windows/zsyscall_windows.go +7 -0
- package/bin/go/src/internal/testenv/testenv.go +24 -1
- package/bin/go/src/internal/trace/event.go +1 -1
- package/bin/go/src/internal/trace/tracev2/events.go +2 -0
- package/bin/go/src/internal/trace/traceviewer/pprof.go +1 -0
- package/bin/go/src/internal/types/errors/generrordocs.go +1 -1
- package/bin/go/src/io/fs/fs.go +4 -1
- package/bin/go/src/io/fs/glob.go +1 -1
- package/bin/go/src/io/fs/readdir.go +3 -3
- package/bin/go/src/io/fs/readfile.go +3 -3
- package/bin/go/src/io/fs/stat.go +1 -1
- package/bin/go/src/io/fs/sub.go +4 -2
- package/bin/go/src/iter/iter.go +2 -2
- package/bin/go/src/log/slog/handler.go +0 -1
- package/bin/go/src/log/slog/json_handler.go +7 -1
- package/bin/go/src/log/slog/logger.go +16 -0
- package/bin/go/src/log/slog/text_handler.go +10 -1
- package/bin/go/src/log/slog/value.go +1 -1
- package/bin/go/src/log/syslog/doc.go +5 -0
- package/bin/go/src/math/abs.go +1 -1
- package/bin/go/src/math/big/accuracy_string.go +4 -4
- package/bin/go/src/math/big/arith.go +1 -1
- package/bin/go/src/math/big/arith_loong64.s +2 -4
- package/bin/go/src/math/big/float.go +2 -0
- package/bin/go/src/math/big/ftoa.go +11 -5
- package/bin/go/src/math/big/int.go +84 -1
- package/bin/go/src/math/big/intconv.go +19 -4
- package/bin/go/src/math/big/internal/asmgen/loong64.go +2 -0
- package/bin/go/src/math/big/nat.go +68 -17
- package/bin/go/src/math/big/natdiv.go +8 -5
- package/bin/go/src/math/big/roundingmode_string.go +3 -2
- package/bin/go/src/math/copysign.go +1 -2
- package/bin/go/src/math/exp2_asm.go +1 -1
- package/bin/go/src/math/exp2_noasm.go +1 -1
- package/bin/go/src/math/exp_asm.go +1 -1
- package/bin/go/src/math/exp_loong64.s +4 -12
- package/bin/go/src/math/exp_noasm.go +1 -1
- package/bin/go/src/math/exp_riscv64.s +236 -0
- package/bin/go/src/math/nextafter.go +4 -2
- package/bin/go/src/math/pow10.go +1 -1
- package/bin/go/src/math/rand/v2/rand.go +14 -4
- package/bin/go/src/mime/type.go +3 -2
- package/bin/go/src/net/dial.go +10 -6
- package/bin/go/src/net/dnsclient_unix.go +37 -8
- package/bin/go/src/net/dnsconfig.go +6 -0
- package/bin/go/src/net/fd_plan9.go +13 -6
- package/bin/go/src/net/fd_unix.go +3 -7
- package/bin/go/src/net/fd_windows.go +4 -9
- package/bin/go/src/net/file_plan9.go +1 -1
- package/bin/go/src/net/file_posix.go +1 -5
- package/bin/go/src/net/http/client.go +21 -4
- package/bin/go/src/net/http/clientconn.go +20 -1
- package/bin/go/src/net/http/clone.go +1 -10
- package/bin/go/src/net/http/cookie.go +5 -6
- package/bin/go/src/net/http/cookiejar/jar.go +6 -4
- package/bin/go/src/net/http/fcgi/fcgi.go +1 -2
- package/bin/go/src/net/http/fs.go +8 -1
- package/bin/go/src/net/http/http.go +29 -12
- package/bin/go/src/net/http/http2.go +561 -0
- package/bin/go/src/net/http/httptest/server.go +305 -60
- package/bin/go/src/net/http/httptrace/trace.go +78 -27
- package/bin/go/src/net/http/httputil/reverseproxy.go +0 -30
- package/bin/go/src/net/http/internal/common.go +14 -0
- package/bin/go/src/net/http/internal/http2/api.go +161 -0
- package/bin/go/src/net/http/internal/http2/ascii.go +53 -0
- package/bin/go/src/net/http/internal/http2/ciphers.go +641 -0
- package/bin/go/src/net/http/internal/http2/client_conn_pool.go +285 -0
- package/bin/go/src/net/http/internal/http2/config.go +118 -0
- package/bin/go/src/net/http/internal/http2/databuffer.go +146 -0
- package/bin/go/src/net/http/internal/http2/errors.go +173 -0
- package/bin/go/src/net/http/internal/http2/flow.go +175 -0
- package/bin/go/src/net/http/internal/http2/frame.go +1905 -0
- package/bin/go/src/net/http/internal/http2/gotrack.go +181 -0
- package/bin/go/src/net/http/internal/http2/http2.go +403 -0
- package/bin/go/src/net/http/internal/http2/pipe.go +184 -0
- package/bin/go/src/net/http/internal/http2/server.go +3238 -0
- package/bin/go/src/net/http/internal/http2/transport.go +3267 -0
- package/bin/go/src/net/http/internal/http2/write.go +380 -0
- package/bin/go/src/net/http/internal/http2/writesched.go +289 -0
- package/bin/go/src/net/http/internal/http2/writesched_priority_rfc9218.go +224 -0
- package/bin/go/src/net/http/internal/http2/writesched_roundrobin.go +119 -0
- package/bin/go/src/net/http/internal/httpcommon/httpcommon.go +8 -0
- package/bin/go/src/net/http/internal/httpsfv/httpsfv.go +666 -0
- package/bin/go/src/net/http/internal/sniff.go +304 -0
- package/bin/go/src/net/http/omithttp2.go +28 -49
- package/bin/go/src/net/http/pprof/pprof.go +11 -17
- package/bin/go/src/net/http/request.go +30 -3
- package/bin/go/src/net/http/response.go +6 -2
- package/bin/go/src/net/http/server.go +366 -144
- package/bin/go/src/net/http/sniff.go +2 -289
- package/bin/go/src/net/http/transfer.go +64 -21
- package/bin/go/src/net/http/transport.go +288 -83
- package/bin/go/src/net/ip.go +4 -0
- package/bin/go/src/net/ipsock_plan9.go +4 -4
- package/bin/go/src/net/ipsock_posix.go +8 -2
- package/bin/go/src/net/lookup.go +10 -0
- package/bin/go/src/net/lookup_windows.go +1 -1
- package/bin/go/src/net/mail/message.go +8 -3
- package/bin/go/src/net/net.go +2 -0
- package/bin/go/src/net/netip/netip.go +68 -61
- package/bin/go/src/net/sock_posix.go +1 -4
- package/bin/go/src/net/textproto/reader.go +11 -3
- package/bin/go/src/net/udpsock_plan9.go +2 -7
- package/bin/go/src/net/unixsock.go +11 -3
- package/bin/go/src/net/url/url.go +33 -0
- package/bin/go/src/os/dir_darwin.go +7 -0
- package/bin/go/src/os/exec/exec.go +16 -2
- package/bin/go/src/os/exec.go +1 -0
- package/bin/go/src/os/file.go +8 -1
- package/bin/go/src/os/root_windows.go +5 -1
- package/bin/go/src/os/signal/doc.go +3 -2
- package/bin/go/src/os/signal/signal.go +18 -6
- package/bin/go/src/os/statat_unix.go +5 -1
- package/bin/go/src/path/filepath/path.go +4 -0
- package/bin/go/src/reflect/asm_s390x.s +0 -10
- package/bin/go/src/reflect/iter.go +13 -13
- package/bin/go/src/reflect/makefunc.go +2 -1
- package/bin/go/src/reflect/map.go +61 -18
- package/bin/go/src/reflect/type.go +63 -46
- package/bin/go/src/reflect/value.go +59 -16
- package/bin/go/src/regexp/exec.go +5 -5
- package/bin/go/src/regexp/regexp.go +382 -319
- package/bin/go/src/regexp/syntax/parse.go +19 -10
- package/bin/go/src/runtime/HACKING.md +19 -0
- package/bin/go/src/runtime/_mkmalloc/constants.go +6 -4
- package/bin/go/src/runtime/_mkmalloc/go.mod +1 -1
- package/bin/go/src/runtime/_mkmalloc/mkmalloc.go +405 -64
- package/bin/go/src/runtime/alg.go +21 -53
- package/bin/go/src/runtime/asm_386.s +11 -461
- package/bin/go/src/runtime/asm_amd64.s +30 -537
- package/bin/go/src/runtime/asm_arm.s +4 -39
- package/bin/go/src/runtime/asm_arm64.s +15 -428
- package/bin/go/src/runtime/asm_loong64.s +37 -47
- package/bin/go/src/runtime/asm_mips64x.s +15 -15
- package/bin/go/src/runtime/asm_mipsx.s +0 -15
- package/bin/go/src/runtime/asm_ppc64x.h +0 -16
- package/bin/go/src/runtime/asm_ppc64x.s +13 -59
- package/bin/go/src/runtime/asm_riscv64.s +30 -91
- package/bin/go/src/runtime/asm_s390x.s +49 -49
- package/bin/go/src/runtime/asm_wasm.s +0 -15
- package/bin/go/src/runtime/atomic_riscv64.s +1 -1
- package/bin/go/src/runtime/cgo/abi_riscv64.h +72 -0
- package/bin/go/src/runtime/cgo/asm_riscv64.s +7 -48
- package/bin/go/src/runtime/cgo/callbacks.go +0 -42
- package/bin/go/src/runtime/cgo/callbacks_unix.go +58 -0
- package/bin/go/src/runtime/cgo/cgo.go +6 -3
- package/bin/go/src/runtime/cgo/gcc_aix_ppc64.S +21 -9
- package/bin/go/src/runtime/cgo/gcc_android.c +0 -26
- package/bin/go/src/runtime/cgo/gcc_clearenv.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_fatalf.c +14 -3
- package/bin/go/src/runtime/cgo/{gcc_libinit.c → gcc_libinit_unix.c} +18 -65
- package/bin/go/src/runtime/cgo/gcc_libinit_windows.c +23 -35
- package/bin/go/src/runtime/cgo/gcc_linux_ppc64x.S +16 -7
- package/bin/go/src/runtime/cgo/gcc_netbsd.c +8 -56
- package/bin/go/src/runtime/cgo/gcc_s390x.S +13 -4
- package/bin/go/src/runtime/cgo/gcc_sigaction.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_unix.c +63 -0
- package/bin/go/src/runtime/cgo/gcc_util.c +0 -19
- package/bin/go/src/runtime/cgo/handle.go +3 -0
- package/bin/go/src/runtime/cgo/libcgo.h +7 -10
- package/bin/go/src/runtime/cgo/libcgo_unix.h +2 -10
- package/bin/go/src/runtime/cgo/pthread_unix.c +138 -0
- package/bin/go/src/runtime/cgo/sigaction.go +1 -1
- package/bin/go/src/runtime/cgo/windows.go +18 -1
- package/bin/go/src/runtime/cgo_ppc64x.go +1 -1
- package/bin/go/src/runtime/cgo_sigaction.go +1 -1
- package/bin/go/src/runtime/cgocall.go +10 -2
- package/bin/go/src/runtime/chan.go +2 -16
- package/bin/go/src/runtime/coro.go +2 -2
- package/bin/go/src/runtime/cpuflags.go +4 -3
- package/bin/go/src/runtime/debug/garbage.go +6 -6
- package/bin/go/src/runtime/debug/mod.go +1 -1
- package/bin/go/src/runtime/debug/stack.go +1 -1
- package/bin/go/src/runtime/debugcall.go +0 -3
- package/bin/go/src/runtime/error.go +6 -0
- package/bin/go/src/runtime/extern.go +5 -3
- package/bin/go/src/runtime/heapdump.go +1 -1
- package/bin/go/src/runtime/iface.go +20 -10
- package/bin/go/src/runtime/libinit.go +48 -0
- package/bin/go/src/runtime/lock_js.go +4 -2
- package/bin/go/src/runtime/lock_spinbit.go +13 -12
- package/bin/go/src/runtime/lock_wasip1.go +4 -2
- package/bin/go/src/runtime/lockrank.go +24 -21
- package/bin/go/src/runtime/lockrank_off.go +5 -2
- package/bin/go/src/runtime/lockrank_on.go +8 -7
- package/bin/go/src/runtime/malloc.go +10 -26
- package/bin/go/src/runtime/malloc_generated.go +819 -8628
- package/bin/go/src/runtime/malloc_stubs.go +187 -197
- package/bin/go/src/runtime/malloc_tables_generated.go +16 -882
- package/bin/go/src/runtime/map.go +4 -4
- package/bin/go/src/runtime/mbitmap.go +3 -1
- package/bin/go/src/runtime/mem.go +2 -6
- package/bin/go/src/runtime/mem_sbrk.go +4 -0
- package/bin/go/src/runtime/memclr_s390x.s +0 -5
- package/bin/go/src/runtime/memmove_s390x.s +0 -7
- package/bin/go/src/runtime/metrics/doc.go +5 -29
- package/bin/go/src/runtime/metrics/sample.go +3 -0
- package/bin/go/src/runtime/metrics.go +3 -2
- package/bin/go/src/runtime/mgc.go +41 -25
- package/bin/go/src/runtime/mgcmark.go +5 -0
- package/bin/go/src/runtime/mgcmark_greenteagc.go +1 -1
- package/bin/go/src/runtime/mgcpacer.go +1 -3
- package/bin/go/src/runtime/mgcscavenge.go +1 -1
- package/bin/go/src/runtime/mheap.go +1 -10
- package/bin/go/src/runtime/mklockrank.go +6 -1
- package/bin/go/src/runtime/mkpreempt.go +7 -0
- package/bin/go/src/runtime/mprof.go +12 -23
- package/bin/go/src/runtime/os2_aix.go +3 -3
- package/bin/go/src/runtime/os3_solaris.go +10 -0
- package/bin/go/src/runtime/os_aix.go +9 -2
- package/bin/go/src/runtime/os_darwin.go +3 -8
- package/bin/go/src/runtime/os_dragonfly.go +10 -0
- package/bin/go/src/runtime/os_js.go +10 -0
- package/bin/go/src/runtime/os_linux32.go +19 -6
- package/bin/go/src/runtime/os_netbsd.go +10 -0
- package/bin/go/src/runtime/os_openbsd.go +10 -0
- package/bin/go/src/runtime/os_plan9.go +10 -0
- package/bin/go/src/runtime/os_wasip1.go +10 -0
- package/bin/go/src/runtime/os_windows.go +45 -12
- package/bin/go/src/runtime/os_workdir_ios_arm64.go +98 -0
- package/bin/go/src/runtime/os_workdir_stub.go +9 -0
- package/bin/go/src/runtime/panic.go +93 -8
- package/bin/go/src/runtime/plugin.go +1 -3
- package/bin/go/src/runtime/pprof/pprof.go +11 -14
- package/bin/go/src/runtime/pprof/protomem.go +8 -15
- package/bin/go/src/runtime/preempt_loong64.s +8 -4
- package/bin/go/src/runtime/preempt_noxreg.go +2 -0
- package/bin/go/src/runtime/preempt_xreg.go +29 -2
- package/bin/go/src/runtime/print.go +9 -1
- package/bin/go/src/runtime/proc.go +68 -17
- package/bin/go/src/runtime/race_riscv64.s +40 -83
- package/bin/go/src/runtime/race_s390x.s +0 -16
- package/bin/go/src/runtime/rand.go +40 -12
- package/bin/go/src/runtime/{rt0_linux_ppc64le.s → rt0_linux_ppc64x.s} +12 -2
- package/bin/go/src/runtime/runtime-gdb.py +13 -2
- package/bin/go/src/runtime/runtime1.go +69 -18
- package/bin/go/src/runtime/runtime2.go +23 -22
- package/bin/go/src/runtime/secret/secret.go +7 -2
- package/bin/go/src/runtime/secret.go +27 -9
- package/bin/go/src/runtime/secret_nosecret.go +1 -1
- package/bin/go/src/runtime/sigaction.go +1 -1
- package/bin/go/src/runtime/signal_unix.go +5 -3
- package/bin/go/src/runtime/softfloat64.go +7 -2
- package/bin/go/src/runtime/string.go +4 -1
- package/bin/go/src/runtime/stubs.go +14 -4
- package/bin/go/src/runtime/stubs_amd64.go +4 -0
- package/bin/go/src/runtime/stubs_arm.go +10 -1
- package/bin/go/src/runtime/stubs_arm64.go +13 -0
- package/bin/go/src/runtime/stubs_loong64.go +18 -0
- package/bin/go/src/runtime/stubs_mips64x.go +9 -0
- package/bin/go/src/runtime/stubs_mipsx.go +11 -0
- package/bin/go/src/runtime/stubs_ppc64x.go +15 -0
- package/bin/go/src/runtime/stubs_riscv64.go +13 -0
- package/bin/go/src/runtime/stubs_s390x.go +18 -0
- package/bin/go/src/runtime/symtab.go +15 -16
- package/bin/go/src/runtime/synctest.go +2 -4
- package/bin/go/src/runtime/sys_aix_ppc64.s +9 -0
- package/bin/go/src/runtime/sys_darwin.go +2 -20
- package/bin/go/src/runtime/sys_darwin_amd64.s +1 -4
- package/bin/go/src/runtime/sys_darwin_arm64.s +3 -6
- package/bin/go/src/runtime/sys_freebsd_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_ios_arm64.go +151 -0
- package/bin/go/src/runtime/sys_ios_arm64.s +78 -0
- package/bin/go/src/runtime/sys_linux_amd64.s +7 -1
- package/bin/go/src/runtime/sys_linux_loong64.s +8 -14
- package/bin/go/src/runtime/sys_linux_ppc64x.s +0 -12
- package/bin/go/src/runtime/sys_linux_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_openbsd.go +1 -1
- package/bin/go/src/runtime/sys_openbsd_riscv64.s +16 -16
- package/bin/go/src/runtime/syscall_windows.go +2 -6
- package/bin/go/src/runtime/time.go +19 -57
- package/bin/go/src/runtime/trace/subscribe.go +0 -3
- package/bin/go/src/runtime/traceback.go +90 -13
- package/bin/go/src/runtime/traceregion.go +3 -3
- package/bin/go/src/runtime/tracestring.go +5 -0
- package/bin/go/src/runtime/type.go +85 -15
- package/bin/go/src/runtime/utf8.go +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.mod +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.sum +2 -2
- package/bin/go/src/simd/archsimd/_gen/main.go +106 -15
- package/bin/go/src/simd/archsimd/_gen/midway/comments.yaml +151 -0
- package/bin/go/src/simd/archsimd/_gen/midway/intersect_simd_ops.go +836 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/asbits.go +139 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/compare_natural.go +73 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/formatted_files.go +66 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/insert_ordered_map.go +159 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/merge_generic_ops.go +245 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arch.go +173 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/emit.go +166 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/instruction.go +642 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/load.go +54 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/operands.go +406 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/etetest.sh +1 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdGenericOps.go +19 -52
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdIntrinsics.go +162 -98
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdMachineOps.go +50 -19
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdTypes.go +198 -140
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdrules.go +278 -57
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdssa.go +133 -68
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_utility.go +163 -30
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_amd64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_arm64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/godefs.go +113 -15
- package/bin/go/src/simd/archsimd/_gen/simdgen/main.go +62 -17
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/categories.yaml +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/{go.yaml → go_amd64.yaml} +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/go_arm64.yaml +91 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/categories.yaml +11 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/go_arm64.yaml +43 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/go_arm64.yaml +81 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/categories.yaml +11 -6
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/{go.yaml → go_amd64.yaml} +8 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/go_arm64.yaml +358 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/categories.yaml +5 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/{go.yaml → go_amd64.yaml} +4 -4
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/go_arm64.yaml +52 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/categories.yaml +29 -11
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/{go.yaml → go_amd64.yaml} +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/go_arm64.yaml +10 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/categories.yaml +2 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/{go.yaml → go_amd64.yaml} +2 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/go_arm64.yaml +35 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/categories.yaml +5 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/{go.yaml → go_amd64.yaml} +7 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/go_arm64.yaml +31 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/go_arm64.yaml +61 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/categories.yaml +79 -23
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/{go.yaml → go_amd64.yaml} +213 -104
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/go_arm64.yaml +264 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/categories.yaml +6 -2
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/{go.yaml → go_amd64.yaml} +3 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/go_arm64.yaml +38 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/categories.yaml +7 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/go_arm64.yaml +36 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/categories.yaml +5 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/go_arm64.yaml +19 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/categories.yaml +16 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/go_arm64.yaml +71 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/categories.yaml +156 -41
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_amd64.yaml +299 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_arm64.yaml +202 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/types.yaml +2 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/xed.go +44 -11
- package/bin/go/src/simd/archsimd/_gen/tmplgen/main.go +668 -123
- package/bin/go/src/simd/archsimd/_gen/unify/closure.go +1 -1
- package/bin/go/src/simd/archsimd/_gen/unify/env.go +35 -3
- package/bin/go/src/simd/archsimd/_gen/unify/yaml.go +4 -4
- package/bin/go/src/simd/archsimd/_gen/wasmgen/main.go +2064 -0
- package/bin/go/src/simd/archsimd/clmul_arm64.go +79 -0
- package/bin/go/src/simd/archsimd/clmul_emulated.go +103 -0
- package/bin/go/src/simd/archsimd/compare_gen_arm64.go +155 -0
- package/bin/go/src/simd/archsimd/cpu.go +1 -1
- package/bin/go/src/simd/archsimd/cpu_other.go +21 -0
- package/bin/go/src/simd/archsimd/doc.go +0 -2
- package/bin/go/src/simd/archsimd/dummy.s +1 -1
- package/bin/go/src/simd/archsimd/generate.go +1 -1
- package/bin/go/src/simd/archsimd/internal/test_helpers/checkslices.go +2 -2
- package/bin/go/src/simd/archsimd/maskmerge_gen_amd64.go +330 -0
- package/bin/go/src/simd/archsimd/maskmerge_gen_arm64.go +167 -0
- package/bin/go/src/simd/archsimd/ops_amd64.go +4210 -2475
- package/bin/go/src/simd/archsimd/ops_arm64.go +2186 -0
- package/bin/go/src/simd/archsimd/ops_emulated_amd64.go +205 -0
- package/bin/go/src/simd/archsimd/ops_emulated_wasm.go +212 -0
- package/bin/go/src/simd/archsimd/ops_internal_amd64.go +500 -56
- package/bin/go/src/simd/archsimd/ops_internal_arm64.go +234 -0
- package/bin/go/src/simd/archsimd/ops_wasm.go +1795 -0
- package/bin/go/src/simd/archsimd/other_gen_amd64.go +576 -72
- package/bin/go/src/simd/archsimd/other_gen_arm64.go +519 -0
- package/bin/go/src/simd/archsimd/shuffles_amd64.go +217 -76
- package/bin/go/src/simd/archsimd/slice_gen_amd64.go +594 -532
- package/bin/go/src/simd/archsimd/slice_gen_arm64.go +125 -0
- package/bin/go/src/simd/archsimd/slicepart_128.go +302 -0
- package/bin/go/src/simd/archsimd/slicepart_amd64.go +36 -235
- package/bin/go/src/simd/archsimd/slicepart_arm64.go +217 -0
- package/bin/go/src/simd/archsimd/slicepart_wasm.go +217 -0
- package/bin/go/src/simd/archsimd/string.go +1 -1
- package/bin/go/src/simd/archsimd/types_amd64.go +165 -341
- package/bin/go/src/simd/archsimd/types_arm64.go +224 -0
- package/bin/go/src/simd/archsimd/types_wasm.go +354 -0
- package/bin/go/src/simd/archsimd/unsafe_helpers.go +60 -0
- package/bin/go/src/simd/doc.go +91 -0
- package/bin/go/src/simd/dummy.s +7 -0
- package/bin/go/src/simd/internal/bridge/decls_amd64.go +4085 -0
- package/bin/go/src/simd/internal/bridge/decls_arm64.go +1369 -0
- package/bin/go/src/simd/internal/bridge/decls_wasm.go +1369 -0
- package/bin/go/src/simd/internal/bridge/import_hook.go +13 -0
- package/bin/go/src/simd/internal/bridge/simd_emulated.go +3275 -0
- package/bin/go/src/simd/internal/bridge/simd_types_emulated.go +95 -0
- package/bin/go/src/simd/internal/bridge/tofrom_128.go +65 -0
- package/bin/go/src/simd/internal/bridge/tofrom_amd64.go +123 -0
- package/bin/go/src/simd/internal/bridge/tofrom_emulated.go +63 -0
- package/bin/go/src/simd/midway_amd64.go +34 -0
- package/bin/go/src/simd/midway_arm64.go +22 -0
- package/bin/go/src/simd/midway_common.go +138 -0
- package/bin/go/src/simd/midway_wasm.go +13 -0
- package/bin/go/src/simd/simd_emulated.go +3275 -0
- package/bin/go/src/simd/simd_stubs.go +1041 -0
- package/bin/go/src/simd/simd_types.go +96 -0
- package/bin/go/src/simd/tofrom_amd64.go +374 -0
- package/bin/go/src/simd/tofrom_arm64.go +290 -0
- package/bin/go/src/simd/tofrom_wasm.go +290 -0
- package/bin/go/src/slices/slices.go +9 -7
- package/bin/go/src/strconv/isprint.go +81 -51
- package/bin/go/src/strings/builder.go +1 -1
- package/bin/go/src/strings/strings.go +44 -35
- package/bin/go/src/sync/atomic/doc.go +7 -0
- package/bin/go/src/sync/cond.go +4 -2
- package/bin/go/src/sync/pool.go +6 -15
- package/bin/go/src/sync/runtime2_lockrank.go +1 -2
- package/bin/go/src/syscall/exec_bsd.go +3 -3
- package/bin/go/src/syscall/exec_libc2.go +1 -1
- package/bin/go/src/syscall/exec_linux.go +7 -2
- package/bin/go/src/syscall/fs_js.go +9 -4
- package/bin/go/src/syscall/fs_wasip1.go +6 -0
- package/bin/go/src/syscall/js/js.go +2 -2
- package/bin/go/src/syscall/linkname_bsd.go +8 -0
- package/bin/go/src/syscall/linkname_libc.go +1 -1
- package/bin/go/src/syscall/linkname_openbsd.go +0 -2
- package/bin/go/src/syscall/mkall.sh +6 -17
- package/bin/go/src/syscall/syscall_aix.go +5 -0
- package/bin/go/src/syscall/syscall_linux_386.go +9 -0
- package/bin/go/src/syscall/syscall_linux_amd64.go +5 -0
- package/bin/go/src/syscall/syscall_linux_arm.go +4 -0
- package/bin/go/src/syscall/syscall_linux_arm64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_loong64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_mipsx.go +4 -0
- package/bin/go/src/syscall/syscall_linux_riscv64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_s390x.go +5 -0
- package/bin/go/src/syscall/syscall_openbsd.go +77 -2
- package/bin/go/src/syscall/syscall_plan9.go +25 -0
- package/bin/go/src/syscall/syscall_solaris.go +11 -0
- package/bin/go/src/syscall/syscall_unix.go +19 -0
- package/bin/go/src/syscall/syscall_windows.go +1 -1
- package/bin/go/src/testing/synctest/synctest.go +21 -0
- package/bin/go/src/testing/testing.go +211 -52
- package/bin/go/src/text/template/parse/lex.go +6 -6
- package/bin/go/src/text/template/parse/node.go +21 -16
- package/bin/go/src/text/template/parse/parse.go +23 -6
- package/bin/go/src/text/template/template.go +5 -3
- package/bin/go/src/time/format.go +3 -0
- package/bin/go/src/time/sleep.go +0 -33
- package/bin/go/src/time/tick.go +3 -2
- package/bin/go/src/time/time.go +2 -2
- package/bin/go/src/time/tzdata/zzipdata.go +1 -1
- package/bin/go/src/time/zoneinfo.go +5 -4
- package/bin/go/src/time/zoneinfo_read.go +1 -1
- package/bin/go/src/unicode/tables.go +898 -417
- package/bin/go/src/uuid/uuid.go +273 -0
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go +3 -3
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s +2066 -6598
- package/bin/go/src/vendor/golang.org/x/crypto/hkdf/hkdf.go +100 -0
- package/bin/go/src/vendor/golang.org/x/net/dns/dnsmessage/message.go +5 -4
- package/bin/go/src/vendor/golang.org/x/net/http/httpproxy/proxy.go +4 -4
- package/bin/go/src/vendor/golang.org/x/net/http3/http3.go +46 -0
- package/bin/go/src/vendor/golang.org/x/net/idna/{idna10.0.0.go → idna.go} +133 -35
- package/bin/go/src/vendor/golang.org/x/net/idna/punycode.go +4 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables17.0.0.go +5302 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/body.go +231 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/conn.go +131 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/doc.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/errors.go +102 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/http3.go +95 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack.go +356 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_decode.go +81 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_encode.go +61 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_static.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/quic.go +40 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/roundtrip.go +423 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/server.go +866 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/settings.go +66 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/stream.go +260 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/transport.go +333 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/varint.go +23 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/request.go +475 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/quic/quicwire/wire.go +150 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ack_delay.go +26 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/acks.go +213 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/atomic_bits.go +31 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/config.go +158 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/congestion_reno.go +306 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn.go +434 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_close.go +340 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_flow.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_id.go +502 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_loss.go +85 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_recv.go +631 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_send.go +407 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_streams.go +483 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/crypto_stream.go +157 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/dgram.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/doc.go +50 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/endpoint.go +478 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/errors.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/frame_debug.go +730 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/gate.go +86 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/idle.go +168 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/log.go +67 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/loss.go +521 -0
- package/bin/go/src/{runtime/cgo/gcc_stack_windows.c → vendor/golang.org/x/net/quic/math.go} +7 -2
- package/bin/go/src/vendor/golang.org/x/net/quic/pacer.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet.go +267 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_number.go +72 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_parser.go +519 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_protection.go +539 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_writer.go +566 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/path.go +87 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ping.go +14 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/pipe.go +173 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/qlog.go +272 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/queue.go +63 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/quic.go +221 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_disabled.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_enabled.go +27 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rangeset.go +193 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/retry.go +240 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rtt.go +71 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet.go +119 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet_list.go +93 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_val.go +103 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/skip.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stateless_reset.go +59 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream.go +1106 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream_limits.go +138 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/tls.go +123 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/transport_params.go +283 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp.go +28 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_darwin.go +45 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_linux.go +39 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_msg.go +245 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_other.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_packetconn.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s +12 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu.go +12 -7
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_arm64.go +3 -6
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go +31 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +2 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +4 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows.go +26 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go +38 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_x86.go +124 -50
- package/bin/go/src/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go +54 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/zcpu_windows.go +48 -0
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule.go +4 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go +2135 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/forminfo.go +18 -8
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +1410 -1410
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/{tables13.0.0.go → tables17.0.0.go} +3530 -3186
- package/bin/go/src/vendor/modules.txt +14 -8
- package/bin/ttsc-cache.exe +0 -0
- package/bin/ttsc.exe +0 -0
- package/bin/ttscserver.exe +0 -0
- package/package.json +1 -1
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv_noasm.go +0 -13
- package/bin/go/src/go/internal/scannerhooks/hooks.go +0 -11
- package/bin/go/src/hash/maphash/maphash_purego.go +0 -200
- package/bin/go/src/hash/maphash/maphash_runtime.go +0 -64
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_off.go +0 -8
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_on.go +0 -8
- package/bin/go/src/internal/strconv/atofeisel.go +0 -166
- package/bin/go/src/internal/strconv/ftoadbox.go +0 -349
- package/bin/go/src/internal/strconv/ftoafixed.go +0 -184
- package/bin/go/src/internal/strconv/math.go +0 -179
- package/bin/go/src/net/http/h2_bundle.go +0 -12371
- package/bin/go/src/net/http/h2_error.go +0 -37
- package/bin/go/src/runtime/cgo/gcc_darwin_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_darwin_arm64.c +0 -148
- package/bin/go/src/runtime/cgo/gcc_dragonfly_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_freebsd.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_freebsd_amd64.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_linux.c +0 -67
- package/bin/go/src/runtime/cgo/gcc_linux_amd64.c +0 -92
- package/bin/go/src/runtime/cgo/gcc_linux_arm64.c +0 -88
- package/bin/go/src/runtime/cgo/gcc_linux_s390x.c +0 -64
- package/bin/go/src/runtime/cgo/gcc_openbsd.c +0 -62
- package/bin/go/src/runtime/cgo/gcc_ppc64x.c +0 -68
- package/bin/go/src/runtime/cgo/gcc_signal2_ios_arm64.c +0 -11
- package/bin/go/src/runtime/cgo/gcc_signal_ios_arm64.c +0 -213
- package/bin/go/src/runtime/cgo/gcc_signal_ios_nolldb.c +0 -10
- package/bin/go/src/runtime/cgo/gcc_solaris_amd64.c +0 -83
- package/bin/go/src/runtime/cgo/gcc_stack_darwin.c +0 -25
- package/bin/go/src/runtime/cgo/gcc_stack_unix.c +0 -48
- package/bin/go/src/runtime/cgo/gcc_windows_386.c +0 -55
- package/bin/go/src/runtime/cgo/gcc_windows_amd64.c +0 -54
- package/bin/go/src/runtime/cgo/gcc_windows_arm64.c +0 -42
- package/bin/go/src/runtime/cgo/libcgo_windows.h +0 -6
- package/bin/go/src/runtime/cgo/signal_ios_arm64.go +0 -10
- package/bin/go/src/runtime/cgo/signal_ios_arm64.s +0 -56
- package/bin/go/src/runtime/rt0_linux_ppc64.s +0 -28
- package/bin/go/src/runtime/stubs_ppc64.go +0 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/go.yaml +0 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go.yaml +0 -172
- package/bin/go/src/syscall/asm_openbsd_mips64.s +0 -129
- package/bin/go/src/syscall/syscall_openbsd1.go +0 -12
- package/bin/go/src/syscall/syscall_openbsd_libc.go +0 -84
- package/bin/go/src/syscall/syscall_openbsd_mips64.go +0 -43
- package/bin/go/src/syscall/zerrors_openbsd_mips64.go +0 -1682
- package/bin/go/src/syscall/zsyscall_openbsd_mips64.go +0 -1289
- package/bin/go/src/syscall/zsysnum_openbsd_mips64.go +0 -218
- package/bin/go/src/syscall/ztypes_openbsd_mips64.go +0 -443
- package/bin/go/src/vendor/golang.org/x/net/idna/go118.go +0 -13
- package/bin/go/src/vendor/golang.org/x/net/idna/idna9.0.0.go +0 -717
- package/bin/go/src/vendor/golang.org/x/net/idna/pre_go118.go +0 -11
- package/bin/go/src/vendor/golang.org/x/net/idna/tables10.0.0.go +0 -4559
- package/bin/go/src/vendor/golang.org/x/net/idna/tables11.0.0.go +0 -4653
- package/bin/go/src/vendor/golang.org/x/net/idna/tables12.0.0.go +0 -4733
- package/bin/go/src/vendor/golang.org/x/net/idna/tables13.0.0.go +0 -4959
- package/bin/go/src/vendor/golang.org/x/net/idna/tables9.0.0.go +0 -4486
- package/bin/go/src/vendor/golang.org/x/net/idna/trie12.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/net/idna/trie13.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +0 -11
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +0 -14
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +0 -1815
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +0 -1887
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +0 -1923
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +0 -1955
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +0 -1781
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +0 -7657
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +0 -7693
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +0 -7710
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +0 -7637
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/{go.yaml → go_amd64.yaml} +0 -0
|
@@ -24,6 +24,7 @@ import (
|
|
|
24
24
|
"maps"
|
|
25
25
|
"net"
|
|
26
26
|
"net/http/httptrace"
|
|
27
|
+
"net/http/internal"
|
|
27
28
|
"net/http/internal/ascii"
|
|
28
29
|
"net/textproto"
|
|
29
30
|
"net/url"
|
|
@@ -165,6 +166,9 @@ type Transport struct {
|
|
|
165
166
|
// requests and the TLSClientConfig and TLSHandshakeTimeout
|
|
166
167
|
// are ignored. The returned net.Conn is assumed to already be
|
|
167
168
|
// past the TLS handshake.
|
|
169
|
+
//
|
|
170
|
+
// To support ALPN protocol negotiation, the returned net.Conn should be
|
|
171
|
+
// a *tls.Conn or implement the same ConnectionState method as *tls.Conn.
|
|
168
172
|
DialTLSContext func(ctx context.Context, network, addr string) (net.Conn, error)
|
|
169
173
|
|
|
170
174
|
// DialTLS specifies an optional dial function for creating
|
|
@@ -286,10 +290,13 @@ type Transport struct {
|
|
|
286
290
|
ReadBufferSize int
|
|
287
291
|
|
|
288
292
|
// nextProtoOnce guards initialization of TLSNextProto and
|
|
289
|
-
//
|
|
293
|
+
// h2Transport (via onceSetNextProtoDefaults)
|
|
290
294
|
nextProtoOnce sync.Once
|
|
291
|
-
|
|
292
|
-
|
|
295
|
+
closeIdleFunc closeIdleConnectionser // non-nil if http2 wired up
|
|
296
|
+
h2Transport *http2Transport
|
|
297
|
+
h2Config http2ExternalTransportConfig
|
|
298
|
+
h3Transport dialClientConner // non-nil if http3 wired up
|
|
299
|
+
tlsNextProtoWasNil bool // whether TLSNextProto was nil when the Once fired
|
|
293
300
|
|
|
294
301
|
// ForceAttemptHTTP2 controls whether HTTP/2 is enabled when a non-zero
|
|
295
302
|
// Dial, DialTLS, or DialContext func or TLSClientConfig is provided.
|
|
@@ -380,13 +387,44 @@ func (t *Transport) Clone() *Transport {
|
|
|
380
387
|
return t2
|
|
381
388
|
}
|
|
382
389
|
|
|
383
|
-
|
|
384
|
-
//
|
|
385
|
-
//
|
|
386
|
-
//
|
|
387
|
-
//
|
|
388
|
-
//
|
|
389
|
-
|
|
390
|
+
type dialClientConner interface {
|
|
391
|
+
// DialClientConn creates a new client connection to address.
|
|
392
|
+
//
|
|
393
|
+
// If proxy is non-nil, the connection should use the provided proxy.
|
|
394
|
+
// If HTTP/3 proxies are not supported, DialClientConn should return
|
|
395
|
+
// an error wrapping [errors.ErrUnsupported].
|
|
396
|
+
//
|
|
397
|
+
// The RoundTripper returned by DialClientConn must also implement the
|
|
398
|
+
// following methods to support [ClientConn] methods of the same name:
|
|
399
|
+
// Close() error
|
|
400
|
+
// Err() error
|
|
401
|
+
// Reserve() error
|
|
402
|
+
// Release() error
|
|
403
|
+
// Available() int
|
|
404
|
+
// InFlight() int
|
|
405
|
+
//
|
|
406
|
+
// The client connection should arrange to call internalStateHook
|
|
407
|
+
// when the connection closes, when requests complete, and when the
|
|
408
|
+
// connection concurrency limit changes.
|
|
409
|
+
//
|
|
410
|
+
// The client connection must call the internal state hook when
|
|
411
|
+
// the connection state changes asynchronously, such as when a request completes.
|
|
412
|
+
//
|
|
413
|
+
// The internal state hook need not be called after synchronous changes
|
|
414
|
+
// to the state: Close, Reserve, Release, and RoundTrip calls
|
|
415
|
+
// which don't start a request do not need to call the hook.
|
|
416
|
+
DialClientConn(ctx context.Context, address string, proxy *url.URL, internalStateHook func()) (RoundTripper, error)
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
type closeIdleConnectionser interface {
|
|
420
|
+
// CloseIdleConnections is called by Transport.CloseIdleConnections.
|
|
421
|
+
//
|
|
422
|
+
// We expect to use this on transports supplied by x/net/http2 or x/net/http3.
|
|
423
|
+
//
|
|
424
|
+
// The transport will close idle connections created with DialClientConn
|
|
425
|
+
// before calling this method. The HTTP/3 transport should not attempt to
|
|
426
|
+
// close idle connections, but may clean up shared resources such as UDP
|
|
427
|
+
// sockets if no connections remain.
|
|
390
428
|
CloseIdleConnections()
|
|
391
429
|
}
|
|
392
430
|
|
|
@@ -413,8 +451,8 @@ func (t *Transport) onceSetNextProtoDefaults() {
|
|
|
413
451
|
altProto, _ := t.altProto.Load().(map[string]RoundTripper)
|
|
414
452
|
if rv := reflect.ValueOf(altProto["https"]); rv.IsValid() && rv.Type().Kind() == reflect.Struct && rv.Type().NumField() == 1 {
|
|
415
453
|
if v := rv.Field(0); v.CanInterface() {
|
|
416
|
-
if h2i, ok := v.Interface().(
|
|
417
|
-
t.
|
|
454
|
+
if h2i, ok := v.Interface().(closeIdleConnectionser); ok {
|
|
455
|
+
t.closeIdleFunc = h2i
|
|
418
456
|
return
|
|
419
457
|
}
|
|
420
458
|
}
|
|
@@ -431,34 +469,8 @@ func (t *Transport) onceSetNextProtoDefaults() {
|
|
|
431
469
|
if omitBundledHTTP2 {
|
|
432
470
|
return
|
|
433
471
|
}
|
|
434
|
-
t2, err := http2configureTransports(t)
|
|
435
|
-
if err != nil {
|
|
436
|
-
log.Printf("Error enabling Transport HTTP/2 support: %v", err)
|
|
437
|
-
return
|
|
438
|
-
}
|
|
439
|
-
t.h2transport = t2
|
|
440
|
-
|
|
441
|
-
// Auto-configure the http2.Transport's MaxHeaderListSize from
|
|
442
|
-
// the http.Transport's MaxResponseHeaderBytes. They don't
|
|
443
|
-
// exactly mean the same thing, but they're close.
|
|
444
|
-
//
|
|
445
|
-
// TODO: also add this to x/net/http2.Configure Transport, behind
|
|
446
|
-
// a +build go1.7 build tag:
|
|
447
|
-
if limit1 := t.MaxResponseHeaderBytes; limit1 != 0 && t2.MaxHeaderListSize == 0 {
|
|
448
|
-
const h2max = 1<<32 - 1
|
|
449
|
-
if limit1 >= h2max {
|
|
450
|
-
t2.MaxHeaderListSize = h2max
|
|
451
|
-
} else {
|
|
452
|
-
t2.MaxHeaderListSize = uint32(limit1)
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
472
|
|
|
456
|
-
|
|
457
|
-
// Transport doesn't. We may want to make the two consistent some day.
|
|
458
|
-
//
|
|
459
|
-
// http2configureTransport will have already set NextProtos, but adjust it again
|
|
460
|
-
// here to remove HTTP/1.1 if the user has disabled it.
|
|
461
|
-
t.TLSClientConfig.NextProtos = adjustNextProtos(t.TLSClientConfig.NextProtos, protocols)
|
|
473
|
+
t.configureHTTP2(protocols)
|
|
462
474
|
}
|
|
463
475
|
|
|
464
476
|
func (t *Transport) protocols() Protocols {
|
|
@@ -566,6 +578,15 @@ func (t *Transport) alternateRoundTripper(req *Request) RoundTripper {
|
|
|
566
578
|
if !t.useRegisteredProtocol(req) {
|
|
567
579
|
return nil
|
|
568
580
|
}
|
|
581
|
+
if req.URL.Scheme == "https" && t.h2Config != nil && t.h2Config.ExternalRoundTrip() {
|
|
582
|
+
// This Transport has been configured to use an x/net/http2 Transport
|
|
583
|
+
// with a user-provided ClientConnPool. We're going to pass off the
|
|
584
|
+
// RoundTrip to x/net/http2 so it can use that pool.
|
|
585
|
+
//
|
|
586
|
+
// The ClientConnPool API is deprecated, but we're doing our best here
|
|
587
|
+
// to continue supporting any users who are using it.
|
|
588
|
+
return t.h2Config
|
|
589
|
+
}
|
|
569
590
|
altProto, _ := t.altProto.Load().(map[string]RoundTripper)
|
|
570
591
|
return altProto[req.URL.Scheme]
|
|
571
592
|
}
|
|
@@ -653,12 +674,12 @@ func (t *Transport) roundTrip(req *Request) (_ *Response, err error) {
|
|
|
653
674
|
// RoundTripper returns.
|
|
654
675
|
ctx, cancel := context.WithCancelCause(req.Context())
|
|
655
676
|
|
|
656
|
-
// Convert Request.Cancel into context
|
|
677
|
+
// Convert Request.Cancel into context cancellation.
|
|
657
678
|
if origReq.Cancel != nil {
|
|
658
679
|
go awaitLegacyCancel(ctx, cancel, origReq)
|
|
659
680
|
}
|
|
660
681
|
|
|
661
|
-
// Convert Transport.CancelRequest into context
|
|
682
|
+
// Convert Transport.CancelRequest into context cancellation.
|
|
662
683
|
//
|
|
663
684
|
// This is lamentably expensive. CancelRequest has been deprecated for a long time
|
|
664
685
|
// and doesn't work on HTTP/2 requests. Perhaps we should drop support for it entirely.
|
|
@@ -748,6 +769,11 @@ func (t *Transport) roundTrip(req *Request) (_ *Response, err error) {
|
|
|
748
769
|
}
|
|
749
770
|
}
|
|
750
771
|
|
|
772
|
+
func http2isNoCachedConnError(err error) bool {
|
|
773
|
+
_, ok := err.(interface{ IsHTTP2NoCachedConnError() })
|
|
774
|
+
return ok
|
|
775
|
+
}
|
|
776
|
+
|
|
751
777
|
func awaitLegacyCancel(ctx context.Context, cancel context.CancelCauseFunc, req *Request) {
|
|
752
778
|
select {
|
|
753
779
|
case <-req.Cancel:
|
|
@@ -863,7 +889,7 @@ func (pc *persistConn) shouldRetryRequest(req *Request, err error) bool {
|
|
|
863
889
|
}
|
|
864
890
|
|
|
865
891
|
// ErrSkipAltProtocol is a sentinel error value defined by Transport.RegisterProtocol.
|
|
866
|
-
var ErrSkipAltProtocol =
|
|
892
|
+
var ErrSkipAltProtocol = internal.ErrSkipAltProtocol
|
|
867
893
|
|
|
868
894
|
// RegisterProtocol registers a new protocol with scheme.
|
|
869
895
|
// The [Transport] will pass requests using the given scheme to rt.
|
|
@@ -876,11 +902,36 @@ var ErrSkipAltProtocol = errors.New("net/http: skip alternate protocol")
|
|
|
876
902
|
// handle the [Transport.RoundTrip] itself for that one request, as if the
|
|
877
903
|
// protocol were not registered.
|
|
878
904
|
func (t *Transport) RegisterProtocol(scheme string, rt RoundTripper) {
|
|
905
|
+
if err := t.registerProtocol(scheme, rt); err != nil {
|
|
906
|
+
panic(err)
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
func (t *Transport) registerProtocol(scheme string, rt RoundTripper) error {
|
|
879
911
|
t.altMu.Lock()
|
|
880
912
|
defer t.altMu.Unlock()
|
|
913
|
+
|
|
914
|
+
if scheme == "http/2" {
|
|
915
|
+
if t.h2Config != nil {
|
|
916
|
+
panic("http: HTTP/2 Transport already registered")
|
|
917
|
+
}
|
|
918
|
+
var ok bool
|
|
919
|
+
if t.h2Config, ok = rt.(http2ExternalTransportConfig); !ok {
|
|
920
|
+
panic("http: HTTP/2 configuration does not implement ExternalTransportConfig")
|
|
921
|
+
}
|
|
922
|
+
t.h2Config.Registered(t)
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
if scheme == "http/3" {
|
|
926
|
+
var ok bool
|
|
927
|
+
if t.h3Transport, ok = rt.(dialClientConner); !ok {
|
|
928
|
+
panic("http: HTTP/3 RoundTripper does not implement DialClientConn")
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
|
|
881
932
|
oldMap, _ := t.altProto.Load().(map[string]RoundTripper)
|
|
882
933
|
if _, exists := oldMap[scheme]; exists {
|
|
883
|
-
|
|
934
|
+
return errors.New("protocol " + scheme + " already registered")
|
|
884
935
|
}
|
|
885
936
|
newMap := maps.Clone(oldMap)
|
|
886
937
|
if newMap == nil {
|
|
@@ -888,6 +939,7 @@ func (t *Transport) RegisterProtocol(scheme string, rt RoundTripper) {
|
|
|
888
939
|
}
|
|
889
940
|
newMap[scheme] = rt
|
|
890
941
|
t.altProto.Store(newMap)
|
|
942
|
+
return nil
|
|
891
943
|
}
|
|
892
944
|
|
|
893
945
|
// CloseIdleConnections closes any connections which were previously
|
|
@@ -914,12 +966,27 @@ func (t *Transport) CloseIdleConnections() {
|
|
|
914
966
|
}
|
|
915
967
|
})
|
|
916
968
|
t.connsPerHostMu.Unlock()
|
|
917
|
-
|
|
969
|
+
|
|
970
|
+
// Tell various associated transports to close their connections.
|
|
971
|
+
|
|
972
|
+
// net/http/internal/http2 transport. This is the common case for HTTP/2 users.
|
|
973
|
+
if tr2 := t.h2Transport; tr2 != nil {
|
|
974
|
+
tr2.CloseIdleConnections()
|
|
975
|
+
}
|
|
976
|
+
// Probably an older x/net/http2 transport registered via Transport.RegisterProtocol.
|
|
977
|
+
// This is a legacy path; modern users just use internal/http2.
|
|
978
|
+
// (Note that we don't use this path when x/net/http2 wraps the net/http transport;
|
|
979
|
+
// this is supporting pre-wrapping x/net/http2.)
|
|
980
|
+
if t2 := t.closeIdleFunc; t2 != nil {
|
|
918
981
|
t2.CloseIdleConnections()
|
|
919
982
|
}
|
|
983
|
+
// HTTP/3 transport, probably from x/net/http3.
|
|
984
|
+
if cc, ok := t.h3Transport.(closeIdleConnectionser); ok {
|
|
985
|
+
cc.CloseIdleConnections()
|
|
986
|
+
}
|
|
920
987
|
}
|
|
921
988
|
|
|
922
|
-
// prepareTransportCancel sets up state to convert Transport.CancelRequest into context
|
|
989
|
+
// prepareTransportCancel sets up state to convert Transport.CancelRequest into context cancellation.
|
|
923
990
|
func (t *Transport) prepareTransportCancel(req *Request, origCancel context.CancelCauseFunc) context.CancelCauseFunc {
|
|
924
991
|
// Historically, RoundTrip has not modified the Request in any way.
|
|
925
992
|
// We could avoid the need to keep a map of all in-flight requests by adding
|
|
@@ -1767,6 +1834,28 @@ type erringRoundTripper interface {
|
|
|
1767
1834
|
var testHookProxyConnectTimeout = context.WithTimeout
|
|
1768
1835
|
|
|
1769
1836
|
func (t *Transport) dialConn(ctx context.Context, cm connectMethod, isClientConn bool, internalStateHook func()) (pconn *persistConn, err error) {
|
|
1837
|
+
// TODO: actually support HTTP/3. Among other things:
|
|
1838
|
+
// - make HTTP/3 play well with proxy.
|
|
1839
|
+
// - implement happy eyeball between HTTP/3 and HTTP/1 & HTTP/2.
|
|
1840
|
+
// - clean up the connection pooling logic.
|
|
1841
|
+
if p := t.protocols(); p.http3() {
|
|
1842
|
+
if p.HTTP1() || p.HTTP2() || p.UnencryptedHTTP2() {
|
|
1843
|
+
return nil, errors.New("http: when using HTTP3, Transport.Protocols must contain only HTTP3")
|
|
1844
|
+
}
|
|
1845
|
+
if t.h3Transport == nil {
|
|
1846
|
+
return nil, errors.New("http: Transport.Protocols contains HTTP3, but Transport does not support HTTP/3")
|
|
1847
|
+
}
|
|
1848
|
+
rt, err := t.h3Transport.DialClientConn(ctx, cm.addr(), cm.proxyURL, internalStateHook)
|
|
1849
|
+
if err != nil {
|
|
1850
|
+
return nil, err
|
|
1851
|
+
}
|
|
1852
|
+
return &persistConn{
|
|
1853
|
+
t: t,
|
|
1854
|
+
cacheKey: cm.key(),
|
|
1855
|
+
alt: rt,
|
|
1856
|
+
}, nil
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1770
1859
|
pconn = &persistConn{
|
|
1771
1860
|
t: t,
|
|
1772
1861
|
cacheKey: cm.key(),
|
|
@@ -1786,26 +1875,42 @@ func (t *Transport) dialConn(ctx context.Context, cm connectMethod, isClientConn
|
|
|
1786
1875
|
}
|
|
1787
1876
|
return err
|
|
1788
1877
|
}
|
|
1878
|
+
|
|
1879
|
+
if rt, err := t.http2ExternalDial(ctx, cm); err != errors.ErrUnsupported {
|
|
1880
|
+
if err != nil {
|
|
1881
|
+
return nil, err
|
|
1882
|
+
}
|
|
1883
|
+
return &persistConn{t: t, cacheKey: pconn.cacheKey, alt: rt}, nil
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1789
1886
|
if cm.scheme() == "https" && t.hasCustomTLSDialer() {
|
|
1790
1887
|
var err error
|
|
1791
1888
|
pconn.conn, err = t.customDialTLS(ctx, "tcp", cm.addr())
|
|
1792
1889
|
if err != nil {
|
|
1793
1890
|
return nil, wrapErr(err)
|
|
1794
1891
|
}
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1892
|
+
type connectionStater interface {
|
|
1893
|
+
ConnectionState() tls.ConnectionState
|
|
1894
|
+
}
|
|
1895
|
+
type handshaker interface {
|
|
1896
|
+
HandshakeContext(context.Context) error
|
|
1897
|
+
}
|
|
1898
|
+
if cstater, ok := pconn.conn.(connectionStater); ok {
|
|
1798
1899
|
if trace != nil && trace.TLSHandshakeStart != nil {
|
|
1799
1900
|
trace.TLSHandshakeStart()
|
|
1800
1901
|
}
|
|
1801
|
-
if
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1902
|
+
if handshaker, ok := cstater.(handshaker); ok {
|
|
1903
|
+
// Handshake here, in case DialTLS didn't. TLSNextProto below
|
|
1904
|
+
// depends on it for knowing the connection state.
|
|
1905
|
+
if err := handshaker.HandshakeContext(ctx); err != nil {
|
|
1906
|
+
go pconn.conn.Close()
|
|
1907
|
+
if trace != nil && trace.TLSHandshakeDone != nil {
|
|
1908
|
+
trace.TLSHandshakeDone(tls.ConnectionState{}, err)
|
|
1909
|
+
}
|
|
1910
|
+
return nil, err
|
|
1805
1911
|
}
|
|
1806
|
-
return nil, err
|
|
1807
1912
|
}
|
|
1808
|
-
cs :=
|
|
1913
|
+
cs := cstater.ConnectionState()
|
|
1809
1914
|
if trace != nil && trace.TLSHandshakeDone != nil {
|
|
1810
1915
|
trace.TLSHandshakeDone(cs, nil)
|
|
1811
1916
|
}
|
|
@@ -1950,6 +2055,29 @@ func (t *Transport) dialConn(ctx context.Context, cm connectMethod, isClientConn
|
|
|
1950
2055
|
t.Protocols.UnencryptedHTTP2() &&
|
|
1951
2056
|
!t.Protocols.HTTP1()
|
|
1952
2057
|
|
|
2058
|
+
http2 := unencryptedHTTP2 ||
|
|
2059
|
+
(pconn.tlsState != nil && pconn.tlsState.NegotiatedProtocol == "h2")
|
|
2060
|
+
|
|
2061
|
+
if http2 && t.h2Transport != nil {
|
|
2062
|
+
if isClientConn {
|
|
2063
|
+
cc, err := t.http2NewClientConn(pconn.conn, internalStateHook)
|
|
2064
|
+
if err == nil {
|
|
2065
|
+
return &persistConn{t: t, cacheKey: pconn.cacheKey, alt: cc, isClientConn: true}, nil
|
|
2066
|
+
}
|
|
2067
|
+
if err != errors.ErrUnsupported {
|
|
2068
|
+
return nil, err
|
|
2069
|
+
}
|
|
2070
|
+
} else {
|
|
2071
|
+
rt, err := t.http2AddConn(cm.targetScheme, cm.targetAddr, pconn.conn)
|
|
2072
|
+
if err == nil {
|
|
2073
|
+
return &persistConn{t: t, cacheKey: pconn.cacheKey, alt: rt}, nil
|
|
2074
|
+
}
|
|
2075
|
+
if err != errors.ErrUnsupported {
|
|
2076
|
+
return nil, err
|
|
2077
|
+
}
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
|
|
1953
2081
|
if isClientConn && (unencryptedHTTP2 || (pconn.tlsState != nil && pconn.tlsState.NegotiatedProtocol == "h2")) {
|
|
1954
2082
|
altProto, _ := t.altProto.Load().(map[string]RoundTripper)
|
|
1955
2083
|
h2, ok := altProto["https"].(newClientConner)
|
|
@@ -1978,8 +2106,9 @@ func (t *Transport) dialConn(ctx context.Context, cm connectMethod, isClientConn
|
|
|
1978
2106
|
}
|
|
1979
2107
|
|
|
1980
2108
|
if s := pconn.tlsState; s != nil && s.NegotiatedProtocolIsMutual && s.NegotiatedProtocol != "" {
|
|
1981
|
-
|
|
1982
|
-
|
|
2109
|
+
tlsConn, tlsConnOK := pconn.conn.(*tls.Conn)
|
|
2110
|
+
if next, ok := t.TLSNextProto[s.NegotiatedProtocol]; tlsConnOK && ok {
|
|
2111
|
+
alt := next(cm.targetAddr, tlsConn)
|
|
1983
2112
|
if e, ok := alt.(erringRoundTripper); ok {
|
|
1984
2113
|
// pconn.conn was closed by next (http2configureTransports.upgradeFn).
|
|
1985
2114
|
return nil, e.RoundTripErr()
|
|
@@ -2087,10 +2216,7 @@ func (cm *connectMethod) addr() string {
|
|
|
2087
2216
|
// TLS certificate.
|
|
2088
2217
|
func (cm *connectMethod) tlsHost() string {
|
|
2089
2218
|
h := cm.targetAddr
|
|
2090
|
-
|
|
2091
|
-
h = h[:strings.LastIndex(h, ":")]
|
|
2092
|
-
}
|
|
2093
|
-
return h
|
|
2219
|
+
return removePort(h)
|
|
2094
2220
|
}
|
|
2095
2221
|
|
|
2096
2222
|
// connectMethodKey is the map key version of connectMethod, with a
|
|
@@ -2288,6 +2414,43 @@ func (pc *persistConn) mapRoundTripError(req *transportRequest, startBytesWritte
|
|
|
2288
2414
|
// closing a net.Conn that is now owned by the caller.
|
|
2289
2415
|
var errCallerOwnsConn = errors.New("read loop ending; caller owns writable underlying conn")
|
|
2290
2416
|
|
|
2417
|
+
// maxPostCloseReadBytes is the max number of bytes that a client is willing to
|
|
2418
|
+
// read when draining the response body of any unread bytes after it has been
|
|
2419
|
+
// closed. This number is chosen for consistency with maxPostHandlerReadBytes.
|
|
2420
|
+
const maxPostCloseReadBytes = 256 << 10
|
|
2421
|
+
|
|
2422
|
+
// maxPostCloseReadTime defines the maximum amount of time that a client is
|
|
2423
|
+
// willing to spend on draining a response body of any unread bytes after it
|
|
2424
|
+
// has been closed.
|
|
2425
|
+
const maxPostCloseReadTime = 50 * time.Millisecond
|
|
2426
|
+
|
|
2427
|
+
func maybeDrainBody(r io.Reader) bool {
|
|
2428
|
+
drainedCh := make(chan bool, 1)
|
|
2429
|
+
go func() {
|
|
2430
|
+
// When we drain the body and (hopefully) reach EOF, we might
|
|
2431
|
+
// potentially need to deal with trailers. Make sure they are discarded
|
|
2432
|
+
// so the connection can actually be reused.
|
|
2433
|
+
if b, ok := r.(*body); ok {
|
|
2434
|
+
b.discardTrailer()
|
|
2435
|
+
}
|
|
2436
|
+
if _, err := io.CopyN(io.Discard, r, maxPostCloseReadBytes+1); err == io.EOF {
|
|
2437
|
+
drainedCh <- true
|
|
2438
|
+
} else {
|
|
2439
|
+
drainedCh <- false
|
|
2440
|
+
}
|
|
2441
|
+
}()
|
|
2442
|
+
select {
|
|
2443
|
+
case drained := <-drainedCh:
|
|
2444
|
+
return drained
|
|
2445
|
+
case <-time.After(maxPostCloseReadTime):
|
|
2446
|
+
return false
|
|
2447
|
+
}
|
|
2448
|
+
}
|
|
2449
|
+
|
|
2450
|
+
// errClosedEarly is an internal-only error used to indicate that a response body
|
|
2451
|
+
// was closed early prior to EOF.
|
|
2452
|
+
var errClosedEarly = errors.New("net/http: response body closed early")
|
|
2453
|
+
|
|
2291
2454
|
func (pc *persistConn) readLoop() {
|
|
2292
2455
|
closeErr := errReadLoopExiting // default value, if not changed below
|
|
2293
2456
|
defer func() {
|
|
@@ -2411,19 +2574,17 @@ func (pc *persistConn) readLoop() {
|
|
|
2411
2574
|
continue
|
|
2412
2575
|
}
|
|
2413
2576
|
|
|
2414
|
-
waitForBodyRead := make(chan
|
|
2577
|
+
waitForBodyRead := make(chan error, 1)
|
|
2415
2578
|
body := &bodyEOFSignal{
|
|
2416
2579
|
body: resp.Body,
|
|
2417
2580
|
earlyCloseFn: func() error {
|
|
2418
|
-
waitForBodyRead <-
|
|
2581
|
+
waitForBodyRead <- errClosedEarly
|
|
2419
2582
|
<-eofc // will be closed by deferred call at the end of the function
|
|
2420
2583
|
return nil
|
|
2421
|
-
|
|
2422
2584
|
},
|
|
2423
2585
|
fn: func(err error) error {
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
if isEOF {
|
|
2586
|
+
waitForBodyRead <- err
|
|
2587
|
+
if err == io.EOF {
|
|
2427
2588
|
<-eofc // see comment above eofc declaration
|
|
2428
2589
|
} else if err != nil {
|
|
2429
2590
|
if cerr := pc.canceled(); cerr != nil {
|
|
@@ -2453,14 +2614,29 @@ func (pc *persistConn) readLoop() {
|
|
|
2453
2614
|
// the bufio.Reader, wait for the caller goroutine to finish
|
|
2454
2615
|
// reading the response body. (or for cancellation or death)
|
|
2455
2616
|
select {
|
|
2456
|
-
case
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2617
|
+
case err := <-waitForBodyRead:
|
|
2618
|
+
tryPutIdle := func() {
|
|
2619
|
+
alive = alive &&
|
|
2620
|
+
!pc.sawEOF &&
|
|
2621
|
+
pc.wroteRequest() &&
|
|
2622
|
+
tryPutIdleConn(rc.treq)
|
|
2623
|
+
}
|
|
2624
|
+
switch err {
|
|
2625
|
+
case io.EOF:
|
|
2626
|
+
tryPutIdle()
|
|
2627
|
+
eofc <- struct{}{}
|
|
2628
|
+
case errClosedEarly:
|
|
2629
|
+
// Read resp before signaling eofc: the send lets the caller's
|
|
2630
|
+
// Close return, and resp belongs to the caller after that.
|
|
2631
|
+
tryDrain := alive && resp.ContentLength <= maxPostCloseReadBytes
|
|
2463
2632
|
eofc <- struct{}{}
|
|
2633
|
+
if tryDrain && maybeDrainBody(body.body) {
|
|
2634
|
+
tryPutIdle()
|
|
2635
|
+
} else {
|
|
2636
|
+
alive = false
|
|
2637
|
+
}
|
|
2638
|
+
default:
|
|
2639
|
+
alive = false
|
|
2464
2640
|
}
|
|
2465
2641
|
case <-rc.treq.ctx.Done():
|
|
2466
2642
|
alive = false
|
|
@@ -2783,7 +2959,7 @@ var errTimeout error = &timeoutError{"net/http: timeout awaiting response header
|
|
|
2783
2959
|
|
|
2784
2960
|
// errRequestCanceled is set to be identical to the one from h2 to facilitate
|
|
2785
2961
|
// testing.
|
|
2786
|
-
var errRequestCanceled =
|
|
2962
|
+
var errRequestCanceled = internal.ErrRequestCanceled
|
|
2787
2963
|
var errRequestCanceledConn = errors.New("net/http: request canceled while waiting for connection") // TODO: unify?
|
|
2788
2964
|
|
|
2789
2965
|
// errRequestDone is used to cancel the round trip Context after a request is successfully done.
|
|
@@ -3003,11 +3179,16 @@ func (pc *persistConn) closeLocked(err error) {
|
|
|
3003
3179
|
pc.t.decConnsPerHost(pc.cacheKey)
|
|
3004
3180
|
// Close HTTP/1 (pc.alt == nil) connection.
|
|
3005
3181
|
// HTTP/2 closes its connection itself.
|
|
3182
|
+
// Close HTTP/3 connection if it implements io.Closer.
|
|
3006
3183
|
if pc.alt == nil {
|
|
3007
3184
|
if err != errCallerOwnsConn {
|
|
3008
3185
|
pc.conn.Close()
|
|
3009
3186
|
}
|
|
3010
3187
|
close(pc.closech)
|
|
3188
|
+
} else {
|
|
3189
|
+
if cc, ok := pc.alt.(io.Closer); ok {
|
|
3190
|
+
cc.Close()
|
|
3191
|
+
}
|
|
3011
3192
|
}
|
|
3012
3193
|
}
|
|
3013
3194
|
pc.mutateHeaderFunc = nil
|
|
@@ -3051,16 +3232,16 @@ func canonicalAddr(url *url.URL) string {
|
|
|
3051
3232
|
// once, right before its final (error-producing) Read or Close call
|
|
3052
3233
|
// returns. fn should return the new error to return from Read or Close.
|
|
3053
3234
|
//
|
|
3054
|
-
// If earlyCloseFn is non-nil and Close is called before
|
|
3055
|
-
// seen, earlyCloseFn is called instead of fn, and its return value is
|
|
3235
|
+
// If earlyCloseFn is non-nil and Close is called before any final error from
|
|
3236
|
+
// Read is seen, earlyCloseFn is called instead of fn, and its return value is
|
|
3056
3237
|
// the return value from Close.
|
|
3057
3238
|
type bodyEOFSignal struct {
|
|
3058
3239
|
body io.ReadCloser
|
|
3059
3240
|
mu sync.Mutex // guards following 4 fields
|
|
3060
3241
|
closed bool // whether Close has been called
|
|
3061
3242
|
rerr error // sticky Read error
|
|
3062
|
-
fn func(error) error //
|
|
3063
|
-
earlyCloseFn func() error //
|
|
3243
|
+
fn func(error) error // called on final body.Read non-nil error (or body.Close if earlyCloseFn is not run)
|
|
3244
|
+
earlyCloseFn func() error // called if body.Close is called before body.Read ever returns a non-nil error
|
|
3064
3245
|
}
|
|
3065
3246
|
|
|
3066
3247
|
var errReadOnClosedResBody = errors.New("http: read on closed response body")
|
|
@@ -3096,8 +3277,16 @@ func (es *bodyEOFSignal) Close() error {
|
|
|
3096
3277
|
return nil
|
|
3097
3278
|
}
|
|
3098
3279
|
es.closed = true
|
|
3099
|
-
if es.earlyCloseFn != nil && es.rerr
|
|
3100
|
-
|
|
3280
|
+
if es.earlyCloseFn != nil && es.rerr == nil {
|
|
3281
|
+
earlyCloseFn := es.earlyCloseFn
|
|
3282
|
+
es.earlyCloseFn = nil
|
|
3283
|
+
es.fn = nil
|
|
3284
|
+
return earlyCloseFn()
|
|
3285
|
+
}
|
|
3286
|
+
if es.rerr != nil && es.rerr != io.EOF {
|
|
3287
|
+
// Read already returned this error and readLoop gave up the
|
|
3288
|
+
// connection. Draining would only read the same error again.
|
|
3289
|
+
return nil
|
|
3101
3290
|
}
|
|
3102
3291
|
err := es.body.Close()
|
|
3103
3292
|
return es.condfn(err)
|
|
@@ -3108,9 +3297,10 @@ func (es *bodyEOFSignal) condfn(err error) error {
|
|
|
3108
3297
|
if es.fn == nil {
|
|
3109
3298
|
return err
|
|
3110
3299
|
}
|
|
3111
|
-
|
|
3300
|
+
fn := es.fn
|
|
3112
3301
|
es.fn = nil
|
|
3113
|
-
|
|
3302
|
+
es.earlyCloseFn = nil
|
|
3303
|
+
return fn(err)
|
|
3114
3304
|
}
|
|
3115
3305
|
|
|
3116
3306
|
// gzipReader wraps a response body so it can lazily
|
|
@@ -3160,7 +3350,22 @@ func (gz *gzipReader) acquire() (*gzip.Reader, error) {
|
|
|
3160
3350
|
return nil, gz.zerr
|
|
3161
3351
|
}
|
|
3162
3352
|
if gz.zr == nil {
|
|
3163
|
-
|
|
3353
|
+
// gzipPoolGet might block indefinitely since it reads the gzip header.
|
|
3354
|
+
// Therefore, drop mu temporarily when using gzipPoolGet.
|
|
3355
|
+
// We set zerr to errConcurrentReadOnResBody to prevent concurrent read
|
|
3356
|
+
// even when mu is temporarily dropped.
|
|
3357
|
+
gz.zerr = errConcurrentReadOnResBody
|
|
3358
|
+
gz.mu.Unlock()
|
|
3359
|
+
zr, err := gzipPoolGet(gz.body)
|
|
3360
|
+
gz.mu.Lock()
|
|
3361
|
+
// Guard against Close being called while gzipPoolGet is running.
|
|
3362
|
+
if gz.zerr != errConcurrentReadOnResBody {
|
|
3363
|
+
if zr != nil {
|
|
3364
|
+
gzipPoolPut(zr)
|
|
3365
|
+
}
|
|
3366
|
+
return nil, gz.zerr
|
|
3367
|
+
}
|
|
3368
|
+
gz.zr, gz.zerr = zr, err
|
|
3164
3369
|
if gz.zerr != nil {
|
|
3165
3370
|
return nil, gz.zerr
|
|
3166
3371
|
}
|
package/bin/go/src/net/ip.go
CHANGED
|
@@ -132,6 +132,10 @@ func (ip IP) IsLoopback() bool {
|
|
|
132
132
|
|
|
133
133
|
// IsPrivate reports whether ip is a private address, according to
|
|
134
134
|
// RFC 1918 (IPv4 addresses) and RFC 4193 (IPv6 addresses).
|
|
135
|
+
// That is, it reports whether ip is in 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, or fc00::/7.
|
|
136
|
+
//
|
|
137
|
+
// IsPrivate does not describe a security property of addresses,
|
|
138
|
+
// and should not be used for access control.
|
|
135
139
|
func (ip IP) IsPrivate() bool {
|
|
136
140
|
if ip4 := ip.To4(); ip4 != nil {
|
|
137
141
|
// Following RFC 1918, Section 3. Private Address Space which says:
|
|
@@ -227,7 +227,7 @@ func dialPlan9Blocking(ctx context.Context, net string, laddr, raddr Addr) (fd *
|
|
|
227
227
|
f.Close()
|
|
228
228
|
return nil, err
|
|
229
229
|
}
|
|
230
|
-
return newFD(proto, name, nil, f, data, laddr, raddr)
|
|
230
|
+
return newFD(proto, name, nil, f, data, laddr, raddr), nil
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
func listenPlan9(ctx context.Context, net string, laddr Addr) (fd *netFD, err error) {
|
|
@@ -246,10 +246,10 @@ func listenPlan9(ctx context.Context, net string, laddr Addr) (fd *netFD, err er
|
|
|
246
246
|
f.Close()
|
|
247
247
|
return nil, err
|
|
248
248
|
}
|
|
249
|
-
return newFD(proto, name, nil, f, nil, laddr, nil)
|
|
249
|
+
return newFD(proto, name, nil, f, nil, laddr, nil), nil
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
func (fd *netFD) netFD()
|
|
252
|
+
func (fd *netFD) netFD() *netFD {
|
|
253
253
|
return newFD(fd.net, fd.n, fd.listen, fd.ctl, fd.data, fd.laddr, fd.raddr)
|
|
254
254
|
}
|
|
255
255
|
|
|
@@ -288,7 +288,7 @@ func (fd *netFD) acceptPlan9() (nfd *netFD, err error) {
|
|
|
288
288
|
data.Close()
|
|
289
289
|
return nil, err
|
|
290
290
|
}
|
|
291
|
-
return newFD(fd.net, name, listen, ctl, data, fd.laddr, raddr)
|
|
291
|
+
return newFD(fd.net, name, listen, ctl, data, fd.laddr, raddr), nil
|
|
292
292
|
}
|
|
293
293
|
|
|
294
294
|
func isWildcard(a Addr) bool {
|
|
@@ -70,7 +70,13 @@ func (p *ipStackCapabilities) probe() {
|
|
|
70
70
|
continue
|
|
71
71
|
}
|
|
72
72
|
if err := syscall.Bind(s, sa); err != nil {
|
|
73
|
-
|
|
73
|
+
// If the bind was denied by a security policy (BPF, seccomp,
|
|
74
|
+
// SELinux, etc.), the kernel still supports IPv6 — the socket
|
|
75
|
+
// was created and setsockopt succeeded. Only treat errors like
|
|
76
|
+
// EADDRNOTAVAIL as lack of support. See go.dev/issue/77430.
|
|
77
|
+
if err != syscall.EPERM && err != syscall.EACCES {
|
|
78
|
+
continue
|
|
79
|
+
}
|
|
74
80
|
}
|
|
75
81
|
if i == 0 {
|
|
76
82
|
p.ipv6Enabled = true
|
|
@@ -158,7 +164,7 @@ func favoriteAddrFamily(network string, laddr, raddr sockaddr, mode string) (fam
|
|
|
158
164
|
|
|
159
165
|
func internetSocket(ctx context.Context, net string, laddr, raddr sockaddr, sotype, proto int, mode string, ctrlCtxFn func(context.Context, string, string, syscall.RawConn) error) (fd *netFD, err error) {
|
|
160
166
|
switch runtime.GOOS {
|
|
161
|
-
case "aix", "windows", "openbsd", "js", "wasip1":
|
|
167
|
+
case "aix", "freebsd", "windows", "openbsd", "js", "wasip1":
|
|
162
168
|
if mode == "dial" && raddr.isWildcard() {
|
|
163
169
|
raddr = raddr.toLocal(net)
|
|
164
170
|
}
|