* scafolding for MessageID validation
* Improve domain valid tokens
* Improved EmailParser to remove leaked logic. User of lexer recorder within parsers.
* MessageIDParser passing tests.
* change left for right, which is the right one
* psaml errors
* Better naming
* comments are not allowed in IDLeft for message-id
* Suppress psalm inheritance over tokens and dependencies
* Update src/Parser.php
Co-authored-by: Alexander M. Turek <me@derrabus.de>
* Update src/Parser.php
Co-authored-by: Alexander M. Turek <me@derrabus.de>
* improve parser from comments
Co-authored-by: Alexander M. Turek <me@derrabus.de>
* #256 Bypass a PHP warning generated by @dns_get_record
The idea is to create a custom error handler for dns_get_record(), call dns_get_record and then restore the original error handler.
This way we can catch PHP warnings (e.g. "Warning: dns_get_record(): DNS Query failed" or "dns_get_record(): A temporary server error occurred." [ErrorException])
* #256 Make `UnableToGetDNSRecord` reason more testable
* #256 Suppress psalm’s false-positive error
see https://github.com/vimeo/psalm/issues/5134#issuecomment-782937791
* #256 Speed up tests: start from previously failed
* #256 Suppress psalm’s false-positive error
We don’t have a control over AbstractLexer and can’t specify array shape in this parent class
* Reimplement DNSCheckValidation to utilise get_dns_record and extend support for detection of Null MX records (RFC7505) and reserved, mDNS and private namespaces (RFC2606 & RFC6762)
* Change valid email tests to use github.com instead of example.com as example.com now (correctly) fails the tests due to the Null MX case
* Tweak to pass CI psalm issue
* Encapsulate dns check code. Simplify local and reserved domain checks. Switch test domain
* Set PHPDoc return type
* Use strict comparisons