Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Achou.Wang
accel-ppp
提交
c19c0456
A
accel-ppp
项目概览
Achou.Wang
/
accel-ppp
通知
6
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
accel-ppp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c19c0456
编写于
10月 24, 2013
作者:
D
Dmitry Kozlov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ipoe: update xid of session
Signed-off-by:
N
Dmitry Kozlov
<
xeb@mail.ru
>
上级
da8c9ac5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
4 deletion
+5
-4
accel-pppd/ctrl/ipoe/ipoe.c
accel-pppd/ctrl/ipoe/ipoe.c
+5
-4
未找到文件。
accel-pppd/ctrl/ipoe/ipoe.c
浏览文件 @
c19c0456
...
...
@@ -1121,7 +1121,7 @@ static void ipoe_ses_recv_dhcpv4(struct dhcpv4_serv *dhcpv4, struct dhcpv4_packe
triton_context_call
(
ses
->
ctrl
.
ctx
,
(
triton_event_func
)
__ipoe_session_terminate
,
&
ses
->
ses
);
return
;
}
if
(
pack
->
msg_type
==
DHCPDISCOVER
)
{
if
(
ses
->
yiaddr
)
{
if
(
ses
->
serv
->
dhcpv4_relay
)
{
...
...
@@ -1131,6 +1131,7 @@ static void ipoe_ses_recv_dhcpv4(struct dhcpv4_serv *dhcpv4, struct dhcpv4_packe
dhcpv4_send_reply
(
DHCPOFFER
,
dhcpv4
,
pack
,
ses
->
yiaddr
,
ses
->
siaddr
,
ses
->
router
,
ses
->
mask
,
ses
->
lease_time
,
ses
->
dhcpv4_relay_reply
);
}
}
else
if
(
pack
->
msg_type
==
DHCPREQUEST
)
{
ses
->
xid
=
pack
->
hdr
->
xid
;
if
(
pack
->
hdr
->
ciaddr
==
ses
->
yiaddr
&&
pack
->
hdr
->
xid
!=
ses
->
xid
)
ses
->
xid
=
pack
->
hdr
->
xid
;
if
((
pack
->
server_id
&&
(
pack
->
server_id
!=
ses
->
siaddr
||
pack
->
request_ip
!=
ses
->
yiaddr
))
||
...
...
@@ -1322,9 +1323,8 @@ static void __ipoe_recv_dhcpv4(struct dhcpv4_serv *dhcpv4, struct dhcpv4_packet
triton_context_call
(
&
opt82_ses
->
ctx
,
(
triton_event_func
)
__ipoe_session_terminate
,
&
opt82_ses
->
ses
);
}
}
else
{
if
(
pack
->
hdr
->
ciaddr
==
ses
->
yiaddr
&&
pack
->
hdr
->
xid
!=
ses
->
xid
)
ses
->
xid
=
pack
->
hdr
->
xid
;
ses
->
xid
=
pack
->
hdr
->
xid
;
if
((
pack
->
server_id
&&
(
pack
->
server_id
!=
ses
->
siaddr
||
pack
->
request_ip
!=
ses
->
yiaddr
))
||
(
pack
->
hdr
->
ciaddr
&&
(
pack
->
hdr
->
xid
!=
ses
->
xid
||
pack
->
hdr
->
ciaddr
!=
ses
->
yiaddr
))
||
(
opt82_ses
&&
ses
!=
opt82_ses
)
||
(
!
opt82_ses
&&
pack
->
relay_agent
))
{
...
...
@@ -1366,6 +1366,7 @@ static void __ipoe_recv_dhcpv4(struct dhcpv4_serv *dhcpv4, struct dhcpv4_packet
}
else
if
(
pack
->
msg_type
==
DHCPDECLINE
||
pack
->
msg_type
==
DHCPRELEASE
)
{
ses
=
ipoe_session_lookup
(
serv
,
pack
,
&
opt82_ses
);
if
(
ses
)
{
ses
->
xid
=
pack
->
hdr
->
xid
;
dhcpv4_packet_ref
(
pack
);
triton_context_call
(
&
ses
->
ctx
,
(
triton_event_func
)
ipoe_session_decline
,
pack
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录