@@ -309,6 +309,7 @@ const DNSManager = () => {
|
||||
'CNAME': 'bg-green-500 text-white',
|
||||
'MX': 'bg-orange-500 text-white',
|
||||
'TXT': 'bg-gray-500 text-white',
|
||||
'SPF': 'bg-cyan-500 text-white',
|
||||
'SRV': 'bg-pink-500 text-white',
|
||||
'NS': 'bg-yellow-500 text-white'
|
||||
};
|
||||
@@ -420,6 +421,7 @@ const DNSManager = () => {
|
||||
<option value="CNAME">CNAME</option>
|
||||
<option value="MX">MX</option>
|
||||
<option value="TXT">TXT</option>
|
||||
<option value="SPF">SPF</option>
|
||||
<option value="SRV">SRV</option>
|
||||
<option value="NS">NS</option>
|
||||
</select>
|
||||
@@ -470,6 +472,7 @@ const DNSManager = () => {
|
||||
<option value="CNAME">CNAME</option>
|
||||
<option value="MX">MX</option>
|
||||
<option value="TXT">TXT</option>
|
||||
<option value="SPF">SPF</option>
|
||||
<option value="SRV">SRV</option>
|
||||
<option value="NS">NS</option>
|
||||
</select>
|
||||
@@ -627,6 +630,7 @@ const DNSManager = () => {
|
||||
<option value="CNAME">CNAME</option>
|
||||
<option value="MX">MX</option>
|
||||
<option value="TXT">TXT</option>
|
||||
<option value="SPF">SPF</option>
|
||||
<option value="SRV">SRV</option>
|
||||
<option value="NS">NS</option>
|
||||
</select>
|
||||
|
||||
@@ -191,7 +191,7 @@ export class OVHService {
|
||||
|
||||
// Sort records by type for better readability
|
||||
const sortedRecords = [...records].sort((a, b) => {
|
||||
const typeOrder = { SOA: 0, NS: 1, A: 2, AAAA: 3, CNAME: 4, MX: 5, TXT: 6, SRV: 7 };
|
||||
const typeOrder = { SOA: 0, NS: 1, A: 2, AAAA: 3, CNAME: 4, MX: 5, TXT: 6, SPF: 7, SRV: 8 };
|
||||
return (typeOrder[a.fieldType] || 99) - (typeOrder[b.fieldType] || 99);
|
||||
});
|
||||
|
||||
@@ -219,6 +219,12 @@ export class OVHService {
|
||||
: record.target;
|
||||
line = `${subdomain}\t${ttl}\tIN\tTXT\t${txtValue}`;
|
||||
break;
|
||||
case 'SPF':
|
||||
const spfValue = record.target.includes(' ') && !record.target.startsWith('"')
|
||||
? `"${record.target}"`
|
||||
: record.target;
|
||||
line = `${subdomain}\t${ttl}\tIN\tSPF\t${spfValue}`;
|
||||
break;
|
||||
case 'SRV':
|
||||
const priority_srv = record.priority || 0;
|
||||
const weight = record.weight || 0;
|
||||
@@ -333,6 +339,11 @@ export class OVHService {
|
||||
const txtValue = parts.slice(idx).join(' ');
|
||||
recordData.target = txtValue.replace(/^"|"$/g, '');
|
||||
break;
|
||||
case 'SPF':
|
||||
// Join remaining parts and remove quotes
|
||||
const spfValue = parts.slice(idx).join(' ');
|
||||
recordData.target = spfValue.replace(/^"|"$/g, '');
|
||||
break;
|
||||
case 'SRV':
|
||||
recordData.priority = parseInt(parts[idx++]);
|
||||
recordData.weight = parseInt(parts[idx++]);
|
||||
|
||||
Referencia en una nueva incidencia
Block a user