Skip to content

Remove unroutable mock redirect routes and dummy controller#17

Open
madsnorgaard wants to merge 1 commit into
Payfast:masterfrom
madsnorgaard:fix/remove-broken-mock-routes
Open

Remove unroutable mock redirect routes and dummy controller#17
madsnorgaard wants to merge 1 commit into
Payfast:masterfrom
madsnorgaard:fix/remove-broken-mock-routes

Conversation

@madsnorgaard

Copy link
Copy Markdown

Independent cleanup, separate from #12 and #16.

commerce_payfast.routing.yml declared two routes whose path was the absolute external URL https://www.payfast.co.za/eng/process. Drupal route paths must be site-relative, so these never registered and could never match a request - leftover scaffolding copied from Commerce's example off-site gateway.

Their target, PayfastRedirectController, is self-described as "a dummy controller for mocking an off-site gateway" and is referenced nowhere else. It issued TrustedRedirectResponse to unvalidated return/cancel request parameters - unreachable in practice, but dead code worth removing rather than leaving as a latent open-redirect surface.

Untouched: the real ITN endpoint (commerce_payment_payfast.notify) and the live redirect to PayFast, which PaymentOffsiteForm builds directly.

Removes 2 routes + 1 controller file; no runtime behaviour change.

commerce_payfast.routing.yml declared two routes whose path was the
absolute external URL 'https://www.payfast.co.za/eng/process'. Drupal
route paths must be site-relative, so these never registered and could
never match a request - they were leftover scaffolding from Commerce's
example off-site gateway.

Their target, PayfastRedirectController, is self-described as 'a dummy
controller for mocking an off-site gateway' and is referenced nowhere
else. It issued TrustedRedirectResponse to unvalidated request
parameters; unreachable in practice, but dead code worth removing rather
than leaving as a latent open-redirect surface.

The real ITN endpoint (commerce_payment_payfast.notify) is untouched, and
the live redirect to Payfast is built by PaymentOffsiteForm, not these
routes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant