Sfoglia il codice sorgente

rename libraries files

Roberto Berto 5 anni fa
parent
commit
7b1b2b1f0e

+ 2 - 3
vycontrol/firewall/templates/firewall/editrule.html

@@ -45,11 +45,10 @@
 </script>
 {% endcomment %}
 
-{% if mode == "editrule" %}
 <script type="text/javascript">
     var ruledata_js = JSON.parse('{{ruledata_json|safe}}');
 </script>
-{% endif %}
+
 
 
 
@@ -84,7 +83,7 @@
             <div class="col">
                 <p>
                     <label for="alias">rule number</label><br>
-                    <input type="text" name="rulenumber" id="rulenumber" value="{{ rulenumber }}" size="5">
+                    <input type="text" name="rulenumber" id="rulenumber" value="" size="5">
                 </p>
             </div>
             {% endif %}

+ 62 - 88
vycontrol/firewall/views.py

@@ -8,8 +8,8 @@ from django.http import QueryDict
 
 
 import vyos
-import vycontrol_vyosapi as vcapi
-import vycontrol_common as vccom
+import vycontrol_vyos_api_lib as vapilib
+import vycontrol_vyos_api as vapi
 import vycontrol_messages as vcmsg
 
 
@@ -36,7 +36,7 @@ def index(request):
     hostname_default = vyos.get_hostname_prefered(request)
 
 
