Adium

Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#7491 closed enhancement (fixed)

ipv6 linkification

Reported by: hanicka Owned by: earthmkii
Milestone: Adium 1.3 Component: Adium Core
Version: Severity: normal
Keywords: ipv6 hyperlink Cc: patches@…
Patch Status: Accepted

Description

In message view, when I send http://127.0.0.1 or http://something.com is created hyperlink properly, but if I send http://[2001:5c0:8fff:fffe::0001] is remaining as only text.

Attachments (1)

7491_patch.diff (3.4 KB) - added by Chris Stewart 12 years ago.

Download all attachments as: .zip

Change History (15)

comment:1 Changed 12 years ago by Jordan

Milestone: Adium X 1.3
Summary: ipv6 link as textipv6 linkification
Type: defectenhancement
Version: 1.1b51.1.1

comment:2 Changed 12 years ago by Peter Hosey

Component: Message ViewAdium Core
Owner: set to nobody

Is it valid to put [] around it? Or should it be a bare IP address, without []?

Also, this is not a WKMV bug. WKMV has no part in the linkification of URLs.

comment:3 Changed 12 years ago by Zachary West

Indeed it is valid. Check out the spec here: ftp://ftp.isi.edu/in-notes/rfc2732.txt

comment:4 Changed 12 years ago by Chris Stewart

Cc: patches@… added
Patch Status: NoneNeeds Dev Review

Changed 12 years ago by Chris Stewart

Attachment: 7491_patch.diff added

comment:5 Changed 12 years ago by Peter Hosey

Patch Status: Needs Dev ReviewNeeds Changes by Author

CompiledMonkey: This doesn't include the [] around the IP address.

comment:6 in reply to:  5 Changed 12 years ago by Stephen Holt

Replying to boredzo:

CompiledMonkey: This doesn't include the [] around the IP address.

Also, That .diff doesn't look like it'll catch all cases to me at first glance, are those the only possible formats an IPv6 address can be in? It doesn't look like it'll catch the octal formatting on some v6 addresses.

4 lines to match 1 address style looks excessive to me. I'm worried about that inflating the binary size of the resulting FSM far more than necessary.

comment:7 Changed 12 years ago by Stephen Holt

I put in some matching rules to get a general idea of how to match IPv6 addresses, and it looks like either webkit or we are escaping he brackets in the URL - presumably for security reasons in Unicode domain names. (I think this is us, I seem to remember evan or someone doing something like this long ago - could be wrong though).

This will probably take a special rule written into the parsing class to bypass the URL escaping - at least wrt the bracketing, though we can probably toss it entirely for any IP based URL.

comment:8 Changed 12 years ago by Stephen Holt

Patch Status: Needs Changes by AuthorNeeds Discussion

Also, this section from IETF RFC #2373 may be relevant:

APPENDIX B: ABNF Description of Text Representations
----------------------------------------------------

   This appendix defines the text representation of IPv6 addresses and
   prefixes in Augmented BNF [ABNF] for reference purposes.

      IPv6address = hexpart [ ":" IPv4address ]
      IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT

      IPv6prefix  = hexpart "/" 1*2DIGIT

      hexpart = hexseq | hexseq "::" [ hexseq ] | "::" [ hexseq ]
      hexseq  = hex4 *( ":" hex4)
      hex4    = 1*4HEXDIG

comment:9 Changed 12 years ago by Evan Schoenberg

Milestone: Adium X 1.3Adium X 1.3.x
Owner: changed from nobody to Stephen Holt

earthmkii, do with this as you will :)

comment:10 in reply to:  9 Changed 12 years ago by Stephen Holt

Status: newassigned

Replying to evands:

earthmkii, do with this as you will :)

I'm on it :)

comment:11 Changed 12 years ago by sholt

Resolution: fixed
Status: assignedclosed

(In [23342]) Added IPv6 URI matching rules. Closes #7491.

  • Currently requires a trailing backslash in the URI, related to #9795.

comment:12 Changed 12 years ago by Robert

Milestone: Adium X 1.3.xAdium X 1.3

comment:13 Changed 11 years ago by Robert

Patch Status: Needs DiscussionNone

comment:14 Changed 11 years ago by Robert

Patch Status: NoneAccepted
Note: See TracTickets for help on using tickets.