From 4ab196b16fb10930d9b3a3692dbe53f74921b0c2 Mon Sep 17 00:00:00 2001 From: Ken Murchison Date: Mon, 19 Aug 2024 08:39:22 -0400 Subject: [PATCH] interp.c: protect against duplicate case values (zero) --- sieve/interp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sieve/interp.c b/sieve/interp.c index 4a4a277689..2e7ad6a691 100644 --- a/sieve/interp.c +++ b/sieve/interp.c @@ -609,9 +609,11 @@ unsigned long long extension_isactive(sieve_interp_t *interp, const char *str) (config_ext & IMAP_ENUM_SIEVE_EXTENSIONS_FILEINTO))) capa = 0; break; +#ifdef ENABLE_REGEX case SIEVE_CAPA_REGEX: if (!(config_ext & IMAP_ENUM_SIEVE_EXTENSIONS_REGEX)) capa = 0; break; +#endif case SIEVE_CAPA_COPY: if (!(config_ext & IMAP_ENUM_SIEVE_EXTENSIONS_COPY)) capa = 0; @@ -668,7 +670,6 @@ unsigned long long extension_isactive(sieve_interp_t *interp, const char *str) break; case SIEVE_CAPA_ENOTIFY: - case SIEVE_CAPA_NOTIFY: if (!(interp->notify && (config_ext & IMAP_ENUM_SIEVE_EXTENSIONS_NOTIFY))) capa = 0; break; @@ -749,11 +750,13 @@ unsigned long long extension_isactive(sieve_interp_t *interp, const char *str) (config_ext & IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_LOG))) capa = 0; break; +#ifdef WITH_JMAP case SIEVE_CAPA_JMAPQUERY: if (!(interp->jmapquery && (config_ext & IMAP_ENUM_SIEVE_EXTENSIONS_VND_CYRUS_JMAPQUERY))) capa = 0; break; +#endif case SIEVE_CAPA_SNOOZE: if (!(interp->snooze &&