scylla-cqlsh 6.0.16__cp311-cp311-musllinux_1_1_i686.whl → 6.0.18__cp311-cp311-musllinux_1_1_i686.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of scylla-cqlsh might be problematic. Click here for more details.

Binary file
cqlsh/cqlsh.py CHANGED
@@ -48,11 +48,6 @@ UTF8 = 'utf-8'
48
48
 
49
49
  description = "CQL Shell for Apache Cassandra"
50
50
 
51
- try:
52
- from cqlshlib._version import __version__ as version
53
- except ImportError:
54
- version = "6.2.0"
55
-
56
51
  readline = None
57
52
  try:
58
53
  # check if tty first, cause readline doesn't check, and only cares
@@ -161,6 +156,10 @@ from cqlshlib.tracing import print_trace, print_trace_session
161
156
  from cqlshlib.util import get_file_encoding_bomsize
162
157
  from cqlshlib.util import is_file_secure, trim_if_present
163
158
 
159
+ try:
160
+ from cqlshlib._version import __version__ as version
161
+ except ImportError:
162
+ version = "0.0.0"
164
163
 
165
164
  DEFAULT_HOST = '127.0.0.1'
166
165
  DEFAULT_PORT = 9042
@@ -494,6 +493,8 @@ class Shell(cmd.Cmd):
494
493
  profiles[EXEC_PROFILE_DEFAULT].load_balancing_policy = WhiteListRoundRobinPolicy([self.hostname])
495
494
  kwargs['port'] = self.port
496
495
  kwargs['ssl_context'] = sslhandling.ssl_settings(hostname, CONFIG_FILE) if ssl else None
496
+ # workaround until driver would know not to lose the DNS names for `server_hostname`
497
+ kwargs['ssl_options'] = {'server_hostname': self.hostname} if ssl else None
497
498
  else:
498
499
  assert 'scylla' in DRIVER_NAME.lower(), f"{DRIVER_NAME} {DRIVER_VERSION} isn't supported by scylla_cloud"
499
500
  kwargs['scylla_cloud'] = cloudconf
@@ -2131,6 +2132,7 @@ class Shell(cmd.Cmd):
2131
2132
  kwargs['contact_points'] = (self.hostname,)
2132
2133
  kwargs['port'] = self.port
2133
2134
  kwargs['ssl_context'] = self.conn.ssl_context
2135
+ kwargs['ssl_options'] = self.conn.ssl_options
2134
2136
  if os.path.exists(self.hostname) and stat.S_ISSOCK(os.stat(self.hostname).st_mode):
2135
2137
  kwargs['load_balancing_policy'] = WhiteListRoundRobinPolicy([UnixSocketEndPoint(self.hostname)])
2136
2138
  else:
@@ -2421,7 +2423,8 @@ def read_options(cmdlineargs, environment):
2421
2423
  print("\nWarning: Password is found in an insecure cqlshrc file. The file is owned or readable by other users on the system.",
2422
2424
  end='', file=sys.stderr)
2423
2425
  print("\nNotice: Credentials in the cqlshrc file is deprecated and will be ignored in the future."
2424
- "\nPlease use a credentials file to specify the username and password.\n", file=sys.stderr)
2426
+ "\nPlease use a credentials file to specify the username and password.\n"
2427
+ "\nTo use basic authentication, place the username and password in the [PlainTextAuthProvider] section of the credentials file.\n", file=sys.stderr)
2425
2428
 
2426
2429
  optvalues = optparse.Values()
2427
2430
 
@@ -2493,7 +2496,7 @@ def read_options(cmdlineargs, environment):
2493
2496
  credentials.read(options.credentials)
2494
2497
 
2495
2498
  # use the username from credentials file but fallback to cqlshrc if username is absent from the command line parameters
2496
- options.username = username_from_cqlshrc
2499
+ options.username = option_with_default(credentials.get, 'plain_text_auth', 'username', username_from_cqlshrc)
2497
2500
 
2498
2501
  if not options.password:
2499
2502
  rawcredentials = configparser.RawConfigParser()
@@ -2501,7 +2504,6 @@ def read_options(cmdlineargs, environment):
2501
2504
 
2502
2505
  # handling password in the same way as username, priority cli > credentials > cqlshrc
2503
2506
  options.password = option_with_default(rawcredentials.get, 'plain_text_auth', 'password', password_from_cqlshrc)
2504
- options.password = password_from_cqlshrc
2505
2507
  elif not options.insecure_password_without_warning:
2506
2508
  print("\nWarning: Using a password on the command line interface can be insecure."
2507
2509
  "\nRecommendation: use the credentials file to securely provide the password.\n", file=sys.stderr)
cqlshlib/_version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '6.0.16'
16
- __version_tuple__ = version_tuple = (6, 0, 16)
15
+ __version__ = version = '6.0.18'
16
+ __version_tuple__ = version_tuple = (6, 0, 18)
cqlshlib/sslhandling.py CHANGED
@@ -58,6 +58,16 @@ def ssl_settings(host, config_file, env=os.environ):
58
58
  ssl_validate = get_option('ssl', 'validate')
59
59
  ssl_validate = ssl_validate is None or ssl_validate.lower() != 'false'
60
60
 
61
+ ssl_check_hostname = env.get('SSL_CHECK_HOSTNAME')
62
+ if ssl_check_hostname is None:
63
+ ssl_check_hostname = get_option('ssl', 'check_hostname')
64
+ ssl_check_hostname = ssl_check_hostname is not None and ssl_check_hostname.lower() != 'false'
65
+
66
+ if ssl_check_hostname and not ssl_validate:
67
+ sys.exit("SSL certificate hostname checking "
68
+ "(`check_hostname` in the [ssl] section) must be turned off "
69
+ "if certificate `validate` is turned off.")
70
+
61
71
  ssl_version_str = env.get('SSL_VERSION')
62
72
  if ssl_version_str is None:
63
73
  ssl_version_str = get_option('ssl', 'version')
@@ -85,9 +95,12 @@ def ssl_settings(host, config_file, env=os.environ):
85
95
  usercert = os.path.expanduser(usercert)
86
96
 
87
97
  ssl_context = ssl.SSLContext(ssl_version)
88
- ssl_context.check_hostname = ssl_validate
89
- ssl_context.load_cert_chain(certfile=usercert,
90
- keyfile=userkey)
98
+ ssl_context.check_hostname = ssl_check_hostname
99
+ if usercert and userkey:
100
+ ssl_context.load_cert_chain(certfile=usercert,
101
+ keyfile=userkey)
102
+ if (usercert and not userkey) or (userkey and not usercert):
103
+ print("Warning: userkey and usercert from [ssl] section, should be both configured, otherwise won't be used")
91
104
 
92
105
  ssl_context.verify_mode = ssl.CERT_REQUIRED if ssl_validate else ssl.CERT_NONE
93
106
  if ssl_certfile:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scylla-cqlsh
3
- Version: 6.0.16
3
+ Version: 6.0.18
4
4
  Summary: cqlsh is a Python-based command-line client for running CQL commands on a scylla cluster.
5
5
  Home-page: https://github.com/scylladb/scylla-cqlsh
6
6
  Author: Israel Fruchter
@@ -1,26 +1,26 @@
1
- copyutil.cpython-311-i386-linux-musl.so,sha256=yi97BRSgoAlRbYIhdrgd8CwaKiYcycGZRvXpsJZESnw,9268372
2
- scylla_cqlsh-6.0.16.dist-info/WHEEL,sha256=kXYKShYCL8DOgrd4XyiHmnZkUcnETElIRh8_deMALso,111
3
- scylla_cqlsh-6.0.16.dist-info/METADATA,sha256=pLaKq2_4PTW5GB0b2D9MwQbjBPbMjhDwNOUo4ht35MY,2814
4
- scylla_cqlsh-6.0.16.dist-info/entry_points.txt,sha256=oE4unqgR3WwNkCJDGlMG1HYtCE3nEZZ4d9CIl-JSZyQ,46
5
- scylla_cqlsh-6.0.16.dist-info/top_level.txt,sha256=PVG-5w7PDG3FoAJH6Rq2I8C0y4cKa2KOW75GxjHkmQ4,24
6
- scylla_cqlsh-6.0.16.dist-info/LICENSE.txt,sha256=JAuKOf39K9OzU5wC40RmM0iE_ISwVrV_BunaNTI-zZc,11360
7
- scylla_cqlsh-6.0.16.dist-info/RECORD,,
8
- cqlshlib/wcwidth.py,sha256=PsbF7OaDlLItaiV6niu8F_OOgVYLJo0Ypb5-cOJV3QY,15865
1
+ copyutil.cpython-311-i386-linux-musl.so,sha256=pUrg2CYcabh5CnQ6XyLRqOCMMA2GL6zCbTByVuGCUn4,9263212
2
+ cqlsh/__main__.py,sha256=-IR7kYVwXf9uq9OBeVlAB5I386E1N9iEhrjn3sCw-74,220
3
+ cqlsh/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
4
+ cqlsh/cqlsh.py,sha256=imaNFo1Kkzys68cohYqlNLL7FKe_JhAUnepfxPMyaFQ,111951
5
+ scylla_cqlsh-6.0.18.dist-info/RECORD,,
6
+ scylla_cqlsh-6.0.18.dist-info/top_level.txt,sha256=PVG-5w7PDG3FoAJH6Rq2I8C0y4cKa2KOW75GxjHkmQ4,24
7
+ scylla_cqlsh-6.0.18.dist-info/WHEEL,sha256=96RtyvHDjZ_Pwdf-yba9grkbFedWeWnoj2z7uR7atnQ,111
8
+ scylla_cqlsh-6.0.18.dist-info/LICENSE.txt,sha256=JAuKOf39K9OzU5wC40RmM0iE_ISwVrV_BunaNTI-zZc,11360
9
+ scylla_cqlsh-6.0.18.dist-info/entry_points.txt,sha256=oE4unqgR3WwNkCJDGlMG1HYtCE3nEZZ4d9CIl-JSZyQ,46
10
+ scylla_cqlsh-6.0.18.dist-info/METADATA,sha256=tsulS2kF9H2Mfj-y-EDHDSeUSuzIqJEiD9AzKdJ2HSg,2814
11
+ cqlshlib/pylexotron.py,sha256=QY3nZ-fP-yGFIixMV33IgMlKV8A51AxnNYya0PGZc6I,19273
12
+ cqlshlib/saferscanner.py,sha256=T4eSYVWuZf4piTS9PgHjFhuY6g1fOb4VVa1Bu4Y1v_I,3539
9
13
  cqlshlib/cql3handling.py,sha256=S2rA8pbeSKjvmtWnBIthkDpC41pJU7L0OQO2Ob-YYg4,57506
10
- cqlshlib/cqlshhandling.py,sha256=BUu9wi7H1Xgil9lci-48TCPQ1xwe2-OTNXsW7jiewlM,10510
14
+ cqlshlib/helptopics.py,sha256=bBPtNHn2ySgO9K4nFBpJw2gcibryIdRh7dm3b9TUubQ,4524
15
+ cqlshlib/__init__.py,sha256=IhAMRujMv3XMvwQcYhUyXvJtWYuHpI-WfnIookmRago,3184
11
16
  cqlshlib/authproviderhandling.py,sha256=p4r_sk64AC5eiv__n-gjwQk2Ni_CcK6lyAWSKEcgINs,7078
12
- cqlshlib/util.py,sha256=qWQmq9v28vZwZ4apzK0-UQOYPIW3TMk-Jq9I69LbW0k,5057
13
- cqlshlib/cqlhandling.py,sha256=J-zzfU8sj0GbX-5vh5uV1gmFAYD_WOBsnVgd9PMaHoc,13103
14
17
  cqlshlib/displaying.py,sha256=bsA7T4BwQHgtH4jzCJeU3JrpgMT5k0xZ7EA2AnhYG7g,3977
15
- cqlshlib/__init__.py,sha256=IhAMRujMv3XMvwQcYhUyXvJtWYuHpI-WfnIookmRago,3184
18
+ cqlshlib/wcwidth.py,sha256=PsbF7OaDlLItaiV6niu8F_OOgVYLJo0Ypb5-cOJV3QY,15865
16
19
  cqlshlib/tracing.py,sha256=ct7siXwNMINjGVXn9qr5h7XhDDM6Bi1uLljPUtcve-A,3403
17
- cqlshlib/helptopics.py,sha256=bBPtNHn2ySgO9K4nFBpJw2gcibryIdRh7dm3b9TUubQ,4524
18
- cqlshlib/sslhandling.py,sha256=0_srBAe1l6zO_Ct394CyFzW94O7lYOkRS4QEBNuEMiE,3918
19
- cqlshlib/pylexotron.py,sha256=QY3nZ-fP-yGFIixMV33IgMlKV8A51AxnNYya0PGZc6I,19273
20
- cqlshlib/copyutil.py,sha256=mORX85C5CFqNSIoElATn4vKjUaCdUL8td5blyXlFDHI,113415
20
+ cqlshlib/_version.py,sha256=zpagh7YkhhTkju5Ln-qIG2mcW5Mq7n5lvUdGSbz4tA0,413
21
+ cqlshlib/cqlhandling.py,sha256=J-zzfU8sj0GbX-5vh5uV1gmFAYD_WOBsnVgd9PMaHoc,13103
21
22
  cqlshlib/formatting.py,sha256=NBHxsrXS3X8qcGewn98iTP7ys3JQUvWGf9iIWk-ErL0,23032
22
- cqlshlib/saferscanner.py,sha256=T4eSYVWuZf4piTS9PgHjFhuY6g1fOb4VVa1Bu4Y1v_I,3539
23
- cqlshlib/_version.py,sha256=zmelrXjeMNRI3Z8ia7nEklwHQWMaCnJZRYmE6wGfIS4,413
24
- cqlsh/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
25
- cqlsh/cqlsh.py,sha256=44C-i4BwyayKgkFPBnoTztaBbRXEGMSVWxKCuF-IC5A,111536
26
- cqlsh/__main__.py,sha256=-IR7kYVwXf9uq9OBeVlAB5I386E1N9iEhrjn3sCw-74,220
23
+ cqlshlib/util.py,sha256=qWQmq9v28vZwZ4apzK0-UQOYPIW3TMk-Jq9I69LbW0k,5057
24
+ cqlshlib/copyutil.py,sha256=mORX85C5CFqNSIoElATn4vKjUaCdUL8td5blyXlFDHI,113415
25
+ cqlshlib/sslhandling.py,sha256=TtEib4N-BuL2KZJiGYijc9DQviYp2lzYlwLj4RLp0oQ,4649
26
+ cqlshlib/cqlshhandling.py,sha256=BUu9wi7H1Xgil9lci-48TCPQ1xwe2-OTNXsW7jiewlM,10510
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-musllinux_1_1_i686
5
5