[pmg-devel] [PATCH pmg-log-tracker] change case sensitive string match to case insensitive

Stoiko Ivanov s.ivanov at proxmox.com
Wed Nov 11 18:50:42 CET 2020


Thanks for addressing this so quickly!

applied the patch and tested it on my setup - works as expected:
Reviewed-By: Stoiko Ivanov <s.ivanov at proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov at proxmox.com>


On Mon,  9 Nov 2020 15:18:46 +0100
Mira Limbeck <m.limbeck at proxmox.com> 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 <m.limbeck at proxmox.com>
> ---
>  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())





More information about the pmg-devel mailing list