New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 780504 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome
Pri: ----
Type: ----

Blocking:
issue 780078



Sign in to add a comment

Implement a CBOR decoder

Project Member Reported by kpaulhamus@chromium.org, Nov 1 2017

Issue description

CTAP devices will respond with CBOR-encoded data that the browser will need to interpret during WebAuthN operations.
 
Blocking: 780078
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d30c4a621c65314db63eb56e87c19ab75627b26

commit 6d30c4a621c65314db63eb56e87c19ab75627b26
Author: Jun Choi <hongjunchoi@chromium.org>
Date: Sat Dec 09 01:10:32 2017

Implement a canonical CBOR decoder

CBOR decoder defined by the spec:
https://tools.ietf.org/html/rfc7049

This CBOR decoder supports deserialization of CBOR data bytes for the
following major types:
0) Unsigned int
2) Byte string
3) Text string(UTF8 format enforced)
4) Array
5) Map

This is a CBOR decoder for canonical deserialization of CBOR data. If
any one of the formatting/syntax rules or canonical CBOR requirements
is violated, then null optional is returned. Callers can also set an
optional |error_code_out| to obtain more specific details for decoding
failure and set |max_nesting_level| to enforce strict CBOR nesting level
depth requirements.

Bug:  780504 
Change-Id: I5ca1692b45ef03459a2553fe6e42344d7d433223
Reviewed-on: https://chromium-review.googlesource.com/759165
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jeffrey Yasskin <jyasskin@chromium.org>
Commit-Queue: Jun Choi <hongjunchoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522947}
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/BUILD.gn
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_binary.h
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_reader.cc
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_reader.h
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_reader_unittest.cc
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_values.cc
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_values.h
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_values_unittest.cc
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_writer.cc
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/browser/webauth/cbor/cbor_writer.h
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/BUILD.gn
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor0
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor1
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor10
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor11
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor12
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor13
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor14
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor15
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor16
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor17
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor18
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor19
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor2
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor20
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor21
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor22
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor23
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor24
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor25
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor26
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor27
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor28
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor29
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor3
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor30
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor31
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor32
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor33
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor34
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor35
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor36
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor37
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor38
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor39
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor4
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor40
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor41
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor42
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor43
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor44
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor45
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor46
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor47
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor48
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor49
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor5
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor50
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor51
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor52
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor53
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor54
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor55
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor56
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor57
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor58
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor59
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor6
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor60
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor61
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor62
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor63
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor64
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor65
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor66
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor67
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor68
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor69
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor7
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor70
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor71
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor72
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor73
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor74
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor75
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor76
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor77
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor78
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor79
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor8
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor80
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor81
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/data/fuzzer_corpus/cbor_data/cbor9
[modify] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/fuzzer/BUILD.gn
[add] https://crrev.com/6d30c4a621c65314db63eb56e87c19ab75627b26/content/test/fuzzer/cbor_reader_fuzzer.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50fe92953f4739f17a62303fedbf8db9234317c8

commit 50fe92953f4739f17a62303fedbf8db9234317c8
Author: Daniel Bratell <bratell@opera.com>
Date: Mon Dec 11 15:18:54 2017

Windows jumbo compile fix. NO_ERROR is a macro in Windows

Windows headers define a macro named NO_ERROR so it is
best to avoid that name. This renames the new NO_ERROR
enum value to CBOR_NO_ERROR, similar to GL_NO_ERROR.

Bug:  780504 
Change-Id: I83aa3b83b9239659c296687a9109f255b272a1ce
Reviewed-on: https://chromium-review.googlesource.com/819251
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#523097}
[modify] https://crrev.com/50fe92953f4739f17a62303fedbf8db9234317c8/content/browser/webauth/cbor/cbor_reader.cc
[modify] https://crrev.com/50fe92953f4739f17a62303fedbf8db9234317c8/content/browser/webauth/cbor/cbor_reader.h
[modify] https://crrev.com/50fe92953f4739f17a62303fedbf8db9234317c8/content/browser/webauth/cbor/cbor_reader_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment