mirror of
https://github.com/getnamingo/registry.git
synced 2025-07-21 18:16:03 +02:00
Fixed couple of IDN related bugs
This commit is contained in:
parent
4799d57f77
commit
c737147aae
4 changed files with 6 additions and 4 deletions
|
@ -1068,6 +1068,7 @@ class DomainsController extends Controller
|
|||
$csrfTokenValue = $this->container->get('csrf')->getTokenValue();
|
||||
|
||||
if (strpos($domain['name'], 'xn--') === 0) {
|
||||
$domain['punycode'] = $domain['name'];
|
||||
$domain['name'] = idn_to_utf8($domain['name'], IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46);
|
||||
}
|
||||
return view($response,'admin/domains/updateDomain.twig', [
|
||||
|
|
|
@ -386,6 +386,7 @@ class HostsController extends Controller
|
|||
[ $host['id'] ]);
|
||||
|
||||
if (strpos($host['name'], 'xn--') === 0) {
|
||||
$host['punycode'] = $host['name'];
|
||||
$host['name'] = idn_to_utf8($host['name'], IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46);
|
||||
}
|
||||
return view($response,'admin/hosts/updateHost.twig', [
|
||||
|
@ -529,8 +530,8 @@ class HostsController extends Controller
|
|||
$hostname = idn_to_ascii($hostname, 0, INTL_IDNA_VARIANT_UTS46);
|
||||
}
|
||||
|
||||
// Regular expression for validating a hostname (simplified version)
|
||||
$pattern = '/^([a-zA-Z0-9-]{1,63}\.){1,}[a-zA-Z]{2,63}$/';
|
||||
// Regular expression for validating a hostname
|
||||
$pattern = '/^((xn--[a-zA-Z0-9-]{1,63}|[a-zA-Z0-9-]{1,63})\.){2,}(xn--[a-zA-Z0-9-]{2,63}|[a-zA-Z]{2,63})$/';
|
||||
|
||||
return preg_match($pattern, $hostname);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">
|
||||
{{ __('Domain') }} {{ domain.name }} <input type="hidden" name="domainName" value="{{ domain.name }}">
|
||||
{{ __('Domain') }} {{ domain.name }} <input type="hidden" name="domainName" value="{{ domain.punycode }}">
|
||||
{% if domainStatus.status or domain.rgpstatus %}
|
||||
{% if domainStatus is iterable %}
|
||||
{% for status in domainStatus %}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form action="/host/update" method="post">
|
||||
{{ csrf.field | raw }}<input type="hidden" name="hostName" value="{{ host.name }}">
|
||||
{{ csrf.field | raw }}<input type="hidden" name="hostName" value="{{ host.punycode }}">
|
||||
<div class="form-group mt-3">
|
||||
<label for="ipv4" class="form-label">{{ __('IPv4 Address') }}:</label>
|
||||
<input type="text" class="form-control" id="ipv4" name="ipv4" placeholder="192.168.1.1" pattern="^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$" value="{{ hostIPv4[0].addr }}">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue