cddl 0.3.2 → 0.3.3

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
  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