The latest version of Thunderbird on OS-X is not recognizing URLs that begin with '%0A%0Ahttp...'. They appear as blank URLs.
Latest Thunderbird on Mac/OS X does not recognize URLs that are prefixed with '%0A%0A' as valid. Thunderbird knows they are URLs, but with a blank URL.
Was the URL decoding logic in this latest version 'improved' such that it sees this an invalid URL?
Tất cả các câu trả lời (3)
The rfc: http://www.ietf.org/rfc/rfc3986.txt tells me that white space is or can be used as a delimiter. %0A represents a line feed and so is white space and therefore is not properly part of the URI. So I'd look first see where the linefeed is coming from.
It seems to me that even if some other program is erroneously including the linefeed as part of a URI then Thunderbird ought to ignore it. Equally, if Thunderbird is including or attaching the linefeed to an URI presented in an email message then that also should have been ignored,
So you may have discovered a real bug in Thunderbird. But it seems curious to me that the linefeed was percent-encoded in the first place. I'd want to work out where that is being done. Your example URI is in my estimation malformed and so is invalid, therefore it could be argued that Thunderbird is correct in declining to process it as an URI.
Thanks for the info. Thunderbird may have just tightened-up their URI parsing logic. And now the %0A%0Ahttp is illegal.
ecborgoyn said
Thanks for the info. Thunderbird may have just tightened-up their URI parsing logic. And now the %0A%0Ahttp is illegal.
Why would a HTTP link start with two line feeds? While the %0A is a URL linefeed and has legitimate uses somewhere in a URL I assume I really see no reason to prefix a link with it unless you were trying to obscure the link actually being used.
I get an error in the error console about a malformed URL when I try and manually insert %0A into a link.
Test for yourself. Open the console. (ctrl+Shift+J) Clear it (Trash icon on the tolbar) Click the link. Look in the console window to check what error it returned, if any,