8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-30 08:32:26 +00:00

add an 'active' field to ipv6 to signal the DNS to ignore them.

This commit is contained in:
Jean-Marie Mineau 2020-08-04 22:45:57 +02:00 committed by Gabriel Detraz
parent 7e2e900a01
commit dda0775a22
6 changed files with 105 additions and 68 deletions

View file

@ -206,7 +206,7 @@ class Ipv6ListSerializer(NamespacedHMSerializer):
class Meta: class Meta:
model = machines.Ipv6List model = machines.Ipv6List
fields = ("ipv6", "interface", "slaac_ip", "api_url") fields = ("ipv6", "interface", "slaac_ip", "active", "api_url")
class DomainSerializer(NamespacedHMSerializer): class DomainSerializer(NamespacedHMSerializer):

View file

@ -308,7 +308,7 @@ class Ipv6ListForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
class Meta: class Meta:
model = Ipv6List model = Ipv6List
fields = ["ipv6", "slaac_ip"] fields = ["ipv6", "slaac_ip", "active"]
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
prefix = kwargs.pop("prefix", self.Meta.model.__name__) prefix = kwargs.pop("prefix", self.Meta.model.__name__)

View file

@ -21,7 +21,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2.5\n" "Project-Id-Version: 2.5\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-09 23:44+0200\n" "POT-Creation-Date: 2020-08-04 22:31+0200\n"
"PO-Revision-Date: 2018-06-23 16:35+0200\n" "PO-Revision-Date: 2018-06-23 16:35+0200\n"
"Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n" "Last-Translator: Laouen Fernet <laouen.fernet@supelec.fr>\n"
"Language-Team: \n" "Language-Team: \n"
@ -202,7 +202,7 @@ msgid "You don't have the right to delete a machine of another user."
msgstr "" msgstr ""
"Vous n'avez pas le droit de supprimer une machine d'une autre utilisateur." "Vous n'avez pas le droit de supprimer une machine d'une autre utilisateur."
#: machines/models.py:245 machines/models.py:2067 #: machines/models.py:245 machines/models.py:2072
msgid "You don't have the right to view other machines than yours." msgid "You don't have the right to view other machines than yours."
msgstr "Vous n'avez pas le droit de voir d'autres machines que les vôtres." msgstr "Vous n'avez pas le droit de voir d'autres machines que les vôtres."
@ -423,7 +423,7 @@ msgid "An extension must begin with a dot."
msgstr "Une extension doit commencer par un point." msgstr "Une extension doit commencer par un point."
#: machines/models.py:981 machines/models.py:1013 machines/models.py:1045 #: machines/models.py:981 machines/models.py:1013 machines/models.py:1045
#: machines/models.py:1075 machines/models.py:1864 #: machines/models.py:1075 machines/models.py:1869
msgid "Time To Live (TTL)" msgid "Time To Live (TTL)"
msgstr "Temps de vie (TTL)" msgstr "Temps de vie (TTL)"
@ -597,58 +597,62 @@ msgid "You don't have the right to view interfaces other than yours."
msgstr "Vous n'avez pas le droit de voir d'autres interfaces que les vôtres." msgstr "Vous n'avez pas le droit de voir d'autres interfaces que les vôtres."
#: machines/models.py:1658 #: machines/models.py:1658
msgid "If false,the DNS will not provide this ip."
msgstr "Si faux, le DNS n'annoncera pas cette ip."
#: machines/models.py:1663
msgid "Can view an IPv6 addresses list object" msgid "Can view an IPv6 addresses list object"
msgstr "Peut voir un objet list d'adresses IPv6" msgstr "Peut voir un objet list d'adresses IPv6"
#: machines/models.py:1661 #: machines/models.py:1666
msgid "Can change the SLAAC value of an IPv6 addresses list" msgid "Can change the SLAAC value of an IPv6 addresses list"
msgstr "Peut modifier la valeur SLAAC d'une liste d'adresses IPv6" msgstr "Peut modifier la valeur SLAAC d'une liste d'adresses IPv6"
#: machines/models.py:1664 machines/views.py:421 #: machines/models.py:1669 machines/views.py:421
msgid "IPv6 addresses list" msgid "IPv6 addresses list"
msgstr "Liste d'adresses IPv6" msgstr "Liste d'adresses IPv6"
#: machines/models.py:1665 #: machines/models.py:1670
msgid "IPv6 addresses lists" msgid "IPv6 addresses lists"
msgstr "Listes d'adresses IPv6" msgstr "Listes d'adresses IPv6"
#: machines/models.py:1683 machines/models.py:1967 #: machines/models.py:1688 machines/models.py:1972
msgid "Nonexistent interface." msgid "Nonexistent interface."
msgstr "Interface inexistante." msgstr "Interface inexistante."
#: machines/models.py:1689 #: machines/models.py:1694
msgid "You don't have the right to add ipv6 to a machine of another user." msgid "You don't have the right to add ipv6 to a machine of another user."
msgstr "" msgstr ""
"Vous n'avez pas le droit d'ajouter des ipv6 à une machine d'un autre " "Vous n'avez pas le droit d'ajouter des ipv6 à une machine d'un autre "
"utilisateur." "utilisateur."
#: machines/models.py:1702 #: machines/models.py:1707
msgid "You don't have the right to change the SLAAC value of an IPv6 address." msgid "You don't have the right to change the SLAAC value of an IPv6 address."
msgstr "" msgstr ""
"Vous n'avez pas le droit de changer la valeur SLAAC d'une adresse IPv6." "Vous n'avez pas le droit de changer la valeur SLAAC d'une adresse IPv6."
#: machines/models.py:1727 #: machines/models.py:1732
msgid "You don't have the right to edit ipv6 of a machine of another user." msgid "You don't have the right to edit ipv6 of a machine of another user."
msgstr "" msgstr ""
"Vous n'avez pas le droit de modifier les ipv6 d'une machine d'un autre " "Vous n'avez pas le droit de modifier les ipv6 d'une machine d'un autre "
"utilisateur." "utilisateur."
#: machines/models.py:1752 #: machines/models.py:1757
msgid "You don't have the right to delete ipv6 of a machine of another user." msgid "You don't have the right to delete ipv6 of a machine of another user."
msgstr "" msgstr ""
"Vous n'avez pas le droit de supprimer les ipv6 d'une machine d'une autre " "Vous n'avez pas le droit de supprimer les ipv6 d'une machine d'une autre "
"utilisateur." "utilisateur."
#: machines/models.py:1776 #: machines/models.py:1781
msgid "You don't have the right to view ipv6 of machines other than yours." msgid "You don't have the right to view ipv6 of machines other than yours."
msgstr "" msgstr ""
"Vous n'avez pas le droit de voir les ipv6 d'autres machines que les vôtres." "Vous n'avez pas le droit de voir les ipv6 d'autres machines que les vôtres."
#: machines/models.py:1809 #: machines/models.py:1814
msgid "A SLAAC IP address is already registered." msgid "A SLAAC IP address is already registered."
msgstr "Une adresse IP SLAAC est déjà enregistrée." msgstr "Une adresse IP SLAAC est déjà enregistrée."
#: machines/models.py:1823 #: machines/models.py:1828
msgid "" msgid ""
"The v6 prefix is incorrect and doesn't match the type associated with the " "The v6 prefix is incorrect and doesn't match the type associated with the "
"machine." "machine."
@ -656,55 +660,55 @@ msgstr ""
"Le préfixe v6 est incorrect et ne correspond pas au type associé à la " "Le préfixe v6 est incorrect et ne correspond pas au type associé à la "
"machine." "machine."
#: machines/models.py:1857 #: machines/models.py:1862
msgid "Mandatory and unique, must not contain dots." msgid "Mandatory and unique, must not contain dots."
msgstr "Obligatoire et unique, ne doit pas contenir de points." msgstr "Obligatoire et unique, ne doit pas contenir de points."
#: machines/models.py:1872 #: machines/models.py:1877
msgid "Can view a domain object" msgid "Can view a domain object"
msgstr "Peut voir un objet domaine" msgstr "Peut voir un objet domaine"
#: machines/models.py:1873 #: machines/models.py:1878
msgid "Can change the TTL of a domain object" msgid "Can change the TTL of a domain object"
msgstr "Peut changer le TTL d'un objet domaine" msgstr "Peut changer le TTL d'un objet domaine"
#: machines/models.py:1875 #: machines/models.py:1880
msgid "domain" msgid "domain"
msgstr "domaine" msgstr "domaine"
#: machines/models.py:1876 #: machines/models.py:1881
msgid "domains" msgid "domains"
msgstr "domaines" msgstr "domaines"
#: machines/models.py:1903 #: machines/models.py:1908
msgid "You can't create a both A and CNAME record." msgid "You can't create a both A and CNAME record."
msgstr "Vous ne pouvez pas créer un enregistrement à la fois A et CNAME." msgstr "Vous ne pouvez pas créer un enregistrement à la fois A et CNAME."
#: machines/models.py:1906 #: machines/models.py:1911
msgid "You can't create a CNAME record pointing to itself." msgid "You can't create a CNAME record pointing to itself."
msgstr "Vous ne pouvez pas créer un enregistrement CNAME vers lui-même." msgstr "Vous ne pouvez pas créer un enregistrement CNAME vers lui-même."
#: machines/models.py:1912 #: machines/models.py:1917
#, python-format #, python-format
msgid "The domain name %s is too long (over 63 characters)." msgid "The domain name %s is too long (over 63 characters)."
msgstr "Le nom de domaine %s est trop long (plus de 63 caractères)." msgstr "Le nom de domaine %s est trop long (plus de 63 caractères)."
#: machines/models.py:1916 #: machines/models.py:1921
#, python-format #, python-format
msgid "The domain name %s contains forbidden characters." msgid "The domain name %s contains forbidden characters."
msgstr "Le nom de domaine %s contient des caractères interdits." msgstr "Le nom de domaine %s contient des caractères interdits."
#: machines/models.py:1934 #: machines/models.py:1939
msgid "Invalid extension." msgid "Invalid extension."
msgstr "Extension invalide." msgstr "Extension invalide."
#: machines/models.py:1976 #: machines/models.py:1981
msgid "You don't have the right to add an alias to a machine of another user." msgid "You don't have the right to add an alias to a machine of another user."
msgstr "" msgstr ""
"Vous n'avez pas le droit d'ajouter un alias à une machine d'un autre " "Vous n'avez pas le droit d'ajouter un alias à une machine d'un autre "
"utilisateur." "utilisateur."
#: machines/models.py:1992 #: machines/models.py:1997
#, python-format #, python-format
msgid "" msgid ""
"You reached the maximum number of alias that you are allowed to create " "You reached the maximum number of alias that you are allowed to create "
@ -713,164 +717,164 @@ msgstr ""
"Vous avez atteint le nombre maximal d'alias que vous pouvez créer vous-même " "Vous avez atteint le nombre maximal d'alias que vous pouvez créer vous-même "
"(%s)." "(%s)."
#: machines/models.py:2018 #: machines/models.py:2023
msgid "You don't have the right to edit an alias of a machine of another user." msgid "You don't have the right to edit an alias of a machine of another user."
msgstr "" msgstr ""
"Vous n'avez pas le droit de modifier un alias d'une machine d'un autre " "Vous n'avez pas le droit de modifier un alias d'une machine d'un autre "
"utilisateur." "utilisateur."
#: machines/models.py:2043 #: machines/models.py:2048
msgid "" msgid ""
"You don't have the right to delete an alias of a machine of another user." "You don't have the right to delete an alias of a machine of another user."
msgstr "" msgstr ""
"Vous n'avez pas le droit de supprimer un alias d'une machine d'un autre " "Vous n'avez pas le droit de supprimer un alias d'une machine d'un autre "
"utilisateur." "utilisateur."
#: machines/models.py:2078 #: machines/models.py:2083
msgid "You don't have the right to change the domain's TTL." msgid "You don't have the right to change the domain's TTL."
msgstr "Vous n'avez pas le droit de changer le TTL du domaine." msgstr "Vous n'avez pas le droit de changer le TTL du domaine."
#: machines/models.py:2100 #: machines/models.py:2105
msgid "Can view an IPv4 addresses list object" msgid "Can view an IPv4 addresses list object"
msgstr "Peut voir un object liste d'adresses IPv4" msgstr "Peut voir un object liste d'adresses IPv4"
#: machines/models.py:2101 #: machines/models.py:2106
msgid "IPv4 addresses list" msgid "IPv4 addresses list"
msgstr "Liste d'adresses IPv4" msgstr "Liste d'adresses IPv4"
#: machines/models.py:2102 #: machines/models.py:2107
msgid "IPv4 addresses lists" msgid "IPv4 addresses lists"
msgstr "Listes d'adresses IPv4" msgstr "Listes d'adresses IPv4"
#: machines/models.py:2119 #: machines/models.py:2124
msgid "The IPv4 address and the range of the IP type don't match." msgid "The IPv4 address and the range of the IP type don't match."
msgstr "L'adresse IPv4 et la plage du type d'IP ne correspondent pas." msgstr "L'adresse IPv4 et la plage du type d'IP ne correspondent pas."
#: machines/models.py:2143 #: machines/models.py:2148
msgid "DHCP server" msgid "DHCP server"
msgstr "Serveur DHCP" msgstr "Serveur DHCP"
#: machines/models.py:2144 #: machines/models.py:2149
msgid "Switches configuration server" msgid "Switches configuration server"
msgstr "Serveur de configuration des commutateurs réseau" msgstr "Serveur de configuration des commutateurs réseau"
#: machines/models.py:2145 #: machines/models.py:2150
msgid "Recursive DNS server" msgid "Recursive DNS server"
msgstr "Serveur DNS récursif" msgstr "Serveur DNS récursif"
#: machines/models.py:2146 #: machines/models.py:2151
msgid "NTP server" msgid "NTP server"
msgstr "Serveur NTP" msgstr "Serveur NTP"
#: machines/models.py:2147 #: machines/models.py:2152
msgid "RADIUS server" msgid "RADIUS server"
msgstr "Serveur RADIUS" msgstr "Serveur RADIUS"
#: machines/models.py:2148 #: machines/models.py:2153
msgid "Log server" msgid "Log server"
msgstr "Serveur log" msgstr "Serveur log"
#: machines/models.py:2149 #: machines/models.py:2154
msgid "LDAP master server" msgid "LDAP master server"
msgstr "Serveur LDAP maître" msgstr "Serveur LDAP maître"
#: machines/models.py:2150 #: machines/models.py:2155
msgid "LDAP backup server" msgid "LDAP backup server"
msgstr "Serveur LDAP de secours" msgstr "Serveur LDAP de secours"
#: machines/models.py:2151 #: machines/models.py:2156
msgid "SMTP server" msgid "SMTP server"
msgstr "Serveur SMTP" msgstr "Serveur SMTP"
#: machines/models.py:2152 #: machines/models.py:2157
msgid "postgreSQL server" msgid "postgreSQL server"
msgstr "Serveur postgreSQL" msgstr "Serveur postgreSQL"
#: machines/models.py:2153 #: machines/models.py:2158
msgid "mySQL server" msgid "mySQL server"
msgstr "Serveur mySQL" msgstr "Serveur mySQL"
#: machines/models.py:2154 #: machines/models.py:2159
msgid "SQL client" msgid "SQL client"
msgstr "Client SQL" msgstr "Client SQL"
#: machines/models.py:2155 #: machines/models.py:2160
msgid "Gateway" msgid "Gateway"
msgstr "Passerelle" msgstr "Passerelle"
#: machines/models.py:2163 #: machines/models.py:2168
msgid "Can view a role object" msgid "Can view a role object"
msgstr "Peut voir un objet rôle" msgstr "Peut voir un objet rôle"
#: machines/models.py:2164 #: machines/models.py:2169
msgid "server role" msgid "server role"
msgstr "rôle de serveur" msgstr "rôle de serveur"
#: machines/models.py:2165 #: machines/models.py:2170
msgid "server roles" msgid "server roles"
msgstr "rôles de serveur" msgstr "rôles de serveur"
#: machines/models.py:2204 #: machines/models.py:2209
msgid "Minimal time before regeneration of the service." msgid "Minimal time before regeneration of the service."
msgstr "Temps minimal avant régénération du service." msgstr "Temps minimal avant régénération du service."
#: machines/models.py:2208 #: machines/models.py:2213
msgid "Maximal time before regeneration of the service." msgid "Maximal time before regeneration of the service."
msgstr "Temps maximal avant régénération du service." msgstr "Temps maximal avant régénération du service."
#: machines/models.py:2213 #: machines/models.py:2218
msgid "Can view a service object" msgid "Can view a service object"
msgstr "Peut voir un objet service" msgstr "Peut voir un objet service"
#: machines/models.py:2214 #: machines/models.py:2219
msgid "service to generate (DHCP, DNS, ...)" msgid "service to generate (DHCP, DNS, ...)"
msgstr "service à générer (DHCP, DNS, ...)" msgstr "service à générer (DHCP, DNS, ...)"
#: machines/models.py:2215 #: machines/models.py:2220
msgid "services to generate (DHCP, DNS, ...)" msgid "services to generate (DHCP, DNS, ...)"
msgstr "services à générer (DHCP, DNS, ...)" msgstr "services à générer (DHCP, DNS, ...)"
#: machines/models.py:2272 #: machines/models.py:2277
msgid "Can view a service server link object" msgid "Can view a service server link object"
msgstr "Peut voir un objet lien service serveur" msgstr "Peut voir un objet lien service serveur"
#: machines/models.py:2274 #: machines/models.py:2279
msgid "link between service and server" msgid "link between service and server"
msgstr "lien entre service et serveur" msgstr "lien entre service et serveur"
#: machines/models.py:2275 #: machines/models.py:2280
msgid "links between service and server" msgid "links between service and server"
msgstr "liens entre service et serveur" msgstr "liens entre service et serveur"
#: machines/models.py:2322 #: machines/models.py:2327
msgid "Name of the ports configuration" msgid "Name of the ports configuration"
msgstr "Nom de la configuration de ports" msgstr "Nom de la configuration de ports"
#: machines/models.py:2327 #: machines/models.py:2332
msgid "Can view a ports opening list object" msgid "Can view a ports opening list object"
msgstr "Peut voir un objet liste d'ouverture de ports" msgstr "Peut voir un objet liste d'ouverture de ports"
#: machines/models.py:2329 #: machines/models.py:2334
msgid "ports opening list" msgid "ports opening list"
msgstr "liste d'ouverture de ports" msgstr "liste d'ouverture de ports"
#: machines/models.py:2330 #: machines/models.py:2335
msgid "ports opening lists" msgid "ports opening lists"
msgstr "listes d'ouverture de ports" msgstr "listes d'ouverture de ports"
#: machines/models.py:2345 #: machines/models.py:2350
msgid "You don't have the right to delete a ports opening list." msgid "You don't have the right to delete a ports opening list."
msgstr "Vous n'avez pas le droit de supprimer une liste d'ouverture de ports." msgstr "Vous n'avez pas le droit de supprimer une liste d'ouverture de ports."
#: machines/models.py:2349 #: machines/models.py:2354
msgid "This ports opening list is used." msgid "This ports opening list is used."
msgstr "Cette liste d'ouverture de ports est utilisée." msgstr "Cette liste d'ouverture de ports est utilisée."
#: machines/models.py:2413 #: machines/models.py:2418
msgid "ports opening" msgid "ports opening"
msgstr "ouverture de ports" msgstr "ouverture de ports"
#: machines/models.py:2414 #: machines/models.py:2419
msgid "ports openings" msgid "ports openings"
msgstr "ouvertures de ports" msgstr "ouvertures de ports"
@ -942,6 +946,12 @@ msgstr "Adresses IPv6"
msgid "SLAAC" msgid "SLAAC"
msgstr "SLAAC" msgstr "SLAAC"
#: machines/templates/machines/aff_ipv6.html:34
#, fuzzy
#| msgid "Actions"
msgid "Active"
msgstr "Actions"
#: machines/templates/machines/aff_machines.html:43 #: machines/templates/machines/aff_machines.html:43
msgid "DNS name" msgid "DNS name"
msgstr "Nom DNS" msgstr "Nom DNS"

View file

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-08-04 18:17
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('machines', '0107_fix_lowercase_domain'),
]
operations = [
migrations.AddField(
model_name='ipv6list',
name='active',
field=models.BooleanField(default=True, help_text='If false,the DNS will not provide this ip.'),
),
]

View file

@ -1645,6 +1645,7 @@ class Ipv6List(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
ipv6: the IPv6 address of the list. ipv6: the IPv6 address of the list.
interface: the interface related to the list. interface: the interface related to the list.
slaac_ip: whether SLAAC mode is enabled. slaac_ip: whether SLAAC mode is enabled.
active: whether the ip is to be used.
""" """
ipv6 = models.GenericIPAddressField(protocol="IPv6") ipv6 = models.GenericIPAddressField(protocol="IPv6")
@ -1652,6 +1653,10 @@ class Ipv6List(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
"Interface", on_delete=models.CASCADE, related_name="ipv6list" "Interface", on_delete=models.CASCADE, related_name="ipv6list"
) )
slaac_ip = models.BooleanField(default=False) slaac_ip = models.BooleanField(default=False)
active = models.BooleanField(
default=True,
help_text=_("If false,the DNS will not provide this ip.")
)
class Meta: class Meta:
permissions = ( permissions = (

View file

@ -31,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<tr> <tr>
<th>{% trans "IPv6 addresses" %}</th> <th>{% trans "IPv6 addresses" %}</th>
<th>{% trans "SLAAC" %}</th> <th>{% trans "SLAAC" %}</th>
<th>{% trans "Active" %}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
@ -38,6 +39,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<tr> <tr>
<td>{{ ipv6.ipv6 }}</td> <td>{{ ipv6.ipv6 }}</td>
<td>{{ ipv6.slaac_ip }}</td> <td>{{ ipv6.slaac_ip }}</td>
<td>{{ ipv6.active }}</td>
<td class="text-right"> <td class="text-right">
{% can_edit ipv6 %} {% can_edit ipv6 %}
{% include 'buttons/edit.html' with href='machines:edit-ipv6list' id=ipv6.id %} {% include 'buttons/edit.html' with href='machines:edit-ipv6list' id=ipv6.id %}