-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✅ Add RFC3454 data, to support offline testing #137
Conversation
We generate `rfcs/rfc3454-stringprep_tables.json` from RFC3454, and generate the regexps in both `lib/net/imap/stringprep/tables.rb` and `lib/net/imap/stringprep/saslprep_tables.rb` using those tables extracted from RFC3454. The JSON data is also used to validate that the regexps are still valid, as we use Unicode character classes which can be updated every year, and thus with every new version of ruby. However, this means that the test suite cannot be run offline (unless you have previously downloaded RFC3454). Adding the text version of RFC3454 solves this issue. Fixes #136.
@hsbt FYI: Because this is only needed to allow self-contained offline testing and isn't ever used at run-time, I'm excluding the |
Hello!
LGTM! Thanks for the timely fix! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's okay to me technically. But I'm not sure what's a license of distribution RFC text.
@nevans Can you do clearly this?
@hsbt: I was wondering that as well. The copyright statement on RFC3454 seems to allow it: "provided that the above copyright notice and this paragraph are included on all such copies and derivative works". Since the entire RFC txt file has been included, unmodified, the copyright notice is included as well: Lines 5047 to 5073 in 51e08fb
(Alternatively, we could add the |
**Full Changelog**: v0.3.4...v0.3.5 * 📚 Fix #response documentation error, by @nevans in 87ba74e * ✅ Add RFC3454 data, to support offline testing, by @nevans in #137 * Adds Ruby 3.2 to the CI matrix, by @petergoldstein in #99 * Use reusing workflow, by @hsbt in #151 * Decode UTF-7 more strictly, by @nobu in #152 * ⬇️ Continue testing 0.3.x branch against ruby 2.6, by @nevans in 115d190 * ✅ Fix decode utf-7 test for ruby 2.6, by @nevans in 7a60c8f * 🐛 Fix XOAUTH2 authenticator for ruby 2.6, by @nevans in bd4faa0
We generate
rfcs/rfc3454-stringprep_tables.json
from RFC3454, and generate the regexps in bothlib/net/imap/stringprep/tables.rb
andlib/net/imap/stringprep/saslprep_tables.rb
using those tables extracted from RFC3454. The JSON data is also used to validate that the regexps are still valid, as we use Unicode character classes which can be updated every year, and thus with every new version of ruby.However, this means that the test suite cannot be run offline (unless you have previously downloaded RFC3454). Adding the text version of RFC3454 solves this issue.
Fixes #136.