Alu 1.24

Alu 1.24

O se fa'asalalauga fou o le gagana Go, version 1.24, e sau i le ono masina mulimuli ane Alu 1.23. O le tele o suiga o loʻo i totonu o le faʻatinoga o le meafaigaluega, taʻavale ma faletusi. E pei ona masani ai, o le faʻasalalauga e maua ai folafolaga o le fetaui Alu 1. O lo'o fa'amoemoe le au fai gagana e toetoe lava o polokalame Go uma o le a fa'aauau pea ona fa'aopoopo ma fa'agasolo e pei ona iai muamua.

Suiga i le gagana

Alu 1.24 i le taimi nei e lagolagoina atoatoa igoa masani ituaiga: o se ituaiga igoa e mafai ona faʻavasegaina o se ituaiga faʻaalia. Fa'amatalaga i totonu fa'amatalaga gagana. Mo le taimi nei, o lenei vaega e mafai ona faʻagata e ala i le seti GOEXPERIMENT=noaliastypeparams; Ae ui i lea, o le aliastypeparams filifiliga o le a aveesea ile Go 1.25.

Meafaigaluega

Alu fa'atonu

Go modules ua mafai nei ona siaki fa'alagolago fa'atino e fa'aaoga ai le fa'atonuga meafaigaluega ile go.mod. O lenei mea e aveesea ai le manaʻoga mo le faʻataʻitaʻiga muamua o le faʻaopoopoina o mea faigaluega e pei o faʻaulufale gaogao i totonu o se faila e masani ona taʻua "tools.go". O le go tool command e mafai nei ona faʻatautaia nei meafaigaluega faʻaopoopo i meafaigaluega e sau ma Go. E mafai ona maua nisi fa'amatalaga ile fa'amaumauga.

O le fu'a fou -tool for go get e mafua ai ona fa'aopoopo fa'atonuga meafaigaluega i le module o lo'o iai nei mo afifi fa'apitoa e fa'aopoopo i le fa'aopoopoina o fa'atonuga mana'omia.

Fou meafaigaluega fa'atusa-meta e faasino i meafaigaluega uma i le module o loʻo iai nei. E mafai ona fa'aoga lenei mea e fa'afou uma ai e ala i le go get tool, po'o le fa'apipi'i i totonu o lau lisi o le GOBIN e ala i le go install tool.

O mea e mafai ona fa'atinoina e ala i le go run ma le amio fou o meafaigaluega o lo'o teuina nei i le Go build cache. O le mea lea e mafai ai ona toe fa'asolo ona o le fa'atuputeleina o le cache. #69290.

O le alu e fausia ma alu faʻapipiʻi poloaiga ua talia nei le -json fuʻa, lea e lipotia ai le fausiaina o galuega ma mea sese e pei o le faʻatulagaina o galuega a le JSON i luga o galuega masani. E mafai ona vaʻaia faʻamatalaga faʻamatalaga ile go help buildjson.

E le gata i lea, alu i le suʻega -json ua lipotia nei le gaioiga ma fausia mea sese i le JSON, faʻafefiloi ma le suʻega JSON. E mafai ona iloga i latou i ituaiga fou o Action, ae afai latou te mafua ai faʻafitauli i le suʻega tuʻufaʻatasiga faiga, e mafai ona e toe foʻi i tua i le tusitusiga o le fausiaina e ala i GODEBUG seti gotestjsonbuildtext=1.

Ole suiga fou ole siosiomaga ole GOAUTH e maua ai se auala fetuutuunai e fa'ataga ai le tosoina o module tuma'oti. E mafai ona e va'ai fa'amatalaga ile go help goauth.

Ua fa'apipi'i nei le fa'atonuga alu lomiga o le module autu i totonu o le binary tuufaatasia, faʻavae i luga o se pine ma / poʻo se faʻatonuga faʻatonuga. O le a fa'aopoopoina le suffix palapala + pe a iai ni suiga e le'i faia. O le -buildvcs=false fu'a e mafai ona fa'aoga e aveese fa'amatalaga fa'atonuga mai le binary.

Fou GODEBUG seti toolchaintrace=1 e mafai nei ona fa'aoga e siaki ai le faiga filifiliga o mea faigaluega i le fa'atonuga alu.

Cgo

E lagolagoina e le Cgo fa'amatalaga fou mo galuega C e fa'aleleia ai le fa'atinoga o le ta'aloga. #cgo noescape cFunctionName ta'u atu i le tagata tu'ufa'atasiga o le manatua na pasi atu i le galuega C cFunctionName e le'o sao. #cgo nocallback cFunctionName ta'u atu i le tagata tu'ufa'atasiga o le C function cFunctionName e le toe fa'afo'i mai so'o se galuega Go. E mafai ona maua nisi fa'amatalaga ile cgo fa'amaumauga.

O le taimi nei e musu Cgo e tu'ufa'atasia vala'au i se galuega C o lo'o i ai le tele o ta'utinoga le fetaui. Mo se fa'ata'ita'iga, afai e fa'ailoa mai le f e le aoga f(int) ma le void f(double), o le a lipotia e le cgo se mea sese nai lo le fa'atupuina o se fa'asologa o le vala'au le aoga f(0). E fou i lenei fa'asalalauga e fa'aleleia atili le iloa o lenei tulaga sese pe a fa'aalia fa'aaliga le fetaui i faila eseese. #67699.

Objdump

Ua lagolagoina nei e le meafaigaluega objdump le fa'a'ese'ese i luga ole 64-bit LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64), ma le S390X (GOARCH=s390x).

Vet

O le su'ega fou su'e su'esu'e lipoti fa'aletonu masani ile su'ega, fuzzer, fa'ailoga, ma fa'ata'ita'iga ta'utinoga i su'ega su'ega, e pei o igoa fa'aletonu, saini le aoga, po'o fa'ata'ita'iga e fa'amaumau ai fa'amatalaga e le o iai. O nisi o nei mea sese e ono mafua ai ona le manuia su'ega.

O le printf parser o lo'o i ai nei o lo'o lipotia mai fa'amatalaga mo vala'au o le fomu fmt.Printf(s), lea o le s o se manoa fa'asologa e le tumau e leai se isi finauga. O ia valaau e toetoe lava o taimi uma o se mea sese, talu ai o le tau o le s e mafai ona aofia ai le % uiga; fa'aaoga le fmt.Print nai lo. 60529. O lenei siaki e taumafai e suʻe mea i le code o loʻo i ai, ma o lea e naʻo le faʻaaogaina o le gagana (e pei ona faʻamaonia e le go directive o le go.mod file poʻo le `//go:build` faʻamatalaga) e le itiiti ifo i le Go 1.24, e aloese ai mai le faʻatupuina o taimi umi tuʻufaʻatasia malepe pe a faʻaleleia i le Go 1.24 toolchain.

O lo'o iai nei le buildtag analyzer o lo'o lipotia nei su'esu'ega pe a iai se fa'ailoga e le sa'o fa'atapula'a fau fa'asologa tuai Alu i le //go:build directive. Mo se faʻataʻitaʻiga, //go:build go1.23.1 e faʻatatau i se faʻamalologa; ae fa'aaoga //go:build go1.23. #64127.

O lo'o fa'ailoa mai e le au su'esu'e kopi loka o lo'o iai nei se su'esu'ega pe a fa'aalia se fesuiaiga i se fa'ailoga fa'atolu "mo", e pei o le mo i:= iter(); faia(i); i = sosoo (i) { … }, o loʻo i ai le sync.Locker, pei ole sync.Mutex. Alu 1.22 suia le amio o ia matasele e fatu ai se fesuiaiga fou mo faʻasalalauga taʻitasi, kopiina o tau mai le faʻasologa muamua; O lenei kopi e le saogalemu mo loka. #66387.

GOCACHEPROG

E mafai nei ona fa'atinoina le fa'aogaina o le cmd/go binary ma le su'ega fa'ata'ita'iga e ala i faiga a tamaiti e fa'atino ai se feagaiga JSON i le va o le cmd/go meafaigaluega ma le fa'agasologa o tamaiti ua ta'ua e le GOCACHEPROG environment variable. I le taimi muamua sa mo GOEXPERIMENT. O faʻamatalaga o le protocol e mafai ona vaʻaia i totonu fa'amaumauga.

Taimi e mae'a ai

Ole tele ole fa'aleleia ole fa'atinoga ole taimi fa'atino na fa'aitiitia ai le CPU ile 2-3% ile averesi ile seti o fa'ailoga fa'atusa. E ono fesuisuia'i i'uga e fa'atatau ile talosaga. O nei fa'aleleia e aofia ai le fa'atinoina o fa'afanua fou fa'avae i luga Laupapa Suetena, sili atu ona lelei le faʻasoaina o mea laiti manatua, ma se faʻatinoga fou i totonu o le mutex.

O le fa'atinoina o le fa'afanua fou ma le mutex ta'avale i totonu e mafai ona fa'agata e ala i le fa'atulagaina o GOEXPERIMENT=noswissmap ma GOEXPERIMENT=nospinbitmutex i le taimi fau, fa'asologa.

Tagata tu'ufa'atasi

Ua uma ona faʻasaina e le tagata faʻapipiʻi le faʻamalamalamaina o auala fou ma ituaiga tagata e taliaina na gaosia e cgo, ae na mafai ona faʻaogaina lenei faʻatapulaʻa e ala i se igoa faʻapitoa. Alu 1.24 o loʻo lipotia nei i taimi uma se mea sese pe a fai e faʻaalia e le tagata e taliaina se ituaiga cgo, pe tuusaʻo pe le tuusaʻo (e ala i se igoa igoa).

Sootaga

O lo'o fa'atupuina e le so'otaga se fa'amatalaga faufale GNU (ELF ulufale NT_GNU_BUILD_ID) i luga o fa'avae ELF ma se UUID (Mach-O load command LC_UUID) ile macOS e ala ile faaletonu. Ole ID faufale po'o le UUID e maua mai ile ID faufale ile Go. E mafai ona tape le mea lea i le fu'a -B leai se feso'ota'iga, po'o le fa'asili i le fu'a fa'afeso'ota'i -B 0xNNNN fa'atasi ai ma se tau o le hexadecimal fa'apitoa.

Si'itia

E pei ona taua i Alu 1.22 faʻamatalaga faʻamatalaga, Alu 1.24 nei mana'omia Alu 1.22.6 pe mulimuli ane e fa'apipi'i. O loʻo faʻamoemoeina e le au atinaʻe o le Go 1.26 o le a manaʻomia se faʻamalologa o le Go 1.24 pe mulimuli ane e taʻavale i fafo.

Faletusi masani

Fa'atonu-fa'atapula'a faiga faila avanoa

Ituaiga fou os.root Tuuina atu le gafatia e faʻatino ai faiga faila faila i totonu o se lisi faʻapitoa.

galuega tauave os.OpenRoot tatala le lisi ma toe foi mai os.root. Metotia i luga os.root galue i totonu o lena lisi ma aua le faatagaina auala e faasino i nofoaga i fafo atu o le lisi, e aofia ai ma latou e mulimuli i sootaga faʻatusa i fafo atu o le lisi. O metotia i luga o le os.Root e atagia mai ai le tele o gaioiga faila faila o loʻo maua i le os package, e aofia ai, mo se faʻataʻitaʻiga, os.Root.Tatala, os.Root.Create, os.Root.Mkdir и os.Root.Stat.

Fa'ailoga fou

Ua mafai nei e Fa'ailoga Fa'atatau ona fa'aogaina se auala e sili atu ona vave, fa'aitiitia le fa'aletonu su'ega.B.Loop e fa'ata'ita'i i luga o se fa'ailoga e pei o le b.Loop() {… } nai lo le fa'avasegaina o matasele masani e aofia ai le bN pei o le laina bN O lo'o ofoina mai ai ni fa'amanuiaga taua se lua:

  • O le galuega fa'ata'ita'i e fa'atino fa'atasi i le -count, o lea e na'o le tasi le fa'atinoina o le fa'atulagaga taugata ma le fa'amama.
  • O lo'o ola pea le fa'asologa o le vala'au ma fa'ai'uga, e taofia ai le tu'ufa'atasia mai le fa'amalieina atoatoa o le tino o le matasele.

Fa'alelei fa'amae'aina

Fa'ailoga fou runtime.AddCleanup o se faiga fa'amae'aina e sili atu ona fetu'una'i, sili atu ona lelei, ma fa'aitiitia fa'aletonu nai lo runtime.SetFinalizer. E fa'apipi'i e AddCleanup se galuega fa'amama i se mea o le a fa'atino i le taimi lava e le maua ai le mea. Ae ui i lea, e le pei o SetFinalizer, e tele faʻamama e mafai ona faʻapipiʻi i se mea e tasi, faʻamamaina e mafai ona faʻapipiʻi i totonu o faʻailoga, faʻamama e le masani ona mafua ai le gaʻo pe a fai mea e fai se taamilosaga, ma faʻamamaina e le faʻatuai ai le tuʻuina atu o le mea poʻo mea e faasino i ai. O le tulafono fou e tatau ona sili le AddCleanup nai lo SetFinalizer.

Pepa vaivai fou

afifi fou vaivai maua ai fa'ailoga vaivai.

O fa'ailoga vaivai ose fa'ata'ita'iga maualalo e tu'uina atu mo le fa'atupuina o fausaga e fa'amana'o lelei e pei o lomifefiloi vaivai mo fa'afanua fa'atatau, lomifefiloi fa'acanonicalization mo so'o se mea e le o aofia i se afifi. tulaga ese, ma ituaiga eseese o caches. Ina ia lagolagoina nei faʻaoga tulaga, o lenei faʻasalalauga e maua ai foi runtime.AddCleanup и maphash.Faatusatusa.

Crypto/mlkem afifi fou

afifi fou crypto/mlkem fa'atino ML-KEM-768 ma ML-KEM-1024.

O le ML-KEM o se fa'asologa o fefa'ataua'iga autu, sa ta'ua muamua o Kyber ma fa'amaoti i FIPS 203.

O afifi fou crypto/hkdf, crypto/pbkdf2 ma crypto/sha3

afifi fou crypto/hkdf fa'atinoina le HMAC-fa'avae "Extract-and-Expand" galuega fa'avae autu HKDF e pei ona fa'amatalaina i totonu. RFC 5869.

afifi fou crypto/pbkdf2 fa'atinoina le fa'aupuga fa'aupuga fa'avae autu galue PBKDF2 e pei ona fa'amatalaina i RFC 8018.

afifi fou crypto/sha3 fa'atinoina le SHA-3 hash function ma le SHAKE ma le cSHAKE fa'alauteleina galuega e pei ona fa'amatalaina i totonu FIPS 202.

O afifi uma e tolu e fa'avae ile golang.org/x/crypto/… packages o iai.

FIPS 140-3 Tausi

O lenei faʻasalalauga e aofia ai se seti fou o faiga e faʻamautinoa ai le tausisia o FIPS 140-3.

O le Go crypto module o se seti o pusa faletusi masani i totonu o loʻo faʻaaogaina manino e faʻatino ai algorithms faʻamaonia FIPS 140-3. O talosaga e le mana'omia ni suiga e fa'aoga ai le Go crypto module mo algorithms fa'amaonia.

Ole suiga ole siosiomaga fou GOFIPS140 e mafai ona faʻaogaina e filifili ai le faʻasologa o le Go crypto module e faʻaoga i se fale. Fou GODEBUG seti fips140 e mafai ona fa'aoga e fa'aagaaga ai le FIPS 140-3 mode i le ta'avale.

Go 1.24 e aofia ai le Go crypto module v1.0.0, lea o loʻo faʻataʻitaʻiina nei i le CMVP-accredited lab.

Fa'ata'ita'iga fou su'ega su'ega/synctest

Fua fa'ata'ita'iga fou su'ega/synctest Tuuina atu le lagolago mo le su'eina o le code concurrent.

  • galuega tauave synctest.run fa'atautaia se vaega o goroutine i totonu o se "bubble" tu'ufua. I le pulupulu o le galuega afifi taimi galue i uati sese.
  • Galuega tauave synctest.faatali fa'atali se'i poloka uma goroutine i le pupu o lo'o iai nei.

E mafai ona maua fa'amatalaga i totonu o fa'amaumauga o afifi.

O le pusa synctest e fa'ata'ita'i ma e tatau ona fa'agaoioia e ala ile seti GOEXPERIMENT=synctest. E ono suia le afifi API i fa'asalalauga i le lumana'i. IN #67434 E mafai ona e va'ai atili fa'amatalaga ma tu'uina atu fa'amatalaga.

O suiga laiti i le faletusi

archive

Le (*Writer.AddFS) fa'atinoga i archive/zip ma archive/tar o lo'o tusia nei le ulutala fa'atonu mo se fa'atonuga avanoa.

togi

Faʻapipiʻi togi faʻaopoopo nisi galuega e galulue faʻatasi ma iterators:

  • laina Toe fa'afo'i mai se fa'ata'ita'i i luga o manoa fou-vaevae i totonu ole fasi paita.
  • SplitSeq toe fa'afo'i mai se fa'ata'ita'i i luga o fa'aupuga uma o se fasi paita e tu'u'ese'ese e se va'aiga.
  • SplitAfterSeq toe fa'afo'i mai se fa'ata'ita'i i luga o fa'aupuga o se fasi paita, vaelua pe a uma ona tupu ta'itasi o le vavae.
  • FieldsSeq toe fa'afo'i mai se fa'ata'ita'i i luga o fa'ailoga o se fasi paita fa'ata'amilo i fa'asologa o mataitusi avanoa, e pei ona fa'amatalaina unicode.IsSpace
  • FieldsFuncSeq toe fa'afo'i mai se fa'amatalaga i luga o fa'asologa o le fasi byte i fa'asologa o fa'ailoga Unicode code e fa'amalieina ai le predicate.

crypto/aes

Fa'afo'i tau NewChipher ua le toe fa'aaogaina le NewCTR, NewGCM, NewCBCEncrypter, ma NewCBCDecrypter metotia. O nei metotia e le'i fa'amauina ma e le'o maua i fausaga uma. O lea la le uiga pupuni e tatau ona pasi sa'o i galuega talafeagai crypto/cipher. I le taimi nei, o loʻo siaki pea e le crypto / cipher nei metotia i luga o tau Block, e ui lava e le o toe lagolagoina e le faletusi masani.

crypto/cipher

Fa'ailoga fou NewGCMWithRandomNonce toe fo'i mai AEAD, lea e fa'atinoina le AES-GCM e ala i le fa'atupuina o se nonce fa'afuase'i i le taimi o Fa'amaufa'ailoga ma fa'apipi'i i le fa'ailoga.

Реализация au, toe foi mai FouCTR pe a faʻaaogaina ma crypto/aes i le taimi nei e tele taimi vave i amd64 ma arm64.

NewOFB, FouCFBEncrypter и FouCFBDecrypter ua fa'ailoa mai nei ua le toe aoga. OFB ma CFB modes e le faʻamaonia, lea e masani ona faʻatagaina osofaʻiga malosi e faʻaogaina ma toe faʻaleleia tusitusiga manino. O talosaga e fautuaina e faʻaaoga AEAD i le taui. Afai e le fa'amaonia le faiga au e manaʻomia, e mafai ona faʻaaogaina FouCTR i le taui.

crypto/ecdsa

PrivateKey.Sign ua faia nei se saini deterministic e tusa ai ma RFC 6979, pe afai o le puna fa'afuase'i e leai.

crypto/md5

Fa'afo'i tau md5.fou, ua faʻaaogaina nei foʻi le faʻaoga encoding.binaryappender.

crypto/rand

galuega tauave faitau ua mautinoa nei e leai ni faaletonu. Afai e maua le Read i se mea sese a o faitau tagata faitautusi, o le a faamuta tumau le polokalame. Manatua o le fa'aletonu o le Reader ua fa'amaumauina e galue manuia i taimi uma, o lea e tatau ona a'afia ai le suiga lea na'o polokalame e fa'amalo ai le suiga o le Reader. O le tasi tuusaunoaga o Linux kernels aʻo leʻi oʻo i le 3.17, lea o loʻo tatalaina pea le Reader le lelei / dev / urandom ma e ono toilalo.

I luga ole Linux 6.11 ma mulimuli ane, ua fa'aaoga nei e le Reader le getrandom system call e ala i vDSO. E tele taimi e sili atu ai le saoasaoa, e masani lava mo nai faitauga laiti.

I luga o le OpenBSD Reader o loʻo faʻaaoga nei arc4random_buf(3).

Fa'ailoga fou matua e mafai nei ona fa'atupuina fa'amaufa'ailoga fa'amautu fa'ailoga fa'asologa.

crypto/rsa

GenerateKey toe fa'afo'i mai nei se mea sese pe a mana'omia se umi ki lalo ifo o le 1024 bits. Fa'ailoga uma, Fa'amaonia, Encrypt, ma Decrypt auala ua toe fa'afo'i mai ai se mea sese pe a fa'aoga i se lapo'a e itiiti ifo i le 1024 bits. O ia ki e le saogalemu ma e le tatau ona faʻaaogaina. Fa'atulaga GODEBUG rsa1024min = 0 toe faʻafoʻisia le amio tuai, ae o le Go developers e fautuaina le faia o lenei mea pe a manaʻomia ma naʻo suʻega, mo se faʻataʻitaʻiga e ala i le faʻaopoopoina o le laina //go:debug rsa1024min=0 i le faila suʻega. Fou faataitaiga E maua ai e GenerateKey se ki fa'ata'ita'iga masani 2024-bit fa'aoga faigofie.

Ua sili atu nei le saogalemu ma sili atu ona lelei le telefoni PrivateKey.Precompute i PrivateKey.Validate. Ua vave nei le fa'avasegaina pe a fa'atumu se vaega PrecomputedValues, mo se faʻataʻitaʻiga pe a aveese se ki mai JSON.

Ua teena nei e le afifi nisi ki le aoga e tusa lava pe le valaauina Validate, ma GenerateKey e mafai nei ona toe fa'afo'i mea sese fou mo fa'apogai fa'afuase'i malepe. fanua Taimi и mua'i fuafuaina fausaga PrivateKey ua faʻaaogaina nei ma faʻamaonia e tusa lava pe o loʻo misi nisi o tau. O loʻo iai foʻi suiga ile crypto/x509 mo le faʻavasegaina ma le aveeseina o ki RSA, o loʻo faʻamatalaina i lalo.

SainiPKCS1v15 и Fa'amaoniaPKCS1v15 lagolago nei SHA-512/224, SHA-512/256 ma SHA-3.

GenerateKey o loʻo faʻaaogaina nei se auala eseʻese e faʻatupu ai le faʻasalalauga tumaoti (Carmichael galuega nai lo le galuega a Euler). O talosaga e seasea maua e toe fa'afo'i ai ki mai na'o numera muamua e mafai ona maua ai i'uga 'ese'ese ae fetaui.

O fa'agaioiga i ki fa'alaua'itele ma ki fa'apitoa ua o'o atu nei i le fa'alua fa'atele vave ile wasm.

crypto/sha*

crypto/maaleale

Fa'ailoga fou Faatasi ai maDataIndependentTime fa'atagaina le tagata fa'aoga e fa'atino se galuega fa'atasi ai ma fa'ata'ita'iga fa'apitoa fa'apitoa e mafai ona fa'amautinoa e le suia nisi fa'atonuga e fa'atatau i le taimi o le tau fa'amaumauga. E mafai ona fa'aoga lenei mea e fa'amautinoa ai o le code na tusia e tamo'e i taimi uma e le'i fa'atumauina e galuega fa'atino-tulaga ina ia fa'agasolo i taimi fesuisuia'i. I le taimi nei WithDataIndependentTiming fa'aoga le PSTATE.DIT bit i le arm64 ma e leai se mea e faia i isi fausaga uma. Fa'atulaga GODEBUG dataindependenttiming=1 e mafai ai le DIT mode mo le polokalame Go atoa.

iʻuga XORBytes e tatau ona so'o atoatoa pe leai fo'i ma mea e fa'aoga. I le taimi muamua o le amio e leʻi faʻamalamalamaina i se isi itu, ae o le taimi nei o le a popole XORBytes.

crypto/tls

Ua lagolagoina nei e le server TLS le Encrypted Client Hello (ECH). O lenei vaega e mafai ona faʻaogaina e ala i le faʻatumu o le fanua. Config.EncryptedClientHelloKeys.

Ose Mechanism Fetufaaiga Fou Post-Quantum Key X25519MLKEM768 ua lagolagoina nei ma mafai e ala i le faaletonu pe a Config.CurvePreferences e leai. Fa'atulaga GODEBUG tlsmlkem=0 toe faafoi le faaletonu.

Lagolago mo le fa'ata'ita'iga X25519Kyber768Draft00 fesuiaiga autu ua aveese.

O le fa'atonuga fa'atauga autu o lo'o fa'atautaia atoa e le pusa crypto/tls. Poloaiga Config.CurvePreferences ua le amana'ia nei ma o mea o lo'o i totonu e na'o le fa'aaogaina e iloa ai po'o fea fefa'ataua'iga autu e aofia pe a fa'atumu le fanua.

fanua fou ClientHelloInfo.Extensions Lisi le lisi o fa'amatalaga fa'aopoopo na maua i le fe'au Talofa Client. E mafai ona aoga lenei mea mo le lolomi tamatamai lima o tagata TLS.

crypto/x509

Fa'atulaga GODEBUG x509sha1 ua aveese. Tusipasi.Verify ua le toe lagolagoina saini fa'avae SHA-1.

OID ua fa'atinoina nei feso'ota'iga encoding.binaryappender и encoding.TextAppender.

Ua suia le fanua o faiga fa'avae tusi pasi mai Certificate.PolicyIdentifiers i Tusipasi. Faiga Faavae. A fa'asalalau tusi pasi, o le a fa'atumu uma fanua e lua, ae a fai se faiga fa'avae tusipasi, o le a 'ave'esea mai le Tusi Fa'ailoga. Faiga Fa'avae nai lo Certificate.PolicyIdentifiers. E mafai ona toe fa'afo'i le suiga lea. GODEBUG seti x509usepolicies=0.

CreateCertificate o le a fa'atupuina nei se numera fa'asologa e fa'aaoga ai le RFC 5280 auala fa'amalieina pe a pasia se fanua fa'ata'ita'i Tusipasi.SerialNumber leai, nai lo le pa'u.

Tusi Faamaonia.Verify o loʻo lagolagoina nei le faʻamaoniaina o faiga faʻavae e pei ona faʻamatalaina i le RFC 5280 ma le RFC 9618. New field VerifyOptions.CertificatePolicies e mafai ona seti i se seti o faiga faavae e talia OIDs. E na'o filifili tusi faamaonia o lo'o iai kalafi fa'akomepiuta aoga e toe fa'afo'i mai Tusi Faamaonia.Verify.

