aikido-zen 1.6.0.beta.1 → 1.6.0.beta.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0cf8df166776f46ad02f951fd01710135db8e90cbeede8c54c4ff643a6463d0
4
- data.tar.gz: 60b5c0e61ce8627e8739441b92843a32f10d519f68afcd52b91aa172812b0207
3
+ metadata.gz: 738c94bd7530220f9d871478c41d7108a8c36d347ef16a62f6895bd94854ef6d
4
+ data.tar.gz: 6bcd92246a8b763cd6294b75ac03421cf0ff2c7a67d1088c1107250724ee11cd
5
5
  SHA512:
6
- metadata.gz: fcf428661f4688f886b9d4d86daa6d65fac6a348fbb6f222099af2d6723b70a27166ca8e74314afcba03c38fac30b7b3fccc6c39b0a290dbe7e95114db193a2a
7
- data.tar.gz: 268766e8d50d75b1d218918fea7acac88bde561361bf176fb025509148781065bdf460e4446001373cc51478d6656f9f510457d15bf26ee33540110d3cd2ce25
6
+ metadata.gz: 89377ac769259219f973ff26d4a123fe74ef865d5ec9bd1c2ba0d035e4f2ab49217cffd77828b7c5a5d47b34e6255f9a719ff7b23cd2f7d00cf332dd97a0d0ef
7
+ data.tar.gz: 6124153d75e81e9879e2eb7910a4996b1d464f87cc35381efcaeea85b3dcb3fe70d20893ebfa541d3319606896ed3db13aaa72b214f1527ee02accfe18318360
@@ -174,14 +174,14 @@ module Aikido
174
174
  end
175
175
 
176
176
  def write_frame_with_deadline(socket, data, max_size, deadline)
177
- bytes = data.b
177
+ size = data.bytesize
178
178
 
179
- if max_size && bytes.bytesize > max_size
180
- raise FrameTooLargeError.new(bytes.bytesize, max_size)
179
+ if max_size && size > max_size
180
+ raise FrameTooLargeError.new(size, max_size)
181
181
  end
182
182
 
183
- write_with_deadline(socket, [bytes.bytesize].pack("N"), deadline)
184
- write_with_deadline(socket, bytes, deadline)
183
+ write_with_deadline(socket, [size].pack("N"), deadline)
184
+ write_with_deadline(socket, data, deadline)
185
185
  end
186
186
 
187
187
  def write_frame_with_timeout(socket, data, max_size, timeout)
@@ -197,7 +197,11 @@ module Aikido
197
197
  raise FrameTooLargeError.new(size, max_size)
198
198
  end
199
199
 
200
+ # String#<< raises Encoding::CompatibilityError when concatenating
201
+ # strings with different encodings unless one of them is ASCII-only.
200
202
  frame = [size].pack("N")
203
+ # Retag data to avoid copying it.
204
+ frame.force_encoding(data.encoding)
201
205
  frame << data
202
206
 
203
207
  write_with_deadline(socket, frame, deadline)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Aikido
4
4
  module Zen
5
- VERSION = "1.6.0.beta.1"
5
+ VERSION = "1.6.0.beta.2"
6
6
 
7
7
  # The version of libzen_internals that we build against.
8
8
  LIBZEN_VERSION = "0.1.61"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aikido-zen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0.beta.1
4
+ version: 1.6.0.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aikido Security
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-07-15 00:00:00.000000000 Z
11
+ date: 2026-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby