Nová verzia POP3 a IMAP4 servera Dovecot 2.3.21

Bola zverejnená nová verzia multiplatformového vysokovýkonného POP3/IMAP4 servera Dovecot 2.3.21, ktorý podporuje protokoly POP3 a IMAP4rev1 s populárnymi rozšíreniami ako SORT, THREAD a IDLE a mechanizmami autentifikácie a šifrovania (SASL, TLS, SCRAM). Dovecot zostáva plne kompatibilný s klasickými mbox a Maildir, pričom na zlepšenie výkonu využíva externé indexy. Zásuvné moduly možno použiť na rozšírenie funkčnosti (napríklad kvóty a zoznamy ACL sú implementované prostredníctvom zásuvných modulov). Kód projektu je distribuovaný pod licenciami LGPL a MIT.

Hlavné zmeny:

  • lib-oauth2: Povoliť overenie tokenov JWT s chýbajúcim poľom „typ“. Pole „typ“ nepoužívajú niektorí kľúčoví vydavatelia na úsporu miesta, najmä kubernetes. Teraz je neprítomnosť „typ“ prijateľná, ale ak je prítomný, stále musí byť „jwt“.
  • auth: Odpoveď "Auth" z passdb a userdb môže obsahovať hodnotu "event_" =value", ktorá bude pridaná k udalosti prihlásenia a udalosti používateľa pošty.
  • lib-master: Nastavuje názov procesu v rôznych fázach inicializácie, aby bolo jasné, na čo proces čaká.
  • lib-storage: Mail_temp_scan_interval je teraz zvýšený o 0...30% na základe hash užívateľského mena, aby sa znížila pravdepodobnosť nárastu zaťaženia.
  • lib-storage: Presunuté skenovanie dočasných súborov od okamihu otvorenia poštovej schránky do okamihu jej zatvorenia, aby sa skrátilo oneskorenie používateľov.
  • štatistiky: Ak sú polia špecifikované v metrike, potom sa všetky tieto polia exportujú ako počítadlá do prometheus vo formáte expozície.
  • "*-login": Procesy by mohli zlyhať, ak bolo pripojenie SSL neúmyselne ukončené. - acl: Pri načítavaní doplnku sa nesprávne vypočítali príznaky \\HasChildren a \\HasNoChildren pre poštové schránky obsahujúce '*' a '%' v názve.
  • auth: Pri zlyhaní pripojenia k PostgreSQL DBMS počas spúšťania došlo k zlyhaniu.
  • auth: Pri prihlasovaní s neplatnými heslami (napríklad s neznámou schémou) passdb hádzal chybu „nezhoda hesla“ namiesto „interná chyba“.
  • auth: Mechanizmy XOAUTH2 a OAUTHBEARER nevydali chybové hlásenie špecifické pre protokol pri žiadnych chybách. To najmä bránilo detekcii OIDC.
  • dbox: Ak hlavička last_temp_file_scan nebola nastavená (najmä po migrácii dsync), pri ďalšom otvorení poštovej schránky by sa vždy spustila kontrola dočasných súborov. To by mohlo spôsobiť nárast zaťaženia po migrácii. Opravené používanie času adresára poštovej schránky, keď nie je hlavička, čo zvyčajne posúva čas skenovania do budúcnosti.
  • dict-redis: Vrátenie transakcie zlyhalo.
  • dsync: Pri odstraňovaní poštovej schránky na vzdialenom konci, keď sa oddeľovače hierarchie nezhodovali, nastala nekonečná slučka, ktorá viedla k udalosti nedostatku pamäte.
  • dsync: Prírastková dsync nebola vykonaná pre názvy priečinkov končiace na '%', pokiaľ nebolo nastavené BROKENCHAR. Názvy priečinkov s '%' na iných miestach tiež spôsobili, že sa priečinok zbytočne premenoval na dočasný názov a pri každom prírastkovom synchronizovaní sa znova vrátil. Regresia v2.3.19.
  • imap-hibernate: Ak pri odomykaní vypršal časový limit klienta IMAP so správou „(verzia prijatá)“, odomknutie sa môže neskôr úspešne dokončiť a pokračovať v normálnej prevádzke. Bolo to mätúce, pretože imap-hibernate už zistil, že klient sa odpojil. Môžete sa tomu vyhnúť tak, že vynútite ukončenie pripojenia s časovým limitom hibernácie.
  • imapc: Zlyhanie, keď priečinok zobrazený prostredníctvom virtuálneho doplnku zmizne z úložiska.
  • Odpovede imapc: EXPUNGE, EXISTS alebo FETCH zo servera pre predtým vybranú poštovú schránku by sa mohli spracovať tak, ako keby patrili do aktuálne vybratej novej poštovej schránky. To môže viesť k varovaniu.
  • lib-http: Server Dovecot HTTP (doveadm, stats/openmetrics) mohol odpojiť klientov HTTP pred úplným odoslaním odpovede. Stalo sa to len na zaneprázdnených serveroch, kde boli vyrovnávacie pamäte soketov jadra veľmi plné.
  • lib-http: Opravený možný pád http servera, ak sa klient odpojí skôr. Regresia v 2.3.18.
  • lib-index: Poškodenie indexového súboru môže spôsobiť zlyhanie. Vyriešené: Panika: súbor mail-transaction-log-view.c: riadok 165 (mail_transaction_log_view_set): tvrdenie zlyhalo: (min_file_seq <= max_file_seq).
  • lib-index: Vymazanie existujúceho súboru vyrovnávacej pamäte väčšieho ako 1 GB môže spôsobiť zlyhanie. Teraz, po vymazaní, sú súbory vyrovnávacej pamäte, ktoré sú stále väčšie ako 1 GB, odstránené. Opravené: Panika: súbor mail-index-util.c: riadok 10 (mail_index_uint32_to_offset): tvrdenie zlyhalo: (offset < 0x40000000).
  • lib-lua: HTTP klient nedokázal rozlíšiť názvy DNS v poštových procesoch, pretože očakával, že soket "dns-client" bude v aktuálnom adresári.
  • lib-oauth2: Dovecot odoslal client_id a client_secret ako parametre POST na server introspekcie. Pri Basic auth je však ich použitie voliteľné.
  • lib-oauth2: Overenie JWT "aud" nebolo vykonané, ak "aud" nebolo v tokene, ale bolo nakonfigurované v Dovecot.
  • lib-oauth2: Kontrola typu kľúča JWT je príliš prísna.
  • lib-oauth2: Publikum tokenov JWT nebolo skontrolované podľa client_id, ako to vyžaduje špecifikácia.
  • lib-ssl-iostream: Použitie voľby ssl_require_crl=yes by mohlo spôsobiť zlyhanie kontroly CRL pre odchádzajúce pripojenia SSL/TLS, hoci to malo ovplyvniť iba kontrolu CRL pre klientske certifikáty SSL. v2.3.17 regresia.
  • lib-sql: Pri zlyhaní pripojenia došlo k úniku pamäte ovládača MySQL.
  • lib-storage: Rôzne opravy pre nedostatok miesta na disku.
  • master: Nastavenie služby idle_kill nefungovalo správne na zaneprázdnených serveroch. Bolo veľmi nepravdepodobné, že by nejaký proces bol nečinný dostatočne dlho na to, aby ho zabili. Okrem toho pri veľkom počte procesov (napríklad imap) kód spracovania idle_kill využíval pomerne veľa CPU v hlavnom procese. Teraz bude každý časový interval idle_kill monitorovať najmenší počet nečinných procesov a potom tento počet zabije.
  • mdbox: Bola vykonaná kontrola dočasných súborov pre vždy prázdne adresáre.
  • mdbox: Pri písaní e-mailov sa volanie fdatasync() vykonalo v nesprávnom nadradenom adresári. Taktiež, keď sa to zrútilo, zrútilo sa namiesto toho, aby sa zapísala chyba do denníka.
  • notify_status: Doplnok zlyhá, keď inicializácia používateľa zlyhá. - pop3: Odoslanie príkazu s ':' viedlo k "asset-crash". Regresia vo verzii 2.3.18.
  • štatistiky: Opravená panika, ktorá sa vyskytla pri prístupe k neexistujúcemu exportéru udalostí pri dynamickom pridávaní novej metriky pomocou príkazu „doveadm stats add“. Teraz je uvedená správna chyba.
  • štatistiky: Ak proces exportoval veľa udalostí a potom sa skončil, niektoré z najnovších udalostí sa mohli stratiť.
  • štatistiky: Pri určitých konfiguráciách histogramu group_by boli vytvorené nesprávne názvy štítkov Prometheus. Prometheus tieto značky odmietol.
  • vitajte: Doplnok zlyhal v niektorých situáciách, keď bola vytvorená doručená pošta, ale nebola otvorená, napríklad ak sa pred otvorením doručenej pošty použili GETMETADATA.

Zdroj: opennet.ru

Pridať komentár