Dev - Nexus
  1. Dev - Nexus
  2. NEXUS-3235

UI allows "ftp" protocol for proxy repositories, rest API doesn't

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Repository
    • Labels:
      None
    • Global Rank:
      6536
    • Epic Link:

      Description

      The nexus UI allows adding proxy repositories with the "ftp" protocol, although there is a bit of an inconsistency. The help text for the url says only "http" and "https" are supported, but the validation error message says that "ftp" is OK.

      Putting in a url with ftp protocol does not trigger a validation error, but if you attempt to save one, you get a silent failure.

      Log shows:

      Validation errors follows:
       o remoteStorageUrl - Unsupported protocol, only HTTP/HTTPS protocols are supported: ftp
      
      	at org.sonatype.nexus.proxy.repository.AbstractProxyRepositoryConfigurator.doApplyConfiguration(AbstractProxyRepositoryConfigurator.java:113)
      	at org.sonatype.nexus.proxy.maven.AbstractMavenRepositoryConfigurator.doApplyConfiguration(AbstractMavenRepositoryConfigurator.java:36)
      	at org.sonatype.nexus.proxy.repository.AbstractRepositoryConfigurator.applyConfiguration(AbstractRepositoryConfigurator.java:48)
      	at org.sonatype.nexus.configuration.AbstractConfigurable.doConfigure(AbstractConfigurable.java:215)
      	at org.sonatype.nexus.configuration.AbstractConfigurable.configure(AbstractConfigurable.java:151)
      	at org.sonatype.nexus.configuration.application.runtime.DefaultApplicationRuntimeConfigurationBuilder.createRepositoryFromModel(DefaultApplicationRuntimeConfigurationBuilder.java:46)
      	at org.sonatype.nexus.configuration.application.DefaultNexusConfiguration.createRepository(DefaultNexusConfiguration.java:547)
      	at org.sonatype.nexus.templates.repository.AbstractRepositoryTemplateProvider.createRepository(AbstractRepositoryTemplateProvider.java:33)
      	at org.sonatype.nexus.templates.repository.AbstractRepositoryTemplate.create(AbstractRepositoryTemplate.java:94)
      	at org.sonatype.nexus.rest.repositories.RepositoryListPlexusResource.post(RepositoryListPlexusResource.java:122)
      	at org.sonatype.plexus.rest.resource.RestletResource.acceptRepresentation(RestletResource.java:284)
      	at org.sonatype.nexus.rest.NexusRestletResource.acceptRepresentation(NexusRestletResource.java:59)
      	at org.restlet.resource.Resource.post(Resource.java:688)
      	at org.restlet.resource.Resource.handlePost(Resource.java:537)
      	at org.restlet.Finder.handle(Finder.java:357)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Router.handle(Router.java:504)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Router.handle(Router.java:504)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.sonatype.plexus.rest.RetargetableRestlet.doHandle(RetargetableRestlet.java:39)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at com.noelios.restlet.StatusFilter.doHandle(StatusFilter.java:130)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124)
      	at com.noelios.restlet.application.ApplicationHelper.handle(ApplicationHelper.java:112)
      	at org.restlet.Application.handle(Application.java:341)
      	at org.restlet.ext.wadl.WadlApplication.handle(WadlApplication.java:705)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Router.handle(Router.java:504)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at org.restlet.Router.handle(Router.java:504)
      	at org.restlet.Filter.doHandle(Filter.java:150)
      	at org.restlet.Filter.handle(Filter.java:195)
      	at com.noelios.restlet.ChainHelper.handle(ChainHelper.java:124)
      	at org.restlet.Component.handle(Component.java:673)
      	at org.restlet.Server.handle(Server.java:331)
      	at com.noelios.restlet.ServerHelper.handle(ServerHelper.java:68)
      	at com.noelios.restlet.http.HttpServerHelper.handle(HttpServerHelper.java:147)
      	at com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:881)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
      	at org.jsecurity.web.servlet.FilterChainWrapper.doFilter(FilterChainWrapper.java:52)
      	at org.jsecurity.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:105)
      	at org.jsecurity.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:135)
      	at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
      	at org.jsecurity.web.servlet.FilterChainWrapper.doFilter(FilterChainWrapper.java:57)
      	at org.jsecurity.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:105)
      	at org.jsecurity.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:135)
      	at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
      	at org.jsecurity.web.servlet.FilterChainWrapper.doFilter(FilterChainWrapper.java:57)
      	at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
      	at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
      	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1148)
      	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
      	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
      	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
      	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
      	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      	at org.mortbay.jetty.Server.handle(Server.java:326)
      	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
      	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
      	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
      	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
      	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
      	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
      

        Activity

        Hide
        Damian Bradicich added a comment -

        in fixing a seperate problem, the server validation now properly appears for this error (however the UI validation still incorrectly allows ftp)

        Show
        Damian Bradicich added a comment - in fixing a seperate problem, the server validation now properly appears for this error (however the UI validation still incorrectly allows ftp)
        Hide
        Igor Fedorenko added a comment -

        Closing issues that have not been updated for over one year. Please reopen if you believe the issue requires further attention.

        Show
        Igor Fedorenko added a comment - Closing issues that have not been updated for over one year. Please reopen if you believe the issue requires further attention.
        Hide
        Rich Seddon added a comment -

        Reopening, still a problem in 2.7

        Show
        Rich Seddon added a comment - Reopening, still a problem in 2.7

          People

          • Assignee:
            Unassigned
            Reporter:
            Rich Seddon
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Date of First Response: