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
Remove dns lookup functionality and remove punycode dependency #152
Comments
Yes to both. This will also fix behavior that I forgot to add/request tests for (maybe you already got this from the other conversation): we need to length-check what the domain would be after punycoding, rather than checking what it would be after utf8 encoding. |
Sorry, ended up having some Felicity maintenance take up most of my day today. This is on my radar ASAP. |
@skeggse I'm working on this off and on for the next couple of days. I have a question regarding a specific test case that I hope you can weigh in on.
So, the question is: should |
It seems from RFC 5321 section 2.3.5 that |
I believe the referenced code path is specifically for |
Got it. Thank you |
Maybe push up what you have - as long as there's an error produced when the email address is invalid, we can figure out the correct classification. |
Okay, @skeggse , sorry for the crazy long delay. Finally getting back around to this. I feel like I'm 99% there, but I have a clarification in changed behavior directly related to removing DNS MX lookups that I want to check with you. Per the discussion above, |
tl;dr if we are considering |
Also, I ported over the minimum code from punycode to calculate the punycode length without adding the dependency. My question now is re:
This will mean some Unicode domains with a For example:
[EDIT] According to RFC 5890 Section 2.3.2.1 I think that this should be acceptable and expected behavior. The RFC is specifically referring to domain label length, but I think the intent applies more broadly to the entire domain:
thought that does sound like I need to add logic and tests to look at the punycoded length of the domain labels rather than just character length. Thoughts? |
I went ahead with my assumptions and pushed a new commit on the open PR. Let me know if I chose incorrectly :) |
Yay! #153 is shipping in |
Awesome! :D 👍 |
Following up the discussion from #17
In support of Unicode internationalized email addresses, punycode was added in order to convert the normalized Unicode domain to ASCII-only text for dns lookups checking for valid MX records on the domain. Per the comments above, dns checking should be removed along with the dependency upon the punycode module; some method for calculating punycoded domain lengths should be implemented.
@skeggse is this an accurate summary? Also, is it acceptable to bring punycode in as a devDep for testing that the domain length calculation is accurate?
The text was updated successfully, but these errors were encountered: