Umbiko Wokuthuthukiswa Kwe-FreeBSD wekota yokuqala ka-2020

eshicilelwe umbiko ngokuthuthukiswa kwephrojekthi yeFreeBSD kusukela ngoJanuwari kuya kuNdasa wezi-2020. Phakathi kwezinguquko singaziphawula:

  • Imibuzo ejwayelekile kanye nesistimu
    • Kukhishwe isethi ye-GCC compiler esihlahleni somthombo we-FreeBSD-CURRENT, kanye nezinsiza ezingasetshenzisiwe ze-gperf, gcov kanye ne-gtc (devicetree compiler). Zonke izinkundla ezingasekeli i-Clang zishintshelwe ekusebenziseni amathuluzi okwakha angaphandle afakwe ezikhumulweni. Isistimu eyisisekelo ithumele ukukhishwa okuphelelwe yisikhathi kwe-GCC 4.2.1, futhi ukuhlanganiswa kwezinguqulo ezintsha akwenzekanga ngenxa yokushintshwa kwe-4.2.2 kuya kwelayisense ye-GPLv3, ebhekwe njengengafanelekile kuzingxenye eziyisisekelo ze-FreeBSD. Ukukhishwa kwamanje kwe-GCC, okuhlanganisa i-GCC 9, kusengafakwa kusukela kumaphakheji nezimbobo.
    • Ingqalasizinda yokulingisa emvelweni Linux (Linuxulator) yengeze ukwesekwa kwekholi yesistimu ye-sendfile, imodi ye-TCP_CORK (edingekayo ku-nginx), kanye nefulegi le-MAP_32BIT (ixazulula inkinga ngokusebenzisa amaphakheji nge-Mono kusuka ku- Ubuntu I-Bionic). I-DNS ixazulula izinkinga lapho kusetshenziswa i-glibc entsha kune-2.30 (isibonelo, kusukela ku- CentOS 8).
      Ingqalasizinda yokuhlanganiswa okuqhubekayo inikeza ikhono lokuqhuba imisebenzi yokuphatha i-LTP (Linux Iphrojekthi Yokuhlola) ephethwe yi- Linuxi-ulator yokuhlola ukuthuthukiswa okwenziwe kukhodi ukuze isekele LinuxUkuhlolwa okucishe kube ngu-400 kuyahluleka futhi kudinga ukulungiswa (amanye amaphutha abangelwa yimiphumela engamanga, amanye adinga ukulungiswa okuncane, kanti amanye adinga ukwengeza ukwesekwa kwezingcingo ezintsha zesistimu). Ukuhlanzwa kwekhodi sekuqediwe. Linuxi-ulator futhi yenza kube lula ukulungisa amaphutha. Ama-patches asekela izimfanelo ezinwetshiwe kanye nocingo lwesistimu ye-fexecve aselungisiwe kodwa awakabuyekezwa.
    • Imihlangano yeqembu elisebenzayo eyakhiwe ukuze kwenziwe ukuthuthwa kwamakhodi omthombo kusuka ohlelweni oluphakathi nendawo lokulawula umthombo Ukuguqulwa ukuya ohlelweni oluhlukaniselwe i-Git kuyaqhubeka. Umbiko oneziphakamiso zokufuduka usezinhlelweni zokulungiswa.
    • В rtld (isixhumanisi sesikhathi sokusebenza) imodi yokusebenzisa okuqondile ethuthukisiwe (“/libexec/ld-elf.so.1 {path} {arguments}”).
    • Iphrojekthi ye-FreeBSD kernel fuzzing esebenzisa uhlelo lwe-syzkaller iyaqhubeka nokukhula. Phakathi nesikhathi sokubika, izinkinga ku-network stack kanye nekhodi yokusebenza ngamathebula encazelo yamafayela atholwe kusetshenziswa i-syzkaller zaxazululwa. Ngemva kokuxilongwa kwamaphutha, izinguquko zengezwe ku-SCTP stack ukuze kube lula ukulungisa amaphutha. Imithetho yokuhlonza ukuhlehla okungenzeka yengezwe kusethi ye-stress2. Ukusekelwa kokuhlolwa kwe-fuzzing kwamakholi amasha esistimu kuye kwengezwa, kufaka phakathi i-copy_file_range(), __realpatat(), kanye namakholi e-Capsicum subsystem. Umsebenzi uyaqhubeka ukumboza ungqimba lokulingisa ngokuhlolwa kwe-fuzzing. LinuxAmaphutha atholakale emibikweni yakamuva ye-Coverity Scan ahlaziywe futhi alungiswa.
    • Isistimu yokuhlanganisa eqhubekayo ishintshele ekwenzeni zonke izivivinyo zegatsha elikhulu kuphela isebenzisa i-clang/lld. Lapho kuhlolelwa i-RISC-V, ukwakheka kwesithombe sediski esiphelele kuqinisekiswa ukuze kwenziwe izivivinyo ku-QEMU kusetshenziswa i-OpenSBI. Kwengezwe imisebenzi emisha yokuhlola izithombe nemishini ebonakalayo ye-powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Umsebenzi uyaqhubeka wokudlulisa i-Kyua test suite isuka emachwebeni (devel/kyua) iye ohlelweni oluyisisekelo ukuze kuxazululwe izinkinga (amaphakheji afakwa kancane kakhulu) avela lapho kusetshenziswa i-Kyua ekwakhiweni okusha, ukuthuthukiswa okwenziwa kusetshenziswa i-emulator noma I-FPGA. Ukuhlanganiswa ohlelweni oluyisisekelo kuzokwenza kube lula kakhulu ukuhlola amapulatifomu ashumekiwe kanye nokuxhumana nezinhlelo zokuhlanganisa eziqhubekayo.
    • Iphrojekthi yethuliwe yokuthuthukisa ukusebenza komshayeli webhuloho lenethiwekhi if_bridge, esebenzisa i-mutex eyodwa ukukhiya idatha yangaphakathi, engavumeli ukuzuza ukusebenza okufunayo kumasistimu anenani elikhulu lezindawo zasejele noma imishini ebonakalayo ehlanganiswe kunethiwekhi eyodwa. Kulesi sigaba, ukuhlolwa kwengezwe kukhodi ukuvimbela ukuhlehla ukuthi kwenzeke ngesikhathi sesimanjemanje sokusebenza ngezingidi. Amathuba okusebenzisa i-ConcurrencyKit ukufanisa izibambi zokudlulisa idatha (bridge_input(), bridge_output(), bridge_forward(), ...) kuyacatshangelwa.
    • Kwengezwe ikholi entsha yesistimu ye-sigfastblock ukuvumela uchungechunge ukuthi lucacise ibhulokhi yememori yesibambi sesignali esisheshayo ukuthuthukisa ukusebenza kwezibambi ezihlukile.
    • I-kernel yengeza usekelo lwemiyalelo ye-athomu ye-LSE (Large System Extension) esekelwa amasistimu e-ARMv8.1. Le miyalo iyadingeka ukuze kuthuthukiswe ukusebenza uma isebenza kumabhodi e-Cavium ThunderX2 kanye ne-AWS Graviton 2. Izinguquko ezingeziwe zithola usekelo lwe-LSE futhi zinike amandla ngokuguquguqukayo ukusetshenziswa kwe-athomu ngokusekelwe kuzo. Ngesikhathi sokuhlolwa, ukusetshenziswa kwe-LSE kwenze kwaba nokwenzeka ukunciphisa isikhathi sokucubungula esichithwa lapho kuhlanganiswa i-kernel ngo-15%.
    • Ukuthuthukiswa kokusebenza kwenziwe futhi ukusebenza kwekhithi yamathuluzi kunwetshiwe kumafayela asebenzisekayo ngefomethi ye-ELF.
      Ukwengezwa okungeziwe kokulondolozwa kwemininingwane ye-DWARF yokulungisa iphutha, kuxazululwe izinkinga kuzinsiza ze-elfcopy/objcopy, kwengezwe ukucubungula kwe-DW_AT_range,
      i-readelf isebenzisa ikhono lokunquma amafulegi angu-PROTMAX_DISABLE, STKGAP_DISABLE kanye ne-WXNEEDED, kanye ne-Xen ne-GNU Build-ID.
  • Ukuphepha
    • Ukuze kuthuthukiswe ukusebenza kwe-FreeBSD ezindaweni zamafu e-Azure, umsebenzi uyaqhubeka ukuze kuhlinzekwe ukusekelwa kwendlela ye-HyperV Socket, evumela ukusetshenziswa kwe-socket interface yokusebenzelana phakathi kwesistimu yezivakashi nendawo yokusingatha ngaphandle kokumisa inethiwekhi.
    • Uyaqhubeka umsebenzi wokuhlinzeka ngezakhiwo eziphindaphindwayo ze-FreeBSD, okwenza kube nokwenzeka ukuqinisekisa ukuthi amafayela asebenzisekayo ezingxenye zesistimu ahlanganiswe ngokuqondile ukusuka kumakhodi omthombo amenyezelwe futhi awaqukethe izinguquko ezidlulele.
    • Amandla okulawula ukufakwa kwezinye izindlela zokuvikela (ASLR, PROT_MAX, igebe lesitaki, i-W+X mapping) ezingeni lezinqubo zomuntu ngamunye lengezwe kunsiza ye-elfctl.
  • Isitoreji namasistimu wefayela
    • Umsebenzi uyaqhubeka ukuze kusetshenziswe ikhono le-NFS lokusebenzisa isiteshi sokuxhumana esibethelwe esisekelwe ku-TLS 1.3, esikhundleni sokusebenzisa i-Kerberos (sec=krb5p mode), ekhawulelwe ekubetheleni imilayezo ye-RPC kuphela futhi isetshenziswa kusofthiwe kuphela. Ukuqaliswa okusha kusebenzisa isitaki se-TLS esinikezwe i-kernel ukunika amandla ukusheshisa kwehadiwe. Ikhodi ye-NFS phezu kwe-TLS isicishe ilungele ukuhlolwa, kodwa isadinga umsebenzi ukuze isekele izitifiketi zeklayenti esayiniwe futhi ivumelanise isitaki se-kernel ye-TLS ukuze ithumele idatha ye-NFS (iziqephu zokwamukela sezilungile).
  • Usekelo Lwezingxenyekazi zekhompuyutha
    • Umsebenzi uyaqhubeka wokwengeza ukwesekwa kwe-Chinese x86 CPU Hygon esekelwe kubuchwepheshe be-AMD;
    • Njengengxenye ye-CheriBSD, imfoloko ye-FreeBSD yokwakhiwa kweprosesa yocwaningo I-CHERI (Iziqondiso Ze-RISC Ezithuthukisiwe Ze-Hardware Ethuthukisiwe), ukusekelwa kwephrosesa ye-ARM Morello kuyaqhubeka nokusetshenziswa, okuzosekela uhlelo lokulawula ukufinyelela kwenkumbulo ye-CHERI ngokusekelwe kumodeli yezokuphepha yephrojekthi ye-Capsicum. Morello chip bayahlela ikhishwe ngo-2021. Okwamanje umsebenzi ugxile ekwengezeni usekelo lwenkundla ye-Arm Neoverse N1 enika u-Morello amandla. Kwethulwe ichweba lokuqala le-CheriBSD le-RISC-V Architecture. Ukuthuthukiswa kwe-CheriBSD kuyaqhubeka ngesibonelo senkomba se-CHERI esisekelwe ekwakhiweni kwe-MIPS64.
    • Ukuthuthwa kwe-FreeBSD kuyaqhubeka ku-64-bit SoC NXP LS1046A esekelwe kuphrosesa ye-ARMv8 Cortex-A72 enenjini ehlanganisiwe yokucubungula iphakethe lenethiwekhi, i-10 Gb Ethernet, i-PCIe 3.0, i-SATA 3.0 ne-USB 3.0. Okwamanje, abashayeli i-QorIQ ne-LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI balungiselelwa ukudluliselwa ekuqanjweni okuyinhloko kwe-FreeBSD.
    • Umshayeli we-ena ubuyekezelwe kunguqulo 2.1.1 ngosekelo lwesizukulwane sesibili sama-adaptha enethiwekhi we-ENAv2 (Elastic Network Adapter) asetshenziswa kungqalasizinda ye-Elastic Compute Cloud (EC2) ukuze kuhlelwe ukuxhumana phakathi kwamanodi e-EC2 ngesivinini esingafika ku-25 Gb/ s. Ukubuyekezwa kwe-ENA 2.2.0 kuyalungiswa.
    • Ukuthuthukiswa kwembobo ye-FreeBSD yesikhulumi se-powerpc64 kuyaqhubeka. Okugxilwe kakhulu ekuhlinzekeni ukusebenza kwekhwalithi kumasistimu ane-IBM POWER8 namaphrosesa we-POWER9. Phakathi nenkathi yokubika, i-FreeBSD-CURRENT yadluliselwa ukuze isebenzise i-LLVM/Clang 10.0 compiler kanye ne-lld linker esikhundleni se-GCC. Ngokuzenzakalelayo, amasistimu e-powerpc64 asebenzisa i-ELFv2 ABI futhi usekelo lwe-ELFv1 ABI lunqanyuliwe. I-FreeBSD-STABLE isenayo i-gcc 4.2.1. Izinkinga nge-virtio, aacraid kanye nabashayeli be-ixl sezixazululiwe. Kuzinhlelo ze-powerpc64 kungenzeka ukusebenzisa i-QEMU ngaphandle kokusekelwa kwamakhasi amakhulu.
    • Umsebenzi uyaqhubeka nokusekela ukwakhiwa kwe-RISC-V. Ngendlela yayo yamanje, i-FreeBSD isivele iqala ngempumelelo ebhodini le-SiFive Hifive Unleashed, abashayeli abalungiselelwe lona.
      I-UART, SPI ne-PRCI, isekela i-OpenSBI ne-SBI 0.2 firmware. Ngesikhathi sokubika, umsebenzi ubugxile ekufudukeni ku-GCC kuya ku-clang nase-lld.
  • Izicelo kanye nohlelo lwamachweba
    • Iqoqo lamachweba weFreeBSD leqe umkhawulo wamachweba ayizinkulungwane ezingama-39, inani lamachweba angavaliwe lidlula kancane ama-2400, lawo angama-640 PRs awakahlungwa. Phakathi nesikhathi sokubika, izinguquko ezingu-8146 zenziwe kubathuthukisi abangu-173. Abahlanganyeli abane abasha bathole amalungelo e-committer (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Kwengezwe ifulegi le-USES=qca futhi kwakhishwa ifulegi le-USES=zope (ngenxa yokungahambisani nePython 3). Uyaqhubeka umsebenzi wokukhipha iPython 2.7 esihlahleni samachweba - zonke izimbobo ezisekelwe ku-Python 2 kufanele zithuthwe ku-Python 3 noma zizosuswa. Umphathi wephakheji we-pkg ubuyekeziwe ukuze kukhishwe i-1.13.2.
    • Izingxenye zesitaki sezithombe ezibuyekeziwe nezimbobo ezihlobene ne-xorg.
      Iseva ye-X.org ibuyekeziwe yaba yinguqulo 1.20.8 (ngaphambilini igatsha le-1.18 lalithunyelwa), okuvumele i-FreeBSD ukuthi ishintshele ekusebenziseni i-backend ye-udev/evdev ngokuzenzakalelayo ukuze iphathe amadivayisi okufaka. Iphakheji ye-Mesa ishintshelwe ekusebenziseni isandiso se-DRI3 ngokuzenzakalelayo esikhundleni se-DRI2. Umsebenzi uyaqhubeka wokugcina abashayeli bezithombe, i-stack yedivayisi yokufaka, kanye nezingxenye ze-drm-kmod zisesikhathini (ichweba elivumela amamojula e-DRM e-amdgpu, i915, kanye ne-radeon, kusetshenziswa uhlaka lwe-linuxkpi ukuze luhambisane ne-Direct Rendering Manager ye-kernel). Linux).
    • Ideskithophu ye-KDE Plasma, i-KDE Frameworks, i-KDE Applications kanye ne-Qt igcinwa isesikhathini samanje futhi ithuthukela ekukhishweni kwakamuva. Uhlelo olusha lwe-kstars (i-atlas yenkanyezi) lwengezwe ezikhumulweni.
    • Umsebenzi wenziwe ukuze kuqedwe izinguquko ezihlehlayo kusiphathi sewindi se-xfwm4 esivele ngemva kokubuyekeza i-Xfce ibe yinguqulo 4.14 (ngokwesibonelo, izinto zobuciko zavela lapho kuhlotshiswa amawindi).
    • Imbobo yewayini ibuyekeziwe ukuze ikhulule i-Wine 5.0 (ngaphambilini eyayinikezwa i-4.0.3).
    • Kusukela ngenguqulo 1.14, umdidiyeli wolimi lwe-Go wengeze ukusekelwa okusemthethweni kwezakhiwo ze-ARM64 zeFreeBSD 12.0.
    • I-OpenSSH kusistimu yesisekelo ibuyekeziwe ukuze ikhulule i-7.9p1.
    • Umtapo wezincwadi we-sysctlmibinfo2 uqalisiwe futhi wafakwa kumachweba (devel/libsysctlmibinfo2), ukuhlinzeka nge-API yokufinyelela i-sysctl MIB kanye nokuhumusha amagama e-sysctl kuzihlonzi zento (OIDs).
    • Isibuyekezo sokusabalalisa senziwe INomadBSD 1.3.1, okuwuhlelo lwe-FreeBSD eguqulelwe ukusetshenziswa njengedeskithophu ephathekayo ephathekayo esuka kudrayivu ye-USB. Indawo yezithombe isuselwe kusiphathi sewindi I-Openbox. Isetshenziselwa ukukhweza amadrayivu I-DSBMD (ukukhweza i-CD9660, FAT, HFS+, NTFS, Ext2/3/4 kuyasekelwa), ukulungisa inethiwekhi engenantambo - wifimgr, kanye nokulawula ivolumu - I-DSBMixer.
    • Kuqalisiwe umsebenzi ekubhaleni amadokhumenti aphelele omphathi wendawo yejele Ibhodlela. I-Pot 0.11.0 ilungiselelwa ukukhishwa, okuzofaka amathuluzi okuphatha isitaki senethiwekhi.

Source: opennet.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster