Aithisg Adhartais FreeBSD airson Q2019 XNUMX

foillsichte aithisg air leasachadh a’ phròiseict FreeBSD bhon Iuchar chun an t-Sultain 2019. Am measg nan atharrachaidhean as urrainn dhuinn a thoirt fa-near:

  • Cùisean coitcheann agus siostamach
    • Mar as trice tha an sgioba Core air cead a thoirt don chomas còd a thoirt a-steach don t-siostam a tha air a chuairteachadh fo chead BSD le aonta peutant a bharrachd (BSD + patent), ach feumar an co-dhùnadh gach pàirt a thoirt a-steach don t-siostam fon chead seo aontachadh air leth;
    • Chaidh a’ chiad choinneamh den bhuidheann obrach a chaidh a chruthachadh gus imrich chòdan stòr a dhèanamh bhon t-siostam smachd stòr meadhanaichte Fo-thionndadh chun t-siostam dì-mheadhanaichte Git. Tha an deasbad mu ion-dhèantachd imrich fhathast a’ dol air adhart agus tha co-dhùnaidhean air mòran chùisean fhathast ri leasachadh (mar eisimpleir, dè a bu chòir a dhèanamh leis a’ chuibhreann /, a bheil feum air hashes ath-nuadhachadh anns an stòr git gnàthach agus an dòigh as fheàrr air deuchainn a chuir an gnìomh a' gealltainn);
    • Bho NetBSD portach Inneal KCSAN (Kernel Concurrency Sanitizer), a leigeas leat suidheachadh rèis a lorg eadar snàithleanan kernel a tha a ’ruith air diofar CPUan;
    • Tha obair a’ dol air adhart gus inneal-tionndaidh Clang (IAS) a chleachdadh an àite a’ cho-chruinneachadh bionutils GNU;
    • Tha bun-structar emulation àrainneachd Linux (Linuxulator) air atharrachadh gus obrachadh air ailtireachd ARM64. Chuir sinn an gnìomh gairm siostam “renameat2”. Chaidh an goireas strace a leasachadh gus duilgheadasan a lorg ann an executables Linux a tha a’ ruith anns an Linuxulator. Chaidh an duilgheadas le tubaistean nuair a thathar a’ ceangal fhaidhlichean so-ghnìomhaichte le glibc ùr a rèiteach. Chaidh puirt le co-phàirtean Linux airson Linuxulator ùrachadh gu CentOS 7.7;
    • Mar phàirt de phrògram Google Summer of Code, chuir oileanaich crìoch air sia pròiseactan gu soirbheachail: chaidh buileachadh goireas ping aonaichte (IPv4/IPv6) ullachadh, chaidh innealan airson a bhith a’ dèanamh deuchainn air ballachan-teine ​​​​agus a’ comharrachadh mhearachdan anns an kernel (Kernel sanitizer), am mac_ipacl chaidh modal a mholadh, chaidh còd a sgrìobhadh airson teannachadh cuimhne brìgheil agus chaidh obair a dhèanamh gus pròiseas togail puirt a sgaradh bhon stàladh ionadail;
    • Tha am pròiseact airson deuchainn fuzzing air an kernel FreeBSD a’ cleachdadh an t-siostaim a’ leantainn air adhart a’ leasachadh syzcaller. Rè na h-ùine aithris, chaidh còrr air deich mearachdan a chomharrachadh agus cuir às dhaibh le bhith a’ cleachdadh syzkaller. Gus syzkaller a ruith ann an innealan brìgheil stèidhichte air bhyve, tha frithealaiche air leth coisrigte, agus a’ cleachdadh
      Tha syzbot air deuchainn a stèidheachadh air grunn fo-shiostaman FreeBSD ann am bun-structar Google. Chuir iad air dòigh gluasad fiosrachaidh mu gach tubaist chun t-seirbheis backtrace.io gus am buidheann agus mion-sgrùdadh a dhèanamh nas sìmplidhe;

    • Tha obair a’ dol air adhart gus buileachadh zlib ùrachadh aig ìre kernel.
      Chaidh còd co-cheangailte ri teannachadh a ghluasad bho zlib 1.0.4, a chaidh a leigeil ma sgaoil o chionn 20 bliadhna, chun bhun-còd zlib 1.2.11 gnàthach. Gus ruigsinneachd gu zlib aonachadh, chaidh na gnìomhan compress, compress2 agus uncompress a chur ris an kernel. Chaidh an còd a nì cinnteach à obrachadh a’ phròtacal PPP bhon fho-shiostam netgraph a ghluasad gus buileachadh siostam zlib a chleachdadh, an àite an deasachadh aige fhèin den leabharlann seo. Chaidh na fo-shiostaman kern_ctf.c, opencryptodeflate, geom_uzip, subr_compressor, a ghluasad chun zlib ùr cuideachd.
      if_mxge, bxe ùrachadh agus ng_deflate;

    • Tha eadar-aghaidh kernel ùr ga leasachadh fiosrachadh siostam, a leigeas leat eileamaidean a lorg ann an stòr-dàta paramadair sysctl, air an giullachd ann an cruth MIB (Bun-fhiosrachadh Riaghlaidh), agus fiosrachadh mu nithean a ghluasad gu àite luchd-cleachdaidh.
  • Tèarainteachd
    • Modal kernel air a leasachadh mac_ipacl, stèidhichte air Frèam MAC TrustedBSD agus a’ cur an gnìomh siostam smachd ruigsinneachd airson suidheachadh stac lìonra airson àrainneachdan prìosain. Mar eisimpleir, a’ cleachdadh mac_ipacl, faodaidh rianadair siostam aoigheachd casg a chuir air an neach-cleachdaidh freumh ann an àrainneachd prìosain bho bhith ag atharrachadh no a’ suidheachadh sheòlaidhean IP no roghainnean subnet airson eadar-aghaidh lìonra sònraichte. Siostam smachd ruigsinneachd èigneachail a thathar a’ moladh Tha e a 'toirt cothrom suidhich liostaichean de sheòlaidhean IP agus subnets a tha ceadaichte don phrìosan, cuir casg air stàladh IPan agus subnets sònraichte sa phrìosan, no cuir crìoch air paramadairean atharrachaidh a-mhàin airson cuid de eadar-aghaidh lìonra;
    • Thug Intel seachad port stac bathar-bog don phròiseact TPM 2.0 (Modal Àrd-ùrlar earbsach) gus eadar-aghaidh a dhèanamh leis a’ chip coimpiutaireachd tèarainte, a bhios mar as trice air a chleachdadh airson luchdachadh firmware agus bootloader OS. Tha na pàirtean stac air an taisbeanadh ann an cruth tèarainteachd puirt / tpm2-tss, tèarainteachd / tpm2-tools agus tèarainteachd / tpm2-abrmd. Tha am port tpm2-tss a’ toirt a-steach leabharlannan airson a bhith a’ cleachdadh an TPM2 API, tha tpm2-tools a’ toirt seachad goireasan loidhne-àithne airson a bhith a’ coileanadh obair TPM, agus tha tpm2-abrmd a’ toirt a-steach buileachadh pròiseas cùl-fhiosrachaidh de cho-phàirtean TPM Access Broker agus Manaidsear Ghoireasan a bhios ag iomadachadh iarrtasan bho dhiofar luchd-cleachdaidh TPM. gu aon inneal. A bharrachd air bòtadh dearbhte air FreeBSD, faodar TPM a chleachdadh gus tèarainteachd Strongswan IPsec, SSH agus TLS a leasachadh le bhith a’ coileanadh gnìomhachd criptografach air sliseag air leth;
    • Tha an kernel airson ailtireachd amd64 air atharrachadh gu bròg le bhith a’ cleachdadh an dòigh dìon W^X (sgrìobh XOR execute), a tha a’ ciallachadh nach fhaighear cothrom air duilleagan cuimhne aig an aon àm airson sgrìobhadh agus cur an gnìomh (faodar an kernel a luchdachadh a-nis le bhith a’ cleachdadh duilleagan cuimhne so-ghnìomhaichte airson an sgrìobhadh. air a thoirmeasg). Tha an dòigh dìon kernel ùr air a ghabhail a-steach ann am meur HEAD agus thèid a thoirt a-steach do na fiosan FreeBSD 13.0 agus 12.2;
    • Airson gairmean siostam mmap agus mprotect air a chur an gnìomh macro PROT_MAX(), a leigeas leat an t-seata de bhrataichean cuibhreachaidh ruigsinneachd a dhearbhadh a tha ceadaichte airson tuilleadh atharrachaidhean (PROT_READ, PROT_WRITE, PROT_EXEC). A’ cleachdadh PROT_MAX(), faodaidh leasaiche casg a chuir air gluasad sgìre cuimhne chun roinn so-ghnìomhaichte no cuimhne iarraidh nach leig le coileanadh, ach a ghabhas atharrachadh nas fhaide air adhart gu so-ghnìomhaichte. Mar eisimpleir, faodaidh sgìre cuimhne a bhith fosgailte airson sgrìobhadh a-mhàin fhad ‘s a tha ceangal fiùghantach no gineadh còd JIT, ach aon uair‘ s gu bheil an sgrìobhadh deiseil, tha e air a chuingealachadh ri leughadh agus coileanadh a-mhàin, agus san àm ri teachd, ma thèid a chuir an sàs, an neach-ionnsaigh. cha bhith e comasach sgrìobhadh airson a’ bhloc cuimhne sin a chomasachadh. A bharrachd air PROT_MAX(), tha sysctl vm.imply_prot_max cuideachd air a chuir an gnìomh, a bhios nuair a thèid a ghnìomhachadh, a’ dearbhadh an t-seata de bhrataichean dligheach stèidhichte air paramadairean tùsail a’ chiad ghairm gu mmap;
    • Gus dìon a neartachadh an aghaidh so-leòntachd, a bharrachd air an dòigh air thuaiream àite seòlaidh (ASLR), inneal airson a bhith a’ cuir air thuaiream comharran comharran a’ dèiligeadh ris a’ fhrèam stac tùsail agus na structaran air an cur air a’ chruach le fiosrachadh mun àrainneachd, paramadairean cur air bhog a’ phrògraim agus dàta. thathar a' moladh airson dealbhan so-ghnìomhaichte ann an cruth ELF;
    • Chaidh obair a dhèanamh gus an gnìomh faighinn mì-shàbhailte a thoirt air falbh bho libc (a’ tòiseachadh bho inbhe C11, chaidh an gnìomh seo a thoirmeasg bhon t-sònrachadh) agus gus na puirt a tha fhathast a’ cleachdadh a’ ghnìomh seo a cheartachadh. Thathas an dùil an t-atharrachadh a thabhann ann an FreeBSD 13.0;
    • Chaidh pròiseact deuchainneach a chuir air bhog gus innealan a chruthachadh airson àrainneachdan prìosain a chuir air dòigh stèidhichte air an fhrèam phoit airson cruthachadh agus às-mhalairt ìomhaighean, air an cur an gnìomh coltach ri Docker, agus dràibhear neach-ainmichte, a bheir seachad eadar-aghaidh airson tagraidhean a chuir air bhog gu dinamach ann an àrainneachd prìosain. Tha am modail a thathar a’ moladh a’ leigeil leinn na pròiseasan ann a bhith a’ cruthachadh àrainneachdan prìosain a sgaradh agus a’ cleachdadh thagraidhean annta. Is e aon de na h-amasan aig a’ phròiseact dòigh a sholarachadh gus prìosanan a làimhseachadh mar shoithichean ann an stoidhle Docker;
  • Siostaman stòraidh agus faidhle
    • Bho NetBSD chun ghoireas “makefs”. ghluais Taic siostam faidhle FAT (msdosfs). Leigidh na h-atharrachaidhean ullaichte leat ìomhaighean FS a chruthachadh le FAT gun a bhith a’ cleachdadh an draibhear md agus gun ùghdarras freumh;
    • Chaidh ath-obrachadh an draibhear fo-shiostam FUSE (Siostam faidhle ann an USErspace) a chrìochnachadh, a’ ceadachadh buileachadh siostam faidhle a chruthachadh ann an àite luchd-cleachdaidh. Bha mòran bhiteagan anns an draibhear a chaidh a chuir air falbh bho thùs agus bha e stèidhichte air FUSE 7.8, a chaidh fhoillseachadh 11 bliadhna air ais. Mar phàirt den phròiseact ùrachadh dhràibhearan, chaidh taic airson pròtacal FUSE 7.23 a chur an gnìomh, chaidh còd airson sùil a chumail air còraichean-slighe air an taobh kernel (“-o default_permissions”) a chur ris, chaidh fiosan gu VOP_MKNOD, VOP_BMAP agus VOP_ADVLOCK a chur ris, an chaidh comas casg a chuir air gnìomhachd FUSE, chaidh taic airson pìoban gun ainm agus socaidean unix a chuir ris ann am fusefs, bha e comasach kqueue a chleachdadh airson / dev / fuse, bha e comasach paramadairean sreap ùrachadh tro “mount -u”, taic a bharrachd airson fusefs às-mhalairt tro NFS, cuir an gnìomh cunntasachd RLIMIT_FSIZE, chuir e na brataichean FOPEN_KEEP_CACHE agus FUSE_ASYNC_READ ris, rinn e optimizations coileanaidh cudromach agus rinn e leasachadh air eagrachadh tasgadan. Tha an draibhear ùr air a ghabhail a-steach sa cheann agus meuran seasmhach / 12 (air a ghabhail a-steach ann an FreeBSD 12.1);
    • Tha buileachadh NFSv4.2 (RFC-7862) airson FreeBSD cha mhòr deiseil. B’ e am prìomh amas san ùine aithris air deuchainnean. Chaidh deuchainnean a chrìochnachadh gus dearbhadh co-chòrdalachd le buileachadh Linux, ach tha deuchainn air an fhrithealaiche pNFS le NFSv4.2 fhathast a’ dol air adhart. San fharsaingeachd, thathas mar-thà den bheachd gu bheil an còd deiseil airson amalachadh a-steach do cheann FreeBSD / meuran gnàthach. Tha an dreach ùr de NFS a’ cur taic ris na gnìomhan posix_fadvise, posix_fallocate, modhan SEEKHOLE/SEEKDATA ann an lseek, obrachadh copaidh ionadail de phàirtean de fhaidhle air an fhrithealaiche (gun ghluasad chun neach-dèiligidh);
  • Taic bathar-cruaidh
    • Chaidh pròiseact a chuir air bhog gus coileanadh FreeBSD air coimpiutairean-uchd a leasachadh. B’ e a’ chiad inneal a chaidh a sgrùdadh airson taic bathar-cruaidh ann an FreeBSD an seachdamh ginealach Lenovo X1 Carbon laptop;
    • CheriBSD, forc de FreeBSD airson ailtireachd pròiseasar rannsachaidh CHERI (Stiùireadh RISC Meudaichte Bathar-cruaidh Comas), air ùrachadh gus taic a thoirt don phròiseasar ARM Morello a tha ri thighinn, a bheir taic do shiostam smachd ruigsinneachd cuimhne CHERI stèidhichte air modal tèarainteachd dealbhadh Capsicum. Sliseag Morello a' planadh fhoillseachadh ann an 2021. Bidh luchd-leasachaidh CheriBSD cuideachd a’ cumail sùil air leasachadh prototype iomraidh CHERI stèidhichte air ailtireachd MIPS;
    • Taic leudaichte airson sgoltagan RockChip RK3399 air an cleachdadh ann am bùird RockPro64 agus NanoPC-T4. B’ e an leasachadh as cudromaiche taic do eMMC agus leasachadh draibhear ùr airson rianadair eMMC a chaidh a chleachdadh air a’ bhòrd;
    • Tha obair a’ leantainn gus taic a chuir an gnìomh airson ARM64 SoC Broadcom BCM5871X le pròiseasairean ARMv8 Cortex-A57, a tha ag amas air a chleachdadh ann an routers, geataichean agus stòradh lìonra. Rè na h-ùine aithris
      Chaidh taic iProc PCIe a leudachadh agus chaidh an comas gnìomhachd crioptachaidh bathar-cruaidh a chleachdadh gus IPsec a luathachadh.
      Tha dùil ri amalachadh còd a-steach do mheur HEAD sa cheathramh ràithe;

    • Chaidh adhartas mòr a dhèanamh ann an leasachadh port FreeBSD airson an àrd-ùrlar powerpc64. Tha am fòcas air coileanadh càileachd a thoirt seachad air siostaman le pròiseasairean IBM POWER8 agus POWER9, ach gu roghnach a’ toirt taic do ghnìomhachd air seann Apple Power Macs, x500 agus Amiga A1222. Tha am meur powerpc */12 a’ leantainn air adhart a’ dol le gcc 4.2.1, agus thèid am meur powerpc */13 a ghluasad gu llvm90 a dh’ aithghearr. A-mach à 33306 puirt, tha 30514 air an cruinneachadh gu soirbheachail;
    • Tha portadh FreeBSD a’ leantainn airson an 64-bit SoC NXP LS1046A stèidhichte air pròiseasar ARMv8 Cortex-A72 le einnsean luathachaidh giullachd pacaid lìonra aonaichte, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 agus USB 3.0. Rè na h-ùine aithris, chaidh taic airson eadar-aghaidh lìonra USB 3.0, SD / MMC, I2C, DPAA agus GPIO a chuir an gnìomh. Tha planaichean ann gus taic a thoirt do QSPI agus coileanadh an eadar-aghaidh lìonra a bharrachadh. Tha dùil ri obair agus in-ghabhail ann am meur HEAD anns a’ cheathramh ràithe de 4;
    • Chaidh an draibhear ena ùrachadh gus taic a thoirt don dàrna ginealach de innealan-atharrachaidh lìonra ENAv2 (Elastic Network Adapter) a thathas a’ cleachdadh ann am bun-structar Elastic Compute Cloud (EC2) gus conaltradh a chuir air dòigh eadar nodan EC2 aig astaran suas ri 25 Gb / s. Chaidh taic NETMAP a chuir ris agus deuchainn a dhèanamh air an draibhear ena, agus chaidh an cruth cuimhne atharrachadh gus modh LLQ a chomasachadh ann an àrainneachdan Amazon EC2 A1;
  • Iarrtasan agus siostam port
    • Co-phàirtean stac grafaigs ùraichte agus puirt co-cheangailte ri xorg. Chaidh puirt a chleachdas USE_XORG agus XORG_CAT a ghluasad gu frèam USES an àite a bhith a’ fònadh bsd.xorg.mk tro bsd.port.mk. Tha puirt mar seo a-nis a’ toirt a-steach a’ bhratach “USES = xorg” anns na faidhlichean dèanamh aca. Chaidh an gnìomh XORG_CAT a sgaradh bho bsd.xorg.mk agus tha e a-nis air a chomasachadh leis a’ bhratach “USES=xorg-cat”. Innealan a bharrachd airson puirt xorg a ghineadh gu dìreach bho stòr git
      freedesktop.org, a leigeas leat, mar eisimpleir, puirt a chruthachadh airson dreachan nach deach fhoillseachadh fhathast. Anns an àm ri teachd, tha sinn an dùil innealan ullachadh airson an siostam cruinneachaidh meson a chleachdadh an àite autotools gus puirt xorg a thogail.

      Chaidh obair a dhèanamh gus seann phuirt xorg ceangailte ri co-phàirtean nach eil a’ faighinn taic tuilleadh a ghlanadh, mar eisimpleir, chaidh am port x11/libXp a thoirt air falbh, agus tha na puirt x11/Xxf86misc, x11-fonts/libXfontcache agus grafaigean/libGLw air an ìsleachadh ;

    • Chaidh obair a dhèanamh gus taic a leasachadh airson Java 11 agus fiosan nas ùire ann an FreeBSD, a bharrachd air cuid de dh’ atharrachaidhean a thoirt air meur Java 8. Às deidh taic airson feartan ùra Java 11 leithid Java Flight Recorder, HotSpot Serviceability Agent, chaidh HotSpot Debugger a chuir an gnìomh airson FreeBSD, DTrace, Javac Server, Java Sound agus SCTP, ghluais obair gus dèanamh cinnteach gun deach a h-uile deuchainn co-chòrdalachd seachad. Tha an àireamh de fhàilligidhean nuair a chaidh deuchainnean seachad air a lùghdachadh bho 50 gu 2;
    • Tha an deasg KDE Plasma, KDE Frameworks, KDE Applications agus Qt air an cumail suas chun ùr agus air an ùrachadh gu na fiosan as ùire;
    • Puirt le desktop Xfce air an ùrachadh airson an leigeil ma sgaoil 4.14;
    • Tha craobh puirt FreeBSD air a dhol thairis air 38000 puirt, tha an àireamh de PR gun dhùnadh beagan a bharrachd air 2000, agus chan eil 400 PR air am fuasgladh fhathast. Rè na h-ùine aithris, chaidh 7340 atharrachadh a dhèanamh le 169 leasaiche. Fhuair dà chom-pàirtiche ùr (Santhosh Raju agus Dmitri Goutnik) còraichean com-pàirtiche. Chaidh foillseachadh ùr den mhanaidsear pacaid pkg 1.12 fhoillseachadh, le taic airson ath-chòmhdach ann an craobh a’ phuirt agus glanadh bsd.sites.mk. Am measg nan ùrachaidhean dreach cudromach anns na puirt tha: Lazarus 2.0.4, LLVM 9.0, Perl5.30, PostgreSQL 11, Ruby 2.6, Firefox 69.0.1, Firefox-esr 68.1.0, Chromium 76.0;
    • Tha leasachadh pròiseict a’ leantainn ClonOS, a' leasachadh sgaoileadh sònraichte airson a bhith a’ cleachdadh bun-structair frithealaiche mas-fhìor. A thaobh nan gnìomhan a bhios e a’ fuasgladh, tha ClonOS coltach ri siostaman leithid Proxmox, Triton (Joyent), OpenStack, OpenNebula agus Amazon AWS, is e am prìomh eadar-dhealachadh bho bhith cleachdadh FreeBSD agus an comas a bhith a’ riaghladh, a’ cleachdadh agus a’ riaghladh soithichean prìosain FreeBSD agus àrainneachdan brìgheil stèidhichte air hypervisors Bhyve agus Xen. Tha atharrachaidhean o chionn ghoirid a’ toirt a-steach taic
      cloud-init airson Linux / BSD VM agus cloudbase-init airson Windows VM, a ’tòiseachadh air a’ ghluasad gu bhith a ’cleachdadh ìomhaighean dùthchasach, a’ cleachdadh Jenkins CI airson deuchainn a dhèanamh air togalaichean agus stòr pkg ùr airson a chuir a-steach
      ClonOS bho phasganan.

Source: fosgailtenet.ru

Cuir beachd ann