commit 9f36568776f6592206a99b6d4790e218b0ad0922
parent 048f3710d0a73f21678819cef3eb23ab8fae5b3a
Author: Christian Grothoff <christian@grothoff.org>
Date: Tue, 11 Aug 2026 13:45:07 +0200
bump gana
Diffstat:
2 files changed, 138 insertions(+), 9 deletions(-)
diff --git a/src/include/taler/taler_error_codes.h b/src/include/taler/taler_error_codes.h
@@ -2896,6 +2896,30 @@ enum TALER_ErrorCode
/**
+ * The transmission helper rejected the address configured for this multi-factor authentication step: it is malformed, of the wrong length, not a mobile subscription, unallocated, or blocked. The address should be corrected.
+ * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_MERCHANT_TAN_ADDRESS_UNUSABLE = 2132,
+
+
+ /**
+ * The address is valid but the recipient could not be reached: the handset is switched off or out of coverage, or the message expired before delivery. Retrying later may succeed.
+ * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_MERCHANT_TAN_ADDRESS_UNREACHABLE = 2133,
+
+
+ /**
+ * The transmission helper is misconfigured: a required credential is absent, the configured credentials were refused by the provider, or the provider account has insufficient balance. The backend operator should check the logs and fix the Taler merchant backend configuration.
+ * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_MERCHANT_TAN_HELPER_MISCONFIGURED = 2134,
+
+
+ /**
* There have been too many attempts to solve MFA. The client may attempt again in the future.
* Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
* (A value of 0 indicates that the error is generated client-side).
@@ -5619,6 +5643,22 @@ enum TALER_ErrorCode
/**
+ * The address is valid but the recipient could not be reached: the handset is switched off or out of coverage, or the message expired before delivery. Retrying later may succeed. Used by all authorization methods that transmit a challenge via an external helper.
+ * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_ANASTASIS_ADDRESS_UNREACHABLE = 8250,
+
+
+ /**
+ * The transmission helper is misconfigured: a required credential is absent, the configured credentials were refused by the provider, or the provider account has insufficient balance. The provider operator should check the logs and the service configuration. Used by all authorization methods that transmit a challenge via an external helper.
+ * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_ANASTASIS_HELPER_MISCONFIGURED = 8251,
+
+
+ /**
* The given if-none-match header is malformed.
* Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
* (A value of 0 indicates that the error is generated client-side).
@@ -6059,7 +6099,7 @@ enum TALER_ErrorCode
/**
- * The code given is not valid.
+ * Deprecated, no longer returned by any endpoint. The value stays reserved and must not be reused. Was: the code given is not valid.
* Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
* (A value of 0 indicates that the error is generated client-side).
*/
@@ -6075,7 +6115,7 @@ enum TALER_ErrorCode
/**
- * The PIN code provided is incorrect.
+ * The TAN code provided is incorrect.
* Returned with an HTTP status code of #MHD_HTTP_FORBIDDEN (403).
* (A value of 0 indicates that the error is generated client-side).
*/
@@ -6083,7 +6123,7 @@ enum TALER_ErrorCode
/**
- * The token cannot be valid as no address was ever provided by the client.
+ * Deprecated since protocol v8, no longer returned by any endpoint; see CHALLENGER_NO_CHALLENGE_TRANSMITTED. The value stays reserved and must not be reused. Was: the token cannot be valid as no address was ever provided by the client.
* Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
* (A value of 0 indicates that the error is generated client-side).
*/
@@ -6139,7 +6179,7 @@ enum TALER_ErrorCode
/**
- * The number of attempts to enter the PIN has been exhausted. The user may still request a retransmission or change the address.
+ * The number of attempts to enter the TAN has been exhausted. The user may still request a retransmission or change the address.
* Returned with an HTTP status code of #MHD_HTTP_TOO_MANY_REQUESTS (429).
* (A value of 0 indicates that the error is generated client-side).
*/
@@ -6163,6 +6203,30 @@ enum TALER_ErrorCode
/**
+ * The transmission helper rejected the address the user provided: it is malformed, of the wrong length, not a mobile subscription, unallocated, or blocked. The user should correct the address and try again.
+ * Returned with an HTTP status code of #MHD_HTTP_BAD_REQUEST (400).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_CHALLENGER_ADDRESS_UNUSABLE = 9769,
+
+
+ /**
+ * The address is valid but the recipient could not be reached: the handset is switched off or out of coverage, or the message expired before delivery. Retrying later may succeed.
+ * Returned with an HTTP status code of #MHD_HTTP_SERVICE_UNAVAILABLE (503).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_CHALLENGER_ADDRESS_UNREACHABLE = 9770,
+
+
+ /**
+ * The transmission helper is misconfigured: a required credential is absent, the configured credentials were refused by the provider, or the provider account has insufficient balance. The operator should check the logs and the service configuration.
+ * Returned with an HTTP status code of #MHD_HTTP_INTERNAL_SERVER_ERROR (500).
+ * (A value of 0 indicates that the error is generated client-side).
+ */
+ TALER_EC_CHALLENGER_HELPER_MISCONFIGURED = 9771,
+
+
+ /**
* The request is invalid as the specified order is unpaid. The client should only call this endpoint after paying the order.
* Returned with an HTTP status code of #MHD_HTTP_CONFLICT (409).
* (A value of 0 indicates that the error is generated client-side).
diff --git a/src/util/taler_error_codes.c b/src/util/taler_error_codes.c
@@ -2791,6 +2791,30 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
},
{
+ /* 2132 */
+ .ec = TALER_EC_MERCHANT_TAN_ADDRESS_UNUSABLE,
+ .hint =
+ "The transmission helper rejected the address configured for this multi-factor authentication step: it is malformed, of the wrong length, not a mobile subscription, unallocated, or blocked. The address should be corrected.",
+ .http_code = MHD_HTTP_BAD_REQUEST
+ },
+
+ {
+ /* 2133 */
+ .ec = TALER_EC_MERCHANT_TAN_ADDRESS_UNREACHABLE,
+ .hint =
+ "The address is valid but the recipient could not be reached: the handset is switched off or out of coverage, or the message expired before delivery. Retrying later may succeed.",
+ .http_code = MHD_HTTP_SERVICE_UNAVAILABLE
+ },
+
+ {
+ /* 2134 */
+ .ec = TALER_EC_MERCHANT_TAN_HELPER_MISCONFIGURED,
+ .hint =
+ "The transmission helper is misconfigured: a required credential is absent, the configured credentials were refused by the provider, or the provider account has insufficient balance. The backend operator should check the logs and fix the Taler merchant backend configuration.",
+ .http_code = MHD_HTTP_INTERNAL_SERVER_ERROR
+ },
+
+ {
/* 2131 */
.ec = TALER_EC_MERCHANT_MFA_FORBIDDEN,
.hint =
@@ -5397,6 +5421,22 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
},
{
+ /* 8250 */
+ .ec = TALER_EC_ANASTASIS_ADDRESS_UNREACHABLE,
+ .hint =
+ "The address is valid but the recipient could not be reached: the handset is switched off or out of coverage, or the message expired before delivery. Retrying later may succeed. Used by all authorization methods that transmit a challenge via an external helper.",
+ .http_code = MHD_HTTP_SERVICE_UNAVAILABLE
+ },
+
+ {
+ /* 8251 */
+ .ec = TALER_EC_ANASTASIS_HELPER_MISCONFIGURED,
+ .hint =
+ "The transmission helper is misconfigured: a required credential is absent, the configured credentials were refused by the provider, or the provider account has insufficient balance. The provider operator should check the logs and the service configuration. Used by all authorization methods that transmit a challenge via an external helper.",
+ .http_code = MHD_HTTP_INTERNAL_SERVER_ERROR
+ },
+
+ {
/* 8301 */
.ec = TALER_EC_ANASTASIS_POLICY_BAD_IF_NONE_MATCH,
.hint = "The given if-none-match header is malformed.",
@@ -5810,7 +5850,8 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
{
/* 9756 */
.ec = TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_INVALID_CODE,
- .hint = "The code given is not valid.",
+ .hint =
+ "Deprecated, no longer returned by any endpoint. The value stays reserved and must not be reused. Was: the code given is not valid.",
.http_code = MHD_HTTP_FORBIDDEN
},
@@ -5825,7 +5866,7 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
{
/* 9758 */
.ec = TALER_EC_CHALLENGER_INVALID_PIN,
- .hint = "The PIN code provided is incorrect.",
+ .hint = "The TAN code provided is incorrect.",
.http_code = MHD_HTTP_FORBIDDEN
},
@@ -5833,7 +5874,7 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
/* 9759 */
.ec = TALER_EC_CHALLENGER_MISSING_ADDRESS,
.hint =
- "The token cannot be valid as no address was ever provided by the client.",
+ "Deprecated since protocol v8, no longer returned by any endpoint; see CHALLENGER_NO_CHALLENGE_TRANSMITTED. The value stays reserved and must not be reused. Was: the token cannot be valid as no address was ever provided by the client.",
.http_code = MHD_HTTP_CONFLICT
},
@@ -5888,7 +5929,7 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
/* 9766 */
.ec = TALER_EC_CHALLENGER_NO_PIN_ATTEMPTS_LEFT,
.hint =
- "The number of attempts to enter the PIN has been exhausted. The user may still request a retransmission or change the address.",
+ "The number of attempts to enter the TAN has been exhausted. The user may still request a retransmission or change the address.",
.http_code = MHD_HTTP_TOO_MANY_REQUESTS
},
@@ -5909,6 +5950,30 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
},
{
+ /* 9769 */
+ .ec = TALER_EC_CHALLENGER_ADDRESS_UNUSABLE,
+ .hint =
+ "The transmission helper rejected the address the user provided: it is malformed, of the wrong length, not a mobile subscription, unallocated, or blocked. The user should correct the address and try again.",
+ .http_code = MHD_HTTP_BAD_REQUEST
+ },
+
+ {
+ /* 9770 */
+ .ec = TALER_EC_CHALLENGER_ADDRESS_UNREACHABLE,
+ .hint =
+ "The address is valid but the recipient could not be reached: the handset is switched off or out of coverage, or the message expired before delivery. Retrying later may succeed.",
+ .http_code = MHD_HTTP_SERVICE_UNAVAILABLE
+ },
+
+ {
+ /* 9771 */
+ .ec = TALER_EC_CHALLENGER_HELPER_MISCONFIGURED,
+ .hint =
+ "The transmission helper is misconfigured: a required credential is absent, the configured credentials were refused by the provider, or the provider account has insufficient balance. The operator should check the logs and the service configuration.",
+ .http_code = MHD_HTTP_INTERNAL_SERVER_ERROR
+ },
+
+ {
/* 9800 */
.ec = TALER_EC_PAIVANA_PAYMENT_MISSING,
.hint =
@@ -6002,7 +6067,7 @@ static const struct ErrorCodeAndHint code_hint_pairs[] = {
/**
* The length of @e code_hint_pairs.
*/
-static const unsigned int code_hint_pairs_length = 774;
+static const unsigned int code_hint_pairs_length = 782;
const char *