--- /dev/null
--- /dev/null
++*.o
++*.so
++*.a
++*.exe
++*lwip_unittests.xml
++*.suo
++*.log
++.depend*
++
++/.vscode/ipch
++
++/doc/doxygen/output/html
++
++/test/fuzz/output
++/test/fuzz/lwip_fuzz
++/test/fuzz/lwip_fuzz2
++/test/fuzz/lwip_fuzz3
++/test/fuzz/.depend
++
++/build
++
++/contrib/examples/example_app/lwipcfg.h
++/contrib/examples/example_app/lwipopts_test.h
++
++/contrib/ports/unix/example_app/build
++/contrib/ports/unix/example_app/example_app
++/contrib/ports/unix/example_app/makefsdata
++
++/contrib/ports/unix/check/build
++/contrib/ports/unix/lib/build
++/contrib/ports/unix/check/lwip_unittests
++
++/contrib/ports/win32/example_app/build
++/contrib/ports/win32/lwipcfg_msvc.h
++
++/contrib/ports/win32/msvc/Debug
++/contrib/ports/win32/msvc/Debug unittests
++/contrib/ports/win32/msvc/Release
++/contrib/ports/win32/msvc/Release unittests
++/contrib/ports/win32/msvc/*.user
++/contrib/ports/win32/msvc/*.ncb
++/contrib/ports/win32/msvc/*.cache
++/contrib/ports/win32/msvc/*.suo
++/contrib/ports/win32/msvc/ipch
++/contrib/ports/win32/msvc/*.opensdf
++/contrib/ports/win32/msvc/*.sdf
++/contrib/ports/win32/mingw/*.map
++/contrib/ports/win32/mingw/cov-int
++/contrib/ports/win32/msvc/.vs
++/contrib/apps/LwipMibCompiler/.vs
++/contrib/apps/LwipMibCompiler/CCodeGeneration/bin
++/contrib/apps/LwipMibCompiler/CCodeGeneration/obj
++/contrib/apps/LwipMibCompiler/LwipMibCompiler/bin
++/contrib/apps/LwipMibCompiler/LwipMibCompiler/obj
++/contrib/apps/LwipMibCompiler/LwipSnmpCodeGeneration/bin
++/contrib/apps/LwipMibCompiler/LwipSnmpCodeGeneration/obj
++/contrib/apps/LwipMibCompiler/MibViewer/bin
++/contrib/apps/LwipMibCompiler/MibViewer/obj
++/contrib/apps/LwipMibCompiler/SharpSnmpLib/bin
++/contrib/apps/LwipMibCompiler/SharpSnmpLib/obj
--- /dev/null
--- /dev/null
++INTRODUCTION
++
++lwIP is a small independent implementation of the TCP/IP protocol suite.
++
++The focus of the lwIP TCP/IP implementation is to reduce the RAM usage
++while still having a full scale TCP. This making lwIP suitable for use
++in embedded systems with tens of kilobytes of free RAM and room for
++around 40 kilobytes of code ROM.
++
++lwIP was originally developed by Adam Dunkels at the Computer and Networks
++Architectures (CNA) lab at the Swedish Institute of Computer Science (SICS)
++and is now developed and maintained by a worldwide network of developers.
++
++FEATURES
++
++ * IP (Internet Protocol, IPv4 and IPv6) including packet forwarding over
++ multiple network interfaces
++ * ICMP (Internet Control Message Protocol) for network maintenance and debugging
++ * IGMP (Internet Group Management Protocol) for multicast traffic management
++ * MLD (Multicast listener discovery for IPv6). Aims to be compliant with
++ RFC 2710. No support for MLDv2
++ * ND (Neighbor discovery and stateless address autoconfiguration for IPv6).
++ Aims to be compliant with RFC 4861 (Neighbor discovery) and RFC 4862
++ (Address autoconfiguration)
++ * DHCP, AutoIP/APIPA (Zeroconf), ACD (Address Conflict Detection)
++ and (stateless) DHCPv6
++ * UDP (User Datagram Protocol) including experimental UDP-lite extensions
++ * TCP (Transmission Control Protocol) with congestion control, RTT estimation
++ fast recovery/fast retransmit and sending SACKs
++ * raw/native API for enhanced performance
++ * Optional Berkeley-like socket API
++ * TLS: optional layered TCP ("altcp") for nearly transparent TLS for any
++ TCP-based protocol (ported to mbedTLS) (see changelog for more info)
++ * PPPoS and PPPoE (Point-to-point protocol over Serial/Ethernet)
++ * DNS (Domain name resolver incl. mDNS)
++ * 6LoWPAN (via IEEE 802.15.4, BLE or ZEP)
++
++
++APPLICATIONS
++
++ * HTTP server with SSI and CGI (HTTPS via altcp)
++ * SNMPv2c agent with MIB compiler (Simple Network Management Protocol), v3 via altcp
++ * SNTP (Simple network time protocol)
++ * NetBIOS name service responder
++ * MDNS (Multicast DNS) responder
++ * iPerf server implementation
++ * MQTT client (TLS support via altcp)
++
++
++LICENSE
++
++lwIP is freely available under a BSD license.
++
++
++DEVELOPMENT
++
++lwIP has grown into an excellent TCP/IP stack for embedded devices,
++and developers using the stack often submit bug fixes, improvements,
++and additions to the stack to further increase its usefulness.
++
++Development of lwIP is hosted on Savannah, a central point for
++software development, maintenance and distribution. Everyone can
++help improve lwIP by use of Savannah's interface, Git and the
++mailing list. A core team of developers will commit changes to the
++Git source tree.
++
++The lwIP TCP/IP stack is maintained in the 'src' directory and
++contributions (such as platform ports and applications) are in
++the 'contrib' directory.
++
++See doc/savannah.txt for details on Git server access for users and
++developers.
++
++The current Git tree is web-browsable:
++ https://git.savannah.gnu.org/cgit/lwip.git
++
++Submit patches and bugs via the lwIP project page:
++ https://savannah.nongnu.org/projects/lwip/
++
++Continuous integration builds (GCC, clang):
++ https://github.com/lwip-tcpip/lwip/actions
++
++
++DOCUMENTATION
++
++Self documentation of the source code is regularly extracted from the current
++Git sources and is available from this web page:
++ https://www.nongnu.org/lwip/
++
++Also, there are mailing lists you can subscribe at
++ https://savannah.nongnu.org/mail/?group=lwip
++plus searchable archives:
++ https://lists.nongnu.org/archive/html/lwip-users/
++ https://lists.nongnu.org/archive/html/lwip-devel/
++
++There is a wiki about lwIP at
++ https://lwip.wikia.com/wiki/LwIP_Wiki
++You might get questions answered there, but unfortunately, it is not as
++well maintained as it should be.
++
++lwIP was originally written by Adam Dunkels:
++ http://dunkels.com/adam/
++
++Reading Adam's papers, the files in docs/, browsing the source code
++documentation and browsing the mailing list archives is a good way to
++become familiar with the design of lwIP.
++
++Adam Dunkels <adam@sics.se>
++Leon Woestenberg <leon.woestenberg@gmx.net>
--- /dev/null
--- /dev/null
++#
++# Copyright (c) 2001, 2002 Swedish Institute of Computer Science.
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without modification,
++# are permitted provided that the following conditions are met:
++#
++# 1. Redistributions of source code must retain the above copyright notice,
++# this list of conditions and the following disclaimer.
++# 2. Redistributions in binary form must reproduce the above copyright notice,
++# this list of conditions and the following disclaimer in the documentation
++# and/or other materials provided with the distribution.
++# 3. The name of the author may not be used to endorse or promote products
++# derived from this software without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
++# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
++# SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
++# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
++# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
++# OF SUCH DAMAGE.
++#
++# This file is part of the lwIP TCP/IP stack.
++#
++# Author: Adam Dunkels <adam@sics.se>
++#
++
++all compile: lwip_fuzz lwip_fuzz2 lwip_fuzz3
++.PHONY: all clean
++
++ifeq ($(origin CC), default)
++CC=afl-gcc
++endif
++
++LDFLAGS=-lm
++# use 'make D=-DUSER_DEFINE' to pass a user define to gcc
++CFLAGS=-O2 $(D)
++
++LWIPDIR=../../src
++CONTRIBDIR=../../contrib
++include $(CONTRIBDIR)/ports/unix/Common.mk
++
++DEPFILES=.depend_fuzz .depend_lwip .depend_app
++
++clean:
++ rm -f *.o $(LWIPLIBCOMMON) $(APPLIB) lwip_fuzz lwip_fuzz2 lwip_fuzz3 *.s $(DEPFILES) *.core core
++
++depend dep: $(DEPFILES)
++ @true
++
++ifneq ($(MAKECMDGOALS),clean)
++include $(DEPFILES)
++endif
++
++.depend_fuzz: fuzz.c fuzz2.c fuzz3.c fuzz_common.c
++ $(CCDEP) $(CFLAGS) -MM $^ > .depend_fuzz || rm -f .depend_fuzz
++.depend_lwip: $(LWIPFILES)
++ $(CCDEP) $(CFLAGS) -MM $^ > .depend_lwip || rm -f .depend_lwip
++.depend_app: $(APPFILES)
++ $(CCDEP) $(CFLAGS) -MM $^ > .depend_app || rm -f .depend_app
++
++lwip_fuzz: $(DEPFILES) $(LWIPLIBCOMMON) $(APPLIB) fuzz.o fuzz_common.o
++ $(CC) $(CFLAGS) -o lwip_fuzz fuzz.o fuzz_common.o $(APPLIB) $(LWIPLIBCOMMON) $(LDFLAGS)
++
++lwip_fuzz2: $(DEPFILES) $(LWIPLIBCOMMON) $(APPLIB) fuzz2.o fuzz_common.o
++ $(CC) $(CFLAGS) -o lwip_fuzz2 fuzz2.o fuzz_common.o $(APPLIB) $(LWIPLIBCOMMON) $(LDFLAGS)
++
++lwip_fuzz3: $(DEPFILES) $(LWIPLIBCOMMON) $(APPLIB) fuzz3.o fuzz_common.o
++ $(CC) $(CFLAGS) -o lwip_fuzz3 fuzz3.o fuzz_common.o $(APPLIB) $(LWIPLIBCOMMON) $(LDFLAGS)