Skip to content

Commit ac643fb

Browse files
renaming id to number, to be more spec compliant
1 parent 56644a5 commit ac643fb

File tree

1 file changed

+44
-44
lines changed

1 file changed

+44
-44
lines changed

lib/openssl/asn1.rb

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -975,15 +975,15 @@ def decode0(data, depth = 0, offset = 0, &block)
975975
tag_class = TAG_CLASS_TYPES.key(first_byte & 0xc0) || :UNIVERSAL
976976
is_constructed = first_byte.anybits?(0x20)
977977
is_indefinite_length = length == 0x80 # indefinite length
978-
id = first_byte & 0x1f
978+
number = first_byte & 0x1f
979979

980-
no_id_idx = if id == 0x1f
981-
id = 0
980+
no_id_idx = if number == 0x1f
981+
number = 0
982982
count = 1
983983
data[1..].each_byte do |byte|
984984
count += 1
985985

986-
id = (id << 7) | (byte & 0x7f)
986+
number = (number << 7) | (byte & 0x7f)
987987
break if byte.nobits?(0x80)
988988
end
989989
length = data.getbyte(count)
@@ -1011,14 +1011,14 @@ def decode0(data, depth = 0, offset = 0, &block)
10111011
hlength = no_id_idx + length_bytes
10121012

10131013
if is_constructed
1014-
decode_cons(tag_class, id, hlength, length, value, is_indefinite_length, depth, offset, &block)
1014+
decode_cons(tag_class, number, hlength, length, value, is_indefinite_length, depth, offset, &block)
10151015
else
1016-
decode_prim(tag_class, id, hlength, length, value, depth, offset, &block)
1016+
decode_prim(tag_class, number, hlength, length, value, depth, offset, &block)
10171017
end
10181018
end
10191019

10201020
# :nodoc:
1021-
def decode_cons(tag_class, id, hlength, length, data, is_indefinite_length, depth, offset, &block)
1021+
def decode_cons(tag_class, number, hlength, length, data, is_indefinite_length, depth, offset, &block)
10221022
datalen = data.size
10231023

10241024
if is_indefinite_length
@@ -1033,7 +1033,7 @@ def decode_cons(tag_class, id, hlength, length, data, is_indefinite_length, dept
10331033
end
10341034
end
10351035

1036-
traverse0(depth, offset, hlength, length == 0x80 ? 0 : length, true, tag_class, id, &block) if block
1036+
traverse0(depth, offset, hlength, length == 0x80 ? 0 : length, true, tag_class, number, &block) if block
10371037

10381038
offset += hlength
10391039

@@ -1066,16 +1066,16 @@ def decode_cons(tag_class, id, hlength, length, data, is_indefinite_length, dept
10661066
end
10671067

10681068
obj = if tag_class == :UNIVERSAL
1069-
case id
1069+
case number
10701070
when SEQUENCE
1071-
Sequence.new(objs, id, nil, tag_class)
1071+
Sequence.new(objs, number, nil, tag_class)
10721072
when SET
1073-
Set.new(objs, id, nil, tag_class)
1073+
Set.new(objs, number, nil, tag_class)
10741074
else
1075-
Constructive.new(objs, id, nil, tag_class)
1075+
Constructive.new(objs, number, nil, tag_class)
10761076
end
10771077
else
1078-
ASN1Data.new(objs, id, tag_class)
1078+
ASN1Data.new(objs, number, tag_class)
10791079
end
10801080
obj.indefinite_length = is_indefinite_length
10811081

@@ -1091,16 +1091,16 @@ def decode_cons(tag_class, id, hlength, length, data, is_indefinite_length, dept
10911091
end
10921092

10931093
# :nodoc:
1094-
def decode_prim(tag_class, id, hlength, length, data, depth, offset, &block)
1094+
def decode_prim(tag_class, number, hlength, length, data, depth, offset, &block)
10951095
remaining = data[length..-1]
10961096
data = data[0, length]
10971097

1098-
traverse0(depth, offset, hlength, length, false, tag_class, id, &block) if block
1098+
traverse0(depth, offset, hlength, length, false, tag_class, number, &block) if block
10991099

11001100
offset += hlength
11011101

11021102
obj = if tag_class == :UNIVERSAL
1103-
case id
1103+
case number
11041104
when EOC
11051105
if length != 0 || !data.empty?
11061106
raise ASN1Error, "too long"
@@ -1112,14 +1112,14 @@ def decode_prim(tag_class, id, hlength, length, data, depth, offset, &block)
11121112
elsif length > 1
11131113
raise ASN1Error, "too long"
11141114
else
1115-
Boolean.new(data != "\x00", id, nil, tag_class)
1115+
Boolean.new(data != "\x00", number, nil, tag_class)
11161116
end
11171117
when INTEGER
1118-
number = data.unpack('C*').reduce(0) { |len, b| (len << 8) | b }
1118+
value = data.unpack('C*').reduce(0) { |len, b| (len << 8) | b }
11191119
if data[0].ord[7] == 1
1120-
number -= (1 << (8 * length))
1120+
value -= (1 << (8 * length))
11211121
end
1122-
OpenSSL::ASN1::Integer.new(number.to_bn, id, nil, tag_class)
1122+
OpenSSL::ASN1::Integer.new(value.to_bn, number, nil, tag_class)
11231123
when BIT_STRING
11241124
if data.empty?
11251125
raise ASN1Error, "string too short"
@@ -1129,17 +1129,17 @@ def decode_prim(tag_class, id, hlength, length, data, depth, offset, &block)
11291129
raise ASN1Error, "invalid bit string bits left"
11301130
end
11311131
str = data.byteslice(1..-1) || ""
1132-
BitString.new(str, id, nil, tag_class).tap do |b|
1132+
BitString.new(str, number, nil, tag_class).tap do |b|
11331133
b.unused_bits = unused
11341134
end
11351135
when OCTET_STRING
1136-
OctetString.new(data, id, nil, tag_class)
1136+
OctetString.new(data, number, nil, tag_class)
11371137
when NULL
11381138
unless length.zero?
11391139
raise ASN1Error, "null is wrong length"
11401140
end
11411141

1142-
Null.new(nil, id, nil, tag_class)
1142+
Null.new(nil, number, nil, tag_class)
11431143
when OBJECT
11441144
top, *codes = data.unpack("w*")
11451145

@@ -1151,7 +1151,7 @@ def decode_prim(tag_class, id, hlength, length, data, depth, offset, &block)
11511151
raise ASN1Error, "invalid object encoding"
11521152
end
11531153

1154-
obj = ObjectId.new(codes.join("."), id, nil, tag_class)
1154+
obj = ObjectId.new(codes.join("."), number, nil, tag_class)
11551155

11561156
if (sn = obj.sn)
11571157
# on decoding, if there's a short name in the table, then
@@ -1163,64 +1163,64 @@ def decode_prim(tag_class, id, hlength, length, data, depth, offset, &block)
11631163
# when 8 # EXTERNAL
11641164
# when 9 # REAL
11651165
when ENUMERATED
1166-
number = data.unpack('C*').reduce(0) { |len, b| (len << 8) | b }
1166+
value = data.unpack('C*').reduce(0) { |len, b| (len << 8) | b }
11671167
if data[0].ord[7] == 1
1168-
number -= (1 << (8 * length))
1168+
value -= (1 << (8 * length))
11691169
end
1170-
OpenSSL::ASN1::Enumerated.new(number.to_bn, id, nil, tag_class)
1170+
OpenSSL::ASN1::Enumerated.new(value.to_bn, number, nil, tag_class)
11711171
when UTF8STRING
1172-
UTF8String.new(data, id, nil, tag_class)
1172+
UTF8String.new(data, number, nil, tag_class)
11731173
when NUMERICSTRING
1174-
NumericString.new(data, id, nil, tag_class)
1174+
NumericString.new(data, number, nil, tag_class)
11751175
when PRINTABLESTRING
1176-
PrintableString.new(data, id, nil, tag_class)
1176+
PrintableString.new(data, number, nil, tag_class)
11771177
when T61STRING
1178-
T61String.new(data, id, nil, tag_class)
1178+
T61String.new(data, number, nil, tag_class)
11791179
when VIDEOTEXSTRING
1180-
VideotexString.new(data, id, nil, tag_class)
1180+
VideotexString.new(data, number, nil, tag_class)
11811181
when IA5STRING
1182-
IA5String.new(data, id, nil, tag_class)
1182+
IA5String.new(data, number, nil, tag_class)
11831183
when UTCTIME
11841184
unless (c = /\A(?<year>\d{2})(?<month>\d{2})(?<day>\d{2})(?<hour>\d{2})(?<min>\d{2})(?<sec>\d{2})Z\z/.match(data))
11851185
raise ASN1Error, "too long"
11861186
end
11871187
year = c[:year].to_i
11881188
year = year > 49 ? 1900 + year : 2000 + year
11891189
time = Time.utc(year, c[:month], c[:day], c[:hour], c[:min], c[:sec])
1190-
UTCTime.new(time, id, nil, tag_class)
1190+
UTCTime.new(time, number, nil, tag_class)
11911191
when GENERALIZEDTIME
11921192
unless (c = /\A(?<year>\d{4})(?<month>\d{2})(?<day>\d{2})(?<hour>\d{2})(?<min>\d{2})(?<sec>\d{2})Z\z/.match(data))
11931193
raise ASN1Error, "too long"
11941194
end
11951195
time = Time.utc(c[:year], c[:month], c[:day], c[:hour], c[:min], c[:sec])
1196-
GeneralizedTime.new(time, id, nil, tag_class)
1196+
GeneralizedTime.new(time, number, nil, tag_class)
11971197
when GRAPHICSTRING
1198-
GraphicString.new(data, id, nil, tag_class)
1198+
GraphicString.new(data, number, nil, tag_class)
11991199
when ISO64STRING
1200-
ISO64String.new(data, id, nil, tag_class)
1200+
ISO64String.new(data, number, nil, tag_class)
12011201
when GENERALSTRING
1202-
GeneralString.new(data, id, nil, tag_class)
1202+
GeneralString.new(data, number, nil, tag_class)
12031203
when UNIVERSALSTRING
1204-
UniversalString.new(data, id, nil, tag_class)
1204+
UniversalString.new(data, number, nil, tag_class)
12051205
when BMPSTRING
1206-
BMPString.new(data, id, nil, tag_class)
1206+
BMPString.new(data, number, nil, tag_class)
12071207
else
1208-
ASN1Data.new(data, id, tag_class)
1208+
ASN1Data.new(data, number, tag_class)
12091209
end
12101210
else
1211-
ASN1Data.new(data, id, tag_class)
1211+
ASN1Data.new(data, number, tag_class)
12121212
end
12131213

12141214
return obj, remaining
12151215
end
12161216

1217-
def traverse0(depth, offset, hlength, length, is_constructed, tag_class, id, &block)
1217+
def traverse0(depth, offset, hlength, length, is_constructed, tag_class, number, &block)
12181218
elems = [
12191219
depth, offset,
12201220
hlength, length,
12211221
is_constructed,
12221222
tag_class,
1223-
id
1223+
number
12241224
]
12251225

12261226
arity = block.arity

0 commit comments

Comments
 (0)