• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2017 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_
6 #define NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_
7 
8 #include <stddef.h>
9 #include <stdint.h>
10 
11 #include "base/memory/raw_ptr_exclusion.h"
12 #include "net/base/net_export.h"
13 
14 namespace net {
15 
16 // kNoReportURI is a placeholder for when a pinset does not have a report URI.
17 NET_EXPORT_PRIVATE extern const char kNoReportURI[];
18 
19 struct TransportSecurityStateSource {
20   struct Pinset {
21     // RAW_PTR_EXCLUSION: accepted_pins always points to static data.
22     RAW_PTR_EXCLUSION const char* const* const accepted_pins;
23     // RAW_PTR_EXCLUSION: rejected_pins always points to static data.
24     RAW_PTR_EXCLUSION const char* const* const rejected_pins;
25     const char* const report_uri;
26   };
27 
28   // RAW_PTR_EXCLUSION: huffman_tree always points to static data.
29   const uint8_t* huffman_tree;
30   size_t huffman_tree_size;
31   // RAW_PTR_EXCLUSION: preloaded_data always points to static data.
32   const uint8_t* preloaded_data;
33   size_t preloaded_bits;
34   size_t root_position;
35   // RAW_PTR_EXCLUSION: pinsets always points to static data.
36   RAW_PTR_EXCLUSION const Pinset* pinsets;
37   size_t pinsets_count;
38 };
39 
40 }  // namespace net
41 
42 #endif  // NET_HTTP_TRANSPORT_SECURITY_STATE_SOURCE_H_
43