Ny version av POP3 och IMAP4-servern Dovecot 2.3.21

En ny version av den plattformsoberoende högpresterande POP3/IMAP4-servern Dovecot 2.3.21 har publicerats, som stöder protokollen POP3 och IMAP4rev1 med populÀra tillÀgg, sÄsom SORT, THREAD och IDLE, samt autentiserings- och krypteringsmekanismer (SASL, TLS, SCRAM). Dovecot bibehÄller fullstÀndig kompatibilitet med klassiska mbox och Maildir genom att anvÀnda externa index för att öka prestandan. För att utöka funktionaliteten kan plugins anvÀndas (till exempel implementeras kvoter och ACL via plugins). Projektets kod distribueras under licenserna LGPL och MIT.

Huvudsakliga förÀndringar:

  • lib-oauth2: Kontroll av JWT-token tillĂ„ts nu utan fĂ€ltet "typ". FĂ€ltet "typ" anvĂ€nds inte av vissa nyckelutfĂ€rdare för att spara utrymme, sĂ€rskilt kubernetes. Nu tillĂ„ts avsaknad av "typ", men om det finns sĂ„ mĂ„ste det fortfarande vara "jwt".
  • auth: Svaret "Auth" frĂ„n passdb och userdb kan innehĂ„lla vĂ€rdet "event_=value", vilket kommer att lĂ€ggas till hĂ€ndelsen för inloggning respektive hĂ€ndelsen för e-postanvĂ€ndaren.
  • lib-master: SĂ€tter processens rubrik vid olika initieringssteg för att tydligt förklara vad processen förvĂ€ntar sig.
  • lib-storage: Intervallen mail_temp_scan_interval ökar nu med 0
30% beroende pĂ„ hash av anvĂ€ndarnamnet för att minska risken för belastningstoppar.
  • lib-storage: Skanning av temporĂ€ra filer flyttades frĂ„n att ske vid öppnandet av postlĂ„dan till vid stĂ€ngning för att minska fördröjningen som upplevs av anvĂ€ndarna.
  • stats: Om fĂ€lten anges i statistiken, exporteras alla dessa fĂ€lt som rĂ€knare för prometheus i exposition-format.
  • "*-login": Processerna kunde krascha vid en ovarsam avslutning av SSL-anslutningen. — acl: Vid laddning av plugin berĂ€knades flaggorna \\HasChildren och \\HasNoChildren felaktigt för postlĂ„dor som innehöll '*' och '%'.
  • auth: En krasch intrĂ€ffade vid ett misslyckat anslutning till PostgreSQL-databasen vid start.
  • auth: Vid inloggning med felaktiga lösenord (till exempel med en okĂ€nd schemat) genererades istĂ€llet för "intern fel" ett meddelande om "password mismatch" i passdb.
  • auth: Mekanismerna XOAUTH2 och OAUTHBEARER gav inte ett protokollspecifikt felmeddelande vid nĂ„gra fel. Detta försvĂ„rade sĂ€rskilt upptĂ€ckten av OIDC.
  • dbox: Om rubriken last_temp_file_scan inte har angetts (sĂ€rskilt efter dsync-migrering), sĂ„ startades alltid en skanning av tillfĂ€lliga filer nĂ€sta gĂ„ng postlĂ„dan öppnades. Detta kunde orsaka en belastningstoppar efter migrationer. Detta har Ă„tgĂ€rdats genom att anvĂ€nda atime för postlĂ„dans katalog nĂ€r rubriken saknas, vilket vanligtvis flyttar skanningstiden framĂ„t.
  • dict-redis: Det uppstod ett fel vid Ă„terstĂ€llning av transaktioner.
  • dsync: Vid borttagning av postlĂ„da pĂ„ den avlĂ€gsna sidan, nĂ€r avgrĂ€nsarna för hierarkiska nivĂ„er inte matchade, uppstod en oĂ€ndlig loop som ledde till minnesutflöde.
  • dsync: Inkrementell dsync utfördes inte för mappnamn som slutade pĂ„ ‘%’ om inte vĂ€rdet BROKENCHAR var instĂ€llt. Mappnamn med ‘%’ pĂ„ andra stĂ€llen ledde ocksĂ„ till onödig omnamning av mappen till ett temporĂ€rt namn och tillbaka vid varje inkrementell dsync. Regression v2.3.19.
  • imap-hibernate: Om det uppstod timeout nĂ€r IMAP-klientens upplĂ„sning skedde med meddelandet "(version received)", kunde upplĂ„sningen senare slutföras framgĂ„ngsrikt och fortsĂ€tta vanlig drift. Detta ledde till förvirring eftersom imap-hibernate redan hade registrerat att klienten var frĂ„nkopplad. Detta kan undvikas genom att lĂ„ta anslutningen avslutas vid timeout för hybernationens avslutande.
  • imapc: Krasch vid borttagning av en mapp som visades via den virtuella plugin.
  • imapc: Svar EXPUNGE, EXISTS eller FETCH med servern för den tidigare valda postlĂ„dan kunde behandlas som om de tillhörde den nya postlĂ„dan som valdes just nu. Detta kunde leda till att varningar framkom.
  • lib-http: HTTP-servern Dovecot (doveadm, stats/openmetrics) kunde koppla bort HTTP-kunder före fullstĂ€ndig skickning av svaret. Detta intrĂ€ffade endast pĂ„ belastade servrar dĂ€r kĂ€rnans socketbuffrar var kraftigt överfyllda.
  • lib-http: Möjlig krasch av http-servern vid tidig avkoppling av kunden har Ă„tgĂ€rdats. Regression i 2.3.18.
  • lib-index: Skada pĂ„ indexfilen kunde leda till krasch. ÅtgĂ€rdat: Panic: file mail-transaction-log-view.c: line 165 (mail_transaction_log_view_set): assertion failed: (min_file_seq <= max_file_seq).
  • lib-index: Rensning av befintlig cachefil större Ă€n 1 GB kan ha lett till ett fel. Nu raderas cachefiler som fortfarande överskrider 1 GB efter rensning. ÅtgĂ€rdat: Panic: file mail-index-util.c: line 10 (mail_index_uint32_to_offset): assertion failed: (offset < 0x40000000).
  • lib-lua: HTTP-klienten kunde inte bestĂ€mma DNS-namn i postprocesserna, eftersom den förvĂ€ntade att socketen 'dns-client' skulle finnas i den aktuella katalogen.
  • lib-oauth2: Dovecot skickade client_id och client_secret som POST-parametrar till introspektionstjĂ€nsten. Vid Basic auth Ă€r deras anvĂ€ndning dock valfri.
  • lib-oauth2: Validering av JWT 'aud' utfördes inte om 'aud' saknades i token, men var konfigurerad i Dovecot.
  • lib-oauth2: För strĂ€ng typkontroll av JWT-nycklar.
  • lib-oauth2: MĂ„lgruppen för JWT-token kontrollerades inte mot client_id, vilket specificationen krĂ€ver.
  • lib-ssl-iostream: AnvĂ€ndningen av parametern ssl_require_crl=yes kan ha lett till fel vid CRL-kontroll för utgĂ„ende SSL/TLS-anslutningar, trots att det var tĂ€nkt att den endast skulle pĂ„verka CRL-kontrollen för klienter. SSL-certifikat. v2.3.17 regression.
  • lib-sql: MySQL-drivrutinen tillĂ€t minneslĂ€ckor vid misslyckade anslutningar.
  • lib-storage: Olika korrigeringar vid brist pĂ„ diskutrymme.
  • master: Konfigurationen av idle_kill-tjĂ€nsten fungerade inte som den skulle pĂ„ belastade servrar. Det var mycket osannolikt att nĂ„gon process var inaktiv tillrĂ€ckligt lĂ€nge för att bli dödad. Dessutom, vid ett stort antal processer (t.ex. imap) anvĂ€nde idle_kill-koden en hel del CPU pĂ„ huvudprocessen. Nu kommer varje idle_kill-tidsintervall att spĂ„ra det minsta antalet inaktiva processer och sedan döda detta antal.
  • mdbox: Kontroll av temporĂ€ra filer utfördes för alltid tomma kataloger.
  • mdbox: Vid skrivning av meddelanden gjordes anropet till fdatasync() i fel överordnad katalog. Dessutom intrĂ€ffade ett fall av krasch istĂ€llet för att skriva ett fel i loggen vid ett misslyckande.
  • notify_status: Pluginet kraschar vid misslyckad anvĂ€ndarinitiering. — pop3: Att skicka kommandot med tecknet ':' ledde till ett 'assert-crash' fel. Regression i version 2.3.18.
  • stats: Paniken som uppstod vid Ă„tkomst till en icke-existerande evenemangs-exportör vid dynamisk tillĂ€ggning av en ny mĂ€tvĂ€rde via kommando 'doveadm stats add' Ă„tgĂ€rdades. Nu returneras ett korrekt fel.
  • statistik: Om processen har exporterats mĂ„nga hĂ€ndelser och sedan avslutats, kan nĂ„gra av de senaste hĂ€ndelserna ha gĂ„tt förlorade.
  • statistik: Felaktiga namn pĂ„ Prometheus-mĂ€rkningar skapades vid vissa konfigurationer av histogram group_by. Prometheus avvisade dessa mĂ€rken.
  • vĂ€lkommen: Plugin fungerade inte i vissa situationer nĂ€r INBOX skapades men inte öppnades, till exempel om GETMETADATA anvĂ€ndes innan INBOX öppnades.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster