Set a maximum length and character set for role identifiers
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 84/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- json, markdown
- Domain
- backend-api-design, documentation
Research direction
Read README.md under “Application-Specific Roles” and compare its role identifier rules with the limits described for client/hello supported_roles and server/activate active_roles. Update the requirement for all versioned role identifiers to the proposed 64-byte visible ASCII set, excluding " and \; done when the documentation clearly states the cap and character set and notes that defined roles comply.
Written by the indexing model from the issue text.
Description
Role identifiers have no length or character limit. README.md "Application-Specific Roles" only requires the leading _ and an explicit version, and the only bound on a name in client/hello supported_roles is the hello's overall 16384 bytes. server/activate active_roles has no bound at all. A client that wants to recognize its own application role in active_roles, or a server that stores the roles a client advertised, has to plan for names of any length. Since each support object's key is the identifier plus _support, those keys are unbounded too.
Suggested fix: In README.md "Application-Specific Roles", require every versioned role identifier, defined or application-specific, to be at most 64 bytes of visible ASCII other than " and \ (0x21-0x7E without 0x22 and 0x5C). 64 matches the other identifier caps. The character set keeps an identifier and its <role>_support key free of JSON escaping. The defined roles already fit.
sendspin-cpp already applies this limit to the application roles it advertises (https://github.com/Sendspin/sendspin-cpp/pull/218).
Related:
- https://github.com/Sendspin/spec/issues/341 maximum length for metadata fields
- https://github.com/Sendspin/spec/pull/340 proposal for capping group id length
- Dominant language
- Python
- Stars
- 135
- Forks
- 11
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 38
Getting set up
- No Dockerfile or Docker Compose file
- Has a 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 Sendspin/spec
-
Difficulty 1/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Sendspin/spec#145 · 2 comments ·
Maintainers usually reply within 2 days
-
Potentially set a maximum string length for metadata fieldsPossibly taken @kahrendt claimed this 3 days ago. Open
Sendspin/spec#341 · 1 comment · 1 assignee ·
Maintainers usually reply within 2 days
-
Describe what a server should do when it can't keep up under loadPossibly taken @kahrendt claimed this 24 days ago. Open
Sendspin/spec#309 · 1 comment · 1 assignee ·
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 8/100
Sendspin/spec#305 · 2 comments ·
Maintainers usually reply within 2 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
RunestoneInteractive/rs#1661 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
streamlink/streamlink#7192 · 4 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
aws-samples/sample-per-model-bedrock#795 ·
Maintainers usually reply within 1 day
-
pm_eval_model crashes with TypeError after the evaluation when --out_fname is not given (regression from #617)Possibly taken @Siddhanthguptaa claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
JdeRobot/PerceptionMetrics#675 ·
Maintainers usually reply within 1 day