Hōʻike Holomua FreeBSD no Q2019 XNUMX

paʻi ʻia hōʻike i ka hoʻomohala ʻana o ka papahana FreeBSD mai Iulai a Kepakemapa 2019. Ma waena o nā hoʻololi hiki iā mākou ke hoʻomaopopo:

  • Nā nīnau maʻamau a me nā ʻōnaehana
    • Ua ʻae ka hui Core i ka hiki ke hoʻokomo i nā code i loko o ka ʻōnaehana i puʻunaue ʻia ma lalo o ka laikini BSD me kahi ʻaelike patent hou (BSD+Patent), akā ʻo ka hoʻoholo e hoʻokomo i kēlā me kēia ʻāpana i ka ʻōnaehana ma lalo o kēia laikini pono e ʻae ʻia i kahi kaʻawale;
    • ʻO ka hālāwai mua o ka pūʻulu hana i hana ʻia e hoʻokō i ka neʻe ʻana o nā code kumu mai ka ʻōnaehana hoʻokele kikowaena kikowaena Subversion i ka ʻōnaehana decentralized Git. Ke hoʻomau nei ka kūkākūkā e pili ana i ka hiki ʻana o ka neʻe ʻana a ʻaʻole i hoʻomohala ʻia nā hoʻoholo no nā pilikia he nui (e like me ka mea e hana ai me contrib/, inā pono e hana hou i nā hashes i ka waihona git o kēia manawa a pehea e hoʻokō ai i ka hoʻāʻo ʻana. hana);
    • Mai NetBSD awa KCSAN (Kernel Concurrency Sanitizer) toolkit, e hiki ai iā ʻoe ke ʻike i nā kūlana lāhui ma waena o nā kaula kernel e holo ana ma nā CPU like ʻole;
    • Ke hoʻomaka nei ka hana no ka hoʻohana ʻana i ka Clang's built-in assembler (IAS) ma kahi o ka GNU binutils assembler;
    • ʻO ka Linux environment emulation infrastructure (Linuxulator) i hoʻololi ʻia e hana ma ka hale hoʻolālā ARM64. Ua hoʻokō ʻia ke kelepona ʻōnaehana "renameat2". Ua hoʻomaikaʻi ʻia ka pono strace e ʻike i nā pilikia i nā mea hoʻokō Linux e holo ana i ka Linuxulator. Ua hoʻoholo ʻia ka pilikia me nā ulia i ka wā e hoʻopili ai i nā faila me ka glibc hou. Ua hōʻano hou ʻia nā awa me nā ʻāpana Linux no Linuxulator i CentOS 7.7;
    • Ma ke ʻano o ka papahana Google Summer of Code, ua hoʻopau nā haumāna i ʻeono mau papahana: ua hoʻomākaukau ʻia kahi hoʻohana ping unified (IPv4/IPv6), nā mea hana no ka hoʻāʻo ʻana i nā pā ahi a me ka ʻike ʻana i nā hewa i loko o ka kernel (Kernel sanitizer), ua kūkulu ʻia ka mac_ipacl Ua noi ʻia ka module, ua kākau ʻia ke code no ka hoʻopili ʻana i ka hoʻomanaʻo virtual a ua hana ʻia nā hana e hoʻokaʻawale i ke kaʻina hana kūkulu awa mai ka hoʻonohonoho kūloko;
    • Ke hoʻomau nei ka hoʻomohala ʻana o ka papahana no ka hoʻāʻo ʻana i ka kernel FreeBSD me ka hoʻohana ʻana i ka ʻōnaehana syzkaller. I loko o ka manawa hōʻike, ʻoi aku ma mua o ʻumi mau hewa i ʻike ʻia a hoʻopau ʻia me ka hoʻohana ʻana i ka syzkaller. No ka holo ʻana i ka syzkaller i nā mīkini virtual e pili ana i ka bhyve, hoʻolaʻa ʻia kahi kikowaena kaʻawale, a me ka hoʻohana ʻana
      Ua hoʻokumu ʻo syzbot i ka hoʻāʻo ʻana i nā ʻano subsystem FreeBSD i ka ʻōnaehana Google. Hoʻonohonoho i ka hoʻoili ʻana o ka ʻike e pili ana i nā pōʻino āpau i ka lawelawe backtrace.io e maʻalahi i kā lākou hui ʻana a me ka nānā ʻana;

    • Ke hoʻomaka nei ka hana e hoʻonui i ka hoʻokō zlib ma ka pae kernel.
      Ua hoʻoneʻe ʻia nā code pili pili i ka compression mai zlib 1.0.4, i hoʻokuʻu ʻia ma mua o 20 mau makahiki i hala aku nei, i ka zlib 1.2.11 codebase o kēia manawa. No ka hoʻohui i ke komo ʻana i zlib, ua hoʻohui ʻia nā hana compress, compress2 a uncompress i ka kernel. Ua hoʻololi ʻia ke code e hōʻoiaʻiʻo ana i ka hana o ka protocol PPP mai ka subsystem netgraph e hoʻohana i ka hoʻokō ʻana o ka ʻōnaehana zlib, ma kahi o kāna paʻi ponoʻī o kēia waihona. Ua hoʻoili ʻia nā kern_ctf.c, opencryptodeflate, geom_uzip, subr_compressor, subsystems i ka zlib hou.
      if_mxge, bxe hōʻano hou a ng_deflate;

    • Ke kūkulu ʻia nei kahi kikowaena kernel hou sysctinfo, hiki iā ʻoe ke ʻimi i nā mea i loko o ka ʻikepili parameter sysctl, i hana ʻia ma ke ʻano o kahi MIB (Management Information Base), a hoʻoili i ka ʻike e pili ana i nā mea i kahi mea hoʻohana.
  • Ka maluhia
    • Hoʻokumu ʻia ka module kernel mac_ipacl, e pili ana i ka TrustedBSD MAC Framework a me ka hoʻokō ʻana i kahi ʻōnaehana mana komo no nā hoʻonohonoho hoʻonohonoho pūnaewele no nā kaiapuni hale paʻahao. No ka laʻana, me ka hoʻohana ʻana i ka mac_ipacl, hiki i kahi luna hoʻonohonoho hoʻokipa ke pale i ka mea hoʻohana kumu i loko o ka hale paʻahao mai ka hoʻololi ʻana a i ʻole ka hoʻonohonoho ʻana i nā helu IP a i ʻole nā ​​hoʻonohonoho subnet no kekahi mau kikowaena pūnaewele. Manaʻo ʻia ka ʻōnaehana hoʻokele pono Ua apono hoʻonohonoho i nā papa inoa o nā IP address a me nā subnets i ʻae ʻia no ka Hale Paʻahao, pāpā i ka hoʻokomo ʻana i kekahi mau IP a me nā subnets i loko o ka hale paʻahao, a i ʻole e kaupalena i ka hoʻololi ʻana i nā ʻāpana no kekahi mau kikowaena pūnaewele;
    • Hāʻawi ʻo Intel i kahi port stack software i ka papahana TMM 2.0 (Trusted Platform Module) e launa pū me ka chip computing paʻa, i hoʻohana mau ʻia no ka hoʻouka ʻana i ka firmware a me ka OS bootloader. Hōʻike ʻia nā ʻāpana stack ma ke ʻano o nā ports security / tpm2-tss, security / tpm2-tools a me ka palekana / tpm2-abrmd. Aia ka tpm2-tss port i nā hale waihona puke no ka hoʻohana ʻana i ka TPM2 API, ua hāʻawi ʻo tpm2-mea hana i nā pono laina kauoha no ka hana ʻana i nā hana TPM, a aia ka tpm2-abrmd i kahi kaʻina hana hope o ka TPM Access Broker a me nā ʻāpana Resource Manager e hoʻonui i nā noi mai nā mea hoʻohana TPM like ʻole. i hoʻokahi mea hana . Ma waho aʻe o ka hōʻoia ʻana i ka booting ma FreeBSD, hiki ke hoʻohana ʻia ʻo TPM e hoʻonui i ka palekana o Strongswan IPsec, SSH a me TLS ma ka hana ʻana i nā hana cryptographic ma kahi puʻupuʻu ʻokoʻa;
    • Hoʻololi ʻia ka kernel no ka hale hana amd64 e hoʻohana i ka ʻenehana pale W^X (kākau XOR execute), ʻo ia hoʻi, ʻaʻole hiki ke kiʻi ʻia nā ʻaoʻao hoʻomanaʻo no ka kākau ʻana a me ka hoʻokō ʻana (hiki ke hoʻouka ʻia ke kernel me ka hoʻohana ʻana i nā ʻaoʻao hoʻomanaʻo hiki ke kākau ʻia. ua pāpā ʻia). Hoʻokomo ʻia ke ʻano hana palekana kernel hou i ka lālā HEAD a e hoʻokomo ʻia i ka FreeBSD 13.0 a me 12.2 hoʻokuʻu;
    • No ka mmap a me nā kelepona ʻōnaehana mprotect hoʻokō ʻia macro PROT_MAX(), hiki iā ʻoe ke hoʻoholo i ka hoʻonohonoho o nā hae palena ʻae ʻia no nā hoʻololi hou aku (PROT_READ, PROT_WRITE, PROT_EXEC). Ke hoʻohana nei i ka PROT_MAX(), hiki i ka mea hoʻomohala ke pāpā i ka hoʻololi ʻana o kahi wahi hoʻomanaʻo i ka māhele hoʻokō a noi i ka hoʻomanaʻo ʻaʻole e ʻae i ka hoʻokō, akā hiki ke hoʻololi ʻia i hiki ke hoʻokō. No ka laʻana, hiki ke wehe ʻia kahi ʻāpana hoʻomanaʻo no ke kākau ʻana no ka lōʻihi o ka hoʻopili ʻana a i ʻole JIT code generation, akā i ka pau ʻana o ke kākau ʻana, ʻae ʻia e heluhelu a hoʻokō wale nō, a i ka wā e hiki mai ana, inā hoʻopaʻapaʻa, ka mea hoʻouka. ʻaʻole hiki ke hoʻohana i ke kākau ʻana no kēlā poloka hoʻomanaʻo. Ma waho aʻe o PROT_MAX (), hoʻokō ʻia ka sysctl vm.imply_prot_max, i ka wā e hoʻāla ʻia ai, e hoʻoholo i ka hoʻonohonoho o nā hae kūpono e pili ana i nā ʻāpana mua o ke kelepona mua i mmap;
    • No ka hoʻoikaika ʻana i ka pale ʻana i ka hoʻohana ʻana i nā mea nāwaliwali, ma kahi o ka address space randomization technique (ASLR), kahi hana no ka hoʻokaʻawale ʻana i nā offsets o nā kuhikuhi e kamaʻilio ana i ke kiʻi hoʻopaʻa mua a me nā hale i kau ʻia ma ka waihona me ka ʻike e pili ana i ke kaiapuni, nā ʻāpana hoʻomaka o ka papahana a me ka ʻikepili. no nā kiʻi hiki ke hoʻokō ʻia ma ke ʻano ELF;
    • Ua hana ʻia ka hana e wehe i ka hana unfe mai libc (e hoʻomaka ana mai ka maʻamau C11, ua kāpae ʻia kēia hana mai ka kikoʻī) a e hoʻoponopono i nā awa e hoʻohana mau nei i kēia hana. Hoʻolālā ʻia ka hoʻololi e hāʻawi ʻia ma FreeBSD 13.0;
    • Ua hoʻomaka ʻia kahi papahana hoʻokolohua e hana i nā mea hana no ka hoʻonohonoho ʻana i nā kaiapuni hale paʻahao e pili ana i ke ʻano ipuhao no ka hana ʻana a me ka lawe ʻana aku i nā kiʻi, hoʻokō like me Docker, a me kahi mea hoʻokele nomad, ka mea e hāʻawi i kahi kikowaena no ka hoʻomaka ʻana i nā noi i loko o kahi hale paʻahao. ʻO ke kumu hoʻohālike i manaʻo ʻia e hiki iā mākou ke hoʻokaʻawale i nā kaʻina hana o ka hana ʻana i nā kaiapuni hale paʻahao a me ka hoʻohana ʻana i nā noi i loko o lākou. ʻO kekahi o nā pahuhopu o ka papahana ʻo ia ka hoʻolako ʻana i kahi ala e hoʻoponopono ai i nā hale paʻahao ma ke ʻano he pahu ʻano Docker;
  • Waihona a me nā ʻōnaehana waihona
    • Mai NetBSD i ka pono "makefs". neʻe Kākoʻo ʻōnaehana faila FAT (msdosfs). ʻO nā hoʻololi i hoʻomākaukau ʻia e ʻae iā ʻoe e hana i nā kiʻi FS me FAT me ka ʻole o ka hoʻohana ʻana i ka mea hoʻokele md a ʻaʻohe mana kumu;
    • Ua hoʻopau ʻia ka hana hou ʻana o ka FUSE (File system in USErspace) subsystem driver, e ʻae ana i ka hoʻokumu ʻana i nā hoʻokō ʻōnaehana faila ma kahi o ka mea hoʻohana. ʻO ka mea hoʻokele i hoʻouna mua ʻia he nui nā pōpoki a ua hoʻokumu ʻia ma FUSE 7.8, i hoʻokuʻu ʻia he 11 mau makahiki i hala. Ma ke ʻano o ka papahana hoʻokele hoʻokele, ua hoʻokō ʻia ke kākoʻo no ka protocol FUSE 7.23, ua hoʻohui ʻia ke code no ka nānā ʻana i nā kuleana komo ma ka ʻaoʻao kernel (“-o default_permissions”), ua hoʻohui ʻia nā kelepona iā VOP_MKNOD, VOP_BMAP a me VOP_ADVLOCK, hiki ke hoʻopau i nā hana FUSE ua hāʻawi ʻia, kākoʻo no nā paipu inoa ʻole a me nā kumu unix i hoʻohui ʻia i nā fusefs, ua hiki ke hoʻohana i ka kqueue no / dev / fuse, hiki ke hoʻonui i nā ʻāpana mauna ma o "mauna -u", kākoʻo hoʻohui. no ka lawe ʻana aku i nā fusef ma o NFS, ua hoʻokō ʻia ka helu helu RLIMIT_FSIZE, ua hoʻohui i nā hae FOPEN_KEEP_CACHE a me FUSE_ASYNC_READ, i hana i nā loiloi hoʻokō koʻikoʻi a hoʻomaikaʻi i ka hui ʻana i ka cache. Hoʻokomo ʻia ka mea hoʻokele hou i ke poʻo a me nā lālā paʻa / 12 (i loko o FreeBSD 12.1);
    • Ua aneane pau ka hoʻokō ʻana o NFSv4.2 (RFC-7862) no FreeBSD. ʻO ka manaʻo nui i ka wā hōʻike ma ka hoʻāʻo. Ua hoʻopau ʻia nā hoʻāʻo e hōʻoia i ka hoʻokō me ka hoʻokō Linux, akā ke hoʻomau nei ka hoʻāʻo ʻana i ka server pNFS me NFSv4.2. Ma keʻano laulā, ua noʻonoʻo ʻia ke code e mākaukau no ka hoʻohui ʻana i ke poʻo FreeBSD / nā lālā o kēia manawa. Hoʻohui ka mana hou o NFS i ke kākoʻo no nā hana posix_fadvise, posix_fallocate, SEEKHOLE/SEEKDATA modes i lseek, ka hana o ke kope kūloko o nā ʻāpana o kahi faila ma ke kikowaena (me ka ʻole o ka hoʻoili ʻana i ka mea kūʻai aku);
  • Kākoʻo lako lako
    • Ua hoʻomaka ʻia kahi papahana e hoʻomaikaʻi i ka hana o FreeBSD ma nā kamepiula. ʻO ka mea hana mua i hoʻopaʻa ʻia no ke kākoʻo ʻana i ka lako ma FreeBSD ʻo ia ka hiku o ka hanauna Lenovo X1 Carbon laptop;
    • ʻO CheriBSD, kahi lāʻau o FreeBSD no ka hoʻolālā hana noiʻi CHERI (Capability Hardware Enhanced RISC Instructions), hōʻano hou ʻia e kākoʻo i ke kaʻina hana ARM Morello e hiki mai ana, e kākoʻo ana i ka ʻōnaehana hoʻokele hoʻomanaʻo hoʻomanaʻo CHERI e pili ana i ke kumu hoʻohālike palekana o ka hoʻolālā Capsicum. Morello chip ke hoʻolālā nei hoʻokuʻu ʻia ma 2021. Ke hoʻomau nei nā mea hoʻomohala CheriBSD i ka nānā ʻana i ka hoʻomohala ʻana o ka prototype reference CHERI ma muli o ka hoʻolālā MIPS;
    • Hoʻonui i ke kākoʻo no nā pahu RockChip RK3399 i hoʻohana ʻia ma nā papa RockPro64 a me NanoPC-T4. ʻO ka hoʻomaikaʻi koʻikoʻi nui ke kākoʻo no ka eMMC a me ka hoʻomohala ʻana i kahi mea hoʻokele hou no ka mana eMMC i hoʻohana ʻia ma ka papa;
    • Ke hoʻomau nei ka hana i ke kākoʻo no ARM64 SoC Broadcom BCM5871X me nā kaʻina hana ARMv8 Cortex-A57, i manaʻo ʻia e hoʻohana i nā ala ala, nā ʻīpuka a me ka mālama pūnaewele. I ka wā hōʻike
      Ua hoʻonui ʻia ke kākoʻo iProc PCIe a ua hoʻohui ʻia ka hiki ke hoʻohana i nā hana cryptographic hardware e wikiwiki i ka IPsec.
      Manaʻo ʻia ka hoʻohui ʻana i nā code i ka lālā HEAD i ka hapahā ʻehā;

    • Loaʻa nā holomua nui i ka hoʻomohala ʻana i kahi awa FreeBSD no ke kahua powerpc64. ʻO ka manaʻo nui ma ka hāʻawi ʻana i ka hana maikaʻi ma nā ʻōnaehana me nā kaʻina hana IBM POWER8 a me POWER9, akā kākoʻo ke koho i ka hana ma nā Apple Power Macs kahiko, x500 a me Amiga A1222. Ke hoʻomau nei ka moku powerpc*/12 me ka gcc 4.2.1, a e neʻe koke ʻia ka lālā powerpc*/13 i llvm90. Mai loko mai o 33306 awa, 30514 i hui maikaʻi ʻia;
    • Ke hoʻomau nei ka porting FreeBSD no ka 64-bit SoC NXP LS1046A e pili ana i ke kaʻina hana ARMv8 Cortex-A72 me kahi ʻenekini hoʻokē ʻai packet pūnaewele hoʻohui, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 a me USB 3.0. I ka wā hōʻike, ua hoʻokō ʻia ke kākoʻo no USB 3.0, SD/MMC, I2C, DPAA a me GPIO. Aia nā hoʻolālā e kākoʻo i ka QSPI a hoʻopaʻa i ka hana o ke kikowaena pūnaewele. Manaʻo ʻia ka hoʻopau ʻana o ka hana a me ka hoʻokomo ʻana i ka lālā HEAD i ka hapaha 4 o 2019;
    • Ua hōʻano hou ʻia ka mea hoʻokele ena no ke kākoʻo ʻana i ka lua o ka hanauna o ENAv2 (Elastic Network Adapter) mea hoʻopili pūnaewele i hoʻohana ʻia i ka ʻōnaehana Elastic Compute Cloud (EC2) e hoʻonohonoho i ke kamaʻilio ma waena o nā node EC2 i ka wikiwiki a hiki i 25 Gb/s. Ua hoʻohui ʻia ke kākoʻo NETMAP a hoʻāʻo ʻia i ka mea hoʻokele ena, a ua hoʻololi ʻia ka hoʻonohonoho hoʻomanaʻo e hiki ai i ke ʻano LLQ ma nā wahi Amazon EC2 A1;
  • Nā noi a me nā ʻōnaehana awa
    • Hōʻano hou ʻia nā ʻāpana hoʻopaʻa kiʻi a me nā awa pili xorg. Ua hoʻoneʻe ʻia nā awa e hoʻohana ana i ka USE_XORG a me XORG_CAT i ka USES framework ma mua o ke kelepona ʻana iā bsd.xorg.mk ma o bsd.port.mk. Aia kēia mau awa i ka hae "USES=xorg" i kā lākou makefiles. Ua hoʻokaʻawale ʻia ka hana XORG_CAT mai bsd.xorg.mk a hiki i kēia manawa e ka hae "USES=xorg-cat". Hoʻohui ʻia nā mea hana no ka hana pololei ʻana i nā awa xorg mai kahi waihona git
      freedesktop.org, no ka laʻana, hiki iā ʻoe ke hana i nā awa no nā mana i hoʻokuʻu ʻole ʻia. I ka wā e hiki mai ana, hoʻolālā mākou e hoʻomākaukau i nā mea hana no ka hoʻohana ʻana i ka ʻōnaehana hui meson ma kahi o nā autotools e kūkulu i nā awa xorg.

      Ua hana ʻia ka hoʻomaʻemaʻe ʻana i nā awa xorg kahiko i hoʻopaʻa ʻia i nā ʻāpana i kākoʻo ʻole ʻia, no ka laʻana, ua wehe ʻia ke awa x11/libXp, a ua hoʻopau ʻia nā awa x11/Xxf86misc, x11-fonts/libXfontcache a me nā kiʻi/libGLw. ;

    • Ua hana ʻia ka hana no ka hoʻomaikaʻi ʻana i ke kākoʻo no Java 11 a me nā mea hou i hoʻokuʻu ʻia ma FreeBSD, a me ka lawe ʻana i kekahi mau loli i ka lālā Java 8. Ma hope o ke kākoʻo ʻana i nā hiʻohiʻona Java 11 hou e like me Java Flight Recorder, HotSpot Serviceability Agent, HotSpot Debugger i hoʻokō ʻia. no FreeBSD, DTrace, Javac Server, Java Sound a me SCTP, ua hoʻololi ʻia ka hana e hōʻoia i ka hala ʻana o nā hoʻokolohua hoʻohālikelike āpau. Ua hōʻemi ʻia ka nui o nā hemahema i ka wā e hele ai i nā hoʻokolohua mai 50 a 2;
    • Mālama ʻia ka pākaukau KDE Plasma, KDE Frameworks, KDE Applications a me Qt i kēia lā a hōʻano hou ʻia i nā mea hou loa;
    • Hoʻopau hou ʻia nā awa me Xfce desktop e hoʻokuʻu 4.14;
    • Ua ʻoi aku ka lāʻau awa FreeBSD ma mua o 38000 mau awa, ʻoi aku ka nui o nā PR i pani ʻole ʻia ma mua o 2000, ʻaʻole i hoʻoholo ʻia he 400 PR. I loko o ka manawa hōʻike, 7340 mau hoʻololi i hana ʻia e 169 mau mea hoʻomohala. Ua loaʻa i ʻelua mau hui hou (Santhosh Raju lāua ʻo Dmitri Goutnik) nā kuleana committer. Ua paʻi ʻia kahi hoʻokuʻu hou o ka pkg 1.12 package manager, me ke kākoʻo no ka uhi ʻana i ka lāʻau awa a me ka hoʻomaʻemaʻe ʻana o bsd.sites.mk. Ma waena o nā hōʻano hou i loko o nā awa: ʻo 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;
    • Ke hoʻomau nei ka hoʻomohala papahana ClonOS, e ulu ana he mahele kūikawā no ka lawe ʻana i nā ʻōnaehana kikowaena kikowaena. Ma nā ʻōlelo o nā hana e hoʻoponopono ai, ua like ʻo ClonOS i nā ʻōnaehana e like me Proxmox, Triton (Joyent), OpenStack, OpenNebula a me Amazon AWS, ʻo ka ʻokoʻa nui mai ia ka hoʻohana ʻana o FreeBSD a me ka hiki ke hoʻokele, hoʻonohonoho a mālama i nā pahu paʻahao FreeBSD a nā kaiapuni virtual e pili ana i nā hypervisors Bhyve a me Xen. Loaʻa nā hoʻololi hou i ke kākoʻo
      cloud-init no Linux/BSD VM a me cloudbase-init no Windows VM, e hoʻomaka ana i ka hoʻololi ʻana i ka hoʻohana ʻana i nā kiʻi maoli, me ka hoʻohana ʻana iā Jenkins CI no ka hoʻāʻo ʻana a me kahi waihona pkg hou no ka hoʻokomo ʻana.
      ClonOS mai nā pūʻolo.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka