rbs 3.10.0.pre.2 → 3.10.0

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/c-check.yml +1 -1
  3. data/.github/workflows/comments.yml +2 -2
  4. data/.github/workflows/ruby.yml +7 -7
  5. data/CHANGELOG.md +49 -0
  6. data/core/array.rbs +56 -3
  7. data/core/complex.rbs +32 -21
  8. data/core/encoding.rbs +3 -7
  9. data/core/enumerable.rbs +1 -1
  10. data/core/enumerator.rbs +18 -1
  11. data/core/fiber.rbs +2 -1
  12. data/core/file.rbs +1 -1
  13. data/core/file_test.rbs +1 -1
  14. data/core/float.rbs +208 -21
  15. data/core/gc.rbs +4 -9
  16. data/core/hash.rbs +4 -4
  17. data/core/integer.rbs +78 -38
  18. data/core/io/buffer.rbs +18 -7
  19. data/core/io.rbs +8 -8
  20. data/core/kernel.rbs +8 -8
  21. data/core/module.rbs +17 -6
  22. data/core/numeric.rbs +8 -8
  23. data/core/object_space.rbs +13 -20
  24. data/core/pathname.rbs +2 -3
  25. data/core/ractor.rbs +4 -4
  26. data/core/range.rbs +1 -1
  27. data/core/rational.rbs +37 -24
  28. data/core/rbs/unnamed/argf.rbs +1 -1
  29. data/core/regexp.rbs +3 -3
  30. data/core/ruby.rbs +53 -0
  31. data/core/rubygems/version.rbs +2 -3
  32. data/core/set.rbs +86 -64
  33. data/core/string.rbs +275 -141
  34. data/core/thread.rbs +9 -9
  35. data/core/trace_point.rbs +7 -4
  36. data/lib/rbs/test/type_check.rb +1 -0
  37. data/lib/rbs/version.rb +1 -1
  38. data/lib/rdoc/discover.rb +1 -1
  39. data/stdlib/bigdecimal/0/big_decimal.rbs +100 -82
  40. data/stdlib/bigdecimal-math/0/big_math.rbs +169 -8
  41. data/stdlib/date/0/date.rbs +67 -59
  42. data/stdlib/date/0/date_time.rbs +1 -1
  43. data/stdlib/json/0/json.rbs +1 -0
  44. data/stdlib/objspace/0/objspace.rbs +1 -1
  45. data/stdlib/openssl/0/openssl.rbs +150 -80
  46. data/stdlib/psych/0/psych.rbs +3 -3
  47. data/stdlib/stringio/0/stringio.rbs +796 -37
  48. data/stdlib/strscan/0/string_scanner.rbs +1 -1
  49. data/stdlib/tempfile/0/tempfile.rbs +2 -2
  50. data/stdlib/time/0/time.rbs +1 -1
  51. data/stdlib/timeout/0/timeout.rbs +63 -7
  52. data/stdlib/uri/0/generic.rbs +1 -1
  53. metadata +3 -2
@@ -367,7 +367,7 @@
367
367
  # ## SSL and TLS Connections
368
368
  #
369
369
  # Using our created key and certificate we can create an SSL or TLS connection.
370
- # An SSLContext is used to set up an SSL session.
370
+ # An OpenSSL::SSL::SSLContext is used to set up an SSL session.
371
371
  #
372
372
  # context = OpenSSL::SSL::SSLContext.new
373
373
  #
@@ -379,8 +379,8 @@
379
379
  # context.cert = cert
380
380
  # context.key = key
381
381
  #
382
- # Then create an SSLServer with a TCP server socket and the context. Use the
383
- # SSLServer like an ordinary TCP server.
382
+ # Then create an OpenSSL::SSL::SSLServer with a TCP server socket and the
383
+ # context. Use the SSLServer like an ordinary TCP server.
384
384
  #
385
385
  # require 'socket'
386
386
  #
@@ -401,12 +401,13 @@
401
401
  #
402
402
  # ### SSL client
403
403
  #
404
- # An SSL client is created with a TCP socket and the context. SSLSocket#connect
405
- # must be called to initiate the SSL handshake and start encryption. A key and
406
- # certificate are not required for the client socket.
404
+ # An SSL client is created with a TCP socket and the context.
405
+ # OpenSSL::SSL::SSLSocket#connect must be called to initiate the SSL handshake
406
+ # and start encryption. A key and certificate are not required for the client
407
+ # socket.
407
408
  #
408
- # Note that SSLSocket#close doesn't close the underlying socket by default. Set
409
- # SSLSocket#sync_close to true if you want.
409
+ # Note that OpenSSL::SSL::SSLSocket#close doesn't close the underlying socket by
410
+ # default. Set OpenSSL::SSL::SSLSocket#sync_close to true if you want.
410
411
  #
411
412
  # require 'socket'
412
413
  #
@@ -455,7 +456,7 @@ module OpenSSL
455
456
  # OpenSSL::Digest("MD5")
456
457
  # # => OpenSSL::Digest::MD5
457
458
  #
458
- # Digest("Foo")
459
+ # OpenSSL::Digest("Foo")
459
460
  # # => NameError: wrong constant name Foo
460
461
  #
461
462
  def self.Digest: (String name) -> singleton(Digest)
@@ -464,12 +465,13 @@ module OpenSSL
464
465
  # rdoc-file=ext/openssl/ossl.c
465
466
  # - OpenSSL.debug -> true | false
466
467
  # -->
468
+ # Returns whether Ruby/OpenSSL's debug mode is currently enabled.
467
469
  #
468
470
  def self.debug: () -> bool
469
471
 
470
472
  # <!--
471
473
  # rdoc-file=ext/openssl/ossl.c
472
- # - OpenSSL.debug = boolean -> boolean
474
+ # - OpenSSL.debug = boolean
473
475
  # -->
474
476
  # Turns on or off debug mode. With debug mode, all errors added to the OpenSSL
475
477
  # error queue will be printed to stderr.
@@ -480,10 +482,14 @@ module OpenSSL
480
482
  # rdoc-file=ext/openssl/ossl.c
481
483
  # - OpenSSL.errors -> [String...]
482
484
  # -->
483
- # See any remaining errors held in queue.
485
+ # Returns any remaining errors held in the OpenSSL thread-local error queue and
486
+ # clears the queue. This should normally return an empty array.
484
487
  #
485
- # Any errors you see here are probably due to a bug in Ruby's OpenSSL
486
- # implementation.
488
+ # This is intended for debugging Ruby/OpenSSL. If you see any errors here, it
489
+ # likely indicates a bug in the extension. Please file an issue at
490
+ # https://github.com/ruby/openssl.
491
+ #
492
+ # For debugging your program, OpenSSL.debug= may be useful.
487
493
  #
488
494
  def self.errors: () -> Array[String]
489
495
 
@@ -491,12 +497,13 @@ module OpenSSL
491
497
  # rdoc-file=ext/openssl/ossl.c
492
498
  # - OpenSSL.fips_mode -> true | false
493
499
  # -->
500
+ # Returns whether the FIPS mode is currently enabled.
494
501
  #
495
502
  def self.fips_mode: () -> bool
496
503
 
497
504
  # <!--
498
505
  # rdoc-file=ext/openssl/ossl.c
499
- # - OpenSSL.fips_mode = boolean -> boolean
506
+ # - OpenSSL.fips_mode = boolean
500
507
  # -->
501
508
  # Turns FIPS mode on or off. Turning on FIPS mode will obviously only have an
502
509
  # effect for FIPS-capable installations of the OpenSSL library. Trying to do so
@@ -510,60 +517,74 @@ module OpenSSL
510
517
 
511
518
  # <!--
512
519
  # rdoc-file=ext/openssl/ossl.c
513
- # - OpenSSL.fixed_length_secure_compare(string, string) -> boolean
520
+ # - OpenSSL.fixed_length_secure_compare(string, string) -> true or false
514
521
  # -->
515
522
  # Constant time memory comparison for fixed length strings, such as results of
516
523
  # HMAC calculations.
517
524
  #
518
525
  # Returns `true` if the strings are identical, `false` if they are of the same
519
- # length but not identical. If the length is different, `ArgumentError` is
520
- # raised.
526
+ # length but not identical. If the length is different, ArgumentError is raised.
521
527
  #
522
528
  def self.fixed_length_secure_compare: (String, String) -> bool
523
529
 
524
530
  # <!--
525
531
  # rdoc-file=ext/openssl/lib/openssl.rb
526
- # - OpenSSL.secure_compare(string, string) -> boolean
532
+ # - OpenSSL.secure_compare(string, string) -> true or false
527
533
  # -->
528
534
  # Constant time memory comparison. Inputs are hashed using SHA-256 to mask the
529
535
  # length of the secret. Returns `true` if the strings are identical, `false`
530
536
  # otherwise.
531
537
  #
538
+ # This method is expensive due to the SHA-256 hashing. In most cases, where the
539
+ # input lengths are known to be equal or are not sensitive,
540
+ # OpenSSL.fixed_length_secure_compare should be used instead.
541
+ #
532
542
  def self.secure_compare: (String a, String b) -> bool
533
543
 
534
544
  # <!-- rdoc-file=ext/openssl/ossl.c -->
535
- # Boolean indicating whether OpenSSL is FIPS-capable or not
545
+ # Boolean indicating whether the OpenSSL library is FIPS-capable or not. Always
546
+ # `true` for OpenSSL 3.0 and later.
547
+ #
548
+ # This is obsolete and will be removed in the future. See also
549
+ # OpenSSL.fips_mode.
536
550
  #
537
551
  OPENSSL_FIPS: bool
538
552
 
539
553
  # <!-- rdoc-file=ext/openssl/ossl.c -->
540
- # Version of OpenSSL the ruby OpenSSL extension is running with
554
+ # OpenSSL library version string currently used at runtime.
541
555
  #
542
556
  OPENSSL_LIBRARY_VERSION: String
543
557
 
544
558
  # <!-- rdoc-file=ext/openssl/ossl.c -->
545
- # Version of OpenSSL the ruby OpenSSL extension was built with
559
+ # OpenSSL library version string used to compile the Ruby/OpenSSL extension.
560
+ # This may differ from the version used at runtime.
546
561
  #
547
562
  OPENSSL_VERSION: String
548
563
 
549
564
  # <!-- rdoc-file=ext/openssl/ossl.c -->
550
- # Version number of OpenSSL the ruby OpenSSL extension was built with (base 16).
551
- # The formats are below.
565
+ # OpenSSL library version number used to compile the Ruby/OpenSSL extension.
566
+ # This may differ from the version used at runtime.
552
567
  #
553
- # OpenSSL 3
554
- # : `0xMNN00PP0 (major minor 00 patch 0)`
568
+ # The version number is encoded into a single integer value. The number follows
569
+ # the format:
555
570
  #
556
- # OpenSSL before 3
557
- # : `0xMNNFFPPS (major minor fix patch status)`
571
+ # OpenSSL 3.0.0 or later
572
+ # : `0xMNN00PP0` (major minor 00 patch 0)
573
+ #
574
+ # OpenSSL 1.1.1 or earlier
575
+ # : `0xMNNFFPPS` (major minor fix patch status)
558
576
  #
559
577
  # LibreSSL
560
- # : `0x20000000 (fixed value)`
578
+ # : `0x20000000` (a fixed value)
561
579
  #
562
580
  #
563
581
  # See also the man page OPENSSL_VERSION_NUMBER(3).
564
582
  #
565
583
  OPENSSL_VERSION_NUMBER: Integer
566
584
 
585
+ # <!-- rdoc-file=ext/openssl/lib/openssl/version.rb -->
586
+ # The version string of Ruby/OpenSSL.
587
+ #
567
588
  VERSION: String
568
589
 
569
590
  # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
@@ -934,7 +955,7 @@ module OpenSSL
934
955
  # puts int2.value # => 1
935
956
  #
936
957
  class ASN1Data
937
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
958
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
938
959
  # Never `nil`. A boolean value indicating whether the encoding uses indefinite
939
960
  # length (in the case of parsing) or whether an indefinite length form shall be
940
961
  # used (in the encoding case). In DER, every value uses definite length form.
@@ -951,7 +972,7 @@ module OpenSSL
951
972
  #
952
973
  def indefinite_length: () -> bool
953
974
 
954
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
975
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
955
976
  # Never `nil`. A boolean value indicating whether the encoding uses indefinite
956
977
  # length (in the case of parsing) or whether an indefinite length form shall be
957
978
  # used (in the encoding case). In DER, every value uses definite length form.
@@ -968,7 +989,7 @@ module OpenSSL
968
989
  #
969
990
  def indefinite_length=: [U] (boolish) -> U
970
991
 
971
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
992
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
972
993
  # Never `nil`. A boolean value indicating whether the encoding uses indefinite
973
994
  # length (in the case of parsing) or whether an indefinite length form shall be
974
995
  # used (in the encoding case). In DER, every value uses definite length form.
@@ -985,7 +1006,7 @@ module OpenSSL
985
1006
  #
986
1007
  alias infinite_length indefinite_length
987
1008
 
988
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
1009
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
989
1010
  # Never `nil`. A boolean value indicating whether the encoding uses indefinite
990
1011
  # length (in the case of parsing) or whether an indefinite length form shall be
991
1012
  # used (in the encoding case). In DER, every value uses definite length form.
@@ -1002,24 +1023,24 @@ module OpenSSL
1002
1023
  #
1003
1024
  alias infinite_length= indefinite_length=
1004
1025
 
1005
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
1026
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
1006
1027
  # An Integer representing the tag number of this ASN1Data. Never `nil`.
1007
1028
  #
1008
1029
  def tag: () -> bn
1009
1030
 
1010
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
1031
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
1011
1032
  # An Integer representing the tag number of this ASN1Data. Never `nil`.
1012
1033
  #
1013
1034
  def tag=: (::Integer) -> ::Integer
1014
1035
  | (BN) -> BN
1015
1036
 
1016
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
1037
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
1017
1038
  # A Symbol representing the tag class of this ASN1Data. Never `nil`. See
1018
1039
  # ASN1Data for possible values.
1019
1040
  #
1020
1041
  def tag_class: () -> tag_class
1021
1042
 
1022
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
1043
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
1023
1044
  # A Symbol representing the tag class of this ASN1Data. Never `nil`. See
1024
1045
  # ASN1Data for possible values.
1025
1046
  #
@@ -1036,13 +1057,13 @@ module OpenSSL
1036
1057
  #
1037
1058
  def to_der: () -> String
1038
1059
 
1039
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
1060
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
1040
1061
  # Carries the value of a ASN.1 type. Please confer Constructive and Primitive
1041
1062
  # for the mappings between ASN.1 data types and Ruby classes.
1042
1063
  #
1043
1064
  def value: () -> untyped
1044
1065
 
1045
- # <!-- rdoc-file=ext/openssl/lib/openssl/asn1.rb -->
1066
+ # <!-- rdoc-file=ext/openssl/ossl_asn1.c -->
1046
1067
  # Carries the value of a ASN.1 type. Please confer Constructive and Primitive
1047
1068
  # for the mappings between ASN.1 data types and Ruby classes.
1048
1069
  #
@@ -1051,7 +1072,7 @@ module OpenSSL
1051
1072
  private
1052
1073
 
1053
1074
  # <!--
1054
- # rdoc-file=ext/openssl/lib/openssl/asn1.rb
1075
+ # rdoc-file=ext/openssl/ossl_asn1.c
1055
1076
  # - OpenSSL::ASN1::ASN1Data.new(value, tag, tag_class) => ASN1Data
1056
1077
  # -->
1057
1078
  # *value*: Please have a look at Constructive and Primitive to see how Ruby
@@ -1123,7 +1144,7 @@ module OpenSSL
1123
1144
  include Enumerable[ASN1Data]
1124
1145
 
1125
1146
  # <!--
1126
- # rdoc-file=ext/openssl/lib/openssl/asn1.rb
1147
+ # rdoc-file=ext/openssl/ossl_asn1.c
1127
1148
  # - asn1_ary.each { |asn1| block } => asn1_ary
1128
1149
  # -->
1129
1150
  # Calls the given block once for each element in self, passing that element as
@@ -5076,7 +5097,11 @@ module OpenSSL
5076
5097
  end
5077
5098
 
5078
5099
  # <!-- rdoc-file=ext/openssl/ossl.c -->
5079
- # Generic error, common for all classes under OpenSSL module
5100
+ # Generic error class for OpenSSL. All error classes in this library inherit
5101
+ # from this class.
5102
+ #
5103
+ # This class indicates that an error was reported by the underlying OpenSSL
5104
+ # library.
5080
5105
  #
5081
5106
  class OpenSSLError < StandardError
5082
5107
  end
@@ -6677,9 +6702,10 @@ module OpenSSL
6677
6702
 
6678
6703
  # <!--
6679
6704
  # rdoc-file=ext/openssl/ossl_pkey_ec.c
6680
- # - group.curve_name => String
6705
+ # - group.curve_name -> string or nil
6681
6706
  # -->
6682
- # Returns the curve name (sn).
6707
+ # Returns the curve name (short name) corresponding to this group, or `nil` if
6708
+ # OpenSSL does not have an OID associated with the group.
6683
6709
  #
6684
6710
  # See the OpenSSL documentation for EC_GROUP_get_curve_name()
6685
6711
  #
@@ -9568,45 +9594,33 @@ module OpenSSL
9568
9594
  # fac.additional_certificates = [ inter1, inter2 ]
9569
9595
  # timestamp = fac.create_timestamp(p12.key, p12.certificate, req)
9570
9596
  #
9571
- # ## Attributes
9572
- #
9573
- # ### default_policy_id
9574
- #
9575
- # Request#policy_id will always be preferred over this if present in the
9576
- # Request, only if Request#policy_id is nil default_policy will be used. If none
9577
- # of both is present, a TimestampError will be raised when trying to create a
9578
- # Response.
9579
- #
9580
- # ### serial_number
9581
- #
9582
- # Sets or retrieves the serial number to be used for timestamp creation. Must be
9583
- # present for timestamp creation.
9584
- #
9585
- # ### gen_time
9586
- #
9587
- # Sets or retrieves the Time value to be used in the Response. Must be present
9588
- # for timestamp creation.
9589
- #
9590
- # ### additional_certs
9591
- #
9592
- # Sets or retrieves additional certificates apart from the timestamp certificate
9593
- # (e.g. intermediate certificates) to be added to the Response. Must be an Array
9594
- # of OpenSSL::X509::Certificate.
9595
- #
9596
- # ### allowed_digests
9597
- #
9598
- # Sets or retrieves the digest algorithms that the factory is allowed create
9599
- # timestamps for. Known vulnerable or weak algorithms should not be allowed
9600
- # where possible. Must be an Array of String or OpenSSL::Digest subclass
9601
- # instances.
9602
- #
9603
9597
  class Factory
9598
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9599
+ # Additional certificates apart from the timestamp certificate (e.g.
9600
+ # intermediate certificates) to be added to the Response. Must be an Array of
9601
+ # OpenSSL::X509::Certificate, or `nil`.
9602
+ #
9604
9603
  def additional_certs: () -> Array[X509::Certificate]?
9605
9604
 
9605
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9606
+ # Additional certificates apart from the timestamp certificate (e.g.
9607
+ # intermediate certificates) to be added to the Response. Must be an Array of
9608
+ # OpenSSL::X509::Certificate, or `nil`.
9609
+ #
9606
9610
  def additional_certs=: (Array[X509::Certificate]? certs) -> Array[X509::Certificate]?
9607
9611
 
9612
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9613
+ # The list of digest algorithms that the factory is allowed create timestamps
9614
+ # for. Known vulnerable or weak algorithms should not be allowed where possible.
9615
+ # Must be an Array of String or OpenSSL::Digest subclass instances.
9616
+ #
9608
9617
  def allowed_digests: () -> Array[String | Digest]?
9609
9618
 
9619
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9620
+ # The list of digest algorithms that the factory is allowed create timestamps
9621
+ # for. Known vulnerable or weak algorithms should not be allowed where possible.
9622
+ # Must be an Array of String or OpenSSL::Digest subclass instances.
9623
+ #
9610
9624
  def allowed_digests=: (Array[String | Digest]) -> Array[String | Digest]
9611
9625
 
9612
9626
  # <!--
@@ -9635,16 +9649,48 @@ module OpenSSL
9635
9649
  #
9636
9650
  def create_timestamp: (PKey::PKey key, X509::Certificate cert, Request request) -> Response
9637
9651
 
9652
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9653
+ # A String representing the default policy object identifier, or `nil`.
9654
+ #
9655
+ # Request#policy_id will always be preferred over this if present in the
9656
+ # Request, only if Request#policy_id is `nil` default_policy will be used. If
9657
+ # none of both is present, a TimestampError will be raised when trying to create
9658
+ # a Response.
9659
+ #
9638
9660
  def default_policy_id: () -> String?
9639
9661
 
9662
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9663
+ # A String representing the default policy object identifier, or `nil`.
9664
+ #
9665
+ # Request#policy_id will always be preferred over this if present in the
9666
+ # Request, only if Request#policy_id is `nil` default_policy will be used. If
9667
+ # none of both is present, a TimestampError will be raised when trying to create
9668
+ # a Response.
9669
+ #
9640
9670
  def default_policy_id=: (String) -> String
9641
9671
 
9672
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9673
+ # The Time value to be used in the Response. Must be present for timestamp
9674
+ # creation.
9675
+ #
9642
9676
  def gen_time: () -> Time?
9643
9677
 
9678
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9679
+ # The Time value to be used in the Response. Must be present for timestamp
9680
+ # creation.
9681
+ #
9644
9682
  def gen_time=: (Time) -> Time
9645
9683
 
9684
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9685
+ # The serial number to be used for timestamp creation. Must be present for
9686
+ # timestamp creation. Must be an instance of OpenSSL::BN or Integer.
9687
+ #
9646
9688
  def serial_number: () -> Integer?
9647
9689
 
9690
+ # <!-- rdoc-file=ext/openssl/ossl_ts.c -->
9691
+ # The serial number to be used for timestamp creation. Must be present for
9692
+ # timestamp creation. Must be an instance of OpenSSL::BN or Integer.
9693
+ #
9648
9694
  def serial_number=: (Integer) -> Integer
9649
9695
  end
9650
9696
 
@@ -10338,8 +10384,10 @@ module OpenSSL
10338
10384
 
10339
10385
  # <!--
10340
10386
  # rdoc-file=ext/openssl/ossl_x509attr.c
10341
- # - attr.oid => string
10387
+ # - attr.oid -> string
10342
10388
  # -->
10389
+ # Returns the OID of the attribute. Returns the short name or the dotted decimal
10390
+ # notation.
10343
10391
  #
10344
10392
  def oid: () -> String
10345
10393
 
@@ -10501,8 +10549,12 @@ module OpenSSL
10501
10549
 
10502
10550
  # <!--
10503
10551
  # rdoc-file=ext/openssl/ossl_x509crl.c
10504
- # - signature_algorithm()
10552
+ # - crl.signature_algorithm -> string
10505
10553
  # -->
10554
+ # Returns the signature algorithm used to sign this CRL.
10555
+ #
10556
+ # Returns the long name of the signature algorithm, or the dotted decimal
10557
+ # notation if OpenSSL does not define a long name for it.
10506
10558
  #
10507
10559
  def signature_algorithm: () -> String
10508
10560
 
