Ny versjon av POP3- og IMAP4-serveren Dovecot 2.3.21

En ny versjon av multiplattformen høyytelses POP3/IMAP4-serveren Dovecot 2.3.21 har blitt publisert, som støtter POP3- og IMAP4rev1-protokollene med populære utvidelser som SORT, THREAD og IDLE, og autentiserings- og krypteringsmekanismer (SASL, TLS, SCRAM). Dovecot forblir fullt kompatibel med klassisk mbox og Maildir, ved å bruke eksterne indekser for å forbedre ytelsen. Plugins kan brukes til å utvide funksjonaliteten (for eksempel implementeres kvoter og ACLer gjennom plugins). Prosjektkoden er distribuert under LGPL- og MIT-lisenser.

Hovedendringer:

  • lib-oauth2: Tillat validering av JWT-tokens med manglende "typ"-felt. "Typ"-feltet brukes ikke av noen nøkkelutstedere for å spare plass, spesielt kubernetes. Nå er fraværet av "typ" akseptabelt, men hvis det er tilstede må det fortsatt være "jwt".
  • auth: "Auth"-svaret fra passdb og userdb kan inneholde verdien "event_" =verdi" som vil bli lagt til henholdsvis påloggingshendelsen og e-postbrukerhendelsen.
  • lib-master: Stiller inn prosesstittelen på ulike stadier av initialiseringen for å klargjøre hva prosessen venter på.
  • lib-storage: Mail_temp_scan_interval økes nå med 0...30% basert på brukernavnet hash for å redusere sannsynligheten for belastningstopper.
  • lib-storage: Flyttet midlertidig filskanning fra øyeblikket postkassen åpnes til øyeblikket den lukkes for å redusere forsinkelsen brukere opplever.
  • statistikk: Hvis felt er spesifisert i metrikken, eksporteres alle disse feltene som tellere til prometheus i utstillingsformat.
  • "*-login": Prosesser kan krasje hvis SSL-tilkoblingen ble avsluttet ved et uhell. - acl: Når pluginet ble lastet, ble flaggene \\HasChildren og \\HasNoChildren feil beregnet for postbokser som inneholder '*' og '%' i navnene deres.
  • auth: Et krasj oppstod ved tilkobling til PostgreSQL DBMS under oppstart mislyktes.
  • auth: Når du logger på med ugyldige passord (for eksempel med et ukjent skjema), sendte passdb feilen "passordmismatch" i stedet for en "intern feil".
  • auth: XOAUTH2- og OAUTHBEARER-mekanismene ga ikke en protokollspesifikk feilmelding på noen feil. Dette hemmet spesielt oppdagelsen av OIDC.
  • dbox: Hvis headeren last_temp_file_scan ikke ble angitt (spesielt etter en dsync-migrering), vil en skanning av midlertidige filer alltid bli startet neste gang postboksen ble åpnet. Dette kan forårsake en belastningstopp etter migreringer. Rettet ved å bruke postbokskatalogen når det ikke er noen overskrift, noe som vanligvis skyver skannetid inn i fremtiden.
  • dict-redis: Tilbakeføring av transaksjon mislyktes.
  • dsync: Når du sletter en postboks på den eksterne enden, når hierarkiavgrensningene ikke stemte, oppsto en uendelig sløyfe, noe som resulterte i en ut-av-minnet-hendelse.
  • dsync: Inkrementell dsync ble ikke utført på mappenavn som slutter på '%' med mindre BROKENCHAR ble satt. Også mappenavn med '%' andre steder førte til at mappen ble unødvendig omdøpt til et midlertidig navn og tilbake igjen med hver inkrementell dsync. Regresjon v2.3.19.
  • imap-hibernate: Hvis en IMAP-klient ble tidsavbrutt med en "(versjon mottatt)"-melding under opplåsing, kan opplåsingen senere fullføres og fortsette normal drift. Dette var forvirrende fordi imap-hibernate allerede hadde oppdaget at klienten hadde koblet fra. Du kan unngå dette ved å tvinge tilkoblingen til å avsluttes med en dvalemodus.
  • imapc: Crash når en mappe som vises via en virtuell plugin forsvinner fra lagringen.
  • imapc: EXPUNGE-, EXISTS- eller FETCH-svar fra serveren for en tidligere valgt postboks kan behandles som om de tilhørte den nye postboksen som for øyeblikket er valgt. Dette kan føre til advarsler.
  • lib-http: Dovecot HTTP-serveren (doveadm, stats/openmetrics) kunne koble fra HTTP-klienter før svaret ble fullstendig sendt. Dette skjedde bare på travle servere der kjernesocket-bufferne var veldig fulle.
  • lib-http: Rettet et mulig krasj av http-serveren hvis klienten kobler fra tidlig. Regresjon i 2.3.18.
  • lib-index: Korrupsjon av indeksfilen kan forårsake krasj. Løst: Panikk: fil mail-transaction-log-view.c: linje 165 (mail_transaction_log_view_set): påstand mislyktes: (min_fil_seq <= max_file_seq).
  • lib-index: Sletting av en eksisterende hurtigbufferfil som er større enn 1 GB kan føre til en krasj. Nå, etter tømning, slettes cachefiler som fortsatt er større enn 1 GB. Rettet: Panikk: fil mail-index-util.c: linje 10 (mail_index_uint32_to_offset): påstand mislyktes: (offset < 0x40000000).
  • lib-lua: HTTP-klienten var ikke i stand til å løse DNS-navn i e-postprosesser fordi den forventet at "dns-client"-sokkelen skulle være i gjeldende katalog.
  • lib-oauth2: Dovecot sendte client_id og client_secret som POST-parametere til introspeksjonsserveren. Men med Basic auth er bruken valgfri.
  • lib-oauth2: Validering av JWT "aud" ble ikke utført hvis "aud" ikke var i tokenet, men ble konfigurert i Dovecot.
  • lib-oauth2: Kontroll av JWT-nøkkeltype er for streng.
  • lib-oauth2: JWT-tokenpublikummet ble ikke sjekket mot client_id som kreves av spesifikasjonen.
  • lib-ssl-iostream: Bruk av alternativet ssl_require_crl=yes kan føre til at CRL-kontroll mislykkes for utgående SSL/TLS-tilkoblinger, selv om det var ment å bare påvirke CRL-sjekking for klient-SSL-sertifikater. v2.3.17 regresjon.
  • lib-sql: MySQL-driver lekket minne da tilkobling mislyktes.
  • lib-storage: Ulike rettelser for lite diskplass.
  • master: Innstillingen av idle_kill-tjenesten fungerte ikke riktig på travle servere. Det var svært usannsynlig at noen prosess var inaktiv lenge nok til å bli drept. I tillegg, med et stort antall prosesser (for eksempel imap), brukte idle_kill-behandlingskoden ganske mye CPU på hovedprosessen. Nå vil hvert idle_kill-tidsintervall overvåke det minste antallet inaktive prosesser og deretter drepe det antallet.
  • mdbox: Kontroll av midlertidige filer ble utført for alltid tomme kataloger.
  • mdbox: Når du skrev e-post, ble fdatasync()-kallet utført i feil overordnet katalog. Også, når den krasjet, krasjet den i stedet for å skrive en feil til loggen.
  • notify_status: Programtillegget krasjer når brukerinitialisering mislykkes. - pop3: Sending av en kommando med ':' resulterte i en "assert-crash". Regresjon i utgivelse 2.3.18.
  • statistikk: Rettet en panikk som oppstod ved tilgang til en ikke-eksisterende hendelseseksportør ved dynamisk å legge til en ny beregning ved å bruke kommandoen "doveadm stats add". Nå er den riktige feilen gitt.
  • statistikk: Hvis en prosess eksporterte mange hendelser og deretter avsluttet, kan noen av de siste hendelsene ha gått tapt.
  • statistikk: Feil Prometheus-etikettnavn ble opprettet med visse histogram group_by-konfigurasjoner. Prometheus avviste disse taggene.
  • velkommen: Programtillegget mislyktes i noen situasjoner der en INBOX ble opprettet, men ikke åpnet, for eksempel hvis GETMETADATA ble brukt før du åpnet INBOX.

Kilde: opennet.ru

Legg til en kommentar