]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Rspamc: Detect zstd input automatically
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 22 Apr 2021 11:51:20 +0000 (12:51 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 22 Apr 2021 11:51:20 +0000 (12:51 +0100)
src/client/rspamdclient.c

index bcb25672e9e11abdaed825585630cb390a552f34..9a2e7f88d71b6f6ba406f0b5aa23f6b373ed3dec 100644 (file)
@@ -372,6 +372,10 @@ rspamd_client_command (struct rspamd_client_connection *conn,
                }
 
                if (!compressed) {
+                       /* Detect zstd input */
+                       if (input->len > 4 && memcmp (input->str, "\x28\xb5\x2f\xfd", 4) == 0) {
+                               compressed = TRUE;
+                       }
                        body = rspamd_fstring_new_init (input->str, input->len);
                }
                else {
@@ -391,18 +395,6 @@ rspamd_client_command (struct rspamd_client_connection *conn,
                                }
 
                                dict_id = -1;
-
-                               if (dict_id == 0) {
-                                       g_set_error (err, RCLIENT_ERROR, errno,
-                                                       "cannot open dictionary %s: %s",
-                                                       comp_dictionary,
-                                                       strerror (errno));
-                                       g_free (req);
-                                       g_string_free (input, TRUE);
-                                       munmap (dict, dict_len);
-
-                                       return FALSE;
-                               }
                        }
 
                        body = rspamd_fstring_sized_new (ZSTD_compressBound (input->len));