FreeRTOS-Kernel/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP
Andy Bennett 5d0908b23f
FreeRTOS+TCP Fix usGenerateChecksum on 8-bit platforms with odd-aligned buffers (#286)
* Change type of usGenerateChecksum's ulAlignBits to intptr_t

Not all platforms have 32-bit pointers. 8-bit machines such as avr8 have
16-bit pointers.

This patch changes the type of ulAlignBits and renames it to uxAlignBits to
reflect the type change.

This fixes a compiler warning on machines with pointers that aren't
32-bits.

Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org>

* Fix usGenerateChecksum on odd-aligned buffers with non zero usSum

usGenerateChecksum would generate an incorrect checksum when pucNextData
was odd-aligned and usSum was non-zero.

This was caused by the byte order of usSum not matching the byte order of
the subsequent summing operation.

Odd-aligned buffers are common on 8-bit platforms such as avr8 when using
one of the FreeRTOS dynamic heap allocators.

Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org>

* Feedback from PR#122

https://github.com/FreeRTOS/FreeRTOS/pull/122

 + Use a uintptr_t rather than an intptr_t.

Changes supplied by Hein Tibosch.

Signed-off-by: Andy Bennett <andyjpb@ashurst.eu.org>

Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
2020-09-24 21:53:43 -07:00
..
include Address MISRA Rule violations (#274) 2020-09-16 14:53:57 -07:00
portable MISRA v5 (#272) 2020-09-16 12:32:21 -07:00
tools TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
FreeRTOS_ARP.c TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
FreeRTOS_DHCP.c TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
FreeRTOS_DNS.c TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
FreeRTOS_IP.c FreeRTOS+TCP Fix usGenerateChecksum on 8-bit platforms with odd-aligned buffers (#286) 2020-09-24 21:53:43 -07:00
FreeRTOS_Sockets.c MISRA v5 (#272) 2020-09-16 12:32:21 -07:00
FreeRTOS_Stream_Buffer.c TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
FreeRTOS_TCP_IP.c TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
FreeRTOS_TCP_WIN.c TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
FreeRTOS_UDP_IP.c TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
History.txt TCP: Update version number and History.txt (#247) 2020-09-08 14:05:31 -07:00
LICENSE_INFORMATION.txt Roll up the minor changes checked into svn since V10.0.0 into new V10.0.1 ready for release. 2017-12-18 22:54:18 +00:00
readme.txt Update version number in readiness for V10.3.0 release. Sync SVN with reviewed release candidate. 2020-02-07 20:14:50 +00:00
ReadMe.url Update version number in readiness for V10.3.0 release. Sync SVN with reviewed release candidate. 2020-02-07 20:14:50 +00:00
uncrustify.cfg Sync up with Amazon-freertos repo (10th March 2020) (#34) 2020-03-11 10:19:48 -07:00

Contains the files that implement FreeRTOS+TCP.

User documentation, including an API reference is available on:
http://www.FreeRTOS.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/

A description of the source code organisation is available on:
http://www.FreeRTOS.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/TCP_Networking_Tutorial.html

The porting guide is available on:
http://www.FreeRTOS.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/FreeRTOS_TCP_Porting.html

License information is available on:
http://www.FreeRTOS.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/FreeRTOS_Plus_TCP_License.html

At this time it is recommended to use BufferAllocation_2.c in which case it is
essential to use the heap_4.c memory allocation scheme:
http://www.FreeRTOS.org/a00111.html