mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-07-07 00:04:57 +03:00
Auto formatting with AStyle
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -357,7 +357,7 @@ typedef struct SOCKLIST
|
||||
|
||||
|
||||
// Parameters for timeout thread for Solaris
|
||||
typedef struct SOCKET_TIMEOUT_PARAM{
|
||||
typedef struct SOCKET_TIMEOUT_PARAM {
|
||||
SOCK *sock;
|
||||
CANCEL *cancel;
|
||||
THREAD *thread;
|
||||
@ -651,7 +651,7 @@ struct RUDP_SESSION
|
||||
UINT64 Magic_Disconnect; // Disconnection Signal
|
||||
UINT64 NextSendSeqNo; // Transmission sequence number to be used next
|
||||
UINT64 LastRecvCompleteSeqNo; // Sequence number of receiving complete
|
||||
// (This indicates all segments which have sequence number up to this number are received completely)
|
||||
// (This indicates all segments which have sequence number up to this number are received completely)
|
||||
UCHAR NextIv[SHA1_SIZE]; // IV value to be used next
|
||||
UINT NextKeepAliveInterval; // Interval value of KeepAlive to be used next
|
||||
FIFO *RecvFifo; // Reception FIFO
|
||||
@ -846,7 +846,7 @@ struct CONNECT_TCP_RUDP_PARAM
|
||||
|
||||
#define SSL_DEFAULT_CONNECT_TIMEOUT (15 * 1000) // SSL default timeout
|
||||
|
||||
// Header for TCP Pair
|
||||
// Header for TCP Pair
|
||||
struct TCP_PAIR_HEADER
|
||||
{
|
||||
bool EnableHMac;
|
||||
@ -949,7 +949,7 @@ UINT64 RUDPGetCurrentSendingMinSeqNo(RUDP_SESSION *se);
|
||||
UINT64 RUDPGetCurrentSendingMaxSeqNo(RUDP_SESSION *se);
|
||||
SOCK *ListenRUDP(char *svc_name, RUDP_STACK_INTERRUPTS_PROC *proc_interrupts, RUDP_STACK_RPC_RECV_PROC *proc_rpc_recv, void *param, UINT port, bool no_natt_register, bool over_dns_mode);
|
||||
SOCK *ListenRUDPEx(char *svc_name, RUDP_STACK_INTERRUPTS_PROC *proc_interrupts, RUDP_STACK_RPC_RECV_PROC *proc_rpc_recv, void *param, UINT port, bool no_natt_register, bool over_dns_mode,
|
||||
volatile UINT *natt_global_udp_port, UCHAR rand_port_id, IP *listen_ip);
|
||||
volatile UINT *natt_global_udp_port, UCHAR rand_port_id, IP *listen_ip);
|
||||
SOCK *AcceptRUDP(SOCK *s);
|
||||
void *InitWaitUntilHostIPAddressChanged();
|
||||
void FreeWaitUntilHostIPAddressChanged(void *p);
|
||||
@ -1303,13 +1303,13 @@ bool IsInSameNetwork4(IP *a1, IP *a2, IP *subnet);
|
||||
bool IsInSameNetwork4Standard(IP *a1, IP *a2);
|
||||
|
||||
// Utility functions about IP and MAC address types
|
||||
bool IsValidUnicastIPAddress4(IP* ip);
|
||||
bool IsValidUnicastIPAddress4(IP *ip);
|
||||
bool IsValidUnicastIPAddressUINT4(UINT ip);
|
||||
bool IsValidUnicastIPAddress6(IP* ip);
|
||||
bool IsMacUnicast(UCHAR* mac);
|
||||
bool IsMacBroadcast(UCHAR* mac);
|
||||
bool IsMacMulticast(UCHAR* mac);
|
||||
bool IsMacInvalid(UCHAR* mac);
|
||||
bool IsValidUnicastIPAddress6(IP *ip);
|
||||
bool IsMacUnicast(UCHAR *mac);
|
||||
bool IsMacBroadcast(UCHAR *mac);
|
||||
bool IsMacMulticast(UCHAR *mac);
|
||||
bool IsMacInvalid(UCHAR *mac);
|
||||
|
||||
bool ParseIpAndSubnetMask4(char *src, UINT *ip, UINT *mask);
|
||||
bool ParseIpAndSubnetMask46(char *src, IP *ip, IP *mask);
|
||||
|
@ -84,7 +84,7 @@ ICMP_RESULT *IcmpParseResult(IP *dest_ip, USHORT src_id, USHORT src_seqno, UCHAR
|
||||
ret->Ttl = ipv4->TimeToLive;
|
||||
ret->DataSize = icmp_packet_size - (sizeof(ICMP_HEADER) + sizeof(ICMP_ECHO));
|
||||
ret->Data = Clone(recv_buffer + ip_header_size + sizeof(ICMP_HEADER) + sizeof(ICMP_ECHO),
|
||||
ret->DataSize);
|
||||
ret->DataSize);
|
||||
Copy(&ret->IpAddress, &ip, sizeof(IP));
|
||||
}
|
||||
}
|
||||
@ -123,7 +123,7 @@ ICMP_RESULT *IcmpParseResult(IP *dest_ip, USHORT src_id, USHORT src_seqno, UCHAR
|
||||
ret->Ttl = ipv4->TimeToLive;
|
||||
ret->DataSize = icmp_packet_size - (sizeof(ICMP_HEADER) + sizeof(ICMP_ECHO));
|
||||
ret->Data = Clone(recv_buffer + ip_header_size + sizeof(ICMP_HEADER) + sizeof(ICMP_ECHO),
|
||||
ret->DataSize);
|
||||
ret->DataSize);
|
||||
Copy(&ret->IpAddress, &ip, sizeof(IP));
|
||||
}
|
||||
}
|
||||
@ -540,9 +540,9 @@ bool AdjustTcpMssL3(UCHAR *src, UINT src_size, UINT mss)
|
||||
}
|
||||
|
||||
if (((tcp->Flag & TCP_SYN) == false) ||
|
||||
((tcp->Flag & TCP_RST) ||
|
||||
(tcp->Flag & TCP_PSH) ||
|
||||
(tcp->Flag & TCP_URG)))
|
||||
((tcp->Flag & TCP_RST) ||
|
||||
(tcp->Flag & TCP_PSH) ||
|
||||
(tcp->Flag & TCP_URG)))
|
||||
{
|
||||
// Not a SYN packet
|
||||
return false;
|
||||
@ -591,7 +591,7 @@ bool AdjustTcpMssL3(UCHAR *src, UINT src_size, UINT mss)
|
||||
{
|
||||
// Calculate the TCPv6 checksum
|
||||
tcp->Checksum = CalcChecksumForIPv6(&ip6->SrcAddress, &ip6->DestAddress,
|
||||
IP_PROTO_TCP, tcp, tcp_size, 0);
|
||||
IP_PROTO_TCP, tcp, tcp_size, 0);
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -736,7 +736,7 @@ void VLanInsertTag(void **packet_data, UINT *packet_size, UINT vlan_id, UINT vla
|
||||
USHORT vlan_tpid_ushort;
|
||||
// Validate arguments
|
||||
if (packet_data == NULL || *packet_data == NULL || packet_size == NULL ||
|
||||
*packet_size < 14 || vlan_id == 0)
|
||||
*packet_size < 14 || vlan_id == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -774,7 +774,7 @@ bool VLanRemoveTag(void **packet_data, UINT *packet_size, UINT vlan_id, UINT vla
|
||||
UCHAR *vlan_tpid_uchar;
|
||||
// Validate arguments
|
||||
if (packet_data == NULL || *packet_data == NULL || packet_size == NULL ||
|
||||
*packet_size < 14)
|
||||
*packet_size < 14)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -804,7 +804,7 @@ bool VLanRemoveTag(void **packet_data, UINT *packet_size, UINT vlan_id, UINT vla
|
||||
UINT dest_size = src_size - 4;
|
||||
UINT i;
|
||||
|
||||
for (i = 12;i < dest_size;i++)
|
||||
for (i = 12; i < dest_size; i++)
|
||||
{
|
||||
src_data[i] = src_data[i + 4];
|
||||
}
|
||||
@ -839,10 +839,10 @@ BUF *BuildICMPv6(IPV6_ADDR *src_ip, IPV6_ADDR *dest_ip, UCHAR hop_limit, UCHAR t
|
||||
icmp->Type = type;
|
||||
icmp->Code = code;
|
||||
icmp->Checksum = CalcChecksumForIPv6(src_ip, dest_ip, IP_PROTO_ICMPV6, icmp,
|
||||
sizeof(ICMP_HEADER) + size, 0);
|
||||
sizeof(ICMP_HEADER) + size, 0);
|
||||
|
||||
ret = BuildIPv6(dest_ip, src_ip, id, IP_PROTO_ICMPV6, hop_limit, icmp,
|
||||
sizeof(ICMP_HEADER) + size);
|
||||
sizeof(ICMP_HEADER) + size);
|
||||
|
||||
Free(icmp);
|
||||
|
||||
@ -881,7 +881,7 @@ BUF *BuildICMPv6NeighborSoliciation(IPV6_ADDR *src_ip, IPV6_ADDR *target_ip, UCH
|
||||
WriteBufBuf(b2, b);
|
||||
|
||||
ret = BuildICMPv6(src_ip, target_ip, 255,
|
||||
ICMPV6_TYPE_NEIGHBOR_SOLICIATION, 0, b2->Buf, b2->Size, id);
|
||||
ICMPV6_TYPE_NEIGHBOR_SOLICIATION, 0, b2->Buf, b2->Size, id);
|
||||
|
||||
FreeBuf(b);
|
||||
FreeBuf(b2);
|
||||
@ -889,7 +889,7 @@ BUF *BuildICMPv6NeighborSoliciation(IPV6_ADDR *src_ip, IPV6_ADDR *target_ip, UCH
|
||||
return ret;
|
||||
}
|
||||
|
||||
BUF *BuildICMPv6RouterSoliciation(IPV6_ADDR* src_ip, IPV6_ADDR* target_ip, UCHAR* my_mac_address, UINT id)
|
||||
BUF *BuildICMPv6RouterSoliciation(IPV6_ADDR *src_ip, IPV6_ADDR *target_ip, UCHAR *my_mac_address, UINT id)
|
||||
{
|
||||
ICMPV6_OPTION_LIST opt;
|
||||
ICMPV6_OPTION_LINK_LAYER link;
|
||||
@ -919,7 +919,7 @@ BUF *BuildICMPv6RouterSoliciation(IPV6_ADDR* src_ip, IPV6_ADDR* target_ip, UCHAR
|
||||
WriteBufBuf(b2, b);
|
||||
|
||||
ret = BuildICMPv6(src_ip, target_ip, 255,
|
||||
ICMPV6_TYPE_ROUTER_SOLICIATION, 0, b2->Buf, b2->Size, id);
|
||||
ICMPV6_TYPE_ROUTER_SOLICIATION, 0, b2->Buf, b2->Size, id);
|
||||
|
||||
FreeBuf(b);
|
||||
FreeBuf(b2);
|
||||
@ -977,7 +977,7 @@ void BuildAndAddIPv6PacketOptionHeader(BUF *b, IPV6_OPTION_HEADER *opt, UCHAR ne
|
||||
|
||||
// Build an IPv6 packet
|
||||
BUF *BuildIPv6(IPV6_ADDR *dest_ip, IPV6_ADDR *src_ip, UINT id, UCHAR protocol, UCHAR hop_limit, void *data,
|
||||
UINT size)
|
||||
UINT size)
|
||||
{
|
||||
IPV6_HEADER_PACKET_INFO info;
|
||||
IPV6_HEADER ip_header;
|
||||
@ -1058,21 +1058,21 @@ BUF *BuildIPv6PacketHeader(IPV6_HEADER_PACKET_INFO *info, UINT *bytes_before_pay
|
||||
if (info->HopHeader != NULL)
|
||||
{
|
||||
BuildAndAddIPv6PacketOptionHeader(b, info->HopHeader,
|
||||
IPv6GetNextHeaderFromQueue(q), info->HopHeaderSize);
|
||||
IPv6GetNextHeaderFromQueue(q), info->HopHeaderSize);
|
||||
}
|
||||
|
||||
// End point option header
|
||||
if (info->EndPointHeader != NULL)
|
||||
{
|
||||
BuildAndAddIPv6PacketOptionHeader(b, info->EndPointHeader,
|
||||
IPv6GetNextHeaderFromQueue(q), info->EndPointHeaderSize);
|
||||
IPv6GetNextHeaderFromQueue(q), info->EndPointHeaderSize);
|
||||
}
|
||||
|
||||
// Routing header
|
||||
if (info->RoutingHeader != NULL)
|
||||
{
|
||||
BuildAndAddIPv6PacketOptionHeader(b, info->RoutingHeader,
|
||||
IPv6GetNextHeaderFromQueue(q), info->RoutingHeaderSize);
|
||||
IPv6GetNextHeaderFromQueue(q), info->RoutingHeaderSize);
|
||||
}
|
||||
|
||||
// Fragment header
|
||||
@ -1362,22 +1362,22 @@ PKT *ClonePacket(PKT *p, bool copy_data)
|
||||
Copy(ret->L3.IPv6Header, p->L3.IPv6Header, sizeof(IPV6_HEADER));
|
||||
|
||||
ret->IPv6HeaderPacketInfo.IPv6Header = Clone(p->IPv6HeaderPacketInfo.IPv6Header,
|
||||
sizeof(IPV6_HEADER));
|
||||
sizeof(IPV6_HEADER));
|
||||
|
||||
ret->IPv6HeaderPacketInfo.HopHeader = Clone(p->IPv6HeaderPacketInfo.HopHeader,
|
||||
sizeof(IPV6_OPTION_HEADER));
|
||||
sizeof(IPV6_OPTION_HEADER));
|
||||
|
||||
ret->IPv6HeaderPacketInfo.EndPointHeader = Clone(p->IPv6HeaderPacketInfo.EndPointHeader,
|
||||
sizeof(IPV6_OPTION_HEADER));
|
||||
sizeof(IPV6_OPTION_HEADER));
|
||||
|
||||
ret->IPv6HeaderPacketInfo.RoutingHeader = Clone(p->IPv6HeaderPacketInfo.RoutingHeader,
|
||||
sizeof(IPV6_OPTION_HEADER));
|
||||
sizeof(IPV6_OPTION_HEADER));
|
||||
|
||||
ret->IPv6HeaderPacketInfo.FragmentHeader = Clone(p->IPv6HeaderPacketInfo.FragmentHeader,
|
||||
sizeof(IPV6_FRAGMENT_HEADER));
|
||||
sizeof(IPV6_FRAGMENT_HEADER));
|
||||
|
||||
ret->IPv6HeaderPacketInfo.Payload = Clone(p->IPv6HeaderPacketInfo.Payload,
|
||||
p->IPv6HeaderPacketInfo.PayloadSize);
|
||||
p->IPv6HeaderPacketInfo.PayloadSize);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1397,10 +1397,10 @@ PKT *ClonePacket(PKT *p, bool copy_data)
|
||||
Copy(ret->L4.ICMPHeader, p->L4.ICMPHeader, sizeof(ICMP_HEADER));
|
||||
|
||||
ret->ICMPv6HeaderPacketInfo.Data = Clone(p->ICMPv6HeaderPacketInfo.Data,
|
||||
p->ICMPv6HeaderPacketInfo.DataSize);
|
||||
p->ICMPv6HeaderPacketInfo.DataSize);
|
||||
|
||||
ret->ICMPv6HeaderPacketInfo.EchoData = Clone(p->ICMPv6HeaderPacketInfo.EchoData,
|
||||
p->ICMPv6HeaderPacketInfo.EchoDataSize);
|
||||
p->ICMPv6HeaderPacketInfo.EchoDataSize);
|
||||
|
||||
switch (ret->ICMPv6HeaderPacketInfo.Type)
|
||||
{
|
||||
@ -1410,31 +1410,31 @@ PKT *ClonePacket(PKT *p, bool copy_data)
|
||||
|
||||
case ICMPV6_TYPE_ROUTER_SOLICIATION:
|
||||
ret->ICMPv6HeaderPacketInfo.Headers.RouterSoliciationHeader =
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.RouterSoliciationHeader,
|
||||
sizeof(ICMPV6_ROUTER_SOLICIATION_HEADER));
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.RouterSoliciationHeader,
|
||||
sizeof(ICMPV6_ROUTER_SOLICIATION_HEADER));
|
||||
break;
|
||||
|
||||
case ICMPV6_TYPE_ROUTER_ADVERTISEMENT:
|
||||
ret->ICMPv6HeaderPacketInfo.Headers.RouterAdvertisementHeader =
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.RouterAdvertisementHeader,
|
||||
sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER));
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.RouterAdvertisementHeader,
|
||||
sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER));
|
||||
break;
|
||||
|
||||
case ICMPV6_TYPE_NEIGHBOR_SOLICIATION:
|
||||
ret->ICMPv6HeaderPacketInfo.Headers.NeighborSoliciationHeader =
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.NeighborSoliciationHeader,
|
||||
sizeof(ICMPV6_NEIGHBOR_SOLICIATION_HEADER));
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.NeighborSoliciationHeader,
|
||||
sizeof(ICMPV6_NEIGHBOR_SOLICIATION_HEADER));
|
||||
break;
|
||||
|
||||
case ICMPV6_TYPE_NEIGHBOR_ADVERTISEMENT:
|
||||
ret->ICMPv6HeaderPacketInfo.Headers.NeighborAdvertisementHeader =
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.NeighborAdvertisementHeader,
|
||||
sizeof(ICMPV6_NEIGHBOR_ADVERTISEMENT_HEADER));
|
||||
Clone(p->ICMPv6HeaderPacketInfo.Headers.NeighborAdvertisementHeader,
|
||||
sizeof(ICMPV6_NEIGHBOR_ADVERTISEMENT_HEADER));
|
||||
break;
|
||||
}
|
||||
|
||||
CloneICMPv6Options(&ret->ICMPv6HeaderPacketInfo.OptionList,
|
||||
&p->ICMPv6HeaderPacketInfo.OptionList);
|
||||
&p->ICMPv6HeaderPacketInfo.OptionList);
|
||||
break;
|
||||
|
||||
case L4_TCP:
|
||||
@ -1465,10 +1465,10 @@ PKT *ClonePacket(PKT *p, bool copy_data)
|
||||
ret->L7.IkeHeader = MallocFast(sizeof(IKE_HEADER));
|
||||
Copy(ret->L7.IkeHeader, p->L7.IkeHeader, sizeof(IKE_HEADER));
|
||||
break;
|
||||
|
||||
case L7_DNS:
|
||||
StrCpy(ret->DnsQueryHost, sizeof(ret->DnsQueryHost), p->DnsQueryHost);
|
||||
break;
|
||||
|
||||
case L7_DNS:
|
||||
StrCpy(ret->DnsQueryHost, sizeof(ret->DnsQueryHost), p->DnsQueryHost);
|
||||
break;
|
||||
}
|
||||
|
||||
// Address data
|
||||
@ -1491,7 +1491,7 @@ PKT *ClonePacket(PKT *p, bool copy_data)
|
||||
}
|
||||
|
||||
// Parse the packet but without data layer except for ICMP
|
||||
PKT* ParsePacketUpToICMPv6(UCHAR* buf, UINT size)
|
||||
PKT *ParsePacketUpToICMPv6(UCHAR *buf, UINT size)
|
||||
{
|
||||
return ParsePacketEx5(buf, size, false, 0, true, true, false, true);
|
||||
}
|
||||
@ -1513,11 +1513,11 @@ PKT *ParsePacketEx3(UCHAR *buf, UINT size, bool no_l3, UINT vlan_type_id, bool b
|
||||
{
|
||||
return ParsePacketEx4(buf, size, no_l3, vlan_type_id, bridge_id_as_mac_address, false, false);
|
||||
}
|
||||
PKT* ParsePacketEx4(UCHAR* buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address, bool no_http, bool correct_checksum)
|
||||
PKT *ParsePacketEx4(UCHAR *buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address, bool no_http, bool correct_checksum)
|
||||
{
|
||||
return ParsePacketEx5(buf, size, no_l3, vlan_type_id, bridge_id_as_mac_address, no_http, correct_checksum, false);
|
||||
}
|
||||
PKT* ParsePacketEx5(UCHAR* buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address, bool no_http, bool correct_checksum, bool no_l3_l4_except_icmpv6)
|
||||
PKT *ParsePacketEx5(UCHAR *buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address, bool no_http, bool correct_checksum, bool no_l3_l4_except_icmpv6)
|
||||
{
|
||||
PKT *p;
|
||||
USHORT vlan_type_id_16;
|
||||
@ -1643,7 +1643,7 @@ PKT* ParsePacketEx5(UCHAR* buf, UINT size, bool no_l3, UINT vlan_type_id, bool b
|
||||
{
|
||||
TCP_HEADER *tcp = p->L4.TCPHeader;
|
||||
if (tcp != NULL && (tcp->DstPort == port_raw || tcp->DstPort == port_raw2 || tcp->DstPort == port_raw4) &&
|
||||
(!((tcp->Flag & TCP_SYN) || (tcp->Flag & TCP_RST) || (tcp->Flag & TCP_FIN))))
|
||||
(!((tcp->Flag & TCP_SYN) || (tcp->Flag & TCP_RST) || (tcp->Flag & TCP_FIN))))
|
||||
{
|
||||
if (p->PayloadSize >= 1)
|
||||
{
|
||||
@ -1651,7 +1651,7 @@ PKT* ParsePacketEx5(UCHAR* buf, UINT size, bool no_l3, UINT vlan_type_id, bool b
|
||||
}
|
||||
}
|
||||
if (tcp != NULL && tcp->DstPort == port_raw3 &&
|
||||
(!((tcp->Flag & TCP_SYN) || (tcp->Flag & TCP_RST) || (tcp->Flag & TCP_FIN))))
|
||||
(!((tcp->Flag & TCP_SYN) || (tcp->Flag & TCP_RST) || (tcp->Flag & TCP_FIN))))
|
||||
{
|
||||
if (p->PayloadSize >= 1)
|
||||
{
|
||||
@ -1879,8 +1879,8 @@ HTTPLOG *ParseHttpAccessLog(PKT *pkt)
|
||||
|
||||
// Check whether it starts with the HTTP-specific string
|
||||
if (CmpCaseIgnore(buf, "GET ", 4) != 0 &&
|
||||
CmpCaseIgnore(buf, "HEAD ", 5) != 0 &&
|
||||
CmpCaseIgnore(buf, "POST ", 5) != 0)
|
||||
CmpCaseIgnore(buf, "HEAD ", 5) != 0 &&
|
||||
CmpCaseIgnore(buf, "POST ", 5) != 0)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@ -2004,7 +2004,7 @@ bool ParsePacketL2Ex(PKT *p, UCHAR *buf, UINT size, bool no_l3, bool no_l3_l4_ex
|
||||
p->BroadcastPacket = true;
|
||||
b1 = true;
|
||||
b2 = true;
|
||||
for (i = 0;i < 6;i++)
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
if (p->MacHeader->DestAddress[i] != 0xff)
|
||||
{
|
||||
@ -2080,7 +2080,7 @@ bool ParsePacketL2Ex(PKT *p, UCHAR *buf, UINT size, bool no_l3, bool no_l3_l4_ex
|
||||
else
|
||||
{
|
||||
// Old IEEE 802.3 frame (payload length of the packet is written in the header)
|
||||
// (It has been used in the BPDU, etc.)
|
||||
// (It has been used in the BPDU, etc.)
|
||||
UINT length = (UINT)type_id_16;
|
||||
LLC_HEADER *llc;
|
||||
|
||||
@ -2482,10 +2482,10 @@ bool ParseICMPv6(PKT *p, UCHAR *buf, UINT size)
|
||||
}
|
||||
|
||||
icmp_info.Headers.RouterSoliciationHeader =
|
||||
(ICMPV6_ROUTER_SOLICIATION_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
(ICMPV6_ROUTER_SOLICIATION_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
|
||||
if (ParseICMPv6Options(&icmp_info.OptionList, ((UCHAR *)icmp_info.Headers.HeaderPointer) + sizeof(ICMPV6_ROUTER_SOLICIATION_HEADER),
|
||||
icmp_info.DataSize - sizeof(ICMPV6_ROUTER_SOLICIATION_HEADER)) == false)
|
||||
icmp_info.DataSize - sizeof(ICMPV6_ROUTER_SOLICIATION_HEADER)) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -2500,10 +2500,10 @@ bool ParseICMPv6(PKT *p, UCHAR *buf, UINT size)
|
||||
}
|
||||
|
||||
icmp_info.Headers.RouterAdvertisementHeader =
|
||||
(ICMPV6_ROUTER_ADVERTISEMENT_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
(ICMPV6_ROUTER_ADVERTISEMENT_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
|
||||
if (ParseICMPv6Options(&icmp_info.OptionList, ((UCHAR *)icmp_info.Headers.HeaderPointer) + sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER),
|
||||
icmp_info.DataSize - sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER)) == false)
|
||||
icmp_info.DataSize - sizeof(ICMPV6_ROUTER_ADVERTISEMENT_HEADER)) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -2518,10 +2518,10 @@ bool ParseICMPv6(PKT *p, UCHAR *buf, UINT size)
|
||||
}
|
||||
|
||||
icmp_info.Headers.NeighborSoliciationHeader =
|
||||
(ICMPV6_NEIGHBOR_SOLICIATION_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
(ICMPV6_NEIGHBOR_SOLICIATION_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
|
||||
if (ParseICMPv6Options(&icmp_info.OptionList, ((UCHAR *)icmp_info.Headers.HeaderPointer) + sizeof(ICMPV6_NEIGHBOR_SOLICIATION_HEADER),
|
||||
icmp_info.DataSize - sizeof(ICMPV6_NEIGHBOR_SOLICIATION_HEADER)) == false)
|
||||
icmp_info.DataSize - sizeof(ICMPV6_NEIGHBOR_SOLICIATION_HEADER)) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -2536,10 +2536,10 @@ bool ParseICMPv6(PKT *p, UCHAR *buf, UINT size)
|
||||
}
|
||||
|
||||
icmp_info.Headers.NeighborAdvertisementHeader =
|
||||
(ICMPV6_NEIGHBOR_ADVERTISEMENT_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
(ICMPV6_NEIGHBOR_ADVERTISEMENT_HEADER *)(((UCHAR *)icmp_info.Data));
|
||||
|
||||
if (ParseICMPv6Options(&icmp_info.OptionList, ((UCHAR *)icmp_info.Headers.HeaderPointer) + sizeof(ICMPV6_NEIGHBOR_ADVERTISEMENT_HEADER),
|
||||
icmp_info.DataSize - sizeof(ICMPV6_NEIGHBOR_ADVERTISEMENT_HEADER)) == false)
|
||||
icmp_info.DataSize - sizeof(ICMPV6_NEIGHBOR_ADVERTISEMENT_HEADER)) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -2634,7 +2634,7 @@ bool ParsePacketIPv6(PKT *p, UCHAR *buf, UINT size, bool no_l3_l4_except_icmpv6)
|
||||
|
||||
case IP_PROTO_TCP: // TCP
|
||||
if (no_l3_l4_except_icmpv6)
|
||||
{
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return ParseTCP(p, buf, size);
|
||||
@ -2987,7 +2987,7 @@ bool ParseUDP(PKT *p, UCHAR *buf, UINT size)
|
||||
dst_port = Endian16(p->L4.UDPHeader->DstPort);
|
||||
|
||||
if ((src_port == 67 && dst_port == 68) ||
|
||||
(src_port == 68 && dst_port == 67))
|
||||
(src_port == 68 && dst_port == 67))
|
||||
{
|
||||
if (p->TypeL3 == L3_IPV4)
|
||||
{
|
||||
@ -2997,13 +2997,13 @@ bool ParseUDP(PKT *p, UCHAR *buf, UINT size)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (dst_port == 53)
|
||||
|
||||
if (dst_port == 53)
|
||||
{
|
||||
ParseDNS(p, buf, size);
|
||||
return true;
|
||||
}
|
||||
|
||||
ParseDNS(p, buf, size);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
if (src_port == 500 || dst_port == 500 || src_port == 4500 || dst_port == 4500)
|
||||
{
|
||||
@ -3012,8 +3012,8 @@ bool ParseUDP(PKT *p, UCHAR *buf, UINT size)
|
||||
IKE_HEADER *ike_header = (IKE_HEADER *)p->Payload;
|
||||
|
||||
if (ike_header->InitiatorCookie != 0 && ike_header->ResponderCookie == 0 &&
|
||||
(ike_header->ExchangeType == IKE_EXCHANGE_TYPE_MAIN ||
|
||||
ike_header->ExchangeType == IKE_EXCHANGE_TYPE_AGGRESSIVE))
|
||||
(ike_header->ExchangeType == IKE_EXCHANGE_TYPE_MAIN ||
|
||||
ike_header->ExchangeType == IKE_EXCHANGE_TYPE_AGGRESSIVE))
|
||||
{
|
||||
// the IKE connection request packet is found
|
||||
p->TypeL7 = L7_IKECONN;
|
||||
@ -3303,7 +3303,7 @@ BUF *BuildDhcpOptionsBuf(LIST *o)
|
||||
}
|
||||
|
||||
b = NewBuf();
|
||||
for (i = 0;i < LIST_NUM(o);i++)
|
||||
for (i = 0; i < LIST_NUM(o); i++)
|
||||
{
|
||||
DHCP_OPTION *d = LIST_DATA(o, i);
|
||||
UINT current_size = d->Size;
|
||||
@ -3612,7 +3612,7 @@ void BuildClasslessRouteTableStr(char *str, UINT str_size, DHCP_CLASSLESS_ROUTE_
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0;i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES;i++)
|
||||
for (i = 0; i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES; i++)
|
||||
{
|
||||
DHCP_CLASSLESS_ROUTE *r = &t->Entries[i];
|
||||
|
||||
@ -3684,7 +3684,7 @@ bool ParseClasslessRouteTableStr(DHCP_CLASSLESS_ROUTE_TABLE *d, char *str)
|
||||
{
|
||||
UINT i;
|
||||
|
||||
for (i = 0;i < t->NumTokens;i++)
|
||||
for (i = 0; i < t->NumTokens; i++)
|
||||
{
|
||||
DHCP_CLASSLESS_ROUTE r;
|
||||
|
||||
@ -3784,7 +3784,7 @@ BUF *DhcpBuildClasslessRouteData(DHCP_CLASSLESS_ROUTE_TABLE *t)
|
||||
|
||||
b = NewBuf();
|
||||
|
||||
for (i = 0;i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES;i++)
|
||||
for (i = 0; i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES; i++)
|
||||
{
|
||||
DHCP_CLASSLESS_ROUTE *r = &t->Entries[i];
|
||||
|
||||
@ -3883,7 +3883,7 @@ void DhcpParseClasslessRouteData(DHCP_CLASSLESS_ROUTE_TABLE *t, void *data, UINT
|
||||
Copy(&r.SubnetMask, &mask, sizeof(IP));
|
||||
r.SubnetMaskLen = subnet_mask_len;
|
||||
|
||||
for (i = 0;i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES;i++)
|
||||
for (i = 0; i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES; i++)
|
||||
{
|
||||
if (Cmp(&t->Entries[i], &r, sizeof(DHCP_CLASSLESS_ROUTE)) == 0)
|
||||
{
|
||||
@ -3919,7 +3919,7 @@ DHCP_OPTION *GetDhcpOption(LIST *o, UINT id)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (i = 0;i < LIST_NUM(o);i++)
|
||||
for (i = 0; i < LIST_NUM(o); i++)
|
||||
{
|
||||
DHCP_OPTION *opt = LIST_DATA(o, i);
|
||||
if (opt->Id == id)
|
||||
@ -3947,7 +3947,7 @@ DHCP_CLASSLESS_ROUTE *GetBestClasslessRoute(DHCP_CLASSLESS_ROUTE_TABLE *t, IP *i
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (i = 0;i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES;i++)
|
||||
for (i = 0; i < MAX_DHCP_CLASSLESS_ROUTE_ENTRIES; i++)
|
||||
{
|
||||
DHCP_CLASSLESS_ROUTE *e = &t->Entries[i];
|
||||
|
||||
@ -3977,7 +3977,7 @@ void FreeDhcpOptions(LIST *o)
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0;i < LIST_NUM(o);i++)
|
||||
for (i = 0; i < LIST_NUM(o); i++)
|
||||
{
|
||||
DHCP_OPTION *opt = LIST_DATA(o, i);
|
||||
Free(opt->Data);
|
||||
@ -4096,10 +4096,10 @@ BUF *DhcpModifyIPv4(DHCP_MODIFY_OPTION *m, void *data, UINT size)
|
||||
|
||||
udp->Checksum = 0;
|
||||
udp->Checksum = CalcChecksumForIPv4(p->L3.IPv4Header->SrcIP,
|
||||
p->L3.IPv4Header->DstIP,
|
||||
IP_PROTO_UDP,
|
||||
udp,
|
||||
p->PacketSize - (UINT)(((UCHAR *)udp) - ((UCHAR *)p->PacketData)), 0);
|
||||
p->L3.IPv4Header->DstIP,
|
||||
IP_PROTO_UDP,
|
||||
udp,
|
||||
p->PacketSize - (UINT)(((UCHAR *)udp) - ((UCHAR *)p->PacketData)), 0);
|
||||
}
|
||||
|
||||
FreePacket(p);
|
||||
@ -4183,7 +4183,7 @@ BUF *DhcpModify(DHCP_MODIFY_OPTION *m, void *data, UINT size)
|
||||
// Rebuilding the options list
|
||||
opt_list2 = NewListFast(NULL);
|
||||
|
||||
for (i = 0;i < LIST_NUM(opt_list);i++)
|
||||
for (i = 0; i < LIST_NUM(opt_list); i++)
|
||||
{
|
||||
DHCP_OPTION *o = LIST_DATA(opt_list, i);
|
||||
DHCP_OPTION *o2 = NULL;
|
||||
|
@ -745,8 +745,8 @@ PKT *ParsePacketEx(UCHAR *buf, UINT size, bool no_l3);
|
||||
PKT *ParsePacketEx2(UCHAR *buf, UINT size, bool no_l3, UINT vlan_type_id);
|
||||
PKT *ParsePacketEx3(UCHAR *buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address);
|
||||
PKT *ParsePacketEx4(UCHAR *buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address, bool no_http, bool correct_checksum);
|
||||
PKT* ParsePacketEx5(UCHAR* buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address, bool no_http, bool correct_checksum, bool no_l3_l4_except_icmpv6);
|
||||
PKT* ParsePacketUpToICMPv6(UCHAR* buf, UINT size);
|
||||
PKT *ParsePacketEx5(UCHAR *buf, UINT size, bool no_l3, UINT vlan_type_id, bool bridge_id_as_mac_address, bool no_http, bool correct_checksum, bool no_l3_l4_except_icmpv6);
|
||||
PKT *ParsePacketUpToICMPv6(UCHAR *buf, UINT size);
|
||||
void FreePacket(PKT *p);
|
||||
void FreePacketWithData(PKT *p);
|
||||
void FreePacketIPv4(PKT *p);
|
||||
@ -783,12 +783,12 @@ USHORT CalcChecksumForIPv6(IPV6_ADDR *src_ip, IPV6_ADDR *dest_ip, UCHAR protocol
|
||||
BUF *BuildICMPv6Options(ICMPV6_OPTION_LIST *o);
|
||||
void BuildICMPv6OptionValue(BUF *b, UCHAR type, void *header_pointer, UINT total_size);
|
||||
BUF *BuildIPv6(IPV6_ADDR *dest_ip, IPV6_ADDR *src_ip, UINT id, UCHAR protocol, UCHAR hop_limit, void *data,
|
||||
UINT size);
|
||||
UINT size);
|
||||
BUF *BuildIPv6PacketHeader(IPV6_HEADER_PACKET_INFO *info, UINT *bytes_before_payload);
|
||||
UCHAR IPv6GetNextHeaderFromQueue(QUEUE *q);
|
||||
void BuildAndAddIPv6PacketOptionHeader(BUF *b, IPV6_OPTION_HEADER *opt, UCHAR next_header, UINT size);
|
||||
BUF *BuildICMPv6NeighborSoliciation(IPV6_ADDR *src_ip, IPV6_ADDR *target_ip, UCHAR *my_mac_address, UINT id);
|
||||
BUF *BuildICMPv6RouterSoliciation(IPV6_ADDR* src_ip, IPV6_ADDR* target_ip, UCHAR* my_mac_address, UINT id);
|
||||
BUF *BuildICMPv6RouterSoliciation(IPV6_ADDR *src_ip, IPV6_ADDR *target_ip, UCHAR *my_mac_address, UINT id);
|
||||
BUF *BuildICMPv6(IPV6_ADDR *src_ip, IPV6_ADDR *dest_ip, UCHAR hop_limit, UCHAR type, UCHAR code, void *data, UINT size, UINT id);
|
||||
|
||||
bool VLanRemoveTag(void **packet_data, UINT *packet_size, UINT vlan_id, UINT vlan_tpid);
|
||||
|
Reference in New Issue
Block a user