applications/splash: Fix blacklisting mechanism, expose status on public freifunk...
authorManuel Munz <freifunk@somakoma.de>
Wed, 30 Nov 2011 05:50:43 +0000 (05:50 +0000)
committerManuel Munz <freifunk@somakoma.de>
Wed, 30 Nov 2011 05:50:43 +0000 (05:50 +0000)
25 files changed:
applications/luci-splash/luasrc/controller/splash/splash.lua
applications/luci-splash/luasrc/view/admin_status/splash.htm
applications/luci-splash/luasrc/view/splash/blocked.htm [new file with mode: 0644]
applications/luci-splash/root/usr/sbin/luci-splash
modules/freifunk/luasrc/controller/freifunk/freifunk.lua
po/ca/splash.po
po/de/splash.po
po/el/splash.po
po/en/splash.po
po/es/splash.po
po/fr/splash.po
po/he/splash.po
po/it/splash.po
po/ja/splash.po
po/ms/splash.po
po/no/splash.po
po/pl/splash.po
po/pt/splash.po
po/pt_BR/splash.po
po/ro/splash.po
po/ru/splash.po
po/templates/splash.pot
po/uk/splash.po
po/vi/splash.po
po/zh_CN/splash.po

index a41256a..aceeb4a 100644 (file)
@@ -1,6 +1,9 @@
 module("luci.controller.splash.splash", package.seeall)
 luci.i18n.loadc("splash")
 
 module("luci.controller.splash.splash", package.seeall)
 luci.i18n.loadc("splash")
 
+local uci = luci.model.uci.cursor()
+local util = require "luci.util"
+
 function index()
        entry({"admin", "services", "splash"}, cbi("splash/splash"), _("Client-Splash"), 90).i18n = "freifunk"
        entry({"admin", "services", "splash", "splashtext" }, form("splash/splashtext"), _("Splashtext"), 10)
 function index()
        entry({"admin", "services", "splash"}, cbi("splash/splash"), _("Client-Splash"), 90).i18n = "freifunk"
        entry({"admin", "services", "splash", "splashtext" }, form("splash/splashtext"), _("Splashtext"), 10)
@@ -13,8 +16,14 @@ function index()
 
        node("splash", "activate").target = call("action_activate")
        node("splash", "splash").target   = template("splash_splash/splash")
 
        node("splash", "activate").target = call("action_activate")
        node("splash", "splash").target   = template("splash_splash/splash")
+       node("splash", "blocked").target  = template("splash/blocked")
 
        entry({"admin", "status", "splash"}, call("action_status_admin"), _("Client-Splash")).i18n = "freifunk"
 
        entry({"admin", "status", "splash"}, call("action_status_admin"), _("Client-Splash")).i18n = "freifunk"
+
+       local page  = node("splash", "publicstatus")
+       page.target = call("action_status_public")
+       page.i18n   = "freifunk"
+       page.leaf   = true
 end
 
 function action_dispatch()
 end
 
 function action_dispatch()
@@ -36,12 +45,28 @@ function action_dispatch()
        end
 end
 
        end
 end
 
+function blacklist()
+       leased_macs = { }
+       uci:foreach("luci_splash", "blacklist",
+               function(s) leased_macs[s.mac:lower()] = true
+       end)
+       return leased_macs
+end
+
 function action_activate()
        local ip = luci.http.getenv("REMOTE_ADDR") or "127.0.0.1"
        local mac = luci.sys.net.ip4mac(ip:match("^[\[::ffff:]*(%d+.%d+%.%d+%.%d+)\]*$"))
 function action_activate()
        local ip = luci.http.getenv("REMOTE_ADDR") or "127.0.0.1"
        local mac = luci.sys.net.ip4mac(ip:match("^[\[::ffff:]*(%d+.%d+%.%d+%.%d+)\]*$"))
+       local blacklisted = false
        if mac and luci.http.formvalue("accept") then
        if mac and luci.http.formvalue("accept") then
-               os.execute("luci-splash lease "..mac.." >/dev/null 2>&1")
-               luci.http.redirect(luci.model.uci.cursor():get("freifunk", "community", "homepage"))
+               uci:foreach("luci_splash", "blacklist",
+                       function(s) if s.mac:lower() == mac or s.mac == mac then blacklisted = true end
+               end)
+               if blacklisted then     
+                       luci.http.redirect(luci.dispatcher.build_url("splash" ,"blocked"))
+               else
+                       os.execute("luci-splash lease "..mac.." >/dev/null 2>&1")
+                       luci.http.redirect(luci.model.uci.cursor():get("freifunk", "community", "homepage"))
+               end
        else
                luci.http.redirect(luci.dispatcher.build_url())
        end
        else
                luci.http.redirect(luci.dispatcher.build_url())
        end
@@ -93,3 +118,7 @@ function action_status_admin()
 
        luci.template.render("admin_status/splash", { is_admin = true })
 end
 
        luci.template.render("admin_status/splash", { is_admin = true })
 end
+
+function action_status_public()
+       luci.template.render("admin_status/splash", { is_admin = false })
+end
index 1b55e7b..86cb9c8 100644 (file)
@@ -124,10 +124,98 @@ local function showmac(mac)
        return mac
 end
 
        return mac
 end
 
+if luci.http.formvalue("status") == "1" then
+       local rv = {}
+       for _, c in utl.spairs(clients,
+               function(a,b) if clients[a].policy == clients[b].policy then
+                       return (clients[a].start > clients[b].start)
+               else
+                       return (clients[a].policy > clients[b].policy)
+               end
+       end)
+       do
+               if c.ip then
+                       rv[#rv+1] = {
+                               hostname = c.hostname or "?",
+                               ip = c.ip or "?",
+                               mac = showmac(c.mac) or "?",
+                               timeleft = (c.limit >= os.time()) and wat.date_format(c.limit-os.time()) or (c.policy ~= "normal") and "-" or "expired",
+                               trafficin = wat.byte_format(c.bytes_in) or "?",
+                               trafficout = wat.byte_format(c.bytes_out) or "?",
+                               policy = c.policy or "?"
+                               }
+               end
+       end
+       luci.http.prepare_content("application/json")
+       luci.http.write_json(rv)
+       return
+end
 -%>
 
 -%>
 
+
+
 <%+header%>
 
 <%+header%>
 
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+<script type="text/javascript">//<![CDATA[
+
+       XHR.poll(10 , '<%=REQUEST_URI%>', { status: 1 },
+               function(x, info)
+               {
+               var tbody = document.getElementById('splash_table');
+                       if (tbody)
+                       {
+                               var s = '';
+                               if (info.length == undefined) {
+                                       s += '<tr class="cbi-section-table-row"><td colspan="7" class="cbi-section-table-cell"><br /><em><%:No clients connected%></em><br /></td></tr>'
+                               };
+                               for (var idx = 0; idx < info.length; idx++)
+                               {
+                                       var splash = info[idx];
+                                       s += String.format(
+                                               '<tr class="cbi-section-table-row cbi-rowstyle-'+(1 + (idx % 2))+'">' +
+                                               '<td class="cbi-section-table-cell">%s</td>' +
+                                               '<td class="cbi-section-table-cell">%s</td>' +
+                                               '<td class="cbi-section-table-cell">%s</td>' +
+                                               '<td class="cbi-section-table-cell">%s</td>' +
+                                               '<td class="cbi-section-table-cell">%s/%s</td>' +
+                                               '<td class="cbi-section-table-cell">',
+                                               splash.hostname, splash.ip, splash.mac, splash.timeleft, splash.trafficin, splash.trafficout);
+
+                               <% if is_admin then %>
+                                       s += String.format('<select name="policy.%s" style="width:200px">', splash.mac.toLowerCase());
+                                       if (splash.policy == 'whitelist') {     
+                                               s += '<option value="whitelist" selected="selected"><%:whitelisted%></option>'
+                                       } else {
+                                               s += '<option value="whitelist"><%:whitelisted%></option>'
+                                       };
+                                       if (splash.policy == 'normal') {
+                                               s += '<option value="normal" selected="selected"><%:splashed%></option>';
+                                               s += '<option value="kicked"><%:temporarily blocked%></option>'
+                                       } else {
+                                               s += 'option value="normal"><%:splashed%></option>'
+                                       };
+                                       if (splash.policy == 'blacklist') {
+                                               s+= '<option value="blacklist" selected="selected"><%:blacklisted%></option>'
+                                       } else {
+                                               s += '<option value="blacklist"><%:blacklisted%></option>'
+                                       };
+                                       s += String.format(
+                                               '</select>' +
+                                               '<input type="submit" class="cbi-button cbi-button-save" name="save.%s" value="<%:Save%>" />',
+                                               splash.mac.toLowerCase());
+                               <% else %>
+                                       s += String.format('%s', splash.policy);
+                               <% end %>
+                                       s += '</td></tr></tbody>'
+                               }
+                               tbody.innerHTML = s;
+                       }
+               }
+       );
+//]]></script>
+
+
 <div id="cbi-splash-leases" class="cbi-map">
        <h2><a id="content" name="content"><%:Client-Splash%></a></h2>
        <fieldset id="cbi-table-table" class="cbi-section">
 <div id="cbi-splash-leases" class="cbi-map">
        <h2><a id="content" name="content"><%:Client-Splash%></a></h2>
        <fieldset id="cbi-table-table" class="cbi-section">
@@ -135,14 +223,16 @@ end
                <div class="cbi-section-node">
                        <% if is_admin then %><form action="<%=REQUEST_URI%>" method="post"><% end %>
                        <table class="cbi-section-table">
                <div class="cbi-section-node">
                        <% if is_admin then %><form action="<%=REQUEST_URI%>" method="post"><% end %>
                        <table class="cbi-section-table">
-                               <tr class="cbi-section-table-titles">
-                                       <th class="cbi-section-table-cell"><%:Hostname%></th>
-                                       <th class="cbi-section-table-cell"><%:IP Address%></th>
-                                       <th class="cbi-section-table-cell"><%:MAC Address%></th>
-                                       <th class="cbi-section-table-cell"><%:Time remaining%></th>
-                                       <th class="cbi-section-table-cell"><%:Traffic in/out%></th>
-                                       <th class="cbi-section-table-cell"><%:Policy%></th>
-                               </tr>
+                               <thead>
+                                       <tr class="cbi-section-table-titles">
+                                               <th class="cbi-section-table-cell"><%:Hostname%></th>
+                                               <th class="cbi-section-table-cell"><%:IP Address%></th>
+                                               <th class="cbi-section-table-cell"><%:MAC Address%></th>
+                                               <th class="cbi-section-table-cell"><%:Time remaining%></th>
+                                               <th class="cbi-section-table-cell"><%:Traffic in/out%></th>
+                                               <th class="cbi-section-table-cell"><%:Policy%></th>
+                                       </tr>
+                               </thead>
 
                                <%-
                                        local count = 0
 
                                <%-
                                        local count = 0
@@ -158,7 +248,8 @@ end
                                                if c.ip then
                                                        count = count + 1
                                -%>
                                                if c.ip then
                                                        count = count + 1
                                -%>
-                                       <tr class="cbi-section-table-row cbi-rowstyle-<%=2-(count%2)%>">
+                                       <tbody id="splash_table">
+                                               <tr class="cbi-section-table-row cbi-rowstyle-<%=2-(count%2)%>">
                                                <td class="cbi-section-table-cell"><%=c.hostname or "<em>" .. translate("unknown") .. "</em>"%></td>
                                                <td class="cbi-section-table-cell"><%=c.ip or "<em>" .. translate("unknown") .. "</em>"%></td>
                                                <td class="cbi-section-table-cell"><%=showmac(c.mac)%></td>
                                                <td class="cbi-section-table-cell"><%=c.hostname or "<em>" .. translate("unknown") .. "</em>"%></td>
                                                <td class="cbi-section-table-cell"><%=c.ip or "<em>" .. translate("unknown") .. "</em>"%></td>
                                                <td class="cbi-section-table-cell"><%=showmac(c.mac)%></td>
@@ -182,19 +273,19 @@ end
                                                        <%=c.policy%>
                                                        <% end %>
                                                </td>
                                                        <%=c.policy%>
                                                        <% end %>
                                                </td>
-                                       </tr>
-                               <%- 
+                                               </tr>
+                                               <%- 
+                                                       end
                                                end
                                                end
-                                       end
-
-                                       if count == 0 then
-                               -%>
-                                       <tr class="cbi-section-table-row">
-                                               <td colspan="7" class="cbi-section-table-cell">
-                                                       <br /><em><%:No clients connected%></em><br />
-                                               </td>
-                                       </tr>
+                                               if count == 0 then
+                                               -%>
+                                               <tr class="cbi-section-table-row">
+                                                       <td colspan="7" class="cbi-section-table-cell">
+                                                               <br /><em><%:No clients connected%></em><br />
+                                                       </td>
+                                               </tr>
                                <%- end -%>
                                <%- end -%>
+                               </tbody>
                        </table>
                        <% if is_admin then %></form><% end %>
                </div>
                        </table>
                        <% if is_admin then %></form><% end %>
                </div>
diff --git a/applications/luci-splash/luasrc/view/splash/blocked.htm b/applications/luci-splash/luasrc/view/splash/blocked.htm
new file mode 100644 (file)
index 0000000..de61ecf
--- /dev/null
@@ -0,0 +1,25 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+-%>
+<%
+local contacturl = luci.dispatcher.build_url("freifunk", "contact")
+%>
+
+<%+header%>
+
+<h2><a id="content" name="content"><%:Blocked%></a></h2>
+
+<p><%:Your access to this network has been blocked, most likely because you did something that our rules explicitly forbid.%></p>
+<p><%:To ask for the reason why you have been blocked or ask for access again you can try to contact the owner of this access point:%> <a href="<%=contacturl%>"><%:Contact%></a></p>
+
+<%+footer%>
+
+
+
index 7738679..ae459ad 100755 (executable)
@@ -315,7 +315,6 @@ end
 -- Add blacklist rules
 function add_blacklist_rule(mac)
        os.execute("iptables -t filter -I luci_splash_filter -m mac --mac-source %q -j DROP" % mac)
 -- Add blacklist rules
 function add_blacklist_rule(mac)
        os.execute("iptables -t filter -I luci_splash_filter -m mac --mac-source %q -j DROP" % mac)
-       os.execute("iptables -t nat    -I luci_splash_leases -m mac --mac-source %q -j DROP" % mac)
 end
 
 
 end
 
 
index 1d0175f..1b55131 100644 (file)
@@ -57,6 +57,10 @@ function index()
        entry({"freifunk", "status", "zeroes"}, call("zeroes"), "Testdownload")
        entry({"freifunk", "status", "public_status_json"}, call("public_status_json")).leaf = true
 
        entry({"freifunk", "status", "zeroes"}, call("zeroes"), "Testdownload")
        entry({"freifunk", "status", "public_status_json"}, call("public_status_json")).leaf = true
 
+       if nixio.fs.access("/usr/sbin/luci-splash") then
+               assign({"freifunk", "status", "splash"}, {"splash", "publicstatus"}, _("Splash"), 40)
+       end
+
        assign({"freifunk", "olsr"}, {"admin", "status", "olsr"}, _("OLSR"), 30)
 
        if nixio.fs.access("/etc/config/luci_statistics") then
        assign({"freifunk", "olsr"}, {"admin", "status", "olsr"}, _("OLSR"), 30)
 
        if nixio.fs.access("/etc/config/luci_statistics") then
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index cff548e..13a037f 100644 (file)
@@ -49,6 +49,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr "Durch das Akzeptieren dieser Regeln kannst du unser Netzwerk für"
 
 msgid "By accepting these rules you can use this network for"
 msgstr "Durch das Akzeptieren dieser Regeln kannst du unser Netzwerk für"
 
@@ -184,6 +187,13 @@ msgstr "Splash-Text"
 msgid "Time remaining"
 msgstr "Verbleibende Zeit"
 
 msgid "Time remaining"
 msgstr "Verbleibende Zeit"
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+"Um nach dem Grund der Sperrung zu fragen oder um deren Aufhebung zu bitten "
+"wende dich an den Administrator dieses Access Points:"
+
 msgid "Traffic in/out"
 msgstr "Ein-/Ausgehender Verkehr"
 
 msgid "Traffic in/out"
 msgstr "Ein-/Ausgehender Verkehr"
 
@@ -209,6 +219,14 @@ msgstr ""
 "###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### und "
 "###ACCEPT###."
 
 "###COMMUNITY_URL###, ###CONTACTURL###, ###LEASETIME###, ###LIMIT### und "
 "###ACCEPT###."
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+"Der Zugang zu diesem Netzwerk wurde vom Administrator blockiert. Das kann "
+"verschiedene Gründe haben, sehr wahrscheinlich hast du jedoch die Regeln "
+"dieses Netzwerks nicht beachtet und dadurch Probleme verursacht."
+
 msgid "Your bandwidth is limited to"
 msgstr "Deine Bandbreite ist limitiert auf"
 
 msgid "Your bandwidth is limited to"
 msgstr "Deine Bandbreite ist limitiert auf"
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index e0047df..43e547e 100644 (file)
@@ -43,6 +43,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr "interdire (liste-noire)"
 
 msgid "Blacklist"
 msgstr "interdire (liste-noire)"
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -168,6 +171,11 @@ msgstr "Texte de la page d'accueil"
 msgid "Time remaining"
 msgstr "Temps restant"
 
 msgid "Time remaining"
 msgstr "Temps restant"
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr "Trafic entrant/sortant"
 
 msgid "Traffic in/out"
 msgstr "Trafic entrant/sortant"
 
@@ -189,6 +197,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 1f2c67f..83ae834 100644 (file)
@@ -45,6 +45,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr "Lista negra"
 
 msgid "Blacklist"
 msgstr "Lista negra"
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -173,6 +176,11 @@ msgstr "Texto do termo de uso"
 msgid "Time remaining"
 msgstr "Tempo restante"
 
 msgid "Time remaining"
 msgstr "Tempo restante"
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr "Tráfego de entrada/saída"
 
 msgid "Traffic in/out"
 msgstr "Tráfego de entrada/saída"
 
@@ -194,6 +202,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index cf32668..81bbdb4 100644 (file)
@@ -30,6 +30,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -148,6 +151,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -169,6 +177,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 7689a13..04993ea 100644 (file)
@@ -1,17 +1,25 @@
 msgid ""
 msgstr ""
 msgid ""
 msgstr ""
-"Content-Type: text/plain; charset=UTF-8\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 msgid "Accept"
 msgstr ""
 
 
 msgid "Accept"
 msgstr ""
 
+msgid ""
+"Access to the internet might be possible nevertheless, because some "
+"activists of this project share their private internet connections. These "
+"few connections are shared between all users. That means available bandwidth "
+"is limited and because of this we ask you not to do any of the following:"
+msgstr ""
+
 msgid "Active Clients"
 msgstr ""
 
 msgid "Active Clients"
 msgstr ""
 
@@ -24,9 +32,19 @@ msgid ""
 "Whitelisted clients are not limited."
 msgstr ""
 
 "Whitelisted clients are not limited."
 msgstr ""
 
+msgid ""
+"Become an active member of this community and help by operating your own node"
+msgstr ""
+
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
+msgid "By accepting these rules you can use this network for"
+msgstr ""
+
 msgid "Clearance time"
 msgstr ""
 
 msgid "Clearance time"
 msgstr ""
 
@@ -49,9 +67,15 @@ msgstr ""
 msgid "Clients upload speed is limited to this value (kbyte/s)"
 msgstr ""
 
 msgid "Clients upload speed is limited to this value (kbyte/s)"
 msgstr ""
 
+msgid "Contact"
+msgstr ""
+
 msgid "Decline"
 msgstr ""
 
 msgid "Decline"
 msgstr ""
 
+msgid "Donate some money to help us keep this project alive."
+msgstr ""
+
 msgid "Download limit"
 msgstr ""
 
 msgid "Download limit"
 msgstr ""
 
@@ -75,6 +99,13 @@ msgstr ""
 msgid "IP Address"
 msgstr ""
 
 msgid "IP Address"
 msgstr ""
 
+msgid ""
+"If you operate your own wifi equipment use channels different from ours."
+msgstr ""
+
+msgid "If you use this network on a regular basis we ask for your support:"
+msgstr ""
+
 msgid "Intercept client traffic on this Interface"
 msgstr ""
 
 msgid "Intercept client traffic on this Interface"
 msgstr ""
 
@@ -84,6 +115,11 @@ msgstr ""
 msgid "Interfaces that are used for Splash."
 msgstr ""
 
 msgid "Interfaces that are used for Splash."
 msgstr ""
 
+msgid ""
+"KB/s (Download/Upload). You may be able to remove this limit by actively "
+"contributing to this project."
+msgstr ""
+
 msgid "MAC Address"
 msgstr ""
 
 msgid "MAC Address"
 msgstr ""
 
@@ -104,6 +140,11 @@ msgstr ""
 msgid "No clients connected"
 msgstr ""
 
 msgid "No clients connected"
 msgstr ""
 
+msgid ""
+"Please note that we are not an internet service provider but an experimental "
+"community network."
+msgstr ""
+
 msgid "Policy"
 msgstr ""
 
 msgid "Policy"
 msgstr ""
 
@@ -119,20 +160,38 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Upload limit"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Upload limit"
 msgstr ""
 
+msgid "Welcome"
+msgstr ""
+
 msgid "Whitelist"
 msgstr ""
 
 msgid "Whitelist"
 msgstr ""
 
+msgid "You are now connected to the free wireless mesh network"
+msgstr ""
+
 msgid ""
 msgid ""
-"You can change the text that is displayed to clients here.<br /> It is "
+"You can enter your own text that is displayed to clients here.<br />It is "
 "possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
 "possible to use the following markers: ###COMMUNITY###, ###COMMUNITY_URL###, "
-"###LEASETIME### and ###ACCEPT###.<br />Click here to <a href='/luci/"
-"splash/'>test the splash page</a> after you saved it."
+"###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
+msgstr ""
+
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
+msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "blacklisted"
 msgstr ""
 
 msgid "blacklisted"
@@ -141,17 +200,32 @@ msgstr ""
 msgid "expired"
 msgstr ""
 
 msgid "expired"
 msgstr ""
 
+msgid "hour(s). After this time you need to accept these rules again."
+msgstr ""
+
 msgid "optional when using host addresses"
 msgstr ""
 
 msgid "optional when using host addresses"
 msgstr ""
 
+msgid "perform any kind of illegal activities"
+msgstr ""
+
 msgid "splashed"
 msgstr ""
 
 msgid "temporarily blocked"
 msgstr ""
 
 msgid "splashed"
 msgstr ""
 
 msgid "temporarily blocked"
 msgstr ""
 
+msgid "the owner of this access point."
+msgstr ""
+
 msgid "unknown"
 msgstr ""
 
 msgid "unknown"
 msgstr ""
 
+msgid "use filesharing applications on this network"
+msgstr ""
+
+msgid "waste bandwidth with unneccesary downloads or streams"
+msgstr ""
+
 msgid "whitelisted"
 msgstr ""
 msgid "whitelisted"
 msgstr ""
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""
 
index 60097bc..c8aaac3 100644 (file)
@@ -27,6 +27,9 @@ msgstr ""
 msgid "Blacklist"
 msgstr ""
 
 msgid "Blacklist"
 msgstr ""
 
+msgid "Blocked"
+msgstr ""
+
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
 msgid "By accepting these rules you can use this network for"
 msgstr ""
 
@@ -145,6 +148,11 @@ msgstr ""
 msgid "Time remaining"
 msgstr ""
 
 msgid "Time remaining"
 msgstr ""
 
+msgid ""
+"To ask for the reason why you have been blocked or ask for access again you "
+"can try to contact the owner of this access point:"
+msgstr ""
+
 msgid "Traffic in/out"
 msgstr ""
 
 msgid "Traffic in/out"
 msgstr ""
 
@@ -166,6 +174,11 @@ msgid ""
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
 "###CONTACTURL###, ###LEASETIME###, ###LIMIT### and ###ACCEPT###."
 msgstr ""
 
+msgid ""
+"Your access to this network has been blocked, most likely because you did "
+"something that our rules explicitly forbid."
+msgstr ""
+
 msgid "Your bandwidth is limited to"
 msgstr ""
 
 msgid "Your bandwidth is limited to"
 msgstr ""