Beispiel #1
0
 def test_GenericIPAddressField(self):
     lazy_func = lazy(lambda: '127.0.0.1', six.text_type)
     self.assertIsInstance(
         GenericIPAddressField().get_prep_value(lazy_func()), six.text_type)
     lazy_func = lazy(lambda: 0, int)
     self.assertIsInstance(
         GenericIPAddressField().get_prep_value(lazy_func()), six.text_type)
Beispiel #2
0
class NetworkDevice(Model):
    """Network Device"""

    display_name = CharField(max_length=100, verbose_name='Display Name')
    dns_name = CharField(max_length=75, verbose_name='DNS Name', null=True, blank=True)
    ip_address = GenericIPAddressField(protocol='IPv4', verbose_name='IP Address',
                                       null=True, blank=True)
    mac_address = MACAddressField(verbose_name='MAC Address', null=True, blank=True)
    upstream_device = ForeignKey('NetworkDevice', related_name='downstream_devices',
                                 null=True, blank=True, on_delete=CASCADE)
    room = ForeignKey(Room, verbose_name='Room', null=True, blank=True, on_delete=CASCADE)
    airwaves_id = IntegerField(null=True, blank=True)
    airwaves_is_up = NullBooleanField()

    def __str__(self):
        return self.display_name

    @cached_property
    def building(self):
        try:
            return self.room.building
        except AttributeError:
            return None

    @cached_property
    def community(self):
        try:
            return self.room.building.community
        except AttributeError:
            return None
Beispiel #3
0
class Proxy(Model):
    id = BigAutoField(verbose_name='ID', primary_key=True)
    ip = GenericIPAddressField(verbose_name='IPv4')
    port = IntegerField(verbose_name='端口')
    anonymity = CharField(
        verbose_name='匿名度',
        max_length=1,
        choices=(('h', '高匿'), ('l', '透明')),
        null=False,
        blank=True,
        default='h'
    )
    proxy_type = CharField(
        verbose_name='类型',
        max_length=8,
        null=False,
        blank=True,
        default='http'
    )
    location = CharField(
        verbose_name='位置',
        max_length=32,
        null=True,
        blank=True,
        default=None
    )
    deleted = BooleanField(
        null=False,
        blank=True,
        default=False,
        verbose_name='已经删除'
    )
Beispiel #4
0
class ClearPassLoginAttempt(Model):
    ACCEPT_RESULT = 0
    REJECT_RESULT = 1
    TIMEOUT_RESULT = 2

    RESULT_CHOICES = (
        (ACCEPT_RESULT, 'ACCEPT'),
        (REJECT_RESULT, 'REJECT'),
        (TIMEOUT_RESULT, 'TIMEOUT'),
    )

    username = CharField(max_length=50, blank=True, null=True, db_index=True)
    time = DateTimeField()
    service = CharField(max_length=100)
    roles = ArrayField(CharField(max_length=50))
    client_mac_address = MACAddressField(db_index=True)
    enforcement_profiles = ArrayField(CharField(max_length=100))
    result = PositiveSmallIntegerField(choices=RESULT_CHOICES)
    clearpass_ip = GenericIPAddressField()
    alerts = TextField(null=True, blank=True)

    def __str__(self):
        return ('Username: '******', Service: '
                + str(self.service) + ', Roles: ' + str(self.roles) + '\n')

    @cached_property
    def client_mac_address_formatted(self):
        from .utils import mac_address_with_colons  # noqa
        return mac_address_with_colons(self.client_mac_address)

    class Meta:
        verbose_name = 'ClearPass Login Attempt'
Beispiel #5
0
class GitServer(models.Model):

    name = models.CharField(_('Name'), max_length=255)
    ip = GenericIPAddressField(_('IP'))
    git_name = models.CharField(_('Git Name'), max_length=255)

    class Meta:
        verbose_name = _("Git Server")
        verbose_name_plural = _("Git Servers")

    def __str__(self):
        return self.name
Beispiel #6
0
class DomainName(Model):
    """Domain Names."""

    ip_address = GenericIPAddressField(protocol='IPv4', verbose_name='IP Address')
    domain_name = CharField(max_length=100, verbose_name='Domain Name')
    sr_number = IntegerField(null=True, verbose_name='SR Number', db_column='ticket_id')

    def __str__(self):
        return 'DNS Record: ' + str(self.ip_address)

    @property
    def domain_name_request(self):
        if self.sr_number:
            # TODO: Update to use updated srsconnector
            # return DomainNameRequest.objects.get(ticket_id=self.sr_number)
            return None
        return None

    class Meta:
        verbose_name = 'Domain Name'
Beispiel #7
0
class Pinhole(Model):
    """Firewall Pinholes."""

    ip_address = GenericIPAddressField(protocol='IPv4', verbose_name='IP Address')
    service_name = CharField(max_length=50, verbose_name='Service Name')
    inner_fw = BooleanField(default=None, verbose_name='Inner Firewall')
    border_fw = BooleanField(default=None, verbose_name='Border Firewall')
    tcp_ports = ListField(verbose_name='TCP Ports')
    udp_ports = ListField(verbose_name='UDP Ports')
    sr_number = IntegerField(null=True, verbose_name='SR Number', db_column='ticket_id')

    def __str__(self):
        return 'Pinhole: ' + str(self.ip_address)

    @property
    def pinhole_request(self):
        if self.sr_number:
            # TODO: Update to use updated srsconnector
            # return PinholeRequest.objects.get(ticket_id=self.sr_number)
            return None
        return None
Beispiel #8
0
class Usuario(models.Model):
    nombre = CharField(max_length=255, null=True, blank=True)
    mac = CharField(max_length=17,
                    unique=True,
                    validators=[
                        validate_MAC,
                    ],
                    null=True,
                    blank=True)
    fecha_registro = DateTimeField(null=True, blank=True)
    responsable = models.ForeignKey(Responsable, null=True, blank=True)
    telefono = CharField(max_length=255, null=True, blank=True)
    zona = models.ForeignKey(Zona, null=True, blank=True)
    tipo = models.ForeignKey(TipoDeEquipo, null=True, blank=True)
    ip = GenericIPAddressField(unique=True)
    ip_int = BigIntegerField(default=0)

    def __str__(self):
        if self.nombre:
            return self.nombre + '(' + self.ip + ')'
        else:
            return self.ip
Beispiel #9
0
 def test_GenericIPAddressField(self):
     self.assertIsInstance(
         GenericIPAddressField().get_prep_value('127.0.0.1'), six.text_type)
     self.assertIsInstance(GenericIPAddressField().get_prep_value(0),
                           six.text_type)
Beispiel #10
0
class Message(models.Model):
    msg = TextField(max_length=250)
    ip_addr = GenericIPAddressField(blank=True, null=True)
    timestamp = DateTimeField(auto_now_add=True, blank=True, null=True)