challenger

OAuth 2.0-based authentication service that validates user can receive messages at a certain address
Log | Files | Refs | Submodules | README | LICENSE

commit f7dd39849ad4b1dbea46fbefb7ca0f17d85a12e0
parent f7a2c38e4a25b670e3ed6665d68ce366a66661c6
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri,  9 May 2025 23:45:24 +0200

bump version to 1.0.0

Diffstat:
Mconfigure.ac | 2+-
Mdebian/changelog | 6++++++
Mdoc/doxygen/challenger.doxy | 2+-
Msrc/challenger/challenger-httpd_challenge.c | 2+-
Msrc/challenger/challenger-httpd_common.c | 4++--
Msrc/challenger/challenger-httpd_token.c | 16++++++++++++++++
Msrc/challengerdb/Makefile.am | 2+-
Msrc/util/Makefile.am | 2+-
8 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -4,7 +4,7 @@ # This configure file is in the public domain AC_PREREQ([2.69]) -AC_INIT([challenger],[0.14.25],[taler-bug@gnu.org]) +AC_INIT([challenger],[1.0.0],[taler-bug@gnu.org]) AC_CONFIG_SRCDIR([src/challenger/challenger-httpd.c]) AC_CONFIG_HEADERS([challenger_config.h]) # support for non-recursive builds diff --git a/debian/changelog b/debian/changelog @@ -1,3 +1,9 @@ +challenger (1.0.0) unstable; urgency=low + + * Release 1.0.0. + + -- Christian Grothoff <christian@grothoff.org> Sat, 10 May 2025 00:00:00 +0200 + challenger (0.14.25) unstable; urgency=low * Release 0.14.25. diff --git a/doc/doxygen/challenger.doxy b/doc/doxygen/challenger.doxy @@ -38,7 +38,7 @@ PROJECT_NAME = "GNU Taler: Challenger" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 0.14.25 +PROJECT_NUMBER = 1.0.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/src/challenger/challenger-httpd_challenge.c b/src/challenger/challenger-httpd_challenge.c @@ -949,7 +949,7 @@ CH_handler_challenge (struct CH_HandlerContext *hc, CH_validation_duration))) ); http_status = MHD_HTTP_OK; - resp = TALER_MHD_make_json (args); + resp = TALER_MHD_make_json_steal (args); GNUNET_break (MHD_YES == MHD_add_response_header (resp, MHD_HTTP_HEADER_CACHE_CONTROL, diff --git a/src/challenger/challenger-httpd_common.c b/src/challenger/challenger-httpd_common.c @@ -162,7 +162,7 @@ CH_reply_with_oauth_error ( struct MHD_Response *resp; MHD_RESULT mret; - resp = TALER_MHD_make_json ( + resp = TALER_MHD_make_json_steal ( GNUNET_JSON_PACK ( TALER_MHD_PACK_EC (ec), GNUNET_JSON_pack_string ("error", @@ -264,7 +264,7 @@ TALER_MHD_redirect_with_oauth_status ( GNUNET_JSON_pack_string ("uri", oauth_error_uri))); - response = TALER_MHD_make_json (args); + response = TALER_MHD_make_json_steal (args); TALER_MHD_add_global_headers (response); http_status = MHD_HTTP_TOO_MANY_REQUESTS; } diff --git a/src/challenger/challenger-httpd_token.c b/src/challenger/challenger-httpd_token.c @@ -411,6 +411,12 @@ CH_handler_token (struct CH_HandlerContext *hc, if (CHALLENGER_CM_UNKNOWN == code_challenge_method_enum) { GNUNET_break (0); + json_decref (address); + GNUNET_free (client_scope); + GNUNET_free (client_secret); + GNUNET_free (client_redirect_uri); + GNUNET_free (client_state); + GNUNET_free (code_challenge); return TALER_MHD_reply_with_error ( hc->connection, MHD_HTTP_INTERNAL_SERVER_ERROR, @@ -424,6 +430,7 @@ CH_handler_token (struct CH_HandlerContext *hc, if (NULL == bc->code_verifier) { GNUNET_break_op (0); + json_decref (address); GNUNET_free (client_scope); GNUNET_free (client_secret); GNUNET_free (client_redirect_uri); @@ -453,6 +460,7 @@ CH_handler_token (struct CH_HandlerContext *hc, 0)) { GNUNET_break (0); + json_decref (address); GNUNET_free (client_scope); GNUNET_free (client_secret); GNUNET_free (client_redirect_uri); @@ -485,11 +493,13 @@ CH_handler_token (struct CH_HandlerContext *hc, (NULL == encoded_hash) ) { GNUNET_break (0); + json_decref (address); GNUNET_free (client_scope); GNUNET_free (client_secret); GNUNET_free (client_redirect_uri); GNUNET_free (client_state); GNUNET_free (code_challenge); + GNUNET_free (encoded_hash); return CH_reply_with_oauth_error ( hc->connection, MHD_HTTP_INTERNAL_SERVER_ERROR, @@ -502,11 +512,13 @@ CH_handler_token (struct CH_HandlerContext *hc, code_challenge)) { GNUNET_break_op (0); + json_decref (address); GNUNET_free (client_scope); GNUNET_free (client_secret); GNUNET_free (client_redirect_uri); GNUNET_free (client_state); GNUNET_free (code_challenge); + GNUNET_free (encoded_hash); return CH_reply_with_oauth_error ( hc->connection, MHD_HTTP_UNAUTHORIZED, @@ -514,6 +526,7 @@ CH_handler_token (struct CH_HandlerContext *hc, TALER_EC_CHALLENGER_CLIENT_FORBIDDEN_BAD_CODE, "code_verifier does not match code_challenge (SHA256)"); } + GNUNET_free (encoded_hash); } break; case CHALLENGER_CM_PLAIN: @@ -522,6 +535,7 @@ CH_handler_token (struct CH_HandlerContext *hc, code_challenge)) { GNUNET_break_op (0); + json_decref (address); GNUNET_free (client_scope); GNUNET_free (client_secret); GNUNET_free (client_redirect_uri); @@ -539,6 +553,7 @@ CH_handler_token (struct CH_HandlerContext *hc, case CHALLENGER_CM_UNKNOWN: case CHALLENGER_CM_EMPTY: GNUNET_break (0); + json_decref (address); GNUNET_free (client_scope); GNUNET_free (client_secret); GNUNET_free (client_redirect_uri); @@ -578,6 +593,7 @@ CH_handler_token (struct CH_HandlerContext *hc, GNUNET_free (client_secret); GNUNET_free (client_redirect_uri); GNUNET_free (client_state); + GNUNET_free (code_challenge); if (0 != strcmp (code, bc->code)) { diff --git a/src/challengerdb/Makefile.am b/src/challengerdb/Makefile.am @@ -67,7 +67,7 @@ libchallengerdb_la_LIBADD = \ $(XLIB) libchallengerdb_la_LDFLAGS = \ $(POSTGRESQL_LDFLAGS) \ - -version-info 0:0:0 \ + -version-info 0:1:0 \ -no-undefined libchallenger_plugin_db_postgres_la_SOURCES = \ diff --git a/src/util/Makefile.am b/src/util/Makefile.am @@ -34,5 +34,5 @@ libchallengerutil_la_LIBADD = \ -lgnunetutil \ $(XLIB) libchallengerutil_la_LDFLAGS = \ - -version-info 0:0:0 \ + -version-info 0:1:0 \ -export-dynamic -no-undefined