alex.kopachov преди 2 години
родител
ревизия
bf3952df16
променени са 5 файла, в които са добавени 10 реда и са изтрити 9 реда
  1. 1 1
      .ofwcatalog/CHANGELOG.md
  2. 1 4
      cli/cli_helpers.h
  3. 2 2
      cli/commands/add/add.c
  4. 4 1
      types/token_info.c
  5. 2 1
      types/token_info.h

+ 1 - 1
.ofwcatalog/CHANGELOG.md

@@ -1,6 +1,6 @@
 # Changelog
 # Changelog
 
 
-## [v2.2.3](https://github.com/akopachov/flipper-zero_authenticator/releases/tag/v2.2.3) - 19 Jun 2023
+## [v2.2.3](https://github.com/akopachov/flipper-zero_authenticator/releases/tag/v2.2.3) - 10 Jul 2023
 
 
 * Refactoring [#162](https://github.com/akopachov/flipper-zero_authenticator/issues/158) 
 * Refactoring [#162](https://github.com/akopachov/flipper-zero_authenticator/issues/158) 
 * Updated repo to match [OFW catalog](https://github.com/flipperdevices/flipper-application-catalog/) requirements
 * Updated repo to match [OFW catalog](https://github.com/flipperdevices/flipper-application-catalog/) requirements

+ 1 - 4
cli/cli_helpers.h

@@ -22,10 +22,7 @@ extern const char* TOTP_CLI_COLOR_INFO;
 #define TOTP_CLI_PRINTF(format, ...) printf(format, ##__VA_ARGS__)
 #define TOTP_CLI_PRINTF(format, ...) printf(format, ##__VA_ARGS__)
 
 
 #define TOTP_CLI_PRINTF_COLORFUL(color, format, ...) \
 #define TOTP_CLI_PRINTF_COLORFUL(color, format, ...) \
-    printf("\e[%s", color);                          \
-    printf(format, ##__VA_ARGS__);                   \
-    printf("\e[0m");                                 \
-    fflush(stdout)
+    TOTP_CLI_PRINTF("\e[%s" format "\e[0m", color, ##__VA_ARGS__)
 
 
 #define TOTP_CLI_PRINTF_ERROR(format, ...) \
 #define TOTP_CLI_PRINTF_ERROR(format, ...) \
     TOTP_CLI_PRINTF_COLORFUL(TOTP_CLI_COLOR_ERROR, format, ##__VA_ARGS__)
     TOTP_CLI_PRINTF_COLORFUL(TOTP_CLI_COLOR_ERROR, format, ##__VA_ARGS__)

+ 2 - 2
cli/commands/add/add.c

@@ -110,7 +110,7 @@ void totp_cli_command_add_docopt_options() {
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(
         TOTP_CLI_COMMAND_ARG_DIGITS_PREFIX,
         TOTP_CLI_COMMAND_ARG_DIGITS_PREFIX,
         DOCOPT_ARGUMENT(
         DOCOPT_ARGUMENT(
-            TOTP_CLI_COMMAND_ARG_DIGITS)) "    Number of digits to generate, one of: 5, 6, 8 " DOCOPT_DEFAULT("6") "\r\n");
+            TOTP_CLI_COMMAND_ARG_DIGITS)) "    Number of digits to generate, one of: %" PRIu8 ", %" PRIu8 ", %" PRIu8 " " DOCOPT_DEFAULT("%" PRIu8) "\r\n", TotpFiveDigitsCount, TotpSixDigitsCount, TotpEightDigitsCount, TotpSixDigitsCount);
 
 
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(
         TOTP_CLI_COMMAND_ARG_SECRET_ENCODING_PREFIX,
         TOTP_CLI_COMMAND_ARG_SECRET_ENCODING_PREFIX,
@@ -123,7 +123,7 @@ void totp_cli_command_add_docopt_options() {
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(
         TOTP_CLI_COMMAND_ARG_DURATION_PREFIX,
         TOTP_CLI_COMMAND_ARG_DURATION_PREFIX,
         DOCOPT_ARGUMENT(
         DOCOPT_ARGUMENT(
-            TOTP_CLI_COMMAND_ARG_DURATION)) "  Token lifetime duration in seconds, between: 15 and 255 " DOCOPT_DEFAULT("30") "\r\n");
+            TOTP_CLI_COMMAND_ARG_DURATION)) "  Token lifetime duration in seconds, between: %" PRIu8 " and %" PRIu8 " " DOCOPT_DEFAULT("%" PRIu8) "\r\n", TOTP_TOKEN_DURATION_MIN, TOTP_TOKEN_DURATION_MAX, TOTP_TOKEN_DURATION_DEFAULT);
     TOTP_CLI_PRINTF("  " DOCOPT_SWITCH(
     TOTP_CLI_PRINTF("  " DOCOPT_SWITCH(
         TOTP_CLI_COMMAND_ARG_UNSECURE_PREFIX) "             Show console user input as-is without masking\r\n");
         TOTP_CLI_COMMAND_ARG_UNSECURE_PREFIX) "             Show console user input as-is without masking\r\n");
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(
     TOTP_CLI_PRINTF("  " DOCOPT_OPTION(

+ 4 - 1
types/token_info.c

@@ -85,10 +85,13 @@ bool token_info_set_digits_from_int(TokenInfo* token_info, uint8_t digits) {
 }
 }
 
 
 bool token_info_set_duration_from_int(TokenInfo* token_info, uint8_t duration) {
 bool token_info_set_duration_from_int(TokenInfo* token_info, uint8_t duration) {
-    if(duration >= 15) {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtype-limits"
+    if(duration >= TOTP_TOKEN_DURATION_MIN && duration <= TOTP_TOKEN_DURATION_MAX) {
         token_info->duration = duration;
         token_info->duration = duration;
         return true;
         return true;
     }
     }
+#pragma GCC diagnostic pop
 
 
     return false;
     return false;
 }
 }

+ 2 - 1
types/token_info.h

@@ -5,12 +5,13 @@
 #include <furi/core/string.h>
 #include <furi/core/string.h>
 
 
 #define TOTP_TOKEN_DURATION_DEFAULT (30)
 #define TOTP_TOKEN_DURATION_DEFAULT (30)
+#define TOTP_TOKEN_DURATION_MIN (15)
+#define TOTP_TOKEN_DURATION_MAX UINT8_MAX
 
 
 #define TOTP_TOKEN_ALGO_SHA1_NAME "sha1"
 #define TOTP_TOKEN_ALGO_SHA1_NAME "sha1"
 #define TOTP_TOKEN_ALGO_STEAM_NAME "steam"
 #define TOTP_TOKEN_ALGO_STEAM_NAME "steam"
 #define TOTP_TOKEN_ALGO_SHA256_NAME "sha256"
 #define TOTP_TOKEN_ALGO_SHA256_NAME "sha256"
 #define TOTP_TOKEN_ALGO_SHA512_NAME "sha512"
 #define TOTP_TOKEN_ALGO_SHA512_NAME "sha512"
-#define TOTP_TOKEN_MAX_LENGTH (255)
 
 
 #define PLAIN_TOKEN_ENCODING_BASE32_NAME "base32"
 #define PLAIN_TOKEN_ENCODING_BASE32_NAME "base32"
 #define PLAIN_TOKEN_ENCODING_BASE64_NAME "base64"
 #define PLAIN_TOKEN_ENCODING_BASE64_NAME "base64"