edge-control: reserved name list and stricter DNS-label validation in register #1093
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#1093
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mirrored from johba/disinto#834
---## Problem
The project name validator at
tools/edge-control/register.sh:51accepts^[a-zA-Z0-9_-]+$— no length limit, no reserved list, no DNS-label rules. Claimable today (first-come):www,api,admin,root,mail.chat,forge,ci,edge,caddy,disinto.Subdomain routing mode (
register.sh:83-89) amplifies this: registeringfooalso claimsforge.foo,ci.foo,chat.foo.Proposal
In
do_register, beforeallocate_port:register.sh:www api admin root mail chat forge ci edge caddy disinto register tunnel.^[a-z0-9]([a-z0-9-]{1,61}[a-z0-9])?$— lowercase only, 3-63 chars, no leading/trailing hyphen, no underscore.forge,ci,chat) are covered by the reserved list.Acceptance
register reserved-name …returns{"error":"name reserved"}.register -foo …/register foo- …/register AB …/register a …all return{"error":"invalid project name"}.Blocked — issue #1093
ci_timeout2026-04-20T19:21:10Z