cddl 0.3.2 → 0.3.3

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
  SHA1:
3
- metadata.gz: 749f3737874fddf85370630362cb408163cd5098
4
- data.tar.gz: a853023378b56fc381ef51bc5d808a275e67186d
3
+ metadata.gz: c679a7c46cf375f7ebefc86fb2846f4c482fb67e
4
+ data.tar.gz: b1b1b2968c8ba46bf573074827fb818311946334
5
5
  SHA512:
6
- metadata.gz: 6c285291257fd627bd815bbae0372e5e0a7a8bbbd5866da15a1196f2b13a257249e1dd419ad50ac9e85858701517679883b4c6a78f3093350a1143b597f4a1af
7
- data.tar.gz: 31a449e0663742bc3fa7cdbaf80b4c2c4fccfcd477096207129516e77c8accdc9f93ae87544421c7380a56d87aca1b17495776a1ffc2b0cb02a19d14213a8661
6
+ metadata.gz: cff8854de5230152b6cb7223bb9078657c4296b359d244a15a5f34e3910296d0da1dead8a06c8a207d359780542cb690a1951034935d76117c7eb95b4c0b311a
7
+ data.tar.gz: 339c503e65b5159d14b5fd130528b8c93da567716a746d274558fb353cf72573c205bf535fc7d64b2cc3313ad1dd9ea62b422fea07876b76991f0e4ac5644c3f
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'cddl'
3
- s.version = '0.3.2'
3
+ s.version = '0.3.3'
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')
@@ -453,17 +453,21 @@ module CDDL
453
453
  occ = occur(n.occur)
454
454
  if mk = n.memberkey # work around unclear bug in ast generation below
455
455
  fail n.inspect unless n.type1
456
- if t1 = mk.type1
456
+ if (t1 = mk.type1) || ((t1 = mk.s) && (t1 = t1.type) && (t1 = t1.type1)) # workaround
457
457
  [[:member, *occ, type1(t1), type1(n.type1)]]
458
458
  else
459
459
  bw = mk.bareword
460
- fail unless bw
460
+ unless bw
461
+ warn @abnf.ast?
462
+ fail [n, n.children, mk, mk.children].inspect
463
+ end
461
464
  name = bw.to_s
462
465
  [[:member, *occ, [:string, name], type1(n.type1)]]
463
466
  end
464
467
  else
465
468
  t = if n.bareword # work around unclear bug, part 2
466
- type1(n.bareword.type1, true)
469
+ t1 = n.bareword.type1 || n.bareword.s.type.type1 # workaround
470
+ type1(t1, true)
467
471
  else
468
472
  type1(n.type1, true) # type1 can be a group here!
469
473
  end
@@ -0,0 +1,48 @@
1
+ dcaf-msg = sam-information-msg
2
+ / access-request-msg
3
+ / ticket-transfer-msg
4
+ / ticket-grant-msg
5
+
6
+ sam-information-msg = { sam, ? full-timestamp }
7
+
8
+ access-request-msg = { sam, sam-ai, full-timestamp }
9
+
10
+ ticket-transfer-msg = { face, verifier }
11
+ face = (F => { sam-ai, limited-timestamp, lifetime, psk-gen } )
12
+ verifier = (V => shared-secret )
13
+ shared-secret = bstr
14
+ F = 8
15
+ V = 9
16
+
17
+ ticket-grant-msg = { face, verifier, ? client-info }
18
+ client-info = (cam-ai, full-timestamp, lifetime)
19
+
20
+ sam = (SAM => abs-uri)
21
+ SAM = 0
22
+ abs-uri = tstr ; .regexp "______"
23
+
24
+ sam-ai = (SAI => [* auth-info])
25
+ SAI = 1
26
+ auth-info = (uri : tstr, mask : 0..15 )
27
+
28
+ cam-ai = (CAI => [* auth-info])
29
+ CAI = 2
30
+
31
+ full-timestamp = (TS => date)
32
+ TS = 5
33
+ date = tdate / localdate
34
+ localdate = uint
35
+ limited-timestamp = (TS => localdate)
36
+
37
+ lifetime = (L => period)
38
+ period = uint ; in seconds
39
+ L = 6
40
+
41
+ psk-gen = (G => mac-algorithm)
42
+ G = 7
43
+ mac-algorithm = &( hmac-sha256: 0, hmac-sha384: 1, hmac-sha512: 2 )
44
+
45
+ ; TO DO???
46
+ E = 3
47
+ K = 4
48
+
@@ -712,4 +712,10 @@ HERE
712
712
  refute parser.validate("re", false)
713
713
  end
714
714
 
715
+ def test_dcaf
716
+ parser1 = CDDL::Parser.new(File.read("#{TEST_DATA_DIR}/dcaf1.cddl"))
717
+ # assert_equal EXPECTED_RULES, parser1.rules
718
+ pp parser1.generate
719
+ end
720
+
715
721
  end
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.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-09 00:00:00.000000000 Z
11
+ date: 2015-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cbor-diag
@@ -101,6 +101,7 @@ files:
101
101
  - test-data/7071-concise.cddl
102
102
  - test-data/7071-verbose.cddl
103
103
  - test-data/basic_syntax_example.cddl
104
+ - test-data/dcaf1.cddl
104
105
  - test-data/jcr-ex.cddl
105
106
  - test-data/minimal.cddl
106
107
  - test-data/reused_named_group.cddl