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