Toleo jipya la seva ya POP3 na IMAP4 Dovecot 2.3.21

Toleo jipya la seva ya POP3/IMAP4 yenye utendaji wa juu ya majukwaa mengi ya Dovecot 2.3.21 limechapishwa, linalosaidia itifaki za POP3 na IMAP4rev1 na viendelezi maarufu kama vile SORT, THREAD na IDLE, na mbinu za uthibitishaji na usimbaji fiche (SASL, TLS, SCRAM). Dovecot inasalia kutumika kikamilifu na mbox ya kawaida na Maildir, kwa kutumia faharasa za nje kuboresha utendakazi. Programu-jalizi zinaweza kutumika kupanua utendakazi (kwa mfano, sehemu na ACL zinatekelezwa kupitia programu-jalizi). Msimbo wa mradi unasambazwa chini ya leseni za LGPL na MIT.

Mabadiliko kuu:

  • lib-oauth2: Ruhusu uthibitishaji wa tokeni za JWT zisizo na sehemu ya "aina". Sehemu ya "aina" haitumiwi na baadhi ya watoa huduma muhimu kuhifadhi nafasi, hasa kubernetes. Sasa kutokuwepo kwa "type" kunakubalika, lakini ikiwa iko lazima bado iwe "jwt".
  • auth: Jibu la "Auth" kutoka passdb na userdb linaweza kuwa na thamani "tukio_" =value" ambayo itaongezwa kwa tukio la kuingia na tukio la mtumiaji wa barua mtawalia.
  • lib-master: Huweka kichwa cha mchakato katika hatua mbalimbali za uanzishaji ili kufafanua ni nini mchakato unasubiri.
  • lib-storage: The mail_temp_scan_interval sasa imeongezwa kwa 0...30% kulingana na jina la mtumiaji heshi ili kupunguza uwezekano wa spikes za upakiaji.
  • lib-storage: Uchanganuzi wa faili wa muda umesogezwa kutoka wakati kisanduku cha barua kinapofunguliwa hadi kinapofungwa ili kupunguza ucheleweshaji unaopatikana kwa watumiaji.
  • takwimu: Ikiwa sehemu zimebainishwa katika kipimo, basi sehemu hizi zote zitatumwa kama vihesabio kwa prometheus katika umbizo la ufafanuzi.
  • "*-ingia": Taratibu zinaweza kuvurugika ikiwa muunganisho wa SSL utakatishwa bila kukusudia. - acl: Wakati wa kupakia programu-jalizi, bendera za \\HasChildren na \\HasNoChildren zilikokotolewa kimakosa kwa visanduku vya barua vilivyo na '*' na '%' katika majina yao.
  • auth: Hitilafu ilitokea wakati wa kuunganisha kwa DBMS ya PostgreSQL wakati wa kuanzisha haikufaulu.
  • auth: Wakati wa kuingia ukitumia manenosiri batili (kwa mfano, na mpango usiojulikana), passdb ilikuwa ikitoa hitilafu "kutolingana kwa nenosiri" badala ya "kosa la ndani".
  • auth: Utaratibu wa XOAUTH2 na OAUTHBEARER haukutoa ujumbe wa hitilafu mahususi wa itifaki kwenye hitilafu zozote. Hii ilitatiza hasa ugunduzi wa OIDC.
  • dbox: Ikiwa kichwa cha mwisho_temp_file_scan hakikuwekwa (hasa baada ya uhamishaji wa dsync), basi wakati kisanduku cha barua kilipofunguliwa, uchanganuzi wa faili za muda ungezinduliwa kila wakati. Hii inaweza kusababisha kuongezeka kwa mzigo baada ya uhamiaji. Imesasishwa kwa kutumia saraka ya kisanduku cha barua wakati hakuna kichwa, ambacho kawaida husukuma wakati wa kuchambua katika siku zijazo.
  • dict-redis: Urejeshaji wa muamala haukufaulu.
  • dsync: Wakati wa kufuta kisanduku cha barua kwenye ncha ya mbali, wakati vikomo vya daraja havikulingana, kitanzi kisicho na kikomo kilitokea, na kusababisha tukio la nje ya kumbukumbu.
  • dsync: Usawazishaji wa ongezeko haukufanyika kwa majina ya folda inayoishia kwa '%' isipokuwa BROKENCHAR imewekwa. Pia, majina ya folda yenye '%' katika sehemu zingine yalisababisha folda kubadilishwa jina kwa jina la muda na kurudishwa tena kwa kila dsync inayoongezeka. Kurudi nyuma v2.3.19.
  • imap-hibernate: Ikiwa muda wa mteja wa IMAP utaisha na ujumbe wa "(toleo limepokelewa)" wakati wa kufungua, kufungua kunaweza kukamilika kwa mafanikio na kuendelea na utendakazi wa kawaida. Hii ilikuwa ya kutatanisha kwa sababu imap-hibernate ilikuwa tayari imegundua kuwa mteja alikuwa amekatiza muunganisho. Unaweza kuepuka hili kwa kulazimisha muunganisho kuisha kwa kuisha kwa hibernation.
  • imapc: Kuacha kufanya kazi folda inayoonyeshwa kupitia programu-jalizi pepe inapotea kwenye hifadhi.
  • imapc: TOLEA, IMEKUWEPO, au CHUKUA majibu yenye seva Kwa kisanduku cha barua kilichochaguliwa hapo awali, ujumbe unaweza kusindika kana kwamba ulikuwa wa kisanduku kipya cha barua kilichochaguliwa kwa sasa. Hii inaweza kusababisha maonyo.
  • lib-http: Seva ya HTTP ya Dovecot (doveadm, stats/openmetrics) inaweza kutenganisha viteja vya HTTP kabla ya jibu kutumwa kikamilifu. Hii ilifanyika tu kwenye seva zenye shughuli nyingi ambapo buffer za soketi za kernel zilikuwa zimejaa sana.
  • lib-http: Imerekebisha ajali inayowezekana ya seva ya http ikiwa mteja atakata muunganisho mapema. Kurudi nyuma katika 2.3.18.
  • lib-index: Ufisadi wa faili ya faharasa unaweza kusababisha hitilafu. Imetatuliwa: Hofu: faili mail-transaction-log-view.c: line 165 (mail_transaction_log_view_set): madai yameshindwa: (min_file_seq <= max_file_seq).
  • lib-index: Kufuta faili ya kache iliyopo kubwa kuliko GB 1 kunaweza kusababisha kuacha kufanya kazi. Sasa, baada ya kufuta, faili za kache ambazo bado ni kubwa kuliko GB 1 zinafutwa. Haijabadilika: Hofu: faili mail-index-util.c: mstari wa 10 (mail_index_uint32_to_offset): madai yameshindwa: (kupunguza <0x40000000).
  • lib-lua: Kiteja cha HTTP hakikuweza kutatua majina ya DNS katika michakato ya barua kwa sababu ilitarajia tundu la "dns-client" kuwa katika saraka ya sasa.
  • lib-oauth2: Dovecot ilituma client_id na client_secret kama vigezo vya POST kwa seva ya ufahamu. Walakini, kwa uandishi wa Msingi matumizi yao ni ya hiari.
  • lib-oauth2: Uthibitishaji wa "aud" wa JWT haukufanywa ikiwa "aud" haikuwa kwenye ishara lakini ilisanidiwa katika Dovecot.
  • lib-oauth2: ukaguzi wa aina ya ufunguo wa JWT ni mkali sana.
  • lib-oauth2: Hadhira ya tokeni ya JWT haikuangaliwa dhidi ya mteja_id kama inavyotakiwa na maelezo.
  • lib-ssl-iostream: Kutumia ssl_require_crl=yes kunaweza kusababisha ukaguzi wa CRL kushindwa kwa miunganisho ya SSL/TLS inayotoka, ingawa ilikusudiwa kuathiri ukaguzi wa CRL wa upande wa mteja pekee. Vyeti vya SSL. urejelezaji wa v2.3.17.
  • lib-sql: Dereva wa MySQL alivuja kumbukumbu wakati kuunganisha kumeshindwa.
  • hifadhi ya lib: Marekebisho anuwai kwa nafasi ya chini ya diski.
  • bwana: Kuweka huduma ya idle_kill haikufanya kazi ipasavyo kwenye seva zenye shughuli nyingi. Haikuwa rahisi sana kwamba mchakato wowote ulikuwa wa muda wa kutosha kuuawa. Kwa kuongezea, na idadi kubwa ya michakato (kwa mfano, imap), nambari ya usindikaji ya idle_kill ilitumia CPU nyingi kwenye mchakato mkuu. Sasa kila muda wa idle_kill utafuatilia idadi ndogo ya michakato isiyo na kazi na kisha kuua nambari hiyo.
  • mdbox: Kukagua faili za muda kulifanyika kwa saraka tupu kila wakati.
  • mdbox: Wakati wa kuandika barua pepe, simu ya fdatasync() ilitekelezwa katika saraka ya mzazi isiyo sahihi. Pia, ilipoanguka, ilianguka badala ya kuandika makosa kwenye logi.
  • notify_status: Programu-jalizi inaacha kufanya kazi wakati uanzishaji wa mtumiaji unashindwa. - pop3: Kutuma amri na ':' kulisababisha "assert-crash". Regression katika kutolewa 2.3.18.
  • takwimu: Ilirekebisha hofu iliyotokea wakati wa kufikia kisafirishaji tukio lisilokuwepo wakati wa kuongeza kipimo kipya kwa kutumia amri ya "doveadm stats add". Sasa kosa sahihi limetolewa.
  • takwimu: Ikiwa mchakato ulihamisha matukio mengi na kisha kuondoka, baadhi ya matukio ya hivi punde yanaweza kuwa yamepotea.
  • takwimu: Majina ya lebo ya Prometheus yasiyo sahihi yaliundwa kwa usanidi fulani wa histogram group_by. Prometheus alikataa vitambulisho hivi.
  • karibu: Programu-jalizi haikufaulu katika baadhi ya hali ambapo kikasha pokezi kiliundwa lakini hakijafunguliwa, kwa mfano ikiwa GETMETADATA ilitumiwa kabla ya kufungua KUKASHA.

Chanzo: opennet.ru

Kuongeza maoni