• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import("//third_party/protobuf/proto_library.gni")
2
3# TODO(awillia): Fix compilation issues without this and then remove.
4config("anonymous_tokens_internal_config") {
5  cflags = []
6  if (is_clang) {
7    cflags += [
8      "-Wno-sign-compare",
9      "-Wno-c++11-narrowing",
10    ]
11  }
12}
13
14config("anonymous_tokens_config") {
15  include_dirs = [
16    "overrides",
17    "src",
18  ]
19}
20
21source_set("anonymous_tokens_public_key_client") {
22  sources = [
23    "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client.cc",
24    "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client.h",
25  ]
26
27  public_configs = [ ":anonymous_tokens_config" ]
28
29  deps = [
30    ":proto_utils",
31    ":status_utils",
32  ]
33  public_deps = [
34    ":anonymous_tokens_cc_proto",
35    "//third_party/abseil-cpp:absl",
36  ]
37}
38source_set("anonymous_tokens_rsa_bssa_client") {
39  sources = [
40    "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client.cc",
41    "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client.h",
42  ]
43
44  public_configs = [ ":anonymous_tokens_config" ]
45
46  deps = [
47    ":anonymous_tokens_pb_openssl_converters",
48    ":crypto_utils",
49    ":rsa_blinder",
50    ":status_utils",
51  ]
52  public_deps = [
53    ":anonymous_tokens_cc_proto",
54    ":proto_utils",
55    "//third_party/abseil-cpp:absl",
56  ]
57}
58source_set("anonymous_tokens_redemption_client") {
59  sources = [
60    "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client.cc",
61    "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client.h",
62  ]
63
64  configs += [ ":anonymous_tokens_internal_config" ]
65  public_configs = [ ":anonymous_tokens_config" ]
66
67  deps = [ ":constants" ]
68  public_deps = [
69    ":anonymous_tokens_cc_proto",
70    "//third_party/abseil-cpp:absl",
71  ]
72}
73
74source_set("anonymous_tokens_pb_openssl_converters") {
75  sources = [
76    "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.cc",
77    "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.h",
78  ]
79
80  configs += [ ":anonymous_tokens_internal_config" ]
81  public_configs = [ ":anonymous_tokens_config" ]
82
83  deps = [
84    ":anonymous_tokens_cc_proto",
85    ":constants",
86    ":crypto_utils",
87    ":status_utils",
88    "//third_party/abseil-cpp:absl",
89    "//third_party/boringssl",
90  ]
91  public_deps = [
92    ":anonymous_tokens_cc_proto",
93    "//third_party/abseil-cpp:absl",
94  ]
95}
96
97proto_library("anonymous_tokens_cc_proto") {
98  visibility = [
99    ":*",
100    "//net/third_party/quiche:blind_sign_auth_proto",
101    "//net/third_party/quiche:blind_sign_auth_proto_gen",
102  ]
103
104  sources = [ "src/anonymous_tokens/proto/anonymous_tokens.proto" ]
105
106  component_build_force_source_set = true
107  cc_generator_options = "lite=true:"
108
109  proto_in_dir = "src"
110}
111
112source_set("proto_utils") {
113  sources = [
114    "src/anonymous_tokens/cpp/shared/proto_utils.cc",
115    "src/anonymous_tokens/cpp/shared/proto_utils.h",
116  ]
117
118  public_configs = [ ":anonymous_tokens_config" ]
119
120  public_deps = [
121    ":anonymous_tokens_cc_proto",
122    "//third_party/abseil-cpp:absl",
123  ]
124}
125source_set("status_utils") {
126  sources = [ "src/anonymous_tokens/cpp/shared/status_utils.h" ]
127
128  public_configs = [ ":anonymous_tokens_config" ]
129
130  public_deps = [ "//third_party/abseil-cpp:absl" ]
131}
132
133source_set("blinder") {
134  sources = [ "src/anonymous_tokens/cpp/crypto/blinder.h" ]
135  public_configs = [ ":anonymous_tokens_config" ]
136  public_deps = [ "//third_party/abseil-cpp:absl" ]
137}
138
139source_set("constants") {
140  sources = [ "src/anonymous_tokens/cpp/crypto/constants.h" ]
141  public_configs = [ ":anonymous_tokens_config" ]
142  public_deps = [ "//third_party/abseil-cpp:absl" ]
143}
144
145source_set("crypto_utils") {
146  sources = [
147    "src/anonymous_tokens/cpp/crypto/crypto_utils.cc",
148    "src/anonymous_tokens/cpp/crypto/crypto_utils.h",
149  ]
150  configs += [ ":anonymous_tokens_internal_config" ]
151  public_configs = [ ":anonymous_tokens_config" ]
152  deps = [
153    ":constants",
154    ":status_utils",
155  ]
156  public_deps = [
157    ":anonymous_tokens_cc_proto",
158    "//third_party/abseil-cpp:absl",
159    "//third_party/boringssl",
160  ]
161}
162
163source_set("rsa_blinder") {
164  sources = [
165    "src/anonymous_tokens/cpp/crypto/rsa_blinder.cc",
166    "src/anonymous_tokens/cpp/crypto/rsa_blinder.h",
167  ]
168  configs += [ ":anonymous_tokens_internal_config" ]
169  public_configs = [ ":anonymous_tokens_config" ]
170  deps = [
171    ":blinder",
172    ":constants",
173    ":crypto_utils",
174    ":status_utils",
175  ]
176  public_deps = [
177    ":anonymous_tokens_cc_proto",
178    "//third_party/abseil-cpp:absl",
179    "//third_party/boringssl",
180  ]
181}
182
183source_set("blind_signer") {
184  sources = [ "src/anonymous_tokens/cpp/crypto/blind_signer.h" ]
185  public_configs = [ ":anonymous_tokens_config" ]
186  public_deps = [ "//third_party/abseil-cpp:absl" ]
187}
188
189source_set("rsa_blind_signer") {
190  sources = [
191    "src/anonymous_tokens/cpp/crypto/rsa_blind_signer.cc",
192    "src/anonymous_tokens/cpp/crypto/rsa_blind_signer.h",
193  ]
194  configs += [ ":anonymous_tokens_internal_config" ]
195  public_configs = [ ":anonymous_tokens_config" ]
196  deps = [
197    ":anonymous_tokens_pb_openssl_converters",
198    ":blind_signer",
199    ":constants",
200    ":crypto_utils",
201    ":status_utils",
202  ]
203  public_deps = [
204    ":anonymous_tokens_cc_proto",
205    "//third_party/abseil-cpp:absl",
206    "//third_party/boringssl",
207  ]
208}
209
210source_set("verifier") {
211  sources = [ "src/anonymous_tokens/cpp/crypto/verifier.h" ]
212  public_configs = [ ":anonymous_tokens_config" ]
213  public_deps = [ "//third_party/abseil-cpp:absl" ]
214}
215
216source_set("rsa_ssa_pss_verifier") {
217  sources = [
218    "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.cc",
219    "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.h",
220  ]
221  public_configs = [ ":anonymous_tokens_config" ]
222  deps = [
223    ":anonymous_tokens_pb_openssl_converters",
224    ":constants",
225    ":crypto_utils",
226    ":status_utils",
227    ":verifier",
228  ]
229  public_deps = [
230    ":anonymous_tokens_cc_proto",
231    "//third_party/abseil-cpp:absl",
232    "//third_party/boringssl",
233  ]
234}
235
236source_set("rsa_bssa_public_metadata_client") {
237  sources = [
238    "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.cc",
239    "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.h",
240  ]
241  configs += [ ":anonymous_tokens_internal_config" ]
242  public_configs = [ ":anonymous_tokens_config" ]
243  deps = [
244    ":constants",
245    ":crypto_utils",
246    ":rsa_blinder",
247    ":status_utils",
248    ":tokens_encodings",
249  ]
250  public_deps = [
251    "//third_party/abseil-cpp:absl",
252    "//third_party/boringssl",
253  ]
254}
255
256source_set("tokens_encodings") {
257  sources = [
258    "src/anonymous_tokens/cpp/privacy_pass/token_encodings.cc",
259    "src/anonymous_tokens/cpp/privacy_pass/token_encodings.h",
260  ]
261  configs += [ ":anonymous_tokens_internal_config" ]
262  public_configs = [ ":anonymous_tokens_config" ]
263  deps = [ ":status_utils" ]
264  public_deps = [
265    "//third_party/abseil-cpp:absl",
266    "//third_party/boringssl",
267  ]
268}
269
270static_library("anonymous_tokens_test_support") {
271  testonly = true
272  sources = [
273    "overrides/anonymous_tokens/cpp/testing/testdata_utils.h",
274    "src/anonymous_tokens/cpp/testing/proto_utils.cc",
275    "src/anonymous_tokens/cpp/testing/proto_utils.h",
276    "src/anonymous_tokens/cpp/testing/utils.cc",
277    "src/anonymous_tokens/cpp/testing/utils.h",
278    "testdata_utils_impl.cc",
279    "testdata_utils_impl.h",
280  ]
281  public_configs = [ ":anonymous_tokens_config" ]
282  deps = [
283    ":constants",
284    ":crypto_utils",
285    ":status_utils",
286    "//base:base",
287  ]
288  public_deps = [
289    ":anonymous_tokens_cc_proto",
290    "//third_party/abseil-cpp:absl",
291    "//third_party/boringssl",
292  ]
293}
294
295bundle_data("test_data") {
296  visibility = [ ":anonymous_tokens_tests" ]
297  testonly = true
298  sources = [
299    "src/anonymous_tokens/testdata/strong_rsa_modulus2048_example.binarypb",
300    "src/anonymous_tokens/testdata/strong_rsa_modulus2048_example_2.binarypb",
301    "src/anonymous_tokens/testdata/strong_rsa_modulus3072_example.binarypb",
302    "src/anonymous_tokens/testdata/strong_rsa_modulus4096_example.binarypb",
303  ]
304  outputs = [ "{{bundle_resources_dir}}/" +
305              "{{source_root_relative_dir}}/{{source_file_part}}" ]
306}
307
308source_set("anonymous_tokens_tests") {
309  testonly = true
310  sources = [
311    "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client_test.cc",
312    "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client_test.cc",
313    "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client_test.cc",
314    "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters_test.cc",
315    "src/anonymous_tokens/cpp/crypto/crypto_utils_test.cc",
316    "src/anonymous_tokens/cpp/crypto/rsa_blind_signer_test.cc",
317    "src/anonymous_tokens/cpp/crypto/rsa_blinder_test.cc",
318    "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier_test.cc",
319    "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client_test.cc",
320    "src/anonymous_tokens/cpp/privacy_pass/token_encodings_test.cc",
321    "src/anonymous_tokens/cpp/shared/proto_utils_test.cc",
322  ]
323
324  data = [ "src/anonymous_tokens/testdata/" ]
325  configs += [ ":anonymous_tokens_internal_config" ]
326  public_configs = [ ":anonymous_tokens_config" ]
327  deps = [
328    ":anonymous_tokens_pb_openssl_converters",
329    ":anonymous_tokens_public_key_client",
330    ":anonymous_tokens_redemption_client",
331    ":anonymous_tokens_rsa_bssa_client",
332    ":anonymous_tokens_test_support",
333    ":constants",
334    ":crypto_utils",
335    ":proto_utils",
336    ":rsa_blind_signer",
337    ":rsa_blinder",
338    ":rsa_bssa_public_metadata_client",
339    ":rsa_ssa_pss_verifier",
340    ":status_utils",
341    ":tokens_encodings",
342    "//testing/gmock",
343    "//testing/gtest",
344    "//third_party/abseil-cpp:absl",
345  ]
346  if (is_ios) {
347    deps += [ ":test_data" ]
348  }
349}
350