Software / code / prosody-modules
Comparison
mod_firewall/definitions.lib.lua @ 4017:015452258952
mod_firewall: Ensure file lists are always initialized empty
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 12 May 2020 12:31:51 +0100 |
| parent | 4016:b872f111b7af |
| child | 4127:e9e10ec1b91c |
comparison
equal
deleted
inserted
replaced
| 4016:b872f111b7af | 4017:015452258952 |
|---|---|
| 146 }; | 146 }; |
| 147 | 147 |
| 148 -- %LIST: file:/path/to/file | 148 -- %LIST: file:/path/to/file |
| 149 file = { | 149 file = { |
| 150 init = function (self, file_spec, opts) | 150 init = function (self, file_spec, opts) |
| 151 local items = {}; | 151 local n, items = 0, {}; |
| 152 local n = 0; | 152 self.items = items; |
| 153 local filename = file_spec:gsub("^file:", ""); | 153 local filename = file_spec:gsub("^file:", ""); |
| 154 if opts.missing == "ignore" and not lfs.attributes(filename, "mode") then | 154 if opts.missing == "ignore" and not lfs.attributes(filename, "mode") then |
| 155 module:log("debug", "Ignoring missing list file: %s", filename); | 155 module:log("debug", "Ignoring missing list file: %s", filename); |
| 156 return; | 156 return; |
| 157 end | 157 end |
| 165 n = n + 1; | 165 n = n + 1; |
| 166 items[line] = true; | 166 items[line] = true; |
| 167 end | 167 end |
| 168 end | 168 end |
| 169 end | 169 end |
| 170 self.items = items; | |
| 171 module:log("debug", "Loaded %d items from %s", n, filename); | 170 module:log("debug", "Loaded %d items from %s", n, filename); |
| 172 end; | 171 end; |
| 173 add = function (self, item) | 172 add = function (self, item) |
| 174 self.items[item] = true; | 173 self.items[item] = true; |
| 175 end; | 174 end; |