Skip to content

feat: Modern implementation of Stringprep and PRECIS#5

Merged
ralflang merged 7 commits intoFRAMEWORK_6_0from
feat/PRECIS
Apr 12, 2026
Merged

feat: Modern implementation of Stringprep and PRECIS#5
ralflang merged 7 commits intoFRAMEWORK_6_0from
feat/PRECIS

Conversation

@ralflang
Copy link
Copy Markdown
Member

Closes #4

A modern implementation of both Stringprep and PRECIS delegating much of the required functionality to php-ext-intl

- SaslPrepProfile.php               — RFC 4013 SASLprep
- NameprepProfile.php               — RFC 3491 IDNA
- IscsiProfile.php                  — RFC 3722 iSCSI
- NodeprepProfile.php               — RFC 6122 App A XMPP node
- ResourceprepProfile.php           — RFC 6122 App B XMPP resource
- PolicyMibProfile.php              — RFC 4011 Policy MIB
- TraceProfile.php                  — RFC 4505 Anonymous SASL

- PrecisException.php               — exception class
- PrecisCategory.php                — enum: RFC 7564 §8 codepoint classifier
- PrecisTrait.php                   — shared PRECIS algorithm + RFC 5893 bidi
- UsernameCaseMappedProfile.php     — RFC 8265 §3
- UsernameCasePreservedProfile.php  — RFC 8265 §4
- OpaqueStringProfile.php           — RFC 8265 §5 (passwords)
- NicknameProfile.php               — RFC 8266 (chat nicknames)
@ralflang ralflang merged commit a851ef1 into FRAMEWORK_6_0 Apr 12, 2026
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.

feat: Implement the PRECIS profiles

1 participant