paivana

HTTP paywall reverse proxy
Log | Files | Refs | Submodules | README | LICENSE

commit df35b6a8a3273a262bf7d0e4314f669888e2bc72
parent 401f762a4a54968350cb9769f3fbf3976b7ca65f
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 31 May 2026 00:45:18 +0200

-misc bugfixes

Diffstat:
Msrc/backend/paivana-httpd_pay.c | 6++++--
Msrc/backend/paivana-httpd_templates.c | 4++--
2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/paivana-httpd_pay.c b/src/backend/paivana-httpd_pay.c @@ -186,6 +186,8 @@ check_contract (struct PayRequest *ph, "Encountered contract with unexpected fields: %s@%u\n", ename, eline); + /* For now, we tolerate this and just continue. + This is a design decision that could be revised. */ return true; } if ( (NULL != target) && @@ -242,7 +244,7 @@ order_status_cb (struct PayRequest *ph, if (! check_contract (ph, osr->details.ok.details.paid.contract_terms)) - return; + goto do_resume; GNUNET_break (PAIVANA_HTTPD_get_client_address (ph->connection, &ca, &ca_len)); @@ -299,12 +301,12 @@ order_status_cb (struct PayRequest *ph, } break; } +do_resume: GNUNET_CONTAINER_DLL_remove (ph_head, ph_tail, ph); MHD_resume_connection (ph->connection); TALER_MHD_daemon_trigger (); - } diff --git a/src/backend/paivana-httpd_templates.c b/src/backend/paivana-httpd_templates.c @@ -580,8 +580,6 @@ PAIVANA_HTTPD_search_templates (struct MHD_Connection *connection, continue; } - redirect = MHD_create_response_from_buffer_static (0, - NULL); if (! PAIVANA_HTTPD_get_base_url (connection, &buf)) { @@ -605,6 +603,8 @@ PAIVANA_HTTPD_search_templates (struct MHD_Connection *connection, enc); GNUNET_free (enc); url = GNUNET_buffer_reap_str (&buf); + redirect = MHD_create_response_from_buffer_static (0, + NULL); GNUNET_break (MHD_YES == MHD_add_response_header (redirect, MHD_HTTP_HEADER_LOCATION,