Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mirrors
openwrt
luci
提交
bc8eaf68
L
luci
项目概览
mirrors
/
openwrt
/
luci
11 个月 前同步成功
通知
43
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
luci
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bc8eaf68
编写于
9月 17, 2011
作者:
J
Jo-Philipp Wich
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modules/admin-full: finally sort out dhcp setup issues in interface settings
上级
baa7e826
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
89 addition
and
84 deletion
+89
-84
modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua
modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua
+89
-84
未找到文件。
modules/admin-full/luasrc/model/cbi/admin_network/ifaces.lua
浏览文件 @
bc8eaf68
...
...
@@ -58,6 +58,20 @@ if not net then
return
end
-- dhcp setup was requested, create section and reload page
if
m
:
formvalue
(
"cbid.dhcp._enable._enable"
)
then
m
.
uci
:
section
(
"dhcp"
,
"dhcp"
,
nil
,
{
interface
=
arg
[
1
],
start
=
"100"
,
limit
=
"150"
,
leasetime
=
"12h"
})
m
.
uci
:
save
(
"dhcp"
)
luci
.
http
.
redirect
(
luci
.
dispatcher
.
build_url
(
"admin/network/network"
,
arg
[
1
]))
return
end
local
ifc
=
net
:
get_interfaces
()[
1
]
s
=
m
:
section
(
NamedSection
,
arg
[
1
],
"interface"
,
translate
(
"Common Configuration"
))
...
...
@@ -668,101 +682,92 @@ end
if
has_dnsmasq
and
net
:
proto
()
==
"static"
then
m2
=
Map
(
"dhcp"
,
""
,
""
)
local
section_id
function
m2
.
on_parse
()
m2
.
uci
:
foreach
(
"dhcp"
,
"dhcp"
,
function
(
s
)
if
s
.
interface
==
arg
[
1
]
then
section_id
=
s
[
'.name'
]
return
false
end
end
)
if
not
section_id
then
local
c
=
1
section_id
=
arg
[
1
]
while
m2
.
uci
:
get
(
"dhcp"
,
section_id
)
do
section_id
=
arg
[
1
]
..
c
c
=
c
+
1
end
end
end
s
=
m2
:
section
(
TypedSection
,
"dhcp"
,
translate
(
"DHCP Server"
))
s
.
addremove
=
false
s
.
anonymous
=
true
s
:
tab
(
"general"
,
translate
(
"General Setup"
))
s
:
tab
(
"advanced"
,
translate
(
"Advanced Settings"
))
function
s
.
cfgsections
(
self
)
return
{
section_id
}
end
local
ignore
=
s
:
taboption
(
"general"
,
Flag
,
"ignore"
,
translate
(
"Ignore interface"
),
translate
(
"Disable <abbr title=\"
Dynamic
Host
Configuration
Protocol
\
">DHCP</abbr> for "
..
"this interface."
))
local
has_section
=
false
ignore
.
rmempty
=
false
ignore
.
default
=
ignore
.
enabled
function
ignore
.
write
(
self
,
section
,
value
)
if
m2
.
uci
:
get
(
"dhcp"
,
section
)
~=
"dhcp"
then
m2
.
uci
:
section
(
"dhcp"
,
"dhcp"
,
section
,
{
interface
=
arg
[
1
]
})
m2
.
uci
:
foreach
(
"dhcp"
,
"dhcp"
,
function
(
s
)
if
s
.
interface
==
arg
[
1
]
then
has_section
=
true
return
false
end
m2
.
uci
:
set
(
"dhcp"
,
section
,
"ignore"
,
(
value
==
"1"
)
and
"1"
or
"0"
)
end
local
start
=
s
:
taboption
(
"general"
,
Value
,
"start"
,
translate
(
"Start"
),
translate
(
"Lowest leased address as offset from the network address."
))
start
.
optional
=
true
start
.
datatype
=
"uinteger"
start
.
default
=
"100"
local
limit
=
s
:
taboption
(
"general"
,
Value
,
"limit"
,
translate
(
"Limit"
),
translate
(
"Maximum number of leased addresses."
))
limit
.
optional
=
true
limit
.
datatype
=
"uinteger"
limit
.
default
=
"150"
end
)
local
ltime
=
s
:
taboption
(
"general"
,
Value
,
"leasetime"
,
translate
(
"Leasetime"
),
translate
(
"Expiry time of leased addresses, minimum is 2 Minutes (<code>2m</code>)."
))
ltime
.
rmempty
=
true
ltime
.
default
=
"12h"
if
not
has_section
then
local
dd
=
s
:
taboption
(
"advanced"
,
Flag
,
"dynamicdhcp"
,
translate
(
"Dynamic <abbr title=\"
Dynamic
Host
Configuration
Protocol
\
">DHCP</abbr>"
),
translate
(
"Dynamically allocate DHCP addresses for clients. If disabled, only "
..
"clients having static leases will be served."
))
dd
.
default
=
dd
.
enabled
s
=
m2
:
section
(
TypedSection
,
"dhcp"
,
translate
(
"DHCP Server"
))
s
.
anonymous
=
true
s
.
cfgsections
=
function
()
return
{
"_enable"
}
end
s
:
taboption
(
"advanced"
,
Flag
,
"force"
,
translate
(
"Force"
),
translate
(
"Force DHCP on this network even if another server is detected."
))
x
=
s
:
option
(
Button
,
"_enable"
)
x
.
title
=
translate
(
"No DHCP Server configured for this interface"
)
x
.
inputtitle
=
translate
(
"Setup DHCP Server"
)
x
.
inputstyle
=
"apply"
-- XXX: is this actually useful?
--s:taboption("advanced", Value, "name", translate("Name"),
-- translate("Define a name for this network."))
else
mask
=
s
:
taboption
(
"advanced"
,
Value
,
"netmask"
,
translate
(
"<abbr title=\"
Internet
Protocol
Version
4
\
">IPv4</abbr>-Netmask"
),
translate
(
"Override the netmask sent to clients. Normally it is calculated "
..
"from the subnet that is served."
))
mask
.
optional
=
true
mask
.
datatype
=
"ip4addr"
s
:
taboption
(
"advanced"
,
DynamicList
,
"dhcp_option"
,
translate
(
"DHCP-Options"
),
translate
(
"Define additional DHCP options, for example \"
<
code
>
6
,
192
.
168
.
2
.
1
,
" ..
"
192
.
168
.
2
.
2
</
code
>
\
" which advertises different DNS servers to clients."
))
s
=
m2
:
section
(
TypedSection
,
"dhcp"
,
translate
(
"DHCP Server"
))
s
.
addremove
=
false
s
.
anonymous
=
true
s
:
tab
(
"general"
,
translate
(
"General Setup"
))
s
:
tab
(
"advanced"
,
translate
(
"Advanced Settings"
))
function
s
.
filter
(
self
,
section
)
return
m2
.
uci
:
get
(
"dhcp"
,
section
,
"interface"
)
==
arg
[
1
]
end
for
i
,
n
in
ipairs
(
s
.
children
)
do
if
n
~=
ignore
then
n
:
depends
(
"ignore"
,
""
)
local
ignore
=
s
:
taboption
(
"general"
,
Flag
,
"ignore"
,
translate
(
"Ignore interface"
),
translate
(
"Disable <abbr title=\"
Dynamic
Host
Configuration
Protocol
\
">DHCP</abbr> for "
..
"this interface."
))
local
start
=
s
:
taboption
(
"general"
,
Value
,
"start"
,
translate
(
"Start"
),
translate
(
"Lowest leased address as offset from the network address."
))
start
.
optional
=
true
start
.
datatype
=
"uinteger"
start
.
default
=
"100"
local
limit
=
s
:
taboption
(
"general"
,
Value
,
"limit"
,
translate
(
"Limit"
),
translate
(
"Maximum number of leased addresses."
))
limit
.
optional
=
true
limit
.
datatype
=
"uinteger"
limit
.
default
=
"150"
local
ltime
=
s
:
taboption
(
"general"
,
Value
,
"leasetime"
,
translate
(
"Leasetime"
),
translate
(
"Expiry time of leased addresses, minimum is 2 Minutes (<code>2m</code>)."
))
ltime
.
rmempty
=
true
ltime
.
default
=
"12h"
local
dd
=
s
:
taboption
(
"advanced"
,
Flag
,
"dynamicdhcp"
,
translate
(
"Dynamic <abbr title=\"
Dynamic
Host
Configuration
Protocol
\
">DHCP</abbr>"
),
translate
(
"Dynamically allocate DHCP addresses for clients. If disabled, only "
..
"clients having static leases will be served."
))
dd
.
default
=
dd
.
enabled
s
:
taboption
(
"advanced"
,
Flag
,
"force"
,
translate
(
"Force"
),
translate
(
"Force DHCP on this network even if another server is detected."
))
-- XXX: is this actually useful?
--s:taboption("advanced", Value, "name", translate("Name"),
-- translate("Define a name for this network."))
mask
=
s
:
taboption
(
"advanced"
,
Value
,
"netmask"
,
translate
(
"<abbr title=\"
Internet
Protocol
Version
4
\
">IPv4</abbr>-Netmask"
),
translate
(
"Override the netmask sent to clients. Normally it is calculated "
..
"from the subnet that is served."
))
mask
.
optional
=
true
mask
.
datatype
=
"ip4addr"
s
:
taboption
(
"advanced"
,
DynamicList
,
"dhcp_option"
,
translate
(
"DHCP-Options"
),
translate
(
"Define additional DHCP options, for example \"
<
code
>
6
,
192
.
168
.
2
.
1
,
" ..
"
192
.
168
.
2
.
2
</
code
>
\
" which advertises different DNS servers to clients."
))
for
i
,
n
in
ipairs
(
s
.
children
)
do
if
n
~=
ignore
then
n
:
depends
(
"ignore"
,
""
)
end
end
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录