浏览代码

fixed DHCPv6 relay decoding

tags/v1.0.0
Pascal Gloor 5 年前
父节点
当前提交
24f66455d8
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. 7
    4
      dhcp_protect.c

+ 7
- 4
dhcp_protect.c 查看文件

@@ -296,11 +296,14 @@ void dp_dhcpv6_check(dp_conf *conf, unsigned char *pkt, int pktlen, int offset,
offset += 2; // msg-type, hop-count
}

while(offset+1<pktlen) {
uint8_t code = (uint8_t)pkt[offset];
uint8_t len = (uint8_t)pkt[offset+1];
while(offset+4<=pktlen) {
uint16_t code = ntohs((uint16_t)pkt[offset]);
uint16_t len = ntohs((uint16_t)pkt[offset+2]);

offset+=2;
offset+=4;

if ( code == 9 ) // relay message
continue;

if ( code == 1 ) { // Client identifier / DUID
// make sure there's enough space

正在加载...
取消
保存