Skip to content

Unable to parse long SPF record strings (again) #6

Description

@coreequip

Hi Adam,

thanks for this great lib! ありがとうございます!

I encountered a similar issue in #2, but this case is longer different. Section 3.4 of RFC 7208 states that an SPF record SHOULD not exceed 512 bytes, but this is only a recommendation, not a strict requirement.
Modern DNS infrastructure supports larger responses via EDNS0, so longer SPF records are generally supported, although shorter records are still recommended for compatibility.

Unfortunately, this is observed in the wild, thanks to Apple:

dig +short TXT me.com
"v=spf1 ip4:17.41.0.0/16 ip4:17.58.0.0/16 ip4:17.142.0.0/15 ip4:17.57.155.0/24 ip4:17.57.156.0/24 ip4:144.178.36.0/24 ip4:144.178.38.0/24 ip4:112.19.199.64/29 ip4:112.19.242.64/29 ip4:222.73.195.64/29 ip4:157.255.1.64/29" " ip4:106.39.212.64/29 ip4:123.126.78.64/29 ip4:183.240.219.64/29 ip4:39.156.163.64/29 ip4:57.103.64.0/18" " ip6:2a01:b747:3000:200::/56 ip6:2a01:b747:3001:200::/56 ip6:2a01:b747:3002:200::/56 ip6:2a01:b747:3003:200::/56 ip6:2a01:b747:3004:200::/56 ip6:2a01:b747:3005:200::/56 ip6:2a01:b747:3006:200::/56 ~all"

Please remove the 512-character limit. Otherwise, this library is no longer usable for real-world SPF records.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions