POP3 болон IMAP4 серверийн шинэ хувилбар Dovecot 2.3.21

SORT, THREAD, IDLE гэх мэт түгээмэл өргөтгөлүүд, баталгаажуулалт, шифрлэлтийн механизмууд (SASL, TLS, SCRAM). Dovecot нь гүйцэтгэлийг сайжруулахын тулд гадаад индексүүдийг ашиглан сонгодог mbox болон Maildir-тэй бүрэн нийцтэй хэвээр байна. Залгаасуудыг функцийг өргөжүүлэхэд ашиглаж болно (жишээлбэл, квот болон ACL нь залгаасуудаар хэрэгждэг). Төслийн кодыг LGPL болон MIT лицензийн дагуу түгээдэг.

Үндсэн өөрчлөлтүүд:

  • lib-oauth2: "typ" талбар дутуу JWT жетоныг баталгаажуулахыг зөвшөөрөх. "Typ" талбарыг зарим гол гаргагчид зай хэмнэхийн тулд ашигладаггүй, ялангуяа kubernetes. Одоо "typ" байхгүй бол зөвшөөрөгдөх боловч хэрэв байгаа бол "jwt" хэвээр байх ёстой.
  • auth: passdb болон userdb-ийн "Auth" хариулт нь "event_" утгыг агуулж болно. =утга" нь нэвтрэх үйл явдал болон имэйл хэрэглэгчийн үйл явдалд тус тус нэмэгдэх болно.
  • lib-master: Процесс юу хүлээж байгааг тодруулахын тулд эхлүүлэх янз бүрийн үе шатанд процессын гарчгийг тохируулна.
  • lib-storage: Ачаалал нэмэгдэх магадлалыг бууруулахын тулд mail_temp_scan_interval одоо хэрэглэгчийн нэрийн хэш дээр тулгуурлан 0...30%-иар нэмэгдсэн.
  • lib-storage: Хэрэглэгчдэд учирч буй саатлыг багасгахын тулд шуудангийн хайрцгийг нээхээс эхлээд хаах хүртэл түр зуурын файл сканнердсан.
  • статистик: Хэрэв хэмжигдэхүүнд талбаруудыг зааж өгсөн бол эдгээр бүх талбаруудыг экспозиция форматаар прометей руу тоолуур болгон экспортлоно.
  • "*-login": Хэрэв SSL холболт санамсаргүй тасарсан бол процессууд гацах магадлалтай. - acl: Залгаасыг ачаалах үед нэрэндээ '*' болон '%' агуулсан шуудангийн хайрцгуудын хувьд \\HasChildren болон \\HasNoChildren тугуудыг буруу тооцоолсон.
  • auth: Эхлүүлэх явцад PostgreSQL DBMS-тэй холбогдоход гэмтэл гарлаа.
  • auth: Хүчингүй нууц үгээр (жишээ нь үл мэдэгдэх схемээр) нэвтрэх үед passdb нь "дотоод алдаа" биш "нууц үг таарахгүй" гэсэн алдаа гаргаж байсан.
  • auth: XOAUTH2 болон OAUTHBEARER механизмууд нь аливаа алдааны талаар протоколд хамаарах алдааны мессежийг гаргаагүй. Энэ нь ялангуяа OIDC илрүүлэхэд саад учруулсан.
  • dbox: Хэрэв last_temp_file_scan толгойг тохируулаагүй бол (ялангуяа dsync шилжүүлсний дараа) дараагийн удаа шуудангийн хайрцгийг нээхэд түр зуурын файлуудыг сканнердах ажиллагаа үргэлж явагдах болно. Энэ нь шилжилт хөдөлгөөний дараа ачаалал нэмэгдэхэд хүргэж болзошгүй. Гарчиг байхгүй үед шуудангийн хайрцгийн лавлахыг ашиглан зассан бөгөөд энэ нь ихэвчлэн скан хийх хугацааг ирээдүйд түлхэж өгдөг.
  • dict-redis: Гүйлгээг буцаах ажиллагаа амжилтгүй болсон.
  • dsync: Алсын төгсгөлд байгаа шуудангийн хайрцгийг устгах үед шатлалын хязгаарлагч таарахгүй байх үед хязгааргүй давталт үүсч, санах ойгүй болсон үйл явдал үүссэн.
  • dsync: BROKENCHAR-г тохируулаагүй л бол '%'-ээр төгссөн хавтасны нэр дээр нэмэлт синк хийгдээгүй. Мөн бусад газруудад '%'-тай хавтасны нэрс нь фолдерыг шаардлагагүйгээр түр зуурын нэрээр сольж, синхрончлолын нэмэгдэл болгонд дахин нэрлэхэд хүргэсэн. Регресс v2.3.19.
  • imap-hibernate: Хэрэв IMAP клиент түгжээг тайлах явцад "(хувилбар хүлээн авсан)" гэсэн мессежээр хугацаа хэтэрсэн бол түгжээг тайлах ажиллагаа хожим амжилттай дуусч, хэвийн ажиллагааг үргэлжлүүлэх боломжтой. imap-hibernate нь үйлчлүүлэгчийг салгасныг аль хэдийн илрүүлсэн тул энэ нь будлиантай байсан. Та холболтыг ичээний горимын завсарлагатайгаар дуусгах замаар үүнээс зайлсхийх боломжтой.
  • imapc: Виртуал залгаасаар харуулсан хавтас хадгалах сангаас алга болоход гацах.
  • imapc: Өмнө нь сонгосон шуудангийн хайрцгийн серверээс ирсэн EXPUNGE, EXISTS эсвэл FETCH хариултыг одоогийн сонгосон шинэ шуудангийн хайрцагт харьяалагдах мэт авч үзэж болно. Үүний үр дүнд анхааруулга гарч болзошгүй.
  • lib-http: Dovecot HTTP сервер (doveadm, stats/openmetrics) хариуг бүрэн илгээхээс өмнө HTTP үйлчлүүлэгчдийг салгаж болно. Энэ нь зөвхөн цөмийн залгуурын буфер дүүрэн байсан завгүй серверүүдэд л тохиолдсон.
  • lib-http: Хэрэв үйлчлүүлэгч эрт салсан бол http серверийн эвдрэлийг зассан. 2.3.18 дахь регресс.
  • lib-index: Индекс файлын эвдрэл нь эвдрэлд хүргэж болзошгүй. Шийдвэрлэсэн: Санчирсан: файл mail-transaction-log-view.c: мөр 165 (mail_transaction_log_view_set): баталгаажуулалт амжилтгүй болсон: (min_file_seq <= max_file_seq).
  • lib-index: 1 ГБ-аас их хэмжээтэй байгаа кэш файлыг цэвэрлэх нь эвдрэлд хүргэж болзошгүй. Одоо цэвэрлэсний дараа 1 ГБ-аас их хэмжээтэй кэш файлууд устгагдана. Засвар: Сандарчилгааны: файл mail-index-util.c: мөр 10 (mail_index_uint32_to_offset): баталгаажуулалт амжилтгүй болсон: (офсет < 0x40000000).
  • lib-lua: HTTP клиент нь "dns-client" залгуур нь одоогийн директорт байх ёстой гэж үзсэн тул шуудангийн процесс дахь DNS нэрийг шийдэж чадсангүй.
  • lib-oauth2: Dovecot нь client_id болон client_secret-г POST параметр болгон дотоод үзлэгийн сервер рүү илгээсэн. Гэсэн хэдий ч, Basic auth-тай бол тэдгээрийг ашиглах нь сонголттой.
  • lib-oauth2: Хэрэв "aud" нь жетон дотор байгаагүй боловч Dovecot-д тохируулагдсан бол JWT "aud"-ын баталгаажуулалт хийгдээгүй.
  • lib-oauth2: JWT түлхүүрийн төрлийг шалгах нь хэтэрхий хатуу байна.
  • lib-oauth2: Тодорхойлолтын дагуу JWT токен үзэгчдийг client_id-тай харьцуулаагүй.
  • lib-ssl-iostream: ssl_require_crl=yes сонголтыг ашиглах нь зөвхөн үйлчлүүлэгчийн SSL сертификатын CRL шалгахад нөлөөлөх зорилготой байсан ч гарч буй SSL/TLS холболтуудад CRL шалгалт амжилтгүй болоход хүргэж болзошгүй. v2.3.17 регресс.
  • lib-sql: Холболт амжилтгүй болсон үед MySQL драйвер санах ой алдагдсан.
  • lib-storage: Дискний зай багатай янз бүрийн засварууд.
  • мастер: idle_kill үйлчилгээг тохируулах нь завгүй серверүүд дээр зөв ажиллаагүй. Аливаа үйл явц нь амь үрэгдэх хангалттай удаан зогссон байх магадлал тун бага байсан. Нэмж дурдахад, олон тооны процессуудтай (жишээ нь, imap) idle_kill боловсруулах код нь үндсэн процесст маш их CPU ашигласан. Одоо idle_kill хугацааны интервал бүр хамгийн бага тооны сул зогсолтыг хянаж, дараа нь тэр тоог устгана.
  • mdbox: Үргэлж хоосон санд түр зуурын файлуудыг шалгасан.
  • mdbox: Имэйл бичих үед fdatasync() дуудлагыг буруу эх директорт гүйцэтгэсэн. Мөн гацахдаа лог дээр алдаа бичихийн оронд гацсан.
  • notify_status: Хэрэглэгчийн тохиргоо амжилтгүй болоход залгаас гацдаг. - pop3: Командыг ':' тэмдэгтээр илгээснээр "assert-crash" гарсан. Хувилбарын регресс 2.3.18.
  • статистик: "doveadm stats add" командыг ашиглан шинэ хэмжигдэхүүнийг динамикаар нэмэх үед байхгүй үйл явдлын экспортлогч руу хандах үед үүссэн үймээнийг зассан. Одоо зөв алдаа гарлаа.
  • статистик: Хэрэв процесс олон үйл явдлыг экспортлоод дараа нь гарсан бол хамгийн сүүлийн үеийн зарим үйл явдал алдагдсан байж болзошгүй.
  • статистик: Прометей шошгоны нэрсийг тодорхой гистограммын бүлэг_бүлэг тохиргоогоор үүсгэсэн. Прометей эдгээр шошгооос татгалзав.
  • тавтай морилно уу: INBOX-г нээхээс өмнө GETMETADATA ашигласан бол INBOX үүсгэсэн боловч нээгдээгүй зарим тохиолдолд залгаас амжилтгүй болсон.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх