[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-challenger] branch master updated: -fix FTBFS
From: |
gnunet |
Subject: |
[taler-challenger] branch master updated: -fix FTBFS |
Date: |
Sat, 06 May 2023 19:13:10 +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 b180a54 -fix FTBFS
b180a54 is described below
commit b180a54821572de577aa9cbbbb846b2cc3d2fdac
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat May 6 19:13:06 2023 +0200
-fix FTBFS
---
src/challenger/challenger-httpd.c | 12 +++----
src/challenger/challenger-httpd.h | 2 +-
src/challenger/challenger-httpd_auth.c | 53 ++++++++++++++++++-----------
src/challenger/challenger-httpd_challenge.c | 47 ++++++++++++-------------
src/challenger/challenger-httpd_common.h | 2 +-
src/challenger/challenger-httpd_info.c | 15 ++++----
src/challenger/challenger-httpd_login.c | 16 ++++-----
src/challenger/challenger-httpd_setup.c | 18 +++++-----
src/challenger/challenger-httpd_solve.c | 4 ++-
9 files changed, 93 insertions(+), 76 deletions(-)
diff --git a/src/challenger/challenger-httpd.c
b/src/challenger/challenger-httpd.c
index 14fae3e..e1b4d15 100644
--- a/src/challenger/challenger-httpd.c
+++ b/src/challenger/challenger-httpd.c
@@ -73,7 +73,7 @@ static struct MHD_Daemon *mhd;
/**
* Connection handle to the our database
*/
-struct CHALLENGER_DatabasePlugin *db;
+struct CHALLENGER_DatabasePlugin *CH_db;
/**
* How long is an individual validation request valid?
@@ -331,10 +331,10 @@ do_shutdown (void *cls)
MHD_stop_daemon (mhd);
mhd = NULL;
}
- if (NULL != db)
+ if (NULL != CH_db)
{
- CHALLENGER_DB_plugin_unload (db);
- db = NULL;
+ CHALLENGER_DB_plugin_unload (CH_db);
+ CH_db = NULL;
}
}
@@ -576,14 +576,14 @@ run (void *cls,
&rc);
rc = GNUNET_CURL_gnunet_rc_create (CH_ctx);
if (NULL ==
- (db = CHALLENGER_DB_plugin_load (config)))
+ (CH_db = CHALLENGER_DB_plugin_load (config)))
{
result = EXIT_NOTINSTALLED;
GNUNET_SCHEDULER_shutdown ();
return;
}
if (GNUNET_OK !=
- db->preflight (db->cls))
+ CH_db->preflight (CH_db->cls))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Database not setup. Did you run challenger-dbinit?\n");
diff --git a/src/challenger/challenger-httpd.h
b/src/challenger/challenger-httpd.h
index 478310e..fa05315 100644
--- a/src/challenger/challenger-httpd.h
+++ b/src/challenger/challenger-httpd.h
@@ -122,7 +122,7 @@ struct CH_RequestHandler
/**
* Handle to the database backend.
*/
-extern struct CHALLENGER_DatabasePlugin *db;
+extern struct CHALLENGER_DatabasePlugin *CH_db;
/**
* Our context for making HTTP requests.
diff --git a/src/challenger/challenger-httpd_auth.c
b/src/challenger/challenger-httpd_auth.c
index 22e7120..14a5d80 100644
--- a/src/challenger/challenger-httpd_auth.c
+++ b/src/challenger/challenger-httpd_auth.c
@@ -22,6 +22,7 @@
#include "challenger-httpd.h"
#include <gnunet/gnunet_util_lib.h>
#include "challenger-httpd_auth.h"
+#include "challenger-httpd_common.h"
#include <taler/taler_json_lib.h>
#include <taler/taler_merchant_service.h>
#include <taler/taler_signatures.h>
@@ -172,7 +173,7 @@ post_iter (void *cls,
else
*ptr = GNUNET_realloc (*ptr,
slen + size + 1);
- memcpy ((*ptr)[slen],
+ memcpy (&(*ptr)[slen],
data,
size);
return MHD_YES;
@@ -185,7 +186,6 @@ CH_handler_auth (struct CH_HandlerContext *hc,
size_t *upload_data_size)
{
struct AuthContext *bc = hc->ctx;
- char *access_token;
if (NULL == bc)
{
@@ -220,7 +220,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break_op (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_BAD_REQUEST,
- TALER_EC_GENERIC_PARAMETER_INVALID,
+ TALER_EC_GENERIC_PARAMETER_MALFORMED,
"authorization_code");
}
@@ -261,9 +261,23 @@ CH_handler_auth (struct CH_HandlerContext *hc,
{
enum GNUNET_DB_QueryStatus qs;
char *client_url = NULL;
+ unsigned long long client_id;
+ char dummy;
+
+ if (1 != sscanf (bc->client_id,
+ "%llu%c",
+ &client_id,
+ &dummy))
+ {
+ GNUNET_break_op (0);
+ return TALER_MHD_reply_with_error (hc->connection,
+ MHD_HTTP_BAD_REQUEST,
+ TALER_EC_GENERIC_PARAMETER_MALFORMED,
+ "client_id");
+ }
qs = CH_db->client_check (CH_db->cls,
- bc->client_id,
+ client_id,
bc->client_secret,
0, /* do not increment */
&client_url);
@@ -273,7 +287,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
- TALER_EC_GENERIC_XX,
+ TALER_EC_GENERIC_DB_FETCH_FAILED,
"client_check");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
@@ -282,7 +296,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break_op (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_NOT_FOUND,
- TALER_EC_CHALLENGER_XXX,
+
TALER_EC_CHALLENGER_GENERIC_CLIENT_UNKNOWN,
NULL);
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
@@ -294,7 +308,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break_op (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_FORBIDDEN,
- TALER_EC_CHALLENGER_XXX,
+
TALER_EC_CHALLENGER_GENERIC_CLIENT_FORBIDDEN_BAD_REDIRECT_URI,
NULL);
}
GNUNET_free (client_url);
@@ -307,7 +321,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break_op (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_FORBIDDEN,
- TALER_EC_CHALLENGER_XXX,
+
TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_BAD_CODE,
NULL);
}
@@ -334,7 +348,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
- TALER_EC_GENERIC_XX,
+ TALER_EC_GENERIC_DB_FETCH_FAILED,
"validation_get");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
@@ -343,7 +357,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break_op (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_NOT_FOUND,
- TALER_EC_CHALLENGER_XXX,
+
TALER_EC_CHALLENGER_GENERIC_VALIDATION_UNKNOWN,
"validation_get");
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
@@ -365,7 +379,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_free (code);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_FORBIDDEN,
- TALER_EC_CHALLENGER_XXX,
+
TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_BAD_CODE,
"code");
}
GNUNET_free (code);
@@ -375,7 +389,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
struct CHALLENGER_AccessTokenP grant;
enum GNUNET_DB_QueryStatus qs;
/* FIXME: do not hard-code 1h? */
- struct GNUNET_TIME_Relative expiration
+ struct GNUNET_TIME_Relative grant_expiration
= GNUNET_TIME_UNIT_HOURS;
GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_NONCE,
@@ -384,15 +398,16 @@ CH_handler_auth (struct CH_HandlerContext *hc,
qs = CH_db->auth_add_grant (CH_db->cls,
&bc->nonce,
&grant,
- expiration);
+ grant_expiration,
+ CH_validation_expiration);
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
GNUNET_break (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
- TALER_EC_GENERIC_XX,
- "add_grant");
+ TALER_EC_GENERIC_DB_STORE_FAILED,
+ "auth_add_grant");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
return GNUNET_NO;
@@ -400,8 +415,8 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_break (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_NOT_FOUND,
- TALER_EC_CHALLENGER_XXX,
- "add_grant");
+ TALER_EC_CHALLENGER_GRANT_UNKNOWN,
+ "auth_add_grant");
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
}
@@ -415,7 +430,7 @@ CH_handler_auth (struct CH_HandlerContext *hc,
GNUNET_JSON_pack_string ("token_type",
"Bearer"),
GNUNET_JSON_pack_uint64 ("expires_in",
- expiration.rel_time_us
- / GNUNET_TIME_UNIT_SECONDS.rel_time_us));
+ grant_expiration.rel_value_us
+ / GNUNET_TIME_UNIT_SECONDS.rel_value_us));
}
}
diff --git a/src/challenger/challenger-httpd_challenge.c
b/src/challenger/challenger-httpd_challenge.c
index 1cfaa44..abf76ac 100644
--- a/src/challenger/challenger-httpd_challenge.c
+++ b/src/challenger/challenger-httpd_challenge.c
@@ -152,7 +152,7 @@ CH_wakeup_challenge_on_shutdown ()
GNUNET_CONTAINER_DLL_remove (bc_head,
bc_tail,
bc);
- MHD_resume_connection (bs->connection);
+ MHD_resume_connection (bc->hc->connection);
bc->suspended = GNUNET_SYSERR;
}
}
@@ -209,7 +209,7 @@ child_done_cb (void *cls,
bc->cwh = NULL;
bc->pst = type;
bc->exit_code = exit_code;
- MHD_resume_connection (bs->connection);
+ MHD_resume_connection (bc->hc->connection);
GNUNET_CONTAINER_DLL_remove (bc_head,
bc_tail,
bc);
@@ -221,11 +221,9 @@ child_done_cb (void *cls,
* Transmit the TAN to the given address.
*
* @param[in,out] bc context to submit TAN for
- * @param tan TAN value to submit
*/
static void
-send_tan (struct ChallengeContext *bc,
- uint32_t tan)
+send_tan (struct ChallengeContext *bc)
{
struct GNUNET_DISK_PipeHandle *p;
struct GNUNET_DISK_FileHandle *pipe_stdin;
@@ -234,10 +232,10 @@ send_tan (struct ChallengeContext *bc,
p = GNUNET_DISK_pipe (GNUNET_DISK_PF_BLOCKING_RW);
if (NULL == p)
{
- MHD_STATUS mres;
+ MHD_RESULT mres;
// FIXME: generate HTML error instead...
- mres = TALER_MHD_reply_with_error (connection,
+ mres = TALER_MHD_reply_with_error (bc->hc->connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
"pipe");
@@ -254,7 +252,7 @@ send_tan (struct ChallengeContext *bc,
CH_auth_command,
bc->address,
NULL);
- if (NULL == child)
+ if (NULL == bc->child)
{
MHD_RESULT mres;
@@ -276,7 +274,7 @@ send_tan (struct ChallengeContext *bc,
GNUNET_asprintf (&msg,
"PIN: %u",
- (unsigned int) pin);
+ (unsigned int) bc->tan);
{
const char *off = msg;
size_t left = strlen (off);
@@ -295,7 +293,7 @@ send_tan (struct ChallengeContext *bc,
MHD_RESULT mres;
// FIXME: generate HTML error instead...
- mres = TALER_MHD_reply_with_error (connection,
+ mres = TALER_MHD_reply_with_error (bc->hc->connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
"write");
@@ -304,7 +302,6 @@ send_tan (struct ChallengeContext *bc,
: GNUNET_SYSERR;
return;
}
- msg_off += ret;
off += ret;
left -= ret;
}
@@ -313,7 +310,7 @@ send_tan (struct ChallengeContext *bc,
bc->cwh = GNUNET_wait_child (bc->child,
&child_done_cb,
bc);
- MHD_suspend_connection (connection);
+ MHD_suspend_connection (bc->hc->connection);
GNUNET_CONTAINER_DLL_insert (bc_head,
bc_tail,
bc);
@@ -426,7 +423,7 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
(unsigned int) bc->exit_code,
bc->pst);
// FIXME: generate HTML error instead...
- return TALER_MHD_reply_with_error (connection,
+ return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
TALER_EC_CHALLENGER_HELPER_EXEC_FAILED,
es);
@@ -451,14 +448,14 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
{
enum GNUNET_DB_QueryStatus qs;
- qs = db->challenge_set_address_and_pin (db->cls,
- &nonce,
- bc->address,
- CH_validation_duration,
- &bc->tan,
- &bc->last_tx_time,
- &bc->pin_attempts_left,
- &bc->retransmit);
+ qs = CH_db->challenge_set_address_and_pin (CH_db->cls,
+ &bc->nonce,
+ bc->address,
+ CH_validation_duration,
+ &bc->tan,
+ &bc->last_tx_time,
+ &bc->pin_attempts_left,
+ &bc->retransmit);
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
@@ -536,8 +533,7 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
if (bc->retransmit)
{
/* (Re)transmit PIN/TAN */
- send_tan (bc,
- tan);
+ send_tan (bc);
if (GNUNET_YES == bc->suspended)
return MHD_YES;
/* Did we already try to generate a response? */
@@ -563,8 +559,9 @@ CH_handler_challenge (struct CH_HandlerContext *hc,
bc->retransmit),
GNUNET_JSON_pack_string ("next_tx_time",
GNUNET_TIME_absolute2s (
- GNUNET_TIME_absolute_to_timestamp (
- bc->next_tx_time)))
+ GNUNET_TIME_absolute_add (
+ bc->last_tx_time,
+ CH_validation_duration)))
);
ret = TALER_TEMPLATING_reply (hc->connection,
MHD_HTTP_OK,
diff --git a/src/challenger/challenger-httpd_common.h
b/src/challenger/challenger-httpd_common.h
index 433e070..aea6462 100644
--- a/src/challenger/challenger-httpd_common.h
+++ b/src/challenger/challenger-httpd_common.h
@@ -21,7 +21,7 @@
#ifndef CHALLENGER_HTTPD_COMMON_H
#define CHALLENGER_HTTPD_COMMON_H
-#include <microhttpd.h>
+#include "challenger-httpd.h"
/**
* Extract the client secret from the
diff --git a/src/challenger/challenger-httpd_info.c
b/src/challenger/challenger-httpd_info.c
index 7d48094..0b9a95c 100644
--- a/src/challenger/challenger-httpd_info.c
+++ b/src/challenger/challenger-httpd_info.c
@@ -21,6 +21,7 @@
#include "platform.h"
#include "challenger-httpd.h"
#include <gnunet/gnunet_util_lib.h>
+#include "challenger-httpd_common.h"
#include "challenger-httpd_info.h"
/**
@@ -62,8 +63,10 @@ CH_handler_info (struct CH_HandlerContext *hc,
token = auth + strlen (BEARER_PREFIX);
if (GNUNET_OK !=
- CH_token_to_grant (token,
- &grant))
+ GNUNET_STRINGS_string_to_data (token,
+ strlen (token),
+ &grant,
+ sizeof (grant)))
{
GNUNET_break_op (0);
return TALER_MHD_reply_with_error (hc->connection,
@@ -80,7 +83,7 @@ CH_handler_info (struct CH_HandlerContext *hc,
MHD_RESULT mret;
qs = CH_db->info_get_grant (CH_db->cls,
- &bc->grant,
+ &grant,
&address,
&address_expiration);
switch (qs)
@@ -89,7 +92,7 @@ CH_handler_info (struct CH_HandlerContext *hc,
GNUNET_break (0);
return TALER_MHD_reply_with_error (hc->connection,
MHD_HTTP_INTERNAL_SERVER_ERROR,
- TALER_EC_GENERIC_XX,
+ TALER_EC_GENERIC_DB_FETCH_FAILED,
"info_get_grant");
case GNUNET_DB_STATUS_SOFT_ERROR:
GNUNET_break (0);
@@ -97,8 +100,8 @@ CH_handler_info (struct CH_HandlerContext *hc,
case GNUNET_DB_STATUS_SUCCESS_NO_RESULTS:
GNUNET_break (0);
return TALER_MHD_reply_with_error (hc->connection,
- MHD_HTTP_FORBIDDEN,
- TALER_EC_CHALLENGER_XXX,
+ MHD_HTTP_NOT_FOUND,
+ TALER_EC_CHALLENGER_GRANT_UNKNOWN,
"info_get_grant");
case GNUNET_DB_STATUS_SUCCESS_ONE_RESULT:
break;
diff --git a/src/challenger/challenger-httpd_login.c
b/src/challenger/challenger-httpd_login.c
index ff8ead9..d76f3e0 100644
--- a/src/challenger/challenger-httpd_login.c
+++ b/src/challenger/challenger-httpd_login.c
@@ -132,14 +132,14 @@ CH_handler_login (struct CH_HandlerContext *hc,
uint32_t address_attempts_left;
enum GNUNET_DB_QueryStatus qs;
- qs = db->login_start (db->cls,
- &nonce,
- client_id,
- scope,
- state,
- redirect_uri,
- &last_address,
- &address_attempts_left);
+ qs = CH_db->login_start (CH_db->cls,
+ &nonce,
+ client_id,
+ scope,
+ state,
+ redirect_uri,
+ &last_address,
+ &address_attempts_left);
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
diff --git a/src/challenger/challenger-httpd_setup.c
b/src/challenger/challenger-httpd_setup.c
index 035c961..64bcc69 100644
--- a/src/challenger/challenger-httpd_setup.c
+++ b/src/challenger/challenger-httpd_setup.c
@@ -62,11 +62,11 @@ CH_handler_setup (struct CH_HandlerContext *hc,
enum GNUNET_DB_QueryStatus qs;
char *client_url = NULL;
- qs = db->client_check (db->cls,
- (uint64_t) client_id,
- client_secret,
- 1,
- &client_url);
+ qs = CH_db->client_check (CH_db->cls,
+ (uint64_t) client_id,
+ client_secret,
+ 1,
+ &client_url);
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
@@ -96,10 +96,10 @@ CH_handler_setup (struct CH_HandlerContext *hc,
GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_NONCE,
&nonce,
sizeof (nonce));
- qs = db->setup_nonce (db->cls,
- client_id,
- &nonce,
- expiration_time);
+ qs = CH_db->setup_nonce (CH_db->cls,
+ client_id,
+ &nonce,
+ expiration_time);
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
diff --git a/src/challenger/challenger-httpd_solve.c
b/src/challenger/challenger-httpd_solve.c
index 8c6631d..0f4c85b 100644
--- a/src/challenger/challenger-httpd_solve.c
+++ b/src/challenger/challenger-httpd_solve.c
@@ -21,8 +21,10 @@
#include "platform.h"
#include "challenger-httpd.h"
#include <gnunet/gnunet_util_lib.h>
+#include "challenger-httpd_common.h"
#include "challenger-httpd_solve.h"
#include <taler/taler_json_lib.h>
+#include <taler/taler_templating_lib.h>
#include <taler/taler_merchant_service.h>
#include <taler/taler_signatures.h>
@@ -409,7 +411,7 @@ CH_handler_solve (struct CH_HandlerContext *hc,
{
MHD_RESULT ret;
- ret = MHD_queue_response (connection,
+ ret = MHD_queue_response (hc->connection,
MHD_HTTP_FOUND,
response);
MHD_destroy_response (response);
--
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: -fix FTBFS,
gnunet <=