@@ -20,12 +20,17 @@ static bool string8_equals(string8 s8, std::string_view str) {
2020}
2121[[maybe_unused]] static void dump_pro_proof_to_stderr (const session_protocol_pro_proof& proof) {
2222 fprintf (stderr, " proof.version: %u\n " , proof.version );
23- fprintf (stderr, " proof.gen_index_hash: %s\n " , oxenc::to_hex (proof.gen_index_hash .data ).c_str ());
23+ fprintf (stderr,
24+ " proof.gen_index_hash: %s\n " ,
25+ oxenc::to_hex (proof.gen_index_hash .data , std::end (proof.gen_index_hash .data )).c_str ());
2426 fprintf (stderr,
2527 " proof.rotating_pubkey: %s\n " ,
26- oxenc::to_hex (proof.rotating_pubkey .data ).c_str ());
28+ oxenc::to_hex (proof.rotating_pubkey .data , std::end (proof.rotating_pubkey .data ))
29+ .c_str ());
2730 fprintf (stderr, " proof.expiry_unix_ts_ms: %" PRIu64 " \n " , proof.expiry_unix_ts_ms );
28- fprintf (stderr, " proof.sig: %s\n " , oxenc::to_hex (proof.sig .data ).c_str ());
31+ fprintf (stderr,
32+ " proof.sig: %s\n " ,
33+ oxenc::to_hex (proof.sig .data , std::end (proof.sig .data )).c_str ());
2934}
3035
3136[[maybe_unused]] static void dump_pro_payment_item (
@@ -62,7 +67,9 @@ static bool string8_equals(string8 s8, std::string_view str) {
6267[[maybe_unused]] static void dump_pro_revocation (
6368 const session_pro_backend_pro_revocation_item& item) {
6469 fprintf (stderr, " item.expiry_unix_ts: %" PRIu64 " zu\n " , item.expiry_unix_ts_ms );
65- fprintf (stderr, " item.gen_index_hash: %s\n " , oxenc::to_hex (item.gen_index_hash .data ).c_str ());
70+ fprintf (stderr,
71+ " item.gen_index_hash: %s\n " ,
72+ oxenc::to_hex (item.gen_index_hash .data , std::end (item.gen_index_hash .data )).c_str ());
6673}
6774
6875TEST_CASE (" Pro Backend C API" , " [pro_backend]" ) {
@@ -76,13 +83,13 @@ TEST_CASE("Pro Backend C API", "[pro_backend]") {
7683 crypto_sign_ed25519_keypair (rotating_pubkey.data , rotating_privkey.data );
7784
7885 {
79- char fake_google_payment_token[ 8 ] ;
80- randombytes_buf (fake_google_payment_token, sizeof ( fake_google_payment_token));
86+ std::array< uint8_t , 8 > fake_google_payment_token ;
87+ randombytes_buf (fake_google_payment_token. data (), fake_google_payment_token. size ( ));
8188 std::string fake_google_payment_token_hex =
8289 " DEV." + oxenc::to_hex (fake_google_payment_token);
8390
84- char fake_google_order_id[ 8 ] ;
85- randombytes_buf (fake_google_order_id, sizeof ( fake_google_order_id));
91+ std::array< uint8_t , 8 > fake_google_order_id ;
92+ randombytes_buf (fake_google_order_id. data (), fake_google_order_id. size ( ));
8693 std::string fake_google_order_id_hex = " DEV." + oxenc::to_hex (fake_google_order_id);
8794
8895 session_pro_backend_add_pro_payment_user_transaction payment_tx = {};
@@ -445,20 +452,18 @@ TEST_CASE("Pro Backend C API", "[pro_backend]") {
445452 }
446453
447454 SECTION (" session_pro_backend_add_pro_payment_or_generate_pro_proof_response_parse" ) {
448- char fake_gen_index_hash[ 32 ] ;
449- randombytes_buf (fake_gen_index_hash, sizeof ( fake_gen_index_hash));
455+ std::array< uint8_t , 32 > fake_gen_index_hash ;
456+ randombytes_buf (fake_gen_index_hash. data (), fake_gen_index_hash. size ( ));
450457
451458 nlohmann::json j;
452459 j[" status" ] = SESSION_PRO_BACKEND_STATUS_SUCCESS;
453460 j[" result" ] = {
454461 {" version" , 0 },
455462 {" expiry_unix_ts_ms" , unix_ts_ms},
456- {" gen_index_hash" ,
457- oxenc::to_hex (
458- fake_gen_index_hash,
459- fake_gen_index_hash + sizeof (fake_gen_index_hash))},
460- {" rotating_pkey" , oxenc::to_hex (rotating_pubkey.data )},
461- {" sig" , oxenc::to_hex (master_privkey.data )}};
463+ {" gen_index_hash" , oxenc::to_hex (fake_gen_index_hash)},
464+ {" rotating_pkey" ,
465+ oxenc::to_hex (rotating_pubkey.data , std::end (rotating_pubkey.data ))},
466+ {" sig" , oxenc::to_hex (master_privkey.data , std::end (master_privkey.data ))}};
462467 std::string json = j.dump ();
463468
464469 // Valid JSON
@@ -479,8 +484,8 @@ TEST_CASE("Pro Backend C API", "[pro_backend]") {
479484 REQUIRE (result.proof .expiry_unix_ts_ms == unix_ts_ms);
480485 REQUIRE (std::memcmp (
481486 result.proof .gen_index_hash .data ,
482- fake_gen_index_hash,
483- sizeof ( fake_gen_index_hash)) == 0 );
487+ fake_gen_index_hash. data () ,
488+ fake_gen_index_hash. size ( )) == 0 );
484489 REQUIRE (std::memcmp (
485490 result.proof .rotating_pubkey .data ,
486491 rotating_pubkey.data ,
@@ -552,13 +557,12 @@ TEST_CASE("Pro Backend C API", "[pro_backend]") {
552557 j[" result" ][" ticket" ] = 123 ;
553558 j[" result" ][" items" ] = nlohmann::json::array ();
554559
555- char fake_gen_index_hash[ 32 ] ;
556- randombytes_buf (fake_gen_index_hash, sizeof ( fake_gen_index_hash));
560+ std::array< uint8_t , 32 > fake_gen_index_hash ;
561+ randombytes_buf (fake_gen_index_hash. data (), fake_gen_index_hash. size ( ));
557562
558563 auto obj = nlohmann::json::object ();
559564 obj[" expiry_unix_ts_ms" ] = unix_ts_ms;
560- obj[" gen_index_hash" ] = oxenc::to_hex (
561- fake_gen_index_hash, fake_gen_index_hash + sizeof (fake_gen_index_hash));
565+ obj[" gen_index_hash" ] = oxenc::to_hex (fake_gen_index_hash);
562566 j[" result" ][" items" ].push_back (obj);
563567
564568 std::string json = j.dump ();
@@ -580,8 +584,8 @@ TEST_CASE("Pro Backend C API", "[pro_backend]") {
580584 REQUIRE (result.items [0 ].expiry_unix_ts_ms == unix_ts_ms);
581585 REQUIRE (std::memcmp (
582586 result.items [0 ].gen_index_hash .data ,
583- fake_gen_index_hash,
584- sizeof ( fake_gen_index_hash)) == 0 );
587+ fake_gen_index_hash. data () ,
588+ fake_gen_index_hash. size ( )) == 0 );
585589 }
586590
587591 // After freeeing
@@ -913,13 +917,13 @@ TEST_CASE("Pro Backend Dev Server", "[pro_backend][dev_server]") {
913917 // Add pro payment
914918 session_protocol_pro_proof first_pro_proof = {};
915919 {
916- char fake_google_payment_token[ 8 ] ;
917- randombytes_buf (fake_google_payment_token, sizeof ( fake_google_payment_token));
920+ std::array< uint8_t , 8 > fake_google_payment_token ;
921+ randombytes_buf (fake_google_payment_token. data (), fake_google_payment_token. size ( ));
918922 std::string fake_google_payment_token_hex =
919923 " DEV." + oxenc::to_hex (fake_google_payment_token);
920924
921- char fake_google_order_id[ 8 ] ;
922- randombytes_buf (fake_google_order_id, sizeof ( fake_google_order_id));
925+ std::array< uint8_t , 8 > fake_google_order_id ;
926+ randombytes_buf (fake_google_order_id. data (), fake_google_order_id. size ( ));
923927 std::string fake_google_order_id_hex = " DEV." + oxenc::to_hex (fake_google_order_id);
924928
925929 session_pro_backend_add_pro_payment_user_transaction payment_tx = {};
@@ -981,8 +985,10 @@ TEST_CASE("Pro Backend Dev Server", "[pro_backend][dev_server]") {
981985
982986 // Verify response
983987 first_pro_proof = response.proof ;
984- INFO (" Signature: " << oxenc::to_hex (first_pro_proof.sig .data ) << " , backend pubkey: "
985- << oxenc::to_hex (DEV_BACKEND_PUBKEY) << " , response: " << response_json);
988+ INFO (" Signature: " << oxenc::to_hex (
989+ first_pro_proof.sig .data , std::end (first_pro_proof.sig .data ))
990+ << " , backend pubkey: " << oxenc::to_hex (DEV_BACKEND_PUBKEY)
991+ << " , response: " << response_json);
986992 REQUIRE (session_protocol_pro_proof_verify_signature (
987993 &first_pro_proof, DEV_BACKEND_PUBKEY.data (), DEV_BACKEND_PUBKEY.size ()));
988994 REQUIRE (std::memcmp (
@@ -1154,13 +1160,13 @@ TEST_CASE("Pro Backend Dev Server", "[pro_backend][dev_server]") {
11541160 // Add _another_ payment, same details
11551161 session_pro_backend_add_pro_payment_user_transaction another_payment_tx = {};
11561162 {
1157- char fake_google_payment_token[ 8 ] ;
1158- randombytes_buf (fake_google_payment_token, sizeof ( fake_google_payment_token));
1163+ std::array< uint8_t , 8 > fake_google_payment_token ;
1164+ randombytes_buf (fake_google_payment_token. data (), fake_google_payment_token. size ( ));
11591165 std::string fake_google_payment_token_hex =
11601166 " DEV." + oxenc::to_hex (fake_google_payment_token);
11611167
1162- char fake_google_order_id[ 8 ] ;
1163- randombytes_buf (fake_google_order_id, sizeof ( fake_google_order_id));
1168+ std::array< uint8_t , 8 > fake_google_order_id ;
1169+ randombytes_buf (fake_google_order_id. data (), fake_google_order_id. size ( ));
11641170 std::string fake_google_order_id_hex = " DEV." + oxenc::to_hex (fake_google_order_id);
11651171
11661172 another_payment_tx.provider = SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE;
0 commit comments