cddl 0.8.22 → 0.8.26

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 72490cb2a368cfaec3e71cae79f323665fc64f0049feeb30050a6e8275566cda
4
- data.tar.gz: 6ad8a0c69b34745dcd41f7c5627c57e9a4292539115f4d63c502d4c0a3cd0218
3
+ metadata.gz: 47f3304378cd8f42807f0b96551a9b8cd5c609741d9a1e508c7c68913bf591d0
4
+ data.tar.gz: 312535858550c20a3415238c8f26b5c96f2036707e305bd6665b12bb73e4addc
5
5
  SHA512:
6
- metadata.gz: 1fcbc5a8d49391656566b9f4b7d03392a579b5e999d301b2dab877aa25ff6d31c4575a94a771bdf8df0d0c3b88dd086bafe952359bb297690325204fbf732c11
7
- data.tar.gz: 15ce2e416c02c834d3853520ca2fc8baa8b26359623dff75f6615a755a6ef4007abc2fb0170248ae5b57783e52fd779bc5c88be9cea70e7534ac9104cbfc67a8
6
+ metadata.gz: 36ef0f6662d44814da072251405894b4b70ef20a6a493e8de7b597ece370e774cbf8fe8d2da35c2baa5f8b08adffc1a98dffaf1535907aca11a1a3936b11286a
7
+ data.tar.gz: a6a731d5d348156deb0b2e3415bf6c944198bcfc7ca33632ee7f4d40e07ce832bbcadcc1b4bab4d8f75653932b9f82cba2c4ccbef662af49c81554edb2e77480
data/bin/cddl CHANGED
@@ -19,17 +19,19 @@ def usage
19
19
  exit EX_USAGE
20
20
  end
21
21
 
22
- def read_arg(arg)
22
+ def read_arg(arg, remember_fn = true)
23
23
  if arg == "-"
24
+ $fn = "(stdin)" if remember_fn
24
25
  STDIN.read
25
26
  else
26
27
  usage unless arg
28
+ $fn = arg if remember_fn
27
29
  File.read(arg, mode: "rb")
28
30
  end
29
31
  end
30
32
 
31
33
  def parser
32
- @parser ||= CDDL::Parser.new(read_arg(ARGV[0]))
34
+ @parser ||= CDDL::Parser.new(read_arg(ARGV[0], false))
33
35
  end
34
36
 
35
37
  def my_pp(v)
data/cddl.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'cddl'
3
- s.version = '0.8.22'
3
+ s.version = '0.8.26'
4
4
  s.summary = "CDDL generator and validator."
5
5
  s.description = %{A parser, generator, and validator for CDDL}
6
6
  s.add_dependency('cbor-diag')
data/lib/cddl.rb CHANGED
@@ -463,7 +463,10 @@ module CDDL
463
463
  when :cat, :det
464
464
  lhs = generate1(target, inmap)
465
465
  rhs = generate1(control)
466
- rhs = remove_indentation(rhs) if conop == :det
466
+ if conop == :det
467
+ lhs = remove_indentation(lhs)
468
+ rhs = remove_indentation(rhs)
469
+ end
467
470
  begin
468
471
  lhs + rhs
469
472
  rescue Exception => e
@@ -611,7 +614,10 @@ module CDDL
611
614
  elsif vt1 == Float
612
615
  [true, v1 + v2, vt1] if vt2 == Integer || vt2 == Float
613
616
  else
614
- v2 = remove_indentation(v2) if conop == :det
617
+ if conop == :det
618
+ v1 = remove_indentation(v1)
619
+ v2 = remove_indentation(v2)
620
+ end
615
621
  [true, v1 + v2, vt1] if vt1 == vt2
616
622
  end
617
623
  end rescue nil
@@ -643,7 +649,7 @@ module CDDL
643
649
  ok = ENV["CDDL_FEATURE_OK"] and ok = ok.split(/,\s*/) or ok = []
644
650
  # warn([:OK, ok, $features].inspect)
645
651
  features = $features.reject {|k, v| ok.include? k.to_s }
646
- warn "** Features potentially used: #{features.map {|k, v| "#{k}: #{v.keys}"}.join(", ")}" if features != {}
652
+ warn "** Features potentially used (#$fn): #{features.map {|k, v| "#{k}: #{v.keys}"}.join(", ")}" if features != {}
647
653
  end
648
654
  else
649
655
  warn "CDDL validation failure (#{result.inspect} for #{d.inspect}):"
@@ -780,13 +786,17 @@ module CDDL
780
786
  puts "COMPLEX: #{k.inspect} #{simple.inspect} #{simpleval.inspect}" if ENV["CDDL_TRACE"]
781
787
  keys = d_check.keys
782
788
  ta, keys = keys.partition{ |key| validate1(key, k)}
783
- # XXX check ta.size against s/e
784
- ta.all? { |val|
785
- if (ann2 = validate1a(d[val], v)) &&
786
- d_check.delete(val) {:not_found} != :not_found
787
- anno.concat(ann2)
788
- end
789
- }
789
+ count = 0
790
+ catch :enough do
791
+ ta.all? { |val|
792
+ if (ann2 = validate1a(d[val], v)) && # XXX check cut or not!
793
+ d_check.delete(val) {:not_found} != :not_found
794
+ anno.concat(ann2)
795
+ throw :enough, true if (count += 1) == e
796
+ true
797
+ end
798
+ }
799
+ end and validate_result(count >= s) { "not enough #{ta.inspect} for #{r.inspect}" }
790
800
  end
791
801
  end
792
802
  else
@@ -850,13 +860,16 @@ module CDDL
850
860
  [] if where[2] === d && where[1].include?(d)
851
861
  when :anno
852
862
  _, conop, target, control = where
853
- if conop == :cat || conop == :plus
863
+ if conop == :cat || conop == :plus || conop == :det
854
864
  ok1, v1, vt1 = extract_value(target)
855
865
  ok2, v2, vt2 = extract_value(control)
856
866
  # warn ["ANNO0", ok1, v1, vt1, ok2, v2, vt2, d].inspect
857
867
  if ok1 && ok2
858
868
  v2 = Integer(v2) if vt1 == Integer
859
- v2 = remove_indentation(v2) if conop == :det
869
+ if conop == :det
870
+ v1 = remove_indentation(v1)
871
+ v2 = remove_indentation(v2)
872
+ end
860
873
  # warn ["ANNO", ok1, v1, vt1, ok2, v2, vt2, d].inspect
861
874
  [] if d == v1 + v2 # XXX Focus ArgumentError
862
875
  end
@@ -905,11 +918,13 @@ module CDDL
905
918
  if ok
906
919
  nm = v
907
920
  det = d
921
+ warn "*** feature controller should be a string: #{control.inspect}" unless String == vt
908
922
  else
909
923
  ok, *v = extract_array(control)
910
924
  if ok && v.size == 2
911
925
  nm = v[0][0]
912
926
  det = v[1][0]
927
+ warn "*** first element of feature controller should be a string: #{control.inspect}" unless String === nm
913
928
  else
914
929
  warn "*** feature controller not implemented: #{control.inspect}"
915
930
  end
@@ -0,0 +1,11 @@
1
+ foo = {
2
+ 2*4 any => any
3
+ }
4
+
5
+ ;;sed -n 's/^; //p' complex-occ.cddl | sh
6
+ ; echo '{}' | cddl complex-occ.cddl v -
7
+ ; echo '{"1": 2}' | cddl complex-occ.cddl v -
8
+ ; echo '{"1": 2, "2": 3}' | cddl complex-occ.cddl v -
9
+ ; echo '{"1": 2, "2": 3, "3": 4}' | cddl complex-occ.cddl v -
10
+ ; echo '{"1": 2, "2": 3, "3": 4, "4": 5}' | cddl complex-occ.cddl v -
11
+ ; echo '{"1": 2, "2": 3, "3": 4, "4": 5, "5": 6}' | cddl complex-occ.cddl v -
@@ -0,0 +1,12 @@
1
+ bar = ["" .cat foo, "" .cat cbor-tags-oid]
2
+
3
+ foo = '' .det cbor-tags-oid
4
+
5
+ cbor-tags-oid = '
6
+ oid = 1*arc
7
+ roid = *arc
8
+ arc = [nlsb] %x00-7f
9
+ nlsb = %x81-ff *%x80-ff
10
+ ' .det ''
11
+
12
+ cbor-tags-oid-decrypted = cbor-tags-oid .det (([]) .det ([]))
@@ -0,0 +1,6 @@
1
+ a = b .feature 3
2
+ b = c .feature 3.3
3
+ c = d .feature (["drei", "ok"])
4
+ d = e .feature ([[], "ok"])
5
+ e = f .feature ([1, "ok"])
6
+ f = int .feature (1)
@@ -0,0 +1,12 @@
1
+ hna-configuration = {
2
+ "registred_domain" : tstr,
3
+ "dm" : tstr,
4
+ ? "dm_transport" : "53" // "DoT" // "DoH" // "DoQ"
5
+ ? "dm_port" : uint,
6
+ ? "dm_acl" : hna-acl // [ +hna-acl ]
7
+ ? "hna_auth_method": hna-auth-method
8
+ ? "hna_certificate": tstr
9
+ }
10
+
11
+ hna-acl = tstr
12
+ hna-auth-method /= "certificate"
@@ -0,0 +1,12 @@
1
+ hna-configuration = {
2
+ "registered_domain" : tstr,
3
+ "dm" : tstr,
4
+ ? "dm_transport" : "53" / "DoT" / "DoH" / "DoQ"
5
+ ? "dm_port" : uint,
6
+ ? "dm_acl" : hna-acl / [ +hna-acl ]
7
+ ? "hna_auth_method": hna-auth-method
8
+ ? "hna_certificate": tstr
9
+ }
10
+
11
+ hna-acl = tstr
12
+ hna-auth-method /= "certificate"
@@ -0,0 +1,9 @@
1
+ $instance-value-choice = (
2
+ comid.mac-addr => mac-addr-type //
3
+ comid.ip-addr => ip-addr-type //
4
+ comid.serial-number => serial-number-type //
5
+ comid.ueid => ueid //
6
+ comid.uuid => uuid
7
+ )
8
+
9
+ ; this populates a type socket with a group choice
@@ -0,0 +1,5 @@
1
+ distinguishedName = non-empty<{
2
+ ? country: text
3
+ }>
4
+
5
+ non-empty<M> = (M) .and ({ + any => any })
@@ -0,0 +1,3 @@
1
+ a = {
2
+ + any => any
3
+ }
@@ -0,0 +1,8 @@
1
+ ; start = {*$$socket}
2
+ ; $$socket //= (4: bstr)
3
+ ; $ cddl works.cddl generate
4
+ ; {4: h'6F7267616E69736D'}
5
+ ; $ cat fails.cddl
6
+ start = {*$$socket}
7
+ $$socket //= (some,)
8
+ some = (4: bstr)
@@ -0,0 +1,98 @@
1
+ csr-template-schema = {
2
+ keyTypes: [ 1* $keyType ]
3
+ ? subject: distinguishedName
4
+ extensions: extensions
5
+ }
6
+
7
+ mandatory-wildcard = "**"
8
+ optional-wildcard = "*"
9
+ wildcard = mandatory-wildcard / optional-wildcard
10
+
11
+ ; non-empty = { + any => any }
12
+ non-empty<M> = (M) .and ({ + any => any })
13
+
14
+ ; regtext matches all text strings but "*" and "**"
15
+ regtext = text .regexp "([^\*].*)|([\*][^\*].*)|([\*][\*].+)"
16
+
17
+ regtext-or-wildcard = regtext / wildcard
18
+
19
+ distinguishedName = non-empty<{
20
+ ? country: regtext-or-wildcard
21
+ ? stateOrProvince: regtext-or-wildcard
22
+ ? locality: regtext-or-wildcard
23
+ ? organization: regtext-or-wildcard
24
+ ? organizationalUnit: regtext-or-wildcard
25
+ ? emailAddress: regtext-or-wildcard
26
+ ? commonName: regtext-or-wildcard
27
+ }>
28
+
29
+ $keyType /= rsaKeyType
30
+ $keyType /= ecdsaKeyType
31
+
32
+ rsaKeyType = {
33
+ PublicKeyType: "rsaEncryption" ; OID: 1.2.840.113549.1.1.1
34
+ PublicKeyLength: rsaKeySize
35
+ SignatureType: $rsaSignatureType
36
+ }
37
+
38
+ rsaKeySize = int .ge 2048
39
+
40
+ ; RSASSA-PKCS1-v1_5 with SHA-256
41
+ $rsaSignatureType /= "sha256WithRSAEncryption"
42
+ ; RSASSA-PCKS1-v1_5 with SHA-384
43
+ $rsaSignatureType /= "sha384WithRSAEncryption"
44
+ ; RSASSA-PCKS1-v1_5 with SHA-512
45
+ $rsaSignatureType /= "sha512WithRSAEncryption"
46
+ ; RSASSA-PSS with SHA-256, MGF-1 with SHA-256, and a 32 byte salt
47
+ $rsaSignatureType /= "sha256WithRSAandMGF1"
48
+ ; RSASSA-PSS with SHA-384, MGF-1 with SHA-384, and a 48 byte salt
49
+ $rsaSignatureType /= "sha384WithRSAandMGF1"
50
+ ; RSASSA-PSS with SHA-512, MGF-1 with SHA-512, and a 64 byte salt
51
+ $rsaSignatureType /= "sha512WithRSAandMGF1"
52
+
53
+ ecdsaKeyType = {
54
+ PublicKeyType: "id-ecPublicKey" ; OID: 1.2.840.10045.2.1
55
+ namedCurve: $ecdsaCurve
56
+ SignatureType: $ecdsaSignatureType
57
+ }
58
+
59
+ $ecdsaCurve /= "secp256r1" ; OID: 1.2.840.10045.3.1.7
60
+ $ecdsaCurve /= "secp384r1" ; OID: 1.3.132.0.34
61
+ $ecdsaCurve /= "secp521r1" ; OID: 1.3.132.0.3
62
+
63
+ $ecdsaSignatureType /= "ecdsa-with-SHA256" ; paired with secp256r1
64
+ $ecdsaSignatureType /= "ecdsa-with-SHA384" ; paired with secp384r1
65
+ $ecdsaSignatureType /= "ecdsa-with-SHA512" ; paired with secp521r1
66
+
67
+ subjectaltname = {
68
+ ? DNS: [ 1* regtext-or-wildcard ]
69
+ ? Email: [ 1* regtext ]
70
+ ? URI: [ 1* regtext ]
71
+ * $$subjectaltname-extension
72
+ }
73
+
74
+ extensions = {
75
+ ? keyUsage: [ 1* keyUsageType ]
76
+ ? extendedKeyUsage: [ 1* extendedKeyUsageType ]
77
+ subjectAltName: subjectaltname
78
+ }
79
+
80
+ keyUsageType /= "digitalSignature"
81
+ keyUsageType /= "nonRepudiation"
82
+ keyUsageType /= "keyEncipherment"
83
+ keyUsageType /= "dataEncipherment"
84
+ keyUsageType /= "keyAgreement"
85
+ keyUsageType /= "keyCertSign"
86
+ keyUsageType /= "cRLSign"
87
+ keyUsageType /= "encipherOnly"
88
+ keyUsageType /= "decipherOnly"
89
+
90
+ extendedKeyUsageType /= "serverAuth"
91
+ extendedKeyUsageType /= "clientAuth"
92
+ extendedKeyUsageType /= "codeSigning"
93
+ extendedKeyUsageType /= "emailProtection"
94
+ extendedKeyUsageType /= "timeStamping"
95
+ extendedKeyUsageType /= "OCSPSigning"
96
+ extendedKeyUsageType /= oid
97
+
98
+ oid = text .regexp "[0-9]+(\\.[0-9]+)*"
@@ -0,0 +1,95 @@
1
+ csr-template-schema = {
2
+ keyTypes: [ 1* $keyType ]
3
+ ? subject: distinguishedName
4
+ extensions: extensions
5
+ }
6
+
7
+ mandatory-wildcard = "**"
8
+ optional-wildcard = "*"
9
+ wildcard = mandatory-wildcard / optional-wildcard
10
+
11
+ ; regtext matches all text strings but "*" and "**"
12
+ regtext = text .regexp "([^\*].*)|([\*][^\*].*)|([\*][\*].+)"
13
+
14
+ regtext-or-wildcard = regtext / wildcard
15
+
16
+ distinguishedName = {
17
+ ? country: regtext-or-wildcard
18
+ ? stateOrProvince: regtext-or-wildcard
19
+ ? locality: regtext-or-wildcard
20
+ ? organization: regtext-or-wildcard
21
+ ? organizationalUnit: regtext-or-wildcard
22
+ ? emailAddress: regtext-or-wildcard
23
+ ? commonName: regtext-or-wildcard
24
+ }
25
+
26
+ $keyType /= rsaKeyType
27
+ $keyType /= ecdsaKeyType
28
+
29
+ rsaKeyType = {
30
+ PublicKeyType: "rsaEncryption" ; OID: 1.2.840.113549.1.1.1
31
+ PublicKeyLength: rsaKeySize
32
+ SignatureType: $rsaSignatureType
33
+ }
34
+
35
+ rsaKeySize = int .ge 2048
36
+
37
+ ; RSASSA-PKCS1-v1_5 with SHA-256
38
+ $rsaSignatureType /= "sha256WithRSAEncryption"
39
+ ; RSASSA-PCKS1-v1_5 with SHA-384
40
+ $rsaSignatureType /= "sha384WithRSAEncryption"
41
+ ; RSASSA-PCKS1-v1_5 with SHA-512
42
+ $rsaSignatureType /= "sha512WithRSAEncryption"
43
+ ; RSASSA-PSS with SHA-256, MGF-1 with SHA-256, and a 32 byte salt
44
+ $rsaSignatureType /= "sha256WithRSAandMGF1"
45
+ ; RSASSA-PSS with SHA-384, MGF-1 with SHA-384, and a 48 byte salt
46
+ $rsaSignatureType /= "sha384WithRSAandMGF1"
47
+ ; RSASSA-PSS with SHA-512, MGF-1 with SHA-512, and a 64 byte salt
48
+ $rsaSignatureType /= "sha512WithRSAandMGF1"
49
+
50
+ ecdsaKeyType = {
51
+ PublicKeyType: "id-ecPublicKey" ; OID: 1.2.840.10045.2.1
52
+ namedCurve: $ecdsaCurve
53
+ SignatureType: $ecdsaSignatureType
54
+ }
55
+
56
+ $ecdsaCurve /= "secp256r1" ; OID: 1.2.840.10045.3.1.7
57
+ $ecdsaCurve /= "secp384r1" ; OID: 1.3.132.0.34
58
+ $ecdsaCurve /= "secp521r1" ; OID: 1.3.132.0.3
59
+
60
+ $ecdsaSignatureType /= "ecdsa-with-SHA256" ; paired with secp256r1
61
+ $ecdsaSignatureType /= "ecdsa-with-SHA384" ; paired with secp384r1
62
+ $ecdsaSignatureType /= "ecdsa-with-SHA512" ; paired with secp521r1
63
+
64
+ subjectaltname = {
65
+ ? DNS: [ 1* regtext-or-wildcard ]
66
+ ? Email: [ 1* regtext ]
67
+ ? URI: [ 1* regtext ]
68
+ * $$subjectaltname-extension
69
+ }
70
+
71
+ extensions = {
72
+ ? keyUsage: [ 1* keyUsageType ]
73
+ ? extendedKeyUsage: [ 1* extendedKeyUsageType ]
74
+ subjectAltName: subjectaltname
75
+ }
76
+
77
+ keyUsageType /= "digitalSignature"
78
+ keyUsageType /= "nonRepudiation"
79
+ keyUsageType /= "keyEncipherment"
80
+ keyUsageType /= "dataEncipherment"
81
+ keyUsageType /= "keyAgreement"
82
+ keyUsageType /= "keyCertSign"
83
+ keyUsageType /= "cRLSign"
84
+ keyUsageType /= "encipherOnly"
85
+ keyUsageType /= "decipherOnly"
86
+
87
+ extendedKeyUsageType /= "serverAuth"
88
+ extendedKeyUsageType /= "clientAuth"
89
+ extendedKeyUsageType /= "codeSigning"
90
+ extendedKeyUsageType /= "emailProtection"
91
+ extendedKeyUsageType /= "timeStamping"
92
+ extendedKeyUsageType /= "OCSPSigning"
93
+ extendedKeyUsageType /= oid
94
+
95
+ oid = text .regexp "[0-9]+(\\.[0-9]+)*"
@@ -0,0 +1,11 @@
1
+ etime = #6.1001({
2
+ 1: int,
3
+ ? (
4
+ -3: uint .lt 1000 //
5
+ -6: uint .lt 1000000 //
6
+ -9: uint .lt 1000000000 //
7
+ -12: uint .lt 1000000000000 //
8
+ -15: uint .lt 1000000000000000 //
9
+ -18: uint .lt 1000000000000000000
10
+ )
11
+ })
@@ -0,0 +1 @@
1
+ a = text .regexp "[a-z][a-z0-9]*(-[a-z0-9]+)*"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cddl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.22
4
+ version: 0.8.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-21 00:00:00.000000000 Z
11
+ date: 2021-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cbor-diag
@@ -127,6 +127,7 @@ files:
127
127
  - test-data/bpv7b.cddl
128
128
  - test-data/cat-re.cddl
129
129
  - test-data/cdni-ct.cddl
130
+ - test-data/complex-occ.cddl
130
131
  - test-data/coral.cddl
131
132
  - test-data/coral1.cddl
132
133
  - test-data/coral2.cddl
@@ -134,9 +135,11 @@ files:
134
135
  - test-data/cose.cddl
135
136
  - test-data/dcaf.cddl
136
137
  - test-data/dcaf1.cddl
138
+ - test-data/det1.cddl
137
139
  - test-data/dotsize.cddl
138
140
  - test-data/extractor-demo.cddl
139
141
  - test-data/feat1.cddl
142
+ - test-data/feature-controller.cddl
140
143
  - test-data/feature-detail.cddl
141
144
  - test-data/foo.cddl
142
145
  - test-data/grasp-01-extract.cddl
@@ -145,6 +148,8 @@ files:
145
148
  - test-data/grasp-09.cddl
146
149
  - test-data/grasp-v1.cddl
147
150
  - test-data/grasp-v2X.cddl
151
+ - test-data/homenet-de.cddl
152
+ - test-data/homenet-fe.cddl
148
153
  - test-data/ifmap-base-2.0v17.cddl
149
154
  - test-data/ifmap-base-2.2v9_fh-cabo.cddl
150
155
  - test-data/ifmap-metadata-2.2v9_fh-cabo.cddl
@@ -154,6 +159,7 @@ files:
154
159
  - test-data/jim-cut.cddl
155
160
  - test-data/jsoniodef.cddl
156
161
  - test-data/kevin5.cddl
162
+ - test-data/lint1.cddl
157
163
  - test-data/map-group.cddl
158
164
  - test-data/mapkey.cddl
159
165
  - test-data/mdl-ble.cddl
@@ -167,14 +173,20 @@ files:
167
173
  - test-data/mon-val.cddl
168
174
  - test-data/multipart-ct.cddl
169
175
  - test-data/named-group.cddl
176
+ - test-data/non-empty.cddl
170
177
  - test-data/oid.cddl
171
178
  - test-data/oidbat.cddl
172
179
  - test-data/patch1.cddl
180
+ - test-data/plus.cddl
173
181
  - test-data/reused_named_group.cddl
174
182
  - test-data/sasl.cddl
175
183
  - test-data/sequence.cddl
184
+ - test-data/sipos.cddl
185
+ - test-data/star-edited.cddl
186
+ - test-data/star.cddl
176
187
  - test-data/structure.cddl
177
188
  - test-data/test-gen.cddl
189
+ - test-data/time.cddl
178
190
  - test-data/toerless0.cddl
179
191
  - test-data/toerless1.cddl
180
192
  - test-data/two_anonymous_groups.cddl
@@ -183,6 +195,7 @@ files:
183
195
  - test-data/wrong2.cddl
184
196
  - test-data/wrong2a.cddl
185
197
  - test-data/xmlmig.cddl
198
+ - test-data/yangid.cddl
186
199
  - test-data/yaron1.cddl
187
200
  - test/test-cddl.rb
188
201
  homepage: http://github.com/cabo/cddl
@@ -204,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
217
  - !ruby/object:Gem::Version
205
218
  version: '0'
206
219
  requirements: []
207
- rubygems_version: 3.2.3
220
+ rubygems_version: 3.2.22
208
221
  signing_key:
209
222
  specification_version: 4
210
223
  summary: CDDL generator and validator.