Phiên bản mới của máy chủ POP3 và IMAP4 Dovecot 2.3.21

Phiên bản mới của máy chủ POP3/IMAP4 đa nền tảng hiệu suất cao Dovecot 2.3.21 đã được xuất bản, hỗ trợ giao thức POP3 và IMAP4rev1 với các tiện ích mở rộng phổ biến như SORT, THREAD và IDLE cũng như các cơ chế xác thực và mã hóa (SASL, TLS, SCRAM). Dovecot vẫn hoàn toàn tương thích với mbox cổ điển và Maildir, sử dụng các chỉ mục bên ngoài để cải thiện hiệu suất. Các plugin có thể được sử dụng để mở rộng chức năng (ví dụ: hạn ngạch và ACL được triển khai thông qua các plugin). Mã dự án được phân phối theo giấy phép LGPL và MIT.

Sự thay đổi chính:

  • lib-oauth2: Cho phép xác thực mã thông báo JWT với trường "typ" bị thiếu. Trường "typ" không được một số nhà phát hành chính sử dụng để tiết kiệm dung lượng, đặc biệt là kubernetes. Bây giờ sự vắng mặt của "typ" có thể chấp nhận được, nhưng nếu có thì nó vẫn phải là "jwt".
  • auth: Phản hồi "Auth" từ passdb và userdb có thể chứa giá trị "event_" =value" sẽ được thêm vào sự kiện đăng nhập và sự kiện người dùng thư tương ứng.
  • lib-master: Đặt tiêu đề quy trình ở các giai đoạn khởi tạo khác nhau để làm rõ quy trình đang chờ đợi điều gì.
  • lib-storage: mail_temp_scan_interval hiện được tăng thêm 0...30% dựa trên hàm băm tên người dùng để giảm khả năng tải tăng đột biến.
  • lib-storage: Đã di chuyển quá trình quét tệp tạm thời từ thời điểm hộp thư được mở đến thời điểm nó đóng để giảm độ trễ mà người dùng gặp phải.
  • số liệu thống kê: Nếu các trường được chỉ định trong số liệu thì tất cả các trường này sẽ được xuất dưới dạng bộ đếm sang prometheus ở định dạng trình bày.
  • "*-login": Các quy trình có thể gặp sự cố nếu kết nối SSL vô tình bị chấm dứt. - acl: Khi tải plugin, cờ \\HasChildren và \\HasNoChildren được tính toán không chính xác cho các hộp thư chứa '*' và '%' trong tên của chúng.
  • auth: Đã xảy ra sự cố khi kết nối với DBMS PostgreSQL trong quá trình khởi động không thành công.
  • auth: Khi đăng nhập bằng mật khẩu không hợp lệ (ví dụ: với sơ đồ không xác định), passdb đã đưa ra lỗi "mật khẩu không khớp" thay vì "lỗi nội bộ".
  • auth: Cơ chế XOAUTH2 và OAUTHBEARER không đưa ra thông báo lỗi dành riêng cho giao thức về bất kỳ lỗi nào. Điều này đặc biệt cản trở việc phát hiện OIDC.
  • dbox: Nếu tiêu đề Last_temp_file_scan không được đặt (đặc biệt là sau khi di chuyển dsync), thì lần tiếp theo khi hộp thư được mở, quá trình quét các tệp tạm thời sẽ luôn được khởi chạy. Điều này có thể gây ra tình trạng tải tăng đột biến sau khi di chuyển. Đã sửa lỗi sử dụng thư mục hộp thư vào thời điểm không có tiêu đề, điều này thường đẩy thời gian quét về tương lai.
  • dict-redis: Khôi phục giao dịch không thành công.
  • dsync: Khi xóa hộp thư ở đầu từ xa, khi các dấu phân cách phân cấp không khớp, một vòng lặp vô hạn đã xảy ra, dẫn đến sự kiện hết bộ nhớ.
  • dsync: Dsync tăng dần không được thực hiện trên các tên thư mục kết thúc bằng '%' trừ khi BROKENCHAR được đặt. Ngoài ra, tên thư mục có '%' ở những vị trí khác khiến thư mục bị đổi tên thành tên tạm thời một cách không cần thiết và bị đổi tên lại sau mỗi lần dsync tăng dần. Hồi quy v2.3.19.
  • imap-hibernate: Nếu ứng dụng khách IMAP hết thời gian chờ với thông báo "(phiên bản đã nhận)" trong khi mở khóa, quá trình mở khóa sau đó có thể hoàn tất thành công và tiếp tục hoạt động bình thường. Điều này thật khó hiểu vì imap-hibernate đã phát hiện ra rằng máy khách đã ngắt kết nối. Bạn có thể tránh điều này bằng cách buộc kết nối kết thúc khi hết thời gian ngủ đông.
  • imapc: Sự cố khi thư mục hiển thị qua plugin ảo biến mất khỏi bộ lưu trữ.
  • impc: Các phản hồi EXPUNGE, EXISTS hoặc FETCH từ máy chủ cho hộp thư đã chọn trước đó có thể được xử lý như thể chúng thuộc về hộp thư mới hiện được chọn. Điều này có thể dẫn đến cảnh báo.
  • lib-http: Máy chủ HTTP Dovecot (doveadm, stats/openmetrics) có thể ngắt kết nối các máy khách HTTP trước khi phản hồi được gửi đầy đủ. Điều này chỉ xảy ra trên các máy chủ bận rộn nơi bộ đệm ổ cắm hạt nhân rất đầy đủ.
  • lib-http: Đã khắc phục sự cố có thể xảy ra của máy chủ http nếu máy khách ngắt kết nối sớm. Hồi quy trong 2.3.18.
  • lib-index: Tệp chỉ mục bị hỏng có thể gây ra sự cố. Đã giải quyết: Hoảng sợ: tệp mail-transaction-log-view.c: dòng 165 (mail_transaction_log_view_set): xác nhận không thành công: (min_file_seq <= max_file_seq).
  • lib-index: Xóa tệp bộ đệm hiện có lớn hơn 1 GB có thể gây ra sự cố. Bây giờ, sau khi xóa, các tệp bộ nhớ đệm vẫn lớn hơn 1 GB sẽ bị xóa. Đã sửa lỗi: Hoảng loạn: tệp mail-index-util.c: dòng 10 (mail_index_uint32_to_offset): xác nhận không thành công: (offset < 0x40000000).
  • lib-lua: Máy khách HTTP không thể phân giải tên DNS trong quy trình thư vì nó dự kiến ​​ổ cắm "dns-client" sẽ nằm trong thư mục hiện tại.
  • lib-oauth2: Dovecot đã gửi client_id và client_secret dưới dạng tham số POST tới máy chủ xem xét nội bộ. Tuy nhiên, với Basic auth việc sử dụng chúng là tùy chọn.
  • lib-oauth2: Việc xác thực "aud" JWT không được thực hiện nếu "aud" không có trong mã thông báo nhưng được định cấu hình trong Dovecot.
  • lib-oauth2: Kiểm tra loại khóa JWT quá nghiêm ngặt.
  • lib-oauth2: Đối tượng mã thông báo JWT chưa được kiểm tra dựa trên client_id theo yêu cầu của thông số kỹ thuật.
  • lib-ssl-iostream: Việc sử dụng tùy chọn ssl_require_crl=yes có thể khiến việc kiểm tra CRL không thành công đối với các kết nối SSL/TLS gửi đi, mặc dù mục đích của nó là chỉ ảnh hưởng đến việc kiểm tra CRL cho chứng chỉ SSL máy khách. hồi quy v2.3.17.
  • lib-sql: Trình điều khiển MySQL bị rò rỉ bộ nhớ khi kết nối không thành công.
  • lib-storage: Các bản sửa lỗi khác nhau cho dung lượng ổ đĩa thấp.
  • master: Cài đặt dịch vụ Idle_kill không hoạt động bình thường trên các máy chủ bận. Rất khó có khả năng bất kỳ quá trình nào không hoạt động đủ lâu để bị giết. Ngoài ra, với số lượng lớn các tiến trình (ví dụ imap), mã xử lý id_kill đã sử dụng khá nhiều CPU trên tiến trình chính. Bây giờ, mỗi khoảng thời gian Idle_kill sẽ theo dõi số lượng quy trình nhàn rỗi nhỏ nhất và sau đó loại bỏ số đó.
  • mdbox: Việc kiểm tra các tệp tạm thời được thực hiện đối với các thư mục luôn trống.
  • mdbox: Khi viết email, cuộc gọi fdatasync() đã được thực thi trong thư mục mẹ sai. Ngoài ra, khi nó gặp sự cố, nó bị lỗi thay vì ghi lỗi vào nhật ký.
  • thông báo_status: Plugin gặp sự cố khi khởi tạo người dùng không thành công. - pop3: Gửi lệnh có dấu ':' dẫn đến "sự cố xác nhận". Hồi quy trong phiên bản 2.3.18.
  • số liệu thống kê: Đã sửa lỗi xảy ra khi truy cập vào trình xuất sự kiện không tồn tại khi tự động thêm số liệu mới bằng lệnh “thêm số liệu thống kê doveadm”. Bây giờ lỗi chính xác được đưa ra.
  • số liệu thống kê: Nếu một quy trình xuất nhiều sự kiện rồi thoát ra thì một số sự kiện mới nhất có thể đã bị mất.
  • số liệu thống kê: Tên nhãn Prometheus không chính xác đã được tạo với các cấu hình nhóm_by biểu đồ nhất định. Prometheus đã từ chối những thẻ này.
  • chào mừng: Plugin không thành công trong một số trường hợp INBOX được tạo nhưng chưa mở được, chẳng hạn như nếu GETMETADATA được sử dụng trước khi mở INBOX.

Nguồn: opennet.ru

Thêm một lời nhận xét