dovecot-2.2: fts-solr: Fixed sending empty parameters.
dovecot at dovecot.org
dovecot at dovecot.org
Fri Nov 27 13:50:29 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/feba082aede2
changeset: 19430:feba082aede2
user: Timo Sirainen <tss at iki.fi>
date: Fri Nov 27 15:49:58 2015 +0200
description:
fts-solr: Fixed sending empty parameters.
Solr probably doesn't do anything useful with them, but we shouldn't get 400
Bad Request errors.
diffstat:
src/plugins/fts-solr/fts-backend-solr-old.c | 3 +++
src/plugins/fts-solr/fts-backend-solr.c | 8 ++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diffs (38 lines):
diff -r 695391a09045 -r feba082aede2 src/plugins/fts-solr/fts-backend-solr-old.c
--- a/src/plugins/fts-solr/fts-backend-solr-old.c Fri Nov 27 15:26:31 2015 +0200
+++ b/src/plugins/fts-solr/fts-backend-solr-old.c Fri Nov 27 15:49:58 2015 +0200
@@ -146,6 +146,9 @@
string_t *ret;
unsigned int i;
+ if (str[0] == '\0')
+ return "\"\"";
+
ret = t_str_new(strlen(str) + 16);
for (i = 0; str[i] != '\0'; i++) {
if (strchr(solr_escape_chars, str[i]) != NULL)
diff -r 695391a09045 -r feba082aede2 src/plugins/fts-solr/fts-backend-solr.c
--- a/src/plugins/fts-solr/fts-backend-solr.c Fri Nov 27 15:26:31 2015 +0200
+++ b/src/plugins/fts-solr/fts-backend-solr.c Fri Nov 27 15:49:58 2015 +0200
@@ -161,7 +161,10 @@
static void solr_quote_http(string_t *dest, const char *str)
{
- http_url_escape_param(dest, solr_escape(str));
+ if (str[0] != '\0')
+ http_url_escape_param(dest, solr_escape(str));
+ else
+ str_append(dest, "\"\"");
}
static struct fts_backend *fts_backend_solr_alloc(void)
@@ -649,7 +652,8 @@
/* currently we'll just disable fuzzy searching if there are any
parameters that need escaping. solr doesn't seem to give good
fuzzy results even if we did escape them.. */
- if (!arg->fuzzy || solr_need_escaping(arg->value.str))
+ if (!arg->fuzzy || arg->value.str[0] == '\0' ||
+ solr_need_escaping(arg->value.str))
solr_quote_http(str, arg->value.str);
else {
http_url_escape_param(str, arg->value.str);
More information about the dovecot-cvs
mailing list