[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-challenger] branch master updated: return HTML errors in human-fa
From: |
gnunet |
Subject: |
[taler-challenger] branch master updated: return HTML errors in human-facing endpoints |
Date: |
Sat, 06 May 2023 21:20:04 +0200 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository challenger.
The following commit(s) were added to refs/heads/master by this push:
new fd16b09 return HTML errors in human-facing endpoints
fd16b09 is described below
commit fd16b09121eada689a3e78639a505d5367e89561
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat May 6 21:20:01 2023 +0200
return HTML errors in human-facing endpoints
---
src/challenger/challenger-httpd_challenge.c | 130 ++++++++---------------
src/challenger/challenger-httpd_login.c | 54 +++-------
src/challenger/challenger-httpd_solve.c | 158 +++++++---------------------
3 files changed, 93 insertions(+), 249 deletions(-)
diff --git a/src/challenger/challenger-httpd_challenge.c
b/src/challenger/challenger-httpd_challenge.c
index 9f8e680..451b03a 100644
--- a/src/challenger/challenger-httpd_challenge.c
+++ b/src/challenger/challenger-httpd_challenge.c
@@ -234,11 +234,12 @@ send_tan (struct ChallengeContext *bc)
{
MHD_RESULT mres;
- // FIXME: generate HTML error instead...
- mres = TALER_MHD_reply_with_error (bc->hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
- TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
- "pipe");
+ GNUNET_break (0);
+ mres = TALER_TEMPLATING_reply_error (bc->hc->connection,
+ "internal-error",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
+ "pipe");
bc->status = (MHD_YES == mres)
? GNUNET_NO
: GNUNET_SYSERR;
@@ -256,12 +257,13 @@ send_tan (struct ChallengeContext *bc)
{
MHD_RESULT mres;
+ GNUNET_break (0);
GNUNET_DISK_pipe_close (p);
- // FIXME: generate HTML error instead...
- mres = TALER_MHD_reply_with_error (bc->hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
- TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
- "exec");
+ mres = TALER_TEMPLATING_reply_error (bc->hc->connection,
+ "internal-error",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
+ "exec");
bc->status = (MHD_YES == mres)
? GNUNET_NO
: GNUNET_SYSERR;
@@ -292,11 +294,12 @@ send_tan (struct ChallengeContext *bc)
{
MHD_RESULT mres;
- // FIXME: generate HTML error instead...
- mres = TALER_MHD_reply_with_error (bc->hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
-
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
- "write");
+ GNUNET_break (0);
+ mres = TALER_TEMPLATING_reply_error (bc->hc->connection,
+ "internal-error",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
+ "write");
bc->status = (MHD_YES == mres)
? GNUNET_NO
: GNUNET_SYSERR;
@@ -398,11 +401,11 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
sizeof (bc->nonce)))
{
GNUNET_break_op (0);
- // FIXME: generate HTML error instead...
- return TALER_MHD_reply_with_error (hc->connection,
- MHD_HTTP_NOT_FOUND,
- TALER_EC_GENERIC_PARAMETER_MISSING,
- hc->path);
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "invalid-request",
+ MHD_HTTP_NOT_FOUND,
+ TALER_EC_GENERIC_PARAMETER_MISSING,
+ hc->path);
}
TALER_MHD_check_content_length (hc->connection,
1024);
@@ -423,11 +426,11 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
"%u/%d",
(unsigned int) bc->exit_code,
bc->pst);
- // FIXME: generate HTML error instead...
- return TALER_MHD_reply_with_error (hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
- TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
- es);
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "internal-error",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
+ es);
}
/* handle upload */
if (0 != *upload_data_size)
@@ -460,75 +463,32 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- GNUNET_break (0);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
- "internal-server-error.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ GNUNET_break (0);
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "internal-error",
+ MHD_HTTP_NOT_FOUND,
+ TALER_EC_GENERIC_DB_STORE_FAILED,
+ "set-address-and-pin");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
return GNUNET_NO;
case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_NOT_FOUND,
- "validation-unknown.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "validation-unknown",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_GENERIC_VALIDATION_UNKNOWN,
+ NULL);
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
}
bc->db_finished = true;
if (0 == bc->pin_attempts_left)
{
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_TOO_MANY_REQUESTS,
- "attempts-exhausted.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "attempts-exhausted",
+ MHD_HTTP_TOO_MANY_REQUESTS,
+
TALER_EC_CHALLENGER_TOO_MANY_ATTEMPTS,
+ NULL);
}
if (bc->retransmit)
@@ -566,7 +526,7 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
);
ret = TALER_TEMPLATING_reply (hc->connection,
MHD_HTTP_OK,
- "enter-tan-form.must",
+ "enter-tan-form",
NULL,
NULL,
args);
diff --git a/src/challenger/challenger-httpd_login.c
b/src/challenger/challenger-httpd_login.c
index d76f3e0..c2c3433 100644
--- a/src/challenger/challenger-httpd_login.c
+++ b/src/challenger/challenger-httpd_login.c
@@ -143,51 +143,21 @@ CH_handler_login (struct CH_HandlerContext *hc,
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- GNUNET_break (0);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
- "internal-server-error.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ GNUNET_break (0);
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "internal-error",
+ MHD_HTTP_INTERNAL_SERVER_ERROR,
+ TALER_EC_GENERIC_DB_STORE_FAILED,
+ "login_start");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
return GNUNET_NO;
case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_NOT_FOUND,
- "validation-unknown.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "validation-unknown",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_GENERIC_VALIDATION_UNKNOWN,
+ NULL);
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
}
@@ -208,7 +178,7 @@ CH_handler_login (struct CH_HandlerContext *hc,
ret = TALER_TEMPLATING_reply (
hc->connection,
MHD_HTTP_OK,
- "enter-address-form.must",
+ "enter-address-form",
NULL,
NULL,
args);
diff --git a/src/challenger/challenger-httpd_solve.c
b/src/challenger/challenger-httpd_solve.c
index cd42b7d..cf9586f 100644
--- a/src/challenger/challenger-httpd_solve.c
+++ b/src/challenger/challenger-httpd_solve.c
@@ -152,10 +152,11 @@ CH_handler_solve (struct CH_HandlerContext *hc,
sizeof (bc->nonce)))
{
GNUNET_break_op (0);
- return TALER_MHD_reply_with_error (hc->connection,
- MHD_HTTP_NOT_FOUND,
- TALER_EC_GENERIC_PARAMETER_MISSING,
- hc->path);
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "invalid-request",
+ MHD_HTTP_BAD_REQUEST,
+
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
+ hc->path);
}
TALER_MHD_check_content_length (hc->connection,
1024);
@@ -185,25 +186,12 @@ CH_handler_solve (struct CH_HandlerContext *hc,
&pin,
&dummy))
{
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
GNUNET_break_op (0);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_BAD_REQUEST,
- "pin-must-be-number.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "invalid-request",
+ MHD_HTTP_BAD_REQUEST,
+
TALER_EC_GENERIC_PARAMETER_MALFORMED,
+ "pin");
}
qs = CH_db->validate_solve_pin (CH_db->cls,
@@ -213,74 +201,30 @@ CH_handler_solve (struct CH_HandlerContext *hc,
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- GNUNET_break (0);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
- "internal-server-error.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "internal-error",
+ MHD_HTTP_INTERNAL_SERVER_ERROR,
+ TALER_EC_GENERIC_DB_FETCH_FAILED,
+ "validate_solve_pin");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
return GNUNET_NO;
case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_NOT_FOUND,
- "validation-unknown.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "validation-unknown",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_GENERIC_VALIDATION_UNKNOWN,
+ NULL);
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
}
if (! solved)
{
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_FORBIDDEN,
- "invalid-pin.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "invalid-pin",
+ MHD_HTTP_FORBIDDEN,
+ TALER_EC_CHALLENGER_INVALID_PIN,
+ NULL);
}
}
@@ -306,51 +250,21 @@ CH_handler_solve (struct CH_HandlerContext *hc,
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- GNUNET_break (0);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_INTERNAL_SERVER_ERROR,
- "internal-server-error.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ GNUNET_break (0);
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "internal-server-error",
+ MHD_HTTP_INTERNAL_SERVER_ERROR,
+ TALER_EC_GENERIC_DB_FETCH_FAILED,
+ "validation_get");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
return GNUNET_NO;
case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
- {
- enum GNUNET_GenericReturnValue ret;
- json_t *root = json_object ();
-
- GNUNET_assert (NULL != root);
- ret = TALER_TEMPLATING_reply (hc->connection,
- MHD_HTTP_NOT_FOUND,
- "validation-unknown.must",
- NULL,
- NULL,
- root);
- json_decref (root);
- if (GNUNET_SYSERR == ret)
- {
- GNUNET_break (0);
- return MHD_NO;
- }
- GNUNET_break (GNUNET_OK == ret);
- return MHD_YES;
- }
+ return TALER_TEMPLATING_reply_error (hc->connection,
+ "validation-unknown",
+ MHD_HTTP_NOT_FOUND,
+
TALER_EC_CHALLENGER_GENERIC_VALIDATION_UNKNOWN,
+ NULL);
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-challenger] branch master updated: return HTML errors in human-facing endpoints,
gnunet <=