POP3 və IMAP4 serverinin yeni versiyası Dovecot 2.3.21

Çox platformalı yüksək məhsuldarlıqlı POP3/IMAP4 server Dovecot 2.3.21-in SORT, THREAD və IDLE kimi məşhur genişləndirmələri, autentifikasiya və şifrələmə mexanizmləri (SASL, TLS, SCRAM). Dovecot, performansı yaxşılaşdırmaq üçün xarici indekslərdən istifadə edərək klassik mbox və Maildir ilə tam uyğun olaraq qalır. Pluginlər funksionallığı genişləndirmək üçün istifadə edilə bilər (məsələn, kvotalar və ACL-lər plaginlər vasitəsilə həyata keçirilir). Layihə kodu LGPL və MIT lisenziyaları altında paylanır.

Əsas dəyişikliklər:

  • lib-oauth2: Çatışmayan "tip" sahəsi ilə JWT tokenlərinin doğrulanmasına icazə verin. "Tip" sahəsi bəzi əsas emitentlər tərəfindən yerə qənaət etmək üçün istifadə edilmir, xüsusən kubernetlər. İndi "tip"in olmaması məqbuldur, lakin əgər varsa, yenə də "jwt" olmalıdır.
  • auth: passdb və userdb-dən "Auth" cavabında "event_" dəyəri ola bilər =value" müvafiq olaraq giriş hadisəsinə və poçt istifadəçisi hadisəsinə əlavə olunacaq.
  • lib-master: Prosesin nəyi gözlədiyini aydınlaşdırmaq üçün başlanğıcın müxtəlif mərhələlərində prosesin başlığını təyin edir.
  • lib-storage: mail_temp_scan_interval indi yük sıçrayışlarının ehtimalını azaltmaq üçün istifadəçi adı hash əsasında 0...30% artırılıb.
  • lib-storage: İstifadəçilər tərəfindən yaşanan gecikməni azaltmaq üçün poçt qutusu açıldığı andan bağlandığı ana qədər müvəqqəti fayl taraması köçürüldü.
  • stats: Metrikdə sahələr göstərilibsə, bütün bu sahələr ekspozisiya formatında prometeyə sayğac kimi ixrac edilir.
  • "*-login": SSL bağlantısı təsadüfən kəsilərsə, proseslər çökə bilər. - acl: Plugini yükləyərkən adlarında '*' və '%' olan poçt qutuları üçün \\HasChildren və \\HasNoChildren bayraqları səhv hesablanıb.
  • auth: Başlama zamanı PostgreSQL DBMS-ə qoşulma zamanı qəza baş verdi.
  • auth: Yanlış parollarla (məsələn, naməlum sxemlə) daxil olarkən passdb "daxili xəta" əvəzinə "parol uyğunsuzluğu" xətası verirdi.
  • auth: XOAUTH2 və OAUTHBEARER mexanizmləri heç bir xəta haqqında protokola xas xəta mesajı vermədi. Bu, xüsusilə OIDC-nin aşkarlanmasına mane oldu.
  • dbox: Əgər last_temp_file_scan başlığı təyin olunmayıbsa (xüsusilə də dsync miqrasiyasından sonra), onda poçt qutusu növbəti dəfə açıldıqda, müvəqqəti faylların skanı həmişə işə salınacaq. Bu, miqrasiyadan sonra yük artımına səbəb ola bilər. Heç bir başlıq olmadıqda poçt qutusu kataloqundan istifadə etməklə düzəldildi, bu da adətən skan vaxtını gələcəyə itələyir.
  • dict-redis: Əməliyyatın geri qaytarılması uğursuz oldu.
  • dsync: Uzaq uçda bir poçt qutusunu silərkən, iyerarxiya ayırıcıları uyğun gəlmədikdə, sonsuz bir dövrə meydana gəldi və nəticədə yaddaş tükəndi.
  • dsync: BROKENCHAR təyin edilmədikcə artımlı dsync '%' ilə bitən qovluq adlarında yerinə yetirilmədi. Həmçinin, digər yerlərdə '%' olan qovluq adları qovluğun adının lazımsız olaraq müvəqqəti ada və hər artan dsync ilə yenidən dəyişdirilməsinə səbəb oldu. Reqressiya v2.3.19.
  • imap-hibernate: Kilidi açarkən IMAP müştərisi "(versiya alındı)" mesajı ilə vaxt aşıbsa, kilidin açılması daha sonra uğurla tamamlana və normal işləməyə davam edə bilər. Bu çaşdırıcı idi, çünki imap-hibernate müştərinin əlaqəni kəsdiyini artıq aşkar etmişdi. Bağlantını qışlama rejimində vaxt aşımı ilə bitirməyə məcbur etməklə bunun qarşısını ala bilərsiniz.
  • imapc: Virtual plagin vasitəsilə göstərilən qovluq yaddaşdan yox olduqda qəza baş verir.
  • imapc: EXPUNGE, EXISTS və ya FETCH cavabları ilə server Əvvəllər seçilmiş poçt qutusu üçün mesajlar yeni, hazırda seçilmiş poçt qutusuna aid olduğu kimi emal edilə bilər. Bu, xəbərdarlıqlarla nəticələnə bilər.
  • lib-http: Dovecot HTTP serveri (doveadm, stats/openmetrics) cavab tam göndərilməmişdən əvvəl HTTP müştərilərini ayıra bilər. Bu, yalnız nüvə yuvası buferlərinin çox dolu olduğu məşğul serverlərdə baş verdi.
  • lib-http: Müştəri erkən əlaqəni kəsərsə, http serverinin mümkün qəzası düzəldildi. 2.3.18-də reqressiya.
  • lib-index: İndeks faylının pozulması qəzaya səbəb ola bilər. Həll olundu: Panik: mail-transaction-log-view.c faylı: sətir 165 (mail_transaction_log_view_set): təsdiqləmə uğursuz oldu: (min_file_seq <= max_file_seq).
  • lib-index: 1 GB-dan böyük mövcud keş faylının silinməsi qəzaya səbəb ola bilər. İndi təmizləndikdən sonra hələ də 1 GB-dan böyük olan keş faylları silinir. Düzəltildi: Panik: mail-index-util.c faylı: sətir 10 (mail_index_uint32_to_offset): təsdiqləmə uğursuz oldu: (ofset < 0x40000000).
  • lib-lua: HTTP müştəri poçt proseslərində DNS adlarını həll edə bilmədi, çünki "dns-client" yuvasının cari kataloqda olmasını gözləyirdi.
  • lib-oauth2: Dovecot client_id və client_secret-i POST parametrləri kimi introspeksiya serverinə göndərdi. Bununla belə, Basic auth ilə onların istifadəsi isteğe bağlıdır.
  • lib-oauth2: Əgər "aud" işarədə deyilsə, lakin Dovecot-da konfiqurasiya edilibsə, JWT "aud"unun doğrulanması həyata keçirilməyib.
  • lib-oauth2: JWT açar növü yoxlanışı çox sərtdir.
  • lib-oauth2: JWT token auditoriyası spesifikasiyanın tələb etdiyi kimi client_id ilə yoxlanılmadı.
  • lib-ssl-iostream: ssl_require_crl=yes funksiyasından istifadə etmək, çıxan SSL/TLS bağlantıları üçün CRL yoxlamasının uğursuz olmasına səbəb ola bilər, baxmayaraq ki, bu, yalnız klient tərəfindəki CRL yoxlamasına təsir etmək üçün nəzərdə tutulmuşdu. SSL sertifikatları. v2.3.17 reqressiyası.
  • lib-sql: MySQL sürücüsü qoşulma uğursuz olduqda yaddaş sızdırdı.
  • lib-storage: Az disk sahəsi üçün müxtəlif düzəlişlər.
  • master: idle_kill xidmətinin qurulması məşğul serverlərdə düzgün işləmədi. Hər hansı bir prosesin öldürülmək üçün kifayət qədər boş qalması ehtimalı çox az idi. Bundan əlavə, çox sayda proses (məsələn, imap) ilə idle_kill emal kodu əsas prosesdə kifayət qədər çox CPU istifadə etdi. İndi hər bir idle_kill vaxt intervalı ən kiçik sayda boş proseslərə nəzarət edəcək və sonra həmin rəqəmi öldürəcək.
  • mdbox: Müvəqqəti faylların yoxlanılması həmişə boş qovluqlar üçün həyata keçirilib.
  • mdbox: E-poçtları yazarkən fdatasync() çağırışı səhv əsas kataloqda yerinə yetirildi. Həm də qəzaya uğrayanda loga xəta yazmaq əvəzinə çökdü.
  • notify_status: İstifadəçinin işə salınması uğursuz olduqda plagin çökür. - pop3: ':' ilə əmrin göndərilməsi "assert-crash" ilə nəticələndi. Buraxılış 2.3.18-də reqressiya.
  • stats: “doveadm stats add” əmrindən istifadə edərək dinamik olaraq yeni metrik əlavə edərkən mövcud olmayan hadisə ixracatçısına daxil olarkən yaranan panika düzəldildi. İndi düzgün səhv verilir.
  • stats: Əgər proses çoxlu hadisələri ixrac edibsə və sonra çıxış edibsə, ən son hadisələrdən bəziləri itirilmiş ola bilər.
  • stats: Yanlış Prometheus etiket adları müəyyən histogram group_by konfiqurasiyaları ilə yaradılmışdır. Prometey bu etiketləri rədd etdi.
  • xoş gəlmisiniz: Plugin GƏLƏNİLƏR BOXunun yaradıldığı, lakin açılmadığı bəzi hallarda uğursuz oldu, məsələn, GETMETADATA GƏLƏNİŞ QUTUSU açılmazdan əvvəl istifadə olunubsa.

Mənbə: opennet.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster