Changeset 6827

Show
Ignore:
Timestamp:
01/29/11 23:50:13 (2 years ago)
Author:
jow
Message:

modules/admin-full: add ip6tables status output (#193)

Location:
luci/trunk/modules/admin-full/luasrc
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • luci/trunk/modules/admin-full/luasrc/controller/admin/status.lua

    r6583 r6827  
    33 
    44Copyright 2008 Steven Barth <steven@midlink.org> 
     5Copyright 2011 Jo-Philipp Wich <xm@subsignal.org> 
    56 
    67Licensed under the Apache License, Version 2.0 (the "License"); 
     
    2021    entry({"admin", "status"}, template("admin_status/index"), i18n("Status"), 20).index = true 
    2122    entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("Interfaces"), 1) 
    22     entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("Firewall"), 2) 
     23    entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("Firewall"), 2).leaf = true 
    2324    entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("Active Connections"), 3) 
    2425    entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("Routes"), 4) 
     
    4748 
    4849function action_iptables() 
    49     if luci.http.formvalue("zero") == "1" then 
    50         luci.util.exec("iptables -Z") 
     50    if luci.http.formvalue("zero") then 
     51        if luci.http.formvalue("zero") == "6" then 
     52            luci.util.exec("ip6tables -Z") 
     53        else 
     54            luci.util.exec("iptables -Z") 
     55        end 
    5156        luci.http.redirect( 
    5257            luci.dispatcher.build_url("admin", "status", "iptables") 
  • luci/trunk/modules/admin-full/luasrc/view/admin_status/iptables.htm

    r5448 r6827  
    22LuCI - Lua Configuration Interface 
    33Copyright 2008-2009 Steven Barth <steven@midlink.org> 
    4 Copyright 2008-2009 Jo-Philipp Wich <xm@leipzig.freifunk.net> 
     4Copyright 2008-2011 Jo-Philipp Wich <xm@subsignal.org> 
    55 
    66Licensed under the Apache License, Version 2.0 (the "License"); 
     
    1818    require "luci.sys.iptparser" 
    1919    require "luci.tools.webadmin" 
     20    require "luci.fs" 
    2021 
    21     local ipt = luci.sys.iptparser.IptParser() 
     22    local has_ip6tables = luci.fs.access("/usr/sbin/ip6tables") 
     23    local mode = 4 
     24 
     25    if has_ip6tables then 
     26        mode = luci.dispatcher.context.requestpath 
     27        mode = tonumber(mode[#mode] ~= "iptables" and mode[#mode]) or 4 
     28    end 
     29 
     30    local ipt = luci.sys.iptparser.IptParser(mode) 
    2231    local wba = luci.tools.webadmin 
    2332 
     
    4655    end 
    4756 
     57    local tables = { "Filter", "NAT", "Mangle", "Raw" } 
     58    if mode == 6 then 
     59        tables = { "Filter", "Mangle", "Raw" } 
     60    end 
    4861-%> 
    4962 
    5063<%+header%> 
    5164 
     65<style type="text/css"> 
     66    span:target { 
     67        color: blue; 
     68        text-decoration: underline; 
     69    } 
     70</style> 
     71 
    5272<h2><a id="content" name="content"><%:Firewall Status%></a></h2> 
     73 
     74<% if has_ip6tables then %> 
     75<ul class="cbi-tabmenu"> 
     76    <li class="cbi-tab<%= mode ~= 4 and "-disabled" %>"><a href="<%=luci.dispatcher.build_url("admin/status/iptables/4")%>"><%:IPv4 Firewall%></a></li> 
     77    <li class="cbi-tab<%= mode ~= 6 and "-disabled" %>"><a href="<%=luci.dispatcher.build_url("admin/status/iptables/6")%>"><%:IPv6 Firewall%></a></li> 
     78</ul> 
     79<% end %> 
    5380 
    5481<form method="post" action="<%=REQUEST_URI%>"> 
     
    5784            <h3><%:Actions%></h3> 
    5885            <ul> 
    59                 <li><a href="<%=REQUEST_URI%>?zero=1"><%:Reset Counters%></a></li> 
     86                <li><a href="<%=REQUEST_URI%>?zero=<%=mode%>"><%:Reset Counters%></a></li> 
    6087                <li><a href="<%=REQUEST_URI%>?restart=1"><%:Restart Firewall%></a></li> 
    6188            </ul> 
    6289            <br /><br /> 
    6390 
    64             <% for _, tbl in ipairs({"Filter", "NAT", "Mangle"}) do chaincnt = 0 %> 
     91            <% for _, tbl in ipairs(tables) do chaincnt = 0 %> 
    6592                <h3><%:Table%>: <%=tbl%></h3> 
    6693                <table class="cbi-section-table" style="font-size:90%"> 
     
    7299                        <tr class="cbi-section-table-titles cbi-rowstyle-<%=rowstyle()%>"> 
    73100                            <th class="cbi-section-table-cell" style="text-align:left" colspan="11"> 
    74                                 <br /><a name="rule_<%=tbl:lower()%>_<%=chain%>"></a> 
     101                                <br /><span id="rule_<%=tbl:lower()%>_<%=chain%>"> 
    75102                                <%:Chain%> <em><%=chain%></em> 
    76103                                (<%- if chaininfo.policy then -%> 
     
    78105                                <%- else -%> 
    79106                                    <%:References%>: <%=chaininfo.references-%> 
    80                                 <%- end -%>) 
     107                                <%- end -%>)</span> 
    81108                            </th> 
    82109                        </tr>