summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-06-23 13:40:10 -0400
committerJoey Hess <joey@kitenet.net>2010-06-23 13:40:10 -0400
commit19dcd50c8497eca4981f9a90cc3e014789a50f76 (patch)
tree7db66e82f646cdcb527e11018a26b2f389fc8826
parent07a08122d926ab6b7741c94bc6c0038ffe0113fb (diff)
avoid needing full email regexp
Fully validating the email address is not necessary, all that matters is not matching an url like http://foo@bar/ as an email address.
-rw-r--r--IkiWiki/Plugin/link.pm8
1 files changed, 4 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm
index d41965bd3..7d4692ef0 100644
--- a/IkiWiki/Plugin/link.pm
+++ b/IkiWiki/Plugin/link.pm
@@ -7,7 +7,7 @@ use IkiWiki 3.00;
my $link_regexp;
-my $email_regexp = qr/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;
+my $email_regexp = qr/^.+@.+$/;
my $url_regexp = qr/^(?:[^:]+:\/\/|mailto:).*/i;
sub import {
@@ -82,7 +82,7 @@ sub externallink ($;@) {
my $pagetitle = shift;
# build pagetitle
- if (!($pagetitle)) {
+ if (! $pagetitle) {
$pagetitle = $url;
# use only the email address as title for mailto: urls
if ($pagetitle =~ /^mailto:.*/) {
@@ -90,8 +90,8 @@ sub externallink ($;@) {
}
}
- # handle email-addresses (without mailto:):
- if ($url =~ /$email_regexp/) {
+ if ($url !~ /$url_regexp/) {
+ # handle email addresses (without mailto:)
$url = "mailto:" . $url;
}