Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-5684

Excluded Users field with subversion is too restrictive (doesn't work with a windows integrated subversion setup)

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: subversion-plugin
    • Labels:
      None
    • Environment:
      Subversion server with integrated windows authentication
    • Similar Issues:

      Description

      The current regular expression for validating 'excluded users' is too restrictive. We use a subversion server which stores the domain name and the username (e.g. MYDOMAIN\myusername) as user. The current pattern \w+ only allows 'word characters'.

      Please extend this pattern with a backslash (and maybe other characters as well, like '-._').

      I found the currently validation implementation in:

      http://svn-mirror.glassfish.org/hudson/trunk/hudson/plugins/subversion/src/main/java/hudson/scm/SubversionSCM.java

      SubversionSCM.java
              private static final Pattern USERNAME_PATTERN = Pattern.compile("\\w+");
      
              /**
               * Validates the excludeUsers field
               */
              public FormValidation doCheckExcludedUsers(@QueryParameter String value) throws IOException, ServletException {
                  for (String user : Util.fixNull(value).trim().split("[\\r\\n]+")) {
                      user = user.trim();
      
                      if ("".equals(user)) {
                          continue;
                      }
      
                      if (!USERNAME_PATTERN.matcher(user).matches()) {
                          return FormValidation.error("Invalid username: " + user);
                      }
                  }
      
                  return FormValidation.ok();
              }
      

        Attachments

          Activity

          Hide
          qlp qlp added a comment - - edited

          Attached patch accepts windows domain\user formatted usernames on the excluded users list. Tried it on my mac, but will test it on a windows environment next monday.

          (NOTE: This also changes the pom.xml The version on the trunk didn't work for me)

          Show
          qlp qlp added a comment - - edited Attached patch accepts windows domain\user formatted usernames on the excluded users list. Tried it on my mac, but will test it on a windows environment next monday. (NOTE: This also changes the pom.xml The version on the trunk didn't work for me)
          Hide
          qlp qlp added a comment -

          Tested the patch in a Windows environment and it works. Asked Kohsuke how to get this patch in subversion plugin.

          Show
          qlp qlp added a comment - Tested the patch in a Windows environment and it works. Asked Kohsuke how to get this patch in subversion plugin.
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in hudson
          User: : kohsuke
          Path:
          trunk/hudson/plugins/subversion/pom.xml
          trunk/hudson/plugins/subversion/src/main/java/hudson/scm/SubversionSCM.java
          trunk/hudson/plugins/subversion/src/test/java/hudson/scm/SubversionSCMTest.java
          http://jenkins-ci.org/commit/28143
          Log:
          [FIXED JENKINS-5684] applied a patch from qlp.

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : kohsuke Path: trunk/hudson/plugins/subversion/pom.xml trunk/hudson/plugins/subversion/src/main/java/hudson/scm/SubversionSCM.java trunk/hudson/plugins/subversion/src/test/java/hudson/scm/SubversionSCMTest.java http://jenkins-ci.org/commit/28143 Log: [FIXED JENKINS-5684] applied a patch from qlp.

            People

            • Assignee:
              qlp qlp
              Reporter:
              qlp qlp
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: