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