Functions | |
| uint32_t | rotr (uint32_t value, unsigned int count) |
| std::string | sha256_hex (const std::string &input) |
| std::string | uppercase (std::string value) |
| std::string | lowercase (std::string value) |
| std::string | trim (const std::string &value) |
| std::string | normalize_engine_id (const std::string &value) |
| std::string | compact_key (const std::string &raw) |
| std::string | extract_activation_key (const std::string &raw) |
| std::string | compact_hex_machine_id (const std::string &raw) |
| std::string | collapse_spaces (const std::string &value) |
| std::string | canonical_serial (std::string value) |
| bool | all_zero_like (const std::string &value) |
| bool | is_placeholder_serial (const std::string &value) |
| std::string | read_first_valid_serial (const std::vector< std::string > &paths) |
| std::string | read_first_existing_file (const std::vector< std::string > &paths) |
| std::string | legacy_application_machine_id () |
| int | b64url_value (char c) |
| std::optional< std::string > | base64url_decode (const std::string &input) |
| std::string | percent_decode (const std::string &value) |
| std::map< std::string, std::string > | parse_payload (const std::string &payload) |
| std::string | today_ymd () |
| bool | is_valid_expiry (const std::string &expires) |
| bool | has_expired (const std::string &expires) |
| bool | is_running_as_root () |
| std::string | user_config_dir () |
| std::string | system_config_dir () |
| std::string | user_activation_key_path () |
| std::string | system_activation_key_path () |
| std::string | preferred_activation_key_path_for_save () |
| std::string | read_file_all (const std::string &path) |
| std::string | sign_payload_v1 (const std::string &payload) |
| std::string | sign_payload_v2 (const std::string &canonical_payload) |
| uint64_t | fnv1a64 (const std::string &input) |
| std::string | normalize_activation_code (std::string value) |
| std::string | group_activation_code (const std::string &compact) |
| std::string | field_or_empty (const std::map< std::string, std::string > &fields, const std::string &name) |
| std::string | code_payload_v3 (const std::map< std::string, std::string > &fields) |
| std::string | generate_activation_code_v3 (const std::string &canonical_payload) |
| std::map< std::string, std::string > | parse_key_block (const std::string &key) |
| std::string | canonical_v2_payload (const std::map< std::string, std::string > &fields) |
Variables | |
| constexpr std::string_view | kActivationSecret |
| constexpr std::string_view | kProductId = "BastionGuardRecoveryData" |
| constexpr std::string_view | kActivationEngineId = "supportterdonation" |
| constexpr std::string_view | kKeyPrefixV1 = "BGRD1" |
| constexpr std::string_view | kKeyPrefixV2 = "BGRD2" |
| constexpr std::string_view | kKeyPrefixV3 = "BGRD3" |
| constexpr std::string_view | kKeyBeginMarker = "-----BEGIN BASTIONGUARD ACTIVATION KEY-----" |
| constexpr std::string_view | kKeyEndMarker = "-----END BASTIONGUARD ACTIVATION KEY-----" |
| bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::all_zero_like | ( | const std::string & | value | ) |
Definition at line 296 of file activation.cpp.
References all_zero_like().
Referenced by all_zero_like(), and is_placeholder_serial().
| int BastionGuard::Activation::anonymous_namespace{activation.cpp}::b64url_value | ( | char | c | ) |
Definition at line 375 of file activation.cpp.
References b64url_value().
Referenced by b64url_value(), and base64url_decode().
| std::optional< std::string > BastionGuard::Activation::anonymous_namespace{activation.cpp}::base64url_decode | ( | const std::string & | input | ) |
Definition at line 384 of file activation.cpp.
References b64url_value(), and base64url_decode().
Referenced by base64url_decode().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::canonical_serial | ( | std::string | value | ) |
Definition at line 290 of file activation.cpp.
References canonical_serial(), collapse_spaces(), trim(), and uppercase().
Referenced by canonical_serial(), canonical_v2_payload(), code_payload_v3(), is_placeholder_serial(), and read_first_valid_serial().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::canonical_v2_payload | ( | const std::map< std::string, std::string > & | fields | ) |
Definition at line 650 of file activation.cpp.
References canonical_serial(), canonical_v2_payload(), compact_hex_machine_id(), field_or_empty(), lowercase(), normalize_engine_id(), and trim().
Referenced by canonical_v2_payload().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::code_payload_v3 | ( | const std::map< std::string, std::string > & | fields | ) |
Definition at line 578 of file activation.cpp.
References canonical_serial(), code_payload_v3(), compact_hex_machine_id(), field_or_empty(), lowercase(), normalize_engine_id(), and trim().
Referenced by code_payload_v3().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::collapse_spaces | ( | const std::string & | value | ) |
Definition at line 266 of file activation.cpp.
References collapse_spaces().
Referenced by canonical_serial(), and collapse_spaces().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::compact_hex_machine_id | ( | const std::string & | raw | ) |
Definition at line 255 of file activation.cpp.
References compact_hex_machine_id().
Referenced by canonical_v2_payload(), code_payload_v3(), and compact_hex_machine_id().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::compact_key | ( | const std::string & | raw | ) |
Definition at line 184 of file activation.cpp.
References compact_key().
Referenced by compact_key(), and extract_activation_key().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::extract_activation_key | ( | const std::string & | raw | ) |
Definition at line 193 of file activation.cpp.
References compact_key(), extract_activation_key(), kKeyBeginMarker, kKeyEndMarker, kKeyPrefixV1, kKeyPrefixV2, kKeyPrefixV3, and trim().
Referenced by extract_activation_key().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::field_or_empty | ( | const std::map< std::string, std::string > & | fields, |
| const std::string & | name ) |
Definition at line 573 of file activation.cpp.
References field_or_empty().
Referenced by canonical_v2_payload(), code_payload_v3(), and field_or_empty().
| uint64_t BastionGuard::Activation::anonymous_namespace{activation.cpp}::fnv1a64 | ( | const std::string & | input | ) |
Definition at line 543 of file activation.cpp.
References fnv1a64().
Referenced by fnv1a64(), and generate_activation_code_v3().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::generate_activation_code_v3 | ( | const std::string & | canonical_payload | ) |
Definition at line 608 of file activation.cpp.
References fnv1a64(), generate_activation_code_v3(), group_activation_code(), kActivationSecret, and kKeyPrefixV3.
Referenced by generate_activation_code_v3().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::group_activation_code | ( | const std::string & | compact | ) |
Definition at line 564 of file activation.cpp.
References group_activation_code().
Referenced by generate_activation_code_v3(), and group_activation_code().
| bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::has_expired | ( | const std::string & | expires | ) |
Definition at line 484 of file activation.cpp.
References has_expired(), is_valid_expiry(), and today_ymd().
Referenced by has_expired().
| bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::is_placeholder_serial | ( | const std::string & | value | ) |
Definition at line 306 of file activation.cpp.
References all_zero_like(), canonical_serial(), and is_placeholder_serial().
Referenced by is_placeholder_serial(), and read_first_valid_serial().
| bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::is_running_as_root | ( | ) |
Definition at line 490 of file activation.cpp.
References is_running_as_root().
Referenced by is_running_as_root(), and preferred_activation_key_path_for_save().
| bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::is_valid_expiry | ( | const std::string & | expires | ) |
Definition at line 469 of file activation.cpp.
References is_valid_expiry().
Referenced by has_expired(), and is_valid_expiry().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::legacy_application_machine_id | ( | ) |
Definition at line 352 of file activation.cpp.
References kProductId, legacy_application_machine_id(), read_first_existing_file(), sha256_hex(), and uppercase().
Referenced by legacy_application_machine_id().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::lowercase | ( | std::string | value | ) |
Definition at line 160 of file activation.cpp.
References lowercase().
Referenced by canonical_v2_payload(), code_payload_v3(), lowercase(), and normalize_engine_id().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::normalize_activation_code | ( | std::string | value | ) |
Definition at line 552 of file activation.cpp.
References normalize_activation_code(), and uppercase().
Referenced by normalize_activation_code().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::normalize_engine_id | ( | const std::string & | value | ) |
Definition at line 180 of file activation.cpp.
References lowercase(), normalize_engine_id(), and trim().
Referenced by canonical_v2_payload(), code_payload_v3(), and normalize_engine_id().
| std::map< std::string, std::string > BastionGuard::Activation::anonymous_namespace{activation.cpp}::parse_key_block | ( | const std::string & | key | ) |
Definition at line 626 of file activation.cpp.
References kKeyBeginMarker, kKeyEndMarker, kKeyPrefixV2, kKeyPrefixV3, parse_key_block(), trim(), and uppercase().
Referenced by parse_key_block().
| std::map< std::string, std::string > BastionGuard::Activation::anonymous_namespace{activation.cpp}::parse_payload | ( | const std::string & | payload | ) |
Definition at line 428 of file activation.cpp.
References parse_payload(), and percent_decode().
Referenced by parse_payload().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::percent_decode | ( | const std::string & | value | ) |
Definition at line 404 of file activation.cpp.
References percent_decode().
Referenced by parse_payload(), and percent_decode().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::preferred_activation_key_path_for_save | ( | ) |
Definition at line 516 of file activation.cpp.
References is_running_as_root(), preferred_activation_key_path_for_save(), system_activation_key_path(), and user_activation_key_path().
Referenced by preferred_activation_key_path_for_save().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::read_file_all | ( | const std::string & | path | ) |
Definition at line 525 of file activation.cpp.
References read_file_all().
Referenced by read_file_all().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::read_first_existing_file | ( | const std::vector< std::string > & | paths | ) |
Definition at line 444 of file activation.cpp.
References read_first_existing_file(), and trim().
Referenced by legacy_application_machine_id(), and read_first_existing_file().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::read_first_valid_serial | ( | const std::vector< std::string > & | paths | ) |
Definition at line 338 of file activation.cpp.
References canonical_serial(), is_placeholder_serial(), and read_first_valid_serial().
Referenced by read_first_valid_serial().
| uint32_t BastionGuard::Activation::anonymous_namespace{activation.cpp}::rotr | ( | uint32_t | value, |
| unsigned int | count ) |
Definition at line 51 of file activation.cpp.
References rotr().
Referenced by rotr(), and sha256_hex().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::sha256_hex | ( | const std::string & | input | ) |
Definition at line 55 of file activation.cpp.
References rotr(), and sha256_hex().
Referenced by legacy_application_machine_id(), sha256_hex(), sign_payload_v1(), and sign_payload_v2().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::sign_payload_v1 | ( | const std::string & | payload | ) |
Definition at line 533 of file activation.cpp.
References kActivationSecret, kKeyPrefixV1, sha256_hex(), sign_payload_v1(), and uppercase().
Referenced by sign_payload_v1().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::sign_payload_v2 | ( | const std::string & | canonical_payload | ) |
Definition at line 538 of file activation.cpp.
References kActivationSecret, kKeyPrefixV2, sha256_hex(), sign_payload_v2(), and uppercase().
Referenced by sign_payload_v2().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::system_activation_key_path | ( | ) |
Definition at line 512 of file activation.cpp.
References system_activation_key_path(), and system_config_dir().
Referenced by preferred_activation_key_path_for_save(), and system_activation_key_path().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::system_config_dir | ( | ) |
Definition at line 504 of file activation.cpp.
References system_config_dir().
Referenced by system_activation_key_path(), and system_config_dir().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::today_ymd | ( | ) |
Definition at line 456 of file activation.cpp.
References today_ymd().
Referenced by has_expired(), and today_ymd().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::trim | ( | const std::string & | value | ) |
Definition at line 167 of file activation.cpp.
References trim().
Referenced by canonical_serial(), canonical_v2_payload(), code_payload_v3(), extract_activation_key(), normalize_engine_id(), parse_key_block(), read_first_existing_file(), and trim().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::uppercase | ( | std::string | value | ) |
Definition at line 153 of file activation.cpp.
References uppercase().
Referenced by canonical_serial(), legacy_application_machine_id(), normalize_activation_code(), parse_key_block(), sign_payload_v1(), sign_payload_v2(), and uppercase().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::user_activation_key_path | ( | ) |
Definition at line 508 of file activation.cpp.
References user_activation_key_path(), and user_config_dir().
Referenced by preferred_activation_key_path_for_save(), and user_activation_key_path().
| std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::user_config_dir | ( | ) |
Definition at line 494 of file activation.cpp.
References user_config_dir().
Referenced by user_activation_key_path(), and user_config_dir().
|
constexpr |
Definition at line 44 of file activation.cpp.
|
constexpr |
Definition at line 37 of file activation.cpp.
Referenced by generate_activation_code_v3(), sign_payload_v1(), and sign_payload_v2().
|
constexpr |
Definition at line 48 of file activation.cpp.
Referenced by extract_activation_key(), and parse_key_block().
|
constexpr |
Definition at line 49 of file activation.cpp.
Referenced by extract_activation_key(), and parse_key_block().
|
constexpr |
Definition at line 45 of file activation.cpp.
Referenced by extract_activation_key(), and sign_payload_v1().
|
constexpr |
Definition at line 46 of file activation.cpp.
Referenced by extract_activation_key(), parse_key_block(), and sign_payload_v2().
|
constexpr |
Definition at line 47 of file activation.cpp.
Referenced by extract_activation_key(), generate_activation_code_v3(), and parse_key_block().
|
constexpr |
Definition at line 40 of file activation.cpp.
Referenced by legacy_application_machine_id().