summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2019-02-22 18:58:53 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2019-02-22 18:59:57 +0200
commit089e4b37e99fdc6a8c109d558fa3a170c6653851 (patch)
tree83ada858aed4ec083383f8de1a76208099f6c500
parentcef046ac2d04ef192203a2e7d3cce576beefd7cc (diff)
downloadaconf-089e4b37e99fdc6a8c109d558fa3a170c6653851.tar.bz2
aconf-089e4b37e99fdc6a8c109d558fa3a170c6653851.tar.xz
model: IPAddress: allow networks
-rw-r--r--aconf/model/net.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/aconf/model/net.lua b/aconf/model/net.lua
index f01c4c6..2f8c1fd 100644
--- a/aconf/model/net.lua
+++ b/aconf/model/net.lua
@@ -187,13 +187,19 @@ function M.IPv6Address:cidr2mask(cidr) return cidr end
--- IP address field, inherits @{String}. Accepts both IPv4 and IPv6
-- address values.
-- @fclass net.IPAddress
+-- @tparam boolean cidr if set to true, the field accepts a network
+-- address in CIDR notation
M.IPAddress = class(Union)
function M.IPAddress:init(params)
+ local p = {cidr=params and params.cidr}
super(self, M.IPAddress):init(
update(
params,
- {types={M.IPv4Address, M.IPv6Address}, error='Invalid IP address'}
+ {
+ types={M.IPv4Address(p), M.IPv6Address(p)},
+ error='Invalid IP address'
+ }
)
)
end