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

Should not be possible to update a domain to have a null name

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When creating a new domain, it is not possible to save it with a blank name because the "Ok" button is disabled, and that is ok.

      However, once created, when modifying it, the "Save" button can be clicked even when the name is left with a blank value. That causes a NPE and even worse, deletes the domain with all credentials under it (see attachment)

      WARNING: Error while serving http://localhost:8080/credential-store/domain/asdf/configSubmit
      java.lang.reflect.InvocationTargetException
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
      	at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      	at org.eclipse.jetty.server.Server.handle(Server.java:370)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NullPointerException
      	at hudson.Util.rawEncode(Util.java:881)
      	at com.cloudbees.plugins.credentials.CredentialsStoreAction$DomainWrapper.doConfigSubmit(CredentialsStoreAction.java:296)
      	... 63 more
      

      Save button should not be clickable if the domain name is blank and even if it were, the null value should be controlled in the backend.

        Attachments

          Activity

          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Armando Fernandez
          Path:
          src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java
          src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/configure.jelly
          http://jenkins-ci.org/commit/credentials-plugin/3a743bc29cd5b42e79fef4d1fdbc193ee748e66a
          Log:
          JENKINS-34329 Stop allowing to update domains to have blank names

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Armando Fernandez Path: src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/configure.jelly http://jenkins-ci.org/commit/credentials-plugin/3a743bc29cd5b42e79fef4d1fdbc193ee748e66a Log: JENKINS-34329 Stop allowing to update domains to have blank names
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Armando Fernandez
          Path:
          src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/configure.jelly
          src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/newDomain.jelly
          http://jenkins-ci.org/commit/credentials-plugin/1ac82bc1046ae410f42161e4fe862ed4c96b310a
          Log:
          JENKINS-34329 Use value and type comparator

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Armando Fernandez Path: src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/configure.jelly src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/newDomain.jelly http://jenkins-ci.org/commit/credentials-plugin/1ac82bc1046ae410f42161e4fe862ed4c96b310a Log: JENKINS-34329 Use value and type comparator
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Stephen Connolly
          Path:
          src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java
          src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/configure.jelly
          src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/newDomain.jelly
          http://jenkins-ci.org/commit/credentials-plugin/49a06e8c166a4e899dcdf5dece313f26701e176b
          Log:
          Merge pull request #47 from armfergom/JENKINS-34329

          JENKINS-34329 Stop allowing to update domains to have blank names

          Compare: https://github.com/jenkinsci/credentials-plugin/compare/7a916eecc0df...49a06e8c166a

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Stephen Connolly Path: src/main/java/com/cloudbees/plugins/credentials/CredentialsStoreAction.java src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/DomainWrapper/configure.jelly src/main/resources/com/cloudbees/plugins/credentials/CredentialsStoreAction/newDomain.jelly http://jenkins-ci.org/commit/credentials-plugin/49a06e8c166a4e899dcdf5dece313f26701e176b Log: Merge pull request #47 from armfergom/ JENKINS-34329 JENKINS-34329 Stop allowing to update domains to have blank names Compare: https://github.com/jenkinsci/credentials-plugin/compare/7a916eecc0df...49a06e8c166a

            People

            Assignee:
            armfergom Armando Fernandez
            Reporter:
            armfergom Armando Fernandez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: