Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-19498

support legacy [plain_text_auth] section in credentials file removed unintentionally

    XMLWordPrintableJSON

Details

    Description

      The pylib/cqlshlib/cqlshmain.py code reads data from the credentials file, however, it is immediately ignored.

      https://github.com/apache/cassandra/blob/c9625e0102dab66f41d3ef2338c54d499e73a8c5/pylib/cqlshlib/cqlshmain.py#L2070

          if not options.username:
              credentials = configparser.ConfigParser()
              if options.credentials is not None:
                  credentials.read(options.credentials)        # use the username from credentials file but fallback to cqlshrc if username is absent from the command line parameters
              options.username = username_from_cqlshrc    if not options.password:
              rawcredentials = configparser.RawConfigParser()
              if options.credentials is not None:
                  rawcredentials.read(options.credentials)        # handling password in the same way as username, priority cli > credentials > cqlshrc
              options.password = option_with_default(rawcredentials.get, 'plain_text_auth', 'password', password_from_cqlshrc)
              options.password = password_from_cqlshrc

      These corrections have been made in accordance with https://issues.apache.org/jira/browse/CASSANDRA-16983 and https://issues.apache.org/jira/browse/CASSANDRA-16456.

      The documentation does not indicate that AuthProviders can be used in the cqlshrc and credentials files.

      I propose to return the ability to use the legacy option of specifying the user and password in the credentials file in the [plain_text_auth] section.

      It is also required to describe the rules for using the credentials file in the documentation.

      I can make a corresponding pull request.

      EDIT by Stefan Miklosovic:

      specifying username and password in credentials file works, it is just that [plain_text_auth] section does not work in credentials file anymore. This was working with CASSANDRA-16983 but it stopped to work by CASSANDRA-16456. Both tickets were firstly introduced in 4.1.0 (for the public). I do not think that it was ever an intention to stop to support that when CASSANDRA-16456 was merged and it was most probably just overlooked.

      Attachments

        Activity

          People

            smiklosovic Stefan Miklosovic
            slavavrn Slava
            Stefan Miklosovic
            Brad Schoening, Stefan Miklosovic
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h
                1h