From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id E22AA68D7F for ; Wed, 11 Nov 2020 18:51:14 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CCBB526FB9 for ; Wed, 11 Nov 2020 18:50:44 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 4160E26FAC for ; Wed, 11 Nov 2020 18:50:44 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 0620046034 for ; Wed, 11 Nov 2020 18:50:44 +0100 (CET) Date: Wed, 11 Nov 2020 18:50:42 +0100 From: Stoiko Ivanov To: Mira Limbeck Cc: pmg-devel@lists.proxmox.com Message-ID: <20201111185042.3fef1e7b@rosa.proxmox.com> In-Reply-To: <20201109141846.24669-1-m.limbeck@proxmox.com> References: <20201109141846.24669-1-m.limbeck@proxmox.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.091 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [main.rs] Subject: Re: [pmg-devel] [PATCH pmg-log-tracker] change case sensitive string match to case insensitive X-BeenThere: pmg-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Mail Gateway development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2020 17:51:14 -0000 Thanks for addressing this so quickly! applied the patch and tested it on my setup - works as expected: Reviewed-By: Stoiko Ivanov Tested-By: Stoiko Ivanov On Mon, 9 Nov 2020 15:18:46 +0100 Mira Limbeck wrote: > With the rewrite from C to Rust the search string match was changed to > be case sensitive by accident. Fix this by comparing the lowercase values > of both the input and the search string. > > Signed-off-by: Mira Limbeck > --- > src/main.rs | 2 +- > tests/tests_after_queue.rs | 23 +++++++++++++++++++++++ > tests/tests_before_queue.rs | 23 +++++++++++++++++++++++ > 3 files changed, 47 insertions(+), 1 deletion(-) > > diff --git a/src/main.rs b/src/main.rs > index ce09f14..3495269 100644 > --- a/src/main.rs > +++ b/src/main.rs > @@ -1842,7 +1842,7 @@ impl Parser { > > self.string_match = false; > if !self.options.string_match.is_empty() > - && find(complete_line, self.options.string_match.as_bytes()).is_some() > + && find_lowercase(complete_line, self.options.string_match.as_bytes()).is_some() > { > self.string_match = true; > } > diff --git a/tests/tests_after_queue.rs b/tests/tests_after_queue.rs > index 42d0f6b..f6441fa 100644 > --- a/tests/tests_after_queue.rs > +++ b/tests/tests_after_queue.rs > @@ -114,3 +114,26 @@ fn after_queue_search_string() { > let output_reader = BufReader::new(&output.stdout[..]); > utils::compare_output(output_reader, expected_output); > } > + > +#[test] > +fn after_queue_search_string_case_insensitive() { > + let output = Command::new(utils::log_tracker_path()) > + .arg("-vv") > + .arg("-s") > + .arg("1608302400") > + .arg("-e") > + .arg("1608303600") > + .arg("-i") > + .arg("tests/test_input_mixed") > + .arg("-x") > + .arg("reJECT") > + .output() > + .expect("failed to execute pmg-log-tracker"); > + > + let expected_file = File::open("tests/test_output_after_queue_search_string") > + .expect("failed to open test_output"); > + > + let expected_output = BufReader::new(&expected_file); > + let output_reader = BufReader::new(&output.stdout[..]); > + utils::compare_output(output_reader, expected_output); > +} > diff --git a/tests/tests_before_queue.rs b/tests/tests_before_queue.rs > index bd46e53..fb7a149 100644 > --- a/tests/tests_before_queue.rs > +++ b/tests/tests_before_queue.rs > @@ -114,6 +114,29 @@ fn before_queue_search_string() { > utils::compare_output(output_reader, expected_output); > } > > +#[test] > +fn before_queue_search_string_case_insensitive() { > + let output = Command::new(utils::log_tracker_path()) > + .arg("-vv") > + .arg("-s") > + .arg("1608300000") > + .arg("-e") > + .arg("1608302400") > + .arg("-i") > + .arg("tests/test_input_mixed") > + .arg("-x") > + .arg("reJECT") > + .output() > + .expect("failed to execute pmg-log-tracker"); > + > + let expected_file = File::open("tests/test_output_before_queue_search_string") > + .expect("failed to open test_output"); > + > + let expected_output = BufReader::new(&expected_file); > + let output_reader = BufReader::new(&output.stdout[..]); > + utils::compare_output(output_reader, expected_output); > +} > + > #[test] > fn before_queue_exclude_greylist_ndr() { > let output = Command::new(utils::log_tracker_path())