diff --git a/src/Cedar/IPsec_IKE.c b/src/Cedar/IPsec_IKE.c index eaee3342..90d1bec8 100644 --- a/src/Cedar/IPsec_IKE.c +++ b/src/Cedar/IPsec_IKE.c @@ -206,7 +206,7 @@ void IPsecSendPacketByIPsecSa(IKE_SERVER *ike, IPSECSA *sa, UCHAR *data, UINT da IPV4_SET_HEADER_LEN(&h, sizeof(IPV4_HEADER) / 4); h.TotalLength = Endian16((USHORT)(data_size + sizeof(IPV4_HEADER))); h.Identification = Endian16(c->TunnelSendIpId++); - h.FlagsAndFlagmentOffset[0] = h.FlagsAndFlagmentOffset[1] = 0; + h.FlagsAndFragmentOffset[0] = h.FlagsAndFragmentOffset[1] = 0; h.TimeToLive = DEFAULT_IP_TTL; h.Protocol = protocol_id; h.SrcIP = IPToUINT(&c->TunnelModeServerIP); diff --git a/src/Cedar/Layer3.c b/src/Cedar/Layer3.c index 5bb9b0d9..6a000c56 100644 --- a/src/Cedar/Layer3.c +++ b/src/Cedar/Layer3.c @@ -302,7 +302,7 @@ void L3RecvIp(L3IF *f, PKT *p, bool self) ip->TimeToLive = 0xff; // Recalculates the checksum - ip->FlagsAndFlagmentOffset[0] = ip->FlagsAndFlagmentOffset[1] = 0; + ip->FlagsAndFragmentOffset[0] = ip->FlagsAndFragmentOffset[1] = 0; icmp->Checksum = 0; icmp->Type = ICMP_TYPE_ECHO_RESPONSE; icmp->Checksum = IpChecksum(icmp, p->PacketSize - sizeof(MAC_HEADER) - header_size); diff --git a/src/Cedar/Virtual.c b/src/Cedar/Virtual.c index f3ea20c3..19e12f32 100644 --- a/src/Cedar/Virtual.c +++ b/src/Cedar/Virtual.c @@ -436,7 +436,7 @@ void NnCombineIp(NATIVE_NAT *t, IP_COMBINE *c, UINT offset, void *data, UINT siz if (last_packet) { - // If No More Flagment packet arrives, the size of this datagram is finalized + // If No More Fragment packet arrives, the size of this datagram is finalized c->Size = offset + size; } @@ -1178,7 +1178,7 @@ void NnIpSendFragmentedForInternet(NATIVE_NAT *t, UCHAR ip_protocol, UINT src_ip ip->TypeOfService = DEFAULT_IP_TOS; ip->TotalLength = Endian16((USHORT)(size + IP_HEADER_SIZE)); ip->Identification = Endian16(id); - ip->FlagsAndFlagmentOffset[0] = ip->FlagsAndFlagmentOffset[1] = 0; + ip->FlagsAndFragmentOffset[0] = ip->FlagsAndFragmentOffset[1] = 0; IPV4_SET_OFFSET(ip, (offset / 8)); if ((offset + size) >= total_size) { @@ -7637,7 +7637,7 @@ void CombineIp(VH *v, IP_COMBINE *c, UINT offset, void *data, UINT size, bool la if (last_packet) { - // If No More Flagment packet arrives, the size of this datagram is finalized + // If No More Fragment packet arrives, the size of this datagram is finalized c->Size = offset + size; } @@ -8847,7 +8847,7 @@ void SendFragmentedIp(VH *v, UINT dest_ip, UINT src_ip, USHORT id, USHORT total_ ip->TypeOfService = DEFAULT_IP_TOS; ip->TotalLength = Endian16((USHORT)(size + IP_HEADER_SIZE)); ip->Identification = Endian16(id); - ip->FlagsAndFlagmentOffset[0] = ip->FlagsAndFlagmentOffset[1] = 0; + ip->FlagsAndFragmentOffset[0] = ip->FlagsAndFragmentOffset[1] = 0; IPV4_SET_OFFSET(ip, (offset / 8)); if ((offset + size) >= total_size) { diff --git a/src/Mayaqua/TcpIp.h b/src/Mayaqua/TcpIp.h index 37df507f..e35238a8 100644 --- a/src/Mayaqua/TcpIp.h +++ b/src/Mayaqua/TcpIp.h @@ -200,7 +200,7 @@ struct IPV4_HEADER UCHAR TypeOfService; // Service Type USHORT TotalLength; // Total size USHORT Identification; // Identifier - UCHAR FlagsAndFlagmentOffset[2]; // Flag and Fragment offset + UCHAR FlagsAndFragmentOffset[2]; // Flag and Fragment offset UCHAR TimeToLive; // TTL UCHAR Protocol; // Protocol USHORT Checksum; // Checksum @@ -215,10 +215,10 @@ struct IPV4_HEADER #define IPV4_SET_HEADER_LEN(h, v) ((h)->VersionAndHeaderLength |= ((v) & 0x0f)) // Macro for IPv4 fragment related operation -#define IPV4_GET_FLAGS(h) (((h)->FlagsAndFlagmentOffset[0] >> 5) & 0x07) -#define IPV4_SET_FLAGS(h, v) ((h)->FlagsAndFlagmentOffset[0] |= (((v) & 0x07) << 5)) -#define IPV4_GET_OFFSET(h) (((h)->FlagsAndFlagmentOffset[0] & 0x1f) * 256 + ((h)->FlagsAndFlagmentOffset[1])) -#define IPV4_SET_OFFSET(h, v) {(h)->FlagsAndFlagmentOffset[0] |= (UCHAR)((v) / 256); (h)->FlagsAndFlagmentOffset[1] = (UCHAR)((v) % 256);} +#define IPV4_GET_FLAGS(h) (((h)->FlagsAndFragmentOffset[0] >> 5) & 0x07) +#define IPV4_SET_FLAGS(h, v) ((h)->FlagsAndFragmentOffset[0] |= (((v) & 0x07) << 5)) +#define IPV4_GET_OFFSET(h) (((h)->FlagsAndFragmentOffset[0] & 0x1f) * 256 + ((h)->FlagsAndFragmentOffset[1])) +#define IPV4_SET_OFFSET(h, v) {(h)->FlagsAndFragmentOffset[0] |= (UCHAR)((v) / 256); (h)->FlagsAndFragmentOffset[1] = (UCHAR)((v) % 256);} // IPv4 / IPv6 common protocol #define IP_PROTO_TCP 0x06 // TCP protocol @@ -359,7 +359,7 @@ struct DNSV4_HEADER struct NBTDG_HEADER { UCHAR MessageType; - UCHAR MoreFlagments; + UCHAR MoreFragments; USHORT DatagramId; UINT SrcIP; USHORT SrcPort; @@ -441,17 +441,17 @@ struct IPV6_FRAGMENT_HEADER { UCHAR NextHeader; // Next header UCHAR Reserved; // Reserved - UCHAR FlagmentOffset1; // Fragment offset 1 (/8, 8 bit) - UCHAR FlagmentOffset2AndFlags; // Fragment offset 2 (/8, 5 bit) + Reserved (2 bit) + More flag (1 bit) + UCHAR FragmentOffset1; // Fragment offset 1 (/8, 8 bit) + UCHAR FragmentOffset2AndFlags; // Fragment offset 2 (/8, 5 bit) + Reserved (2 bit) + More flag (1 bit) UINT Identification; // ID } GCC_PACKED; // Macro for IPv6 fragment header operation -#define IPV6_GET_FRAGMENT_OFFSET(h) (((((h)->FlagmentOffset1) << 5) & 0x1fe0) | (((h)->FlagmentOffset2AndFlags >> 3) & 0x1f)) -#define IPV6_SET_FRAGMENT_OFFSET(h, v) ((h)->FlagmentOffset1 = (v / 32) & 0xff, \ - ((h)->FlagmentOffset2AndFlags = ((v % 256) << 3) & 0xf8) | ((h)->FlagmentOffset2AndFlags & 0x07)) -#define IPV6_GET_FLAGS(h) ((h)->FlagmentOffset2AndFlags & 0x0f) -#define IPV6_SET_FLAGS(h, v) ((h)->FlagmentOffset2AndFlags = (((h)->FlagmentOffset2AndFlags & 0xf8) | (v & 0x07))) +#define IPV6_GET_FRAGMENT_OFFSET(h) (((((h)->FragmentOffset1) << 5) & 0x1fe0) | (((h)->FragmentOffset2AndFlags >> 3) & 0x1f)) +#define IPV6_SET_FRAGMENT_OFFSET(h, v) ((h)->FragmentOffset1 = (v / 32) & 0xff, \ + ((h)->FragmentOffset2AndFlags = ((v % 256) << 3) & 0xf8) | ((h)->FragmentOffset2AndFlags & 0x07)) +#define IPV6_GET_FLAGS(h) ((h)->FragmentOffset2AndFlags & 0x0f) +#define IPV6_SET_FLAGS(h, v) ((h)->FragmentOffset2AndFlags = (((h)->FragmentOffset2AndFlags & 0xf8) | (v & 0x07))) // Flag #define IPV6_FRAGMENT_HEADER_FLAG_MORE_FRAGMENTS 0x01 // There are more fragments diff --git a/src/Wfp/WfpInner.h b/src/Wfp/WfpInner.h index cfa23712..efb9292c 100644 --- a/src/Wfp/WfpInner.h +++ b/src/Wfp/WfpInner.h @@ -244,7 +244,7 @@ typedef struct WFP_IPV4_HEADER UCHAR TypeOfService; // Service Type USHORT TotalLength; // Total size USHORT Identification; // Identifier - UCHAR FlagsAndFlagmentOffset[2]; // The flag and fragment offset + UCHAR FlagsAndFragmentOffset[2]; // The flag and fragment offset UCHAR TimeToLive; // TTL UCHAR Protocol; // Protocol USHORT Checksum; // Checksum