70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
from django.db import models
|
|
|
|
|
|
class TLD(models.Model):
|
|
"""
|
|
Model for the TLDs validation
|
|
"""
|
|
DNSSECALGOS = (
|
|
(0, "Delete DS"),
|
|
(1, "RSA/MD5"),
|
|
(2, "Diffie-Hellman"),
|
|
(3, "DSA/SHA1"),
|
|
(5, "RSA/SHA-1"),
|
|
(6, "DSA-NSEC3-SHA1"),
|
|
(7, "RSASHA1-NSEC3-SHA1"),
|
|
(8, "RSA/SHA-256"),
|
|
(10, "RSA/SHA-512"),
|
|
(12, "GOST R 34.10-2001"),
|
|
(13, "ECDSA Curve P-256 with SHA-256"),
|
|
(14, "ECDSA Curve P-384 with SHA-384"),
|
|
(15, "Ed25519"),
|
|
(16, "Ed448"),
|
|
(17, "SM2 signing algorithm with SM3 hashing algorithm"),
|
|
(23, "GOST R 34.10-2012"),
|
|
(252, "Reserved for Indirect Keys"),
|
|
(253, "private algorithm"),
|
|
(254, "private algorithm OID"),
|
|
(300, "Unknown"),
|
|
(400, "None"),
|
|
)
|
|
tld = models.CharField(max_length=100, primary_key=True)
|
|
unicodetld = models.CharField(max_length=100)
|
|
nsamount = models.IntegerField(default=0)
|
|
v4nsamount = models.IntegerField(default=0)
|
|
v6nsamount = models.IntegerField(default=0)
|
|
dnssec = models.IntegerField(default=300, choices=DNSSECALGOS)
|
|
amountofkeys = models.IntegerField(default=0)
|
|
lastEdition = models.DateTimeField(auto_now=True)
|
|
organisation = models.CharField(max_length=100)
|
|
rdap = models.CharField(max_length=10, default="No")
|
|
link = models.CharField(max_length=800, default="https://tldtest.net/")
|
|
atlasv4 = models.IntegerField(blank=True, null=True)
|
|
atlasv6 = models.IntegerField(blank=True, null=True)
|
|
|
|
def __str__(self):
|
|
return self.tld
|
|
|
|
class Meta:
|
|
indexes = [
|
|
models.Index(fields=["tld"]),
|
|
models.Index(fields=["dnssec"]),
|
|
models.Index(fields=["nsamount"]),
|
|
]
|
|
|
|
|
|
class RootZone(models.Model):
|
|
name = models.CharField(max_length=50)
|
|
rectype = models.CharField(max_length=10)
|
|
value = models.CharField(max_length=4096)
|
|
lastEdition = models.DateTimeField(auto_now=True)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class Meta:
|
|
indexes = [
|
|
models.Index(fields=["name"]),
|
|
models.Index(fields=["rectype"]),
|
|
]
|