@@ -10682,6 +10734,12 @@ module OpenSSL
10682
10734
  # Compares the two certificates. Note that this takes into account all fields,
10683
10735
  # not just the issuer name and the serial number.
10684
10736
  #
10737
+ # This method uses X509_cmp() from OpenSSL, which compares certificates based on
10738
+ # their cached DER encodings. The comparison can be unreliable if a certificate
10739
+ # is incomplete.
10740
+ #
10741
+ # See also the man page X509_cmp(3).
10742
+ #
10685
10743
  def ==: (self other) -> bool
10686
10744
 
10687
10745
  # <!--
@@ -10715,7 +10773,7 @@ module OpenSSL
10715
10773
  def extensions=: (Array[Extension]) -> Array[Extension]
10716
10774
 
10717
10775
  # <!--
10718
- # rdoc-file=ext/openssl/ossl_x509cert.c
10776
+ # rdoc-file=ext/openssl/lib/openssl/x509.rb
10719
10777
  # - inspect()
10720
10778
  # -->
10721
10779
  #
@@ -10809,6 +10867,12 @@ module OpenSSL
10809
10867
  # rdoc-file=ext/openssl/ossl_x509cert.c
10810
10868
  # - cert.signature_algorithm => string
10811
10869
  # -->
10870
+ # Returns the signature algorithm used to sign this certificate. This returns
10871
+ # the algorithm name found in the TBSCertificate structure, not the outer
10872
+ # Certificate structure.
10873
+ #
10874
+ # Returns the long name of the signature algorithm, or the dotted decimal
10875
+ # notation if OpenSSL does not define a long name for it.
10812
10876
  #
10813
10877
  def signature_algorithm: () -> String
10814
10878
 
@@ -10926,8 +10990,10 @@ module OpenSSL
10926
10990
 
10927
10991
  # <!--
10928
10992
  # rdoc-file=ext/openssl/ossl_x509ext.c
10929
- # - oid()
10993
+ # - ext.oid -> string
10930
10994
  # -->
10995
+ # Returns the OID of the extension. Returns the short name or the dotted decimal
10996
+ # notation.
10931
10997
  #
10932
10998
  def oid: () -> String
10933
10999
 
@@ -11580,8 +11646,12 @@ module OpenSSL
11580
11646
 
11581
11647
  # <!--
11582
11648
  # rdoc-file=ext/openssl/ossl_x509req.c
11583
- # - signature_algorithm()
11649
+ # - req.signature_algorithm -> string
11584
11650
  # -->
11651
+ # Returns the signature algorithm used to sign this request.
11652
+ #
11653
+ # Returns the long name of the signature algorithm, or the dotted decimal
11654
+ # notation if OpenSSL does not define a long name for it.
11585
11655
  #
11586
11656
  def signature_algorithm: () -> String
11587
11657
 
@@ -265,7 +265,7 @@ module Psych
265
265
 
266
266
  # <!--
267
267
  # rdoc-file=ext/psych/lib/psych.rb
268
- # - load(yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false)
268
+ # - load(yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
269
269
  # -->
270
270
  # Load `yaml` in to a Ruby data structure. If multiple documents are provided,
271
271
  # the object contained in the first document will be returned. `filename` will
@@ -312,7 +312,7 @@ module Psych
312
312
 
313
313
  # <!--
314
314
  # rdoc-file=ext/psych/lib/psych.rb
315
- # - safe_load(yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false)
315
+ # - safe_load(yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
316
316
  # -->
317
317
  # Safely load the yaml string in `yaml`. By default, only the following classes
318
318
  # are allowed to be deserialized:
@@ -363,7 +363,7 @@ module Psych
363
363
 
364
364
  # <!--
365
365
  # rdoc-file=ext/psych/lib/psych.rb
366
- # - unsafe_load(yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false, strict_integer: false)
366
+ # - unsafe_load(yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
367
367
  # -->
368
368
  # Load `yaml` in to a Ruby data structure. If multiple documents are provided,
369
369
  # the object contained in the first document will be returned. `filename` will