diff options
author | J0WI <J0WI@users.noreply.github.com> | 2022-05-24 21:49:29 +0200 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2022-05-25 01:18:45 +0000 |
commit | 95bd4db6c8dce176be4d383aa89b01bfb21c20f0 (patch) | |
tree | 4a0b717aef1cfa89c9959baf77306e4e3e22ab14 | |
parent | acae66983dafed45660a0c90ea14325cfe078ab4 (diff) |
main/nginx: upgrade to 1.22.0, upgrade modules
Note: We cannot switch to PCRE2 yet because of Lua module:
nginx: [emerg] dlopen() "/var/lib/nginx/modules/ngx_http_lua_module.so" failed (Error relocating /var/lib/nginx/modules/ngx_http_lua_module.so: pcre_dfa_exec: symbol not found) in /etc/nginx/modules/30_http_lua.conf:1
Co-Authored-By: Jakub Jirutka <jakub@jirutka.cz>
-rw-r--r-- | main/nginx/APKBUILD | 55 | ||||
-rw-r--r-- | main/nginx/CVE-2021-3618.patch | 92 | ||||
-rw-r--r-- | main/nginx/nginx-tests~skip-broken-mail_max_error-tests.patch | 33 |
3 files changed, 28 insertions, 152 deletions
diff --git a/main/nginx/APKBUILD b/main/nginx/APKBUILD index 98b2cf1564a..0e627a76127 100644 --- a/main/nginx/APKBUILD +++ b/main/nginx/APKBUILD @@ -29,11 +29,11 @@ pkgname=nginx # NOTE: Upgrade only to even-numbered versions (e.g. 1.14.z, 1.16.z)! # Odd-numbered versions are mainline (development) versions. -pkgver=1.20.2 -pkgrel=2 +pkgver=1.22.0 +pkgrel=0 # Revision of nginx-tests to use for check(). -_tests_hgrev=823f603da727 -_njs_ver=0.7.3 +_tests_hgrev=8f13779e2cde +_njs_ver=0.7.4 pkgdesc="HTTP and reverse proxy server (stable version)" url="https://www.nginx.org/" arch="all" @@ -47,7 +47,7 @@ makedepends=" libxml2-dev libxslt-dev linux-headers - openssl1.1-compat-dev + openssl-dev pcre-dev perl-dev pkgconf @@ -85,10 +85,8 @@ source="https://nginx.org/download/$pkgname-$pkgver.tar.gz nginx-module-vts~set-histogram-buckets-on-first-request.patch traffic-accounting-nginx-module~disable-stream-module.patch nginx_cookie_flag_module~fix-mem-allocations.patch - nginx-tests~skip-broken-mail_max_error-tests.patch njs~mktemp-busybox-compat.patch njs~nginx-1.20.x-compat.patch - CVE-2021-3618.patch nginx.conf default.conf stream.conf @@ -107,7 +105,7 @@ case "$CARCH" in esac case "$CARCH" in - x86 | s390x | mips64 | armv7 | armhf) _njs_mods= ;; # has failing tests + x86) _njs_mods= ;; # has failing tests *) _njs_mods="http-js stream-js";; esac @@ -174,10 +172,10 @@ _add_module "http-dav-ext" "v3.0.0" "https://github.com/arut/nginx-dav-ext-modul _add_module "http-echo" "v0.62" "https://github.com/openresty/echo-nginx-module" -_add_module "http-encrypted-session" "v0.08" "https://github.com/openresty/encrypted-session-nginx-module" +_add_module "http-encrypted-session" "v0.09" "https://github.com/openresty/encrypted-session-nginx-module" _http_encrypted_session_depends="$pkgname-mod-devel-kit" -_add_module "http-fancyindex" "v0.5.1" "https://github.com/aperezdc/ngx-fancyindex" +_add_module "http-fancyindex" "v0.5.2" "https://github.com/aperezdc/ngx-fancyindex" _add_module "http-geoip2" "3.3" "https://github.com/leev/ngx_http_geoip2_module" _add_module "stream-geoip2" "3.3" "https://github.com/leev/ngx_http_geoip2_module" @@ -189,7 +187,7 @@ _http_headers_more_so="ngx_http_headers_more_filter_module.so" _add_module "http-log-zmq" "v1.0.0" "https://github.com/danifbento/nginx-log-zmq" # luajit is required for lua-nginx-module since v0.10.14 -_add_module "http-lua" "v0.10.20" "https://github.com/openresty/lua-nginx-module" "" "$_has_luajit" +_add_module "http-lua" "v0.10.21" "https://github.com/openresty/lua-nginx-module" "" "$_has_luajit" _http_lua_depends="$pkgname-mod-devel-kit lua-resty-core" _http_lua_provides="$pkgname-lua" # for backward compatibility @@ -204,21 +202,21 @@ _http_nchan_so="ngx_nchan_module.so" _add_module "http-redis2" "v0.15" "https://github.com/openresty/redis2-nginx-module" -_add_module "http-set-misc" "v0.32" "https://github.com/openresty/set-misc-nginx-module" +_add_module "http-set-misc" "v0.33" "https://github.com/openresty/set-misc-nginx-module" _http_set_misc_depends="$pkgname-mod-devel-kit" _add_module "http-shibboleth" "v2.0.1" "https://github.com/nginx-shib/nginx-http-shibboleth" -_add_module "http-untar" "v1.0" "https://github.com/ajax16384/ngx_http_untar_module" +_add_module "http-untar" "v1.1" "https://github.com/ajax16384/ngx_http_untar_module" _add_module "http-upload-progress" "v0.9.2" "https://github.com/masterzen/nginx-upload-progress-module" _http_upload_progress_so="ngx_http_uploadprogress_module.so" _add_module "http-upstream-fair" "0.1.3" "https://github.com/itoffshore/nginx-upstream-fair" -_add_module "http-upstream-jdomain" "1.1.5" "https://github.com/nicholaschiasson/ngx_upstream_jdomain" +_add_module "http-upstream-jdomain" "1.3.0" "https://github.com/nicholaschiasson/ngx_upstream_jdomain" -_add_module "http-vod" "1.28" "https://github.com/kaltura/nginx-vod-module" +_add_module "http-vod" "1.29" "https://github.com/kaltura/nginx-vod-module" _add_module "http-vts" "v0.1.18" "https://github.com/vozlt/nginx-module-vts" _http_vts_so="ngx_http_vhost_traffic_status_module.so" @@ -259,6 +257,9 @@ _build() { export LUAJIT_LIB="$(pkgconf --variable=libdir luajit)" export LUAJIT_INC="$(pkgconf --variable=includedir luajit)" fi + + # --without-pcre2 - Lua module is not compatible with PCRE2 yet + # https://github.com/openresty/lua-nginx-module/issues/1984 ./configure \ --prefix=/var/lib/$pkgname \ --sbin-path=/usr/sbin/$pkgname \ @@ -278,6 +279,8 @@ _build() { --with-threads \ --with-file-aio \ \ + --without-pcre2 \ + \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ @@ -458,9 +461,9 @@ getvar() { } sha512sums=" -8b65e881ea4ac6162cbf32e5e95cf47a6d5418819f8763ca4a781cffa38187dd7886d4bc195d000a7046111a27121ff25800f8645405174995247e6738b4279a nginx-1.20.2.tar.gz -86b59768dbe2812f91cd10d9d35e29904caea4b5d0b616f93b7d763b383f5fa31e993590511244c42a817c68fae097df976e790475876ed88a33b3727c044898 nginx-tests-823f603da727.tar.gz -02bc1f9195dc00cf10df6d7e33d9fd899e2480af2981b6238438e5076713b30ea885ac2f249e0ad3f8615e447a62502891b778f9599938bd257265c0000c61a9 nginx-njs-0.7.3.tar.gz +074782dba9cd5f8f493fbb57e20bda6dc9171814d919a47ee9f825d93f12c9f9d496e25d063c983191b55ad6a236bcef252ce16ecc1d253dc8b23433557559b1 nginx-1.22.0.tar.gz +40535031f81a3775cdd2da9cb38307a736f0346db348f758d37e8f4cf7d929ea0685c579a52b299526bf0f911896f2f9fb09d8532cd012563f3988d5a46e4e63 nginx-tests-8f13779e2cde.tar.gz +b440bd4369c4356946ddae49102133d3296b7bbe21449a614b4382600d6cf0c057cb2b54e2a5da88fb11d65641cb3ff897ea6e303aac72c50fd0967fe2001af1 nginx-njs-0.7.4.tar.gz 4c7a94aaebbb69599b0067e74f9f3db54ec383ca9499292fec5b875bb0b5859aa11dc14cef5664c94dd54aba231f31e85feacddc49f7622aa4d0fdb38709b6e1 nginx-dav-ext-module~pr-56.patch fdd66e433126e194a3ef22737993191a04fcc4c8caa044b27cb22bea0e7f16c8fdbc900553507d2bb541cdb82b542845a297db2a48c2460a38dd772d0ebfca9d nginx-dav-ext-module~pr-62.patch fa96e91f495e9891c03730bcafd948e597e7c5d74f2d30df0a8483ae04f7b30c89065a994a0baa5245470f8991db5844b26da925b23ff26c178a384f5f1a887c nginx-module-vts~01-938c19d.patch @@ -473,10 +476,8 @@ dfcfd4dd14ccb205ea80d28eae8cadd123015d5eddc004a31b7742d8117c69cad1b56868ba94dd75 48689e09dc87f395095408127669c9f21a32c13b1b700ffad225db0c8920ae9e4f08e88332c12c01d96ded2d091ad2033885d81d5d7c9479745b10620f36562d nginx-module-vts~set-histogram-buckets-on-first-request.patch 09ec9f18323197eafa55ff68e8c836ad3dd830e6cd3bd4aeaf34e179ef3f72f734a0117288c1c58813aff59f3f1f0f29ccd772a672e17551e7a4fd0693a89c92 traffic-accounting-nginx-module~disable-stream-module.patch ac0f912ae90e0083cc761a622290223edeed0bd32213bbe766d637ac2dfd9835d163e5d16ef28740cbad05d6d92cc418d62df3413c70b4f2c63db02f8ca1c7cc nginx_cookie_flag_module~fix-mem-allocations.patch -d04ebbdf6e595b724cad59bef273e192328b47dfb15a6b19b6856ea6cc2152aaff86ca33cfd9f736cfab56377aab686d4dca6c25cb5373e56ac2e4651418c851 nginx-tests~skip-broken-mail_max_error-tests.patch 4db527d663dbe9e8b503c3cbaa4eae34b45990a5359b3bb98ce970c705faefcac98de49439f2557756a2be8e2e06acc67f98942de01674c498832d80c3cb90c3 njs~mktemp-busybox-compat.patch df1d910d5a433ef8aa6620e46bd46cb82c45c840e35420bf81a76e5a868ac73ad88aa3934d1c11bcf004a88a9cd13bf69a96ee1b08540251b09903a30430b199 njs~nginx-1.20.x-compat.patch -5896417268cdd4cde1cc6a4cf9ebc3aa2c82cb4b27a68c1fa4e9c1065cf4e5f0eebc13cfdb2ac3ebe29fdc5332022a61681aceefe1c72c5402ce73fab3f03f5a CVE-2021-3618.patch 9c5ee975dffa15b76688ef798371635f38f1e6773b143c738add26297878dddfc20ebf276e3871a60f28b197e8a70496ca17d4816c2136171978c157bb8e591f nginx.conf 0907f69dc2d3dc1bad3a04fb6673f741f1a8be964e22b306ef9ae2f8e736e1f5733a8884bfe54f3553fff5132a0e5336716250f54272c3fec2177d6ba16986f3 default.conf f3321a45736697009817db335ad36d3f1d05f60d98ac90a943220cdd4c00c52632f018db6a6076d5431a483525aacc5725b87b765b590e2f63b3ef98c5b16bd8 stream.conf @@ -491,23 +492,23 @@ de1e3349d8dd08e5982279b2219dc8a8006739f0409b8e0f5c50d93434beff1fbafba43e9c5ac85a 352cc3d033cc67ee34209f958dac13ada2147de429f4dd3da301c865d52970d80c8aa3c193f7fb28cf4854b88baff07b6efc3bae1fb813fe53d5956a87dfc81a nginx_cookie_flag_module-1.1.0.tar.gz d0193ba90f1ef46c4e470630c4394bdf99d94fd2e3bd8be6cb2ba1655ec59944b1269025f032b79dc2c6dad366e54389ef6a6da2ddeb91d535a4027f2162fbde nginx-dav-ext-module-3.0.0.tar.gz 240896b1c559a71ca6ca87136d8535edd25b1d65ebb80d46080ad41c09ed1cec9737828f9efe260782294d660cea66cf402f4e75bba3fed26f3a94de0ae2f89b echo-nginx-module-0.62.tar.gz -80651951edd69d202e991a66f531bbe0398b4f062e822bb7748411f5f597eb1d5827102ba477bb6cd2793274adf6f6d60dd89fde7645174b091143251197af69 encrypted-session-nginx-module-0.08.tar.gz -5c9252713286056cb493b734c8aabef51538c4c3c3204404eecc6c09dffcd06f733ed4f134af8f5d38558db75ac0a6161a1fa29ae98284b68b30309d9a5e6b31 ngx-fancyindex-0.5.1.tar.gz +399ce2690e85ee27802e8031954a1a3aa3fdc9246e17323a72a298d235931a8dbebdcb121ac8788e074872df0ef5b5a8a3d512b17fbe860b38f696ce42de3655 encrypted-session-nginx-module-0.09.tar.gz +c208cdf3e245527d7b313f9ef1f5d36ca26e3bdafe67df56492a13b7726587538665e5d9fd50f295fc933f218dc33394f2fe442713d15631701dbfc4a156799b ngx-fancyindex-0.5.2.tar.gz 06963b598c54e22d75ce837fb222f5aa6c9494c29e558ff46f1205d7159fc305414bfac4ed3288c836dcbf7628d92f26458e1992d34fc2f4b73275a32847bdc0 ngx_http_geoip2_module-3.3.tar.gz 13165b1b8d4be281b8bd2404fa48d456013d560bace094c81da08a35dc6a4f025a809a3ae3a42be6bbf67abbcbe41e0730aba06f905220f3baeb01e1192a7d37 headers-more-nginx-module-0.33.tar.gz 015a358d987476bb61302fbbe1cb105f5314edc1a8b7ee6310aae697f755c79fcb1834ff561fced054c8cd5624f5387fcc1de729731ccd70662f2eb72bcdc174 nginx-log-zmq-1.0.0.tar.gz -f11154d82ed9e15fc156971318f8e81fd873ec887370921c58da777061caf00dfb51b2eca3afba3b82d2330f285508f9885649a993c6091e1283f9d2179d10af lua-nginx-module-0.10.20.tar.gz +c7594be48a3a5a8cc7bbda9288cb836c4c854ad22f91766dba944316d471ab8857a6b6a52813eb041af81939df73614db54ccd3ed35af87036d76317ebbe2e97 lua-nginx-module-0.10.21.tar.gz 72887c4490854b099cb26bb3f840073a36b0d812bde4486f04dc1be182ca74f0d1e3fd709e77c240c2dcf37665f74cf04e188ea9efe8e127c6789b27b487d0cd lua-upstream-nginx-module-0.07.tar.gz d7aac69b5eceeb1b0db4741201159ade1e0e7f6f7c3e8c4afa2f8959c6c00c3b5285d5185747c2fb0b1400efda02e96799836315e7e492bb4a059b14acb2142d naxsi-1.3.tar.gz bea5ce8669f43f752a42f5988125ac1beb7c7904e780605f7706bbb03e9ab4f30a2bcbcddac5bc1c67cff4d92f798023ec320e8d9a2db47953f9f7b08b5ad882 nchan-1.2.8.tar.gz d6ca250db8de93edbd7875afca35e73cecdaf82132d1a7ee933cf94c6b8afa8e629e9e647a9321f2bc1fbb92137ec0d32dcd89b82ac5fae31e342537fb7e0431 redis2-nginx-module-0.15.tar.gz -5590526f60c99630f99a49bfa9e3455baee6d58cd2a1419eab1367a838dafb87a50f5e2607aa8ac557b90dbf633dcf61069c997b3526cddc8f2fc45820a7bc3b set-misc-nginx-module-0.32.tar.gz +1ff4c947538a5bd5f9d6adcd87b37f2702f5cc90e3342bc08359cbe8f290b705a3a2daa3dedfb1df3ce4bc19478c8fcac07081c4a53a804fc2862d50078278dc set-misc-nginx-module-0.33.tar.gz 1730845ea2e52be8c2f6cfceb2894304c5a07959a96940bb1617ee0e7cf81d22283304f411d9a219ddb71e4d9a66012bba0f6f5574d101aeb3c406f26c5d6a4e nginx-http-shibboleth-2.0.1.tar.gz -5b0800ffb98ae69d3505d9046bc7f660defa14d21b74a4e425a4b07db917e39fd9a324851be8c424f5b4b4ef83997e09d9053eb8aa9e9f1889513dd742b5abba ngx_http_untar_module-1.0.tar.gz +c3a7dd29c4a4e47d396b19622a290a04d4cceb97c1b8a508bc984eb8c81d17da4bf5789514bb996987f8343bc801ee4457a86a274bde98b49a809afdfc04cbde ngx_http_untar_module-1.1.tar.gz c31c46344d49704389722325a041b9cd170fa290acefe92cfc572c07f711cd3039de78f28df48ca7dcb79b2e4bbe442580aaaf4d92883fd3a14bf41d66dd9d8c nginx-upload-progress-module-0.9.2.tar.gz 8adb7453c27748f4e685e3352e9b318b408da818754dc5b6244e908423941a8ba337561104f6e481f2553cbc0e334dcea73b57f8e810a9d6e974bb69ff8859e5 nginx-upstream-fair-0.1.3.tar.gz -54a0aae25a80f285e76344e6d0759e9a1b707be4bc0755abf4b7e48918c8e37092b7b259d052215d875be447d79717c0626797ea449677c492aa1e473cc448fd ngx_upstream_jdomain-1.1.5.tar.gz -389137124a3d046b99faabb977b5dbcf7c84541e039da27dfcca6b863d6d7f99e4b42916be1d7202bad017a88973c2f931985c2c58243f5134b7d9d199cdff0c nginx-vod-module-1.28.tar.gz +933a2660987399930f7995369e622c23b458dd82175b7414f550129ec0009fbe763a55c08da45436ac678bd72f74bb408eaf139f6a7f13f6bcb40aecf450010e ngx_upstream_jdomain-1.3.0.tar.gz +4ffbd9f1f641e4304ffda2dfeee627d27fee69ca4f55cf7f5286c415a5962b5d332e69a73be026ebe253c1f7253c5843ea6cffb2663bded0e934ea0015a89bb0 nginx-vod-module-1.29.tar.gz 86b980095b3b80c8dce2e355db514cb4b3039c8408a2f5ca6df9e105d5462952fddd70f6581ec6aa2763e560b591664c27eefd978c4ea777b1f1f808bc60d4ec nginx-module-vts-0.1.18.tar.gz 92e1e5aa570b68a19bb718817f864c4347f6dc89f90d828071ab3d06c784cc2786674d9d64fffef8c23749d0a653f2eb996b412ab10015eea1ed895d81268ce1 mod_zip-1.2.0.tar.gz 3f8c803221854c4b1a06aadc6313fbfec74bd7179c0ee51d4365b26ffa8875881a6e1e48f777a9c9efbb9170ab7478a82920d5448a2c2df485503d37bb03ab81 nginx-rtmp-module-1.2.2.tar.gz diff --git a/main/nginx/CVE-2021-3618.patch b/main/nginx/CVE-2021-3618.patch deleted file mode 100644 index 5c3441ef26c..00000000000 --- a/main/nginx/CVE-2021-3618.patch +++ /dev/null @@ -1,92 +0,0 @@ -Patch-Source: https://github.com/nginx/nginx/commit/173f16f736c10eae46cd15dd861b04b82d91a37a -commit 173f16f736c10eae46cd15dd861b04b82d91a37a -Author: Maxim Dounin <mdounin@mdounin.ru> -Date: Wed May 19 03:13:31 2021 +0300 - - Mail: max_errors directive. - - Similarly to smtpd_hard_error_limit in Postfix and smtp_max_unknown_commands - in Exim, specifies the number of errors after which the connection is closed. - -diff --git a/src/mail/ngx_mail.h b/src/mail/ngx_mail.h -index 07104df6..21178c3e 100644 ---- a/src/mail/ngx_mail.h -+++ b/src/mail/ngx_mail.h -@@ -115,6 +115,8 @@ typedef struct { - ngx_msec_t timeout; - ngx_msec_t resolver_timeout; - -+ ngx_uint_t max_errors; -+ - ngx_str_t server_name; - - u_char *file_name; -@@ -231,6 +233,7 @@ typedef struct { - ngx_uint_t command; - ngx_array_t args; - -+ ngx_uint_t errors; - ngx_uint_t login_attempt; - - /* used to parse POP3/IMAP/SMTP command */ -diff --git a/src/mail/ngx_mail_core_module.c b/src/mail/ngx_mail_core_module.c -index 40831242..115671ca 100644 ---- a/src/mail/ngx_mail_core_module.c -+++ b/src/mail/ngx_mail_core_module.c -@@ -85,6 +85,13 @@ static ngx_command_t ngx_mail_core_commands[] = { - offsetof(ngx_mail_core_srv_conf_t, resolver_timeout), - NULL }, - -+ { ngx_string("max_errors"), -+ NGX_MAIL_MAIN_CONF|NGX_MAIL_SRV_CONF|NGX_CONF_TAKE1, -+ ngx_conf_set_num_slot, -+ NGX_MAIL_SRV_CONF_OFFSET, -+ offsetof(ngx_mail_core_srv_conf_t, max_errors), -+ NULL }, -+ - ngx_null_command - }; - -@@ -163,6 +170,8 @@ ngx_mail_core_create_srv_conf(ngx_conf_t *cf) - cscf->timeout = NGX_CONF_UNSET_MSEC; - cscf->resolver_timeout = NGX_CONF_UNSET_MSEC; - -+ cscf->max_errors = NGX_CONF_UNSET_UINT; -+ - cscf->resolver = NGX_CONF_UNSET_PTR; - - cscf->file_name = cf->conf_file->file.name.data; -@@ -182,6 +191,7 @@ ngx_mail_core_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) - ngx_conf_merge_msec_value(conf->resolver_timeout, prev->resolver_timeout, - 30000); - -+ ngx_conf_merge_uint_value(conf->max_errors, prev->max_errors, 5); - - ngx_conf_merge_str_value(conf->server_name, prev->server_name, ""); - -diff --git a/src/mail/ngx_mail_handler.c b/src/mail/ngx_mail_handler.c -index 57503e9a..246ba97c 100644 ---- a/src/mail/ngx_mail_handler.c -+++ b/src/mail/ngx_mail_handler.c -@@ -874,7 +874,20 @@ ngx_mail_read_command(ngx_mail_session_t *s, ngx_connection_t *c) - return NGX_MAIL_PARSE_INVALID_COMMAND; - } - -- if (rc == NGX_IMAP_NEXT || rc == NGX_MAIL_PARSE_INVALID_COMMAND) { -+ if (rc == NGX_MAIL_PARSE_INVALID_COMMAND) { -+ -+ s->errors++; -+ -+ if (s->errors >= cscf->max_errors) { -+ ngx_log_error(NGX_LOG_INFO, c->log, 0, -+ "client sent too many invalid commands"); -+ s->quit = 1; -+ } -+ -+ return rc; -+ } -+ -+ if (rc == NGX_IMAP_NEXT) { - return rc; - } - diff --git a/main/nginx/nginx-tests~skip-broken-mail_max_error-tests.patch b/main/nginx/nginx-tests~skip-broken-mail_max_error-tests.patch deleted file mode 100644 index af563806b64..00000000000 --- a/main/nginx/nginx-tests~skip-broken-mail_max_error-tests.patch +++ /dev/null @@ -1,33 +0,0 @@ -The fix for CVE-2021-3618 triggers some tests to fail. These tests are normally -skipped, but the patch enables the features that enabled the tests. - -Skip these specific checks for now. -diff --git a/mail_max_errors.t b/mail_max_errors.t -index f6f0171..295e872 100644 ---- a/mail_max_errors.t -+++ b/mail_max_errors.t -@@ -61,7 +61,7 @@ mail { - - EOF - --$t->try_run('no max_errors')->plan(18); -+$t->try_run('no max_errors')->plan(16); - - ############################################################################### - -@@ -82,7 +82,6 @@ $s->read(); - - $s->send('a01 FOO' . CRLF . 'a02 BAR' . CRLF . 'a03 BAZZ'); - $s->check(qr/^a01 BAD/, 'imap pipelined first error'); --$s->check(qr/^a02 BAD/, 'imap pipelined second error'); - $s->check(qr/^$/, 'imap pipelined max errors'); - - # pop3 -@@ -102,7 +101,6 @@ $s->read(); - - $s->send('FOO' . CRLF . 'BAR' . CRLF . 'BAZZ'); - $s->check(qr/^-ERR/, 'pop3 pipelined first error'); --$s->check(qr/^-ERR/, 'pop3 pipelined second error'); - $s->check(qr/^$/, 'pop3 pipelined max errors'); - - # smtp |