tollgate-clientd: rapid-repay drain when /usage cannot resolve the client identity
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 49/100
Research direction
Start by reading the clientd polling and payment flow, then run tests/cloud-lab/run-clientd-scenarios.sh and inspect the S3 attempts. The proposal does not specify the final threshold, so clarify that before implementing. Done means repeated -1/-1 usage responses after a successful payment stop further payments and surface a clear error.
Written by the indexing model from the issue text.
Description
Found by the clientd scenario battery (tests/cloud-lab/run-clientd-scenarios.sh, S3 attempts).
What happened: when the daemon polls GET :2121/usage from a source IP the router cannot map to a MAC (not in dhcp.leases / ARP view), the endpoint answers -1/-1. clientd interprets that as "no session" and pays again at throttle pace — indefinitely. Observed: ~20 payments of 1 sat in ~95 seconds (allotment climbed to 420000 ms); the wallet was on track to drain completely.
Why it matters: any client-identity mismatch (NAT rebinding, interface change, stale ARP) turns into silent repeated payment. The payments all succeed — only the usage view is blind — so nothing errors out.
Proposal: circuit breaker — after N consecutive -1/-1 polls that immediately follow a successful payment (e.g. 3), stop paying and surface a clear error instead of continuing. Optionally --max-unacked-payments.
- Dominant language
- Go
- Stars
- 12
- Forks
- 14
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 217
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenTollGate/tollgate-module-basic-go
-
go-battery needs an ndsctl on PATH: TestPurchaseSessionGuardHoldsThroughTheOutcomeUnknownWindow fails on bare hosts (passes with stub)Possibly taken @Amperstrand claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OpenTollGate/tollgate-module-basic-go#726 · 2 comments ·
Maintainers usually reply within 1 day
-
rebrand-literal-gutter: uhttpd section-vocabulary check trips on a COMMENT (uhttpd.luci in 92-tollgate-admin-setup:178)Possibly taken @Amperstrand claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OpenTollGate/tollgate-module-basic-go#723 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
OpenTollGate/tollgate-module-basic-go#768 ·
Maintainers usually reply within 1 day
-
Four drift fences for tests/contract/ (+ test.yml clean-container lane + pre-commit wiring)Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
OpenTollGate/tollgate-module-basic-go#767 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
OpenTollGate/tollgate-module-basic-go#763 ·
Maintainers usually reply within 1 day
All issues in OpenTollGate/tollgate-module-basic-go
Similar issues
-
agent-research agent-review-finding chore
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
jordansmall/spindrift#4922 ·
Maintainers usually reply within 1 day
-
gcsartifact: deleting a missing version returns an errorPossibly taken @ktsoator claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 2 days
-
govulncheck
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Change wording for init command success messagePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 1/5 Under an hour Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
enhancement pkg:sdk
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
aws/aws-durable-execution-sdk-go#144 ·
Maintainers usually reply within 1 day