Skip to content

Commit 1693ab8

Browse files
committed
Updated libslirp to version 4.6.1
1 parent bfc3c14 commit 1693ab8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1311
-338
lines changed

ChangeLog

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
Version 4.0.x:
22

3+
* Updated libslirp to version 4.6.1.
34
* Device helper is updated to work with new hotplug functionality in
45
FS-UAE Launcher.
56
* Fix device helper for xinput devices with recent SDL2 versions.

Makefile.am

+1-42
Original file line numberDiff line numberDiff line change
@@ -1292,49 +1292,8 @@ endif
12921292
if WITH_SLIRP
12931293
if WITH_BUILTIN_SLIRP
12941294
noinst_LIBRARIES += libslirp.a
1295-
# AM_CPPFLAGS += -I$(s)/src/slirp/include
12961295
fs_uae_LDADD += libslirp.a
1297-
# libslirp_a_SOURCES = \
1298-
# src/slirp/bootp.cpp \
1299-
# src/slirp/bootp.h \
1300-
# src/slirp/cksum.cpp \
1301-
# src/slirp/ctl.h \
1302-
# src/slirp/debug.h \
1303-
# src/slirp/icmp_var.h \
1304-
# src/slirp/if.cpp \
1305-
# src/slirp/if.h \
1306-
# src/slirp/ip.h \
1307-
# src/slirp/ip_icmp.cpp \
1308-
# src/slirp/ip_icmp.h \
1309-
# src/slirp/ip_input.cpp \
1310-
# src/slirp/ip_output.cpp \
1311-
# src/slirp/libslirp.h \
1312-
# src/slirp/main.h \
1313-
# src/slirp/mbuf.cpp \
1314-
# src/slirp/mbuf.h \
1315-
# src/slirp/misc.cpp \
1316-
# src/slirp/misc.h \
1317-
# src/slirp/sbuf.cpp \
1318-
# src/slirp/sbuf.h \
1319-
# src/slirp/slirp.cpp \
1320-
# src/slirp/slirp.h \
1321-
# src/slirp/slirp_config.h \
1322-
# src/slirp/slirpdebug.cpp \
1323-
# src/slirp/socket.cpp \
1324-
# src/slirp/socket.h \
1325-
# src/slirp/tcp.h \
1326-
# src/slirp/tcp_input.cpp \
1327-
# src/slirp/tcp_output.cpp \
1328-
# src/slirp/tcp_subr.cpp \
1329-
# src/slirp/tcp_timer.cpp \
1330-
# src/slirp/tcp_timer.h \
1331-
# src/slirp/tcp_var.h \
1332-
# src/slirp/tcpip.h \
1333-
# src/slirp/tftp.cpp \
1334-
# src/slirp/tftp.h \
1335-
# src/slirp/udp.cpp \
1336-
# src/slirp/udp.h
1337-
1296+
LIBS += @SLIRP_LIBS@
13381297
libslirp_a_SOURCES = \
13391298
slirp/src/arp_table.c \
13401299
slirp/src/bootp.c \

configure.ac

+2
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,7 @@ AC_SUBST([OS_NAME])
396396
AC_SUBST([OS_NAME_2])
397397
AC_SUBST([OS_NAME_3])
398398
AC_SUBST([PACKAGE_ARCH])
399+
AC_SUBST([SLIRP_LIBS])
399400
AC_SUBST([HOST_OS], $host_os)
400401
AC_SUBST([HOST_CPU], $host_cpu)
401402
AS_CASE([$host_os],
@@ -433,6 +434,7 @@ AS_CASE([$host_os],
433434
], [
434435
OS_LDFLAGS="-headerpad_max_install_names -rpath @executable_path/../Frameworks"
435436
])
437+
SLIRP_LIBS="-lresolv"
436438
],
437439
[freebsd*], [
438440
OS_NAME="freebsd"

slirp/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*.gcov
55
*.lib
66
*.obj
7+
/build/
78
/TAGS
89
/cscope*
910
/tags

slirp/.gitlab-ci.yml

+19-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
image: fedora:latest
22

33
variables:
4-
DEPS: meson ninja-build make
4+
DEPS: meson ninja-build
55
gcc pkg-config glib2-devel
66
mingw64-gcc mingw64-pkg-config mingw64-glib2
77
clang-analyzer git-core
88

99
before_script:
1010
- dnf install -y $DEPS
11+
- git fetch --tags https://gitlab.freedesktop.org/slirp/libslirp.git
1112
- git describe
1213

1314
build:
@@ -22,6 +23,21 @@ build-mingw64:
2223
- (mkdir buildw && cd buildw && mingw64-meson --werror) || (cat buildw/meson-logs/meson-log.txt && exit 1)
2324
- ninja -C buildw
2425

25-
build-qemu:
26+
Coverity:
27+
only:
28+
refs:
29+
- master
30+
- coverity
2631
script:
27-
- make BUILD_DIR=build
32+
- dnf update -y
33+
- dnf install -y curl clang
34+
- curl -o /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64
35+
--form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN
36+
- tar xfz /tmp/cov-analysis-linux64.tgz
37+
- CC=clang meson build
38+
- cov-analysis-linux64-*/bin/cov-build --dir cov-int ninja -C build
39+
- tar cfz cov-int.tar.gz cov-int
40+
- curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME
41+
--form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL
42+
--form [email protected] --form version="`git describe --tags`"
43+
--form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID "

slirp/CHANGELOG.md

+101-5
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,119 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [4.6.1] - 2021-06-18
9+
10+
### Fixed
11+
12+
- Fix DHCP regression introduced in 4.6.0. !95
13+
14+
## [4.6.0] - 2021-06-14
915

1016
### Added
1117

18+
- mbuf: Add debugging helpers for allocation. !90
19+
1220
### Changed
1321

14-
### Deprecated
22+
- Revert "Set macOS deployment target to macOS 10.4". !93
23+
24+
### Fixed
25+
26+
- mtod()-related buffer overflows (CVE-2021-3592 #44, CVE-2021-3593 #45,
27+
CVE-2021-3594 #47, CVE-2021-3595 #46).
28+
- poll_fd: add missing fd registration for UDP and ICMP
29+
- ncsi: make ncsi_calculate_checksum work with unaligned data. !89
30+
- Various typos and doc fixes. !88
31+
32+
## [4.5.0] - 2021-05-18
33+
34+
### Added
35+
36+
- IPv6 forwarding. !62 !75 !77
37+
- slirp_neighbor_info() to dump the ARP/NDP tables. !71
38+
39+
### Changed
40+
41+
- Lazy guest address resolution for IPv6. !81
42+
- Improve signal handling when spawning a child. !61
43+
- Set macOS deployment target to macOS 10.4. !72
44+
- slirp_add_hostfwd: Ensure all error paths set errno. !80
45+
- More API documentation.
46+
47+
### Fixed
48+
49+
- Assertion failure on unspecified IPv6 address. !86
50+
- Disable polling for PRI on MacOS, fixing some closing streams issues. !73
51+
- Various memory leak fixes on fastq/batchq. !68
52+
- Memory leak on IPv6 fast-send. !67
53+
- Slow socket response on Windows. !64
54+
- Misc build and code cleanups. !60 !63 !76 !79 !84
55+
56+
## [4.4.0] - 2020-12-02
57+
58+
### Added
59+
60+
- udp, udp6, icmp: handle TTL value. !48
61+
- Enable forwarding ICMP errors. !49
62+
- Add DNS resolving for iOS. !54
63+
64+
### Changed
65+
66+
- Improve meson subproject() support. !53
67+
- Removed Makefile-based build system. !56
68+
69+
### Fixed
70+
71+
- socket: consume empty packets. !55
72+
- check pkt_len before reading protocol header (CVE-2020-29129). !57
73+
- ip_stripoptions use memmove (fixes undefined behaviour). !47
74+
- various Coverity-related changes/fixes.
75+
76+
## [4.3.1] - 2020-07-08
77+
78+
### Changed
79+
80+
- A silent truncation could occur in `slirp_fmt()`, which will now print a
81+
critical message. See also #22.
1582

1683
### Fixed
1784

85+
- CVE-2020-10756 - Drop bogus IPv6 messages that could lead to data leakage.
86+
See !44 and !42.
87+
- Fix win32 builds by using the SLIRP_PACKED definition.
88+
- Various coverity scan errors fixed. !41
89+
- Fix new GCC warnings. !43
90+
91+
## [4.3.0] - 2020-04-22
92+
93+
### Added
94+
95+
- `SLIRP_VERSION_STRING` macro, with the git sha suffix when building from git
96+
- `SlirpConfig.disable_dns`, to disable DNS redirection #16
97+
98+
### Changed
99+
100+
- `slirp_version_string()` now has the git sha suffix when building form git
101+
- Limit DNS redirection to port 53 #16
102+
103+
### Fixed
104+
105+
- Fix build regression with mingw & NetBSD
106+
- Fix use-afte-free in `ip_reass()` (CVE-2020-1983)
107+
18108
## [4.2.0] - 2020-03-17
19109

20110
### Added
21111

22112
- New API function `slirp_add_unix`: add a forward rule to a Unix socket.
23113
- New API function `slirp_remove_guestfwd`: remove a forward rule previously
24114
added by `slirp_add_exec`, `slirp_add_unix` or `slirp_add_guestfwd`
25-
- New SlirpConfig.outbound_addr{,6} fields to bind output socket to a
115+
- New `SlirpConfig.outbound_addr{,6}` fields to bind output socket to a
26116
specific address
27117

28118
### Changed
29119

30-
- socket: do not fallback on host loopback if get_dns_addr() failed
120+
- socket: do not fallback on host loopback if `get_dns_addr()` failed
31121
or the address is in slirp network
32122

33123
### Fixed
@@ -82,7 +172,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
82172
- Standalone project, removing any QEMU dependency.
83173
- License clarifications.
84174

85-
[unreleased]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.2.0...master
175+
[Unreleased]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.6.1...master
176+
[4.6.1]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.6.0...v4.6.1
177+
[4.6.0]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.5.0...v4.6.0
178+
[4.5.0]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.4.0...v4.5.0
179+
[4.4.0]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.3.1...v4.4.0
180+
[4.3.1]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.3.0...v4.3.1
181+
[4.3.0]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.2.0...v4.3.0
86182
[4.2.0]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.1.0...v4.2.0
87183
[4.1.0]: https://gitlab.freedesktop.org/slirp/libslirp/compare/v4.0.0...v4.1.0
88184
[4.0.0]: https://gitlab.freedesktop.org/slirp/libslirp/commits/v4.0.0

slirp/Makefile

-4
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,3 @@ print-%:
6060
.SUFFIXES:
6161

6262
-include $(DEPS)
63-
64-
distdir:
65-
66-
distclean: clean

slirp/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ containers or various tools.
77

88
### Prerequisites
99

10-
A C compiler, make/meson and glib2 development libraries.
10+
A C compiler, meson and glib2 development libraries.
1111

1212
(see also [.gitlab-ci.yml](.gitlab-ci.yml) DEPS variable for the list
1313
of dependencies on Fedora)

0 commit comments

Comments
 (0)