bson 4.9.4 → 4.9.5

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: 9d770bbf52ee70915f3f04b3831de6ef57c90ae131fcde462bb1925df609119e
4
- data.tar.gz: ea768461024fac1dabccae70d6a2b6a6d68c74be70eb581b5849c37d535b1fb3
3
+ metadata.gz: 1e5e88dfb0ddb4d37e05be097f8b26c7a980bfc1abcc9d1e05fe40aa4130c7b5
4
+ data.tar.gz: d388af7cec7de94fa13487c78bdd747eb5bf0ac99c6aaf5a4dd012bc95e7800d
5
5
  SHA512:
6
- metadata.gz: c85b9d81f0f849fca1f59ee23c239de332107c4758673e60ee4f160fc8c0ba4089de905bdf8024d755b005c8828043f80f6158de0e780dba02d459c17550cc34
7
- data.tar.gz: 9663f3b950a457c1143204ef24dd7aa418be6ea350c2a615fdf752b2d14482606133649d0b2d18549d5d9676f4df37f39d23a6b027b06365b1fbc7ebba3bfc8a
6
+ metadata.gz: 4ae9d9e323587d434ce674440d0c3f980ee9aa1c8654a3a895e8dc23c66d2f4a58608f6897b1367b811f6c7fb72cccf8e4cb150fb7ca6951ba17ee3051e74eeb
7
+ data.tar.gz: 2fda4fc32c12e3d3a69dc2ba9ea35f85b784d71824e4e69268bb30898dea237f973b59be8c0fba625d13dbabb1ef2083ba56bdddb38ed0c43ecea11ffaf4afe5
@@ -1,2 +1 @@
1
- S�t�DCiq<��E$��L?��)�t�
2
- �ɒ��[���E`�}��|$�lP�/R�Ag��)�Q��P�ϼ�t� :���X�lFi��eoy/��u�HM�� �j!\���ISL��B�0������c[D�)�{n:��:Q�����Tm;�&�!�a�f�CÌd�%?ț����O�X���%��;<���.Y~�_{��'����?�,0p<���9�H�����������q����L����#^�
1
+ @#��8n\��E�T)�ܬsgЈw��t���u`*UTkV��'EZ�Io�lˀj���n_!iA_�`ٻ) �ȣ��F!������թ^0��,���%&�ߚ��2FQw��J% Pl� �*e�̈́���X\�� �o)%�c~n�e�M{�_���͵�ˠn2R$|����/�d9H*]����d�����%4T����i2�L���t�<��� y4��S|���<��r !���]�u�:�eLu��
data.tar.gz.sig CHANGED
Binary file
@@ -41,12 +41,12 @@ void pvt_raise_decode_error(volatile VALUE msg) {
41
41
  int32_t pvt_validate_length(byte_buffer_t *b)
42
42
  {
43
43
  int32_t length;
44
-
44
+
45
45
  ENSURE_BSON_READ(b, 4);
46
46
  memcpy(&length, READ_PTR(b), 4);
47
47
  length = BSON_UINT32_TO_LE(length);
48
48
 
49
- /* minimum valid length is 4 (byte count) + 1 (terminating byte) */
49
+ /* minimum valid length is 4 (byte count) + 1 (terminating byte) */
50
50
  if(length >= 5){
51
51
  ENSURE_BSON_READ(b, length);
52
52
 
@@ -59,7 +59,7 @@ int32_t pvt_validate_length(byte_buffer_t *b)
59
59
  else{
60
60
  rb_raise(rb_eRangeError, "Buffer contained invalid length %d at %zu", length, b->read_position);
61
61
  }
62
-
62
+
63
63
  return length;
64
64
  }
65
65
 
@@ -175,13 +175,13 @@ VALUE pvt_get_string(byte_buffer_t *b, const char *data_type)
175
175
  }
176
176
  ENSURE_BSON_READ(b, 4 + length);
177
177
  str_ptr = READ_PTR(b) + 4;
178
- last_byte = *(READ_PTR(b) + 4 + length_le - 1);
178
+ last_byte = *(READ_PTR(b) + 4 + length - 1);
179
179
  if (last_byte != 0) {
180
180
  pvt_raise_decode_error(rb_sprintf("Last byte of the string is not null: 0x%x", (int) last_byte));
181
181
  }
182
182
  rb_bson_utf8_validate(str_ptr, length - 1, true, data_type);
183
183
  string = rb_enc_str_new(str_ptr, length - 1, rb_utf8_encoding());
184
- b->read_position += 4 + length_le;
184
+ b->read_position += 4 + length;
185
185
  return string;
186
186
  }
187
187
 
@@ -205,7 +205,7 @@ VALUE pvt_get_symbol(byte_buffer_t *b, VALUE rb_buffer, int argc, VALUE *argv)
205
205
  klass = rb_funcall(rb_bson_registry, rb_intern("get"), 1, INT2FIX(BSON_TYPE_SYMBOL));
206
206
  value = rb_funcall(klass, rb_intern("from_bson"), 1, rb_buffer);
207
207
  }
208
-
208
+
209
209
  RB_GC_GUARD(klass);
210
210
  return value;
211
211
  }
@@ -284,7 +284,7 @@ VALUE pvt_get_int64(byte_buffer_t *b, int argc, VALUE *argv)
284
284
  memcpy(&i64, READ_PTR(b), 8);
285
285
  b->read_position += 8;
286
286
  num = LL2NUM(BSON_UINT64_FROM_LE(i64));
287
-
287
+
288
288
  if (pvt_get_mode_option(argc, argv) == BSON_MODE_BSON) {
289
289
  VALUE klass = rb_funcall(rb_bson_registry,rb_intern("get"),1, INT2FIX(BSON_TYPE_INT64));
290
290
  VALUE value = rb_funcall(klass, rb_intern("new"), 1, num);
@@ -293,7 +293,7 @@ VALUE pvt_get_int64(byte_buffer_t *b, int argc, VALUE *argv)
293
293
  } else {
294
294
  return num;
295
295
  }
296
-
296
+
297
297
  RB_GC_GUARD(num);
298
298
  }
299
299
 
@@ -353,11 +353,11 @@ VALUE rb_bson_byte_buffer_get_hash(int argc, VALUE *argv, VALUE self){
353
353
  rb_hash_aset(doc, field, pvt_read_field(b, self, type, argc, argv));
354
354
  RB_GC_GUARD(field);
355
355
  }
356
-
356
+
357
357
  if (READ_PTR(b) - start_ptr != length) {
358
358
  pvt_raise_decode_error(rb_sprintf("Expected to read %d bytes for the hash but read %ld bytes", length, READ_PTR(b) - start_ptr));
359
359
  }
360
-
360
+
361
361
  return doc;
362
362
  }
363
363
 
@@ -379,10 +379,10 @@ VALUE rb_bson_byte_buffer_get_array(int argc, VALUE *argv, VALUE self){
379
379
  rb_ary_push(array, pvt_read_field(b, self, type, argc, argv));
380
380
  }
381
381
  RB_GC_GUARD(array);
382
-
382
+
383
383
  if (READ_PTR(b) - start_ptr != length) {
384
384
  pvt_raise_decode_error(rb_sprintf("Expected to read %d bytes for the hash but read %ld bytes", length, READ_PTR(b) - start_ptr));
385
385
  }
386
-
386
+
387
387
  return array;
388
388
  }
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module BSON
16
- VERSION = "4.9.4".freeze
16
+ VERSION = "4.9.5".freeze
17
17
  end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bson
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.4
4
+ version: 4.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -33,7 +33,7 @@ cert_chain:
33
33
  gpvfPNWMwyBDlHaNS3GfO6cRRxBOvEG05GUCsvtTY4Bpe8yjE64wg1ymb47LMOnv
34
34
  Qb1lGORmf/opg45mluKUYl7pQNZHD0d3
35
35
  -----END CERTIFICATE-----
36
- date: 2020-06-29 00:00:00.000000000 Z
36
+ date: 2020-10-13 00:00:00.000000000 Z
37
37
  dependencies: []
38
38
  description: A fully featured BSON specification implementation in Ruby
39
39
  email:
@@ -99,6 +99,7 @@ files:
99
99
  - lib/bson/true_class.rb
100
100
  - lib/bson/undefined.rb
101
101
  - lib/bson/version.rb
102
+ - lib/bson_native.bundle
102
103
  - spec/bson/array_spec.rb
103
104
  - spec/bson/binary_spec.rb
104
105
  - spec/bson/binary_uuid_spec.rb
@@ -239,113 +240,113 @@ signing_key:
239
240
  specification_version: 4
240
241
  summary: Ruby implementation of the BSON specification
241
242
  test_files:
242
- - spec/spec_helper.rb
243
- - spec/spec_tests/corpus_spec.rb
244
243
  - spec/spec_tests/common_driver_spec.rb
245
- - spec/spec_tests/data/corpus/decimal128-7.json
246
- - spec/spec_tests/data/corpus/top.json
244
+ - spec/spec_tests/corpus_legacy_spec.rb
247
245
  - spec/spec_tests/data/corpus/array.json
248
- - spec/spec_tests/data/corpus/null.json
249
246
  - spec/spec_tests/data/corpus/document.json
250
- - spec/spec_tests/data/corpus/decimal128-2.json
251
- - spec/spec_tests/data/corpus/decimal128-6.json
252
- - spec/spec_tests/data/corpus/boolean.json
253
- - spec/spec_tests/data/corpus/README.md
247
+ - spec/spec_tests/data/corpus/decimal128-7.json
248
+ - spec/spec_tests/data/corpus/decimal128-3.json
254
249
  - spec/spec_tests/data/corpus/maxkey.json
255
- - spec/spec_tests/data/corpus/binary.json
256
- - spec/spec_tests/data/corpus/multi-type.json
257
- - spec/spec_tests/data/corpus/timestamp.json
258
- - spec/spec_tests/data/corpus/multi-type-deprecated.json
250
+ - spec/spec_tests/data/corpus/code.json
259
251
  - spec/spec_tests/data/corpus/dbpointer.json
252
+ - spec/spec_tests/data/corpus/int32.json
253
+ - spec/spec_tests/data/corpus/README.md
254
+ - spec/spec_tests/data/corpus/decimal128-5.json
255
+ - spec/spec_tests/data/corpus/decimal128-4.json
256
+ - spec/spec_tests/data/corpus/decimal128-2.json
257
+ - spec/spec_tests/data/corpus/double.json
258
+ - spec/spec_tests/data/corpus/code_w_scope.json
259
+ - spec/spec_tests/data/corpus/binary.json
260
260
  - spec/spec_tests/data/corpus/oid.json
261
+ - spec/spec_tests/data/corpus/null.json
262
+ - spec/spec_tests/data/corpus/decimal128-6.json
263
+ - spec/spec_tests/data/corpus/int64.json
264
+ - spec/spec_tests/data/corpus/dbref.json
261
265
  - spec/spec_tests/data/corpus/regex.json
262
266
  - spec/spec_tests/data/corpus/minkey.json
267
+ - spec/spec_tests/data/corpus/multi-type.json
268
+ - spec/spec_tests/data/corpus/top.json
263
269
  - spec/spec_tests/data/corpus/symbol.json
264
- - spec/spec_tests/data/corpus/dbref.json
265
- - spec/spec_tests/data/corpus/decimal128-1.json
270
+ - spec/spec_tests/data/corpus/multi-type-deprecated.json
266
271
  - spec/spec_tests/data/corpus/undefined.json
267
- - spec/spec_tests/data/corpus/double.json
268
- - spec/spec_tests/data/corpus/decimal128-4.json
269
- - spec/spec_tests/data/corpus/decimal128-3.json
270
- - spec/spec_tests/data/corpus/decimal128-5.json
271
- - spec/spec_tests/data/corpus/int32.json
272
- - spec/spec_tests/data/corpus/string.json
273
- - spec/spec_tests/data/corpus/code.json
274
- - spec/spec_tests/data/corpus/code_w_scope.json
275
- - spec/spec_tests/data/corpus/int64.json
276
272
  - spec/spec_tests/data/corpus/datetime.json
277
- - spec/spec_tests/data/corpus_legacy/top.json
273
+ - spec/spec_tests/data/corpus/string.json
274
+ - spec/spec_tests/data/corpus/boolean.json
275
+ - spec/spec_tests/data/corpus/timestamp.json
276
+ - spec/spec_tests/data/corpus/decimal128-1.json
277
+ - spec/spec_tests/data/decimal128/decimal128-7.json
278
+ - spec/spec_tests/data/decimal128/decimal128-3.json
279
+ - spec/spec_tests/data/decimal128/decimal128-5.json
280
+ - spec/spec_tests/data/decimal128/decimal128-4.json
281
+ - spec/spec_tests/data/decimal128/decimal128-2.json
282
+ - spec/spec_tests/data/decimal128/decimal128-6.json
283
+ - spec/spec_tests/data/decimal128/decimal128-1.json
278
284
  - spec/spec_tests/data/corpus_legacy/array.json
279
- - spec/spec_tests/data/corpus_legacy/null.json
280
285
  - spec/spec_tests/data/corpus_legacy/document.json
281
- - spec/spec_tests/data/corpus_legacy/boolean.json
282
286
  - spec/spec_tests/data/corpus_legacy/maxkey.json
287
+ - spec/spec_tests/data/corpus_legacy/code.json
288
+ - spec/spec_tests/data/corpus_legacy/int32.json
289
+ - spec/spec_tests/data/corpus_legacy/double.json
290
+ - spec/spec_tests/data/corpus_legacy/code_w_scope.json
283
291
  - spec/spec_tests/data/corpus_legacy/binary.json
284
- - spec/spec_tests/data/corpus_legacy/timestamp.json
285
- - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
286
- - spec/spec_tests/data/corpus_legacy/failures/symbol.json
287
- - spec/spec_tests/data/corpus_legacy/failures/int64.json
288
- - spec/spec_tests/data/corpus_legacy/failures/datetime.json
289
292
  - spec/spec_tests/data/corpus_legacy/oid.json
293
+ - spec/spec_tests/data/corpus_legacy/null.json
290
294
  - spec/spec_tests/data/corpus_legacy/regex.json
291
295
  - spec/spec_tests/data/corpus_legacy/minkey.json
296
+ - spec/spec_tests/data/corpus_legacy/top.json
297
+ - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
298
+ - spec/spec_tests/data/corpus_legacy/failures/int64.json
299
+ - spec/spec_tests/data/corpus_legacy/failures/symbol.json
300
+ - spec/spec_tests/data/corpus_legacy/failures/datetime.json
292
301
  - spec/spec_tests/data/corpus_legacy/undefined.json
293
- - spec/spec_tests/data/corpus_legacy/double.json
294
- - spec/spec_tests/data/corpus_legacy/int32.json
295
302
  - spec/spec_tests/data/corpus_legacy/string.json
296
- - spec/spec_tests/data/corpus_legacy/code.json
297
- - spec/spec_tests/data/corpus_legacy/code_w_scope.json
298
- - spec/spec_tests/data/decimal128/decimal128-7.json
299
- - spec/spec_tests/data/decimal128/decimal128-2.json
300
- - spec/spec_tests/data/decimal128/decimal128-6.json
301
- - spec/spec_tests/data/decimal128/decimal128-1.json
302
- - spec/spec_tests/data/decimal128/decimal128-4.json
303
- - spec/spec_tests/data/decimal128/decimal128-3.json
304
- - spec/spec_tests/data/decimal128/decimal128-5.json
305
- - spec/spec_tests/corpus_legacy_spec.rb
306
- - spec/support/utils.rb
307
- - spec/support/shared_examples.rb
308
- - spec/support/spec_config.rb
309
- - spec/runners/common_driver.rb
310
- - spec/runners/corpus_legacy.rb
303
+ - spec/spec_tests/data/corpus_legacy/boolean.json
304
+ - spec/spec_tests/data/corpus_legacy/timestamp.json
305
+ - spec/spec_tests/corpus_spec.rb
311
306
  - spec/runners/corpus.rb
312
- - spec/bson/code_spec.rb
307
+ - spec/runners/corpus_legacy.rb
308
+ - spec/runners/common_driver.rb
309
+ - spec/spec_helper.rb
310
+ - spec/support/spec_config.rb
311
+ - spec/support/shared_examples.rb
312
+ - spec/support/utils.rb
313
+ - spec/bson/ext_json_parse_spec.rb
314
+ - spec/bson/object_spec.rb
315
+ - spec/bson/json_spec.rb
316
+ - spec/bson/true_class_spec.rb
313
317
  - spec/bson/byte_buffer_read_spec.rb
318
+ - spec/bson/config_spec.rb
314
319
  - spec/bson/int32_spec.rb
315
- - spec/bson/max_key_spec.rb
316
- - spec/bson/time_spec.rb
317
- - spec/bson/array_spec.rb
318
- - spec/bson/date_time_spec.rb
319
- - spec/bson/document_spec.rb
320
- - spec/bson/float_spec.rb
321
- - spec/bson/nil_class_spec.rb
322
- - spec/bson/time_with_zone_spec.rb
323
- - spec/bson/ext_json_parse_spec.rb
324
- - spec/bson/string_spec.rb
320
+ - spec/bson/regexp_spec.rb
321
+ - spec/bson/symbol_raw_spec.rb
325
322
  - spec/bson/open_struct_spec.rb
326
- - spec/bson/config_spec.rb
323
+ - spec/bson/document_spec.rb
324
+ - spec/bson/min_key_spec.rb
327
325
  - spec/bson/false_class_spec.rb
328
- - spec/bson/raw_spec.rb
329
- - spec/bson/regexp_spec.rb
330
- - spec/bson/binary_spec.rb
331
- - spec/bson/object_spec.rb
326
+ - spec/bson/code_spec.rb
327
+ - spec/bson/symbol_spec.rb
328
+ - spec/bson/object_id_spec.rb
332
329
  - spec/bson/decimal128_spec.rb
333
- - spec/bson/binary_uuid_spec.rb
330
+ - spec/bson/registry_spec.rb
331
+ - spec/bson/time_spec.rb
334
332
  - spec/bson/boolean_spec.rb
335
333
  - spec/bson/byte_buffer_spec.rb
336
- - spec/bson/json_spec.rb
337
- - spec/bson/symbol_spec.rb
338
- - spec/bson/integer_spec.rb
339
- - spec/bson/byte_buffer_write_spec.rb
340
- - spec/bson/registry_spec.rb
341
- - spec/bson/code_with_scope_spec.rb
342
- - spec/bson/true_class_spec.rb
334
+ - spec/bson/hash_spec.rb
343
335
  - spec/bson/undefined_spec.rb
344
- - spec/bson/object_id_spec.rb
336
+ - spec/bson/raw_spec.rb
337
+ - spec/bson/string_spec.rb
345
338
  - spec/bson/timestamp_spec.rb
346
- - spec/bson/hash_spec.rb
347
- - spec/bson/symbol_raw_spec.rb
348
- - spec/bson/min_key_spec.rb
339
+ - spec/bson/date_time_spec.rb
340
+ - spec/bson/max_key_spec.rb
349
341
  - spec/bson/int64_spec.rb
342
+ - spec/bson/byte_buffer_write_spec.rb
350
343
  - spec/bson/date_spec.rb
344
+ - spec/bson/binary_spec.rb
345
+ - spec/bson/code_with_scope_spec.rb
346
+ - spec/bson/integer_spec.rb
347
+ - spec/bson/binary_uuid_spec.rb
348
+ - spec/bson/nil_class_spec.rb
349
+ - spec/bson/array_spec.rb
350
+ - spec/bson/time_with_zone_spec.rb
351
+ - spec/bson/float_spec.rb
351
352
  - spec/bson_spec.rb
metadata.gz.sig CHANGED
Binary file