Change how the replacements take place when anonymizing the support bundle.

      It seems like the process doesn't replace by words.

      Acceptance criteria:

      Job with name some in the instance. The ContentMapping for the anonymization becomes some -> randomname. Then:

      • Text in log: It's an awesome message thrown in some place of the code
      • Currently: It's an awe*randomname*some message thrown in randomname place of the code
      • Desired: It's an awesome message thrown in randomname place of the code

      It could help to make the bundle more readable without losing protection of sensitive information.

          [JENKINS-55866] Anonymize by words

          Ramon Leon added a comment -

          Ramon Leon added a comment - PR #163: https://github.com/jenkinsci/support-core-plugin/pull/163

          Ramon Leon added a comment -

          When anonymizing, replace the content by words to avoid replace inside the words. Example:

          • Replace: a
          • By: a
          • Input: This is a sample
          • Actual behavior: This is a s-a-mple
          • With this PR: This is a sample

          Also avoid replace single characters to avoid having a bundle unreadable. Only ascii characters because in some cultures, a single character has a meaning. Example: 日 (Sun in chinese).

          Fix name on the manifest. Now they get printed filtered.

          Fix slow-requests files. They were written with \0 instead of the character filtered.

          Fix new line in the logs files. They were missed.

          Fix replace ignoring the case and with all the flavors previously defined (/ -> », \n ->
          , ...)

          Add a Chrono class to measure times for performance tests. Only on test environment.

          Add a test that fails proving the bug that when you remove an object from the instance, the mapping is not removed from the persisted data.

          Ramon Leon added a comment - When anonymizing, replace the content by words to avoid replace inside the words. Example: Replace: a By: a Input: This is a sample Actual behavior: This is a s-a-mple With this PR: This is a sample Also avoid replace single characters to avoid having a bundle unreadable. Only ascii characters because in some cultures, a single character has a meaning. Example: 日 (Sun in chinese). Fix name on the manifest . Now they get printed filtered. Fix slow-requests files . They were written with \0 instead of the character filtered. Fix new line in the logs files. They were missed. Fix replace ignoring the case and with all the flavors previously defined (/ -> », \n -> , ...) Add a Chrono class to measure times for performance tests. Only on test environment. Add a test that fails proving the bug that when you remove an object from the instance, the mapping is not removed from the persisted data.

          Ramon Leon added a comment -

          Ramon Leon added a comment - Fix empty strings and flaky test:  https://github.com/jenkinsci/support-core-plugin/pull/164/files

            mramonleon Ramon Leon
            mramonleon Ramon Leon
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: