Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-8491

solr.cmd SOLR_SSL_OPTS is overwritten

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.2, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4
    • Fix Version/s: 6.4.1, 6.5, 7.0
    • Component/s: scripts and tools
    • Labels:
      None
    • Environment:

      Windows

      Description

      In solr.cmd, the SOLR_SSL_OPTS variable is assigned within a block, but then assigned again later in the same block, using %SOLR_SSL_OPTS% to attempt to append to itself. However, since we're still inside the same block for this 2nd assignment, %SOLR_SSL_OPTS% resolves to nothing, so everything in the first assignment (the solr.jetty opts) becomes overwritten.

      I was able to work around this by using

      !SOLR_SSL_OPTS!

      instead of %SOLR_SSL_OPTS% in the 2nd assignments (in both the IF and ELSE blocks), since delayed expension is enabled.

      Here's the full block for reference, from commit d4e3f50a6f6bc7b96fa6317f028ae26be25c8928, lines 43-55:

      IF DEFINED SOLR_SSL_KEY_STORE (
        set "SOLR_JETTY_CONFIG=--module=https"
        set SOLR_URL_SCHEME=https
        set "SCRIPT_ERROR=Solr server directory %SOLR_SERVER_DIR% not found!"
        set "SOLR_SSL_OPTS=-Dsolr.jetty.keystore=%SOLR_SSL_KEY_STORE% -Dsolr.jetty.keystore.password=%SOLR_SSL_KEY_STORE_PASSWORD% -Dsolr.jetty.truststore=%SOLR_SSL_TRUST_STORE% -Dsolr.jetty.truststore.password=%SOLR_SSL_TRUST_STORE_PASSWORD% -Dsolr.jetty.ssl.needClientAuth=%SOLR_SSL_NEED_CLIENT_AUTH% -Dsolr.jetty.ssl.wantClientAuth=%SOLR_SSL_WANT_CLIENT_AUTH%"
        IF DEFINED SOLR_SSL_CLIENT_KEY_STORE  (
          set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStore=%SOLR_SSL_CLIENT_KEY_STORE% -Djavax.net.ssl.keyStorePassword=%SOLR_SSL_CLIENT_KEY_STORE_PASSWORD% -Djavax.net.ssl.trustStore=%SOLR_SSL_CLIENT_TRUST_STORE% -Djavax.net.ssl.trustStorePassword=%SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD%"
        ) ELSE (
          set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStore=%SOLR_SSL_KEY_STORE% -Djavax.net.ssl.keyStorePassword=%SOLR_SSL_KEY_STORE_PASSWORD% -Djavax.net.ssl.trustStore=%SOLR_SSL_TRUST_STORE% -Djavax.net.ssl.trustStorePassword=%SOLR_SSL_TRUST_STORE_PASSWORD%"
        )
      ) ELSE (
        set SOLR_SSL_OPTS=
      )
      
      1. SOLR-8491.patch
        5 kB
        Kevin Risden

        Issue Links

          Activity

          Hide
          janhoy Jan Høydahl added a comment -

          Please feel free to submit a patch if you have a working solution.

          Show
          janhoy Jan Høydahl added a comment - Please feel free to submit a patch if you have a working solution.
          Hide
          pluk77 Marcel Berteler added a comment -

          @sam Yi already mentioned the fix:

          line 49 and 51: change

          %SOLR_SSL_OPTS% 
          

          to

          !SOLR_SSL_OPTS!
          

          Can this please be fixed? Without applying this fix, the only way to get SSL to work is by editing the xml files in the etc folder, which is clearly not the best solution.

          Show
          pluk77 Marcel Berteler added a comment - @sam Yi already mentioned the fix: line 49 and 51: change %SOLR_SSL_OPTS% to !SOLR_SSL_OPTS! Can this please be fixed? Without applying this fix, the only way to get SSL to work is by editing the xml files in the etc folder, which is clearly not the best solution.
          Hide
          risdenk Kevin Risden added a comment -

          I'll submit a patch for this in a few minutes. I hope to test this this afternoon. It would be great to get into 6.4.1.

          Show
          risdenk Kevin Risden added a comment - I'll submit a patch for this in a few minutes. I hope to test this this afternoon. It would be great to get into 6.4.1.
          Hide
          risdenk Kevin Risden added a comment -

          Patch that I am testing.

          Show
          risdenk Kevin Risden added a comment - Patch that I am testing.
          Hide
          risdenk Kevin Risden added a comment -

          I tested the attached patch and it works as expected now. I'll commit in a little bit.

          Show
          risdenk Kevin Risden added a comment - I tested the attached patch and it works as expected now. I'll commit in a little bit.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit bb5bf3fbf733b2dcea1163cad7a70a6437ece93f in lucene-solr's branch refs/heads/master from Kevin Risden
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=bb5bf3f ]

          SOLR-8491: solr.cmd SOLR_SSL_OPTS is overwritten

          Show
          jira-bot ASF subversion and git services added a comment - Commit bb5bf3fbf733b2dcea1163cad7a70a6437ece93f in lucene-solr's branch refs/heads/master from Kevin Risden [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=bb5bf3f ] SOLR-8491 : solr.cmd SOLR_SSL_OPTS is overwritten
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 71a198ce309e35c8b31bf472b3d111dbaed276bf in lucene-solr's branch refs/heads/branch_6x from Kevin Risden
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=71a198c ]

          SOLR-8491: solr.cmd SOLR_SSL_OPTS is overwritten

          Show
          jira-bot ASF subversion and git services added a comment - Commit 71a198ce309e35c8b31bf472b3d111dbaed276bf in lucene-solr's branch refs/heads/branch_6x from Kevin Risden [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=71a198c ] SOLR-8491 : solr.cmd SOLR_SSL_OPTS is overwritten
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 7957fd65ab63add133b01a615dad7a36b1c2976a in lucene-solr's branch refs/heads/branch_6_4 from Kevin Risden
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=7957fd6 ]

          SOLR-8491: solr.cmd SOLR_SSL_OPTS is overwritten

          Show
          jira-bot ASF subversion and git services added a comment - Commit 7957fd65ab63add133b01a615dad7a36b1c2976a in lucene-solr's branch refs/heads/branch_6_4 from Kevin Risden [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=7957fd6 ] SOLR-8491 : solr.cmd SOLR_SSL_OPTS is overwritten

            People

            • Assignee:
              risdenk Kevin Risden
              Reporter:
              illojones Sam Yi
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development