dalli 3.0.5 → 3.0.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of dalli might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1d0533f940077d18e6689253325c1dd04ddcfe56963265c661b42d8bf8699f7
4
- data.tar.gz: a50064a0845c9ed86acf2a68b3a7c37fff35ab687724fa263333dda098a9430a
3
+ metadata.gz: adcf2507fd177cbc44167154462aae102a6f34f9cd6a85ba29ea9a26e87efce6
4
+ data.tar.gz: 57bd7da6c8c90fbcd99c4738bdb061df3630df0ff17ead1cc510d5d58f8677e2
5
5
  SHA512:
6
- metadata.gz: c35e6c854ac914779a1cd874fb262047b3e1b442e383c234120487160d19c43aad1539106ee1f3e1503ee29fc9135460416f237c5ab9affe99a950bc0b612166
7
- data.tar.gz: 348afdb59b0fe32ba729785c9fc5435abd6d89a3cdef49d124c4f10ac85f066e90180afdd2e91f4b140e0a175e42ff688e9081b73e2b2f6a3925ca8c27f190c6
6
+ metadata.gz: cec1cceffc54713b77746ec455ddd3817b0dad37ceacb33d20f5f82a51015c7d82788ad78d043f4859d26a6c236bb57d8aac053770ea464827c5c22f07057d98
7
+ data.tar.gz: 70e93ae5cca84bc211315359391bad55b2f31908604ee195f42e701b472ab469074f3ee9350618491cfbf9d34b53f4e41950998e8e34cd446d8c4aca63d4b0d4
data/History.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Dalli Changelog
2
2
  =====================
3
3
 
4
+ 3.0.6
5
+ ==========
6
+
7
+ - Fix regression in SASL authentication response parsing (petergoldstein)
8
+
4
9
  3.0.5
5
10
  ==========
6
11
 
@@ -132,15 +132,15 @@ module Dalli
132
132
  end
133
133
 
134
134
  def validate_auth_format(extra_len, count)
135
- return if extra_len.zero? && count.positive?
135
+ return if extra_len.zero?
136
136
 
137
137
  raise Dalli::NetworkError, "Unexpected message format: #{extra_len} #{count}"
138
138
  end
139
139
 
140
140
  def auth_response
141
- (extra_len, _type, status, count) = read_header.unpack(RESP_HEADER)
142
- validate_auth_format(extra_len, count)
143
- content = read(count)
141
+ (_, extra_len, _, status, body_len,) = read_header.unpack(RESP_HEADER)
142
+ validate_auth_format(extra_len, body_len)
143
+ content = read(body_len) if body_len.positive?
144
144
  [status, content]
145
145
  end
146
146
  end
@@ -11,9 +11,12 @@ module Dalli
11
11
  write(RequestFormatter.standard_request(opkey: :auth_negotiation))
12
12
 
13
13
  status, content = @response_processor.auth_response
14
- # TODO: Determine if this substitution is needed
15
- content.tr("\u0000", ' ')
16
- mechanisms = content.split
14
+ return [status, []] if content.nil?
15
+
16
+ # Substitute spaces for the \x00 returned by
17
+ # memcached as a separator for easier
18
+ content&.tr("\u0000", ' ')
19
+ mechanisms = content&.split
17
20
  [status, mechanisms]
18
21
  end
19
22
 
@@ -45,7 +48,7 @@ module Dalli
45
48
 
46
49
  return Dalli.logger.info("Dalli/SASL: #{content}") if status.zero?
47
50
 
48
- raise Dalli::DalliError, "Error authenticating: #{status}" unless status == 0x21
51
+ raise Dalli::DalliError, "Error authenticating: 0x#{status.to_s(16)}" unless status == 0x21
49
52
 
50
53
  raise NotImplementedError, 'No two-step authentication mechanisms supported'
51
54
  # (step, msg) = sasl.receive('challenge', content)
data/lib/dalli/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dalli
4
- VERSION = '3.0.5'
4
+ VERSION = '3.0.6'
5
5
 
6
6
  MIN_SUPPORTED_MEMCACHED_VERSION = '1.4'
7
7
  end
data/lib/dalli.rb CHANGED
@@ -49,19 +49,19 @@ module Dalli
49
49
  end
50
50
  end
51
51
 
52
- require 'dalli/version'
52
+ require_relative 'dalli/version'
53
53
 
54
- require 'dalli/compressor'
55
- require 'dalli/client'
56
- require 'dalli/key_manager'
57
- require 'dalli/ring'
58
- require 'dalli/protocol'
59
- require 'dalli/protocol/binary'
60
- require 'dalli/protocol/server_config_parser'
61
- require 'dalli/protocol/ttl_sanitizer'
62
- require 'dalli/protocol/value_compressor'
63
- require 'dalli/protocol/value_marshaller'
64
- require 'dalli/protocol/value_serializer'
65
- require 'dalli/servers_arg_normalizer'
66
- require 'dalli/socket'
67
- require 'dalli/options'
54
+ require_relative 'dalli/compressor'
55
+ require_relative 'dalli/client'
56
+ require_relative 'dalli/key_manager'
57
+ require_relative 'dalli/ring'
58
+ require_relative 'dalli/protocol'
59
+ require_relative 'dalli/protocol/binary'
60
+ require_relative 'dalli/protocol/server_config_parser'
61
+ require_relative 'dalli/protocol/ttl_sanitizer'
62
+ require_relative 'dalli/protocol/value_compressor'
63
+ require_relative 'dalli/protocol/value_marshaller'
64
+ require_relative 'dalli/protocol/value_serializer'
65
+ require_relative 'dalli/servers_arg_normalizer'
66
+ require_relative 'dalli/socket'
67
+ require_relative 'dalli/options'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dalli
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.5
4
+ version: 3.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter M. Goldstein