$IncludeInternalLinksInOriginSection
$AuthenticatedUsersNotCaseSensitive
$Expires $UpdateStats $MigrateStats $URLNotCaseSensitive $URLWithQuery $URLReferrerWithQuery
- $DecodeUA
+ $DecodeUA $DecodePunycode
/;
(
$DebugMessages,
$URLNotCaseSensitive,
$URLWithQuery,
$URLReferrerWithQuery,
- $DecodeUA
+ $DecodeUA,
+ $DecodePunycode
)
= (
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
);
use vars qw/
$DetailedReportsOnNewWindows
# No regex test as SiteDomain is always exact value
$SiteDomain = $value;
+
+ if ($SiteDomain =~ m/xn--/)
+ {
+ # TODO Add code to test if IDNA::Punycode module is on
+ #use IDNA::Punycode;
+ $DecodePunycode=0; # Set to 1 if module is on
+ if ($DecodePunycode)
+ {
+ idn_prefix(undef);
+ my @parts = split(/\./, $SiteDomain);
+ foreach (@parts) {
+ if ($_ =~ s/^xn--//) {
+ eval { $_ = decode_punycode($_); };
+ if (my $e = $@) { $_ = $e; }
+ }
+ }
+ $SiteDomain = join('.', @parts);
+ }
+ }
+
next;
}
if ( $param =~ /^AddLinkToExternalCGIWrapper/ ) {