-    firewall2 = vcapi.api(
+    firewall2 = vapilib.api(
         hostname =      hostname_default,
         api =           'get',
         op =            'showConfig',
@@ -138,7 +138,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
     firewall_group['network-group'] = {}
     firewall_group['address-group'] = {}
     firewall_group['port-group'] = {}
-    firewall_group_raw = vccom.get_firewall_group(hostname_default)
+    firewall_group_raw = vapi.get_firewall_group(hostname_default)
     if firewall_group_raw.success:
         if 'network-group' in firewall_group_raw.data:
             for g in firewall_group_raw.data['network-group']:
@@ -168,6 +168,8 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
 
     changed = False
     rulenumber_valid = False
+    ruleaction_valid = False
+    ruledata = {}
 
 
     # edit rule without valid rulenumber
@@ -175,35 +177,38 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
         if rulenumber == None:
             msg.add_error("Rule number empty")
         else:
-            rulenumber_valid = True
+            rule = vapi.get_firewall_rulenumber(hostname_default, firewall_name, rulenumber)
+            if rule.success == False:
+                ruledata = rule.data
 
-            rule = vccom.get_firewall_rulenumber(hostname_default, firewall_name, rulenumber)
-            ruledata = rule.data
+                # if rule exists control variables are true
+                rulenumber_valid = True
+                ruleaction_valid = True
+            else:
+                msg.add_error("There is no rulenumber inside firewall.")
 
     # mode add rule
     elif mode == "addrule":
         if request.POST.get('rulenumber', None) == None:
             msg.add_error("Rule number empty")
         else:
-            rulenumber_valid = True
             rulenumber = request.POST.get('rulenumber')
+            if int(rulenumber) >= 1 and int(rulenumber) <= 9999:
+                rulenumber_valid = True
+                rulenumber = request.POST.get('rulenumber')
+            else:
+                rulenumber_valid = False
+                msg.add_error("Rule number must be between 1 and 9999")
 
-            ruledata = {}
-        
-    if int(rulenumber) >= 1 and int(rulenumber) <= 9999:
-        rulenumber_valid = True
-    else:
-        rulenumber_valid = False
-        msg.add_error("Rule number must be between 1 and 9999")
 
 
     # update/insert rule action
-    if request.POST.get('ruleaction', None) != None:
+    if rulenumber_valid and request.POST.get('ruleaction', None) != None:
         if request.POST.get('ruleaction') in ["accept", "drop", "reject"]:
-            if request.POST.get('ruleaction') == ruledata['action'] and mode == "editrule":
+            if mode == "editrule" and ruledata['action'] and request.POST.get('ruleaction') == ruledata['action']:
                 msg.add_debug("Not need to update rule action")
             else:
-                v = vccom.set_firewall_rule_action(hostname_default, firewall_name, rulenumber, request.POST.get('ruleaction'))
+                v = vapi.set_firewall_rule_action(hostname_default, firewall_name, rulenumber, request.POST.get('ruleaction'))
                 if v.success == False:
                     msg.add_error("Fail to change rule action: " + v.reason)
                 else:
@@ -216,14 +221,14 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
 
 
     # update/insert rule status
-    if request.POST.get('status', None) != None:
+    if rulenumber_valid and request.POST.get('status', None) != None:
         if mode == "editrule": 
             if request.POST.get('status') == "enable" and "disable" not in ruledata:
                 msg.add_debug("Current status is enabled and equal intended status")
             elif request.POST.get('status') == "disable" and "disable" in ruledata:
                 msg.add_debug("Current status is disable and equal intended status")
             elif request.POST.get('status') == "disable" and "disable" not in ruledata:
-                v = vccom.set_firewall_rule_disabled(hostname_default, firewall_name, rulenumber)
+                v = vapi.set_firewall_rule_disabled(hostname_default, firewall_name, rulenumber)
                 if v.success == False:
                     msg.add_error("Failed to disable status: " + v.reason)
                 else:
@@ -233,7 +238,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                     changed = True
                     msg.add_success("Status disabled")
             elif request.POST.get('status') == "enable" and "disable" in ruledata:
-                v = vccom.set_firewall_rule_enabled(hostname_default, firewall_name, rulenumber)
+                v = vapi.set_firewall_rule_enabled(hostname_default, firewall_name, rulenumber)
                 if v.success == False:
                     msg.add_error("Failed to enable status: " + v.reason)
                 else:
@@ -244,7 +249,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                     msg.add_success("Status enabled")                    
         elif mode == "addrule":
             if request.POST.get('status') == "disable":
-                v = vccom.set_firewall_rule_disabled(hostname_default, firewall_name, rulenumber)
+                v = vapi.set_firewall_rule_disabled(hostname_default, firewall_name, rulenumber)
                 if v.success == False:
                     msg.add_error("Failed to disable status: " + v.reason)
                 else:
@@ -252,59 +257,28 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                     ruledata['disable'] = {}
                     ruledata['status'] = 'disabled'
                     changed = True
-                    msg.add_success("Status disabled")
+                    msg.add_info("Status disabled")
             else:
                 # nothing to do if status = enable
                 pass
 
+    if rulenumber_valid == True and request.POST.get('description', None) != None:
+        pass
+
 
 
     if rulenumber_valid == True:
-        if True:
+        if False:
             # verifing basic informations, should have rulenumber, status and ruleaction
             msg.add_error("Invalid Status or Action")
-        else:
-            
-            msg.add_info("Action different")
-            msg.add_info(firewall['action'])
-            msg.add_info(request.POST.get('ruleaction', None))
-
-            v = vcapi.api (
-                hostname=   hostname_default,
-                api =       "post",
-                op =        "set",
-                cmd =       ["firewall", "name", firewall_name, "rule", rulenumber, "action", request.POST.get('ruleaction')],
-                description = "set rule action",
-            )
+        elif False:
             # rule created, continue to configure firewall rule according his criterias
             if v.success:
                 changed = True 
 
-                # if status disabled, save it
-                if request.POST.get('status') == "disabled":
-                    v = vcapi.api (
-                        hostname=   hostname_default,
-                        api =       "post",
-                        op =        "set",
-                        cmd =       ["firewall", "name", firewall_name, "rule", rulenumber, "disable"],
-                        description = "set rule disable",
-                    )
-                    if v.success:
-                        changed = True 
-                elif request.POST.get('status') == "enabled" and mode == "editrule":
-                    v = vcapi.api (
-                        hostname=   hostname_default,
-                        api =       "post",
-                        op =        "delete",
-                        cmd =       ["firewall", "name", firewall_name, "rule", rulenumber, "disable"],
-                        description = "delete rule disable",
-                    )
-                    if v.success:
-                        changed = True  
-
                 # if status set, save it
                 if request.POST.get('description', None) != None:
-                    v = vcapi.api (
+                    v = vapilib.api (
                         hostname=   hostname_default,
                         api =       "post",
                         op =        "set",
@@ -337,7 +311,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                     if protocol_criteria != None:
                         protocol_criteria_txt = protocol_negate + protocol_criteria
 
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -363,7 +337,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                         destinationport_text = ','.join(destinationport)
 
                         
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -383,7 +357,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                         vcmsg.log("sourceport_json", sourceport)
                         sourceport_text = ','.join(sourceport)
 
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -412,7 +386,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                         sdaddress_source = request.POST.get('sdaddress_source')
                         sdaddress_source_txt = sdaddress_source_negate + sdaddress_source
                         
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -427,7 +401,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                         sdaddress_destination = request.POST.get('sdaddress_destination')                    
                         sdaddress_destination_txt = sdaddress_destination_negate + sdaddress_destination
 
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -441,7 +415,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                 if request.POST.get('criteria_addressgroup', None) == "1":
                     if request.POST.get('sdaddressgroup_source', None) != None:              
                         sdaddressgroup_source = request.POST.get('sdaddressgroup_source')
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -455,7 +429,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
 
                     if request.POST.get('sdaddressgroup_destination', None) != None:              
                         sdaddressgroup_destination = request.POST.get('sdaddressgroup_destination')                    
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -471,7 +445,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                 if request.POST.get('criteria_networkgroup', None) == "1":
                     if request.POST.get('sdnetworkgroup_source', None) != None:              
                         sdnetworkgroup_source = request.POST.get('sdnetworkgroup_source')
-                        v = vcapi.api (
+                        v = vapilib.api (
                                 hostname=   hostname_default,
                                 api =       "post",
                                 op =        "set",
@@ -485,7 +459,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
 
                     if request.POST.get('sdnetworkgroup_destination', None) != None:              
                         sdnetworkgroup_destination = request.POST.get('sdnetworkgroup_destination')                    
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -512,7 +486,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
 
                         sourcemac_txt = sourcemac_negate + sourcemac
 
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -536,7 +510,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
 
                     if len(packetstates) > 0:
                         for packetstate in packetstates:
-                            v = vcapi.api (
+                            v = vapilib.api (
                                 hostname=   hostname_default,
                                 api =       "post",
                                 op =        "set",
@@ -589,7 +563,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
 
                     if len(tcpflags) > 0:
                         tcpflags_txt = ",".join(tcpflags)
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -602,7 +576,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                 # if criteria_portgroup set, save it
                 if request.POST.get('criteria_portgroup', None) == "1":
                     if request.POST.get('sdportgroup_source', None) != None:
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -613,7 +587,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
                             changed = True
 
                     if request.POST.get('sdportgroup_destination', None) != None:
-                        v = vcapi.api (
+                        v = vapilib.api (
                             hostname=   hostname_default,
                             api =       "post",
                             op =        "set",
@@ -627,7 +601,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
         msg.add_success("Firewall rule saved.")
         
 
-    ruledata_json = json.dumps(rule.data)
+    ruledata_json = json.dumps(ruledata)
     vcmsg.log("json", ruledata_json)
 
 
@@ -662,7 +636,7 @@ def changerule(request, firewall_name, mode, template_name="firewall/addrule.htm
     
 @is_authenticated
 def addrule(request, firewall_name):
-    return changerule(request, firewall_name, mode="addrule", template_name="firewall/addrule.html", rulenumber = None)
+    return changerule(request, firewall_name, mode="addrule", template_name="firewall/editrule.html", rulenumber = None)
 
 @is_authenticated
 def editrule(request, firewall_name, rulenumber):
@@ -856,7 +830,7 @@ def firewall_networkgroup_add(request):
         vcmsg.log('networks', networks)
 
         for network in networks:
-            v = vcapi.api (
+            v = vapilib.api (
                 hostname=   hostname_default,
                 api =       "post",
                 op =        "set",
@@ -868,7 +842,7 @@ def firewall_networkgroup_add(request):
             
         # set network description if it was created
             if changed == True:
-                v = vcapi.api (
+                v = vapilib.api (
                     hostname=   hostname_default,
                     api =       "post",
                     op =        "set",
@@ -935,7 +909,7 @@ def firewall_addressgroup_add(request):
         vcmsg.log('networks', networks)
 
         for network in networks:
-            v = vcapi.api (
+            v = vapilib.api (
                 hostname =  hostname_default,
                 api =       "post",
                 op =        "set",
@@ -948,7 +922,7 @@ def firewall_addressgroup_add(request):
         # set network description if it was created
         if changed == True:
             if description != None:
-                v = vcapi.api (
+                v = vapilib.api (
                     hostname=   hostname_default,
                     api =       "post",
                     op =        "set",
@@ -980,7 +954,7 @@ def firewall_addressgroup_desc(request, groupname):
     all_instances = vyos.instance_getall_by_group(request)
     is_superuser = perms.get_is_superuser(request.user)
 
-    v = vcapi.api (
+    v = vapilib.api (
         hostname=   hostname_default,
         api =       "get",
         op =        "showConfig",
@@ -1008,7 +982,7 @@ def firewall_addressgroup_desc(request, groupname):
 
     if v.success:
         if request.POST.get('description', None) != None:
-            v = vcapi.api (
+            v = vapilib.api (
                 hostname=   hostname_default,
                 api =       "post",
                 op =        "set",
@@ -1027,7 +1001,7 @@ def firewall_addressgroup_desc(request, groupname):
             vcmsg.log('networks new', networks_new)
 
             for network in networks_new:
-                v = vcapi.api (
+                v = vapilib.api (
                     hostname=   hostname_default,
                     api =       "post",
                     op =        "set",
@@ -1041,7 +1015,7 @@ def firewall_addressgroup_desc(request, groupname):
 
             for network in networks_original:
                 if network not in networks_new:
-                    v = vcapi.api (
+                    v = vapilib.api (
                         hostname=   hostname_default,
                         api =       "post",
                         op =        "delete",
@@ -1076,7 +1050,7 @@ def firewall_networkgroup_desc(request, groupname):
     is_superuser = perms.get_is_superuser(request.user)
 
 
-    v = vcapi.api (
+    v = vapilib.api (
         hostname=   hostname_default,
         api =       "get",
         op =        "showConfig",
@@ -1104,7 +1078,7 @@ def firewall_networkgroup_desc(request, groupname):
 
     if v.success:
         if request.POST.get('description', None) != None:
-            v = vcapi.api (
+            v = vapilib.api (
                 hostname=   hostname_default,
                 api =       "post",
                 op =        "set",
@@ -1123,7 +1097,7 @@ def firewall_networkgroup_desc(request, groupname):
             vcmsg.log('networks new', networks_new)
 
             for network in networks_new:
-                v = vcapi.api (
+                v = vapilib.api (
                     hostname=   hostname_default,
                     api =       "post",
                     op =        "set",
@@ -1137,7 +1111,7 @@ def firewall_networkgroup_desc(request, groupname):
 
             for network in networks_original:
                 if network not in networks_new:
-                    v = vcapi.api (
+                    v = vapilib.api (
                         hostname=   hostname_default,
                         api =       "post",
                         op =        "delete",