瀏覽代碼

Merge pull request #6006 from mailcow/fix/issue-5986

flatcurve-fts: limit tokenizers size in e-mail adress
Niklas Meyer 1 年之前
父節點
當前提交
6d4fcacd83
共有 2 個文件被更改,包括 9 次插入5 次删除
  1. 4 4
      data/Dockerfiles/dovecot/Dockerfile
  2. 5 1
      data/Dockerfiles/dovecot/docker-entrypoint.sh

+ 4 - 4
data/Dockerfiles/dovecot/Dockerfile

@@ -1,12 +1,12 @@
 FROM alpine:3.20
 FROM alpine:3.20
 
 
-LABEL maintainer = "The Infrastructure Company GmbH <info@servercow.de>"
+LABEL maintainer="The Infrastructure Company GmbH <info@servercow.de>"
 
 
 # renovate: datasource=github-releases depName=tianon/gosu versioning=semver-coerced extractVersion=^(?<version>.*)$
 # renovate: datasource=github-releases depName=tianon/gosu versioning=semver-coerced extractVersion=^(?<version>.*)$
 ARG GOSU_VERSION=1.16
 ARG GOSU_VERSION=1.16
 
 
-ENV LANG C.UTF-8
-ENV LC_ALL C.UTF-8
+ENV LANG=C.UTF-8
+ENV LC_ALL=C.UTF-8
 
 
 # Add groups and users before installing Dovecot to not break compatibility
 # Add groups and users before installing Dovecot to not break compatibility
 RUN addgroup -g 5000 vmail \
 RUN addgroup -g 5000 vmail \
@@ -133,4 +133,4 @@ COPY repl_health.sh /usr/local/bin/repl_health.sh
 COPY optimize-fts.sh /usr/local/bin/optimize-fts.sh
 COPY optimize-fts.sh /usr/local/bin/optimize-fts.sh
 
 
 ENTRYPOINT ["/docker-entrypoint.sh"]
 ENTRYPOINT ["/docker-entrypoint.sh"]
-CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
+CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]

+ 5 - 1
data/Dockerfiles/dovecot/docker-entrypoint.sh

@@ -257,10 +257,14 @@ plugin {
     fts_autoindex_exclude2 = \Trash
     fts_autoindex_exclude2 = \Trash
     fts = flatcurve
     fts = flatcurve
 
 
+    # Maximum term length can be set via the 'maxlen' argument (maxlen is
+    # specified in bytes, not number of UTF-8 characters)
+    fts_tokenizer_email_address = maxlen=100
+    fts_tokenizer_generic = algorithm=simple maxlen=30
+
     # These are not flatcurve settings, but required for Dovecot FTS. See
     # These are not flatcurve settings, but required for Dovecot FTS. See
     # Dovecot FTS Configuration link above for further information.
     # Dovecot FTS Configuration link above for further information.
     fts_languages = en es de
     fts_languages = en es de
-    fts_tokenizer_generic = algorithm=simple
     fts_tokenizers = generic email-address
     fts_tokenizers = generic email-address
 
 
     # OPTIONAL: Recommended default FTS core configuration
     # OPTIONAL: Recommended default FTS core configuration