mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-01 04:12:07 +00:00
Compare commits
79 Commits
07ec589dd3
...
80e2be17ad
Author | SHA1 | Date | |
---|---|---|---|
|
80e2be17ad | ||
|
f98ca529d4 | ||
|
d0efd9ef7b | ||
|
e799c266fa | ||
|
cb511019b0 | ||
|
9004e7bd77 | ||
|
17b1f5d382 | ||
|
10dc9b7eb3 | ||
|
c3d6fe9d72 | ||
|
93821fc437 | ||
|
7c494b3829 | ||
|
e1b8080346 | ||
|
347054b329 | ||
|
c167a54540 | ||
|
25de99d1c1 | ||
|
09d929f7ff | ||
|
83abc8714c | ||
|
09188668c7 | ||
|
b413b04093 | ||
|
ee1523630a | ||
|
5e3268cf3e | ||
|
8c1190143c | ||
|
5e45328bb5 | ||
|
b6b20613ce | ||
|
e7abb85d63 | ||
|
3c06267d8e | ||
|
0ab52ff447 | ||
|
20c9b117e1 | ||
|
34516d5c2e | ||
|
670a2f0827 | ||
|
1eeb70fbfa | ||
|
b9ca1deba8 | ||
|
efe78e7e5b | ||
|
6864eb1749 | ||
|
35cbad52cc | ||
|
574bd6e5aa | ||
|
de0b97861a | ||
|
f5e7e8e576 | ||
|
4f88651247 | ||
|
e01c9a9504 | ||
|
90a440eafd | ||
|
583f352f60 | ||
|
7fd1350802 | ||
|
c8d9adde0f | ||
|
e655b41a49 | ||
|
2e650364fa | ||
|
ab1f582043 | ||
|
b5f6720f88 | ||
|
5ec4c1d1f2 | ||
|
9e2fb2806f | ||
|
4323e95dce | ||
|
66ef250b8c | ||
|
c8f42025ce | ||
|
16e8ef3145 | ||
|
76c7ac5cf9 | ||
|
98e63b6acf | ||
|
20f6ac7426 | ||
|
0627c55c51 | ||
|
732d3411bf | ||
|
9509acd876 | ||
|
5fea01a0a8 | ||
|
f85ed72bac | ||
|
1ef6189287 | ||
|
ae5a5b99eb | ||
|
de6b0a35f8 | ||
|
dad8c4c72a | ||
|
14444c1c7f | ||
|
2d6883c432 | ||
|
0d5db9469e | ||
|
339372919a | ||
|
6f700a157d | ||
|
2159f84682 | ||
|
7807f706f3 | ||
|
4f78da983f | ||
|
d8b97bfc5d | ||
|
f7fe057821 | ||
|
3792075baf | ||
|
4e6dd9c576 | ||
|
36cb95c4d2 |
2
.github/workflows/ci-linux.yml
vendored
2
.github/workflows/ci-linux.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- name: Install deps
|
- name: Install deps
|
||||||
run: sudo apt-get install check ninja-build doxygen
|
run: sudo apt-get install check ninja-build doxygen
|
||||||
|
|
||||||
|
6
.github/workflows/codeql-buildscript.sh
vendored
Normal file
6
.github/workflows/codeql-buildscript.sh
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
sudo apt-get install check ninja-build doxygen
|
||||||
|
cp contrib/examples/example_app/lwipcfg.h.ci contrib/examples/example_app/lwipcfg.h
|
||||||
|
make -C contrib/ports/unix/check
|
||||||
|
mkdir build && cd build && cmake .. -G Ninja && cmake --build .
|
126
.github/workflows/codeql.yml
vendored
Normal file
126
.github/workflows/codeql.yml
vendored
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
# For most projects, this workflow file will not need changing; you simply need
|
||||||
|
# to commit it to your repository.
|
||||||
|
#
|
||||||
|
# You may wish to alter this file to override the set of languages analyzed,
|
||||||
|
# or to provide custom queries or build logic.
|
||||||
|
#
|
||||||
|
# ******** NOTE ********
|
||||||
|
# We have attempted to detect the languages in your repository. Please check
|
||||||
|
# the `language` matrix defined below to confirm you have the correct set of
|
||||||
|
# supported CodeQL languages.
|
||||||
|
#
|
||||||
|
name: "CodeQL"
|
||||||
|
|
||||||
|
on:
|
||||||
|
# push:
|
||||||
|
# branches: [ "main", "master" ]
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
pull_request:
|
||||||
|
branches: '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
name: Analyze
|
||||||
|
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||||
|
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||||
|
# - https://gh.io/supported-runners-and-hardware-resources
|
||||||
|
# - https://gh.io/using-larger-runners
|
||||||
|
# Consider using larger runners for possible analysis time improvements.
|
||||||
|
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-20.04' }}
|
||||||
|
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
language: [ 'cpp' ]
|
||||||
|
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
|
||||||
|
# Use only 'java' to analyze code written in Java, Kotlin or both
|
||||||
|
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
|
||||||
|
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
# Initializes the CodeQL tools for scanning.
|
||||||
|
- name: Initialize CodeQL
|
||||||
|
uses: github/codeql-action/init@v2
|
||||||
|
with:
|
||||||
|
languages: ${{ matrix.language }}
|
||||||
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
|
# By default, queries listed here will override any specified in a config file.
|
||||||
|
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||||
|
|
||||||
|
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||||
|
# queries: security-extended,security-and-quality
|
||||||
|
queries: security-and-quality
|
||||||
|
|
||||||
|
|
||||||
|
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
|
||||||
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
|
#- name: Autobuild
|
||||||
|
# uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
|
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||||
|
|
||||||
|
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
||||||
|
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
||||||
|
|
||||||
|
- run: |
|
||||||
|
./.github/workflows/codeql-buildscript.sh
|
||||||
|
|
||||||
|
- name: Perform CodeQL Analysis
|
||||||
|
uses: github/codeql-action/analyze@v2
|
||||||
|
with:
|
||||||
|
category: "/language:${{matrix.language}}"
|
||||||
|
upload: false
|
||||||
|
id: step1
|
||||||
|
|
||||||
|
# Filter out rules with low severity or high false positve rate
|
||||||
|
# Also filter out warnings in third-party code
|
||||||
|
- name: Filter out unwanted errors and warnings
|
||||||
|
uses: advanced-security/filter-sarif@v1
|
||||||
|
with:
|
||||||
|
patterns: |
|
||||||
|
-**:cpp/path-injection
|
||||||
|
-**:cpp/world-writable-file-creation
|
||||||
|
-**:cpp/poorly-documented-function
|
||||||
|
-**:cpp/potentially-dangerous-function
|
||||||
|
-**:cpp/use-of-goto
|
||||||
|
-**:cpp/integer-multiplication-cast-to-long
|
||||||
|
-**:cpp/comparison-with-wider-type
|
||||||
|
-**:cpp/leap-year/*
|
||||||
|
-**:cpp/ambiguously-signed-bit-field
|
||||||
|
-**:cpp/suspicious-pointer-scaling
|
||||||
|
-**:cpp/suspicious-pointer-scaling-void
|
||||||
|
-**:cpp/unsigned-comparison-zero
|
||||||
|
-**/cmake*/Modules/**
|
||||||
|
input: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
|
||||||
|
output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
|
||||||
|
|
||||||
|
- name: Upload CodeQL results to code scanning
|
||||||
|
uses: github/codeql-action/upload-sarif@v2
|
||||||
|
with:
|
||||||
|
sarif_file: ${{ steps.step1.outputs.sarif-output }}
|
||||||
|
category: "/language:${{matrix.language}}"
|
||||||
|
|
||||||
|
- name: Upload CodeQL results as an artifact
|
||||||
|
if: success() || failure()
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: codeql-results
|
||||||
|
path: ${{ steps.step1.outputs.sarif-output }}
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
|
- name: Fail if an error is found
|
||||||
|
run: |
|
||||||
|
./.github/workflows/fail_on_error.py \
|
||||||
|
${{ steps.step1.outputs.sarif-output }}/cpp.sarif
|
34
.github/workflows/fail_on_error.py
vendored
Executable file
34
.github/workflows/fail_on_error.py
vendored
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Return whether SARIF file contains error-level results
|
||||||
|
def codeql_sarif_contain_error(filename):
|
||||||
|
with open(filename, 'r') as f:
|
||||||
|
s = json.load(f)
|
||||||
|
|
||||||
|
for run in s.get('runs', []):
|
||||||
|
rules_metadata = run['tool']['driver']['rules']
|
||||||
|
if not rules_metadata:
|
||||||
|
rules_metadata = run['tool']['extensions'][0]['rules']
|
||||||
|
|
||||||
|
for res in run.get('results', []):
|
||||||
|
if 'ruleIndex' in res:
|
||||||
|
rule_index = res['ruleIndex']
|
||||||
|
elif 'rule' in res and 'index' in res['rule']:
|
||||||
|
rule_index = res['rule']['index']
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
rule_level = rules_metadata[rule_index]['defaultConfiguration']['level']
|
||||||
|
except IndexError as e:
|
||||||
|
print(e, rule_index, len(rules_metadata))
|
||||||
|
else:
|
||||||
|
if rule_level == 'error':
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if codeql_sarif_contain_error(sys.argv[1]):
|
||||||
|
sys.exit(1)
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -4,6 +4,7 @@
|
|||||||
*.exe
|
*.exe
|
||||||
*lwip_unittests.xml
|
*lwip_unittests.xml
|
||||||
*.suo
|
*.suo
|
||||||
|
*.swp
|
||||||
*.log
|
*.log
|
||||||
.depend*
|
.depend*
|
||||||
|
|
||||||
@ -35,8 +36,14 @@
|
|||||||
|
|
||||||
/contrib/ports/win32/msvc/Debug
|
/contrib/ports/win32/msvc/Debug
|
||||||
/contrib/ports/win32/msvc/Debug unittests
|
/contrib/ports/win32/msvc/Debug unittests
|
||||||
|
/contrib/ports/win32/msvc/Debug fuzz
|
||||||
|
/contrib/ports/win32/msvc/Debug fuzz2
|
||||||
|
/contrib/ports/win32/msvc/Debug fuzz3
|
||||||
/contrib/ports/win32/msvc/Release
|
/contrib/ports/win32/msvc/Release
|
||||||
/contrib/ports/win32/msvc/Release unittests
|
/contrib/ports/win32/msvc/Release unittests
|
||||||
|
/contrib/ports/win32/msvc/Release fuzz
|
||||||
|
/contrib/ports/win32/msvc/Release fuzz2
|
||||||
|
/contrib/ports/win32/msvc/x64
|
||||||
/contrib/ports/win32/msvc/*.user
|
/contrib/ports/win32/msvc/*.user
|
||||||
/contrib/ports/win32/msvc/*.ncb
|
/contrib/ports/win32/msvc/*.ncb
|
||||||
/contrib/ports/win32/msvc/*.cache
|
/contrib/ports/win32/msvc/*.cache
|
||||||
|
@ -6,6 +6,11 @@ HISTORY
|
|||||||
|
|
||||||
* [Enter new changes just after this line - do not remove this line]
|
* [Enter new changes just after this line - do not remove this line]
|
||||||
|
|
||||||
|
++ Bugfixes:
|
||||||
|
|
||||||
|
2023-09-28: Erik Ekman
|
||||||
|
* Fix ND6 Router Advertisement parsing when NETIF_MAX_HWADDR_LEN is above 6.
|
||||||
|
|
||||||
(STABLE-2.2.0):
|
(STABLE-2.2.0):
|
||||||
|
|
||||||
2018-10-02: Dirk Ziegelmeier
|
2018-10-02: Dirk Ziegelmeier
|
||||||
|
@ -39,7 +39,9 @@ CODESPELL_OPTS="-q 2" # Disable "WARNING: Binary file"
|
|||||||
CODESPELL_OPTS+=" --check-hidden"
|
CODESPELL_OPTS+=" --check-hidden"
|
||||||
# Disable false positives "nd => and, 2nd", "ans => and", "tolen => token",
|
# Disable false positives "nd => and, 2nd", "ans => and", "tolen => token",
|
||||||
# "ofo => of", "WAN => WANT", "mut => must, mutt, moot"
|
# "ofo => of", "WAN => WANT", "mut => must, mutt, moot"
|
||||||
CODESPELL_OPTS+=" --ignore-words-list=nd,ans,tolen,ofo,wan,mut "
|
CODESPELL_OPTS+=" --ignore-words-list=nd,ans,tolen,ofo,wan,mut,clen,useg,clos "
|
||||||
|
CODESPELL_OPTS+=" --ignore-words-list=devine,clinet,linz,garantie,explicite,numer "
|
||||||
|
CODESPELL_OPTS+=" --ignore-words-list=skool "
|
||||||
# propagate all options to codespell -> pass "-w" to this script to write changes
|
# propagate all options to codespell -> pass "-w" to this script to write changes
|
||||||
CODESPELL_OPTS+="$@"
|
CODESPELL_OPTS+="$@"
|
||||||
|
|
||||||
|
@ -268,7 +268,7 @@ ping_thread(void *arg)
|
|||||||
LWIP_ASSERT("setting receive timeout failed", ret == 0);
|
LWIP_ASSERT("setting receive timeout failed", ret == 0);
|
||||||
LWIP_UNUSED_ARG(ret);
|
LWIP_UNUSED_ARG(ret);
|
||||||
|
|
||||||
while (1) {
|
while (ping_target != NULL) {
|
||||||
if (ping_send(s, ping_target) == ERR_OK) {
|
if (ping_send(s, ping_target) == ERR_OK) {
|
||||||
LWIP_DEBUGF( PING_DEBUG, ("ping: send "));
|
LWIP_DEBUGF( PING_DEBUG, ("ping: send "));
|
||||||
ip_addr_debug_print(PING_DEBUG, ping_target);
|
ip_addr_debug_print(PING_DEBUG, ping_target);
|
||||||
@ -285,6 +285,7 @@ ping_thread(void *arg)
|
|||||||
}
|
}
|
||||||
sys_msleep(PING_DELAY);
|
sys_msleep(PING_DELAY);
|
||||||
}
|
}
|
||||||
|
lwip_close(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* PING_USE_SOCKETS */
|
#else /* PING_USE_SOCKETS */
|
||||||
@ -297,10 +298,11 @@ ping_recv(void *arg, struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *addr)
|
|||||||
LWIP_UNUSED_ARG(arg);
|
LWIP_UNUSED_ARG(arg);
|
||||||
LWIP_UNUSED_ARG(pcb);
|
LWIP_UNUSED_ARG(pcb);
|
||||||
LWIP_UNUSED_ARG(addr);
|
LWIP_UNUSED_ARG(addr);
|
||||||
|
LWIP_ASSERT("addr != NULL", addr != NULL);
|
||||||
LWIP_ASSERT("p != NULL", p != NULL);
|
LWIP_ASSERT("p != NULL", p != NULL);
|
||||||
|
|
||||||
if ((p->tot_len >= (PBUF_IP_HLEN + sizeof(struct icmp_echo_hdr))) &&
|
if ((p->tot_len >= (IP_HLEN + sizeof(struct icmp_echo_hdr))) &&
|
||||||
pbuf_remove_header(p, PBUF_IP_HLEN) == 0) {
|
pbuf_remove_header(p, IP_HLEN) == 0) {
|
||||||
iecho = (struct icmp_echo_hdr *)p->payload;
|
iecho = (struct icmp_echo_hdr *)p->payload;
|
||||||
|
|
||||||
if ((iecho->id == PING_ID) && (iecho->seqno == lwip_htons(ping_seq_num))) {
|
if ((iecho->id == PING_ID) && (iecho->seqno == lwip_htons(ping_seq_num))) {
|
||||||
@ -314,7 +316,7 @@ ping_recv(void *arg, struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *addr)
|
|||||||
return 1; /* eat the packet */
|
return 1; /* eat the packet */
|
||||||
}
|
}
|
||||||
/* not eaten, restore original packet */
|
/* not eaten, restore original packet */
|
||||||
pbuf_add_header(p, PBUF_IP_HLEN);
|
pbuf_add_header(p, IP_HLEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0; /* don't eat the packet */
|
return 0; /* don't eat the packet */
|
||||||
@ -376,14 +378,33 @@ void
|
|||||||
ping_send_now(void)
|
ping_send_now(void)
|
||||||
{
|
{
|
||||||
LWIP_ASSERT("ping_pcb != NULL", ping_pcb != NULL);
|
LWIP_ASSERT("ping_pcb != NULL", ping_pcb != NULL);
|
||||||
|
LWIP_ASSERT("ping_target != NULL", ping_target != NULL);
|
||||||
ping_send(ping_pcb, ping_target);
|
ping_send(ping_pcb, ping_target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
ping_raw_stop(void)
|
||||||
|
{
|
||||||
|
sys_untimeout(ping_timeout, ping_pcb);
|
||||||
|
if (ping_pcb != NULL) {
|
||||||
|
raw_remove(ping_pcb);
|
||||||
|
ping_pcb = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* PING_USE_SOCKETS */
|
#endif /* PING_USE_SOCKETS */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize thread (socket mode) or timer (callback mode) to cyclically send pings
|
||||||
|
* to a target.
|
||||||
|
* Running ping is implicitly stopped.
|
||||||
|
*/
|
||||||
void
|
void
|
||||||
ping_init(const ip_addr_t* ping_addr)
|
ping_init(const ip_addr_t* ping_addr)
|
||||||
{
|
{
|
||||||
|
ping_stop();
|
||||||
|
|
||||||
|
LWIP_ASSERT("ping_addr != NULL", ping_addr != NULL);
|
||||||
ping_target = ping_addr;
|
ping_target = ping_addr;
|
||||||
|
|
||||||
#if PING_USE_SOCKETS
|
#if PING_USE_SOCKETS
|
||||||
@ -393,4 +414,15 @@ ping_init(const ip_addr_t* ping_addr)
|
|||||||
#endif /* PING_USE_SOCKETS */
|
#endif /* PING_USE_SOCKETS */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stop sending more pings.
|
||||||
|
*/
|
||||||
|
void ping_stop(void)
|
||||||
|
{
|
||||||
|
#if !PING_USE_SOCKETS
|
||||||
|
ping_raw_stop();
|
||||||
|
#endif /* !PING_USE_SOCKETS */
|
||||||
|
ping_target = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* LWIP_RAW */
|
#endif /* LWIP_RAW */
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void ping_init(const ip_addr_t* ping_addr);
|
void ping_init(const ip_addr_t* ping_addr);
|
||||||
|
void ping_stop(void);
|
||||||
|
|
||||||
#if !PING_USE_SOCKETS
|
#if !PING_USE_SOCKETS
|
||||||
void ping_send_now(void);
|
void ping_send_now(void);
|
||||||
|
@ -130,7 +130,7 @@ a lot of data that needs to be copied, this should be set high. */
|
|||||||
/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
|
/* MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One
|
||||||
per active UDP "connection". */
|
per active UDP "connection". */
|
||||||
#define MEMP_NUM_UDP_PCB 8
|
#define MEMP_NUM_UDP_PCB 8
|
||||||
/* MEMP_NUM_TCP_PCB: the number of simulatenously active TCP
|
/* MEMP_NUM_TCP_PCB: the number of simultaneously active TCP
|
||||||
connections. */
|
connections. */
|
||||||
#define MEMP_NUM_TCP_PCB 5
|
#define MEMP_NUM_TCP_PCB 5
|
||||||
/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP
|
/* MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP
|
||||||
@ -139,7 +139,7 @@ a lot of data that needs to be copied, this should be set high. */
|
|||||||
/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP
|
/* MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP
|
||||||
segments. */
|
segments. */
|
||||||
#define MEMP_NUM_TCP_SEG 16
|
#define MEMP_NUM_TCP_SEG 16
|
||||||
/* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active
|
/* MEMP_NUM_SYS_TIMEOUT: the number of simultaneously active
|
||||||
timeouts. */
|
timeouts. */
|
||||||
#define MEMP_NUM_SYS_TIMEOUT 17
|
#define MEMP_NUM_SYS_TIMEOUT 17
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@ static const struct mqtt_connect_client_info_t mqtt_client_info =
|
|||||||
100, /* keep alive */
|
100, /* keep alive */
|
||||||
NULL, /* will_topic */
|
NULL, /* will_topic */
|
||||||
NULL, /* will_msg */
|
NULL, /* will_msg */
|
||||||
|
0, /* will_msg_len */
|
||||||
0, /* will_qos */
|
0, /* will_qos */
|
||||||
0 /* will_retain */
|
0 /* will_retain */
|
||||||
#if LWIP_ALTCP && LWIP_ALTCP_TLS
|
#if LWIP_ALTCP && LWIP_ALTCP_TLS
|
||||||
|
@ -141,6 +141,7 @@ tftp_example_init_client(void)
|
|||||||
ip_addr_t srv;
|
ip_addr_t srv;
|
||||||
int ret = ipaddr_aton(LWIP_TFTP_EXAMPLE_CLIENT_REMOTEIP, &srv);
|
int ret = ipaddr_aton(LWIP_TFTP_EXAMPLE_CLIENT_REMOTEIP, &srv);
|
||||||
LWIP_ASSERT("ipaddr_aton failed", ret == 1);
|
LWIP_ASSERT("ipaddr_aton failed", ret == 1);
|
||||||
|
LWIP_UNUSED_ARG(ret);
|
||||||
|
|
||||||
err = tftp_init_client(&tftp);
|
err = tftp_init_client(&tftp);
|
||||||
LWIP_ASSERT("tftp_init_client failed", err == ERR_OK);
|
LWIP_ASSERT("tftp_init_client failed", err == ERR_OK);
|
||||||
|
@ -109,7 +109,7 @@
|
|||||||
#define MEMP_NUM_UDP_PCB 4
|
#define MEMP_NUM_UDP_PCB 4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections.
|
* MEMP_NUM_TCP_PCB: the number of simultaneously active TCP connections.
|
||||||
* (requires the LWIP_TCP option)
|
* (requires the LWIP_TCP option)
|
||||||
*/
|
*/
|
||||||
#define MEMP_NUM_TCP_PCB 4
|
#define MEMP_NUM_TCP_PCB 4
|
||||||
@ -133,7 +133,7 @@
|
|||||||
#define MEMP_NUM_REASSDATA 1
|
#define MEMP_NUM_REASSDATA 1
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing
|
* MEMP_NUM_ARP_QUEUE: the number of simultaneously queued outgoing
|
||||||
* packets (pbufs) that are waiting for an ARP request (to resolve
|
* packets (pbufs) that are waiting for an ARP request (to resolve
|
||||||
* their destination address) to finish.
|
* their destination address) to finish.
|
||||||
* (requires the ARP_QUEUEING option)
|
* (requires the ARP_QUEUEING option)
|
||||||
@ -141,7 +141,7 @@
|
|||||||
#define MEMP_NUM_ARP_QUEUE 2
|
#define MEMP_NUM_ARP_QUEUE 2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts.
|
* MEMP_NUM_SYS_TIMEOUT: the number of simultaneously active timeouts.
|
||||||
* (requires NO_SYS==0)
|
* (requires NO_SYS==0)
|
||||||
*/
|
*/
|
||||||
#define MEMP_NUM_SYS_TIMEOUT 8
|
#define MEMP_NUM_SYS_TIMEOUT 8
|
||||||
@ -341,7 +341,7 @@
|
|||||||
*/
|
*/
|
||||||
#define LWIP_TCP 1
|
#define LWIP_TCP 1
|
||||||
|
|
||||||
#define LWIP_LISTEN_BACKLOG 0
|
#define TCP_LISTEN_BACKLOG 0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
----------------------------------
|
----------------------------------
|
||||||
@ -359,7 +359,6 @@
|
|||||||
* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is
|
* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is
|
||||||
* designed to accommodate single full size TCP frame in one pbuf, including
|
* designed to accommodate single full size TCP frame in one pbuf, including
|
||||||
* TCP_MSS, IP header, and link header.
|
* TCP_MSS, IP header, and link header.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
|
#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN)
|
||||||
|
|
||||||
|
@ -52,6 +52,10 @@
|
|||||||
#define LWIP_TIMEVAL_PRIVATE 0
|
#define LWIP_TIMEVAL_PRIVATE 0
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LWIP_ERRNO_INCLUDE <errno.h>
|
#define LWIP_ERRNO_INCLUDE <errno.h>
|
||||||
|
|
||||||
#if defined(LWIP_UNIX_LINUX) || defined(LWIP_UNIX_HURD) || defined(LWIP_UNIX_KFREEBSD)
|
#if defined(LWIP_UNIX_LINUX) || defined(LWIP_UNIX_HURD) || defined(LWIP_UNIX_KFREEBSD)
|
||||||
@ -86,4 +90,8 @@ typedef struct sio_status_s sio_status_t;
|
|||||||
|
|
||||||
typedef unsigned int sys_prot_t;
|
typedef unsigned int sys_prot_t;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* LWIP_ARCH_CC_H */
|
#endif /* LWIP_ARCH_CC_H */
|
||||||
|
@ -34,6 +34,10 @@
|
|||||||
|
|
||||||
#include <sys/times.h>
|
#include <sys/times.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef PERF
|
#ifdef PERF
|
||||||
#define PERF_START { \
|
#define PERF_START { \
|
||||||
unsigned long __c1l, __c1h, __c2l, __c2h; \
|
unsigned long __c1l, __c1h, __c2l, __c2h; \
|
||||||
@ -60,4 +64,8 @@ void perf_print_times(struct tms *start, struct tms *end, char *key);
|
|||||||
|
|
||||||
void perf_init(char *fname);
|
void perf_init(char *fname);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* LWIP_ARCH_PERF_H */
|
#endif /* LWIP_ARCH_PERF_H */
|
||||||
|
@ -32,6 +32,10 @@
|
|||||||
#ifndef LWIP_ARCH_SYS_ARCH_H
|
#ifndef LWIP_ARCH_SYS_ARCH_H
|
||||||
#define LWIP_ARCH_SYS_ARCH_H
|
#define LWIP_ARCH_SYS_ARCH_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SYS_MBOX_NULL NULL
|
#define SYS_MBOX_NULL NULL
|
||||||
#define SYS_SEM_NULL NULL
|
#define SYS_SEM_NULL NULL
|
||||||
|
|
||||||
@ -87,4 +91,8 @@ void sys_unlock_tcpip_core(void);
|
|||||||
#define UNLOCK_TCPIP_CORE() sys_unlock_tcpip_core()
|
#define UNLOCK_TCPIP_CORE() sys_unlock_tcpip_core()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* LWIP_ARCH_SYS_ARCH_H */
|
#endif /* LWIP_ARCH_SYS_ARCH_H */
|
||||||
|
@ -3,6 +3,10 @@
|
|||||||
|
|
||||||
#include "lwip/sys.h"
|
#include "lwip/sys.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
/** How many bytes in fifo */
|
/** How many bytes in fifo */
|
||||||
#define FIFOSIZE 2048
|
#define FIFOSIZE 2048
|
||||||
|
|
||||||
@ -50,5 +54,9 @@ void fifoPut(fifo_t * fifo, int fd);
|
|||||||
*/
|
*/
|
||||||
void fifoInit(fifo_t * fifo);
|
void fifoInit(fifo_t * fifo);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2,6 +2,10 @@
|
|||||||
#ifndef LWIP_LIST_H
|
#ifndef LWIP_LIST_H
|
||||||
#define LWIP_LIST_H
|
#define LWIP_LIST_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
struct elem;
|
struct elem;
|
||||||
|
|
||||||
struct list {
|
struct list {
|
||||||
@ -23,4 +27,8 @@ void list_delete(struct list *list);
|
|||||||
int list_remove(struct list *list, void *elem);
|
int list_remove(struct list *list, void *elem);
|
||||||
void list_map(struct list *list, void (* func)(void *arg));
|
void list_map(struct list *list, void (* func)(void *arg));
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -34,6 +34,14 @@
|
|||||||
|
|
||||||
#include "lwip/netif.h"
|
#include "lwip/netif.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
err_t pcapif_init(struct netif *netif);
|
err_t pcapif_init(struct netif *netif);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* LWIP_PCAPIF_H */
|
#endif /* LWIP_PCAPIF_H */
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
#include "netif/fifo.h"
|
#include "netif/fifo.h"
|
||||||
/*#include "netif/pppif.h"*/
|
/*#include "netif/pppif.h"*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
struct sio_status_s {
|
struct sio_status_s {
|
||||||
int fd;
|
int fd;
|
||||||
fifo_t myfifo;
|
fifo_t myfifo;
|
||||||
@ -56,5 +60,9 @@ void sio_flush( sio_status_t * siostat );
|
|||||||
*/
|
*/
|
||||||
void sio_change_baud( sioBaudrates baud, sio_status_t * siostat );
|
void sio_change_baud( sioBaudrates baud, sio_status_t * siostat );
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -34,10 +34,18 @@
|
|||||||
|
|
||||||
#include "lwip/netif.h"
|
#include "lwip/netif.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
err_t tapif_init(struct netif *netif);
|
err_t tapif_init(struct netif *netif);
|
||||||
void tapif_poll(struct netif *netif);
|
void tapif_poll(struct netif *netif);
|
||||||
#if NO_SYS
|
#if NO_SYS
|
||||||
int tapif_select(struct netif *netif);
|
int tapif_select(struct netif *netif);
|
||||||
#endif /* NO_SYS */
|
#endif /* NO_SYS */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* LWIP_TAPIF_H */
|
#endif /* LWIP_TAPIF_H */
|
||||||
|
@ -34,10 +34,18 @@
|
|||||||
|
|
||||||
#include "lwip/netif.h"
|
#include "lwip/netif.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
err_t vdeif_init(struct netif *netif);
|
err_t vdeif_init(struct netif *netif);
|
||||||
void vdeif_poll(struct netif *netif);
|
void vdeif_poll(struct netif *netif);
|
||||||
#if NO_SYS
|
#if NO_SYS
|
||||||
int vdeif_select(struct netif *netif);
|
int vdeif_select(struct netif *netif);
|
||||||
#endif /* NO_SYS */
|
#endif /* NO_SYS */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* LWIP_VDEIF_H */
|
#endif /* LWIP_VDEIF_H */
|
||||||
|
@ -84,7 +84,7 @@ install(DIRECTORY "${LWIP_DIR}/contrib/ports/unix/port/include/netif"
|
|||||||
FILES_MATCHING PATTERN "*.h"
|
FILES_MATCHING PATTERN "*.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
install(DIRECTORY "${LWIP_DIR}/contrib/ports/unix/linuxlib/include/posix"
|
install(DIRECTORY "${LWIP_DIR}/contrib/ports/unix/posixlib/include/posix"
|
||||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/lwip"
|
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/lwip"
|
||||||
FILES_MATCHING PATTERN "*.h"
|
FILES_MATCHING PATTERN "*.h"
|
||||||
)
|
)
|
||||||
|
@ -120,7 +120,7 @@ const char *lwip_inet_ntop(int af, const void *src, char *dst, socklen_t size);
|
|||||||
int lwip_inet_pton(int af, const char *src, void *dst);
|
int lwip_inet_pton(int af, const char *src, void *dst);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Unsuported indetifiers */
|
/* Unsupported identifiers */
|
||||||
#ifndef SO_NO_CHECK
|
#ifndef SO_NO_CHECK
|
||||||
#define SO_NO_CHECK 0xFF
|
#define SO_NO_CHECK 0xFF
|
||||||
#endif
|
#endif
|
||||||
|
@ -80,7 +80,11 @@ typedef int sys_prot_t;
|
|||||||
|
|
||||||
#define S16_F "hd"
|
#define S16_F "hd"
|
||||||
#define X16_F "hx"
|
#define X16_F "hx"
|
||||||
|
#ifdef _WIN64
|
||||||
|
#define SZT_F "llu"
|
||||||
|
#else
|
||||||
#define SZT_F "lu"
|
#define SZT_F "lu"
|
||||||
|
#endif
|
||||||
#endif /* _MSC_VER */
|
#endif /* _MSC_VER */
|
||||||
|
|
||||||
/* Compiler hints for packing structures */
|
/* Compiler hints for packing structures */
|
||||||
|
@ -5,14 +5,23 @@
|
|||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}</ProjectGuid>
|
<ProjectGuid>{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}</ProjectGuid>
|
||||||
<RootNamespace>libcheck</RootNamespace>
|
<RootNamespace>libcheck</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -21,20 +30,37 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
@ -43,6 +69,14 @@
|
|||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
@ -55,6 +89,17 @@
|
|||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\check;..\..\..\..\..\check\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
@ -67,6 +112,18 @@
|
|||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\check;..\..\..\..\..\check\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\..\..\..\check\lib\libcompat.h" />
|
<ClInclude Include="..\..\..\..\..\check\lib\libcompat.h" />
|
||||||
<ClInclude Include="..\check\config.h" />
|
<ClInclude Include="..\check\config.h" />
|
||||||
|
@ -1,25 +1,58 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug fuzz|Win32">
|
||||||
|
<Configuration>Debug fuzz</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug fuzz|x64">
|
||||||
|
<Configuration>Debug fuzz</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug unittests|Win32">
|
<ProjectConfiguration Include="Debug unittests|Win32">
|
||||||
<Configuration>Debug unittests</Configuration>
|
<Configuration>Debug unittests</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug unittests|x64">
|
||||||
|
<Configuration>Debug unittests</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release fuzz|Win32">
|
||||||
|
<Configuration>Release fuzz</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release fuzz|x64">
|
||||||
|
<Configuration>Release fuzz</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release unittests|Win32">
|
<ProjectConfiguration Include="Release unittests|Win32">
|
||||||
<Configuration>Release unittests</Configuration>
|
<Configuration>Release unittests</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release unittests|x64">
|
||||||
|
<Configuration>Release unittests</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{2CC276FA-B226-49C9-8F82-7FCD5A228E28}</ProjectGuid>
|
<ProjectGuid>{2CC276FA-B226-49C9-8F82-7FCD5A228E28}</ProjectGuid>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'" Label="Configuration">
|
||||||
@ -28,24 +61,72 @@
|
|||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseOfMfc>false</UseOfMfc>
|
<UseOfMfc>false</UseOfMfc>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseOfMfc>false</UseOfMfc>
|
<UseOfMfc>false</UseOfMfc>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseOfMfc>false</UseOfMfc>
|
<UseOfMfc>false</UseOfMfc>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -53,30 +134,90 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
@ -101,6 +242,30 @@
|
|||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
@ -125,6 +290,30 @@
|
|||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
@ -149,6 +338,78 @@
|
|||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
@ -173,50 +434,178 @@
|
|||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuildStep Include="..\..\..\..\doc\contrib.txt">
|
<CustomBuildStep Include="..\..\..\..\doc\contrib.txt">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<CustomBuildStep Include="..\..\..\..\doc\FILES">
|
<CustomBuildStep Include="..\..\..\..\doc\FILES">
|
||||||
<FileType>Document</FileType>
|
<FileType>Document</FileType>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<CustomBuildStep Include="..\..\..\..\doc\rawapi.txt">
|
<CustomBuildStep Include="..\..\..\..\doc\rawapi.txt">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<CustomBuildStep Include="..\..\..\..\doc\savannah.txt">
|
<CustomBuildStep Include="..\..\..\..\doc\savannah.txt">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<CustomBuildStep Include="..\..\..\..\doc\snmp_agent.txt">
|
<CustomBuildStep Include="..\..\..\..\doc\snmp_agent.txt">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<CustomBuildStep Include="..\..\..\..\doc\sys_arch.txt">
|
<CustomBuildStep Include="..\..\..\..\doc\sys_arch.txt">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<CustomBuildStep Include="..\..\..\..\src\core\ipv6\README">
|
<CustomBuildStep Include="..\..\..\..\src\core\ipv6\README">
|
||||||
<FileType>Document</FileType>
|
<FileType>Document</FileType>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<CustomBuildStep Include="..\..\..\..\src\netif\FILES">
|
<CustomBuildStep Include="..\..\..\..\src\netif\FILES">
|
||||||
<FileType>Document</FileType>
|
<FileType>Document</FileType>
|
||||||
@ -224,9 +613,17 @@
|
|||||||
<CustomBuildStep Include="..\lwipcfg_msvc.h.example">
|
<CustomBuildStep Include="..\lwipcfg_msvc.h.example">
|
||||||
<FileType>Document</FileType>
|
<FileType>Document</FileType>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</CustomBuildStep>
|
</CustomBuildStep>
|
||||||
<None Include="..\..\..\..\CHANGELOG" />
|
<None Include="..\..\..\..\CHANGELOG" />
|
||||||
<None Include="..\..\..\..\COPYING" />
|
<None Include="..\..\..\..\COPYING" />
|
||||||
@ -243,17 +640,33 @@
|
|||||||
<None Include="..\..\..\..\UPGRADING" />
|
<None Include="..\..\..\..\UPGRADING" />
|
||||||
<None Include="..\..\..\examples\example_app\lwipcfg.h.example">
|
<None Include="..\..\..\examples\example_app\lwipcfg.h.example">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\..\doc\NO_SYS_SampleCode.c">
|
<ClCompile Include="..\..\..\..\doc\NO_SYS_SampleCode.c">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\..\src\api\api_lib.c" />
|
<ClCompile Include="..\..\..\..\src\api\api_lib.c" />
|
||||||
<ClCompile Include="..\..\..\..\src\api\api_msg.c" />
|
<ClCompile Include="..\..\..\..\src\api\api_msg.c" />
|
||||||
@ -266,15 +679,31 @@
|
|||||||
<ClCompile Include="..\..\..\..\src\api\tcpip.c" />
|
<ClCompile Include="..\..\..\..\src\api\tcpip.c" />
|
||||||
<ClCompile Include="..\..\..\..\src\apps\altcp_tls\altcp_tls_mbedtls.c">
|
<ClCompile Include="..\..\..\..\src\apps\altcp_tls\altcp_tls_mbedtls.c">
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\..\src\apps\altcp_tls\altcp_tls_mbedtls_mem.c">
|
<ClCompile Include="..\..\..\..\src\apps\altcp_tls\altcp_tls_mbedtls_mem.c">
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\..\src\apps\http\altcp_proxyconnect.c" />
|
<ClCompile Include="..\..\..\..\src\apps\http\altcp_proxyconnect.c" />
|
||||||
<ClCompile Include="..\..\..\..\src\apps\http\http_client.c" />
|
<ClCompile Include="..\..\..\..\src\apps\http\http_client.c" />
|
||||||
@ -362,9 +791,17 @@
|
|||||||
<ClCompile Include="..\..\..\..\src\apps\http\fs.c" />
|
<ClCompile Include="..\..\..\..\src\apps\http\fs.c" />
|
||||||
<ClCompile Include="..\..\..\..\src\apps\http\fsdata.c">
|
<ClCompile Include="..\..\..\..\src\apps\http\fsdata.c">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\..\src\apps\http\httpd.c" />
|
<ClCompile Include="..\..\..\..\src\apps\http\httpd.c" />
|
||||||
<ClCompile Include="..\..\..\..\src\apps\snmp\snmp_asn1.c" />
|
<ClCompile Include="..\..\..\..\src\apps\snmp\snmp_asn1.c" />
|
||||||
@ -393,15 +830,25 @@
|
|||||||
<ClCompile Include="..\..\..\..\src\apps\mdns\mdns.c" />
|
<ClCompile Include="..\..\..\..\src\apps\mdns\mdns.c" />
|
||||||
<ClCompile Include="..\..\..\..\src\apps\snmp\snmpv3_mbedtls.c">
|
<ClCompile Include="..\..\..\..\src\apps\snmp\snmpv3_mbedtls.c">
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug fuzz|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release fuzz|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release fuzz|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..\..\..\mbedtls\include;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;..\..\..\apps\snmp_private_mib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\..\src\netif\zepif.c" />
|
<ClCompile Include="..\..\..\..\src\netif\zepif.c" />
|
||||||
<ClCompile Include="..\sio.c" />
|
<ClCompile Include="..\sio.c" />
|
||||||
<ClCompile Include="..\sys_arch.c">
|
<ClCompile Include="..\sys_arch.c">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug unittests|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release unittests|x64'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual C++ Express 2010
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.7.34031.279
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwIP_Test", "lwIP_Test.vcxproj", "{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwIP_Test", "lwIP_Test.vcxproj", "{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwIP pcapif", "lwIP_pcapif.vcxproj", "{6F44E49E-9F21-4144-91EC-53B92AEF62CE}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwIP pcapif", "lwIP_pcapif.vcxproj", "{6F44E49E-9F21-4144-91EC-53B92AEF62CE}"
|
||||||
@ -11,25 +13,43 @@ EndProject
|
|||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Win32 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
Release|Win32 = Release|Win32
|
Release|Win32 = Release|Win32
|
||||||
|
Release|x64 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Debug|Win32.ActiveCfg = Debug|Win32
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Debug|Win32.Build.0 = Debug|Win32
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Debug|x64.Build.0 = Debug|x64
|
||||||
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Release|Win32.ActiveCfg = Release|Win32
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Release|Win32.Build.0 = Release|Win32
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}.Release|x64.Build.0 = Release|x64
|
||||||
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Debug|Win32.ActiveCfg = Debug|Win32
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Debug|Win32.Build.0 = Debug|Win32
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Debug|x64.Build.0 = Debug|x64
|
||||||
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Release|Win32.ActiveCfg = Release|Win32
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Release|Win32.Build.0 = Release|Win32
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{6F44E49E-9F21-4144-91EC-53B92AEF62CE}.Release|x64.Build.0 = Release|x64
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.ActiveCfg = Debug|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.Build.0 = Debug|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x64.Build.0 = Debug|x64
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.ActiveCfg = Release|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.Build.0 = Release|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x64.Build.0 = Release|x64
|
||||||
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Debug|Win32.ActiveCfg = Debug|Win32
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Debug|Win32.Build.0 = Debug|Win32
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Debug|x64.Build.0 = Debug|x64
|
||||||
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Release|Win32.ActiveCfg = Release|Win32
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Release|Win32.Build.0 = Release|Win32
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -5,14 +5,23 @@
|
|||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}</ProjectGuid>
|
<ProjectGuid>{8CC0CE51-32CF-4585-BFAF-A9343BC5A96D}</ProjectGuid>
|
||||||
<RootNamespace>lwIP_test</RootNamespace>
|
<RootNamespace>lwIP_test</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
@ -21,12 +30,24 @@
|
|||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseOfMfc>false</UseOfMfc>
|
<UseOfMfc>false</UseOfMfc>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -34,17 +55,26 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(Configuration)\</OutDir>
|
<IntDir>$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(Configuration)\$(ProjectName)\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
@ -88,6 +118,47 @@
|
|||||||
<DelayLoadDLLs>Packet.dll;wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
<DelayLoadDLLs>Packet.dll;wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TypeLibraryName>.\Release/test.tlb</TypeLibraryName>
|
||||||
|
<HeaderFileName>
|
||||||
|
</HeaderFileName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>Packet.lib;wpcap.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<AdditionalLibraryDirectories>$(PCAP_DIR)\Lib;..\..\..\..\..\winpcap\WpdPack\Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<ProgramDatabaseFile>.\Release/test.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<MapFileName>$(TargetDir)$(TargetName).map</MapFileName>
|
||||||
|
<DelayLoadDLLs>Packet.dll;wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<Midl>
|
<Midl>
|
||||||
<TypeLibraryName>.\Debug/test.tlb</TypeLibraryName>
|
<TypeLibraryName>.\Debug/test.tlb</TypeLibraryName>
|
||||||
@ -127,6 +198,47 @@
|
|||||||
<GenerateMapFile>false</GenerateMapFile>
|
<GenerateMapFile>false</GenerateMapFile>
|
||||||
<MapFileName>$(TargetDir)$(TargetName).map</MapFileName>
|
<MapFileName>$(TargetDir)$(TargetName).map</MapFileName>
|
||||||
<DelayLoadDLLs>Packet.dll;wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
<DelayLoadDLLs>Packet.dll;wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TypeLibraryName>.\Debug/test.tlb</TypeLibraryName>
|
||||||
|
<HeaderFileName>
|
||||||
|
</HeaderFileName>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;LWIP_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>Packet.lib;wpcap.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<AdditionalLibraryDirectories>$(PCAP_DIR)\Lib;..\..\..\..\..\winpcap\WpdPack\Lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<GenerateMapFile>false</GenerateMapFile>
|
||||||
|
<MapFileName>$(TargetDir)$(TargetName).map</MapFileName>
|
||||||
|
<DelayLoadDLLs>Packet.dll;wpcap.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
78
contrib/ports/win32/msvc/lwIP_fuzz.sln
Normal file
78
contrib/ports/win32/msvc/lwIP_fuzz.sln
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.7.34031.279
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwIP", "lwIP.vcxproj", "{2CC276FA-B226-49C9-8F82-7FCD5A228E28}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwip_fuzz", "lwip_fuzz.vcxproj", "{71B3B3F4-621C-11EE-8C99-0242AC120002}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug_fuzz2|x64 = Debug_fuzz2|x64
|
||||||
|
Debug_fuzz2|x86 = Debug_fuzz2|x86
|
||||||
|
Debug_fuzz3|x64 = Debug_fuzz3|x64
|
||||||
|
Debug_fuzz3|x86 = Debug_fuzz3|x86
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release_fuzz2|x64 = Release_fuzz2|x64
|
||||||
|
Release_fuzz2|x86 = Release_fuzz2|x86
|
||||||
|
Release_fuzz3|x64 = Release_fuzz3|x64
|
||||||
|
Release_fuzz3|x86 = Release_fuzz3|x86
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz2|x64.ActiveCfg = Debug fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz2|x64.Build.0 = Debug fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz2|x86.ActiveCfg = Debug fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz2|x86.Build.0 = Debug fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz3|x64.ActiveCfg = Debug fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz3|x64.Build.0 = Debug fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz3|x86.ActiveCfg = Debug fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug_fuzz3|x86.Build.0 = Debug fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x64.ActiveCfg = Debug fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x64.Build.0 = Debug fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x86.ActiveCfg = Debug fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x86.Build.0 = Debug fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz2|x64.ActiveCfg = Release fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz2|x64.Build.0 = Release fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz2|x86.ActiveCfg = Release fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz2|x86.Build.0 = Release fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz3|x64.ActiveCfg = Release fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz3|x64.Build.0 = Release fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz3|x86.ActiveCfg = Release fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release_fuzz3|x86.Build.0 = Release fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x64.ActiveCfg = Release fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x64.Build.0 = Release fuzz|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x86.ActiveCfg = Release fuzz|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x86.Build.0 = Release fuzz|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz2|x64.ActiveCfg = Debug fuzz2|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz2|x64.Build.0 = Debug fuzz2|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz2|x86.ActiveCfg = Debug fuzz2|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz2|x86.Build.0 = Debug fuzz2|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz3|x64.ActiveCfg = Debug fuzz3|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz3|x64.Build.0 = Debug fuzz3|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz3|x86.ActiveCfg = Debug fuzz3|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug_fuzz3|x86.Build.0 = Debug fuzz3|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz2|x64.ActiveCfg = Release fuzz2|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz2|x64.Build.0 = Release fuzz2|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz2|x86.ActiveCfg = Release fuzz2|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz2|x86.Build.0 = Release fuzz2|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz3|x64.ActiveCfg = Release fuzz3|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz3|x64.Build.0 = Release fuzz3|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz3|x86.ActiveCfg = Release fuzz3|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release_fuzz3|x86.Build.0 = Release fuzz3|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release|x64.Build.0 = Release|x64
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{71B3B3F4-621C-11EE-8C99-0242AC120002}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
@ -5,15 +5,24 @@
|
|||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectName>lwIP pcapif</ProjectName>
|
<ProjectName>lwIP pcapif</ProjectName>
|
||||||
<ProjectGuid>{6F44E49E-9F21-4144-91EC-53B92AEF62CE}</ProjectGuid>
|
<ProjectGuid>{6F44E49E-9F21-4144-91EC-53B92AEF62CE}</ProjectGuid>
|
||||||
<RootNamespace>lwIP pcapif</RootNamespace>
|
<RootNamespace>lwIP pcapif</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -22,12 +31,24 @@
|
|||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseOfMfc>false</UseOfMfc>
|
<UseOfMfc>false</UseOfMfc>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -35,15 +56,23 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(Configuration)\</OutDir>
|
<OutDir>$(Configuration)\$(ProjectName)\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir>$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@ -67,6 +96,28 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Lib />
|
<Lib />
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;.\;$(PCAP_DIR)\Include;..\..\..\..\..\winpcap\WpdPack\Include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib />
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
@ -93,6 +144,32 @@
|
|||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
</Lib>
|
</Lib>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;.\;$(PCAP_DIR)\Include;..\..\..\..\..\winpcap\WpdPack\Include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||||
|
<ProgramDataBaseFileName>$(IntDir)$(ProjectName).pdb</ProgramDataBaseFileName>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
<CompileAs>Default</CompileAs>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
</ClCompile>
|
||||||
|
<ResourceCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Culture>0x0407</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
<Lib>
|
||||||
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
|
</Lib>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\pcapif.c" />
|
<ClCompile Include="..\pcapif.c" />
|
||||||
<ClCompile Include="..\pcapif_helper.c" />
|
<ClCompile Include="..\pcapif_helper.c" />
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual C++ Express 2010
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.7.34031.279
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwip_unittests", "lwip_unittests.vcxproj", "{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwip_unittests", "lwip_unittests.vcxproj", "{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwIP", "lwIP.vcxproj", "{2CC276FA-B226-49C9-8F82-7FCD5A228E28}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lwIP", "lwIP.vcxproj", "{2CC276FA-B226-49C9-8F82-7FCD5A228E28}"
|
||||||
@ -9,23 +11,40 @@ EndProject
|
|||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Win32 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
Release|Win32 = Release|Win32
|
Release|Win32 = Release|Win32
|
||||||
|
Release|x64 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Debug|Win32.ActiveCfg = Debug|Win32
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Debug|Win32.Build.0 = Debug|Win32
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Debug|x64.Build.0 = Debug|x64
|
||||||
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Release|Win32.ActiveCfg = Release|Win32
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Release|Win32.Build.0 = Release|Win32
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}.Release|x64.Build.0 = Release|x64
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.ActiveCfg = Debug unittests|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.ActiveCfg = Debug unittests|Win32
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.Build.0 = Debug unittests|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|Win32.Build.0 = Debug unittests|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x64.ActiveCfg = Debug unittests|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Debug|x64.Build.0 = Debug unittests|x64
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.ActiveCfg = Release unittests|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.ActiveCfg = Release unittests|Win32
|
||||||
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.Build.0 = Release unittests|Win32
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|Win32.Build.0 = Release unittests|Win32
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x64.ActiveCfg = Release unittests|x64
|
||||||
|
{2CC276FA-B226-49C9-8F82-7FCD5A228E28}.Release|x64.Build.0 = Release unittests|x64
|
||||||
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Debug|Win32.ActiveCfg = Debug|Win32
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Debug|Win32.Build.0 = Debug|Win32
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Debug|x64.Build.0 = Debug|x64
|
||||||
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Release|Win32.ActiveCfg = Release|Win32
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Release|Win32.Build.0 = Release|Win32
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{EBB156DC-01BF-47B2-B69C-1A750B6B5F09}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {18F9EDCF-BE44-4F9F-A7F6-5DCF2B7687C5}
|
||||||
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
476
contrib/ports/win32/msvc/lwip_fuzz.vcxproj
Normal file
476
contrib/ports/win32/msvc/lwip_fuzz.vcxproj
Normal file
@ -0,0 +1,476 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug fuzz2|Win32">
|
||||||
|
<Configuration>Debug fuzz2</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug fuzz2|x64">
|
||||||
|
<Configuration>Debug fuzz2</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug fuzz3|Win32">
|
||||||
|
<Configuration>Debug fuzz3</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug fuzz3|x64">
|
||||||
|
<Configuration>Debug fuzz3</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release fuzz2|Win32">
|
||||||
|
<Configuration>Release fuzz2</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release fuzz2|x64">
|
||||||
|
<Configuration>Release fuzz2</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release fuzz3|Win32">
|
||||||
|
<Configuration>Release fuzz3</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release fuzz3|x64">
|
||||||
|
<Configuration>Release fuzz3</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{71B3B3F4-621C-11EE-8C99-0242AC120002}</ProjectGuid>
|
||||||
|
<RootNamespace>lwip_fuzz</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4820</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4820</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4820</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4820</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4820</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4820</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\test\fuzz;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="lwIP.vcxproj">
|
||||||
|
<Project>{2cc276fa-b226-49c9-8f82-7fcd5a228e28}</Project>
|
||||||
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\..\test\fuzz\config.h" />
|
||||||
|
<ClInclude Include="..\..\..\..\test\fuzz\fuzz_common.h" />
|
||||||
|
<ClInclude Include="..\..\..\..\test\fuzz\lwipopts.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\..\test\fuzz\fuzz.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\..\test\fuzz\fuzz2.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz3|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz3|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\..\test\fuzz\fuzz3.c">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug fuzz2|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release fuzz2|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\..\test\fuzz\fuzz_common.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
@ -5,14 +5,23 @@
|
|||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<ProjectGuid>{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}</ProjectGuid>
|
<ProjectGuid>{6CCABAA4-F86F-4119-AFF8-43C9A4A234C2}</ProjectGuid>
|
||||||
<RootNamespace>lwip_unittests</RootNamespace>
|
<RootNamespace>lwip_unittests</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -21,26 +30,49 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
@ -59,6 +91,26 @@
|
|||||||
<DataExecutionPrevention>
|
<DataExecutionPrevention>
|
||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\check;..\..\..\..\..\check\src;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>_LIB;WIN32;_DEBUG;LWIP_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4820</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@ -82,6 +134,26 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\check;..\..\..\..\..\check\src;..\..\..\..\test\unit;..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\..\test\unit\api\test_sockets.c" />
|
<ClCompile Include="..\..\..\..\test\unit\api\test_sockets.c" />
|
||||||
<ClCompile Include="..\..\..\..\test\unit\arch\sys_arch.c" />
|
<ClCompile Include="..\..\..\..\test\unit\arch\sys_arch.c" />
|
||||||
|
@ -5,10 +5,18 @@
|
|||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\..\src\apps\http\makefsdata\makefsdata.c" />
|
<ClCompile Include="..\..\..\..\src\apps\http\makefsdata\makefsdata.c" />
|
||||||
@ -17,6 +25,7 @@
|
|||||||
<ProjectGuid>{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}</ProjectGuid>
|
<ProjectGuid>{0BFC0F21-8E84-4E68-A9E1-CE2A09B72F6D}</ProjectGuid>
|
||||||
<RootNamespace>makefsdata</RootNamespace>
|
<RootNamespace>makefsdata</RootNamespace>
|
||||||
<Keyword>Win32Proj</Keyword>
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
@ -25,27 +34,45 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
|
<IntDir>$(Configuration)\$(ProjectName)\</IntDir>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@ -70,6 +97,27 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>MaxSpeed</Optimization>
|
||||||
@ -95,6 +143,30 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<AdditionalIncludeDirectories>..\..\..\..\src\include;..\..\..\..\src\include\ipv4;..\..\..\..\src\include\ipv6;..\include;..\..\..\examples\example_app;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
@ -679,12 +679,17 @@ pcapif_shutdown(struct netif *netif)
|
|||||||
#endif /* PCAPIF_RX_USE_THREAD */
|
#endif /* PCAPIF_RX_USE_THREAD */
|
||||||
if (pa->adapter) {
|
if (pa->adapter) {
|
||||||
pcap_breakloop(pa->adapter);
|
pcap_breakloop(pa->adapter);
|
||||||
pcap_close(pa->adapter);
|
|
||||||
}
|
}
|
||||||
#if PCAPIF_RX_USE_THREAD
|
#if PCAPIF_RX_USE_THREAD
|
||||||
/* wait for rxthread to end */
|
/* wait for rxthread to end */
|
||||||
while(pa->rx_running);
|
while (pa->rx_running) {
|
||||||
|
Sleep(100);
|
||||||
|
}
|
||||||
#endif /* PCAPIF_RX_USE_THREAD */
|
#endif /* PCAPIF_RX_USE_THREAD */
|
||||||
|
if (pa->adapter) {
|
||||||
|
pcap_close(pa->adapter);
|
||||||
|
pa->adapter = NULL;
|
||||||
|
}
|
||||||
#if PCAPIF_HANDLE_LINKSTATE
|
#if PCAPIF_HANDLE_LINKSTATE
|
||||||
pcapifh_linkstate_close(pa->link_state);
|
pcapifh_linkstate_close(pa->link_state);
|
||||||
#endif /* PCAPIF_HANDLE_LINKSTATE */
|
#endif /* PCAPIF_HANDLE_LINKSTATE */
|
||||||
|
@ -115,7 +115,7 @@ pcapifh_free_readonly_mem(void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Npcap keeps its DLLs in a different directory for compatiblity with winpcap.
|
* Npcap keeps its DLLs in a different directory for compatibility with winpcap.
|
||||||
* Make sure they get found by adding that directory to the DLL search path.
|
* Make sure they get found by adding that directory to the DLL search path.
|
||||||
*/
|
*/
|
||||||
void pcapifh_init_npcap(void)
|
void pcapifh_init_npcap(void)
|
||||||
|
@ -38,7 +38,7 @@ PROJECT_NAME = "lwIP"
|
|||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = "2.2.0"
|
PROJECT_NUMBER = "2.2.1.dev"
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
@ -14,11 +14,11 @@ endif()
|
|||||||
|
|
||||||
set(LWIP_VERSION_MAJOR "2")
|
set(LWIP_VERSION_MAJOR "2")
|
||||||
set(LWIP_VERSION_MINOR "2")
|
set(LWIP_VERSION_MINOR "2")
|
||||||
set(LWIP_VERSION_REVISION "0")
|
set(LWIP_VERSION_REVISION "1")
|
||||||
# LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases
|
# LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases
|
||||||
# LWIP_VERSION_RC is set to LWIP_RC_DEVELOPMENT for Git versions
|
# LWIP_VERSION_RC is set to LWIP_RC_DEVELOPMENT for Git versions
|
||||||
# Numbers 1..31 are reserved for release candidates
|
# Numbers 1..31 are reserved for release candidates
|
||||||
set(LWIP_VERSION_RC "LWIP_RC_RELEASE")
|
set(LWIP_VERSION_RC "LWIP_RC_DEVELOPMENT")
|
||||||
|
|
||||||
if ("${LWIP_VERSION_RC}" STREQUAL "LWIP_RC_RELEASE")
|
if ("${LWIP_VERSION_RC}" STREQUAL "LWIP_RC_RELEASE")
|
||||||
set(LWIP_VERSION_STRING
|
set(LWIP_VERSION_STRING
|
||||||
|
@ -40,6 +40,7 @@
|
|||||||
#if LWIP_DNS && LWIP_SOCKET
|
#if LWIP_DNS && LWIP_SOCKET
|
||||||
|
|
||||||
#include "lwip/err.h"
|
#include "lwip/err.h"
|
||||||
|
#include "lwip/errno.h"
|
||||||
#include "lwip/mem.h"
|
#include "lwip/mem.h"
|
||||||
#include "lwip/memp.h"
|
#include "lwip/memp.h"
|
||||||
#include "lwip/ip_addr.h"
|
#include "lwip/ip_addr.h"
|
||||||
@ -62,7 +63,7 @@ int h_errno;
|
|||||||
#endif /* LWIP_DNS_API_DECLARE_H_ERRNO */
|
#endif /* LWIP_DNS_API_DECLARE_H_ERRNO */
|
||||||
|
|
||||||
/** LWIP_DNS_API_HOSTENT_STORAGE: if set to 0 (default), lwip_gethostbyname()
|
/** LWIP_DNS_API_HOSTENT_STORAGE: if set to 0 (default), lwip_gethostbyname()
|
||||||
* returns the same global variabe for all calls (in all threads).
|
* returns the same global variable for all calls (in all threads).
|
||||||
* When set to 1, your port should provide a function
|
* When set to 1, your port should provide a function
|
||||||
* struct hostent* sys_thread_hostent( struct hostent* h);
|
* struct hostent* sys_thread_hostent( struct hostent* h);
|
||||||
* which have to do a copy of "h" and return a pointer ont the "per-thread"
|
* which have to do a copy of "h" and return a pointer ont the "per-thread"
|
||||||
@ -382,7 +383,9 @@ lwip_getaddrinfo(const char *nodename, const char *servname,
|
|||||||
/* set up sockaddr */
|
/* set up sockaddr */
|
||||||
inet6_addr_from_ip6addr(&sa6->sin6_addr, ip_2_ip6(&addr));
|
inet6_addr_from_ip6addr(&sa6->sin6_addr, ip_2_ip6(&addr));
|
||||||
sa6->sin6_family = AF_INET6;
|
sa6->sin6_family = AF_INET6;
|
||||||
|
#if LWIP_SOCKET_HAVE_SA_LEN
|
||||||
sa6->sin6_len = sizeof(struct sockaddr_in6);
|
sa6->sin6_len = sizeof(struct sockaddr_in6);
|
||||||
|
#endif /* LWIP_SOCKET_HAVE_SA_LEN */
|
||||||
sa6->sin6_port = lwip_htons((u16_t)port_nr);
|
sa6->sin6_port = lwip_htons((u16_t)port_nr);
|
||||||
sa6->sin6_scope_id = ip6_addr_zone(ip_2_ip6(&addr));
|
sa6->sin6_scope_id = ip6_addr_zone(ip_2_ip6(&addr));
|
||||||
ai->ai_family = AF_INET6;
|
ai->ai_family = AF_INET6;
|
||||||
@ -393,7 +396,9 @@ lwip_getaddrinfo(const char *nodename, const char *servname,
|
|||||||
/* set up sockaddr */
|
/* set up sockaddr */
|
||||||
inet_addr_from_ip4addr(&sa4->sin_addr, ip_2_ip4(&addr));
|
inet_addr_from_ip4addr(&sa4->sin_addr, ip_2_ip4(&addr));
|
||||||
sa4->sin_family = AF_INET;
|
sa4->sin_family = AF_INET;
|
||||||
|
#if LWIP_SOCKET_HAVE_SA_LEN
|
||||||
sa4->sin_len = sizeof(struct sockaddr_in);
|
sa4->sin_len = sizeof(struct sockaddr_in);
|
||||||
|
#endif /* LWIP_SOCKET_HAVE_SA_LEN */
|
||||||
sa4->sin_port = lwip_htons((u16_t)port_nr);
|
sa4->sin_port = lwip_htons((u16_t)port_nr);
|
||||||
ai->ai_family = AF_INET;
|
ai->ai_family = AF_INET;
|
||||||
#endif /* LWIP_IPV4 */
|
#endif /* LWIP_IPV4 */
|
||||||
|
@ -660,7 +660,7 @@ lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
|
|||||||
{
|
{
|
||||||
struct lwip_sock *sock, *nsock;
|
struct lwip_sock *sock, *nsock;
|
||||||
struct netconn *newconn;
|
struct netconn *newconn;
|
||||||
ip_addr_t naddr;
|
ip_addr_t naddr = {0};
|
||||||
u16_t port = 0;
|
u16_t port = 0;
|
||||||
int newsock;
|
int newsock;
|
||||||
err_t err;
|
err_t err;
|
||||||
@ -699,25 +699,6 @@ lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
|
|||||||
LWIP_ASSERT("invalid socket index", (newsock >= LWIP_SOCKET_OFFSET) && (newsock < NUM_SOCKETS + LWIP_SOCKET_OFFSET));
|
LWIP_ASSERT("invalid socket index", (newsock >= LWIP_SOCKET_OFFSET) && (newsock < NUM_SOCKETS + LWIP_SOCKET_OFFSET));
|
||||||
nsock = &sockets[newsock - LWIP_SOCKET_OFFSET];
|
nsock = &sockets[newsock - LWIP_SOCKET_OFFSET];
|
||||||
|
|
||||||
/* See event_callback: If data comes in right away after an accept, even
|
|
||||||
* though the server task might not have created a new socket yet.
|
|
||||||
* In that case, newconn->socket is counted down (newconn->socket--),
|
|
||||||
* so nsock->rcvevent is >= 1 here!
|
|
||||||
*/
|
|
||||||
SYS_ARCH_PROTECT(lev);
|
|
||||||
recvevent = (s16_t)(-1 - newconn->callback_arg.socket);
|
|
||||||
newconn->callback_arg.socket = newsock;
|
|
||||||
SYS_ARCH_UNPROTECT(lev);
|
|
||||||
|
|
||||||
if (newconn->callback) {
|
|
||||||
LOCK_TCPIP_CORE();
|
|
||||||
while (recvevent > 0) {
|
|
||||||
recvevent--;
|
|
||||||
newconn->callback(newconn, NETCONN_EVT_RCVPLUS, 0);
|
|
||||||
}
|
|
||||||
UNLOCK_TCPIP_CORE();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Note that POSIX only requires us to check addr is non-NULL. addrlen must
|
/* Note that POSIX only requires us to check addr is non-NULL. addrlen must
|
||||||
* not be NULL if addr is valid.
|
* not be NULL if addr is valid.
|
||||||
*/
|
*/
|
||||||
@ -738,7 +719,28 @@ lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen)
|
|||||||
*addrlen = IPADDR_SOCKADDR_GET_LEN(&tempaddr);
|
*addrlen = IPADDR_SOCKADDR_GET_LEN(&tempaddr);
|
||||||
}
|
}
|
||||||
MEMCPY(addr, &tempaddr, *addrlen);
|
MEMCPY(addr, &tempaddr, *addrlen);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* See event_callback: If data comes in right away after an accept, even
|
||||||
|
* though the server task might not have created a new socket yet.
|
||||||
|
* In that case, newconn->socket is counted down (newconn->socket--),
|
||||||
|
* so nsock->rcvevent is >= 1 here!
|
||||||
|
*/
|
||||||
|
SYS_ARCH_PROTECT(lev);
|
||||||
|
recvevent = (s16_t)(-1 - newconn->callback_arg.socket);
|
||||||
|
newconn->callback_arg.socket = newsock;
|
||||||
|
SYS_ARCH_UNPROTECT(lev);
|
||||||
|
|
||||||
|
if (newconn->callback) {
|
||||||
|
LOCK_TCPIP_CORE();
|
||||||
|
while (recvevent > 0) {
|
||||||
|
recvevent--;
|
||||||
|
newconn->callback(newconn, NETCONN_EVT_RCVPLUS, 0);
|
||||||
|
}
|
||||||
|
UNLOCK_TCPIP_CORE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((addr != NULL) && (addrlen != NULL)) {
|
||||||
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_accept(%d) returning new sock=%d addr=", s, newsock));
|
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_accept(%d) returning new sock=%d addr=", s, newsock));
|
||||||
ip_addr_debug_print_val(SOCKETS_DEBUG, naddr);
|
ip_addr_debug_print_val(SOCKETS_DEBUG, naddr);
|
||||||
LWIP_DEBUGF(SOCKETS_DEBUG, (" port=%"U16_F"\n", port));
|
LWIP_DEBUGF(SOCKETS_DEBUG, (" port=%"U16_F"\n", port));
|
||||||
@ -2920,6 +2922,49 @@ lwip_sockopt_to_ipopt(int optname)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LWIP_IPV6 && LWIP_RAW
|
||||||
|
static void
|
||||||
|
lwip_getsockopt_impl_ipv6_checksum(int s, struct lwip_sock* sock, void* optval)
|
||||||
|
{
|
||||||
|
if (sock->conn->pcb.raw->chksum_reqd == 0) {
|
||||||
|
*(int*)optval = -1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
*(int*)optval = sock->conn->pcb.raw->chksum_offset;
|
||||||
|
}
|
||||||
|
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_RAW, IPV6_CHECKSUM) = %d\n",
|
||||||
|
s, (*(int*)optval)));
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
lwip_setsockopt_impl_ipv6_checksum(int s, struct lwip_sock* sock, const void* optval, socklen_t optlen)
|
||||||
|
{
|
||||||
|
/* It should not be possible to disable the checksum generation with ICMPv6
|
||||||
|
* as per RFC 3542 chapter 3.1 */
|
||||||
|
if (sock->conn->pcb.raw->protocol == IPPROTO_ICMPV6) {
|
||||||
|
done_socket(sock);
|
||||||
|
return EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB_TYPE(sock, optlen, int, NETCONN_RAW);
|
||||||
|
if (*(const int*)optval < 0) {
|
||||||
|
sock->conn->pcb.raw->chksum_reqd = 0;
|
||||||
|
}
|
||||||
|
else if (*(const int*)optval & 1) {
|
||||||
|
/* Per RFC3542, odd offsets are not allowed */
|
||||||
|
done_socket(sock);
|
||||||
|
return EINVAL;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sock->conn->pcb.raw->chksum_reqd = 1;
|
||||||
|
sock->conn->pcb.raw->chksum_offset = (u16_t) * (const int*)optval;
|
||||||
|
}
|
||||||
|
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_RAW, IPV6_CHECKSUM, ..) -> %d\n",
|
||||||
|
s, sock->conn->pcb.raw->chksum_reqd));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/** lwip_getsockopt_impl: the actual implementation of getsockopt:
|
/** lwip_getsockopt_impl: the actual implementation of getsockopt:
|
||||||
* same argument as lwip_getsockopt, either called directly or through callback
|
* same argument as lwip_getsockopt, either called directly or through callback
|
||||||
*/
|
*/
|
||||||
@ -2934,6 +2979,7 @@ lwip_getsockopt_impl(int s, int level, int optname, void *optval, socklen_t *opt
|
|||||||
|
|
||||||
#ifdef LWIP_HOOK_SOCKETS_GETSOCKOPT
|
#ifdef LWIP_HOOK_SOCKETS_GETSOCKOPT
|
||||||
if (LWIP_HOOK_SOCKETS_GETSOCKOPT(s, sock, level, optname, optval, optlen, &err)) {
|
if (LWIP_HOOK_SOCKETS_GETSOCKOPT(s, sock, level, optname, optval, optlen, &err)) {
|
||||||
|
done_socket(sock);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -3169,6 +3215,12 @@ lwip_getsockopt_impl(int s, int level, int optname, void *optval, socklen_t *opt
|
|||||||
/* Level: IPPROTO_IPV6 */
|
/* Level: IPPROTO_IPV6 */
|
||||||
case IPPROTO_IPV6:
|
case IPPROTO_IPV6:
|
||||||
switch (optname) {
|
switch (optname) {
|
||||||
|
#if LWIP_IPV6 && LWIP_RAW
|
||||||
|
case IPV6_CHECKSUM:
|
||||||
|
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB_TYPE(sock, *optlen, int, NETCONN_RAW);
|
||||||
|
lwip_getsockopt_impl_ipv6_checksum(s, sock, optval);
|
||||||
|
break;
|
||||||
|
#endif /* LWIP_IPV6 && LWIP_RAW */
|
||||||
case IPV6_V6ONLY:
|
case IPV6_V6ONLY:
|
||||||
LWIP_SOCKOPT_CHECK_OPTLEN_CONN(sock, *optlen, int);
|
LWIP_SOCKOPT_CHECK_OPTLEN_CONN(sock, *optlen, int);
|
||||||
*(int *)optval = (netconn_get_ipv6only(sock->conn) ? 1 : 0);
|
*(int *)optval = (netconn_get_ipv6only(sock->conn) ? 1 : 0);
|
||||||
@ -3219,13 +3271,7 @@ lwip_getsockopt_impl(int s, int level, int optname, void *optval, socklen_t *opt
|
|||||||
#if LWIP_IPV6 && LWIP_RAW
|
#if LWIP_IPV6 && LWIP_RAW
|
||||||
case IPV6_CHECKSUM:
|
case IPV6_CHECKSUM:
|
||||||
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB_TYPE(sock, *optlen, int, NETCONN_RAW);
|
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB_TYPE(sock, *optlen, int, NETCONN_RAW);
|
||||||
if (sock->conn->pcb.raw->chksum_reqd == 0) {
|
lwip_getsockopt_impl_ipv6_checksum(s, sock, optval);
|
||||||
*(int *)optval = -1;
|
|
||||||
} else {
|
|
||||||
*(int *)optval = sock->conn->pcb.raw->chksum_offset;
|
|
||||||
}
|
|
||||||
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, IPPROTO_RAW, IPV6_CHECKSUM) = %d\n",
|
|
||||||
s, (*(int *)optval)) );
|
|
||||||
break;
|
break;
|
||||||
#endif /* LWIP_IPV6 && LWIP_RAW */
|
#endif /* LWIP_IPV6 && LWIP_RAW */
|
||||||
default:
|
default:
|
||||||
@ -3355,6 +3401,7 @@ lwip_setsockopt_impl(int s, int level, int optname, const void *optval, socklen_
|
|||||||
|
|
||||||
#ifdef LWIP_HOOK_SOCKETS_SETSOCKOPT
|
#ifdef LWIP_HOOK_SOCKETS_SETSOCKOPT
|
||||||
if (LWIP_HOOK_SOCKETS_SETSOCKOPT(s, sock, level, optname, optval, optlen, &err)) {
|
if (LWIP_HOOK_SOCKETS_SETSOCKOPT(s, sock, level, optname, optval, optlen, &err)) {
|
||||||
|
done_socket(sock);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -3646,6 +3693,14 @@ lwip_setsockopt_impl(int s, int level, int optname, const void *optval, socklen_
|
|||||||
/* Level: IPPROTO_IPV6 */
|
/* Level: IPPROTO_IPV6 */
|
||||||
case IPPROTO_IPV6:
|
case IPPROTO_IPV6:
|
||||||
switch (optname) {
|
switch (optname) {
|
||||||
|
#if LWIP_IPV6 && LWIP_RAW
|
||||||
|
case IPV6_CHECKSUM:
|
||||||
|
err = lwip_setsockopt_impl_ipv6_checksum(s, sock, optval, optlen);
|
||||||
|
if (err) {
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif /* LWIP_IPV6 && LWIP_RAW */
|
||||||
case IPV6_V6ONLY:
|
case IPV6_V6ONLY:
|
||||||
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB(sock, optlen, int);
|
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB(sock, optlen, int);
|
||||||
if (*(const int *)optval) {
|
if (*(const int *)optval) {
|
||||||
@ -3744,26 +3799,10 @@ lwip_setsockopt_impl(int s, int level, int optname, const void *optval, socklen_
|
|||||||
switch (optname) {
|
switch (optname) {
|
||||||
#if LWIP_IPV6 && LWIP_RAW
|
#if LWIP_IPV6 && LWIP_RAW
|
||||||
case IPV6_CHECKSUM:
|
case IPV6_CHECKSUM:
|
||||||
/* It should not be possible to disable the checksum generation with ICMPv6
|
err = lwip_setsockopt_impl_ipv6_checksum(s, sock, optval, optlen);
|
||||||
* as per RFC 3542 chapter 3.1 */
|
if (err) {
|
||||||
if (sock->conn->pcb.raw->protocol == IPPROTO_ICMPV6) {
|
return err;
|
||||||
done_socket(sock);
|
|
||||||
return EINVAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LWIP_SOCKOPT_CHECK_OPTLEN_CONN_PCB_TYPE(sock, optlen, int, NETCONN_RAW);
|
|
||||||
if (*(const int *)optval < 0) {
|
|
||||||
sock->conn->pcb.raw->chksum_reqd = 0;
|
|
||||||
} else if (*(const int *)optval & 1) {
|
|
||||||
/* Per RFC3542, odd offsets are not allowed */
|
|
||||||
done_socket(sock);
|
|
||||||
return EINVAL;
|
|
||||||
} else {
|
|
||||||
sock->conn->pcb.raw->chksum_reqd = 1;
|
|
||||||
sock->conn->pcb.raw->chksum_offset = (u16_t) * (const int *)optval;
|
|
||||||
}
|
|
||||||
LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_setsockopt(%d, IPPROTO_RAW, IPV6_CHECKSUM, ..) -> %d\n",
|
|
||||||
s, sock->conn->pcb.raw->chksum_reqd));
|
|
||||||
break;
|
break;
|
||||||
#endif /* LWIP_IPV6 && LWIP_RAW */
|
#endif /* LWIP_IPV6 && LWIP_RAW */
|
||||||
default:
|
default:
|
||||||
|
@ -68,11 +68,20 @@ sys_mutex_t lock_tcpip_core;
|
|||||||
static void tcpip_thread_handle_msg(struct tcpip_msg *msg);
|
static void tcpip_thread_handle_msg(struct tcpip_msg *msg);
|
||||||
|
|
||||||
#if !LWIP_TIMERS
|
#if !LWIP_TIMERS
|
||||||
/* wait for a message with timers disabled (e.g. pass a timer-check trigger into tcpip_thread) */
|
|
||||||
#define TCPIP_MBOX_FETCH(mbox, msg) sys_mbox_fetch(mbox, msg)
|
/** Wait for a message with timers disabled (e.g. pass a timer-check trigger into tcpip_thread) */
|
||||||
|
static void
|
||||||
|
tcpip_mbox_fetch(sys_mbox_t* mbox, void** msg)
|
||||||
|
{
|
||||||
|
LWIP_ASSERT_CORE_LOCKED();
|
||||||
|
|
||||||
|
UNLOCK_TCPIP_CORE();
|
||||||
|
sys_mbox_fetch(mbox, msg);
|
||||||
|
LOCK_TCPIP_CORE();
|
||||||
|
}
|
||||||
|
|
||||||
#else /* !LWIP_TIMERS */
|
#else /* !LWIP_TIMERS */
|
||||||
/* wait for a message, timeouts are processed while waiting */
|
|
||||||
#define TCPIP_MBOX_FETCH(mbox, msg) tcpip_timeouts_mbox_fetch(mbox, msg)
|
|
||||||
/**
|
/**
|
||||||
* Wait (forever) for a message to arrive in an mbox.
|
* Wait (forever) for a message to arrive in an mbox.
|
||||||
* While waiting, timeouts are processed.
|
* While waiting, timeouts are processed.
|
||||||
@ -81,7 +90,7 @@ static void tcpip_thread_handle_msg(struct tcpip_msg *msg);
|
|||||||
* @param msg the place to store the message
|
* @param msg the place to store the message
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
tcpip_timeouts_mbox_fetch(sys_mbox_t *mbox, void **msg)
|
tcpip_mbox_fetch(sys_mbox_t *mbox, void **msg)
|
||||||
{
|
{
|
||||||
u32_t sleeptime, res;
|
u32_t sleeptime, res;
|
||||||
|
|
||||||
@ -139,7 +148,7 @@ tcpip_thread(void *arg)
|
|||||||
while (1) { /* MAIN Loop */
|
while (1) { /* MAIN Loop */
|
||||||
LWIP_TCPIP_THREAD_ALIVE();
|
LWIP_TCPIP_THREAD_ALIVE();
|
||||||
/* wait for a message, timeouts are processed while waiting */
|
/* wait for a message, timeouts are processed while waiting */
|
||||||
TCPIP_MBOX_FETCH(&tcpip_mbox, (void **)&msg);
|
tcpip_mbox_fetch(&tcpip_mbox, (void **)&msg);
|
||||||
if (msg == NULL) {
|
if (msg == NULL) {
|
||||||
LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: invalid message: NULL\n"));
|
LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: invalid message: NULL\n"));
|
||||||
LWIP_ASSERT("tcpip_thread: invalid message", 0);
|
LWIP_ASSERT("tcpip_thread: invalid message", 0);
|
||||||
@ -428,7 +437,7 @@ tcpip_untimeout(sys_timeout_handler h, void *arg)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends a message to TCPIP thread to call a function. Caller thread blocks on
|
* Sends a message to TCPIP thread to call a function. Caller thread blocks on
|
||||||
* on a provided semaphore, which ist NOT automatically signalled by TCPIP thread,
|
* on a provided semaphore, which is NOT automatically signalled by TCPIP thread,
|
||||||
* this has to be done by the user.
|
* this has to be done by the user.
|
||||||
* It is recommended to use LWIP_TCPIP_CORE_LOCKING since this is the way
|
* It is recommended to use LWIP_TCPIP_CORE_LOCKING since this is the way
|
||||||
* with least runtime overhead.
|
* with least runtime overhead.
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
* GOOD custom entropy
|
* GOOD custom entropy
|
||||||
*
|
*
|
||||||
* Missing things / @todo:
|
* Missing things / @todo:
|
||||||
* - some unhandled/untested things migh be caught by LWIP_ASSERTs...
|
* - some unhandled/untested things might be caught by LWIP_ASSERTs...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "lwip/opt.h"
|
#include "lwip/opt.h"
|
||||||
@ -133,6 +133,15 @@ static err_t altcp_mbedtls_handle_rx_appldata(struct altcp_pcb *conn, altcp_mbed
|
|||||||
static int altcp_mbedtls_bio_send(void *ctx, const unsigned char *dataptr, size_t size);
|
static int altcp_mbedtls_bio_send(void *ctx, const unsigned char *dataptr, size_t size);
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
altcp_mbedtls_flush_output(altcp_mbedtls_state_t* state)
|
||||||
|
{
|
||||||
|
int flushed = mbedtls_ssl_flush_output(&state->ssl_context);
|
||||||
|
if (flushed) {
|
||||||
|
LWIP_DEBUGF(ALTCP_MBEDTLS_DEBUG, ("mbedtls_ssl_flush_output failed: %d\n", flushed));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* callback functions from inner/lower connection: */
|
/* callback functions from inner/lower connection: */
|
||||||
|
|
||||||
/** Accept callback from lower connection (i.e. TCP)
|
/** Accept callback from lower connection (i.e. TCP)
|
||||||
@ -531,7 +540,7 @@ altcp_mbedtls_lower_sent(void *arg, struct altcp_pcb *inner_conn, u16_t len)
|
|||||||
/* remove ACKed bytes from overhead adjust counter */
|
/* remove ACKed bytes from overhead adjust counter */
|
||||||
state->overhead_bytes_adjust -= len;
|
state->overhead_bytes_adjust -= len;
|
||||||
/* try to send more if we failed before (may increase overhead adjust counter) */
|
/* try to send more if we failed before (may increase overhead adjust counter) */
|
||||||
mbedtls_ssl_flush_output(&state->ssl_context);
|
altcp_mbedtls_flush_output(state);
|
||||||
/* remove calculated overhead from ACKed bytes len */
|
/* remove calculated overhead from ACKed bytes len */
|
||||||
app_len = len - (u16_t)overhead;
|
app_len = len - (u16_t)overhead;
|
||||||
/* update application write counter and inform application */
|
/* update application write counter and inform application */
|
||||||
@ -559,7 +568,7 @@ altcp_mbedtls_lower_poll(void *arg, struct altcp_pcb *inner_conn)
|
|||||||
if (conn->state) {
|
if (conn->state) {
|
||||||
altcp_mbedtls_state_t *state = (altcp_mbedtls_state_t *)conn->state;
|
altcp_mbedtls_state_t *state = (altcp_mbedtls_state_t *)conn->state;
|
||||||
/* try to send more if we failed before */
|
/* try to send more if we failed before */
|
||||||
mbedtls_ssl_flush_output(&state->ssl_context);
|
altcp_mbedtls_flush_output(state);
|
||||||
if (altcp_mbedtls_handle_rx_appldata(conn, state) == ERR_ABRT) {
|
if (altcp_mbedtls_handle_rx_appldata(conn, state) == ERR_ABRT) {
|
||||||
return ERR_ABRT;
|
return ERR_ABRT;
|
||||||
}
|
}
|
||||||
@ -1233,7 +1242,7 @@ altcp_mbedtls_write(struct altcp_pcb *conn, const void *dataptr, u16_t len, u8_t
|
|||||||
allow sending more if this succeeded (this is a hack because neither
|
allow sending more if this succeeded (this is a hack because neither
|
||||||
returning 0 nor MBEDTLS_ERR_SSL_WANT_WRITE worked for me) */
|
returning 0 nor MBEDTLS_ERR_SSL_WANT_WRITE worked for me) */
|
||||||
if (state->ssl_context.out_left) {
|
if (state->ssl_context.out_left) {
|
||||||
mbedtls_ssl_flush_output(&state->ssl_context);
|
altcp_mbedtls_flush_output(state);
|
||||||
if (state->ssl_context.out_left) {
|
if (state->ssl_context.out_left) {
|
||||||
return ERR_MEM;
|
return ERR_MEM;
|
||||||
}
|
}
|
||||||
|
@ -229,9 +229,11 @@ http_parse_response_status(struct pbuf *p, u16_t *http_version, u16_t *http_stat
|
|||||||
} else {
|
} else {
|
||||||
status_num_len = end1 - space1 - 1;
|
status_num_len = end1 - space1 - 1;
|
||||||
}
|
}
|
||||||
memset(status_num, 0, sizeof(status_num));
|
if (status_num_len < sizeof(status_num)) {
|
||||||
if (pbuf_copy_partial(p, status_num, (u16_t)status_num_len, space1 + 1) == status_num_len) {
|
if (pbuf_copy_partial(p, status_num, (u16_t)status_num_len, space1 + 1) == status_num_len) {
|
||||||
int status = atoi(status_num);
|
int status;
|
||||||
|
status_num[status_num_len] = 0;
|
||||||
|
status = atoi(status_num);
|
||||||
if ((status > 0) && (status <= 0xFFFF)) {
|
if ((status > 0) && (status <= 0xFFFF)) {
|
||||||
*http_status = (u16_t)status;
|
*http_status = (u16_t)status;
|
||||||
return ERR_OK;
|
return ERR_OK;
|
||||||
@ -240,6 +242,7 @@ http_parse_response_status(struct pbuf *p, u16_t *http_version, u16_t *http_stat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return ERR_VAL;
|
return ERR_VAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -261,15 +264,18 @@ http_wait_headers(struct pbuf *p, u32_t *content_length, u16_t *total_header_len
|
|||||||
if (content_len_line_end != 0xFFFF) {
|
if (content_len_line_end != 0xFFFF) {
|
||||||
char content_len_num[16];
|
char content_len_num[16];
|
||||||
u16_t content_len_num_len = (u16_t)(content_len_line_end - content_len_hdr - 16);
|
u16_t content_len_num_len = (u16_t)(content_len_line_end - content_len_hdr - 16);
|
||||||
memset(content_len_num, 0, sizeof(content_len_num));
|
if (content_len_num_len < sizeof(content_len_num)) {
|
||||||
if (pbuf_copy_partial(p, content_len_num, content_len_num_len, content_len_hdr + 16) == content_len_num_len) {
|
if (pbuf_copy_partial(p, content_len_num, content_len_num_len, content_len_hdr + 16) == content_len_num_len) {
|
||||||
int len = atoi(content_len_num);
|
int len;
|
||||||
|
content_len_num[content_len_num_len] = 0;
|
||||||
|
len = atoi(content_len_num);
|
||||||
if ((len >= 0) && ((u32_t)len < HTTPC_CONTENT_LEN_INVALID)) {
|
if ((len >= 0) && ((u32_t)len < HTTPC_CONTENT_LEN_INVALID)) {
|
||||||
*content_length = (u32_t)len;
|
*content_length = (u32_t)len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return ERR_OK;
|
return ERR_OK;
|
||||||
}
|
}
|
||||||
return ERR_VAL;
|
return ERR_VAL;
|
||||||
@ -489,7 +495,7 @@ static int
|
|||||||
httpc_create_request_string(const httpc_connection_t *settings, const char* server_name, int server_port, const char* uri,
|
httpc_create_request_string(const httpc_connection_t *settings, const char* server_name, int server_port, const char* uri,
|
||||||
int use_host, char *buffer, size_t buffer_size)
|
int use_host, char *buffer, size_t buffer_size)
|
||||||
{
|
{
|
||||||
if (settings->use_proxy) {
|
if (settings && settings->use_proxy) {
|
||||||
LWIP_ASSERT("server_name != NULL", server_name != NULL);
|
LWIP_ASSERT("server_name != NULL", server_name != NULL);
|
||||||
if (server_port != HTTP_DEFAULT_PORT) {
|
if (server_port != HTTP_DEFAULT_PORT) {
|
||||||
return snprintf(buffer, buffer_size, HTTPC_REQ_11_PROXY_PORT_FORMAT(server_name, server_port, uri, server_name));
|
return snprintf(buffer, buffer_size, HTTPC_REQ_11_PROXY_PORT_FORMAT(server_name, server_port, uri, server_name));
|
||||||
@ -517,6 +523,7 @@ httpc_init_connection_common(httpc_state_t **connection, const httpc_connection_
|
|||||||
size_t server_name_len, uri_len;
|
size_t server_name_len, uri_len;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
LWIP_ERROR("httpc connection settings not give", settings != NULL, return ERR_ARG;);
|
||||||
LWIP_ASSERT("uri != NULL", uri != NULL);
|
LWIP_ASSERT("uri != NULL", uri != NULL);
|
||||||
|
|
||||||
/* get request len */
|
/* get request len */
|
||||||
@ -561,12 +568,12 @@ httpc_init_connection_common(httpc_state_t **connection, const httpc_connection_
|
|||||||
req->uri = req->server_name + server_name_len + 1;
|
req->uri = req->server_name + server_name_len + 1;
|
||||||
memcpy(req->uri, uri, uri_len + 1);
|
memcpy(req->uri, uri, uri_len + 1);
|
||||||
#endif
|
#endif
|
||||||
req->pcb = altcp_new(settings->altcp_allocator);
|
req->pcb = altcp_new(settings ? settings->altcp_allocator : NULL);
|
||||||
if(req->pcb == NULL) {
|
if(req->pcb == NULL) {
|
||||||
httpc_free_state(req);
|
httpc_free_state(req);
|
||||||
return ERR_MEM;
|
return ERR_MEM;
|
||||||
}
|
}
|
||||||
req->remote_port = settings->use_proxy ? settings->proxy_port : server_port;
|
req->remote_port = (settings && settings->use_proxy) ? settings->proxy_port : server_port;
|
||||||
altcp_arg(req->pcb, req);
|
altcp_arg(req->pcb, req);
|
||||||
altcp_recv(req->pcb, httpc_tcp_recv);
|
altcp_recv(req->pcb, httpc_tcp_recv);
|
||||||
altcp_err(req->pcb, httpc_tcp_err);
|
altcp_err(req->pcb, httpc_tcp_err);
|
||||||
@ -626,7 +633,7 @@ httpc_init_connection_addr(httpc_state_t **connection, const httpc_connection_t
|
|||||||
* @param settings connection settings (callbacks, proxy, etc.)
|
* @param settings connection settings (callbacks, proxy, etc.)
|
||||||
* @param recv_fn the http body (not the headers) are passed to this callback
|
* @param recv_fn the http body (not the headers) are passed to this callback
|
||||||
* @param callback_arg argument passed to all the callbacks
|
* @param callback_arg argument passed to all the callbacks
|
||||||
* @param connection retreives the connection handle (to match in callbacks)
|
* @param connection retrieves the connection handle (to match in callbacks)
|
||||||
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
||||||
* or an error code
|
* or an error code
|
||||||
*/
|
*/
|
||||||
@ -671,7 +678,7 @@ httpc_get_file(const ip_addr_t* server_addr, u16_t port, const char* uri, const
|
|||||||
* @param settings connection settings (callbacks, proxy, etc.)
|
* @param settings connection settings (callbacks, proxy, etc.)
|
||||||
* @param recv_fn the http body (not the headers) are passed to this callback
|
* @param recv_fn the http body (not the headers) are passed to this callback
|
||||||
* @param callback_arg argument passed to all the callbacks
|
* @param callback_arg argument passed to all the callbacks
|
||||||
* @param connection retreives the connection handle (to match in callbacks)
|
* @param connection retrieves the connection handle (to match in callbacks)
|
||||||
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
||||||
* or an error code
|
* or an error code
|
||||||
*/
|
*/
|
||||||
@ -689,12 +696,12 @@ httpc_get_file_dns(const char* server_name, u16_t port, const char* uri, const h
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings->use_proxy) {
|
if (settings && settings->use_proxy) {
|
||||||
err = httpc_get_internal_addr(req, &settings->proxy_addr);
|
err = httpc_get_internal_addr(req, &settings->proxy_addr);
|
||||||
} else {
|
} else {
|
||||||
err = httpc_get_internal_dns(req, server_name);
|
err = httpc_get_internal_dns(req, server_name);
|
||||||
}
|
}
|
||||||
if(err != ERR_OK) {
|
if (err != ERR_OK) {
|
||||||
httpc_free_state(req);
|
httpc_free_state(req);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@ -727,12 +734,17 @@ httpc_fs_init(httpc_filestate_t **filestate_out, const char* local_file_name,
|
|||||||
{
|
{
|
||||||
httpc_filestate_t *filestate;
|
httpc_filestate_t *filestate;
|
||||||
size_t file_len, alloc_len;
|
size_t file_len, alloc_len;
|
||||||
|
mem_size_t alloc_mem_size;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
|
|
||||||
file_len = strlen(local_file_name);
|
file_len = strlen(local_file_name);
|
||||||
alloc_len = sizeof(httpc_filestate_t) + file_len + 1;
|
alloc_len = sizeof(httpc_filestate_t) + file_len + 1;
|
||||||
|
alloc_mem_size = (mem_size_t)alloc_len;
|
||||||
filestate = (httpc_filestate_t *)mem_malloc((mem_size_t)alloc_len);
|
if (alloc_mem_size < alloc_len) {
|
||||||
|
/* overflow */
|
||||||
|
return ERR_MEM;
|
||||||
|
}
|
||||||
|
filestate = (httpc_filestate_t *)mem_malloc(alloc_mem_size);
|
||||||
if (filestate == NULL) {
|
if (filestate == NULL) {
|
||||||
return ERR_MEM;
|
return ERR_MEM;
|
||||||
}
|
}
|
||||||
@ -812,7 +824,7 @@ httpc_fs_tcp_recv(void *arg, struct altcp_pcb *pcb, struct pbuf *p, err_t err)
|
|||||||
* @param uri uri to get from the server, remember leading "/"!
|
* @param uri uri to get from the server, remember leading "/"!
|
||||||
* @param settings connection settings (callbacks, proxy, etc.)
|
* @param settings connection settings (callbacks, proxy, etc.)
|
||||||
* @param callback_arg argument passed to all the callbacks
|
* @param callback_arg argument passed to all the callbacks
|
||||||
* @param connection retreives the connection handle (to match in callbacks)
|
* @param connection retrieves the connection handle (to match in callbacks)
|
||||||
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
||||||
* or an error code
|
* or an error code
|
||||||
*/
|
*/
|
||||||
@ -864,7 +876,7 @@ httpc_get_file_to_disk(const ip_addr_t* server_addr, u16_t port, const char* uri
|
|||||||
* @param uri uri to get from the server, remember leading "/"!
|
* @param uri uri to get from the server, remember leading "/"!
|
||||||
* @param settings connection settings (callbacks, proxy, etc.)
|
* @param settings connection settings (callbacks, proxy, etc.)
|
||||||
* @param callback_arg argument passed to all the callbacks
|
* @param callback_arg argument passed to all the callbacks
|
||||||
* @param connection retreives the connection handle (to match in callbacks)
|
* @param connection retrieves the connection handle (to match in callbacks)
|
||||||
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
* @return ERR_OK if starting the request succeeds (callback_fn will be called later)
|
||||||
* or an error code
|
* or an error code
|
||||||
*/
|
*/
|
||||||
|
@ -471,6 +471,32 @@ http_state_alloc(void)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Make sure the post code knows that the connection is closed */
|
||||||
|
static void
|
||||||
|
http_state_close_post(struct http_state* hs)
|
||||||
|
{
|
||||||
|
#if LWIP_HTTPD_SUPPORT_POST
|
||||||
|
if (hs != NULL) {
|
||||||
|
if ((hs->post_content_len_left != 0)
|
||||||
|
#if LWIP_HTTPD_POST_MANUAL_WND
|
||||||
|
|| ((hs->no_auto_wnd != 0) && (hs->unrecved_bytes != 0))
|
||||||
|
#endif /* LWIP_HTTPD_POST_MANUAL_WND */
|
||||||
|
) {
|
||||||
|
/* prevent calling httpd_post_finished twice */
|
||||||
|
hs->post_content_len_left = 0;
|
||||||
|
#if LWIP_HTTPD_POST_MANUAL_WND
|
||||||
|
hs->unrecved_bytes = 0;
|
||||||
|
#endif /* LWIP_HTTPD_POST_MANUAL_WND */
|
||||||
|
/* make sure the post code knows that the connection is closed */
|
||||||
|
http_uri_buf[0] = 0;
|
||||||
|
httpd_post_finished(hs, http_uri_buf, LWIP_HTTPD_URI_BUF_LEN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else /* LWIP_HTTPD_SUPPORT_POST*/
|
||||||
|
LWIP_UNUSED_ARG(hs);
|
||||||
|
#endif /* LWIP_HTTPD_SUPPORT_POST*/
|
||||||
|
}
|
||||||
|
|
||||||
/** Free a struct http_state.
|
/** Free a struct http_state.
|
||||||
* Also frees the file data if dynamic.
|
* Also frees the file data if dynamic.
|
||||||
*/
|
*/
|
||||||
@ -505,6 +531,7 @@ http_state_eof(struct http_state *hs)
|
|||||||
hs->req = NULL;
|
hs->req = NULL;
|
||||||
}
|
}
|
||||||
#endif /* LWIP_HTTPD_SUPPORT_REQUESTLIST */
|
#endif /* LWIP_HTTPD_SUPPORT_REQUESTLIST */
|
||||||
|
http_state_close_post(hs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Free a struct http_state.
|
/** Free a struct http_state.
|
||||||
@ -598,20 +625,7 @@ http_close_or_abort_conn(struct altcp_pcb *pcb, struct http_state *hs, u8_t abor
|
|||||||
err_t err;
|
err_t err;
|
||||||
LWIP_DEBUGF(HTTPD_DEBUG, ("Closing connection %p\n", (void *)pcb));
|
LWIP_DEBUGF(HTTPD_DEBUG, ("Closing connection %p\n", (void *)pcb));
|
||||||
|
|
||||||
#if LWIP_HTTPD_SUPPORT_POST
|
http_state_close_post(hs);
|
||||||
if (hs != NULL) {
|
|
||||||
if ((hs->post_content_len_left != 0)
|
|
||||||
#if LWIP_HTTPD_POST_MANUAL_WND
|
|
||||||
|| ((hs->no_auto_wnd != 0) && (hs->unrecved_bytes != 0))
|
|
||||||
#endif /* LWIP_HTTPD_POST_MANUAL_WND */
|
|
||||||
) {
|
|
||||||
/* make sure the post code knows that the connection is closed */
|
|
||||||
http_uri_buf[0] = 0;
|
|
||||||
httpd_post_finished(hs, http_uri_buf, LWIP_HTTPD_URI_BUF_LEN);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* LWIP_HTTPD_SUPPORT_POST*/
|
|
||||||
|
|
||||||
|
|
||||||
altcp_arg(pcb, NULL);
|
altcp_arg(pcb, NULL);
|
||||||
altcp_recv(pcb, NULL);
|
altcp_recv(pcb, NULL);
|
||||||
@ -1818,7 +1832,7 @@ http_post_request(struct pbuf *inp, struct http_state *hs,
|
|||||||
#define HTTP_HDR_CONTENT_LEN "Content-Length: "
|
#define HTTP_HDR_CONTENT_LEN "Content-Length: "
|
||||||
#define HTTP_HDR_CONTENT_LEN_LEN 16
|
#define HTTP_HDR_CONTENT_LEN_LEN 16
|
||||||
#define HTTP_HDR_CONTENT_LEN_DIGIT_MAX_LEN 10
|
#define HTTP_HDR_CONTENT_LEN_DIGIT_MAX_LEN 10
|
||||||
char *scontent_len = lwip_strnstr(uri_end + 1, HTTP_HDR_CONTENT_LEN, crlfcrlf - (uri_end + 1));
|
char *scontent_len = lwip_strnistr(uri_end + 1, HTTP_HDR_CONTENT_LEN, crlfcrlf - (uri_end + 1));
|
||||||
if (scontent_len != NULL) {
|
if (scontent_len != NULL) {
|
||||||
char *scontent_len_end = lwip_strnstr(scontent_len + HTTP_HDR_CONTENT_LEN_LEN, CRLF, HTTP_HDR_CONTENT_LEN_DIGIT_MAX_LEN);
|
char *scontent_len_end = lwip_strnstr(scontent_len + HTTP_HDR_CONTENT_LEN_LEN, CRLF, HTTP_HDR_CONTENT_LEN_DIGIT_MAX_LEN);
|
||||||
if (scontent_len_end != NULL) {
|
if (scontent_len_end != NULL) {
|
||||||
@ -2086,8 +2100,8 @@ http_parse_request(struct pbuf *inp, struct http_state *hs, struct altcp_pcb *pc
|
|||||||
#if LWIP_HTTPD_SUPPORT_11_KEEPALIVE
|
#if LWIP_HTTPD_SUPPORT_11_KEEPALIVE
|
||||||
/* This is HTTP/1.0 compatible: for strict 1.1, a connection
|
/* This is HTTP/1.0 compatible: for strict 1.1, a connection
|
||||||
would always be persistent unless "close" was specified. */
|
would always be persistent unless "close" was specified. */
|
||||||
if (!is_09 && (lwip_strnstr(data, HTTP11_CONNECTIONKEEPALIVE, data_len) ||
|
if (!is_09 && (lwip_strnistr(data, HTTP11_CONNECTIONKEEPALIVE, data_len) ||
|
||||||
lwip_strnstr(data, HTTP11_CONNECTIONKEEPALIVE2, data_len))) {
|
lwip_strnistr(data, HTTP11_CONNECTIONKEEPALIVE2, data_len))) {
|
||||||
hs->keepalive = 1;
|
hs->keepalive = 1;
|
||||||
} else {
|
} else {
|
||||||
hs->keepalive = 0;
|
hs->keepalive = 0;
|
||||||
@ -2401,7 +2415,7 @@ http_init_file(struct http_state *hs, struct fs_file *file, int is_09, const cha
|
|||||||
search for the end of the header. */
|
search for the end of the header. */
|
||||||
char *file_start = lwip_strnstr(hs->file, CRLF CRLF, hs->left);
|
char *file_start = lwip_strnstr(hs->file, CRLF CRLF, hs->left);
|
||||||
if (file_start != NULL) {
|
if (file_start != NULL) {
|
||||||
int diff = file_start + 4 - hs->file;
|
size_t diff = file_start + 4 - hs->file;
|
||||||
hs->file += diff;
|
hs->file += diff;
|
||||||
hs->left -= (u32_t)diff;
|
hs->left -= (u32_t)diff;
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ while($file = <FILES>) {
|
|||||||
print(HEADER "HTTP/1.0 200 OK\r\n");
|
print(HEADER "HTTP/1.0 200 OK\r\n");
|
||||||
}
|
}
|
||||||
print(HEADER "Server: lwIP/pre-0.6 (http://www.sics.se/~adam/lwip/)\r\n");
|
print(HEADER "Server: lwIP/pre-0.6 (http://www.sics.se/~adam/lwip/)\r\n");
|
||||||
if($file =~ /\.html$/) {
|
if($file =~ /\.s?html?$/) {
|
||||||
print(HEADER "Content-type: text/html\r\n");
|
print(HEADER "Content-type: text/html\r\n");
|
||||||
} elsif($file =~ /\.gif$/) {
|
} elsif($file =~ /\.gif$/) {
|
||||||
print(HEADER "Content-type: image/gif\r\n");
|
print(HEADER "Content-type: image/gif\r\n");
|
||||||
|
@ -895,6 +895,10 @@ static int is_ssi_file(const char *filename)
|
|||||||
/* build up the relative path to this file */
|
/* build up the relative path to this file */
|
||||||
size_t sublen = strlen(curSubdir);
|
size_t sublen = strlen(curSubdir);
|
||||||
size_t freelen = sizeof(curSubdir) - sublen - 1;
|
size_t freelen = sizeof(curSubdir) - sublen - 1;
|
||||||
|
if (sublen + strlen(filename) + 1 >= sizeof(curSubdir)) {
|
||||||
|
/* prevent buffer overflow */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
strncat(curSubdir, "/", freelen);
|
strncat(curSubdir, "/", freelen);
|
||||||
strncat(curSubdir, filename, freelen - 1);
|
strncat(curSubdir, filename, freelen - 1);
|
||||||
curSubdir[sizeof(curSubdir) - 1] = 0;
|
curSubdir[sizeof(curSubdir) - 1] = 0;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2013-2019, tinydir authors:
|
Copyright (c) 2013-2021, tinydir authors:
|
||||||
- Cong Xu
|
- Cong Xu
|
||||||
- Lautis Sun
|
- Lautis Sun
|
||||||
- Baudouin Feildel
|
- Baudouin Feildel
|
||||||
@ -125,8 +125,13 @@ extern "C" {
|
|||||||
# define _TINYDIR_FUNC static __inline
|
# define _TINYDIR_FUNC static __inline
|
||||||
#elif !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
|
#elif !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
|
||||||
# define _TINYDIR_FUNC static __inline__
|
# define _TINYDIR_FUNC static __inline__
|
||||||
#else
|
#elif defined(__cplusplus)
|
||||||
# define _TINYDIR_FUNC static inline
|
# define _TINYDIR_FUNC static inline
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
/* Suppress unused function warning */
|
||||||
|
# define _TINYDIR_FUNC __attribute__((unused)) static
|
||||||
|
#else
|
||||||
|
# define _TINYDIR_FUNC static
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* readdir_r usage; define TINYDIR_USE_READDIR_R to use it (if supported) */
|
/* readdir_r usage; define TINYDIR_USE_READDIR_R to use it (if supported) */
|
||||||
@ -543,7 +548,9 @@ int tinydir_readfile(const tinydir_dir *dir, tinydir_file *file)
|
|||||||
if (_tstat(
|
if (_tstat(
|
||||||
#elif (defined _BSD_SOURCE) || (defined _DEFAULT_SOURCE) \
|
#elif (defined _BSD_SOURCE) || (defined _DEFAULT_SOURCE) \
|
||||||
|| ((defined _XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)) \
|
|| ((defined _XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)) \
|
||||||
|| ((defined _POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L))
|
|| ((defined _POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 200112L)) \
|
||||||
|
|| ((defined __APPLE__) && (defined __MACH__)) \
|
||||||
|
|| (defined BSD)
|
||||||
if (lstat(
|
if (lstat(
|
||||||
#else
|
#else
|
||||||
if (stat(
|
if (stat(
|
||||||
@ -636,7 +643,7 @@ int tinydir_file_open(tinydir_file *file, const _tinydir_char_t *path)
|
|||||||
int result = 0;
|
int result = 0;
|
||||||
int found = 0;
|
int found = 0;
|
||||||
_tinydir_char_t dir_name_buf[_TINYDIR_PATH_MAX];
|
_tinydir_char_t dir_name_buf[_TINYDIR_PATH_MAX];
|
||||||
_tinydir_char_t file_name_buf[_TINYDIR_FILENAME_MAX];
|
_tinydir_char_t file_name_buf[_TINYDIR_PATH_MAX];
|
||||||
_tinydir_char_t *dir_name;
|
_tinydir_char_t *dir_name;
|
||||||
_tinydir_char_t *base_name;
|
_tinydir_char_t *base_name;
|
||||||
#if (defined _MSC_VER || defined __MINGW32__)
|
#if (defined _MSC_VER || defined __MINGW32__)
|
||||||
|
@ -302,7 +302,7 @@ lwiperf_tcp_client_send_more(lwiperf_state_tcp_t *conn)
|
|||||||
/* this session is byte-limited */
|
/* this session is byte-limited */
|
||||||
u32_t amount_bytes = lwip_htonl(conn->settings.amount);
|
u32_t amount_bytes = lwip_htonl(conn->settings.amount);
|
||||||
/* @todo: this can send up to 1*MSS more than requested... */
|
/* @todo: this can send up to 1*MSS more than requested... */
|
||||||
if (amount_bytes >= conn->bytes_transferred) {
|
if (conn->bytes_transferred >= amount_bytes) {
|
||||||
/* all requested bytes transferred -> close the connection */
|
/* all requested bytes transferred -> close the connection */
|
||||||
lwiperf_tcp_close(conn, LWIPERF_TCP_DONE_CLIENT);
|
lwiperf_tcp_close(conn, LWIPERF_TCP_DONE_CLIENT);
|
||||||
return ERR_OK;
|
return ERR_OK;
|
||||||
|
@ -1792,7 +1792,7 @@ mdns_probe_conflict(struct netif *netif, s8_t slot)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loockup matching request for response MDNS packet
|
* Lookup matching request for response MDNS packet
|
||||||
*/
|
*/
|
||||||
#if LWIP_MDNS_SEARCH
|
#if LWIP_MDNS_SEARCH
|
||||||
static struct mdns_request *
|
static struct mdns_request *
|
||||||
|
@ -318,7 +318,7 @@ mqtt_append_request(struct mqtt_request_t **tail, struct mqtt_request_t *r)
|
|||||||
|
|
||||||
LWIP_ASSERT("mqtt_append_request: tail != NULL", tail != NULL);
|
LWIP_ASSERT("mqtt_append_request: tail != NULL", tail != NULL);
|
||||||
|
|
||||||
/* Iterate trough queue to find head, and count total timeout time */
|
/* Iterate through queue to find head, and count total timeout time */
|
||||||
for (iter = *tail; iter != NULL; iter = iter->next) {
|
for (iter = *tail; iter != NULL; iter = iter->next) {
|
||||||
time_before += iter->timeout_diff;
|
time_before += iter->timeout_diff;
|
||||||
head = iter;
|
head = iter;
|
||||||
@ -1337,9 +1337,16 @@ mqtt_client_connect(mqtt_client_t *client, const ip_addr_t *ip_addr, u16_t port,
|
|||||||
LWIP_ERROR("mqtt_client_connect: client_info->will_topic length overflow", len <= 0xFF, return ERR_VAL);
|
LWIP_ERROR("mqtt_client_connect: client_info->will_topic length overflow", len <= 0xFF, return ERR_VAL);
|
||||||
LWIP_ERROR("mqtt_client_connect: client_info->will_topic length must be > 0", len > 0, return ERR_VAL);
|
LWIP_ERROR("mqtt_client_connect: client_info->will_topic length must be > 0", len > 0, return ERR_VAL);
|
||||||
will_topic_len = (u8_t)len;
|
will_topic_len = (u8_t)len;
|
||||||
|
if (client_info->will_msg_len == 0)
|
||||||
|
{
|
||||||
len = strlen(client_info->will_msg);
|
len = strlen(client_info->will_msg);
|
||||||
LWIP_ERROR("mqtt_client_connect: client_info->will_msg length overflow", len <= 0xFF, return ERR_VAL);
|
LWIP_ERROR("mqtt_client_connect: client_info->will_msg length overflow", len <= 0xFF, return ERR_VAL);
|
||||||
will_msg_len = (u8_t)len;
|
will_msg_len = (u8_t)len;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
will_msg_len = client_info->will_msg_len;
|
||||||
|
}
|
||||||
len = remaining_length + 2 + will_topic_len + 2 + will_msg_len;
|
len = remaining_length + 2 + will_topic_len + 2 + will_msg_len;
|
||||||
LWIP_ERROR("mqtt_client_connect: remaining_length overflow", len <= 0xFFFF, return ERR_VAL);
|
LWIP_ERROR("mqtt_client_connect: remaining_length overflow", len <= 0xFFFF, return ERR_VAL);
|
||||||
remaining_length = (u16_t)len;
|
remaining_length = (u16_t)len;
|
||||||
|
@ -391,7 +391,7 @@ netbiosns_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t
|
|||||||
resp->resp_hdr.authorityRRs = 0;
|
resp->resp_hdr.authorityRRs = 0;
|
||||||
resp->resp_hdr.additionalRRs = 0;
|
resp->resp_hdr.additionalRRs = 0;
|
||||||
|
|
||||||
/* prepare NetBIOS header datas */
|
/* prepare NetBIOS header data */
|
||||||
MEMCPY( resp->resp_name.encname, netbios_question_hdr->encname, sizeof(netbios_question_hdr->encname));
|
MEMCPY( resp->resp_name.encname, netbios_question_hdr->encname, sizeof(netbios_question_hdr->encname));
|
||||||
resp->resp_name.nametype = netbios_question_hdr->nametype;
|
resp->resp_name.nametype = netbios_question_hdr->nametype;
|
||||||
resp->resp_name.type = netbios_question_hdr->type;
|
resp->resp_name.type = netbios_question_hdr->type;
|
||||||
|
@ -1305,7 +1305,7 @@ smtp_process(void *arg, struct altcp_pcb *pcb, struct pbuf *p)
|
|||||||
LWIP_DEBUGF(SMTP_DEBUG_TRACE, ("smtp_process: received response code: %d\n", response_code));
|
LWIP_DEBUGF(SMTP_DEBUG_TRACE, ("smtp_process: received response code: %d\n", response_code));
|
||||||
if (smtp_is_response_finished(s) != ERR_OK) {
|
if (smtp_is_response_finished(s) != ERR_OK) {
|
||||||
LWIP_DEBUGF(SMTP_DEBUG_TRACE, ("smtp_process: partly received response code: %d\n", response_code));
|
LWIP_DEBUGF(SMTP_DEBUG_TRACE, ("smtp_process: partly received response code: %d\n", response_code));
|
||||||
/* wait for next packet to complete the respone */
|
/* wait for next packet to complete the response */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -584,7 +584,7 @@ snmp_oid_prefix(struct snmp_obj_id *target, const u32_t *oid, u8_t oid_len)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Combine two OIDs into struct snmp_obj_id
|
* Combine two OIDs into struct snmp_obj_id
|
||||||
* @param target Assignmet target
|
* @param target Assignment target
|
||||||
* @param oid1 OID 1
|
* @param oid1 OID 1
|
||||||
* @param oid1_len OID 1 length
|
* @param oid1_len OID 1 length
|
||||||
* @param oid2 OID 2
|
* @param oid2 OID 2
|
||||||
|
@ -1058,7 +1058,7 @@ snmp_parse_inbound_frame(struct snmp_request *request)
|
|||||||
IF_PARSE_EXEC(snmpv3_get_user((char *)request->msg_user_name, &auth, key, NULL, NULL));
|
IF_PARSE_EXEC(snmpv3_get_user((char *)request->msg_user_name, &auth, key, NULL, NULL));
|
||||||
IF_PARSE_EXEC(snmpv3_auth(&auth_stream, request->inbound_pbuf->tot_len, key, auth, hmac));
|
IF_PARSE_EXEC(snmpv3_auth(&auth_stream, request->inbound_pbuf->tot_len, key, auth, hmac));
|
||||||
|
|
||||||
if (memcmp(request->msg_authentication_parameters, hmac, SNMP_V3_MAX_AUTH_PARAM_LENGTH)) {
|
if (lwip_memcmp_consttime(request->msg_authentication_parameters, hmac, SNMP_V3_MAX_AUTH_PARAM_LENGTH)) {
|
||||||
snmp_stats.wrongdigests++;
|
snmp_stats.wrongdigests++;
|
||||||
request->msg_flags = SNMP_V3_NOAUTHNOPRIV;
|
request->msg_flags = SNMP_V3_NOAUTHNOPRIV;
|
||||||
request->error_status = SNMP_ERR_AUTHORIZATIONERROR;
|
request->error_status = SNMP_ERR_AUTHORIZATIONERROR;
|
||||||
|
@ -914,7 +914,8 @@ sntp_getkodreceived(u8_t idx)
|
|||||||
* Initialize one of the NTP servers by name
|
* Initialize one of the NTP servers by name
|
||||||
*
|
*
|
||||||
* @param idx the index of the NTP server to set must be < SNTP_MAX_SERVERS
|
* @param idx the index of the NTP server to set must be < SNTP_MAX_SERVERS
|
||||||
* @param server DNS name of the NTP server to set, to be resolved at contact time
|
* @param server DNS name of the NTP server to set, to be resolved at contact
|
||||||
|
* time. Note sntp stores the pointer, it doesn't copy the string.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
sntp_setservername(u8_t idx, const char *server)
|
sntp_setservername(u8_t idx, const char *server)
|
||||||
|
@ -157,7 +157,7 @@ send_request(const ip_addr_t *addr, u16_t port, u16_t opcode, const char* fname,
|
|||||||
static err_t
|
static err_t
|
||||||
send_error(const ip_addr_t *addr, u16_t port, enum tftp_error code, const char *str)
|
send_error(const ip_addr_t *addr, u16_t port, enum tftp_error code, const char *str)
|
||||||
{
|
{
|
||||||
int str_length = strlen(str);
|
size_t str_length = strlen(str);
|
||||||
struct pbuf *p;
|
struct pbuf *p;
|
||||||
u16_t *payload;
|
u16_t *payload;
|
||||||
err_t ret;
|
err_t ret;
|
||||||
|
@ -261,3 +261,26 @@ lwip_itoa(char *result, size_t bufsize, int number)
|
|||||||
memmove(res, tmp, (size_t)((result + bufsize) - tmp));
|
memmove(res, tmp, (size_t)((result + bufsize) - tmp));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef lwip_memcmp_consttime
|
||||||
|
/**
|
||||||
|
* @ingroup sys_nonstandard
|
||||||
|
* The goal of this function is to compare memory with constant runtime in order to prevent
|
||||||
|
* timing attacks to various parts in the stack.
|
||||||
|
* To do that, in contrast to memcmp(), it only returns:
|
||||||
|
* 0: equal
|
||||||
|
* != 0: not equal
|
||||||
|
*/
|
||||||
|
int lwip_memcmp_consttime(const void* s1, const void* s2, size_t len)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
const unsigned char* a1 = (const unsigned char*)s1;
|
||||||
|
const unsigned char* a2 = (const unsigned char*)s2;
|
||||||
|
unsigned char ret = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
ret |= a1[i] ^ a2[i];
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@ -196,8 +196,11 @@ PACK_STRUCT_END
|
|||||||
#if (LWIP_ALTCP && LWIP_EVENT_API)
|
#if (LWIP_ALTCP && LWIP_EVENT_API)
|
||||||
#error "The application layered tcp API does not work with LWIP_EVENT_API"
|
#error "The application layered tcp API does not work with LWIP_EVENT_API"
|
||||||
#endif
|
#endif
|
||||||
#if (MEM_LIBC_MALLOC && MEM_USE_POOLS)
|
#if (MEM_CUSTOM_ALLOCATOR && !(defined(MEM_CUSTOM_FREE) && defined(MEM_CUSTOM_MALLOC) && defined(MEM_CUSTOM_CALLOC)))
|
||||||
#error "MEM_LIBC_MALLOC and MEM_USE_POOLS may not both be simultaneously enabled in your lwipopts.h"
|
#error "All of MEM_CUSTOM_FREE/MEM_CUSTOM_MALLOC/MEM_CUSTOM_CALLOC must be provided if MEM_CUSTOM_ALLOCATOR is enabled in your lwipopts.h"
|
||||||
|
#endif
|
||||||
|
#if (MEM_USE_POOLS && MEM_CUSTOM_ALLOCATOR)
|
||||||
|
#error "MEM_USE_POOLS may not be used with a custom allocator (MEM_CUSTOM_ALLOCATOR or MEM_LIBC_MALLOC) enabled in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
#if (MEM_USE_POOLS && !MEMP_USE_CUSTOM_POOLS)
|
#if (MEM_USE_POOLS && !MEMP_USE_CUSTOM_POOLS)
|
||||||
#error "MEM_USE_POOLS requires custom pools (MEMP_USE_CUSTOM_POOLS) to be enabled in your lwipopts.h"
|
#error "MEM_USE_POOLS requires custom pools (MEMP_USE_CUSTOM_POOLS) to be enabled in your lwipopts.h"
|
||||||
|
@ -143,7 +143,7 @@ acd_add(struct netif *netif, struct acd *acd,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup acd
|
* @ingroup acd
|
||||||
* Remvoe ACD client from the client list
|
* Remove ACD client from the client list
|
||||||
*
|
*
|
||||||
* @param netif network interface from which to remove the acd client
|
* @param netif network interface from which to remove the acd client
|
||||||
* @param acd acd module to be removed from the list
|
* @param acd acd module to be removed from the list
|
||||||
|
@ -1600,7 +1600,7 @@ again:
|
|||||||
/* special case: there might be more than one server */
|
/* special case: there might be more than one server */
|
||||||
LWIP_DHCP_INPUT_ERROR("len %% 4 == 0", len % 4 == 0, return ERR_VAL;);
|
LWIP_DHCP_INPUT_ERROR("len %% 4 == 0", len % 4 == 0, return ERR_VAL;);
|
||||||
/* limit number of DNS servers */
|
/* limit number of DNS servers */
|
||||||
decode_len = LWIP_MIN(len, 4 * DNS_MAX_SERVERS);
|
decode_len = LWIP_MIN(len, 4 * LWIP_DHCP_PROVIDE_DNS_SERVERS);
|
||||||
LWIP_DHCP_INPUT_ERROR("len >= decode_len", len >= decode_len, return ERR_VAL;);
|
LWIP_DHCP_INPUT_ERROR("len >= decode_len", len >= decode_len, return ERR_VAL;);
|
||||||
decode_idx = DHCP_OPTION_IDX_DNS_SERVER;
|
decode_idx = DHCP_OPTION_IDX_DNS_SERVER;
|
||||||
break;
|
break;
|
||||||
|
@ -213,6 +213,7 @@ icmp_input(struct pbuf *p, struct netif *inp)
|
|||||||
ip4_addr_copy(iphdr->src, *src);
|
ip4_addr_copy(iphdr->src, *src);
|
||||||
ip4_addr_copy(iphdr->dest, *ip4_current_src_addr());
|
ip4_addr_copy(iphdr->dest, *ip4_current_src_addr());
|
||||||
ICMPH_TYPE_SET(iecho, ICMP_ER);
|
ICMPH_TYPE_SET(iecho, ICMP_ER);
|
||||||
|
p->if_idx = NETIF_NO_INDEX; /* we're reusing this pbuf, so reset its if_idx */
|
||||||
#if CHECKSUM_GEN_ICMP
|
#if CHECKSUM_GEN_ICMP
|
||||||
IF__NETIF_CHECKSUM_ENABLED(inp, NETIF_CHECKSUM_GEN_ICMP) {
|
IF__NETIF_CHECKSUM_ENABLED(inp, NETIF_CHECKSUM_GEN_ICMP) {
|
||||||
/* adjust the checksum */
|
/* adjust the checksum */
|
||||||
|
@ -1011,9 +1011,10 @@ netif_found:
|
|||||||
goto ip6_input_cleanup;
|
goto ip6_input_cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returned p point to IPv6 header.
|
/* Returned p points to IPv6 header.
|
||||||
* Update all our variables and pointers and continue. */
|
* Update all our variables and pointers and continue. */
|
||||||
ip6hdr = (struct ip6_hdr *)p->payload;
|
ip6hdr = (struct ip6_hdr *)p->payload;
|
||||||
|
ip_data.current_ip6_header = ip6hdr;
|
||||||
nexth = &IP6H_NEXTH(ip6hdr);
|
nexth = &IP6H_NEXTH(ip6hdr);
|
||||||
hlen = hlen_tot = IP6_HLEN;
|
hlen = hlen_tot = IP6_HLEN;
|
||||||
pbuf_remove_header(p, IP6_HLEN);
|
pbuf_remove_header(p, IP6_HLEN);
|
||||||
|
@ -270,7 +270,8 @@ ip6addr_ntoa_r(const ip6_addr_t *addr, char *buf, int buflen)
|
|||||||
|
|
||||||
/* Check for empty block. */
|
/* Check for empty block. */
|
||||||
if (current_block_value == 0) {
|
if (current_block_value == 0) {
|
||||||
if (current_block_index == 7 && empty_block_flag == 1) {
|
if (current_block_index == 7) {
|
||||||
|
if (empty_block_flag == 1) {
|
||||||
/* special case, we must render a ':' for the last block. */
|
/* special case, we must render a ':' for the last block. */
|
||||||
buf[i++] = ':';
|
buf[i++] = ':';
|
||||||
if (i >= buflen) {
|
if (i >= buflen) {
|
||||||
@ -278,7 +279,7 @@ ip6addr_ntoa_r(const ip6_addr_t *addr, char *buf, int buflen)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (empty_block_flag == 0) {
|
} else if (empty_block_flag == 0) {
|
||||||
/* generate empty block "::", but only if more than one contiguous zero block,
|
/* generate empty block "::", but only if more than one contiguous zero block,
|
||||||
* according to current formatting suggestions RFC 5952. */
|
* according to current formatting suggestions RFC 5952. */
|
||||||
next_block_value = lwip_htonl(addr->addr[(current_block_index + 1) >> 1]);
|
next_block_value = lwip_htonl(addr->addr[(current_block_index + 1) >> 1]);
|
||||||
|
@ -162,7 +162,7 @@ ip6_reass_free_complete_datagram(struct ip6_reassdata *ipr)
|
|||||||
ipr->p = iprh->next_pbuf;
|
ipr->p = iprh->next_pbuf;
|
||||||
/* Restore the part that we've overwritten with our helper structure, or we
|
/* Restore the part that we've overwritten with our helper structure, or we
|
||||||
* might send garbage (and disclose a pointer) in the ICMPv6 reply. */
|
* might send garbage (and disclose a pointer) in the ICMPv6 reply. */
|
||||||
MEMCPY(p->payload, ipr->orig_hdr, sizeof(iprh));
|
MEMCPY(p->payload, ipr->orig_hdr, sizeof(*iprh));
|
||||||
/* Then, move back to the original ipv6 header (we are now pointing to Fragment header).
|
/* Then, move back to the original ipv6 header (we are now pointing to Fragment header).
|
||||||
This cannot fail since we already checked when receiving this fragment. */
|
This cannot fail since we already checked when receiving this fragment. */
|
||||||
if (pbuf_header_force(p, (s16_t)((u8_t*)p->payload - (u8_t*)ipr->iphdr))) {
|
if (pbuf_header_force(p, (s16_t)((u8_t*)p->payload - (u8_t*)ipr->iphdr))) {
|
||||||
@ -447,6 +447,19 @@ ip6_reass(struct pbuf *p)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* IP_REASS_CHECK_OVERLAP */
|
#endif /* IP_REASS_CHECK_OVERLAP */
|
||||||
|
/* Check if the fragments received so far have no gaps. */
|
||||||
|
if (iprh_prev != NULL) {
|
||||||
|
if (iprh_prev->end != start) {
|
||||||
|
/* There is a fragment missing between the current
|
||||||
|
* and the previous fragment */
|
||||||
|
valid = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (end != iprh_tmp->start) {
|
||||||
|
/* There is a fragment missing between the current
|
||||||
|
* and the following fragment */
|
||||||
|
valid = 0;
|
||||||
|
}
|
||||||
/* the new pbuf should be inserted before this */
|
/* the new pbuf should be inserted before this */
|
||||||
next_pbuf = q;
|
next_pbuf = q;
|
||||||
if (iprh_prev != NULL) {
|
if (iprh_prev != NULL) {
|
||||||
@ -658,6 +671,7 @@ ip6_reass(struct pbuf *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Return the pbuf chain */
|
/* Return the pbuf chain */
|
||||||
|
MIB2_STATS_INC(mib2.ip6reasmoks);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
/* the datagram is not (yet?) reassembled completely */
|
/* the datagram is not (yet?) reassembled completely */
|
||||||
|
@ -687,7 +687,7 @@ nd6_input(struct pbuf *p, struct netif *inp)
|
|||||||
case ND6_OPTION_TYPE_SOURCE_LLADDR:
|
case ND6_OPTION_TYPE_SOURCE_LLADDR:
|
||||||
{
|
{
|
||||||
struct lladdr_option *lladdr_opt;
|
struct lladdr_option *lladdr_opt;
|
||||||
if (option_len < sizeof(struct lladdr_option)) {
|
if (option_len < (ND6_LLADDR_OPTION_MIN_LENGTH + inp->hwaddr_len)) {
|
||||||
goto lenerr_drop_free_return;
|
goto lenerr_drop_free_return;
|
||||||
}
|
}
|
||||||
lladdr_opt = (struct lladdr_option *)buffer;
|
lladdr_opt = (struct lladdr_option *)buffer;
|
||||||
@ -1176,7 +1176,7 @@ nd6_tmr(void)
|
|||||||
|
|
||||||
/** Send a neighbor solicitation message for a specific neighbor cache entry
|
/** Send a neighbor solicitation message for a specific neighbor cache entry
|
||||||
*
|
*
|
||||||
* @param entry the neightbor cache entry for which to send the message
|
* @param entry the neighbor cache entry for which to send the message
|
||||||
* @param flags one of ND6_SEND_FLAG_*
|
* @param flags one of ND6_SEND_FLAG_*
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
@ -1707,7 +1707,7 @@ nd6_select_router(const ip6_addr_t *ip6addr, struct netif *netif)
|
|||||||
/* Look for valid routers. A reachable router is preferred. */
|
/* Look for valid routers. A reachable router is preferred. */
|
||||||
valid_router = -1;
|
valid_router = -1;
|
||||||
for (i = 0; i < LWIP_ND6_NUM_ROUTERS; i++) {
|
for (i = 0; i < LWIP_ND6_NUM_ROUTERS; i++) {
|
||||||
/* Is the router netif both set and apppropriate? */
|
/* Is the router netif both set and appropriate? */
|
||||||
if (default_router_list[i].neighbor_entry != NULL) {
|
if (default_router_list[i].neighbor_entry != NULL) {
|
||||||
router_netif = default_router_list[i].neighbor_entry->netif;
|
router_netif = default_router_list[i].neighbor_entry->netif;
|
||||||
if ((router_netif != NULL) && (netif != NULL ? netif == router_netif :
|
if ((router_netif != NULL) && (netif != NULL ? netif == router_netif :
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
#include "lwip/stats.h"
|
#include "lwip/stats.h"
|
||||||
#include "lwip/err.h"
|
#include "lwip/err.h"
|
||||||
|
|
||||||
|
#include <stdio.h> /* snprintf */
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#if MEM_LIBC_MALLOC
|
#if MEM_LIBC_MALLOC
|
||||||
@ -151,7 +152,7 @@ mem_overflow_init_raw(void *p, size_t size)
|
|||||||
}
|
}
|
||||||
#endif /* MEM_OVERFLOW_CHECK || MEMP_OVERFLOW_CHECK */
|
#endif /* MEM_OVERFLOW_CHECK || MEMP_OVERFLOW_CHECK */
|
||||||
|
|
||||||
#if MEM_LIBC_MALLOC || MEM_USE_POOLS
|
#if MEM_CUSTOM_ALLOCATOR || MEM_USE_POOLS
|
||||||
|
|
||||||
/** mem_init is not used when using pools instead of a heap or using
|
/** mem_init is not used when using pools instead of a heap or using
|
||||||
* C library malloc().
|
* C library malloc().
|
||||||
@ -171,23 +172,9 @@ mem_trim(void *mem, mem_size_t size)
|
|||||||
LWIP_UNUSED_ARG(size);
|
LWIP_UNUSED_ARG(size);
|
||||||
return mem;
|
return mem;
|
||||||
}
|
}
|
||||||
#endif /* MEM_LIBC_MALLOC || MEM_USE_POOLS */
|
#endif /* MEM_CUSTOM_ALLOCATOR || MEM_USE_POOLS */
|
||||||
|
|
||||||
#if MEM_LIBC_MALLOC
|
#if MEM_CUSTOM_ALLOCATOR
|
||||||
/* lwIP heap implemented using C library malloc() */
|
|
||||||
|
|
||||||
/* in case C library malloc() needs extra protection,
|
|
||||||
* allow these defines to be overridden.
|
|
||||||
*/
|
|
||||||
#ifndef mem_clib_free
|
|
||||||
#define mem_clib_free free
|
|
||||||
#endif
|
|
||||||
#ifndef mem_clib_malloc
|
|
||||||
#define mem_clib_malloc malloc
|
|
||||||
#endif
|
|
||||||
#ifndef mem_clib_calloc
|
|
||||||
#define mem_clib_calloc calloc
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if LWIP_STATS && MEM_STATS
|
#if LWIP_STATS && MEM_STATS
|
||||||
#define MEM_LIBC_STATSHELPER_SIZE LWIP_MEM_ALIGN_SIZE(sizeof(mem_size_t))
|
#define MEM_LIBC_STATSHELPER_SIZE LWIP_MEM_ALIGN_SIZE(sizeof(mem_size_t))
|
||||||
@ -206,7 +193,7 @@ mem_trim(void *mem, mem_size_t size)
|
|||||||
void *
|
void *
|
||||||
mem_malloc(mem_size_t size)
|
mem_malloc(mem_size_t size)
|
||||||
{
|
{
|
||||||
void *ret = mem_clib_malloc(size + MEM_LIBC_STATSHELPER_SIZE);
|
void *ret = MEM_CUSTOM_MALLOC(size + MEM_LIBC_STATSHELPER_SIZE);
|
||||||
if (ret == NULL) {
|
if (ret == NULL) {
|
||||||
MEM_STATS_INC_LOCKED(err);
|
MEM_STATS_INC_LOCKED(err);
|
||||||
} else {
|
} else {
|
||||||
@ -233,7 +220,7 @@ mem_free(void *rmem)
|
|||||||
rmem = (u8_t *)rmem - MEM_LIBC_STATSHELPER_SIZE;
|
rmem = (u8_t *)rmem - MEM_LIBC_STATSHELPER_SIZE;
|
||||||
MEM_STATS_DEC_USED_LOCKED(used, *(mem_size_t *)rmem);
|
MEM_STATS_DEC_USED_LOCKED(used, *(mem_size_t *)rmem);
|
||||||
#endif
|
#endif
|
||||||
mem_clib_free(rmem);
|
MEM_CUSTOM_FREE(rmem);
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif MEM_USE_POOLS
|
#elif MEM_USE_POOLS
|
||||||
@ -805,7 +792,7 @@ mem_trim(void *rmem, mem_size_t new_size)
|
|||||||
/* else {
|
/* else {
|
||||||
next struct mem is used but size between mem and mem2 is not big enough
|
next struct mem is used but size between mem and mem2 is not big enough
|
||||||
to create another struct mem
|
to create another struct mem
|
||||||
-> don't do anyhting.
|
-> don't do anything.
|
||||||
-> the remaining space stays unused since it is too small
|
-> the remaining space stays unused since it is too small
|
||||||
} */
|
} */
|
||||||
#if MEM_OVERFLOW_CHECK
|
#if MEM_OVERFLOW_CHECK
|
||||||
@ -977,14 +964,14 @@ mem_malloc_adjust_lfree:
|
|||||||
|
|
||||||
#endif /* MEM_USE_POOLS */
|
#endif /* MEM_USE_POOLS */
|
||||||
|
|
||||||
#if MEM_LIBC_MALLOC && (!LWIP_STATS || !MEM_STATS)
|
#if MEM_CUSTOM_ALLOCATOR && (!LWIP_STATS || !MEM_STATS)
|
||||||
void *
|
void *
|
||||||
mem_calloc(mem_size_t count, mem_size_t size)
|
mem_calloc(mem_size_t count, mem_size_t size)
|
||||||
{
|
{
|
||||||
return mem_clib_calloc(count, size);
|
return MEM_CUSTOM_CALLOC(count, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* MEM_LIBC_MALLOC && (!LWIP_STATS || !MEM_STATS) */
|
#else /* MEM_CUSTOM_ALLOCATOR && (!LWIP_STATS || !MEM_STATS) */
|
||||||
/**
|
/**
|
||||||
* Contiguously allocates enough space for count objects that are size bytes
|
* Contiguously allocates enough space for count objects that are size bytes
|
||||||
* of memory each and returns a pointer to the allocated memory.
|
* of memory each and returns a pointer to the allocated memory.
|
||||||
@ -1014,4 +1001,4 @@ mem_calloc(mem_size_t count, mem_size_t size)
|
|||||||
}
|
}
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
#endif /* MEM_LIBC_MALLOC && (!LWIP_STATS || !MEM_STATS) */
|
#endif /* MEM_CUSTOM_ALLOCATOR && (!LWIP_STATS || !MEM_STATS) */
|
||||||
|
@ -1409,7 +1409,7 @@ netif_ip6_addr_set_parts(struct netif *netif, s8_t addr_idx, u32_t i0, u32_t i1,
|
|||||||
if (ip6_addr_isvalid(netif_ip6_addr_state(netif, addr_idx))) {
|
if (ip6_addr_isvalid(netif_ip6_addr_state(netif, addr_idx))) {
|
||||||
netif_do_ip_addr_changed(netif_ip_addr6(netif, addr_idx), &new_ipaddr);
|
netif_do_ip_addr_changed(netif_ip_addr6(netif, addr_idx), &new_ipaddr);
|
||||||
}
|
}
|
||||||
/* @todo: remove/readd mib2 ip6 entries? */
|
/* @todo: remove/re-add mib2 ip6 entries? */
|
||||||
|
|
||||||
ip_addr_copy(netif->ip6_addr[addr_idx], new_ipaddr);
|
ip_addr_copy(netif->ip6_addr[addr_idx], new_ipaddr);
|
||||||
|
|
||||||
|
@ -186,6 +186,8 @@ pbuf_init_alloced_pbuf(struct pbuf *p, void *payload, u16_t tot_len, u16_t len,
|
|||||||
p->flags = flags;
|
p->flags = flags;
|
||||||
p->ref = 1;
|
p->ref = 1;
|
||||||
p->if_idx = NETIF_NO_INDEX;
|
p->if_idx = NETIF_NO_INDEX;
|
||||||
|
|
||||||
|
LWIP_PBUF_CUSTOM_DATA_INIT(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -858,6 +860,7 @@ pbuf_cat(struct pbuf *h, struct pbuf *t)
|
|||||||
|
|
||||||
LWIP_ERROR("(h != NULL) && (t != NULL) (programmer violates API)",
|
LWIP_ERROR("(h != NULL) && (t != NULL) (programmer violates API)",
|
||||||
((h != NULL) && (t != NULL)), return;);
|
((h != NULL) && (t != NULL)), return;);
|
||||||
|
LWIP_ASSERT("Creating an infinite loop", h != t);
|
||||||
|
|
||||||
/* proceed to last pbuf of chain */
|
/* proceed to last pbuf of chain */
|
||||||
for (p = h; p->next != NULL; p = p->next) {
|
for (p = h; p->next != NULL; p = p->next) {
|
||||||
@ -1094,12 +1097,15 @@ pbuf_copy_partial(const struct pbuf *buf, void *dataptr, u16_t len, u16_t offset
|
|||||||
* a copy into the user-supplied buffer.
|
* a copy into the user-supplied buffer.
|
||||||
*
|
*
|
||||||
* @param p the pbuf from which to copy data
|
* @param p the pbuf from which to copy data
|
||||||
* @param buffer the application supplied buffer
|
* @param buffer the application supplied buffer. May be NULL if the caller does not
|
||||||
* @param bufsize size of the application supplied buffer
|
* want to copy. In this case, offset + len should be checked against p->tot_len,
|
||||||
* @param len length of data to copy (dataptr must be big enough). No more
|
* since there's no way for the caller to know why NULL is returned.
|
||||||
* than buf->tot_len will be copied, irrespective of len
|
* @param bufsize size of the application supplied buffer (when buffer is != NULL)
|
||||||
|
* @param len length of data to copy (p and buffer must be big enough)
|
||||||
* @param offset offset into the packet buffer from where to begin copying len bytes
|
* @param offset offset into the packet buffer from where to begin copying len bytes
|
||||||
* @return the number of bytes copied, or 0 on failure
|
* @return - pointer into pbuf payload if that is already contiguous (no copy needed)
|
||||||
|
* - pointer to 'buffer' if data was not contiguous and had to be copied
|
||||||
|
* - NULL on error
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
pbuf_get_contiguous(const struct pbuf *p, void *buffer, size_t bufsize, u16_t len, u16_t offset)
|
pbuf_get_contiguous(const struct pbuf *p, void *buffer, size_t bufsize, u16_t len, u16_t offset)
|
||||||
@ -1108,8 +1114,7 @@ pbuf_get_contiguous(const struct pbuf *p, void *buffer, size_t bufsize, u16_t le
|
|||||||
u16_t out_offset;
|
u16_t out_offset;
|
||||||
|
|
||||||
LWIP_ERROR("pbuf_get_contiguous: invalid buf", (p != NULL), return NULL;);
|
LWIP_ERROR("pbuf_get_contiguous: invalid buf", (p != NULL), return NULL;);
|
||||||
LWIP_ERROR("pbuf_get_contiguous: invalid dataptr", (buffer != NULL), return NULL;);
|
LWIP_ERROR("pbuf_get_contiguous: invalid bufsize", (buffer == NULL) || (bufsize >= len), return NULL;);
|
||||||
LWIP_ERROR("pbuf_get_contiguous: invalid dataptr", (bufsize >= len), return NULL;);
|
|
||||||
|
|
||||||
q = pbuf_skip_const(p, offset, &out_offset);
|
q = pbuf_skip_const(p, offset, &out_offset);
|
||||||
if (q != NULL) {
|
if (q != NULL) {
|
||||||
@ -1117,6 +1122,10 @@ pbuf_get_contiguous(const struct pbuf *p, void *buffer, size_t bufsize, u16_t le
|
|||||||
/* all data in this pbuf, return zero-copy */
|
/* all data in this pbuf, return zero-copy */
|
||||||
return (u8_t *)q->payload + out_offset;
|
return (u8_t *)q->payload + out_offset;
|
||||||
}
|
}
|
||||||
|
if (buffer == NULL) {
|
||||||
|
/* the caller does not want to copy */
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
/* need to copy */
|
/* need to copy */
|
||||||
if (pbuf_copy_partial(q, buffer, len, out_offset) != len) {
|
if (pbuf_copy_partial(q, buffer, len, out_offset) != len) {
|
||||||
/* copying failed: pbuf is too short */
|
/* copying failed: pbuf is too short */
|
||||||
|
@ -1564,7 +1564,7 @@ tcp_receive(struct tcp_pcb *pcb)
|
|||||||
recv_data = inseg.p;
|
recv_data = inseg.p;
|
||||||
/* Since this pbuf now is the responsibility of the
|
/* Since this pbuf now is the responsibility of the
|
||||||
application, we delete our reference to it so that we won't
|
application, we delete our reference to it so that we won't
|
||||||
(mistakingly) deallocate it. */
|
(mistakenly) deallocate it. */
|
||||||
inseg.p = NULL;
|
inseg.p = NULL;
|
||||||
}
|
}
|
||||||
if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) {
|
if (TCPH_FLAGS(inseg.tcphdr) & TCP_FIN) {
|
||||||
@ -1687,10 +1687,20 @@ tcp_receive(struct tcp_pcb *pcb)
|
|||||||
->ooseq. We check the lengths to see which one to
|
->ooseq. We check the lengths to see which one to
|
||||||
discard. */
|
discard. */
|
||||||
if (inseg.len > next->len) {
|
if (inseg.len > next->len) {
|
||||||
|
struct tcp_seg* cseg;
|
||||||
|
|
||||||
|
/* If next segment is the last segment in ooseq
|
||||||
|
and smaller than inseg, that means it has been
|
||||||
|
trimmed before to fit our window, so we just
|
||||||
|
break here. */
|
||||||
|
if (next->next == NULL) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/* The incoming segment is larger than the old
|
/* The incoming segment is larger than the old
|
||||||
segment. We replace some segments with the new
|
segment. We replace some segments with the new
|
||||||
one. */
|
one. */
|
||||||
struct tcp_seg *cseg = tcp_seg_copy(&inseg);
|
cseg = tcp_seg_copy(&inseg);
|
||||||
if (cseg != NULL) {
|
if (cseg != NULL) {
|
||||||
if (prev != NULL) {
|
if (prev != NULL) {
|
||||||
prev->next = cseg;
|
prev->next = cseg;
|
||||||
|
@ -301,7 +301,7 @@ tcp_seg_add_chksum(u16_t chksum, u16_t len, u16_t *seg_chksum,
|
|||||||
/** Checks if tcp_write is allowed or not (checks state, snd_buf and snd_queuelen).
|
/** Checks if tcp_write is allowed or not (checks state, snd_buf and snd_queuelen).
|
||||||
*
|
*
|
||||||
* @param pcb the tcp pcb to check for
|
* @param pcb the tcp pcb to check for
|
||||||
* @param len length of data to send (checked agains snd_buf)
|
* @param len length of data to send (checked against snd_buf)
|
||||||
* @return ERR_OK if tcp_write is allowed to proceed, another err_t otherwise
|
* @return ERR_OK if tcp_write is allowed to proceed, another err_t otherwise
|
||||||
*/
|
*/
|
||||||
static err_t
|
static err_t
|
||||||
@ -1987,6 +1987,9 @@ tcp_rst_common(const struct tcp_pcb *pcb, u32_t seqno, u32_t ackno,
|
|||||||
|
|
||||||
LWIP_ASSERT("tcp_rst: invalid local_ip", local_ip != NULL);
|
LWIP_ASSERT("tcp_rst: invalid local_ip", local_ip != NULL);
|
||||||
LWIP_ASSERT("tcp_rst: invalid remote_ip", remote_ip != NULL);
|
LWIP_ASSERT("tcp_rst: invalid remote_ip", remote_ip != NULL);
|
||||||
|
/* these two are passed only for checks, disable warnings without asserts */
|
||||||
|
LWIP_UNUSED_ARG(local_ip);
|
||||||
|
LWIP_UNUSED_ARG(remote_ip);
|
||||||
|
|
||||||
optlen = LWIP_TCP_OPT_LENGTH_SEGMENT(0, pcb);
|
optlen = LWIP_TCP_OPT_LENGTH_SEGMENT(0, pcb);
|
||||||
|
|
||||||
|
@ -988,7 +988,7 @@ udp_bind(struct udp_pcb *pcb, const ip_addr_t *ipaddr, u16_t port)
|
|||||||
for (ipcb = udp_pcbs; ipcb != NULL; ipcb = ipcb->next) {
|
for (ipcb = udp_pcbs; ipcb != NULL; ipcb = ipcb->next) {
|
||||||
if (pcb != ipcb) {
|
if (pcb != ipcb) {
|
||||||
/* By default, we don't allow to bind to a port that any other udp
|
/* By default, we don't allow to bind to a port that any other udp
|
||||||
PCB is already bound to, unless *all* PCBs with that port have tha
|
PCB is already bound to, unless *all* PCBs with that port have the
|
||||||
REUSEADDR flag set. */
|
REUSEADDR flag set. */
|
||||||
#if SO_REUSE
|
#if SO_REUSE
|
||||||
if (!ip_get_option(pcb, SOF_REUSEADDR) ||
|
if (!ip_get_option(pcb, SOF_REUSEADDR) ||
|
||||||
|
@ -53,7 +53,7 @@ extern "C" {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup httpc
|
* @ingroup httpc
|
||||||
* HTTPC_HAVE_FILE_IO: define this to 1 to have functions dowloading directly
|
* HTTPC_HAVE_FILE_IO: define this to 1 to have functions downloading directly
|
||||||
* to disk via fopen/fwrite.
|
* to disk via fopen/fwrite.
|
||||||
* These functions are example implementations of the interface only.
|
* These functions are example implementations of the interface only.
|
||||||
*/
|
*/
|
||||||
@ -116,7 +116,7 @@ typedef void (*httpc_result_fn)(void *arg, httpc_result_t httpc_result, u32_t rx
|
|||||||
* @param connection http client connection
|
* @param connection http client connection
|
||||||
* @param arg argument specified when initiating the request
|
* @param arg argument specified when initiating the request
|
||||||
* @param hdr header pbuf(s) (may contain data also)
|
* @param hdr header pbuf(s) (may contain data also)
|
||||||
* @param hdr_len length of the heders in 'hdr'
|
* @param hdr_len length of the headers in 'hdr'
|
||||||
* @param content_len content length as received in the headers (-1 if not received)
|
* @param content_len content length as received in the headers (-1 if not received)
|
||||||
* @return if != ERR_OK is returned, the connection is aborted
|
* @return if != ERR_OK is returned, the connection is aborted
|
||||||
*/
|
*/
|
||||||
|
@ -79,6 +79,8 @@ struct mqtt_connect_client_info_t {
|
|||||||
const char* will_topic;
|
const char* will_topic;
|
||||||
/** will_msg, see will_topic */
|
/** will_msg, see will_topic */
|
||||||
const char* will_msg;
|
const char* will_msg;
|
||||||
|
/** will_msg length, 0 to compute length from will_msg string */
|
||||||
|
u8_t will_msg_len;
|
||||||
/** will_qos, see will_topic */
|
/** will_qos, see will_topic */
|
||||||
u8_t will_qos;
|
u8_t will_qos;
|
||||||
/** will_retain, see will_topic */
|
/** will_retain, see will_topic */
|
||||||
|
@ -158,14 +158,14 @@
|
|||||||
|
|
||||||
/** SNTP receive timeout - in milliseconds
|
/** SNTP receive timeout - in milliseconds
|
||||||
* Also used as retry timeout - this shouldn't be too low.
|
* Also used as retry timeout - this shouldn't be too low.
|
||||||
* Default is 15 seconds. Must not be beolw 15 seconds by specification (i.e. 15000)
|
* Default is 15 seconds. Must not be below 15 seconds by specification (i.e. 15000)
|
||||||
*/
|
*/
|
||||||
#if !defined SNTP_RECV_TIMEOUT || defined __DOXYGEN__
|
#if !defined SNTP_RECV_TIMEOUT || defined __DOXYGEN__
|
||||||
#define SNTP_RECV_TIMEOUT 15000
|
#define SNTP_RECV_TIMEOUT 15000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** SNTP update delay - in milliseconds
|
/** SNTP update delay - in milliseconds
|
||||||
* Default is 1 hour. Must not be beolw 60 seconds by specification (i.e. 60000)
|
* Default is 1 hour. Must not be below 60 seconds by specification (i.e. 60000)
|
||||||
*/
|
*/
|
||||||
#if !defined SNTP_UPDATE_DELAY || defined __DOXYGEN__
|
#if !defined SNTP_UPDATE_DELAY || defined __DOXYGEN__
|
||||||
#define SNTP_UPDATE_DELAY 3600000
|
#define SNTP_UPDATE_DELAY 3600000
|
||||||
|
@ -382,7 +382,7 @@ extern "C" {
|
|||||||
#define LWIP_PROVIDE_ERRNO
|
#define LWIP_PROVIDE_ERRNO
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Use a special, reproducable version of rand() for fuzz tests? */
|
/* Use a special, reproducible version of rand() for fuzz tests? */
|
||||||
#ifdef LWIP_RAND_FOR_FUZZ
|
#ifdef LWIP_RAND_FOR_FUZZ
|
||||||
#ifdef LWIP_RAND
|
#ifdef LWIP_RAND
|
||||||
#undef LWIP_RAND
|
#undef LWIP_RAND
|
||||||
|
@ -148,6 +148,16 @@ char* lwip_strnstr(const char* buffer, const char* token, size_t n);
|
|||||||
/* This can be #defined to strnistr() depending on your platform */
|
/* This can be #defined to strnistr() depending on your platform */
|
||||||
char* lwip_strnistr(const char* buffer, const char* token, size_t n);
|
char* lwip_strnistr(const char* buffer, const char* token, size_t n);
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef lwip_memcmp_consttime
|
||||||
|
/* This could be #defined to something existing on your platform
|
||||||
|
* The goal of this function is to compare memory with constant runtime in order to prevent
|
||||||
|
* timing attacks to various parts in the stack.
|
||||||
|
* To do that, in contrast to memcmp(), it only returns:
|
||||||
|
* 0: equal
|
||||||
|
* != 0: not equal
|
||||||
|
*/
|
||||||
|
int lwip_memcmp_consttime(const void* s1, const void* s2, size_t len);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -54,11 +54,11 @@ extern "C" {
|
|||||||
/** x.X.x: Minor version of the stack */
|
/** x.X.x: Minor version of the stack */
|
||||||
#define LWIP_VERSION_MINOR 2
|
#define LWIP_VERSION_MINOR 2
|
||||||
/** x.x.X: Revision of the stack */
|
/** x.x.X: Revision of the stack */
|
||||||
#define LWIP_VERSION_REVISION 0
|
#define LWIP_VERSION_REVISION 1
|
||||||
/** For release candidates, this is set to 1..254
|
/** For release candidates, this is set to 1..254
|
||||||
* For official releases, this is set to 255 (LWIP_RC_RELEASE)
|
* For official releases, this is set to 255 (LWIP_RC_RELEASE)
|
||||||
* For development versions (Git), this is set to 0 (LWIP_RC_DEVELOPMENT) */
|
* For development versions (Git), this is set to 0 (LWIP_RC_DEVELOPMENT) */
|
||||||
#define LWIP_VERSION_RC LWIP_RC_RELEASE
|
#define LWIP_VERSION_RC LWIP_RC_DEVELOPMENT
|
||||||
|
|
||||||
/** LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases */
|
/** LWIP_VERSION_RC is set to LWIP_RC_RELEASE for official releases */
|
||||||
#define LWIP_RC_RELEASE 255
|
#define LWIP_RC_RELEASE 255
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if MEM_LIBC_MALLOC
|
#if MEM_CUSTOM_ALLOCATOR
|
||||||
|
|
||||||
#include "lwip/arch.h"
|
#include "lwip/arch.h"
|
||||||
|
|
||||||
|
@ -245,10 +245,28 @@
|
|||||||
/**
|
/**
|
||||||
* MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library
|
* MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library
|
||||||
* instead of the lwip internal allocator. Can save code size if you
|
* instead of the lwip internal allocator. Can save code size if you
|
||||||
* already use it.
|
* already use it. Specialized case of MEM_CUSTOM_ALLOCATOR.
|
||||||
|
* @see MEM_CUSTOM_ALLOCATOR
|
||||||
*/
|
*/
|
||||||
#if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__
|
#if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__
|
||||||
#define MEM_LIBC_MALLOC 0
|
#define MEM_LIBC_MALLOC 0
|
||||||
|
#elif MEM_LIBC_MALLOC
|
||||||
|
#define MEM_CUSTOM_ALLOCATOR 1
|
||||||
|
#define MEM_CUSTOM_FREE free
|
||||||
|
#define MEM_CUSTOM_MALLOC malloc
|
||||||
|
#define MEM_CUSTOM_CALLOC calloc
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MEM_CUSTOM_ALLOCATOR==1: Use malloc/free/realloc provided by a custom
|
||||||
|
* implementation instead of the lwip internal allocator. Can save code size if
|
||||||
|
* you already use it. If enabled, you have to define those functions:
|
||||||
|
* \#define MEM_CUSTOM_FREE my_free
|
||||||
|
* \#define MEM_CUSTOM_MALLOC my_malloc
|
||||||
|
* \#define MEM_CUSTOM_CALLOC my_calloc
|
||||||
|
*/
|
||||||
|
#if !defined MEM_CUSTOM_ALLOCATOR || defined __DOXYGEN__
|
||||||
|
#define MEM_CUSTOM_ALLOCATOR 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -671,7 +689,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LWIP_VLAN_PCP==1: Enable outgoing VLAN taggning of frames on a per-PCB basis
|
* LWIP_VLAN_PCP==1: Enable outgoing VLAN tagging of frames on a per-PCB basis
|
||||||
* for QoS purposes. With this feature enabled, each PCB has a new variable:
|
* for QoS purposes. With this feature enabled, each PCB has a new variable:
|
||||||
* "netif_hints.tci" (Tag Control Identifier).
|
* "netif_hints.tci" (Tag Control Identifier).
|
||||||
* The TCI contains three fields: VID, CFI and PCP.
|
* The TCI contains three fields: VID, CFI and PCP.
|
||||||
@ -969,12 +987,12 @@
|
|||||||
#define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS
|
#define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** LWIP_DHCP_DISCOVER_ADD_HOSTNAME: Set to 1 to include hostname opt in discover packets.
|
/** LWIP_DHCP_DISCOVER_ADD_HOSTNAME: Set to 0 to not include hostname opt in discover packets.
|
||||||
* If the hostname is not set in the DISCOVER packet, then some servers might issue an OFFER with hostname
|
* If the hostname is not set in the DISCOVER packet, then some servers might issue an OFFER with hostname
|
||||||
* configured and consequently reject the REQUEST with any other hostname.
|
* configured and consequently reject the REQUEST with any other hostname.
|
||||||
*/
|
*/
|
||||||
#if !defined LWIP_DHCP_DISCOVER_ADD_HOSTNAME || defined __DOXYGEN__
|
#if !defined LWIP_DHCP_DISCOVER_ADD_HOSTNAME || defined __DOXYGEN__
|
||||||
#define LWIP_DHCP_DISCOVER_ADD_HOSTNAME 0
|
#define LWIP_DHCP_DISCOVER_ADD_HOSTNAME 1
|
||||||
#endif /* LWIP_DHCP_DISCOVER_ADD_HOSTNAME */
|
#endif /* LWIP_DHCP_DISCOVER_ADD_HOSTNAME */
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
@ -1610,10 +1628,22 @@
|
|||||||
/**
|
/**
|
||||||
* LWIP_PBUF_CUSTOM_DATA: Store private data on pbufs (e.g. timestamps)
|
* LWIP_PBUF_CUSTOM_DATA: Store private data on pbufs (e.g. timestamps)
|
||||||
* This extends struct pbuf so user can store custom data on every pbuf.
|
* This extends struct pbuf so user can store custom data on every pbuf.
|
||||||
|
* e.g.:
|
||||||
|
* \#define LWIP_PBUF_CUSTOM_DATA u32_t myref;
|
||||||
*/
|
*/
|
||||||
#if !defined LWIP_PBUF_CUSTOM_DATA || defined __DOXYGEN__
|
#if !defined LWIP_PBUF_CUSTOM_DATA || defined __DOXYGEN__
|
||||||
#define LWIP_PBUF_CUSTOM_DATA
|
#define LWIP_PBUF_CUSTOM_DATA
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LWIP_PBUF_CUSTOM_DATA_INIT: Initialize private data on pbufs.
|
||||||
|
* e.g. for the above example definition:
|
||||||
|
* \#define LWIP_PBUF_CUSTOM_DATA(p) (p)->myref = 0
|
||||||
|
*/
|
||||||
|
#if !defined LWIP_PBUF_CUSTOM_DATA_INIT || defined __DOXYGEN__
|
||||||
|
#define LWIP_PBUF_CUSTOM_DATA_INIT(p)
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
@ -2238,7 +2268,7 @@
|
|||||||
* MEM_STATS==1: Enable mem.c stats.
|
* MEM_STATS==1: Enable mem.c stats.
|
||||||
*/
|
*/
|
||||||
#if !defined MEM_STATS || defined __DOXYGEN__
|
#if !defined MEM_STATS || defined __DOXYGEN__
|
||||||
#define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))
|
#define MEM_STATS ((MEM_CUSTOM_ALLOCATOR == 0) && (MEM_USE_POOLS == 0))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -153,6 +153,7 @@ PACK_STRUCT_END
|
|||||||
/** Link-layer address option. */
|
/** Link-layer address option. */
|
||||||
#define ND6_OPTION_TYPE_SOURCE_LLADDR (0x01)
|
#define ND6_OPTION_TYPE_SOURCE_LLADDR (0x01)
|
||||||
#define ND6_OPTION_TYPE_TARGET_LLADDR (0x02)
|
#define ND6_OPTION_TYPE_TARGET_LLADDR (0x02)
|
||||||
|
#define ND6_LLADDR_OPTION_MIN_LENGTH (2)
|
||||||
#ifdef PACK_STRUCT_USE_INCLUDES
|
#ifdef PACK_STRUCT_USE_INCLUDES
|
||||||
# include "arch/bpstruct.h"
|
# include "arch/bpstruct.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* @file
|
* @file
|
||||||
* SNMP support API for implementing netifs and statitics for MIB2
|
* SNMP support API for implementing netifs and statistics for MIB2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -122,7 +122,7 @@ struct stats_sys {
|
|||||||
|
|
||||||
/** SNMP MIB2 stats */
|
/** SNMP MIB2 stats */
|
||||||
struct stats_mib2 {
|
struct stats_mib2 {
|
||||||
/* IP */
|
/* IPv4 */
|
||||||
u32_t ipinhdrerrors;
|
u32_t ipinhdrerrors;
|
||||||
u32_t ipinaddrerrors;
|
u32_t ipinaddrerrors;
|
||||||
u32_t ipinunknownprotos;
|
u32_t ipinunknownprotos;
|
||||||
@ -140,6 +140,9 @@ struct stats_mib2 {
|
|||||||
u32_t ipforwdatagrams;
|
u32_t ipforwdatagrams;
|
||||||
u32_t ipinreceives;
|
u32_t ipinreceives;
|
||||||
|
|
||||||
|
/* IPv6 */
|
||||||
|
u32_t ip6reasmoks;
|
||||||
|
|
||||||
/* TCP */
|
/* TCP */
|
||||||
u32_t tcpactiveopens;
|
u32_t tcpactiveopens;
|
||||||
u32_t tcppassiveopens;
|
u32_t tcppassiveopens;
|
||||||
|
@ -128,7 +128,7 @@ PACK_STRUCT_END
|
|||||||
#define PPPOE_TAG_RELAYSID 0x0110 /* relay session id */
|
#define PPPOE_TAG_RELAYSID 0x0110 /* relay session id */
|
||||||
#define PPPOE_TAG_SNAME_ERR 0x0201 /* service name error */
|
#define PPPOE_TAG_SNAME_ERR 0x0201 /* service name error */
|
||||||
#define PPPOE_TAG_ACSYS_ERR 0x0202 /* AC system error */
|
#define PPPOE_TAG_ACSYS_ERR 0x0202 /* AC system error */
|
||||||
#define PPPOE_TAG_GENERIC_ERR 0x0203 /* gerneric error */
|
#define PPPOE_TAG_GENERIC_ERR 0x0203 /* generic error */
|
||||||
|
|
||||||
#define PPPOE_CODE_PADI 0x09 /* Active Discovery Initiation */
|
#define PPPOE_CODE_PADI 0x09 /* Active Discovery Initiation */
|
||||||
#define PPPOE_CODE_PADO 0x07 /* Active Discovery Offer */
|
#define PPPOE_CODE_PADO 0x07 /* Active Discovery Offer */
|
||||||
|
@ -53,7 +53,7 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
* There are 5 numbers which can change (they are always inserted
|
* There are 5 numbers which can change (they are always inserted
|
||||||
* in the following order): TCP urgent pointer, window,
|
* in the following order): TCP urgent pointer, window,
|
||||||
* acknowlegement, sequence number and IP ID. (The urgent pointer
|
* acknowledgement, sequence number and IP ID. (The urgent pointer
|
||||||
* is different from the others in that its value is sent, not the
|
* is different from the others in that its value is sent, not the
|
||||||
* change in value.) Since typical use of SLIP links is biased
|
* change in value.) Since typical use of SLIP links is biased
|
||||||
* toward small packets (see comments on MTU/MSS below), changes
|
* toward small packets (see comments on MTU/MSS below), changes
|
||||||
|
@ -1012,8 +1012,8 @@ int auth_check_passwd(ppp_pcb *pcb, char *auser, unsigned int userlen, char *apa
|
|||||||
secretpasswdlen = strlen(pcb->settings.passwd);
|
secretpasswdlen = strlen(pcb->settings.passwd);
|
||||||
if (secretuserlen == userlen
|
if (secretuserlen == userlen
|
||||||
&& secretpasswdlen == passwdlen
|
&& secretpasswdlen == passwdlen
|
||||||
&& !memcmp(auser, pcb->settings.user, userlen)
|
&& !lwip_memcmp_consttime(auser, pcb->settings.user, userlen)
|
||||||
&& !memcmp(apasswd, pcb->settings.passwd, passwdlen) ) {
|
&& !lwip_memcmp_consttime(apasswd, pcb->settings.passwd, passwdlen) ) {
|
||||||
*msg = "Login ok";
|
*msg = "Login ok";
|
||||||
*msglen = sizeof("Login ok")-1;
|
*msglen = sizeof("Login ok")-1;
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -787,8 +787,9 @@ void fsm_sdata(fsm *f, u_char code, u_char id, const u_char *data, int datalen)
|
|||||||
}
|
}
|
||||||
|
|
||||||
outp = (u_char*)p->payload;
|
outp = (u_char*)p->payload;
|
||||||
if (datalen) /* && data != outp + PPP_HDRLEN + HEADERLEN) -- was only for fsm_sconfreq() */
|
if (datalen && data != NULL) { /* && data != outp + PPP_HDRLEN + HEADERLEN) -- was only for fsm_sconfreq() */
|
||||||
MEMCPY(outp + PPP_HDRLEN + HEADERLEN, data, datalen);
|
MEMCPY(outp + PPP_HDRLEN + HEADERLEN, data, datalen);
|
||||||
|
}
|
||||||
MAKEHEADER(outp, f->protocol);
|
MAKEHEADER(outp, f->protocol);
|
||||||
PUTCHAR(code, outp);
|
PUTCHAR(code, outp);
|
||||||
PUTCHAR(id, outp);
|
PUTCHAR(id, outp);
|
||||||
|
@ -1499,7 +1499,7 @@ static int lcp_nakci(fsm *f, u_char *p, int len, int treat_as_reject) {
|
|||||||
break;
|
break;
|
||||||
case CI_AUTHTYPE:
|
case CI_AUTHTYPE:
|
||||||
/* This is potentially dead code (#if !PPP_AUTH_SUPPORT)
|
/* This is potentially dead code (#if !PPP_AUTH_SUPPORT)
|
||||||
* Thus the double parantheses to mark the code explicitely
|
* Thus the double parentheses to mark the code explicitly
|
||||||
* disabled when building with clang
|
* disabled when building with clang
|
||||||
*/
|
*/
|
||||||
if ((0
|
if ((0
|
||||||
|
@ -214,6 +214,7 @@ static void input_pkt(struct netif *netif, const u8_t *data, size_t len)
|
|||||||
|
|
||||||
static void input_pkts(enum lwip_fuzz_type type, struct netif *netif, const u8_t *data, size_t len)
|
static void input_pkts(enum lwip_fuzz_type type, struct netif *netif, const u8_t *data, size_t len)
|
||||||
{
|
{
|
||||||
|
size_t packet_nr = 0;
|
||||||
remfuzz_ptr = data;
|
remfuzz_ptr = data;
|
||||||
remfuzz_len = len;
|
remfuzz_len = len;
|
||||||
|
|
||||||
@ -228,6 +229,7 @@ static void input_pkts(enum lwip_fuzz_type type, struct netif *netif, const u8_t
|
|||||||
#ifdef LWIP_FUZZ_SYS_NOW
|
#ifdef LWIP_FUZZ_SYS_NOW
|
||||||
u32_t external_delay = 0;
|
u32_t external_delay = 0;
|
||||||
#endif
|
#endif
|
||||||
|
packet_nr++;
|
||||||
if (type == LWIP_FUZZ_MULTIPACKET_TIME) {
|
if (type == LWIP_FUZZ_MULTIPACKET_TIME) {
|
||||||
#ifdef LWIP_FUZZ_SYS_NOW
|
#ifdef LWIP_FUZZ_SYS_NOW
|
||||||
/* Extract external delay time from fuzz pool */
|
/* Extract external delay time from fuzz pool */
|
||||||
@ -265,7 +267,7 @@ static void input_pkts(enum lwip_fuzz_type type, struct netif *netif, const u8_t
|
|||||||
#if LWIP_TCP
|
#if LWIP_TCP
|
||||||
static struct altcp_pcb *tcp_client_pcb; /* a pcb for the TCP client */
|
static struct altcp_pcb *tcp_client_pcb; /* a pcb for the TCP client */
|
||||||
static struct altcp_pcb *tcp_server_pcb; /* a pcb for the TCP server */
|
static struct altcp_pcb *tcp_server_pcb; /* a pcb for the TCP server */
|
||||||
static u16_t tcp_remote_port; /* a TCP port number of the destionation */
|
static u16_t tcp_remote_port; /* a TCP port number of the destination */
|
||||||
static u16_t tcp_local_port; /* a TCP port number of the local server */
|
static u16_t tcp_local_port; /* a TCP port number of the local server */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -517,7 +519,7 @@ udp_app_fuzz_input(struct udp_pcb *pcb, const ip_addr_t *addr, u16_t port)
|
|||||||
* We use udp_send().
|
* We use udp_send().
|
||||||
*
|
*
|
||||||
* server:
|
* server:
|
||||||
* The pcb does NOT have infomation about the destionation.
|
* The pcb does NOT have information about the destination.
|
||||||
* We use udp_sendto().
|
* We use udp_sendto().
|
||||||
*/
|
*/
|
||||||
if (addr == NULL) {
|
if (addr == NULL) {
|
||||||
@ -694,8 +696,8 @@ u32_t lwip_fuzz_rand(void)
|
|||||||
static s32_t state[1] = {0xdeadbeef};
|
static s32_t state[1] = {0xdeadbeef};
|
||||||
uint64_t val = state[0] & 0xffffffff;
|
uint64_t val = state[0] & 0xffffffff;
|
||||||
val = ((val * 1103515245) + 12345) & 0x7fffffff;
|
val = ((val * 1103515245) + 12345) & 0x7fffffff;
|
||||||
state[0] = val;
|
state[0] = (s32_t)val;
|
||||||
result = val;
|
result = (u32_t)val;
|
||||||
return result;
|
return result;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -252,7 +252,7 @@ static void test_sockets_msgapi_update_iovs(struct msghdr *msg, size_t bytes)
|
|||||||
{
|
{
|
||||||
msg_iovlen_t i;
|
msg_iovlen_t i;
|
||||||
|
|
||||||
/* note: this modifies the underyling iov_base and iov_len for a partial
|
/* note: this modifies the underlying iov_base and iov_len for a partial
|
||||||
read for an individual vector. This updates the msg->msg_iov pointer
|
read for an individual vector. This updates the msg->msg_iov pointer
|
||||||
to skip fully consumed vectors */
|
to skip fully consumed vectors */
|
||||||
|
|
||||||
|
@ -66,6 +66,50 @@ ip6_test_handle_timers(int count)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Helper functions */
|
||||||
|
static void
|
||||||
|
create_ip6_input_fragment(u32_t ip_id, u16_t start, u16_t len, int last, u8_t next_hdr)
|
||||||
|
{
|
||||||
|
struct pbuf* p;
|
||||||
|
struct netif* input_netif = netif_list; /* just use any netif */
|
||||||
|
fail_unless((start & 7) == 0);
|
||||||
|
fail_unless(((len & 7) == 0) || last);
|
||||||
|
fail_unless(input_netif != NULL);
|
||||||
|
|
||||||
|
p = pbuf_alloc(PBUF_RAW, len + sizeof(struct ip6_frag_hdr) +
|
||||||
|
sizeof(struct ip6_hdr), PBUF_RAM);
|
||||||
|
fail_unless(p != NULL);
|
||||||
|
if (p != NULL) {
|
||||||
|
err_t err;
|
||||||
|
struct ip6_frag_hdr* fraghdr;
|
||||||
|
|
||||||
|
struct ip6_hdr* ip6hdr = (struct ip6_hdr*)p->payload;
|
||||||
|
IP6H_VTCFL_SET(ip6hdr, 6, 0, 0);
|
||||||
|
IP6H_PLEN_SET(ip6hdr, len + sizeof(struct ip6_frag_hdr));
|
||||||
|
IP6H_NEXTH_SET(ip6hdr, IP6_NEXTH_FRAGMENT);
|
||||||
|
IP6H_HOPLIM_SET(ip6hdr, 64);
|
||||||
|
ip6_addr_copy_to_packed(ip6hdr->src, *netif_ip6_addr(input_netif, 0));
|
||||||
|
ip6hdr->src.addr[3]++;
|
||||||
|
ip6_addr_copy_to_packed(ip6hdr->dest, *netif_ip6_addr(input_netif, 0));
|
||||||
|
|
||||||
|
fraghdr = (struct ip6_frag_hdr*)(ip6hdr + 1);
|
||||||
|
fraghdr->_nexth = next_hdr;
|
||||||
|
fraghdr->reserved = 0;
|
||||||
|
if (last) {
|
||||||
|
fraghdr->_fragment_offset = htons(start & ~7);
|
||||||
|
} else {
|
||||||
|
fraghdr->_fragment_offset = htons((start & ~7) | 1);
|
||||||
|
}
|
||||||
|
fraghdr->_identification = htonl(ip_id);
|
||||||
|
|
||||||
|
err = ip6_input(p, input_netif);
|
||||||
|
if (err != ERR_OK) {
|
||||||
|
pbuf_free(p);
|
||||||
|
}
|
||||||
|
fail_unless(err == ERR_OK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Setups/teardown functions */
|
/* Setups/teardown functions */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -224,15 +268,18 @@ END_TEST
|
|||||||
|
|
||||||
struct test_addr_and_str {
|
struct test_addr_and_str {
|
||||||
ip_addr_t addr;
|
ip_addr_t addr;
|
||||||
|
u32_t bytes_after;
|
||||||
const char *str;
|
const char *str;
|
||||||
};
|
};
|
||||||
|
|
||||||
START_TEST(test_ip6_ntoa)
|
START_TEST(test_ip6_ntoa)
|
||||||
{
|
{
|
||||||
struct test_addr_and_str tests[] = {
|
struct test_addr_and_str tests[] = {
|
||||||
{IPADDR6_INIT_HOST(0xfe800000, 0x00000000, 0xb2a1a2ff, 0xfea3a4a5), "FE80::B2A1:A2FF:FEA3:A4A5"}, /* test shortened zeros */
|
{IPADDR6_INIT_HOST(0xfe800000, 0x00000000, 0xb2a1a2ff, 0xfea3a4a5), 0, "FE80::B2A1:A2FF:FEA3:A4A5"}, /* test shortened zeros */
|
||||||
{IPADDR6_INIT_HOST(0xfe800000, 0xff000000, 0xb2a1a2ff, 0xfea3a4a5), "FE80:0:FF00:0:B2A1:A2FF:FEA3:A4A5"}, /* don't omit single zero blocks */
|
{IPADDR6_INIT_HOST(0xfe800000, 0xff000000, 0xb2a1a2ff, 0xfea3a4a5), 0, "FE80:0:FF00:0:B2A1:A2FF:FEA3:A4A5"}, /* don't omit single zero blocks */
|
||||||
{IPADDR6_INIT_HOST(0xfe800000, 0xff000000, 0xb2000000, 0x0000a4a5), "FE80:0:FF00:0:B200::A4A5"}, /* omit longest zero block */
|
{IPADDR6_INIT_HOST(0xfe800000, 0xff000000, 0xb2000000, 0x0000a4a5), 0, "FE80:0:FF00:0:B200::A4A5"}, /* omit longest zero block */
|
||||||
|
{IPADDR6_INIT_HOST(0x20010db8, 0x00010002, 0x00030004, 0x00050000), 0, "2001:DB8:1:2:3:4:5:0"}, /* do not omit last zero due to out-of-bounds bug */
|
||||||
|
{IPADDR6_INIT_HOST(0x20010db8, 0x00010002, 0x00030004, 0x00050000), ~0, "2001:DB8:1:2:3:4:5:0"}, /* do not omit last zero due to out-of-bounds bug */
|
||||||
};
|
};
|
||||||
char buf[128];
|
char buf[128];
|
||||||
char *str;
|
char *str;
|
||||||
@ -432,6 +479,50 @@ START_TEST(test_ip6_frag)
|
|||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
static void test_ip6_reass_helper(u32_t ip_id, const u16_t *segments, size_t num_segs, u16_t seglen)
|
||||||
|
{
|
||||||
|
ip_addr_t my_addr = IPADDR6_INIT_HOST(0x20010db8, 0x0, 0x0, 0x1);
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
memset(&lwip_stats.mib2, 0, sizeof(lwip_stats.mib2));
|
||||||
|
memset(&lwip_stats.ip6_frag, 0, sizeof(lwip_stats.ip6_frag));
|
||||||
|
|
||||||
|
netif_set_up(&test_netif6);
|
||||||
|
netif_ip6_addr_set(&test_netif6, 0, ip_2_ip6(&my_addr));
|
||||||
|
netif_ip6_addr_set_state(&test_netif6, 0, IP6_ADDR_VALID);
|
||||||
|
|
||||||
|
for (i = 0; i < num_segs; i++) {
|
||||||
|
u16_t seg = segments[i];
|
||||||
|
int last = seg + 1U == num_segs;
|
||||||
|
create_ip6_input_fragment(ip_id, seg * seglen, seglen, last, IP6_NEXTH_UDP);
|
||||||
|
fail_unless(lwip_stats.ip6_frag.recv == i + 1);
|
||||||
|
fail_unless(lwip_stats.ip6_frag.err == 0);
|
||||||
|
fail_unless(lwip_stats.ip6_frag.memerr == 0);
|
||||||
|
fail_unless(lwip_stats.ip6_frag.drop == 0);
|
||||||
|
if (i + 1 == num_segs) {
|
||||||
|
fail_unless(lwip_stats.mib2.ip6reasmoks == 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fail_unless(lwip_stats.mib2.ip6reasmoks == 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
START_TEST(test_ip6_reass)
|
||||||
|
{
|
||||||
|
#define NUM_SEGS 9
|
||||||
|
const u16_t t1[NUM_SEGS] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
|
||||||
|
const u16_t t2[NUM_SEGS] = { 8, 0, 1, 2, 3, 4, 7, 6, 5 };
|
||||||
|
const u16_t t3[NUM_SEGS] = { 1, 2, 3, 4, 5, 6, 7, 8, 0 };
|
||||||
|
const u16_t t4[NUM_SEGS] = { 8, 2, 4, 6, 7, 5, 3, 1, 0 };
|
||||||
|
LWIP_UNUSED_ARG(_i);
|
||||||
|
|
||||||
|
test_ip6_reass_helper(128, t1, NUM_SEGS, 200);
|
||||||
|
test_ip6_reass_helper(129, t2, NUM_SEGS, 208);
|
||||||
|
test_ip6_reass_helper(130, t3, NUM_SEGS, 8);
|
||||||
|
test_ip6_reass_helper(130, t4, NUM_SEGS, 1448);
|
||||||
|
}
|
||||||
|
|
||||||
/** Create the suite including all tests for this module */
|
/** Create the suite including all tests for this module */
|
||||||
Suite *
|
Suite *
|
||||||
ip6_suite(void)
|
ip6_suite(void)
|
||||||
@ -444,7 +535,8 @@ ip6_suite(void)
|
|||||||
TESTFUNC(test_ip6_lladdr),
|
TESTFUNC(test_ip6_lladdr),
|
||||||
TESTFUNC(test_ip6_dest_unreachable_chained_pbuf),
|
TESTFUNC(test_ip6_dest_unreachable_chained_pbuf),
|
||||||
TESTFUNC(test_ip6_frag_pbuf_len_assert),
|
TESTFUNC(test_ip6_frag_pbuf_len_assert),
|
||||||
TESTFUNC(test_ip6_frag)
|
TESTFUNC(test_ip6_frag),
|
||||||
|
TESTFUNC(test_ip6_reass)
|
||||||
};
|
};
|
||||||
return create_suite("IPv6", tests, sizeof(tests)/sizeof(testfunc), ip6_setup, ip6_teardown);
|
return create_suite("IPv6", tests, sizeof(tests)/sizeof(testfunc), ip6_setup, ip6_teardown);
|
||||||
}
|
}
|
||||||
|
@ -58,9 +58,15 @@ void lwip_check_ensure_no_alloc(unsigned int skip)
|
|||||||
}
|
}
|
||||||
for (i = 0, mask = 1; i < MEMP_MAX; i++, mask <<= 1) {
|
for (i = 0, mask = 1; i < MEMP_MAX; i++, mask <<= 1) {
|
||||||
if (!(skip & mask)) {
|
if (!(skip & mask)) {
|
||||||
|
#if defined(LWIP_DEBUG) || LWIP_STATS_DISPLAY
|
||||||
fail_unless(lwip_stats.memp[i]->used == 0,
|
fail_unless(lwip_stats.memp[i]->used == 0,
|
||||||
"memp pool '%s' still has %d entries allocated",
|
"memp pool '%s' still has %d entries allocated",
|
||||||
lwip_stats.memp[i]->name, lwip_stats.memp[i]->used);
|
lwip_stats.memp[i]->name, lwip_stats.memp[i]->used);
|
||||||
|
#else
|
||||||
|
fail_unless(lwip_stats.memp[i]->used == 0,
|
||||||
|
"memp pool %d still has %d entries allocated",
|
||||||
|
i, lwip_stats.memp[i]->used);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
#define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_RAND_SRC_PORT)
|
#define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_RAND_SRC_PORT)
|
||||||
|
|
||||||
/* Minimal changes to opt.h required for tcp unit tests: */
|
/* Minimal changes to opt.h required for tcp unit tests: */
|
||||||
#define MEM_SIZE 16000
|
#define MEM_SIZE 17000
|
||||||
#define TCP_SND_QUEUELEN 40
|
#define TCP_SND_QUEUELEN 40
|
||||||
#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN
|
#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN
|
||||||
#define TCP_SND_BUF (12 * TCP_MSS)
|
#define TCP_SND_BUF (12 * TCP_MSS)
|
||||||
@ -91,4 +91,27 @@
|
|||||||
/* Check lwip_stats.mem.illegal instead of asserting */
|
/* Check lwip_stats.mem.illegal instead of asserting */
|
||||||
#define LWIP_MEM_ILLEGAL_FREE(msg) /* to nothing */
|
#define LWIP_MEM_ILLEGAL_FREE(msg) /* to nothing */
|
||||||
|
|
||||||
|
/* autodetect if we are running the tests on 32-bit or 64-bit */
|
||||||
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
|
#if defined(_WIN64)
|
||||||
|
#define PTR64
|
||||||
|
#else
|
||||||
|
#define PTR32
|
||||||
|
#endif
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
#if defined(__x86_64__) || defined(__ppc64__)
|
||||||
|
#define PTR64
|
||||||
|
#else
|
||||||
|
#define PTR32
|
||||||
|
#endif
|
||||||
|
#elif UINTPTR_MAX > UINT_MAX
|
||||||
|
#define PTR64
|
||||||
|
#else
|
||||||
|
#define PTR32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef PTR64
|
||||||
|
#define IPV6_FRAG_COPYHEADER 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* LWIP_HDR_LWIPOPTS_H */
|
#endif /* LWIP_HDR_LWIPOPTS_H */
|
||||||
|
@ -77,7 +77,7 @@ START_TEST(basic_connect)
|
|||||||
"dumm",
|
"dumm",
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
10,
|
10,
|
||||||
NULL, NULL, 0, 0
|
NULL, NULL, 0, 0, 0
|
||||||
};
|
};
|
||||||
struct pbuf *p;
|
struct pbuf *p;
|
||||||
unsigned char rxbuf[] = {0x20, 0x02, 0x00, 0x00};
|
unsigned char rxbuf[] = {0x20, 0x02, 0x00, 0x00};
|
||||||
|
@ -517,7 +517,7 @@ START_TEST(test_tcp_fast_retx_recover)
|
|||||||
/* queue data4, don't send it (unsent-oversize is != 0) */
|
/* queue data4, don't send it (unsent-oversize is != 0) */
|
||||||
err = tcp_write(pcb, data4, sizeof(data4), TCP_WRITE_FLAG_COPY);
|
err = tcp_write(pcb, data4, sizeof(data4), TCP_WRITE_FLAG_COPY);
|
||||||
EXPECT_RET(err == ERR_OK);
|
EXPECT_RET(err == ERR_OK);
|
||||||
/* 3nd duplicate ACK for data1 (data2 and data3 are lost) -> fast retransmission */
|
/* 3rd duplicate ACK for data1 (data2 and data3 are lost) -> fast retransmission */
|
||||||
p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
|
p = tcp_create_rx_segment(pcb, NULL, 0, 0, 0, TCP_ACK);
|
||||||
EXPECT_RET(p != NULL);
|
EXPECT_RET(p != NULL);
|
||||||
test_tcp_input(p, &netif);
|
test_tcp_input(p, &netif);
|
||||||
|
@ -515,7 +515,7 @@ START_TEST(test_tcp_recv_ooseq_overrun_rxwin)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pass in one more segment, cleary overrunning the rxwin */
|
/* pass in one more segment, clearly overrunning the rxwin */
|
||||||
p_ovr = tcp_create_rx_segment(pcb, &data_full_wnd[TCP_MSS*(k+1)], TCP_MSS, TCP_MSS*(k+1), 0, TCP_ACK);
|
p_ovr = tcp_create_rx_segment(pcb, &data_full_wnd[TCP_MSS*(k+1)], TCP_MSS, TCP_MSS*(k+1), 0, TCP_ACK);
|
||||||
EXPECT_RET(p_ovr != NULL);
|
EXPECT_RET(p_ovr != NULL);
|
||||||
/* pass the segment to tcp_input */
|
/* pass the segment to tcp_input */
|
||||||
@ -602,7 +602,7 @@ START_TEST(test_tcp_recv_ooseq_overrun_rxwin_edge)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pass in one more segment, cleary overrunning the rxwin */
|
/* pass in one more segment, clearly overrunning the rxwin */
|
||||||
p_ovr = tcp_create_rx_segment(pcb, &data_full_wnd[TCP_MSS*(k+1)], TCP_MSS, TCP_MSS*(k+1), 0, TCP_ACK);
|
p_ovr = tcp_create_rx_segment(pcb, &data_full_wnd[TCP_MSS*(k+1)], TCP_MSS, TCP_MSS*(k+1), 0, TCP_ACK);
|
||||||
EXPECT_RET(p_ovr != NULL);
|
EXPECT_RET(p_ovr != NULL);
|
||||||
/* pass the segment to tcp_input */
|
/* pass the segment to tcp_input */
|
||||||
|
Loading…
Reference in New Issue
Block a user