MarshalPKCS8PrivateKey ua toe fa'afo'i mai se mea sese nai lo le toe aumai o se ki RSA le aoga. (MarshalPKCS1PrivateKey e leai se mea e toe fo'i mai ma o ana amio pe a tu'uina atu ki e le aoga e tumau pea le le fa'amalamalamaina.)

ParsePKCS1PrivateKey и ParsePKCS8PrivateKey faʻaaoga nei ma faʻamaonia le faʻaogaina o le CRT, o lea e mafai ai ona teena ki RSA le aoga na talia muamua. Fa'aoga GODEBUG faatulagaga x509rsacrt=0 toe fo'i i le toe fa'atulagaina o tau o le CRT.

debug/elf

Faʻapipiʻi debug/elf Fa'aopoopoina le lagolago mo le fa'afoeina o fa'ailoga fa'ailoga i faila malosi ELF (Executable and Linkable Format). Metotia fou File.DynamicVersions Toe fa'afo'i mai se lisi o fa'aliliuga malosi fa'amatalaina i se faila ELF. Metotia fou File.DynamicVersionNeeds Toe fa'afo'i se lisi o fa'aliliuga malosi e mana'omia e lenei faila ELF o lo'o fa'amatalaina i isi mea ELF. Mulimuli ane, fanua fou Faailoga.HasVersion и Symbol.VersionIndex fa'ailoa mai le fa'ailoga o le fa'ailoga.

encoding

E lua feso'ota'iga fou TextAppender и BinaryAppender na fa'aofi mai e fa'aopoopo se tusitusiga po'o se fa'atusa fa'alua o se mea i se fasi paita. O nei feso'ota'iga e maua ai le fa'atinoga tutusa ma TextMarshaler и BinaryMarshaler, ae nai lo le tu'ufa'atasia o se fasi vaega fou i taimi ta'itasi, latou te fa'apipi'i sa'o fa'amaumauga i se fasi pepa o iai. O nei fesoʻotaʻiga o loʻo faʻatinoina nei e ituaiga faletusi masani ua uma ona faʻaaogaina TextMarshaler ma / poʻo BinaryMarshaler.

encoding/json

Pe a fauina, o le fausaga fanua ma le filifiliga fou omitzero i le fausaga fanua tag o le a aveesea pe afai o lona tau e zero. Afai o le ituaiga fanua o loʻo i ai se IsZero() bool method, o le a faʻaaogaina e fuafua ai pe leai le tau. A leai o le tau o le a zero pe afai null tau mo lona ituaiga. O le omitzero field tag e sili atu ona mama ma e itiiti ifo le mea sese nai lo le fa'a'ole'ole pe a fa'amoemoe e aveese fa'atauga le aoga. Aemaise lava, e le pei o le omitempty, omitzero aveese zeros taimi.taimi tulaga taua, lea o se punavai masani o faafitauli.

Afai o lo'o fa'amaonia uma le fa'aoga ma le omitzero, o le a fa'aumatia le fanua pe a gaogao le tau pe leai (po'o mea uma e lua).

UnmarshalTypeError.Field ua aofia ai nei fausaga fausia e maua atili ai faamatalaga sese.

alu/ituaiga

O fa'amaumauga uma e alu/ituaiga e fa'aalia ai fa'asologa o paga o metotia, e pei o Len() int ma At(int) T, o lo'o iai fo'i nei metotia e toe fa'afo'i ai fa'amatalaga, fa'ataga fa'ailoga faigofie pei o lenei:

params := fn.Type.(*types.Signature).Params() for i := 0; i < params.Len(); i++ { fa'aoga(params.At(i)) }

I luga o lenei:

mo param : = laina fn.Signature().Params().Variables() { use(param) }

Metotia: Interface.EmbeddedTypes Interface.ExplicitMethods Interface.Metotia MethodSet.Metofa Fa'aigoa.Metotia Avanoa.Tamaiti Fa'a.Fa'ato'aga Tuple.Variables TypeList.Types TypeParamList.TypeParams Iuni.Tuutuuga

hash/*

log/slog

Fou DiscardHandler ose tagata e fa'aaogaina e le mafai lava ma e fa'ate'aina i taimi uma ana galuega.

Laʻasaga и LevelVar fa'atino nei le atina'e encoding.TextAppender.

numera/*

upega

FaalogoCondig fa'aaoga nei le MPTCP e ala i le fa'aletonu i luga o faiga o lo'o lagolagoina (i le taimi nei na'o Linux).

IP ua fa'atino nei le fa'aoga encoding.TextAppender.

upega/http

Ua suia le tapulaa feʻaveaʻi i le mauaina 1xx faʻamatalaga tali i le tali atu i le talosaga. I le taimi muamua o le a taofia ai le talosaga ma toe faʻafoʻi se mea sese pe a uma ona maua le sili atu i le 5 1xx tali. Ole mea lea ole taimi nei e toe fa'afo'i mai ai se mea sese pe a fai o le aofa'i atoa o tali uma 1xx e sili atu i le seti config Transport.MaxResponseHeaderBytes.

E le gata i lea, pe a iai se matau e siaki ai se talosaga net/http/httptrace.ClientTrace.Got1xxResponse, o lea e leai se tapulaa i le aofaʻi o tali 1xx. O le matau Got1xxResponse e mafai ona toe fa'afo'i se mea sese e taofi ai le talosaga.

feʻaveaʻi и Tagata faigaluega ua i ai nei se fanua HTTP2 e mafai ai ona faʻatulagaina le faʻatulagaina o HTTP/2 protocol settings.

fanua fou Server.Protocols и Felauaiga saunia se auala faigofie e fetuutuunai ai le HTTP protocols e faʻaogaina e le server poʻo le tagata o tausia.

E mafai ona fa'atulagaina le 'au'aunaga ma le kalani e lagolago feso'ota'iga HTTP/2 e le'i fa'ailogaina.

Pe a Server.Protocols o lo'o iai UnencrypterHTTP2, o le a talia e le 'au'aunaga HTTP/2 feso'ota'iga i ports e le'i fa'ailogaina. E mafai e le 'au'aunaga ona talia uma HTTP/1 ma HTTP/2 e le'i fa'ailogaina i luga o le taulaga e tasi.

Pe a Felauaiga o lo'o i ai le UnencryptedHTTP2 ma e leai se HTTP1, o le felauaiga o le a fa'aogaina le HTTP/2 e le'i fa'ailogaina mo tuatusi http://. Afai e fa'atulaga se felauaiga e fa'aoga uma HTTP/1 ma HTTP/2 e le'i fa'ailogaina, o le a fa'aogaina le HTTP/1.

Lagolago mo le HTTP/2 e le'i fa'ailogaina o lo'o fa'aogaina le "HTTP/2 ma le A'oa'oina i Luma" (RFC 9113, vaega 3.3). Le fa'aulutala fa'agata "Fa'aleleia: h2c" e le'o lagolagoina.

upega/netip

Addr, AddrPort и Faʻauʻupu fa'atino nei feso'ota'iga encoding.binaryappender и encoding.TextAppender.

net/url

URL o lea ua fa'atinoina fo'i le atina'e encoding.binaryappender.

os/tagata fa'aoga

I luga ole Windows i le taimi nei e mafai nei ona fa'aoga ile Windows Nano Server. Ua faʻafouina le faʻatinoga e aloese mai le faʻaaogaina o galuega mai le NetApi32 faletusi, lea o loʻo misi mai le Nano Server.

I luga ole Windows i le taimi nei, Suʻe и LookupId o lo'o lagolagoina nei fa'amatalaga o auaunaga fa'aoga i totonu:

  • NT AUTHORITYSYSTEM
  • NT AUTHORITY LOCAL SERVICE
  • NT AUTHORITYNETWORK SERVICE

I luga ole Windows i le taimi nei na matua fa'avavevave pe a fa'apipi'i le tagata o lo'o i ai nei i se vaega fa'agesegese, o se tulaga masani mo le tele o tagata fa'apisinisi. O le faʻatinoga fou o le faʻatinoga o loʻo i ai nei i le faʻasologa o milliseconds, faʻatusatusa i le faʻatinoga muamua, lea e ono umi ni nai sekone, e oʻo lava i minute, e faʻamaeʻa ai.

I luga ole Windows i le taimi nei toe fa'afo'i mai nei le tagata e ona le faagasologa pe a fa'afoliga le filo o lo'o iai i se isi tagata fa'aoga. I le taimi muamua na toe fo'i mai ai se mea sese.

regexp

Regexp ua fa'atino nei le fa'aoga encoding.TextAdapter.

taʻaloga

galuega tauave GOROOT ua le toe faaaogaina nei. I si'osi'omaga fou, e tatau ona e mana'o e fa'aoga le ala faiga e fa'ailoa ai le "go" binary, ma fa'aaoga le go env GOROOT e fa'ailoa ai GOROOT.

manoa

Faʻapipiʻi manoa faʻaopoopo nisi galuega mo le galulue faʻatasi ma iterators:

  • laina Toe fa'afo'i se fa'asologa i luga o laina fou-vaevae i se manoa.
  • SplitSeq toe fa'afo'i mai se fa'ata'ita'i i luga o so'a uma o se manoa e tu'u'ese'ese e se va'a.
  • SplitAfterSeq toe fa'afo'i mai se fa'ata'ita'i i luga o so'a o se manoa, vaelua pe a mae'a ta'itasi o le vavae.
  • FieldsSeq toe fa'afo'i mai se fa'amatalaga i luga o so'a o se manoa fa'ata'amilo i fa'asologa o mataitusi papa'e, e pei ona fa'amatalainaunicode.IsSpace
  • FieldsFuncSeq Toe fa'afo'i mai se fa'atonu i luga o so'a o manoa i fa'asologa o fa'ailoga Unicode code e fa'amalieina ai se fa'ailoga.

Sync

Реализация sync.map ua suia e faaleleia ai le faatinoga, aemaise lava mo suiga o lomifefiloi. Mo se fa'ata'ita'iga, o le fefinaua'i o le seti fa'amavae e fa'aitiitia ai lomifefiloi lapopo'a, ma e le toe mana'omia ai se taimi fa'aputu e maua ai le uta o lomifefiloi maualalo.

Afai e te feagai ma ni faʻafitauli, seti GOEXPERIMENT=nosynchashtriemap i le taimi o le fausiaina e toe foʻi i tua i le faʻatinoga tuai ma faʻamolemole fa'atumu le fomu fa'afitauli.

tofotofoga

Metotia fou T.Si'osi'omaga и B.Si'osi'omaga toe fa'afo'i se fa'amatalaga e lafoa'i pe a mae'a le su'ega ma a'o le'i fa'atino galuega fa'amama o le su'ega.

Metotia fou T.Chdir и B.Chdir e mafai ona fa'aoga e sui ai le lisi galue mo le umi o se su'ega po'o se fa'ailoga.

tusitusiga/fa'ata'ita'iga

O lo'o lagolagoina nei e fa'ata'ita'iga le range-over-func ma le range-over-int.

taimi

taimi ua fa'atinoina nei feso'ota'iga encoding.binaryappender и encoding.TextAppender.

Ports

Linux

E pei ona sa i ai faasilasila E tusa ai ma le Go 1.23 faʻasalalauga faʻamatalaga, Go 1.24 manaʻomia Linux kernel version 3.2 poʻo mulimuli ane.

Darwin

Alu 1.24 o le faʻasalalauga mulimuli lea o le a taʻavale i macOS 11 Big Sur. Alu 1.25 o le a manaʻomia macOS 12 Monterey pe mulimuli ane.

Upega tafaʻilagi

O le go:wasmexport compiler directive ua fa'aopoopoina i Go programs e fa'atau atu galuega i le WebAssembly host.

I le WebAssembly System Interface Preview 1 (GOOS=wasip1 GOARCH=wasm), Go 1.24 lagolago le fausiaina o se polokalama Go e pei o reactor/faletusi e ala i le faʻamalamalamaina o le fuʻa fausia -buildmode=c-shared.

Ua fa'atagaina nei le tele o ituaiga o finauga po'o ni fa'ai'uga mo le go:wasmimport functions. Aemaise lava, bool, manoa, uintptr ma faʻailoga i nisi ituaiga e faʻatagaina (vaʻai auiliiliga i fa'amaumauga), faʻatasi ai ma le 32-bit ma le 64-bit integer ma ituaiga faʻafefeteina, ma le saogalemu. Pointer, lea ua uma ona faʻatagaina. O nei ituaiga e fa'atagaina fo'i e fai ma fa'aupuga po'o fa'ai'uga mo le go:wasmexport galuega.

O faila lagolago mo WebAssembly ua siitia i le lib/wasm mai misc/wasm.

O le tulagavae manatua muamua e matua faʻaititia, aemaise lava mo faʻaoga laiti WebAssembly.

pupuni

O le 32-bit windows/arm port (GOOS=windows GOARCH=arm) ua fa'ailoga ua gau. Fa'amatalaga i totonu #70705

puna: linux.org.ru

Faʻatau talimalo faʻatuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers 🔥 Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster